diff --git a/.gitignore b/.gitignore index 6ffe07339..5f038d25c 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ npm-debug.log* /coverage /dist /node_modules +/android /platforms /plugins /www diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle new file mode 100644 index 000000000..f83e9b8e4 --- /dev/null +++ b/android/app/capacitor.build.gradle @@ -0,0 +1,21 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + + implementation "com.squareup.okhttp:okhttp-urlconnection:2+" + implementation "com.android.support:support-v4:27.+" +} +apply from: "../../node_modules/cordova-plugin-badge/src/android/badge.gradle" +apply from: "../../node_modules/cordova-plugin-mfp/src/android/build-extras.gradle" + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 000000000..0a455bcff --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,40 @@ +{ + "project_info": { + "project_number": "800733765231", + "firebase_url": "https://gabinete-digital-2020.firebaseio.com", + "project_id": "gabinete-digital-2020", + "storage_bucket": "gabinete-digital-2020.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:800733765231:android:e7ffc0b310037d9f13779a", + "android_client_info": { + "package_name": "com.gpr.gabinetedigital" + } + }, + "oauth_client": [ + { + "client_id": "800733765231-92oa7ib62ob0pkouphb5i5sp01vkalid.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyD0pfW45DLoW6mqvZRklJdbfSTskW22Fok" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "800733765231-92oa7ib62ob0pkouphb5i5sp01vkalid.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/main/assets/public/0-es2015.js b/android/app/src/main/assets/public/0-es2015.js new file mode 100644 index 000000000..87ffbaedd --- /dev/null +++ b/android/app/src/main/assets/public/0-es2015.js @@ -0,0 +1,286 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js ***! + \*********************************************************************/ +/*! exports provided: ion_action_sheet */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_action_sheet", function() { return ActionSheet; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gesture-controller-31cb6bb9.js */ "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); +/* harmony import */ var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); +/* harmony import */ var _button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./button-active-a6787d69.js */ "./node_modules/@ionic/core/dist/esm/button-active-a6787d69.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + + + + + + +/** + * iOS Action Sheet Enter Animation + */ +const iosEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.action-sheet-wrapper')) + .fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(400) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * iOS Action Sheet Leave Animation + */ +const iosLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.action-sheet-wrapper')) + .fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(450) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * MD Action Sheet Enter Animation + */ +const mdEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.action-sheet-wrapper')) + .fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(400) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * MD Action Sheet Leave Animation + */ +const mdLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.action-sheet-wrapper')) + .fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(450) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const actionSheetIosCss = ".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:15px;padding-bottom:0;font-size:12px}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.1em;font-size:28px;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.1em;margin-inline-end:0.1em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}"; + +const actionSheetMdCss = ".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}"; + +const ActionSheet = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * An array of buttons for the action sheet. + */ + this.buttons = []; + /** + * If `true`, the action sheet will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = true; + /** + * If `true`, the action sheet will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + /** + * If `true`, the action sheet will animate. + */ + this.animated = true; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["B"]); + }; + this.dispatchCancelHandler = (ev) => { + const role = ev.detail.role; + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["i"])(role)) { + const cancelButton = this.getButtons().find(b => b.role === 'cancel'); + this.callButtonHandler(cancelButton); + } + }; + } + /** + * Present the action sheet overlay after it has been created. + */ + present() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["d"])(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation); + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["e"])(this.el); + } + /** + * Dismiss the action sheet overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the action sheet. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the action sheet. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + dismiss(data, role) { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["f"])(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the action sheet did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.el, 'ionActionSheetDidDismiss'); + } + /** + * Returns a promise that resolves when the action sheet will dismiss. + * + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.el, 'ionActionSheetWillDismiss'); + } + async buttonClick(button) { + const role = button.role; + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["i"])(role)) { + return this.dismiss(undefined, role); + } + const shouldDismiss = await this.callButtonHandler(button); + if (shouldDismiss) { + return this.dismiss(undefined, button.role); + } + return Promise.resolve(); + } + async callButtonHandler(button) { + if (button) { + // a handler has been provided, execute it + // pass the handler the values from the inputs + const rtn = await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["s"])(button.handler); + if (rtn === false) { + // if the return value of the handler is false then do not dismiss + return false; + } + } + return true; + } + getButtons() { + return this.buttons.map(b => { + return (typeof b === 'string') + ? { text: b } + : b; + }); + } + disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + componentDidLoad() { + /** + * Do not create gesture if: + * 1. A gesture already exists + * 2. App is running in MD mode + * 3. A wrapper ref does not exist + */ + const { groupEl, wrapperEl } = this; + if (this.gesture || Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'md' || !wrapperEl || !groupEl) { + return; + } + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + const isScrollable = groupEl.scrollHeight > groupEl.clientHeight; + if (!isScrollable) { + this.gesture = Object(_button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_9__["c"])(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button')); + this.gesture.enable(true); + } + }); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const allButtons = this.getButtons(); + const cancelButton = allButtons.find(b => b.role === 'cancel'); + const buttons = allButtons.filter(b => b.role !== 'cancel'); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "dialog", "aria-modal": "true", tabindex: "-1", style: { + zIndex: `${20000 + this.overlayIndex}`, + }, class: Object.assign(Object.assign({ [mode]: true }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(this.cssClass)), { 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { tappable: this.backdropDismiss }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: el => this.wrapperEl = el }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-group", ref: el => this.groupEl = el }, this.header !== undefined && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-title" }, this.header, this.subHeader && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-sub-title" }, this.subHeader)), buttons.map(b => Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", class: buttonClass(b), onClick: () => this.buttonClick(b) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "action-sheet-button-inner" }, b.icon && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)))), cancelButton && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "action-sheet-group action-sheet-group-cancel" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "action-sheet-button-inner" }, cancelButton.icon && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null))))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const buttonClass = (button) => { + return Object.assign({ 'action-sheet-button': true, 'ion-activatable': true, 'ion-focusable': true, [`action-sheet-${button.role}`]: button.role !== undefined }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(button.cssClass)); +}; +ActionSheet.style = { + ios: actionSheetIosCss, + md: actionSheetMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=0-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/0-es2015.js.map b/android/app/src/main/assets/public/0-es2015.js.map new file mode 100644 index 000000000..a8546f7fa --- /dev/null +++ b/android/app/src/main/assets/public/0-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js"],"names":[],"mappings":"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F,2CAA2C,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,+CAA+C,eAAe,gBAAgB,iBAAiB,iBAAiB,eAAe,uDAAuD,cAAc,sDAAsD,iBAAiB,4CAA4C,kBAAkB,mBAAmB,cAAc,iBAAiB,kBAAkB,YAAY,eAAe,iBAAiB,eAAe,gBAAgB,+FAA+F,4CAA4C,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,0CAA0C,mBAAmB,cAAc,kBAAkB,aAAa,gBAAgB,mBAAmB,eAAe,+FAA+F,0CAA0C,kBAAkB,mBAAmB,uBAAuB,sBAAsB,wBAAwB,wBAAwB,kDAAkD,oBAAoB,2BAA2B,8CAA8C,iBAAiB;;AAE9gM;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA,UAAU,+DAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAO;AAClB;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA,QAAQ,+DAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,wBAAwB,mEAAU;AAClC;AACA;AACA,IAAI,4DAAQ;AACZ;AACA;AACA,uBAAuB,oEAAyB;AAChD;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB,mBAAmB,0BAA0B;AAC7C,OAAO,sCAAsC,eAAe,EAAE,6DAAW,mBAAmB,+CAA+C,kGAAkG,EAAE,4DAAC,kBAAkB,iCAAiC,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,oGAAoG,EAAE,4DAAC,SAAS,kCAAkC,EAAE,4DAAC,SAAS,4DAA4D;AACviB,MAAM,4DAAC,SAAS,8BAA8B,iCAAiC,4DAAC,SAAS,kCAAkC,qCAAqC,4DAAC,YAAY,4EAA4E,EAAE,4DAAC,UAAU,qCAAqC,YAAY,4DAAC,cAAc,wDAAwD,6BAA6B,4DAAC;AAC5Z,MAAM,4DAAC,SAAS,wDAAwD,EAAE,4DAAC,YAAY,kGAAkG,EAAE,4DAAC,UAAU,qCAAqC;AAC3O,QAAQ,4DAAC,cAAc,mEAAmE,wCAAwC,4DAAC,iCAAiC,4DAAC,SAAS,gBAAgB;AAC9L;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA,wBAAwB,+FAA+F,YAAY,+BAA+B,EAAE,6DAAW;AAC/K;AACA;AACA;AACA;AACA;;AAE2C","file":"0-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, f as readTask, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './gesture-controller-31cb6bb9.js';\nimport './index-f49d994d.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, i as isCancel, d as present, e as prepareOverlay, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport './haptic-27b3f981.js';\nimport { c as createButtonActiveGesture } from './button-active-a6787d69.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Action Sheet Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * iOS Action Sheet Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(450)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * MD Action Sheet Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * MD Action Sheet Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(450)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst actionSheetIosCss = \".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:15px;padding-bottom:0;font-size:12px}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.1em;font-size:28px;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.1em;margin-inline-end:0.1em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}\";\n\nconst actionSheetMdCss = \".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}\";\n\nconst ActionSheet = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionActionSheetDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionActionSheetWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionActionSheetWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionActionSheetDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * An array of buttons for the action sheet.\n */\n this.buttons = [];\n /**\n * If `true`, the action sheet will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the action sheet 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 action sheet will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.getButtons().find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n /**\n * Present the action sheet overlay after it has been created.\n */\n present() {\n return present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation);\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Dismiss the action sheet 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 action sheet.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the action sheet.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n return dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the action sheet did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionActionSheetDidDismiss');\n }\n /**\n * Returns a promise that resolves when the action sheet will dismiss.\n *\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionActionSheetWillDismiss');\n }\n async buttonClick(button) {\n const role = button.role;\n if (isCancel(role)) {\n return this.dismiss(undefined, role);\n }\n const shouldDismiss = await this.callButtonHandler(button);\n if (shouldDismiss) {\n return this.dismiss(undefined, button.role);\n }\n return Promise.resolve();\n }\n async callButtonHandler(button) {\n if (button) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const rtn = await safeCall(button.handler);\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n }\n return true;\n }\n getButtons() {\n return this.buttons.map(b => {\n return (typeof b === 'string')\n ? { text: b }\n : b;\n });\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n componentDidLoad() {\n /**\n * Do not create gesture if:\n * 1. A gesture already exists\n * 2. App is running in MD mode\n * 3. A wrapper ref does not exist\n */\n const { groupEl, wrapperEl } = this;\n if (this.gesture || getIonMode(this) === 'md' || !wrapperEl || !groupEl) {\n return;\n }\n readTask(() => {\n const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;\n if (!isScrollable) {\n this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));\n this.gesture.enable(true);\n }\n });\n }\n render() {\n const mode = getIonMode(this);\n const allButtons = this.getButtons();\n const cancelButton = allButtons.find(b => b.role === 'cancel');\n const buttons = allButtons.filter(b => b.role !== 'cancel');\n return (h(Host, { role: \"dialog\", \"aria-modal\": \"true\", tabindex: \"-1\", style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"action-sheet-wrapper ion-overlay-wrapper\", role: \"dialog\", ref: el => this.wrapperEl = el }, h(\"div\", { class: \"action-sheet-container\" }, h(\"div\", { class: \"action-sheet-group\", ref: el => this.groupEl = el }, this.header !== undefined &&\n h(\"div\", { class: \"action-sheet-title\" }, this.header, this.subHeader && h(\"div\", { class: \"action-sheet-sub-title\" }, this.subHeader)), buttons.map(b => h(\"button\", { type: \"button\", class: buttonClass(b), onClick: () => this.buttonClick(b) }, h(\"span\", { class: \"action-sheet-button-inner\" }, b.icon && h(\"ion-icon\", { icon: b.icon, lazy: false, class: \"action-sheet-icon\" }), b.text), mode === 'md' && h(\"ion-ripple-effect\", null)))), cancelButton &&\n h(\"div\", { class: \"action-sheet-group action-sheet-group-cancel\" }, h(\"button\", { type: \"button\", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h(\"span\", { class: \"action-sheet-button-inner\" }, cancelButton.icon &&\n h(\"ion-icon\", { icon: cancelButton.icon, lazy: false, class: \"action-sheet-icon\" }), cancelButton.text), mode === 'md' && h(\"ion-ripple-effect\", null))))), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'action-sheet-button': true, 'ion-activatable': true, 'ion-focusable': true, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));\n};\nActionSheet.style = {\n ios: actionSheetIosCss,\n md: actionSheetMdCss\n};\n\nexport { ActionSheet as ion_action_sheet };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/0-es5.js b/android/app/src/main/assets/public/0-es5.js new file mode 100644 index 000000000..fea82ec57 --- /dev/null +++ b/android/app/src/main/assets/public/0-es5.js @@ -0,0 +1,507 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js": + /*!*********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js ***! + \*********************************************************************/ + + /*! exports provided: ion_action_sheet */ + + /***/ + function node_modulesIonicCoreDistEsmIonActionSheetEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_action_sheet", function () { + return ActionSheet; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./gesture-controller-31cb6bb9.js */ + "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); + /* harmony import */ + + + var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( + /*! ./haptic-27b3f981.js */ + "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + /* harmony import */ + + + var _button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( + /*! ./button-active-a6787d69.js */ + "./node_modules/@ionic/core/dist/esm/button-active-a6787d69.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /** + * iOS Action Sheet Enter Animation + */ + + + var iosEnterAnimation = function iosEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.action-sheet-wrapper')).fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * iOS Action Sheet Leave Animation + */ + + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.action-sheet-wrapper')).fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(450).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * MD Action Sheet Enter Animation + */ + + + var mdEnterAnimation = function mdEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.action-sheet-wrapper')).fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * MD Action Sheet Leave Animation + */ + + + var mdLeaveAnimation = function mdLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.action-sheet-wrapper')).fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(450).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var actionSheetIosCss = ".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:15px;padding-bottom:0;font-size:12px}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.1em;font-size:28px;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.1em;margin-inline-end:0.1em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}"; + var actionSheetMdCss = ".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}"; + + var ActionSheet = /*#__PURE__*/function () { + function ActionSheet(hostRef) { + var _this = this; + + _classCallCheck(this, ActionSheet); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionActionSheetDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * An array of buttons for the action sheet. + */ + + this.buttons = []; + /** + * If `true`, the action sheet will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = true; + /** + * If `true`, the action sheet will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + /** + * If `true`, the action sheet will animate. + */ + + this.animated = true; + + this.onBackdropTap = function () { + _this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["B"]); + }; + + this.dispatchCancelHandler = function (ev) { + var role = ev.detail.role; + + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["i"])(role)) { + var cancelButton = _this.getButtons().find(function (b) { + return b.role === 'cancel'; + }); + + _this.callButtonHandler(cancelButton); + } + }; + } + /** + * Present the action sheet overlay after it has been created. + */ + + + _createClass(ActionSheet, [{ + key: "present", + value: function present() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["d"])(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["e"])(this.el); + } + /** + * Dismiss the action sheet overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the action sheet. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the action sheet. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + + }, { + key: "dismiss", + value: function dismiss(data, role) { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["f"])(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the action sheet did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.el, 'ionActionSheetDidDismiss'); + } + /** + * Returns a promise that resolves when the action sheet will dismiss. + * + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.el, 'ionActionSheetWillDismiss'); + } + }, { + key: "buttonClick", + value: function () { + var _buttonClick = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(button) { + var role, shouldDismiss; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + role = button.role; + + if (!Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["i"])(role)) { + _context.next = 3; + break; + } + + return _context.abrupt("return", this.dismiss(undefined, role)); + + case 3: + _context.next = 5; + return this.callButtonHandler(button); + + case 5: + shouldDismiss = _context.sent; + + if (!shouldDismiss) { + _context.next = 8; + break; + } + + return _context.abrupt("return", this.dismiss(undefined, button.role)); + + case 8: + return _context.abrupt("return", Promise.resolve()); + + case 9: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function buttonClick(_x) { + return _buttonClick.apply(this, arguments); + } + + return buttonClick; + }() + }, { + key: "callButtonHandler", + value: function () { + var _callButtonHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(button) { + var rtn; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!button) { + _context2.next = 6; + break; + } + + _context2.next = 3; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_7__["s"])(button.handler); + + case 3: + rtn = _context2.sent; + + if (!(rtn === false)) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", false); + + case 6: + return _context2.abrupt("return", true); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function callButtonHandler(_x2) { + return _callButtonHandler.apply(this, arguments); + } + + return callButtonHandler; + }() + }, { + key: "getButtons", + value: function getButtons() { + return this.buttons.map(function (b) { + return typeof b === 'string' ? { + text: b + } : b; + }); + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + var _this2 = this; + + /** + * Do not create gesture if: + * 1. A gesture already exists + * 2. App is running in MD mode + * 3. A wrapper ref does not exist + */ + var groupEl = this.groupEl, + wrapperEl = this.wrapperEl; + + if (this.gesture || Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'md' || !wrapperEl || !groupEl) { + return; + } + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + var isScrollable = groupEl.scrollHeight > groupEl.clientHeight; + + if (!isScrollable) { + _this2.gesture = Object(_button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_9__["c"])(wrapperEl, function (refEl) { + return refEl.classList.contains('action-sheet-button'); + }); + + _this2.gesture.enable(true); + } + }); + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var allButtons = this.getButtons(); + var cancelButton = allButtons.find(function (b) { + return b.role === 'cancel'; + }); + var buttons = allButtons.filter(function (b) { + return b.role !== 'cancel'; + }); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "dialog", + "aria-modal": "true", + tabindex: "-1", + style: { + zIndex: "".concat(20000 + this.overlayIndex) + }, + "class": Object.assign(Object.assign(_defineProperty({}, mode, true), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(this.cssClass)), { + 'action-sheet-translucent': this.translucent + }), + onIonActionSheetWillDismiss: this.dispatchCancelHandler, + onIonBackdropTap: this.onBackdropTap + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + tappable: this.backdropDismiss + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-wrapper ion-overlay-wrapper", + role: "dialog", + ref: function ref(el) { + return _this3.wrapperEl = el; + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-group", + ref: function ref(el) { + return _this3.groupEl = el; + } + }, this.header !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-title" + }, this.header, this.subHeader && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-sub-title" + }, this.subHeader)), buttons.map(function (b) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + "class": buttonClass(b), + onClick: function onClick() { + return _this3.buttonClick(b); + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "action-sheet-button-inner" + }, b.icon && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + icon: b.icon, + lazy: false, + "class": "action-sheet-icon" + }), b.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)); + })), cancelButton && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "action-sheet-group action-sheet-group-cancel" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + "class": buttonClass(cancelButton), + onClick: function onClick() { + return _this3.buttonClick(cancelButton); + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "action-sheet-button-inner" + }, cancelButton.icon && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + icon: cancelButton.icon, + lazy: false, + "class": "action-sheet-icon" + }), cancelButton.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null))))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return ActionSheet; + }(); + + var buttonClass = function buttonClass(button) { + return Object.assign(_defineProperty({ + 'action-sheet-button': true, + 'ion-activatable': true, + 'ion-focusable': true + }, "action-sheet-".concat(button.role), button.role !== undefined), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(button.cssClass)); + }; + + ActionSheet.style = { + ios: actionSheetIosCss, + md: actionSheetMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=0-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/0-es5.js.map b/android/app/src/main/assets/public/0-es5.js.map new file mode 100644 index 000000000..4418271e9 --- /dev/null +++ b/android/app/src/main/assets/public/0-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js"],"names":["iosEnterAnimation","baseEl","baseAnimation","backdropAnimation","wrapperAnimation","addElement","querySelector","fromTo","beforeStyles","afterClearStyles","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","mdLeaveAnimation","actionSheetIosCss","actionSheetMdCss","ActionSheet","hostRef","didPresent","willPresent","willDismiss","didDismiss","presented","keyboardClose","buttons","backdropDismiss","translucent","animated","onBackdropTap","dismiss","undefined","dispatchCancelHandler","ev","role","detail","cancelButton","getButtons","find","b","callButtonHandler","el","data","button","shouldDismiss","Promise","resolve","handler","rtn","map","text","gesture","destroy","groupEl","wrapperEl","isScrollable","scrollHeight","clientHeight","refEl","classList","contains","enable","mode","allButtons","filter","tabindex","style","zIndex","overlayIndex","Object","assign","cssClass","onIonActionSheetWillDismiss","onIonBackdropTap","tappable","ref","header","subHeader","type","buttonClass","onClick","buttonClick","icon","lazy","ios","md"],"mappings":"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","file":"0-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, f as readTask, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './gesture-controller-31cb6bb9.js';\nimport './index-f49d994d.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, i as isCancel, d as present, e as prepareOverlay, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport './haptic-27b3f981.js';\nimport { c as createButtonActiveGesture } from './button-active-a6787d69.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Action Sheet Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * iOS Action Sheet Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(450)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * MD Action Sheet Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * MD Action Sheet Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.action-sheet-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(450)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst actionSheetIosCss = \".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:15px;padding-bottom:0;font-size:12px}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.1em;font-size:28px;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.1em;margin-inline-end:0.1em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}\";\n\nconst actionSheetMdCss = \".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-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-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}\";\n\nconst ActionSheet = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionActionSheetDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionActionSheetWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionActionSheetWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionActionSheetDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * An array of buttons for the action sheet.\n */\n this.buttons = [];\n /**\n * If `true`, the action sheet will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the action sheet 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 action sheet will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.getButtons().find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n /**\n * Present the action sheet overlay after it has been created.\n */\n present() {\n return present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation);\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Dismiss the action sheet 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 action sheet.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the action sheet.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n return dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation, mdLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the action sheet did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionActionSheetDidDismiss');\n }\n /**\n * Returns a promise that resolves when the action sheet will dismiss.\n *\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionActionSheetWillDismiss');\n }\n async buttonClick(button) {\n const role = button.role;\n if (isCancel(role)) {\n return this.dismiss(undefined, role);\n }\n const shouldDismiss = await this.callButtonHandler(button);\n if (shouldDismiss) {\n return this.dismiss(undefined, button.role);\n }\n return Promise.resolve();\n }\n async callButtonHandler(button) {\n if (button) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const rtn = await safeCall(button.handler);\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n }\n return true;\n }\n getButtons() {\n return this.buttons.map(b => {\n return (typeof b === 'string')\n ? { text: b }\n : b;\n });\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n componentDidLoad() {\n /**\n * Do not create gesture if:\n * 1. A gesture already exists\n * 2. App is running in MD mode\n * 3. A wrapper ref does not exist\n */\n const { groupEl, wrapperEl } = this;\n if (this.gesture || getIonMode(this) === 'md' || !wrapperEl || !groupEl) {\n return;\n }\n readTask(() => {\n const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;\n if (!isScrollable) {\n this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));\n this.gesture.enable(true);\n }\n });\n }\n render() {\n const mode = getIonMode(this);\n const allButtons = this.getButtons();\n const cancelButton = allButtons.find(b => b.role === 'cancel');\n const buttons = allButtons.filter(b => b.role !== 'cancel');\n return (h(Host, { role: \"dialog\", \"aria-modal\": \"true\", tabindex: \"-1\", style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"action-sheet-wrapper ion-overlay-wrapper\", role: \"dialog\", ref: el => this.wrapperEl = el }, h(\"div\", { class: \"action-sheet-container\" }, h(\"div\", { class: \"action-sheet-group\", ref: el => this.groupEl = el }, this.header !== undefined &&\n h(\"div\", { class: \"action-sheet-title\" }, this.header, this.subHeader && h(\"div\", { class: \"action-sheet-sub-title\" }, this.subHeader)), buttons.map(b => h(\"button\", { type: \"button\", class: buttonClass(b), onClick: () => this.buttonClick(b) }, h(\"span\", { class: \"action-sheet-button-inner\" }, b.icon && h(\"ion-icon\", { icon: b.icon, lazy: false, class: \"action-sheet-icon\" }), b.text), mode === 'md' && h(\"ion-ripple-effect\", null)))), cancelButton &&\n h(\"div\", { class: \"action-sheet-group action-sheet-group-cancel\" }, h(\"button\", { type: \"button\", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h(\"span\", { class: \"action-sheet-button-inner\" }, cancelButton.icon &&\n h(\"ion-icon\", { icon: cancelButton.icon, lazy: false, class: \"action-sheet-icon\" }), cancelButton.text), mode === 'md' && h(\"ion-ripple-effect\", null))))), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'action-sheet-button': true, 'ion-activatable': true, 'ion-focusable': true, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));\n};\nActionSheet.style = {\n ios: actionSheetIosCss,\n md: actionSheetMdCss\n};\n\nexport { ActionSheet as ion_action_sheet };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/1-es2015.js b/android/app/src/main/assets/public/1-es2015.js new file mode 100644 index 000000000..bf17bffa2 --- /dev/null +++ b/android/app/src/main/assets/public/1-es2015.js @@ -0,0 +1,481 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[1],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-alert.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-alert.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_alert */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_alert", function() { return Alert; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gesture-controller-31cb6bb9.js */ "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); +/* harmony import */ var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); +/* harmony import */ var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./index-9e3fe806.js */ "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); +/* harmony import */ var _button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./button-active-a6787d69.js */ "./node_modules/@ionic/core/dist/esm/button-active-a6787d69.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + + + + + + + +/** + * iOS Alert Enter Animation + */ +const iosEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.alert-wrapper')) + .keyframes([ + { offset: 0, opacity: '0.01', transform: 'scale(1.1)' }, + { offset: 1, opacity: '1', transform: 'scale(1)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * iOS Alert Leave Animation + */ +const iosLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.alert-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.99, transform: 'scale(1)' }, + { offset: 1, opacity: 0, transform: 'scale(0.9)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Alert Enter Animation + */ +const mdEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.alert-wrapper')) + .keyframes([ + { offset: 0, opacity: '0.01', transform: 'scale(0.9)' }, + { offset: 1, opacity: '1', transform: 'scale(1)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(150) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Alert Leave Animation + */ +const mdLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.alert-wrapper')) + .fromTo('opacity', 0.99, 0); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(150) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const alertIosCss = ".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:14px}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:7px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:17px;font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, #666666);font-size:14px}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:13px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:4px;margin-top:10px;padding-left:6px;padding-right:6px;padding-top:6px;padding-bottom:6px;border:0.55px solid var(--ion-color-step-250, #bfbfbf);background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-input.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{height:44px}.alert-radio-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #3880ff)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:7px;top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:unset;right:unset;right:7px}.alert-checkbox-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-left:16px;margin-right:6px;margin-top:10px;margin-bottom:10px;position:relative;width:24px;height:24px;border-width:1px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-icon.sc-ion-alert-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:9px;top:4px;position:absolute;width:5px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:unset;right:unset;right:9px}.alert-button-group.sc-ion-alert-ios{margin-right:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-ios{margin-right:unset;-webkit-margin-end:-0.55px;margin-inline-end:-0.55px}}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #3880ff);font-size:17px;overflow:hidden}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #eb445a)}"; + +const alertMdCss = ".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:14px}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{padding-left:23px;padding-right:23px;padding-top:20px;padding-bottom:15px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px}}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:20px;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:16px}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:24px;padding-right:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, #737373)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.alert-message.sc-ion-alert-md{max-height:240px;font-size:16px}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #3880ff)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;max-height:240px;border-top:1px solid var(--ion-color-step-150, #d9d9d9);border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);overflow:auto}.alert-tappable.sc-ion-alert-md{position:relative;height:48px;overflow:hidden}.alert-radio-label.sc-ion-alert-md{padding-left:52px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-radio-icon.sc-ion-alert-md{left:26px;top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373)}[dir=rtl].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}.alert-radio-inner.sc-ion-alert-md{left:3px;top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, #262626)}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-left:53px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-checkbox-icon.sc-ion-alert-md{left:26px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373);contain:strict}[dir=rtl].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:3px;top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[dir=rtl].sc-ion-alert-md [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}.alert-button-group.sc-ion-alert-md{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.alert-button.sc-ion-alert-md{border-radius:2px;margin-left:0;margin-right:8px;margin-top:0;margin-bottom:0;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #3880ff);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}"; + +const Alert = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertDidDismiss", 7); + this.processedInputs = []; + this.processedButtons = []; + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * Array of buttons to be added to the alert. + */ + this.buttons = []; + /** + * Array of input to show in the alert. + */ + this.inputs = []; + /** + * If `true`, the alert will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = true; + /** + * If `true`, the alert will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + /** + * If `true`, the alert will animate. + */ + this.animated = true; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["B"]); + }; + this.dispatchCancelHandler = (ev) => { + const role = ev.detail.role; + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["i"])(role)) { + const cancelButton = this.processedButtons.find(b => b.role === 'cancel'); + this.callButtonHandler(cancelButton); + } + }; + } + onKeydown(ev) { + const inputTypes = new Set(this.processedInputs.map(i => i.type)); + // The only inputs we want to navigate between using arrow keys are the radios + // ignore the keydown event if it is not on a radio button + if (!inputTypes.has('radio') + || (ev.target && !this.el.contains(ev.target)) + || ev.target.classList.contains('alert-button')) { + return; + } + // Get all radios inside of the radio group and then + // filter out disabled radios since we need to skip those + const query = this.el.querySelectorAll('.alert-radio'); + const radios = Array.from(query).filter(radio => !radio.disabled); + // The focused radio is the one that shares the same id as + // the event target + const index = radios.findIndex(radio => radio.id === ev.target.id); + // We need to know what the next radio element should + // be in order to change the focus + let nextEl; + // If hitting arrow down or arrow right, move to the next radio + // If we're on the last radio, move to the first radio + if (['ArrowDown', 'ArrowRight'].includes(ev.code)) { + nextEl = (index === radios.length - 1) + ? radios[0] + : radios[index + 1]; + } + // If hitting arrow up or arrow left, move to the previous radio + // If we're on the first radio, move to the last radio + if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) { + nextEl = (index === 0) + ? radios[radios.length - 1] + : radios[index - 1]; + } + if (nextEl && radios.includes(nextEl)) { + const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id)); + if (nextProcessed) { + this.rbClick(nextProcessed); + nextEl.focus(); + } + } + } + buttonsChanged() { + const buttons = this.buttons; + this.processedButtons = buttons.map(btn => { + return (typeof btn === 'string') + ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined } + : btn; + }); + } + inputsChanged() { + const inputs = this.inputs; + // Get the first input that is not disabled and the checked one + // If an enabled checked input exists, set it to be the focusable input + // otherwise we default to focus the first input + // This will only be used when the input is type radio + const first = inputs.find(input => !input.disabled); + const checked = inputs.find(input => input.checked && !input.disabled); + const focusable = checked || first; + // An alert can be created with several different inputs. Radios, + // checkboxes and inputs are all accepted, but they cannot be mixed. + const inputTypes = new Set(inputs.map(i => i.type)); + if (inputTypes.has('checkbox') && inputTypes.has('radio')) { + console.warn(`Alert cannot mix input types: ${(Array.from(inputTypes.values()).join('/'))}. Please see alert docs for more info.`); + } + this.inputType = inputTypes.values().next().value; + this.processedInputs = inputs.map((i, index) => ({ + type: i.type || 'text', + name: i.name || `${index}`, + placeholder: i.placeholder || '', + value: i.value, + label: i.label, + checked: !!i.checked, + disabled: !!i.disabled, + id: i.id || `alert-input-${this.overlayIndex}-${index}`, + handler: i.handler, + min: i.min, + max: i.max, + cssClass: i.cssClass || '', + attributes: i.attributes || {}, + tabindex: (i.type === 'radio' && i !== focusable) ? -1 : 0 + })); + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["e"])(this.el); + } + componentWillLoad() { + this.inputsChanged(); + this.buttonsChanged(); + } + disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + componentDidLoad() { + /** + * Do not create gesture if: + * 1. A gesture already exists + * 2. App is running in MD mode + * 3. A wrapper ref does not exist + */ + if (this.gesture || Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'md' || !this.wrapperEl) { + return; + } + this.gesture = Object(_button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_10__["c"])(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button')); + this.gesture.enable(true); + } + /** + * Present the alert overlay after it has been created. + */ + present() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["d"])(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation); + } + /** + * Dismiss the alert overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the alert. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the alert. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + dismiss(data, role) { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["f"])(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the alert did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["g"])(this.el, 'ionAlertDidDismiss'); + } + /** + * Returns a promise that resolves when the alert will dismiss. + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["g"])(this.el, 'ionAlertWillDismiss'); + } + rbClick(selectedInput) { + for (const input of this.processedInputs) { + input.checked = input === selectedInput; + input.tabindex = input === selectedInput ? 0 : -1; + } + this.activeId = selectedInput.id; + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(selectedInput.handler, selectedInput); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + cbClick(selectedInput) { + selectedInput.checked = !selectedInput.checked; + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(selectedInput.handler, selectedInput); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + buttonClick(button) { + const role = button.role; + const values = this.getValues(); + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["i"])(role)) { + return this.dismiss({ values }, role); + } + const returnData = this.callButtonHandler(button, values); + if (returnData !== false) { + return this.dismiss(Object.assign({ values }, returnData), button.role); + } + return Promise.resolve(false); + } + callButtonHandler(button, data) { + if (button && button.handler) { + // a handler has been provided, execute it + // pass the handler the values from the inputs + const returnData = Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(button.handler, data); + if (returnData === false) { + // if the return value of the handler is false then do not dismiss + return false; + } + if (typeof returnData === 'object') { + return returnData; + } + } + return {}; + } + getValues() { + if (this.processedInputs.length === 0) { + // this is an alert without any options/inputs at all + return undefined; + } + if (this.inputType === 'radio') { + // this is an alert with radio buttons (single value select) + // return the one value which is checked, otherwise undefined + const checkedInput = this.processedInputs.find(i => !!i.checked); + return checkedInput ? checkedInput.value : undefined; + } + if (this.inputType === 'checkbox') { + // this is an alert with checkboxes (multiple value select) + // return an array of all the checked values + return this.processedInputs.filter(i => i.checked).map(i => i.value); + } + // this is an alert with text inputs + // return an object of all the values with the input name as the key + const values = {}; + this.processedInputs.forEach(i => { + values[i.name] = i.value || ''; + }); + return values; + } + renderAlertInputs() { + switch (this.inputType) { + case 'checkbox': return this.renderCheckbox(); + case 'radio': return this.renderRadio(); + default: return this.renderInput(); + } + } + renderCheckbox() { + const inputs = this.processedInputs; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + if (inputs.length === 0) { + return null; + } + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-checkbox-group" }, inputs.map(i => (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-checkbox-icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-checkbox-inner" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)))))); + } + renderRadio() { + const inputs = this.processedInputs; + if (inputs.length === 0) { + return null; + } + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map(i => (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-radio-icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-radio-inner" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-radio-label" }, i.label))))))); + } + renderInput() { + const inputs = this.processedInputs; + if (inputs.length === 0) { + return null; + } + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-input-group" }, inputs.map(i => { + var _a, _b, _c, _d; + if (i.type === 'textarea') { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-input-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("textarea", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: e => { + var _a; + i.value = e.target.value; + if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) { + i.attributes.onInput(e); + } + } })))); + } + else { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-input-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: e => { + var _a; + i.value = e.target.value; + if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) { + i.attributes.onInput(e); + } + } })))); + } + }))); + } + renderAlertButtons() { + const buttons = this.processedButtons; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const alertButtonGroupClass = { + 'alert-button-group': true, + 'alert-button-group-vertical': buttons.length > 2 + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: alertButtonGroupClass }, buttons.map(button => Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "alert-button-inner" }, button.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null))))); + } + render() { + const { overlayIndex, header, subHeader } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const hdrId = `alert-${overlayIndex}-hdr`; + const subHdrId = `alert-${overlayIndex}-sub-hdr`; + const msgId = `alert-${overlayIndex}-msg`; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "dialog", "aria-modal": "true", tabindex: "-1", style: { + zIndex: `${20000 + overlayIndex}`, + }, class: Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(this.cssClass)), { [mode]: true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { tappable: this.backdropDismiss }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-wrapper ion-overlay-wrapper", ref: el => this.wrapperEl = el }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "alert-head" }, header && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h2", { id: hdrId, class: "alert-title" }, header), subHeader && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { id: msgId, class: "alert-message", innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_6__["s"])(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "buttons": ["buttonsChanged"], + "inputs": ["inputsChanged"] + }; } +}; +const inputClass = (input) => { + var _a, _b, _c; + return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(input.cssClass)), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : '')); +}; +const buttonClass = (button) => { + return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(button.cssClass)); +}; +Alert.style = { + ios: alertIosCss, + md: alertMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=1-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/1-es2015.js.map b/android/app/src/main/assets/public/1-es2015.js.map new file mode 100644 index 000000000..26914c78c --- /dev/null +++ b/android/app/src/main/assets/public/1-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-alert.entry.js"],"names":[],"mappings":"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AA+F,oCAAoC,mBAAmB,oBAAoB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,8BAA8B,kBAAkB,cAAc,iBAAiB,aAAa,gBAAgB,kBAAkB,mBAAmB,iBAAiB,oBAAoB,kBAAkB,6BAA6B,wCAAwC,gBAAgB,eAAe,yBAAyB,gBAAgB,+FAA+F,8BAA8B,kBAAkB,mBAAmB,uBAAuB,sBAAsB,uBAAuB,uBAAuB,+FAA+F,8BAA8B,mBAAmB,oBAAoB,2BAA2B,0BAA0B,yBAAyB,yBAAyB,oCAAoC,kBAAkB,yBAAyB;;AAE74X;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;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,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA,UAAU,+DAAQ;AAClB;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,WAAW;AACX;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,4CAA4C;AAChG;AACA;AACA;AACA;AACA,yBAAyB,MAAM;AAC/B;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAkB,GAAG,MAAM;AAC5D;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,KAAK;AACL;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mEAAU;AAClC;AACA;AACA,mBAAmB,qEAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+DAAQ;AACZ,IAAI,4DAAW;AACf;AACA;AACA;AACA,IAAI,+DAAQ;AACZ,IAAI,4DAAW;AACf;AACA;AACA;AACA;AACA,QAAQ,+DAAQ;AAChB,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+DAAQ;AACjC;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA,YAAY,4DAAC,SAAS,gCAAgC,mBAAmB,4DAAC,YAAY,oEAAoE,UAAU,gHAAgH,EAAE,6DAAW,gBAAgB,8JAA8J,GAAG,EAAE,4DAAC,SAAS,8BAA8B,EAAE,4DAAC,SAAS,+BAA+B,EAAE,4DAAC,SAAS,gCAAgC,IAAI,4DAAC,SAAS,gCAAgC,8BAA8B,4DAAC;AAChqB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,SAAS,yFAAyF,mBAAmB,4DAAC,YAAY,oEAAoE,UAAU,8FAA8F,EAAE,6DAAW,gBAAgB,qJAAqJ,kBAAkB,EAAE,4DAAC,SAAS,8BAA8B,EAAE,4DAAC,SAAS,4BAA4B,EAAE,4DAAC,SAAS,6BAA6B,IAAI,4DAAC,SAAS,6BAA6B;AACrqB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,SAAS,6BAA6B;AACnD;AACA;AACA,gBAAgB,4DAAC,SAAS,+BAA+B,EAAE,4DAAC,4BAA4B,6EAA6E,iBAAiB;AACtL;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA;AACA,gBAAgB,4DAAC,SAAS,+BAA+B,EAAE,4DAAC,yBAAyB,mHAAmH,iBAAiB;AACzN;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA,YAAY,4DAAC,SAAS,+BAA+B,wBAAwB,4DAAC,YAAY,mGAAmG,EAAE,4DAAC,UAAU,8BAA8B,iCAAiC,4DAAC;AAC1Q;AACA;AACA,WAAW,kCAAkC;AAC7C,iBAAiB,mEAAU;AAC3B,2BAA2B,aAAa;AACxC,8BAA8B,aAAa;AAC3C,2BAA2B,aAAa;AACxC,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB,mBAAmB,qBAAqB;AACxC,OAAO,uCAAuC,EAAE,6DAAW,mBAAmB,sDAAsD,4FAA4F,EAAE,4DAAC,kBAAkB,iCAAiC,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,6EAA6E,EAAE,4DAAC,SAAS,sBAAsB,YAAY,4DAAC,QAAQ,kCAAkC,wBAAwB,4DAAC,QAAQ,yCAAyC,eAAe,4DAAC,SAAS,+CAA+C,4DAAiB,gBAAgB,yDAAyD,4DAAC,SAAS,gBAAgB;AAC5uB;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,sCAAsC,0LAA0L,EAAE,6DAAW,mBAAmB,6DAAW;AAC3Q;AACA;AACA,wBAAwB,6FAA6F,YAAY,+BAA+B,EAAE,6DAAW;AAC7K;AACA;AACA;AACA;AACA;;AAE8B","file":"1-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, j as forceUpdate, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './gesture-controller-31cb6bb9.js';\nimport './index-f49d994d.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, i as isCancel, e as prepareOverlay, d as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport './haptic-27b3f981.js';\nimport { c as createButtonActiveGesture } from './button-active-a6787d69.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Alert Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-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/**\n * iOS Alert Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-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/**\n * Md Alert Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-wrapper'))\n .keyframes([\n { offset: 0, opacity: '0.01', transform: 'scale(0.9)' },\n { offset: 1, opacity: '1', transform: 'scale(1)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(150)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Alert Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(150)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst alertIosCss = \".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:14px}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:7px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:17px;font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, #666666);font-size:14px}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:13px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:4px;margin-top:10px;padding-left:6px;padding-right:6px;padding-top:6px;padding-bottom:6px;border:0.55px solid var(--ion-color-step-250, #bfbfbf);background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-input.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{height:44px}.alert-radio-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #3880ff)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:7px;top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:unset;right:unset;right:7px}.alert-checkbox-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-left:16px;margin-right:6px;margin-top:10px;margin-bottom:10px;position:relative;width:24px;height:24px;border-width:1px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-icon.sc-ion-alert-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:9px;top:4px;position:absolute;width:5px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:unset;right:unset;right:9px}.alert-button-group.sc-ion-alert-ios{margin-right:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-ios{margin-right:unset;-webkit-margin-end:-0.55px;margin-inline-end:-0.55px}}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #3880ff);font-size:17px;overflow:hidden}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #eb445a)}\";\n\nconst alertMdCss = \".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:14px}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{padding-left:23px;padding-right:23px;padding-top:20px;padding-bottom:15px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px}}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:20px;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:16px}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:24px;padding-right:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, #737373)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.alert-message.sc-ion-alert-md{max-height:240px;font-size:16px}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #3880ff)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;max-height:240px;border-top:1px solid var(--ion-color-step-150, #d9d9d9);border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);overflow:auto}.alert-tappable.sc-ion-alert-md{position:relative;height:48px;overflow:hidden}.alert-radio-label.sc-ion-alert-md{padding-left:52px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-radio-icon.sc-ion-alert-md{left:26px;top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373)}[dir=rtl].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}.alert-radio-inner.sc-ion-alert-md{left:3px;top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, #262626)}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-left:53px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-checkbox-icon.sc-ion-alert-md{left:26px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373);contain:strict}[dir=rtl].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:3px;top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[dir=rtl].sc-ion-alert-md [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}.alert-button-group.sc-ion-alert-md{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.alert-button.sc-ion-alert-md{border-radius:2px;margin-left:0;margin-right:8px;margin-top:0;margin-bottom:0;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #3880ff);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}\";\n\nconst Alert = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionAlertDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionAlertWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionAlertWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionAlertDidDismiss\", 7);\n this.processedInputs = [];\n this.processedButtons = [];\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * Array of buttons to be added to the alert.\n */\n this.buttons = [];\n /**\n * Array of input to show in the alert.\n */\n this.inputs = [];\n /**\n * If `true`, the alert will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the alert 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 alert will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.processedButtons.find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n onKeydown(ev) {\n const inputTypes = new Set(this.processedInputs.map(i => i.type));\n // The only inputs we want to navigate between using arrow keys are the radios\n // ignore the keydown event if it is not on a radio button\n if (!inputTypes.has('radio')\n || (ev.target && !this.el.contains(ev.target))\n || ev.target.classList.contains('alert-button')) {\n return;\n }\n // Get all radios inside of the radio group and then\n // filter out disabled radios since we need to skip those\n const query = this.el.querySelectorAll('.alert-radio');\n const radios = Array.from(query).filter(radio => !radio.disabled);\n // The focused radio is the one that shares the same id as\n // the event target\n const index = radios.findIndex(radio => radio.id === ev.target.id);\n // We need to know what the next radio element should\n // be in order to change the focus\n let nextEl;\n // If hitting arrow down or arrow right, move to the next radio\n // If we're on the last radio, move to the first radio\n if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {\n nextEl = (index === radios.length - 1)\n ? radios[0]\n : radios[index + 1];\n }\n // If hitting arrow up or arrow left, move to the previous radio\n // If we're on the first radio, move to the last radio\n if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {\n nextEl = (index === 0)\n ? radios[radios.length - 1]\n : radios[index - 1];\n }\n if (nextEl && radios.includes(nextEl)) {\n const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));\n if (nextProcessed) {\n this.rbClick(nextProcessed);\n nextEl.focus();\n }\n }\n }\n buttonsChanged() {\n const buttons = this.buttons;\n this.processedButtons = buttons.map(btn => {\n return (typeof btn === 'string')\n ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined }\n : btn;\n });\n }\n inputsChanged() {\n const inputs = this.inputs;\n // Get the first input that is not disabled and the checked one\n // If an enabled checked input exists, set it to be the focusable input\n // otherwise we default to focus the first input\n // This will only be used when the input is type radio\n const first = inputs.find(input => !input.disabled);\n const checked = inputs.find(input => input.checked && !input.disabled);\n const focusable = checked || first;\n // An alert can be created with several different inputs. Radios,\n // checkboxes and inputs are all accepted, but they cannot be mixed.\n const inputTypes = new Set(inputs.map(i => i.type));\n if (inputTypes.has('checkbox') && inputTypes.has('radio')) {\n console.warn(`Alert cannot mix input types: ${(Array.from(inputTypes.values()).join('/'))}. Please see alert docs for more info.`);\n }\n this.inputType = inputTypes.values().next().value;\n this.processedInputs = inputs.map((i, index) => ({\n type: i.type || 'text',\n name: i.name || `${index}`,\n placeholder: i.placeholder || '',\n value: i.value,\n label: i.label,\n checked: !!i.checked,\n disabled: !!i.disabled,\n id: i.id || `alert-input-${this.overlayIndex}-${index}`,\n handler: i.handler,\n min: i.min,\n max: i.max,\n cssClass: i.cssClass || '',\n attributes: i.attributes || {},\n tabindex: (i.type === 'radio' && i !== focusable) ? -1 : 0\n }));\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n componentWillLoad() {\n this.inputsChanged();\n this.buttonsChanged();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n componentDidLoad() {\n /**\n * Do not create gesture if:\n * 1. A gesture already exists\n * 2. App is running in MD mode\n * 3. A wrapper ref does not exist\n */\n if (this.gesture || getIonMode(this) === 'md' || !this.wrapperEl) {\n return;\n }\n this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));\n this.gesture.enable(true);\n }\n /**\n * Present the alert overlay after it has been created.\n */\n present() {\n return present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);\n }\n /**\n * Dismiss the alert 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 alert.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the alert.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n return dismiss(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the alert did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionAlertDidDismiss');\n }\n /**\n * Returns a promise that resolves when the alert will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionAlertWillDismiss');\n }\n rbClick(selectedInput) {\n for (const input of this.processedInputs) {\n input.checked = input === selectedInput;\n input.tabindex = input === selectedInput ? 0 : -1;\n }\n this.activeId = selectedInput.id;\n safeCall(selectedInput.handler, selectedInput);\n forceUpdate(this);\n }\n cbClick(selectedInput) {\n selectedInput.checked = !selectedInput.checked;\n safeCall(selectedInput.handler, selectedInput);\n forceUpdate(this);\n }\n buttonClick(button) {\n const role = button.role;\n const values = this.getValues();\n if (isCancel(role)) {\n return this.dismiss({ values }, role);\n }\n const returnData = this.callButtonHandler(button, values);\n if (returnData !== false) {\n return this.dismiss(Object.assign({ values }, returnData), button.role);\n }\n return Promise.resolve(false);\n }\n callButtonHandler(button, data) {\n if (button && button.handler) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const returnData = safeCall(button.handler, data);\n if (returnData === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n if (typeof returnData === 'object') {\n return returnData;\n }\n }\n return {};\n }\n getValues() {\n if (this.processedInputs.length === 0) {\n // this is an alert without any options/inputs at all\n return undefined;\n }\n if (this.inputType === 'radio') {\n // this is an alert with radio buttons (single value select)\n // return the one value which is checked, otherwise undefined\n const checkedInput = this.processedInputs.find(i => !!i.checked);\n return checkedInput ? checkedInput.value : undefined;\n }\n if (this.inputType === 'checkbox') {\n // this is an alert with checkboxes (multiple value select)\n // return an array of all the checked values\n return this.processedInputs.filter(i => i.checked).map(i => i.value);\n }\n // this is an alert with text inputs\n // return an object of all the values with the input name as the key\n const values = {};\n this.processedInputs.forEach(i => {\n values[i.name] = i.value || '';\n });\n return values;\n }\n renderAlertInputs() {\n switch (this.inputType) {\n case 'checkbox': return this.renderCheckbox();\n case 'radio': return this.renderRadio();\n default: return this.renderInput();\n }\n }\n renderCheckbox() {\n const inputs = this.processedInputs;\n const mode = getIonMode(this);\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-checkbox-group\" }, inputs.map(i => (h(\"button\", { type: \"button\", onClick: () => this.cbClick(i), \"aria-checked\": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: \"checkbox\", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h(\"div\", { class: \"alert-button-inner\" }, h(\"div\", { class: \"alert-checkbox-icon\" }, h(\"div\", { class: \"alert-checkbox-inner\" })), h(\"div\", { class: \"alert-checkbox-label\" }, i.label)), mode === 'md' && h(\"ion-ripple-effect\", null))))));\n }\n renderRadio() {\n const inputs = this.processedInputs;\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-radio-group\", role: \"radiogroup\", \"aria-activedescendant\": this.activeId }, inputs.map(i => (h(\"button\", { type: \"button\", onClick: () => this.rbClick(i), \"aria-checked\": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: \"radio\" }, h(\"div\", { class: \"alert-button-inner\" }, h(\"div\", { class: \"alert-radio-icon\" }, h(\"div\", { class: \"alert-radio-inner\" })), h(\"div\", { class: \"alert-radio-label\" }, i.label)))))));\n }\n renderInput() {\n const inputs = this.processedInputs;\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-input-group\" }, inputs.map(i => {\n var _a, _b, _c, _d;\n if (i.type === 'textarea') {\n return (h(\"div\", { class: \"alert-input-wrapper\" }, h(\"textarea\", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: e => {\n var _a;\n i.value = e.target.value;\n if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {\n i.attributes.onInput(e);\n }\n } }))));\n }\n else {\n return (h(\"div\", { class: \"alert-input-wrapper\" }, h(\"input\", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: e => {\n var _a;\n i.value = e.target.value;\n if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {\n i.attributes.onInput(e);\n }\n } }))));\n }\n })));\n }\n renderAlertButtons() {\n const buttons = this.processedButtons;\n const mode = getIonMode(this);\n const alertButtonGroupClass = {\n 'alert-button-group': true,\n 'alert-button-group-vertical': buttons.length > 2\n };\n return (h(\"div\", { class: alertButtonGroupClass }, buttons.map(button => h(\"button\", { type: \"button\", class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h(\"span\", { class: \"alert-button-inner\" }, button.text), mode === 'md' && h(\"ion-ripple-effect\", null)))));\n }\n render() {\n const { overlayIndex, header, subHeader } = this;\n const mode = getIonMode(this);\n const hdrId = `alert-${overlayIndex}-hdr`;\n const subHdrId = `alert-${overlayIndex}-sub-hdr`;\n const msgId = `alert-${overlayIndex}-msg`;\n return (h(Host, { role: \"dialog\", \"aria-modal\": \"true\", tabindex: \"-1\", style: {\n zIndex: `${20000 + overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"alert-wrapper ion-overlay-wrapper\", ref: el => this.wrapperEl = el }, h(\"div\", { class: \"alert-head\" }, header && h(\"h2\", { id: hdrId, class: \"alert-title\" }, header), subHeader && h(\"h2\", { id: subHdrId, class: \"alert-sub-title\" }, subHeader)), h(\"div\", { id: msgId, class: \"alert-message\", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"buttons\": [\"buttonsChanged\"],\n \"inputs\": [\"inputsChanged\"]\n }; }\n};\nconst inputClass = (input) => {\n var _a, _b, _c;\n return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));\n};\nAlert.style = {\n ios: alertIosCss,\n md: alertMdCss\n};\n\nexport { Alert as ion_alert };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/1-es5.js b/android/app/src/main/assets/public/1-es5.js new file mode 100644 index 000000000..e31b85063 --- /dev/null +++ b/android/app/src/main/assets/public/1-es5.js @@ -0,0 +1,826 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[1], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-alert.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-alert.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_alert */ + + /***/ + function node_modulesIonicCoreDistEsmIonAlertEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_alert", function () { + return Alert; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./gesture-controller-31cb6bb9.js */ + "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); + /* harmony import */ + + + var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); + /* harmony import */ + + + var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./index-9e3fe806.js */ + "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( + /*! ./haptic-27b3f981.js */ + "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + /* harmony import */ + + + var _button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( + /*! ./button-active-a6787d69.js */ + "./node_modules/@ionic/core/dist/esm/button-active-a6787d69.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /** + * iOS Alert Enter Animation + */ + + + var iosEnterAnimation = function iosEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([{ + offset: 0, + opacity: '0.01', + transform: 'scale(1.1)' + }, { + offset: 1, + opacity: '1', + transform: 'scale(1)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * iOS Alert Leave Animation + */ + + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([{ + offset: 0, + opacity: 0.99, + transform: 'scale(1)' + }, { + offset: 1, + opacity: 0, + transform: 'scale(0.9)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Alert Enter Animation + */ + + + var mdEnterAnimation = function mdEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([{ + offset: 0, + opacity: '0.01', + transform: 'scale(0.9)' + }, { + offset: 1, + opacity: '1', + transform: 'scale(1)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(150).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Alert Leave Animation + */ + + + var mdLeaveAnimation = function mdLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).fromTo('opacity', 0.99, 0); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(150).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var alertIosCss = ".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:14px}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:7px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:17px;font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, #666666);font-size:14px}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:13px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:4px;margin-top:10px;padding-left:6px;padding-right:6px;padding-top:6px;padding-bottom:6px;border:0.55px solid var(--ion-color-step-250, #bfbfbf);background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-input.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{height:44px}.alert-radio-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #3880ff)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:7px;top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:unset;right:unset;right:7px}.alert-checkbox-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-left:16px;margin-right:6px;margin-top:10px;margin-bottom:10px;position:relative;width:24px;height:24px;border-width:1px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-icon.sc-ion-alert-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:9px;top:4px;position:absolute;width:5px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:unset;right:unset;right:9px}.alert-button-group.sc-ion-alert-ios{margin-right:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-ios{margin-right:unset;-webkit-margin-end:-0.55px;margin-inline-end:-0.55px}}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #3880ff);font-size:17px;overflow:hidden}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #eb445a)}"; + var alertMdCss = ".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:14px}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{padding-left:23px;padding-right:23px;padding-top:20px;padding-bottom:15px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px}}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:20px;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:16px}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:24px;padding-right:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, #737373)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.alert-message.sc-ion-alert-md{max-height:240px;font-size:16px}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #3880ff)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;max-height:240px;border-top:1px solid var(--ion-color-step-150, #d9d9d9);border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);overflow:auto}.alert-tappable.sc-ion-alert-md{position:relative;height:48px;overflow:hidden}.alert-radio-label.sc-ion-alert-md{padding-left:52px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-radio-icon.sc-ion-alert-md{left:26px;top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373)}[dir=rtl].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}.alert-radio-inner.sc-ion-alert-md{left:3px;top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, #262626)}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-left:53px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-checkbox-icon.sc-ion-alert-md{left:26px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373);contain:strict}[dir=rtl].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:3px;top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[dir=rtl].sc-ion-alert-md [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}.alert-button-group.sc-ion-alert-md{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.alert-button.sc-ion-alert-md{border-radius:2px;margin-left:0;margin-right:8px;margin-top:0;margin-bottom:0;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #3880ff);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}"; + + var Alert = /*#__PURE__*/function () { + function Alert(hostRef) { + var _this = this; + + _classCallCheck(this, Alert); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionAlertDidDismiss", 7); + this.processedInputs = []; + this.processedButtons = []; + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * Array of buttons to be added to the alert. + */ + + this.buttons = []; + /** + * Array of input to show in the alert. + */ + + this.inputs = []; + /** + * If `true`, the alert will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = true; + /** + * If `true`, the alert will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + /** + * If `true`, the alert will animate. + */ + + this.animated = true; + + this.onBackdropTap = function () { + _this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["B"]); + }; + + this.dispatchCancelHandler = function (ev) { + var role = ev.detail.role; + + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["i"])(role)) { + var cancelButton = _this.processedButtons.find(function (b) { + return b.role === 'cancel'; + }); + + _this.callButtonHandler(cancelButton); + } + }; + } + + _createClass(Alert, [{ + key: "onKeydown", + value: function onKeydown(ev) { + var inputTypes = new Set(this.processedInputs.map(function (i) { + return i.type; + })); // The only inputs we want to navigate between using arrow keys are the radios + // ignore the keydown event if it is not on a radio button + + if (!inputTypes.has('radio') || ev.target && !this.el.contains(ev.target) || ev.target.classList.contains('alert-button')) { + return; + } // Get all radios inside of the radio group and then + // filter out disabled radios since we need to skip those + + + var query = this.el.querySelectorAll('.alert-radio'); + var radios = Array.from(query).filter(function (radio) { + return !radio.disabled; + }); // The focused radio is the one that shares the same id as + // the event target + + var index = radios.findIndex(function (radio) { + return radio.id === ev.target.id; + }); // We need to know what the next radio element should + // be in order to change the focus + + var nextEl; // If hitting arrow down or arrow right, move to the next radio + // If we're on the last radio, move to the first radio + + if (['ArrowDown', 'ArrowRight'].includes(ev.code)) { + nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1]; + } // If hitting arrow up or arrow left, move to the previous radio + // If we're on the first radio, move to the last radio + + + if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) { + nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1]; + } + + if (nextEl && radios.includes(nextEl)) { + var nextProcessed = this.processedInputs.find(function (input) { + return input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id); + }); + + if (nextProcessed) { + this.rbClick(nextProcessed); + nextEl.focus(); + } + } + } + }, { + key: "buttonsChanged", + value: function buttonsChanged() { + var buttons = this.buttons; + this.processedButtons = buttons.map(function (btn) { + return typeof btn === 'string' ? { + text: btn, + role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined + } : btn; + }); + } + }, { + key: "inputsChanged", + value: function inputsChanged() { + var _this2 = this; + + var inputs = this.inputs; // Get the first input that is not disabled and the checked one + // If an enabled checked input exists, set it to be the focusable input + // otherwise we default to focus the first input + // This will only be used when the input is type radio + + var first = inputs.find(function (input) { + return !input.disabled; + }); + var checked = inputs.find(function (input) { + return input.checked && !input.disabled; + }); + var focusable = checked || first; // An alert can be created with several different inputs. Radios, + // checkboxes and inputs are all accepted, but they cannot be mixed. + + var inputTypes = new Set(inputs.map(function (i) { + return i.type; + })); + + if (inputTypes.has('checkbox') && inputTypes.has('radio')) { + console.warn("Alert cannot mix input types: ".concat(Array.from(inputTypes.values()).join('/'), ". Please see alert docs for more info.")); + } + + this.inputType = inputTypes.values().next().value; + this.processedInputs = inputs.map(function (i, index) { + return { + type: i.type || 'text', + name: i.name || "".concat(index), + placeholder: i.placeholder || '', + value: i.value, + label: i.label, + checked: !!i.checked, + disabled: !!i.disabled, + id: i.id || "alert-input-".concat(_this2.overlayIndex, "-").concat(index), + handler: i.handler, + min: i.min, + max: i.max, + cssClass: i.cssClass || '', + attributes: i.attributes || {}, + tabindex: i.type === 'radio' && i !== focusable ? -1 : 0 + }; + }); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["e"])(this.el); + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.inputsChanged(); + this.buttonsChanged(); + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + /** + * Do not create gesture if: + * 1. A gesture already exists + * 2. App is running in MD mode + * 3. A wrapper ref does not exist + */ + if (this.gesture || Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'md' || !this.wrapperEl) { + return; + } + + this.gesture = Object(_button_active_a6787d69_js__WEBPACK_IMPORTED_MODULE_10__["c"])(this.wrapperEl, function (refEl) { + return refEl.classList.contains('alert-button'); + }); + this.gesture.enable(true); + } + /** + * Present the alert overlay after it has been created. + */ + + }, { + key: "present", + value: function present() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["d"])(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation); + } + /** + * Dismiss the alert overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the alert. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the alert. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + + }, { + key: "dismiss", + value: function dismiss(data, role) { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["f"])(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the alert did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["g"])(this.el, 'ionAlertDidDismiss'); + } + /** + * Returns a promise that resolves when the alert will dismiss. + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["g"])(this.el, 'ionAlertWillDismiss'); + } + }, { + key: "rbClick", + value: function rbClick(selectedInput) { + var _iterator = _createForOfIteratorHelper(this.processedInputs), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var input = _step.value; + input.checked = input === selectedInput; + input.tabindex = input === selectedInput ? 0 : -1; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.activeId = selectedInput.id; + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(selectedInput.handler, selectedInput); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + }, { + key: "cbClick", + value: function cbClick(selectedInput) { + selectedInput.checked = !selectedInput.checked; + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(selectedInput.handler, selectedInput); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + }, { + key: "buttonClick", + value: function buttonClick(button) { + var role = button.role; + var values = this.getValues(); + + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["i"])(role)) { + return this.dismiss({ + values: values + }, role); + } + + var returnData = this.callButtonHandler(button, values); + + if (returnData !== false) { + return this.dismiss(Object.assign({ + values: values + }, returnData), button.role); + } + + return Promise.resolve(false); + } + }, { + key: "callButtonHandler", + value: function callButtonHandler(button, data) { + if (button && button.handler) { + // a handler has been provided, execute it + // pass the handler the values from the inputs + var returnData = Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_8__["s"])(button.handler, data); + + if (returnData === false) { + // if the return value of the handler is false then do not dismiss + return false; + } + + if (typeof returnData === 'object') { + return returnData; + } + } + + return {}; + } + }, { + key: "getValues", + value: function getValues() { + if (this.processedInputs.length === 0) { + // this is an alert without any options/inputs at all + return undefined; + } + + if (this.inputType === 'radio') { + // this is an alert with radio buttons (single value select) + // return the one value which is checked, otherwise undefined + var checkedInput = this.processedInputs.find(function (i) { + return !!i.checked; + }); + return checkedInput ? checkedInput.value : undefined; + } + + if (this.inputType === 'checkbox') { + // this is an alert with checkboxes (multiple value select) + // return an array of all the checked values + return this.processedInputs.filter(function (i) { + return i.checked; + }).map(function (i) { + return i.value; + }); + } // this is an alert with text inputs + // return an object of all the values with the input name as the key + + + var values = {}; + this.processedInputs.forEach(function (i) { + values[i.name] = i.value || ''; + }); + return values; + } + }, { + key: "renderAlertInputs", + value: function renderAlertInputs() { + switch (this.inputType) { + case 'checkbox': + return this.renderCheckbox(); + + case 'radio': + return this.renderRadio(); + + default: + return this.renderInput(); + } + } + }, { + key: "renderCheckbox", + value: function renderCheckbox() { + var _this3 = this; + + var inputs = this.processedInputs; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + if (inputs.length === 0) { + return null; + } + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-checkbox-group" + }, inputs.map(function (i) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + onClick: function onClick() { + return _this3.cbClick(i); + }, + "aria-checked": "".concat(i.checked), + id: i.id, + disabled: i.disabled, + tabIndex: i.tabindex, + role: "checkbox", + "class": Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(i.cssClass)), { + 'alert-tappable': true, + 'alert-checkbox': true, + 'alert-checkbox-button': true, + 'ion-focusable': true, + 'alert-checkbox-button-disabled': i.disabled || false + }) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-checkbox-icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-checkbox-inner" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-checkbox-label" + }, i.label)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)); + })); + } + }, { + key: "renderRadio", + value: function renderRadio() { + var _this4 = this; + + var inputs = this.processedInputs; + + if (inputs.length === 0) { + return null; + } + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-radio-group", + role: "radiogroup", + "aria-activedescendant": this.activeId + }, inputs.map(function (i) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + onClick: function onClick() { + return _this4.rbClick(i); + }, + "aria-checked": "".concat(i.checked), + disabled: i.disabled, + id: i.id, + tabIndex: i.tabindex, + "class": Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(i.cssClass)), { + 'alert-radio-button': true, + 'alert-tappable': true, + 'alert-radio': true, + 'ion-focusable': true, + 'alert-radio-button-disabled': i.disabled || false + }), + role: "radio" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-radio-icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-radio-inner" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-radio-label" + }, i.label))); + })); + } + }, { + key: "renderInput", + value: function renderInput() { + var inputs = this.processedInputs; + + if (inputs.length === 0) { + return null; + } + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-input-group" + }, inputs.map(function (i) { + var _a, _b, _c, _d; + + if (i.type === 'textarea') { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-input-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("textarea", Object.assign({ + placeholder: i.placeholder, + value: i.value, + id: i.id, + tabIndex: i.tabindex + }, i.attributes, { + disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, + "class": inputClass(i), + onInput: function onInput(e) { + var _a; + + i.value = e.target.value; + + if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) { + i.attributes.onInput(e); + } + } + }))); + } else { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-input-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", Object.assign({ + placeholder: i.placeholder, + type: i.type, + min: i.min, + max: i.max, + value: i.value, + id: i.id, + tabIndex: i.tabindex + }, i.attributes, { + disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, + "class": inputClass(i), + onInput: function onInput(e) { + var _a; + + i.value = e.target.value; + + if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) { + i.attributes.onInput(e); + } + } + }))); + } + })); + } + }, { + key: "renderAlertButtons", + value: function renderAlertButtons() { + var _this5 = this; + + var buttons = this.processedButtons; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var alertButtonGroupClass = { + 'alert-button-group': true, + 'alert-button-group-vertical': buttons.length > 2 + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": alertButtonGroupClass + }, buttons.map(function (button) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + "class": buttonClass(button), + tabIndex: 0, + onClick: function onClick() { + return _this5.buttonClick(button); + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "alert-button-inner" + }, button.text), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)); + })); + } + }, { + key: "render", + value: function render() { + var _Object$assign, + _this6 = this; + + var overlayIndex = this.overlayIndex, + header = this.header, + subHeader = this.subHeader; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var hdrId = "alert-".concat(overlayIndex, "-hdr"); + var subHdrId = "alert-".concat(overlayIndex, "-sub-hdr"); + var msgId = "alert-".concat(overlayIndex, "-msg"); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "dialog", + "aria-modal": "true", + tabindex: "-1", + style: { + zIndex: "".concat(20000 + overlayIndex) + }, + "class": Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(this.cssClass)), (_Object$assign = {}, _defineProperty(_Object$assign, mode, true), _defineProperty(_Object$assign, 'alert-translucent', this.translucent), _Object$assign)), + onIonAlertWillDismiss: this.dispatchCancelHandler, + onIonBackdropTap: this.onBackdropTap + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + tappable: this.backdropDismiss + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-wrapper ion-overlay-wrapper", + ref: function ref(el) { + return _this6.wrapperEl = el; + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "alert-head" + }, header && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h2", { + id: hdrId, + "class": "alert-title" + }, header), subHeader && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h2", { + id: subHdrId, + "class": "alert-sub-title" + }, subHeader)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + id: msgId, + "class": "alert-message", + innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_6__["s"])(this.message) + }), this.renderAlertInputs(), this.renderAlertButtons()), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "buttons": ["buttonsChanged"], + "inputs": ["inputsChanged"] + }; + } + }]); + + return Alert; + }(); + + var inputClass = function inputClass(input) { + var _a, _b, _c; + + return Object.assign(Object.assign({ + 'alert-input': true, + 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false + }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(input.cssClass)), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(input.attributes ? (_c = input.attributes["class"]) === null || _c === void 0 ? void 0 : _c.toString() : '')); + }; + + var buttonClass = function buttonClass(button) { + return Object.assign(_defineProperty({ + 'alert-button': true, + 'ion-focusable': true, + 'ion-activatable': true + }, "alert-button-role-".concat(button.role), button.role !== undefined), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_11__["g"])(button.cssClass)); + }; + + Alert.style = { + ios: alertIosCss, + md: alertMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=1-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/1-es5.js.map b/android/app/src/main/assets/public/1-es5.js.map new file mode 100644 index 000000000..bc77f2b79 --- /dev/null +++ b/android/app/src/main/assets/public/1-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-alert.entry.js"],"names":["iosEnterAnimation","baseEl","baseAnimation","backdropAnimation","wrapperAnimation","addElement","querySelector","fromTo","beforeStyles","afterClearStyles","keyframes","offset","opacity","transform","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","mdLeaveAnimation","alertIosCss","alertMdCss","Alert","hostRef","didPresent","willPresent","willDismiss","didDismiss","processedInputs","processedButtons","presented","keyboardClose","buttons","inputs","backdropDismiss","translucent","animated","onBackdropTap","dismiss","undefined","dispatchCancelHandler","ev","role","detail","cancelButton","find","b","callButtonHandler","inputTypes","Set","map","i","type","has","target","el","contains","classList","query","querySelectorAll","radios","Array","from","filter","radio","disabled","index","findIndex","id","nextEl","includes","code","length","nextProcessed","input","rbClick","focus","btn","text","toLowerCase","first","checked","focusable","console","warn","values","join","inputType","next","value","name","placeholder","label","overlayIndex","handler","min","max","cssClass","attributes","tabindex","inputsChanged","buttonsChanged","gesture","destroy","wrapperEl","refEl","enable","data","selectedInput","activeId","button","getValues","returnData","Object","assign","Promise","resolve","checkedInput","forEach","renderCheckbox","renderRadio","renderInput","mode","onClick","cbClick","tabIndex","_a","_b","_c","_d","inputClass","onInput","e","alertButtonGroupClass","buttonClass","buttonClick","header","subHeader","hdrId","subHdrId","msgId","style","zIndex","onIonAlertWillDismiss","onIonBackdropTap","tappable","ref","innerHTML","message","renderAlertInputs","renderAlertButtons","toString","ios","md"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAaA;;;;;AAGA,QAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAAY;AACpC,UAAMC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,yBAF3B,EAGGC,YAHH,CAGgB;AACd,0BAAkB;AADJ,OAHhB,EAMGC,gBANH,CAMoB,CAAC,gBAAD,CANpB;AAOAL,sBAAgB,CACbC,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,gBAArB,CADd,EAEGI,SAFH,CAEa,CACX;AAAEC,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,MAAtB;AAA8BC,iBAAS,EAAE;AAAzC,OADW,EAEX;AAAEF,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,GAAtB;AAA2BC,iBAAS,EAAE;AAAtC,OAFW,CAFb;AAMA,aAAOX,aAAa,CACjBG,UADI,CACOJ,MADP,EAEJa,MAFI,CAEG,aAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACb,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAtBD;AAwBA;;;;;AAGA,QAAMa,iBAAiB,GAAG,SAApBA,iBAAoB,CAAChB,MAAD,EAAY;AACpC,UAAMC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGC,MAFH,CAEU,SAFV,EAEqB,yBAFrB,EAEgD,CAFhD;AAGAH,sBAAgB,CACbC,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,gBAArB,CADd,EAEGI,SAFH,CAEa,CACX;AAAEC,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,IAAtB;AAA4BC,iBAAS,EAAE;AAAvC,OADW,EAEX;AAAEF,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,CAAtB;AAAyBC,iBAAS,EAAE;AAApC,OAFW,CAFb;AAMA,aAAOX,aAAa,CACjBG,UADI,CACOJ,MADP,EAEJa,MAFI,CAEG,aAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACb,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAlBD;AAoBA;;;;;AAGA,QAAMc,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACjB,MAAD,EAAY;AACnC,UAAMC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,yBAF3B,EAGGC,YAHH,CAGgB;AACd,0BAAkB;AADJ,OAHhB,EAMGC,gBANH,CAMoB,CAAC,gBAAD,CANpB;AAOAL,sBAAgB,CACbC,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,gBAArB,CADd,EAEGI,SAFH,CAEa,CACX;AAAEC,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,MAAtB;AAA8BC,iBAAS,EAAE;AAAzC,OADW,EAEX;AAAEF,cAAM,EAAE,CAAV;AAAaC,eAAO,EAAE,GAAtB;AAA2BC,iBAAS,EAAE;AAAtC,OAFW,CAFb;AAMA,aAAOX,aAAa,CACjBG,UADI,CACOJ,MADP,EAEJa,MAFI,CAEG,aAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACb,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAtBD;AAwBA;;;;;AAGA,QAAMe,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAClB,MAAD,EAAY;AACnC,UAAMC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGC,MAFH,CAEU,SAFV,EAEqB,yBAFrB,EAEgD,CAFhD;AAGAH,sBAAgB,CACbC,UADH,CACcJ,MAAM,CAACK,aAAP,CAAqB,gBAArB,CADd,EAEGC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGA,aAAOL,aAAa,CACjBG,UADI,CACOJ,MADP,EAEJa,MAFI,CAEG,aAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACb,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAfD;;AAiBA,QAAMgB,WAAW,GAAG,+hYAApB;AAEA,QAAMC,UAAU,GAAG,23XAAnB;;AAEA,QAAMC,KAAK;AACT,qBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKC,UAAL,GAAkB,6DAAY,IAAZ,EAAkB,oBAAlB,EAAwC,CAAxC,CAAlB;AACA,aAAKC,WAAL,GAAmB,6DAAY,IAAZ,EAAkB,qBAAlB,EAAyC,CAAzC,CAAnB;AACA,aAAKC,WAAL,GAAmB,6DAAY,IAAZ,EAAkB,qBAAlB,EAAyC,CAAzC,CAAnB;AACA,aAAKC,UAAL,GAAkB,6DAAY,IAAZ,EAAkB,oBAAlB,EAAwC,CAAxC,CAAlB;AACA,aAAKC,eAAL,GAAuB,EAAvB;AACA,aAAKC,gBAAL,GAAwB,EAAxB;AACA,aAAKC,SAAL,GAAiB,KAAjB;AACA;;;;AAGA,aAAKC,aAAL,GAAqB,IAArB;AACA;;;;AAGA,aAAKC,OAAL,GAAe,EAAf;AACA;;;;AAGA,aAAKC,MAAL,GAAc,EAAd;AACA;;;;AAGA,aAAKC,eAAL,GAAuB,IAAvB;AACA;;;;;;AAKA,aAAKC,WAAL,GAAmB,KAAnB;AACA;;;;AAGA,aAAKC,QAAL,GAAgB,IAAhB;;AACA,aAAKC,aAAL,GAAqB,YAAM;AACzB,eAAI,CAACC,OAAL,CAAaC,SAAb,EAAwB,uDAAxB;AACD,SAFD;;AAGA,aAAKC,qBAAL,GAA6B,UAACC,EAAD,EAAQ;AACnC,cAAMC,IAAI,GAAGD,EAAE,CAACE,MAAH,CAAUD,IAAvB;;AACA,cAAI,gEAASA,IAAT,CAAJ,EAAoB;AAClB,gBAAME,YAAY,GAAG,KAAI,CAACf,gBAAL,CAAsBgB,IAAtB,CAA2B,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACJ,IAAF,KAAW,QAAf;AAAA,aAA5B,CAArB;;AACA,iBAAI,CAACK,iBAAL,CAAuBH,YAAvB;AACD;AACF,SAND;AAOD;;AA9CQ;AAAA;AAAA,eA+CT,mBAAUH,EAAV,EAAc;AACZ,cAAMO,UAAU,GAAG,IAAIC,GAAJ,CAAQ,KAAKrB,eAAL,CAAqBsB,GAArB,CAAyB,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACC,IAAN;AAAA,WAA1B,CAAR,CAAnB,CADY,CAEZ;AACA;;AACA,cAAI,CAACJ,UAAU,CAACK,GAAX,CAAe,OAAf,CAAD,IACEZ,EAAE,CAACa,MAAH,IAAa,CAAC,KAAKC,EAAL,CAAQC,QAAR,CAAiBf,EAAE,CAACa,MAApB,CADhB,IAECb,EAAE,CAACa,MAAH,CAAUG,SAAV,CAAoBD,QAApB,CAA6B,cAA7B,CAFL,EAEmD;AACjD;AACD,WARW,CASZ;AACA;;;AACA,cAAME,KAAK,GAAG,KAAKH,EAAL,CAAQI,gBAAR,CAAyB,cAAzB,CAAd;AACA,cAAMC,MAAM,GAAGC,KAAK,CAACC,IAAN,CAAWJ,KAAX,EAAkBK,MAAlB,CAAyB,UAAAC,KAAK;AAAA,mBAAI,CAACA,KAAK,CAACC,QAAX;AAAA,WAA9B,CAAf,CAZY,CAaZ;AACA;;AACA,cAAMC,KAAK,GAAGN,MAAM,CAACO,SAAP,CAAiB,UAAAH,KAAK;AAAA,mBAAIA,KAAK,CAACI,EAAN,KAAa3B,EAAE,CAACa,MAAH,CAAUc,EAA3B;AAAA,WAAtB,CAAd,CAfY,CAgBZ;AACA;;AACA,cAAIC,MAAJ,CAlBY,CAmBZ;AACA;;AACA,cAAI,CAAC,WAAD,EAAc,YAAd,EAA4BC,QAA5B,CAAqC7B,EAAE,CAAC8B,IAAxC,CAAJ,EAAmD;AACjDF,kBAAM,GAAIH,KAAK,KAAKN,MAAM,CAACY,MAAP,GAAgB,CAA3B,GACLZ,MAAM,CAAC,CAAD,CADD,GAELA,MAAM,CAACM,KAAK,GAAG,CAAT,CAFV;AAGD,WAzBW,CA0BZ;AACA;;;AACA,cAAI,CAAC,SAAD,EAAY,WAAZ,EAAyBI,QAAzB,CAAkC7B,EAAE,CAAC8B,IAArC,CAAJ,EAAgD;AAC9CF,kBAAM,GAAIH,KAAK,KAAK,CAAX,GACLN,MAAM,CAACA,MAAM,CAACY,MAAP,GAAgB,CAAjB,CADD,GAELZ,MAAM,CAACM,KAAK,GAAG,CAAT,CAFV;AAGD;;AACD,cAAIG,MAAM,IAAIT,MAAM,CAACU,QAAP,CAAgBD,MAAhB,CAAd,EAAuC;AACrC,gBAAMI,aAAa,GAAG,KAAK7C,eAAL,CAAqBiB,IAArB,CAA0B,UAAA6B,KAAK;AAAA,qBAAIA,KAAK,CAACN,EAAN,MAAcC,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACD,EAArE,CAAJ;AAAA,aAA/B,CAAtB;;AACA,gBAAIK,aAAJ,EAAmB;AACjB,mBAAKE,OAAL,CAAaF,aAAb;AACAJ,oBAAM,CAACO,KAAP;AACD;AACF;AACF;AAvFQ;AAAA;AAAA,eAwFT,0BAAiB;AACf,cAAM5C,OAAO,GAAG,KAAKA,OAArB;AACA,eAAKH,gBAAL,GAAwBG,OAAO,CAACkB,GAAR,CAAY,UAAA2B,GAAG,EAAI;AACzC,mBAAQ,OAAOA,GAAP,KAAe,QAAhB,GACH;AAAEC,kBAAI,EAAED,GAAR;AAAanC,kBAAI,EAAEmC,GAAG,CAACE,WAAJ,OAAsB,QAAtB,GAAiC,QAAjC,GAA4CxC;AAA/D,aADG,GAEHsC,GAFJ;AAGD,WAJuB,CAAxB;AAKD;AA/FQ;AAAA;AAAA,eAgGT,yBAAgB;AAAA;;AACd,cAAM5C,MAAM,GAAG,KAAKA,MAApB,CADc,CAEd;AACA;AACA;AACA;;AACA,cAAM+C,KAAK,GAAG/C,MAAM,CAACY,IAAP,CAAY,UAAA6B,KAAK;AAAA,mBAAI,CAACA,KAAK,CAACT,QAAX;AAAA,WAAjB,CAAd;AACA,cAAMgB,OAAO,GAAGhD,MAAM,CAACY,IAAP,CAAY,UAAA6B,KAAK;AAAA,mBAAIA,KAAK,CAACO,OAAN,IAAiB,CAACP,KAAK,CAACT,QAA5B;AAAA,WAAjB,CAAhB;AACA,cAAMiB,SAAS,GAAGD,OAAO,IAAID,KAA7B,CARc,CASd;AACA;;AACA,cAAMhC,UAAU,GAAG,IAAIC,GAAJ,CAAQhB,MAAM,CAACiB,GAAP,CAAW,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACC,IAAN;AAAA,WAAZ,CAAR,CAAnB;;AACA,cAAIJ,UAAU,CAACK,GAAX,CAAe,UAAf,KAA8BL,UAAU,CAACK,GAAX,CAAe,OAAf,CAAlC,EAA2D;AACzD8B,mBAAO,CAACC,IAAR,yCAA+CvB,KAAK,CAACC,IAAN,CAAWd,UAAU,CAACqC,MAAX,EAAX,EAAgCC,IAAhC,CAAqC,GAArC,CAA/C;AACD;;AACD,eAAKC,SAAL,GAAiBvC,UAAU,CAACqC,MAAX,GAAoBG,IAApB,GAA2BC,KAA5C;AACA,eAAK7D,eAAL,GAAuBK,MAAM,CAACiB,GAAP,CAAW,UAACC,CAAD,EAAIe,KAAJ;AAAA,mBAAe;AAC/Cd,kBAAI,EAAED,CAAC,CAACC,IAAF,IAAU,MAD+B;AAE/CsC,kBAAI,EAAEvC,CAAC,CAACuC,IAAF,cAAaxB,KAAb,CAFyC;AAG/CyB,yBAAW,EAAExC,CAAC,CAACwC,WAAF,IAAiB,EAHiB;AAI/CF,mBAAK,EAAEtC,CAAC,CAACsC,KAJsC;AAK/CG,mBAAK,EAAEzC,CAAC,CAACyC,KALsC;AAM/CX,qBAAO,EAAE,CAAC,CAAC9B,CAAC,CAAC8B,OANkC;AAO/ChB,sBAAQ,EAAE,CAAC,CAACd,CAAC,CAACc,QAPiC;AAQ/CG,gBAAE,EAAEjB,CAAC,CAACiB,EAAF,0BAAuB,MAAI,CAACyB,YAA5B,cAA4C3B,KAA5C,CAR2C;AAS/C4B,qBAAO,EAAE3C,CAAC,CAAC2C,OAToC;AAU/CC,iBAAG,EAAE5C,CAAC,CAAC4C,GAVwC;AAW/CC,iBAAG,EAAE7C,CAAC,CAAC6C,GAXwC;AAY/CC,sBAAQ,EAAE9C,CAAC,CAAC8C,QAAF,IAAc,EAZuB;AAa/CC,wBAAU,EAAE/C,CAAC,CAAC+C,UAAF,IAAgB,EAbmB;AAc/CC,sBAAQ,EAAGhD,CAAC,CAACC,IAAF,KAAW,OAAX,IAAsBD,CAAC,KAAK+B,SAA7B,GAA0C,CAAC,CAA3C,GAA+C;AAdV,aAAf;AAAA,WAAX,CAAvB;AAgBD;AAhIQ;AAAA;AAAA,eAiIT,6BAAoB;AAClB,0EAAe,KAAK3B,EAApB;AACD;AAnIQ;AAAA;AAAA,eAoIT,6BAAoB;AAClB,eAAK6C,aAAL;AACA,eAAKC,cAAL;AACD;AAvIQ;AAAA;AAAA,eAwIT,gCAAuB;AACrB,cAAI,KAAKC,OAAT,EAAkB;AAChB,iBAAKA,OAAL,CAAaC,OAAb;AACA,iBAAKD,OAAL,GAAe/D,SAAf;AACD;AACF;AA7IQ;AAAA;AAAA,eA8IT,4BAAmB;AACjB;;;;;;AAMA,cAAI,KAAK+D,OAAL,IAAgB,oEAAW,IAAX,MAAqB,IAArC,IAA6C,CAAC,KAAKE,SAAvD,EAAkE;AAChE;AACD;;AACD,eAAKF,OAAL,GAAe,sEAA0B,KAAKE,SAA/B,EAA0C,UAACC,KAAD;AAAA,mBAAWA,KAAK,CAAChD,SAAN,CAAgBD,QAAhB,CAAyB,cAAzB,CAAX;AAAA,WAA1C,CAAf;AACA,eAAK8C,OAAL,CAAaI,MAAb,CAAoB,IAApB;AACD;AACD;;;;AA3JS;AAAA;AAAA,eA8JT,mBAAU;AACR,iBAAO,gEAAQ,IAAR,EAAc,YAAd,EAA4B1G,iBAA5B,EAA+CkB,gBAA/C,CAAP;AACD;AACD;;;;;;;;;;AAjKS;AAAA;AAAA,eA0KT,iBAAQyF,IAAR,EAAcjE,IAAd,EAAoB;AAClB,iBAAO,gEAAQ,IAAR,EAAciE,IAAd,EAAoBjE,IAApB,EAA0B,YAA1B,EAAwCzB,iBAAxC,EAA2DE,gBAA3D,CAAP;AACD;AACD;;;;AA7KS;AAAA;AAAA,eAgLT,wBAAe;AACb,iBAAO,gEAAY,KAAKoC,EAAjB,EAAqB,oBAArB,CAAP;AACD;AACD;;;;AAnLS;AAAA;AAAA,eAsLT,yBAAgB;AACd,iBAAO,gEAAY,KAAKA,EAAjB,EAAqB,qBAArB,CAAP;AACD;AAxLQ;AAAA;AAAA,eAyLT,iBAAQqD,aAAR,EAAuB;AAAA,qDACD,KAAKhF,eADJ;AAAA;;AAAA;AACrB,gEAA0C;AAAA,kBAA/B8C,KAA+B;AACxCA,mBAAK,CAACO,OAAN,GAAgBP,KAAK,KAAKkC,aAA1B;AACAlC,mBAAK,CAACyB,QAAN,GAAiBzB,KAAK,KAAKkC,aAAV,GAA0B,CAA1B,GAA8B,CAAC,CAAhD;AACD;AAJoB;AAAA;AAAA;AAAA;AAAA;;AAKrB,eAAKC,QAAL,GAAgBD,aAAa,CAACxC,EAA9B;AACA,0EAASwC,aAAa,CAACd,OAAvB,EAAgCc,aAAhC;AACA,uEAAY,IAAZ;AACD;AAjMQ;AAAA;AAAA,eAkMT,iBAAQA,aAAR,EAAuB;AACrBA,uBAAa,CAAC3B,OAAd,GAAwB,CAAC2B,aAAa,CAAC3B,OAAvC;AACA,0EAAS2B,aAAa,CAACd,OAAvB,EAAgCc,aAAhC;AACA,uEAAY,IAAZ;AACD;AAtMQ;AAAA;AAAA,eAuMT,qBAAYE,MAAZ,EAAoB;AAClB,cAAMpE,IAAI,GAAGoE,MAAM,CAACpE,IAApB;AACA,cAAM2C,MAAM,GAAG,KAAK0B,SAAL,EAAf;;AACA,cAAI,gEAASrE,IAAT,CAAJ,EAAoB;AAClB,mBAAO,KAAKJ,OAAL,CAAa;AAAE+C,oBAAM,EAANA;AAAF,aAAb,EAAyB3C,IAAzB,CAAP;AACD;;AACD,cAAMsE,UAAU,GAAG,KAAKjE,iBAAL,CAAuB+D,MAAvB,EAA+BzB,MAA/B,CAAnB;;AACA,cAAI2B,UAAU,KAAK,KAAnB,EAA0B;AACxB,mBAAO,KAAK1E,OAAL,CAAa2E,MAAM,CAACC,MAAP,CAAc;AAAE7B,oBAAM,EAANA;AAAF,aAAd,EAA0B2B,UAA1B,CAAb,EAAoDF,MAAM,CAACpE,IAA3D,CAAP;AACD;;AACD,iBAAOyE,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAP;AACD;AAlNQ;AAAA;AAAA,eAmNT,2BAAkBN,MAAlB,EAA0BH,IAA1B,EAAgC;AAC9B,cAAIG,MAAM,IAAIA,MAAM,CAAChB,OAArB,EAA8B;AAC5B;AACA;AACA,gBAAMkB,UAAU,GAAG,gEAASF,MAAM,CAAChB,OAAhB,EAAyBa,IAAzB,CAAnB;;AACA,gBAAIK,UAAU,KAAK,KAAnB,EAA0B;AACxB;AACA,qBAAO,KAAP;AACD;;AACD,gBAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAClC,qBAAOA,UAAP;AACD;AACF;;AACD,iBAAO,EAAP;AACD;AAjOQ;AAAA;AAAA,eAkOT,qBAAY;AACV,cAAI,KAAKpF,eAAL,CAAqB4C,MAArB,KAAgC,CAApC,EAAuC;AACrC;AACA,mBAAOjC,SAAP;AACD;;AACD,cAAI,KAAKgD,SAAL,KAAmB,OAAvB,EAAgC;AAC9B;AACA;AACA,gBAAM8B,YAAY,GAAG,KAAKzF,eAAL,CAAqBiB,IAArB,CAA0B,UAAAM,CAAC;AAAA,qBAAI,CAAC,CAACA,CAAC,CAAC8B,OAAR;AAAA,aAA3B,CAArB;AACA,mBAAOoC,YAAY,GAAGA,YAAY,CAAC5B,KAAhB,GAAwBlD,SAA3C;AACD;;AACD,cAAI,KAAKgD,SAAL,KAAmB,UAAvB,EAAmC;AACjC;AACA;AACA,mBAAO,KAAK3D,eAAL,CAAqBmC,MAArB,CAA4B,UAAAZ,CAAC;AAAA,qBAAIA,CAAC,CAAC8B,OAAN;AAAA,aAA7B,EAA4C/B,GAA5C,CAAgD,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACsC,KAAN;AAAA,aAAjD,CAAP;AACD,WAfS,CAgBV;AACA;;;AACA,cAAMJ,MAAM,GAAG,EAAf;AACA,eAAKzD,eAAL,CAAqB0F,OAArB,CAA6B,UAAAnE,CAAC,EAAI;AAChCkC,kBAAM,CAAClC,CAAC,CAACuC,IAAH,CAAN,GAAiBvC,CAAC,CAACsC,KAAF,IAAW,EAA5B;AACD,WAFD;AAGA,iBAAOJ,MAAP;AACD;AAzPQ;AAAA;AAAA,eA0PT,6BAAoB;AAClB,kBAAQ,KAAKE,SAAb;AACE,iBAAK,UAAL;AAAiB,qBAAO,KAAKgC,cAAL,EAAP;;AACjB,iBAAK,OAAL;AAAc,qBAAO,KAAKC,WAAL,EAAP;;AACd;AAAS,qBAAO,KAAKC,WAAL,EAAP;AAHX;AAKD;AAhQQ;AAAA;AAAA,eAiQT,0BAAiB;AAAA;;AACf,cAAMxF,MAAM,GAAG,KAAKL,eAApB;AACA,cAAM8F,IAAI,GAAG,oEAAW,IAAX,CAAb;;AACA,cAAIzF,MAAM,CAACuC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,mBAAO,IAAP;AACD;;AACD,iBAAQ,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAA4CvC,MAAM,CAACiB,GAAP,CAAW,UAAAC,CAAC;AAAA,mBAAK,6DAAE,QAAF,EAAY;AAAEC,kBAAI,EAAE,QAAR;AAAkBuE,qBAAO,EAAE;AAAA,uBAAM,MAAI,CAACC,OAAL,CAAazE,CAAb,CAAN;AAAA,eAA3B;AAAkD,wCAAmBA,CAAC,CAAC8B,OAArB,CAAlD;AAAkFb,gBAAE,EAAEjB,CAAC,CAACiB,EAAxF;AAA4FH,sBAAQ,EAAEd,CAAC,CAACc,QAAxG;AAAkH4D,sBAAQ,EAAE1E,CAAC,CAACgD,QAA9H;AAAwIzD,kBAAI,EAAE,UAA9I;AAA0J,uBAAOuE,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,8DAAY/D,CAAC,CAAC8C,QAAd,CAAlB,CAAd,EAA0D;AAAE,kCAAkB,IAApB;AAA0B,kCAAkB,IAA5C;AAAkD,yCAAyB,IAA3E;AAAiF,iCAAiB,IAAlG;AAAwG,kDAAkC9C,CAAC,CAACc,QAAF,IAAc;AAAxJ,eAA1D;AAAjK,aAAZ,EAA2Y,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAA0C,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAA2C,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,CAA3C,CAA1C,EAAmI,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAA4Cd,CAAC,CAACyC,KAA9C,CAAnI,CAA3Y,EAAqkB8B,IAAI,KAAK,IAAT,IAAiB,6DAAE,mBAAF,EAAuB,IAAvB,CAAtlB,CAAL;AAAA,WAAZ,CAA5C,CAAR;AACD;AAxQQ;AAAA;AAAA,eAyQT,uBAAc;AAAA;;AACZ,cAAMzF,MAAM,GAAG,KAAKL,eAApB;;AACA,cAAIK,MAAM,CAACuC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,mBAAO,IAAP;AACD;;AACD,iBAAQ,6DAAE,KAAF,EAAS;AAAE,qBAAO,mBAAT;AAA8B9B,gBAAI,EAAE,YAApC;AAAkD,qCAAyB,KAAKmE;AAAhF,WAAT,EAAqG5E,MAAM,CAACiB,GAAP,CAAW,UAAAC,CAAC;AAAA,mBAAK,6DAAE,QAAF,EAAY;AAAEC,kBAAI,EAAE,QAAR;AAAkBuE,qBAAO,EAAE;AAAA,uBAAM,MAAI,CAAChD,OAAL,CAAaxB,CAAb,CAAN;AAAA,eAA3B;AAAkD,wCAAmBA,CAAC,CAAC8B,OAArB,CAAlD;AAAkFhB,sBAAQ,EAAEd,CAAC,CAACc,QAA9F;AAAwGG,gBAAE,EAAEjB,CAAC,CAACiB,EAA9G;AAAkHyD,sBAAQ,EAAE1E,CAAC,CAACgD,QAA9H;AAAwI,uBAAOc,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,8DAAY/D,CAAC,CAAC8C,QAAd,CAAlB,CAAd,EAA0D;AAAE,sCAAsB,IAAxB;AAA8B,kCAAkB,IAAhD;AAAsD,+BAAe,IAArE;AAA2E,iCAAiB,IAA5F;AAAkG,+CAA+B9C,CAAC,CAACc,QAAF,IAAc;AAA/I,eAA1D,CAA/I;AAAkWvB,kBAAI,EAAE;AAAxW,aAAZ,EAA+X,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAA0C,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAAwC,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,CAAxC,CAA1C,EAA6H,6DAAE,KAAF,EAAS;AAAE,uBAAO;AAAT,aAAT,EAAyCS,CAAC,CAACyC,KAA3C,CAA7H,CAA/X,CAAL;AAAA,WAAZ,CAArG,CAAR;AACD;AA/QQ;AAAA;AAAA,eAgRT,uBAAc;AACZ,cAAM3D,MAAM,GAAG,KAAKL,eAApB;;AACA,cAAIK,MAAM,CAACuC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,mBAAO,IAAP;AACD;;AACD,iBAAQ,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAAyCvC,MAAM,CAACiB,GAAP,CAAW,UAAAC,CAAC,EAAI;AAC/D,gBAAI2E,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB;;AACA,gBAAI9E,CAAC,CAACC,IAAF,KAAW,UAAf,EAA2B;AACzB,qBAAQ,6DAAE,KAAF,EAAS;AAAE,yBAAO;AAAT,eAAT,EAA2C,6DAAE,UAAF,EAAc6D,MAAM,CAACC,MAAP,CAAc;AAAEvB,2BAAW,EAAExC,CAAC,CAACwC,WAAjB;AAA8BF,qBAAK,EAAEtC,CAAC,CAACsC,KAAvC;AAA8CrB,kBAAE,EAAEjB,CAAC,CAACiB,EAApD;AAAwDyD,wBAAQ,EAAE1E,CAAC,CAACgD;AAApE,eAAd,EAA8FhD,CAAC,CAAC+C,UAAhG,EAA4G;AAAEjC,wBAAQ,EAAE,CAAC8D,EAAE,GAAG,CAACD,EAAE,GAAG3E,CAAC,CAAC+C,UAAR,MAAwB,IAAxB,IAAgC4B,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAAC7D,QAAlE,MAAgF,IAAhF,IAAwF8D,EAAE,KAAK,KAAK,CAApG,GAAwGA,EAAxG,GAA6G5E,CAAC,CAACc,QAA3H;AAAqI,yBAAOiE,UAAU,CAAC/E,CAAD,CAAtJ;AAA2JgF,uBAAO,EAAE,iBAAAC,CAAC,EAAI;AAClV,sBAAIN,EAAJ;;AACA3E,mBAAC,CAACsC,KAAF,GAAU2C,CAAC,CAAC9E,MAAF,CAASmC,KAAnB;;AACA,sBAAI,CAACqC,EAAE,GAAG3E,CAAC,CAAC+C,UAAR,MAAwB,IAAxB,IAAgC4B,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAACK,OAAhE,EAAyE;AACvEhF,qBAAC,CAAC+C,UAAF,CAAaiC,OAAb,CAAqBC,CAArB;AACD;AACF;AAN0K,eAA5G,CAAd,CAA3C,CAAR;AAOD,aARD,MASK;AACH,qBAAQ,6DAAE,KAAF,EAAS;AAAE,yBAAO;AAAT,eAAT,EAA2C,6DAAE,OAAF,EAAWnB,MAAM,CAACC,MAAP,CAAc;AAAEvB,2BAAW,EAAExC,CAAC,CAACwC,WAAjB;AAA8BvC,oBAAI,EAAED,CAAC,CAACC,IAAtC;AAA4C2C,mBAAG,EAAE5C,CAAC,CAAC4C,GAAnD;AAAwDC,mBAAG,EAAE7C,CAAC,CAAC6C,GAA/D;AAAoEP,qBAAK,EAAEtC,CAAC,CAACsC,KAA7E;AAAoFrB,kBAAE,EAAEjB,CAAC,CAACiB,EAA1F;AAA8FyD,wBAAQ,EAAE1E,CAAC,CAACgD;AAA1G,eAAd,EAAoIhD,CAAC,CAAC+C,UAAtI,EAAkJ;AAAEjC,wBAAQ,EAAE,CAACgE,EAAE,GAAG,CAACD,EAAE,GAAG7E,CAAC,CAAC+C,UAAR,MAAwB,IAAxB,IAAgC8B,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAAC/D,QAAlE,MAAgF,IAAhF,IAAwFgE,EAAE,KAAK,KAAK,CAApG,GAAwGA,EAAxG,GAA6G9E,CAAC,CAACc,QAA3H;AAAqI,yBAAOiE,UAAU,CAAC/E,CAAD,CAAtJ;AAA2JgF,uBAAO,EAAE,iBAAAC,CAAC,EAAI;AACrX,sBAAIN,EAAJ;;AACA3E,mBAAC,CAACsC,KAAF,GAAU2C,CAAC,CAAC9E,MAAF,CAASmC,KAAnB;;AACA,sBAAI,CAACqC,EAAE,GAAG3E,CAAC,CAAC+C,UAAR,MAAwB,IAAxB,IAAgC4B,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAACK,OAAhE,EAAyE;AACvEhF,qBAAC,CAAC+C,UAAF,CAAaiC,OAAb,CAAqBC,CAArB;AACD;AACF;AAN6M,eAAlJ,CAAX,CAA3C,CAAR;AAOD;AACF,WApBgD,CAAzC,CAAR;AAqBD;AA1SQ;AAAA;AAAA,eA2ST,8BAAqB;AAAA;;AACnB,cAAMpG,OAAO,GAAG,KAAKH,gBAArB;AACA,cAAM6F,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,cAAMW,qBAAqB,GAAG;AAC5B,kCAAsB,IADM;AAE5B,2CAA+BrG,OAAO,CAACwC,MAAR,GAAiB;AAFpB,WAA9B;AAIA,iBAAQ,6DAAE,KAAF,EAAS;AAAE,qBAAO6D;AAAT,WAAT,EAA2CrG,OAAO,CAACkB,GAAR,CAAY,UAAA4D,MAAM;AAAA,mBAAI,6DAAE,QAAF,EAAY;AAAE1D,kBAAI,EAAE,QAAR;AAAkB,uBAAOkF,WAAW,CAACxB,MAAD,CAApC;AAA8Ce,sBAAQ,EAAE,CAAxD;AAA2DF,qBAAO,EAAE;AAAA,uBAAM,MAAI,CAACY,WAAL,CAAiBzB,MAAjB,CAAN;AAAA;AAApE,aAAZ,EAAkH,6DAAE,MAAF,EAAU;AAAE,uBAAO;AAAT,aAAV,EAA2CA,MAAM,CAAChC,IAAlD,CAAlH,EAA2K4C,IAAI,KAAK,IAAT,IAAiB,6DAAE,mBAAF,EAAuB,IAAvB,CAA5L,CAAJ;AAAA,WAAlB,CAA3C,CAAR;AACD;AAnTQ;AAAA;AAAA,eAoTT,kBAAS;AAAA;AAAA;;AAAA,cACC7B,YADD,GACqC,IADrC,CACCA,YADD;AAAA,cACe2C,MADf,GACqC,IADrC,CACeA,MADf;AAAA,cACuBC,SADvB,GACqC,IADrC,CACuBA,SADvB;AAEP,cAAMf,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,cAAMgB,KAAK,mBAAY7C,YAAZ,SAAX;AACA,cAAM8C,QAAQ,mBAAY9C,YAAZ,aAAd;AACA,cAAM+C,KAAK,mBAAY/C,YAAZ,SAAX;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAEnD,gBAAI,EAAE,QAAR;AAAkB,0BAAc,MAAhC;AAAwCyD,oBAAQ,EAAE,IAAlD;AAAwD0C,iBAAK,EAAE;AAC3EC,oBAAM,YAAK,QAAQjD,YAAb;AADqE,aAA/D;AAEX,qBAAOoB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,8DAAY,KAAKjB,QAAjB,CAAlB,CAAd,wDAAgEyB,IAAhE,EAAuE,IAAvE,mCAA6E,mBAA7E,EAAkG,KAAKvF,WAAvG,mBAFI;AAEmH4G,iCAAqB,EAAE,KAAKvG,qBAF/I;AAEsKwG,4BAAgB,EAAE,KAAK3G;AAF7L,WAAR,EAEsN,6DAAE,cAAF,EAAkB;AAAE4G,oBAAQ,EAAE,KAAK/G;AAAjB,WAAlB,CAFtN,EAE6Q,6DAAE,KAAF,EAAS;AAAEiE,oBAAQ,EAAE;AAAZ,WAAT,CAF7Q,EAE0S,6DAAE,KAAF,EAAS;AAAE,qBAAO,mCAAT;AAA8C+C,eAAG,EAAE,aAAA3F,EAAE;AAAA,qBAAI,MAAI,CAACiD,SAAL,GAAiBjD,EAArB;AAAA;AAArD,WAAT,EAAyF,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAAkCiF,MAAM,IAAI,6DAAE,IAAF,EAAQ;AAAEpE,cAAE,EAAEsE,KAAN;AAAa,qBAAO;AAApB,WAAR,EAA6CF,MAA7C,CAA5C,EAAkGC,SAAS,IAAI,6DAAE,IAAF,EAAQ;AAAErE,cAAE,EAAEuE,QAAN;AAAgB,qBAAO;AAAvB,WAAR,EAAoDF,SAApD,CAA/G,CAAzF,EAAyQ,6DAAE,KAAF,EAAS;AAAErE,cAAE,EAAEwE,KAAN;AAAa,qBAAO,eAApB;AAAqCO,qBAAS,EAAE,6DAAkB,KAAKC,OAAvB;AAAhD,WAAT,CAAzQ,EAAsW,KAAKC,iBAAL,EAAtW,EAAgY,KAAKC,kBAAL,EAAhY,CAF1S,EAEssB,6DAAE,KAAF,EAAS;AAAEnD,oBAAQ,EAAE;AAAZ,WAAT,CAFtsB,CAAR;AAGD;AA7TQ;AAAA;AAAA,aA8TT,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AA9T5B;AAAA;AAAA,aA+TT,eAAsB;AAAE,iBAAO;AAC7B,uBAAW,CAAC,gBAAD,CADkB;AAE7B,sBAAU,CAAC,eAAD;AAFmB,WAAP;AAGpB;AAlUK;;AAAA;AAAA,OAAX;;AAoUA,QAAM+B,UAAU,GAAG,SAAbA,UAAa,CAACxD,KAAD,EAAW;AAC5B,UAAIoD,EAAJ,EAAQC,EAAR,EAAYC,EAAZ;;AACA,aAAOf,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc;AAAE,uBAAe,IAAjB;AAAuB,gCAAwB,CAAC,CAACa,EAAE,GAAG,CAACD,EAAE,GAAGpD,KAAK,CAACwB,UAAZ,MAA4B,IAA5B,IAAoC4B,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAC7D,QAAtE,MAAoF,IAApF,IAA4F8D,EAAE,KAAK,KAAK,CAAxG,GAA4GA,EAA5G,GAAiHrD,KAAK,CAACT,QAAxH,KAAqI;AAApL,OAAd,EAA2M,8DAAYS,KAAK,CAACuB,QAAlB,CAA3M,CAAd,EAAuP,8DAAYvB,KAAK,CAACwB,UAAN,GAAmB,CAAC8B,EAAE,GAAGtD,KAAK,CAACwB,UAAN,SAAN,MAAkC,IAAlC,IAA0C8B,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAACuB,QAAH,EAAtF,GAAsG,EAAlH,CAAvP,CAAP;AACD,KAHD;;AAIA,QAAMjB,WAAW,GAAG,SAAdA,WAAc,CAACxB,MAAD,EAAY;AAC9B,aAAOG,MAAM,CAACC,MAAP;AAAgB,wBAAgB,IAAhC;AAAsC,yBAAiB,IAAvD;AAA6D,2BAAmB;AAAhF,qCAA4GJ,MAAM,CAACpE,IAAnH,GAA4HoE,MAAM,CAACpE,IAAP,KAAgBH,SAA5I,GAAyJ,8DAAYuE,MAAM,CAACb,QAAnB,CAAzJ,CAAP;AACD,KAFD;;AAGA3E,SAAK,CAACuH,KAAN,GAAc;AACZW,SAAG,EAAEpI,WADO;AAEZqI,QAAE,EAAEpI;AAFQ,KAAd","file":"1-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, j as forceUpdate, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './gesture-controller-31cb6bb9.js';\nimport './index-f49d994d.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, i as isCancel, e as prepareOverlay, d as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport './haptic-27b3f981.js';\nimport { c as createButtonActiveGesture } from './button-active-a6787d69.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Alert Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-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/**\n * iOS Alert Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-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/**\n * Md Alert Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-wrapper'))\n .keyframes([\n { offset: 0, opacity: '0.01', transform: 'scale(0.9)' },\n { offset: 1, opacity: '1', transform: 'scale(1)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(150)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Alert Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.alert-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(150)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst alertIosCss = \".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:14px}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:7px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:17px;font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, #666666);font-size:14px}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:13px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:4px;margin-top:10px;padding-left:6px;padding-right:6px;padding-top:6px;padding-bottom:6px;border:0.55px solid var(--ion-color-step-250, #bfbfbf);background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-input.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{height:44px}.alert-radio-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #3880ff)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:7px;top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{left:unset;right:unset;right:7px}.alert-checkbox-label.sc-ion-alert-ios{padding-left:13px;padding-right:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px}}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-left:16px;margin-right:6px;margin-top:10px;margin-bottom:10px;position:relative;width:24px;height:24px;border-width:1px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-icon.sc-ion-alert-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:9px;top:4px;position:absolute;width:5px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:1px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[dir=rtl].sc-ion-alert-ios [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl].sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios,[dir=rtl] .sc-ion-alert-ios-h [aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{left:unset;right:unset;right:9px}.alert-button-group.sc-ion-alert-ios{margin-right:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-ios{margin-right:unset;-webkit-margin-end:-0.55px;margin-inline-end:-0.55px}}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:44px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #3880ff);font-size:17px;overflow:hidden}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #eb445a)}\";\n\nconst alertMdCss = \".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;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-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:strict}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:14px}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{padding-left:23px;padding-right:23px;padding-top:20px;padding-bottom:15px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px}}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:20px;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:16px}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:24px;padding-right:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, #737373)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.alert-message.sc-ion-alert-md{max-height:240px;font-size:16px}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #3880ff)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;max-height:240px;border-top:1px solid var(--ion-color-step-150, #d9d9d9);border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);overflow:auto}.alert-tappable.sc-ion-alert-md{position:relative;height:48px;overflow:hidden}.alert-radio-label.sc-ion-alert-md{padding-left:52px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-radio-icon.sc-ion-alert-md{left:26px;top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373)}[dir=rtl].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}.alert-radio-inner.sc-ion-alert-md{left:3px;top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, #262626)}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-left:53px;padding-right:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-checkbox-icon.sc-ion-alert-md{left:26px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373);contain:strict}[dir=rtl].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:3px;top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[dir=rtl].sc-ion-alert-md [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}.alert-button-group.sc-ion-alert-md{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.alert-button.sc-ion-alert-md{border-radius:2px;margin-left:0;margin-right:8px;margin-top:0;margin-bottom:0;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #3880ff);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}\";\n\nconst Alert = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionAlertDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionAlertWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionAlertWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionAlertDidDismiss\", 7);\n this.processedInputs = [];\n this.processedButtons = [];\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * Array of buttons to be added to the alert.\n */\n this.buttons = [];\n /**\n * Array of input to show in the alert.\n */\n this.inputs = [];\n /**\n * If `true`, the alert will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the alert 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 alert will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.processedButtons.find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n onKeydown(ev) {\n const inputTypes = new Set(this.processedInputs.map(i => i.type));\n // The only inputs we want to navigate between using arrow keys are the radios\n // ignore the keydown event if it is not on a radio button\n if (!inputTypes.has('radio')\n || (ev.target && !this.el.contains(ev.target))\n || ev.target.classList.contains('alert-button')) {\n return;\n }\n // Get all radios inside of the radio group and then\n // filter out disabled radios since we need to skip those\n const query = this.el.querySelectorAll('.alert-radio');\n const radios = Array.from(query).filter(radio => !radio.disabled);\n // The focused radio is the one that shares the same id as\n // the event target\n const index = radios.findIndex(radio => radio.id === ev.target.id);\n // We need to know what the next radio element should\n // be in order to change the focus\n let nextEl;\n // If hitting arrow down or arrow right, move to the next radio\n // If we're on the last radio, move to the first radio\n if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {\n nextEl = (index === radios.length - 1)\n ? radios[0]\n : radios[index + 1];\n }\n // If hitting arrow up or arrow left, move to the previous radio\n // If we're on the first radio, move to the last radio\n if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {\n nextEl = (index === 0)\n ? radios[radios.length - 1]\n : radios[index - 1];\n }\n if (nextEl && radios.includes(nextEl)) {\n const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));\n if (nextProcessed) {\n this.rbClick(nextProcessed);\n nextEl.focus();\n }\n }\n }\n buttonsChanged() {\n const buttons = this.buttons;\n this.processedButtons = buttons.map(btn => {\n return (typeof btn === 'string')\n ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined }\n : btn;\n });\n }\n inputsChanged() {\n const inputs = this.inputs;\n // Get the first input that is not disabled and the checked one\n // If an enabled checked input exists, set it to be the focusable input\n // otherwise we default to focus the first input\n // This will only be used when the input is type radio\n const first = inputs.find(input => !input.disabled);\n const checked = inputs.find(input => input.checked && !input.disabled);\n const focusable = checked || first;\n // An alert can be created with several different inputs. Radios,\n // checkboxes and inputs are all accepted, but they cannot be mixed.\n const inputTypes = new Set(inputs.map(i => i.type));\n if (inputTypes.has('checkbox') && inputTypes.has('radio')) {\n console.warn(`Alert cannot mix input types: ${(Array.from(inputTypes.values()).join('/'))}. Please see alert docs for more info.`);\n }\n this.inputType = inputTypes.values().next().value;\n this.processedInputs = inputs.map((i, index) => ({\n type: i.type || 'text',\n name: i.name || `${index}`,\n placeholder: i.placeholder || '',\n value: i.value,\n label: i.label,\n checked: !!i.checked,\n disabled: !!i.disabled,\n id: i.id || `alert-input-${this.overlayIndex}-${index}`,\n handler: i.handler,\n min: i.min,\n max: i.max,\n cssClass: i.cssClass || '',\n attributes: i.attributes || {},\n tabindex: (i.type === 'radio' && i !== focusable) ? -1 : 0\n }));\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n componentWillLoad() {\n this.inputsChanged();\n this.buttonsChanged();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n componentDidLoad() {\n /**\n * Do not create gesture if:\n * 1. A gesture already exists\n * 2. App is running in MD mode\n * 3. A wrapper ref does not exist\n */\n if (this.gesture || getIonMode(this) === 'md' || !this.wrapperEl) {\n return;\n }\n this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));\n this.gesture.enable(true);\n }\n /**\n * Present the alert overlay after it has been created.\n */\n present() {\n return present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);\n }\n /**\n * Dismiss the alert 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 alert.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the alert.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n return dismiss(this, data, role, 'alertLeave', iosLeaveAnimation, mdLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the alert did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionAlertDidDismiss');\n }\n /**\n * Returns a promise that resolves when the alert will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionAlertWillDismiss');\n }\n rbClick(selectedInput) {\n for (const input of this.processedInputs) {\n input.checked = input === selectedInput;\n input.tabindex = input === selectedInput ? 0 : -1;\n }\n this.activeId = selectedInput.id;\n safeCall(selectedInput.handler, selectedInput);\n forceUpdate(this);\n }\n cbClick(selectedInput) {\n selectedInput.checked = !selectedInput.checked;\n safeCall(selectedInput.handler, selectedInput);\n forceUpdate(this);\n }\n buttonClick(button) {\n const role = button.role;\n const values = this.getValues();\n if (isCancel(role)) {\n return this.dismiss({ values }, role);\n }\n const returnData = this.callButtonHandler(button, values);\n if (returnData !== false) {\n return this.dismiss(Object.assign({ values }, returnData), button.role);\n }\n return Promise.resolve(false);\n }\n callButtonHandler(button, data) {\n if (button && button.handler) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const returnData = safeCall(button.handler, data);\n if (returnData === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n if (typeof returnData === 'object') {\n return returnData;\n }\n }\n return {};\n }\n getValues() {\n if (this.processedInputs.length === 0) {\n // this is an alert without any options/inputs at all\n return undefined;\n }\n if (this.inputType === 'radio') {\n // this is an alert with radio buttons (single value select)\n // return the one value which is checked, otherwise undefined\n const checkedInput = this.processedInputs.find(i => !!i.checked);\n return checkedInput ? checkedInput.value : undefined;\n }\n if (this.inputType === 'checkbox') {\n // this is an alert with checkboxes (multiple value select)\n // return an array of all the checked values\n return this.processedInputs.filter(i => i.checked).map(i => i.value);\n }\n // this is an alert with text inputs\n // return an object of all the values with the input name as the key\n const values = {};\n this.processedInputs.forEach(i => {\n values[i.name] = i.value || '';\n });\n return values;\n }\n renderAlertInputs() {\n switch (this.inputType) {\n case 'checkbox': return this.renderCheckbox();\n case 'radio': return this.renderRadio();\n default: return this.renderInput();\n }\n }\n renderCheckbox() {\n const inputs = this.processedInputs;\n const mode = getIonMode(this);\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-checkbox-group\" }, inputs.map(i => (h(\"button\", { type: \"button\", onClick: () => this.cbClick(i), \"aria-checked\": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: \"checkbox\", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h(\"div\", { class: \"alert-button-inner\" }, h(\"div\", { class: \"alert-checkbox-icon\" }, h(\"div\", { class: \"alert-checkbox-inner\" })), h(\"div\", { class: \"alert-checkbox-label\" }, i.label)), mode === 'md' && h(\"ion-ripple-effect\", null))))));\n }\n renderRadio() {\n const inputs = this.processedInputs;\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-radio-group\", role: \"radiogroup\", \"aria-activedescendant\": this.activeId }, inputs.map(i => (h(\"button\", { type: \"button\", onClick: () => this.rbClick(i), \"aria-checked\": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: \"radio\" }, h(\"div\", { class: \"alert-button-inner\" }, h(\"div\", { class: \"alert-radio-icon\" }, h(\"div\", { class: \"alert-radio-inner\" })), h(\"div\", { class: \"alert-radio-label\" }, i.label)))))));\n }\n renderInput() {\n const inputs = this.processedInputs;\n if (inputs.length === 0) {\n return null;\n }\n return (h(\"div\", { class: \"alert-input-group\" }, inputs.map(i => {\n var _a, _b, _c, _d;\n if (i.type === 'textarea') {\n return (h(\"div\", { class: \"alert-input-wrapper\" }, h(\"textarea\", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: e => {\n var _a;\n i.value = e.target.value;\n if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {\n i.attributes.onInput(e);\n }\n } }))));\n }\n else {\n return (h(\"div\", { class: \"alert-input-wrapper\" }, h(\"input\", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: e => {\n var _a;\n i.value = e.target.value;\n if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {\n i.attributes.onInput(e);\n }\n } }))));\n }\n })));\n }\n renderAlertButtons() {\n const buttons = this.processedButtons;\n const mode = getIonMode(this);\n const alertButtonGroupClass = {\n 'alert-button-group': true,\n 'alert-button-group-vertical': buttons.length > 2\n };\n return (h(\"div\", { class: alertButtonGroupClass }, buttons.map(button => h(\"button\", { type: \"button\", class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h(\"span\", { class: \"alert-button-inner\" }, button.text), mode === 'md' && h(\"ion-ripple-effect\", null)))));\n }\n render() {\n const { overlayIndex, header, subHeader } = this;\n const mode = getIonMode(this);\n const hdrId = `alert-${overlayIndex}-hdr`;\n const subHdrId = `alert-${overlayIndex}-sub-hdr`;\n const msgId = `alert-${overlayIndex}-msg`;\n return (h(Host, { role: \"dialog\", \"aria-modal\": \"true\", tabindex: \"-1\", style: {\n zIndex: `${20000 + overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"alert-wrapper ion-overlay-wrapper\", ref: el => this.wrapperEl = el }, h(\"div\", { class: \"alert-head\" }, header && h(\"h2\", { id: hdrId, class: \"alert-title\" }, header), subHeader && h(\"h2\", { id: subHdrId, class: \"alert-sub-title\" }, subHeader)), h(\"div\", { id: msgId, class: \"alert-message\", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"buttons\": [\"buttonsChanged\"],\n \"inputs\": [\"inputsChanged\"]\n }; }\n};\nconst inputClass = (input) => {\n var _a, _b, _c;\n return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));\n};\nAlert.style = {\n ios: alertIosCss,\n md: alertMdCss\n};\n\nexport { Alert as ion_alert };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/10-es2015.js b/android/app/src/main/assets/public/10-es2015.js new file mode 100644 index 000000000..234e311c6 --- /dev/null +++ b/android/app/src/main/assets/public/10-es2015.js @@ -0,0 +1,168 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_col, ion_grid, ion_row */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_col", function() { return Col; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_grid", function() { return Grid; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_row", function() { return Row; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + + +const SIZE_TO_MEDIA = { + 'xs': '(min-width: 0px)', + 'sm': '(min-width: 576px)', + 'md': '(min-width: 768px)', + 'lg': '(min-width: 992px)', + 'xl': '(min-width: 1200px)', +}; +// Check if the window matches the media query +// at the breakpoint passed +// e.g. matchBreakpoint('sm') => true if screen width exceeds 576px +const matchBreakpoint = (breakpoint) => { + if (breakpoint === undefined || breakpoint === '') { + return true; + } + if (window.matchMedia) { + const mediaQuery = SIZE_TO_MEDIA[breakpoint]; + return window.matchMedia(mediaQuery).matches; + } + return false; +}; + +const colCss = ":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@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(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}"; + +const win = window; +const SUPPORTS_VARS = !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0')); +const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl']; +const Col = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + onResize() { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + // Loop through all of the breakpoints to see if the media query + // matches and grab the column value from the relevant prop if so + getColumns(property) { + let matched; + for (const breakpoint of BREAKPOINTS) { + const matches = matchBreakpoint(breakpoint); + // Grab the value of the property, if it exists and our + // media query matches we return the value + const columns = this[property + breakpoint.charAt(0).toUpperCase() + breakpoint.slice(1)]; + if (matches && columns !== undefined) { + matched = columns; + } + } + // Return the last matched columns since the breakpoints + // increase in size and we want to return the largest match + return matched; + } + calculateSize() { + const columns = this.getColumns('size'); + // If size wasn't set for any breakpoint + // or if the user set the size without a value + // it means we need to stick with the default and return + // e.g. + if (!columns || columns === '') { + return; + } + // If the size is set to auto then don't calculate a size + const colSize = (columns === 'auto') + ? 'auto' + // If CSS supports variables we should use the grid columns var + : SUPPORTS_VARS ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)` + // Convert the columns to a percentage by dividing by the total number + // of columns (12) and then multiplying by 100 + : ((columns / 12) * 100) + '%'; + return { + 'flex': `0 0 ${colSize}`, + 'width': `${colSize}`, + 'max-width': `${colSize}` + }; + } + // Called by push, pull, and offset since they use the same calculations + calculatePosition(property, modifier) { + const columns = this.getColumns(property); + if (!columns) { + return; + } + // If the number of columns passed are greater than 0 and less than + // 12 we can position the column, else default to auto + const amount = SUPPORTS_VARS + // If CSS supports variables we should use the grid columns var + ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)` + // Convert the columns to a percentage by dividing by the total number + // of columns (12) and then multiplying by 100 + : (columns > 0 && columns < 12) ? (columns / 12 * 100) + '%' : 'auto'; + return { + [modifier]: amount + }; + } + calculateOffset(isRTL) { + return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left'); + } + calculatePull(isRTL) { + return this.calculatePosition('pull', isRTL ? 'left' : 'right'); + } + calculatePush(isRTL) { + return this.calculatePosition('push', isRTL ? 'right' : 'left'); + } + render() { + const isRTL = document.dir === 'rtl'; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true + }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Col.style = colCss; + +const gridCss = ":host{padding-left:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));margin-left:auto;margin-right:auto;display:block;-ms-flex:1;flex:1}@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(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}}@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:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}"; + +const Grid = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the grid will have a fixed width based on the screen size. + */ + this.fixed = false; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'grid-fixed': this.fixed + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Grid.style = gridCss; + +const rowCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}"; + +const Row = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Row.style = rowCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=10-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/10-es2015.js.map b/android/app/src/main/assets/public/10-es2015.js.map new file mode 100644 index 000000000..e66263a74 --- /dev/null +++ b/android/app/src/main/assets/public/10-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js"],"names":[],"mappings":"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","file":"10-es2015.js","sourcesContent":["import { r as registerInstance, j as forceUpdate, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst SIZE_TO_MEDIA = {\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};\n// Check if the window matches the media query\n// at the breakpoint passed\n// e.g. matchBreakpoint('sm') => true if screen width exceeds 576px\nconst matchBreakpoint = (breakpoint) => {\n if (breakpoint === undefined || breakpoint === '') {\n return true;\n }\n if (window.matchMedia) {\n const mediaQuery = SIZE_TO_MEDIA[breakpoint];\n return window.matchMedia(mediaQuery).matches;\n }\n return false;\n};\n\nconst colCss = \":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@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(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}\";\n\nconst win = window;\nconst SUPPORTS_VARS = !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));\nconst BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];\nconst Col = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n onResize() {\n forceUpdate(this);\n }\n // Loop through all of the breakpoints to see if the media query\n // matches and grab the column value from the relevant prop if so\n getColumns(property) {\n let matched;\n for (const breakpoint of BREAKPOINTS) {\n const matches = matchBreakpoint(breakpoint);\n // Grab the value of the property, if it exists and our\n // media query matches we return the value\n const columns = this[property + breakpoint.charAt(0).toUpperCase() + breakpoint.slice(1)];\n if (matches && columns !== undefined) {\n matched = columns;\n }\n }\n // Return the last matched columns since the breakpoints\n // increase in size and we want to return the largest match\n return matched;\n }\n calculateSize() {\n const columns = this.getColumns('size');\n // If size wasn't set for any breakpoint\n // or if the user set the size without a value\n // it means we need to stick with the default and return\n // e.g. \n if (!columns || columns === '') {\n return;\n }\n // If the size is set to auto then don't calculate a size\n const colSize = (columns === 'auto')\n ? 'auto'\n // If CSS supports variables we should use the grid columns var\n : SUPPORTS_VARS ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n : ((columns / 12) * 100) + '%';\n return {\n 'flex': `0 0 ${colSize}`,\n 'width': `${colSize}`,\n 'max-width': `${colSize}`\n };\n }\n // Called by push, pull, and offset since they use the same calculations\n calculatePosition(property, modifier) {\n const columns = this.getColumns(property);\n if (!columns) {\n return;\n }\n // If the number of columns passed are greater than 0 and less than\n // 12 we can position the column, else default to auto\n const amount = SUPPORTS_VARS\n // If CSS supports variables we should use the grid columns var\n ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n : (columns > 0 && columns < 12) ? (columns / 12 * 100) + '%' : 'auto';\n return {\n [modifier]: amount\n };\n }\n calculateOffset(isRTL) {\n return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');\n }\n calculatePull(isRTL) {\n return this.calculatePosition('pull', isRTL ? 'left' : 'right');\n }\n calculatePush(isRTL) {\n return this.calculatePosition('push', isRTL ? 'right' : 'left');\n }\n render() {\n const isRTL = document.dir === 'rtl';\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true\n }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h(\"slot\", null)));\n }\n};\nCol.style = colCss;\n\nconst gridCss = \":host{padding-left:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));margin-left:auto;margin-right:auto;display:block;-ms-flex:1;flex:1}@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(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}}@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:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}\";\n\nconst Grid = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the grid will have a fixed width based on the screen size.\n */\n this.fixed = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'grid-fixed': this.fixed\n } }, h(\"slot\", null)));\n }\n};\nGrid.style = gridCss;\n\nconst rowCss = \":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}\";\n\nconst Row = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nRow.style = rowCss;\n\nexport { Col as ion_col, Grid as ion_grid, Row as ion_row };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/10-es5.js b/android/app/src/main/assets/public/10-es5.js new file mode 100644 index 000000000..e475dd7e8 --- /dev/null +++ b/android/app/src/main/assets/public/10-es5.js @@ -0,0 +1,259 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_col, ion_grid, ion_row */ + + /***/ + function node_modulesIonicCoreDistEsmIonCol_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_col", function () { + return Col; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_grid", function () { + return Grid; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_row", function () { + return Row; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + var SIZE_TO_MEDIA = { + 'xs': '(min-width: 0px)', + 'sm': '(min-width: 576px)', + 'md': '(min-width: 768px)', + 'lg': '(min-width: 992px)', + 'xl': '(min-width: 1200px)' + }; // Check if the window matches the media query + // at the breakpoint passed + // e.g. matchBreakpoint('sm') => true if screen width exceeds 576px + + var matchBreakpoint = function matchBreakpoint(breakpoint) { + if (breakpoint === undefined || breakpoint === '') { + return true; + } + + if (window.matchMedia) { + var mediaQuery = SIZE_TO_MEDIA[breakpoint]; + return window.matchMedia(mediaQuery).matches; + } + + return false; + }; + + var colCss = ":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@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(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}"; + var win = window; + var SUPPORTS_VARS = !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0')); + var BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl']; + + var Col = /*#__PURE__*/function () { + function Col(hostRef) { + _classCallCheck(this, Col); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Col, [{ + key: "onResize", + value: function onResize() { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } // Loop through all of the breakpoints to see if the media query + // matches and grab the column value from the relevant prop if so + + }, { + key: "getColumns", + value: function getColumns(property) { + var matched; + + var _iterator = _createForOfIteratorHelper(BREAKPOINTS), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var breakpoint = _step.value; + var matches = matchBreakpoint(breakpoint); // Grab the value of the property, if it exists and our + // media query matches we return the value + + var columns = this[property + breakpoint.charAt(0).toUpperCase() + breakpoint.slice(1)]; + + if (matches && columns !== undefined) { + matched = columns; + } + } // Return the last matched columns since the breakpoints + // increase in size and we want to return the largest match + + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return matched; + } + }, { + key: "calculateSize", + value: function calculateSize() { + var columns = this.getColumns('size'); // If size wasn't set for any breakpoint + // or if the user set the size without a value + // it means we need to stick with the default and return + // e.g. + + if (!columns || columns === '') { + return; + } // If the size is set to auto then don't calculate a size + + + var colSize = columns === 'auto' ? 'auto' // If CSS supports variables we should use the grid columns var + : SUPPORTS_VARS ? "calc(calc(".concat(columns, " / var(--ion-grid-columns, 12)) * 100%)") // Convert the columns to a percentage by dividing by the total number + // of columns (12) and then multiplying by 100 + : columns / 12 * 100 + '%'; + return { + 'flex': "0 0 ".concat(colSize), + 'width': "".concat(colSize), + 'max-width': "".concat(colSize) + }; + } // Called by push, pull, and offset since they use the same calculations + + }, { + key: "calculatePosition", + value: function calculatePosition(property, modifier) { + var columns = this.getColumns(property); + + if (!columns) { + return; + } // If the number of columns passed are greater than 0 and less than + // 12 we can position the column, else default to auto + + + var amount = SUPPORTS_VARS // If CSS supports variables we should use the grid columns var + ? "calc(calc(".concat(columns, " / var(--ion-grid-columns, 12)) * 100%)") // Convert the columns to a percentage by dividing by the total number + // of columns (12) and then multiplying by 100 + : columns > 0 && columns < 12 ? columns / 12 * 100 + '%' : 'auto'; + return _defineProperty({}, modifier, amount); + } + }, { + key: "calculateOffset", + value: function calculateOffset(isRTL) { + return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left'); + } + }, { + key: "calculatePull", + value: function calculatePull(isRTL) { + return this.calculatePosition('pull', isRTL ? 'left' : 'right'); + } + }, { + key: "calculatePush", + value: function calculatePush(isRTL) { + return this.calculatePosition('push', isRTL ? 'right' : 'left'); + } + }, { + key: "render", + value: function render() { + var isRTL = document.dir === 'rtl'; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": _defineProperty({}, mode, true), + style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Col; + }(); + + Col.style = colCss; + var gridCss = ":host{padding-left:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));margin-left:auto;margin-right:auto;display:block;-ms-flex:1;flex:1}@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(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}}@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:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}"; + + var Grid = /*#__PURE__*/function () { + function Grid(hostRef) { + _classCallCheck(this, Grid); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the grid will have a fixed width based on the screen size. + */ + + this.fixed = false; + } + + _createClass(Grid, [{ + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'grid-fixed', this.fixed), _class2) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Grid; + }(); + + Grid.style = gridCss; + var rowCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}"; + + var Row = /*#__PURE__*/function () { + function Row(hostRef) { + _classCallCheck(this, Row); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Row, [{ + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Row; + }(); + + Row.style = rowCss; + /***/ + } +}]); +//# sourceMappingURL=10-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/10-es5.js.map b/android/app/src/main/assets/public/10-es5.js.map new file mode 100644 index 000000000..ab7868f65 --- /dev/null +++ b/android/app/src/main/assets/public/10-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-col_3.entry.js"],"names":["SIZE_TO_MEDIA","matchBreakpoint","breakpoint","undefined","window","matchMedia","mediaQuery","matches","colCss","win","SUPPORTS_VARS","CSS","supports","BREAKPOINTS","Col","hostRef","property","matched","columns","charAt","toUpperCase","slice","getColumns","colSize","modifier","amount","isRTL","calculatePosition","document","dir","mode","style","Object","assign","calculateOffset","calculatePull","calculatePush","calculateSize","gridCss","Grid","fixed","rowCss","Row"],"mappings":"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","file":"10-es5.js","sourcesContent":["import { r as registerInstance, j as forceUpdate, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst SIZE_TO_MEDIA = {\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};\n// Check if the window matches the media query\n// at the breakpoint passed\n// e.g. matchBreakpoint('sm') => true if screen width exceeds 576px\nconst matchBreakpoint = (breakpoint) => {\n if (breakpoint === undefined || breakpoint === '') {\n return true;\n }\n if (window.matchMedia) {\n const mediaQuery = SIZE_TO_MEDIA[breakpoint];\n return window.matchMedia(mediaQuery).matches;\n }\n return false;\n};\n\nconst colCss = \":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@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(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@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(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}\";\n\nconst win = window;\nconst SUPPORTS_VARS = !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));\nconst BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];\nconst Col = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n onResize() {\n forceUpdate(this);\n }\n // Loop through all of the breakpoints to see if the media query\n // matches and grab the column value from the relevant prop if so\n getColumns(property) {\n let matched;\n for (const breakpoint of BREAKPOINTS) {\n const matches = matchBreakpoint(breakpoint);\n // Grab the value of the property, if it exists and our\n // media query matches we return the value\n const columns = this[property + breakpoint.charAt(0).toUpperCase() + breakpoint.slice(1)];\n if (matches && columns !== undefined) {\n matched = columns;\n }\n }\n // Return the last matched columns since the breakpoints\n // increase in size and we want to return the largest match\n return matched;\n }\n calculateSize() {\n const columns = this.getColumns('size');\n // If size wasn't set for any breakpoint\n // or if the user set the size without a value\n // it means we need to stick with the default and return\n // e.g. \n if (!columns || columns === '') {\n return;\n }\n // If the size is set to auto then don't calculate a size\n const colSize = (columns === 'auto')\n ? 'auto'\n // If CSS supports variables we should use the grid columns var\n : SUPPORTS_VARS ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n : ((columns / 12) * 100) + '%';\n return {\n 'flex': `0 0 ${colSize}`,\n 'width': `${colSize}`,\n 'max-width': `${colSize}`\n };\n }\n // Called by push, pull, and offset since they use the same calculations\n calculatePosition(property, modifier) {\n const columns = this.getColumns(property);\n if (!columns) {\n return;\n }\n // If the number of columns passed are greater than 0 and less than\n // 12 we can position the column, else default to auto\n const amount = SUPPORTS_VARS\n // If CSS supports variables we should use the grid columns var\n ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n : (columns > 0 && columns < 12) ? (columns / 12 * 100) + '%' : 'auto';\n return {\n [modifier]: amount\n };\n }\n calculateOffset(isRTL) {\n return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');\n }\n calculatePull(isRTL) {\n return this.calculatePosition('pull', isRTL ? 'left' : 'right');\n }\n calculatePush(isRTL) {\n return this.calculatePosition('push', isRTL ? 'right' : 'left');\n }\n render() {\n const isRTL = document.dir === 'rtl';\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true\n }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h(\"slot\", null)));\n }\n};\nCol.style = colCss;\n\nconst gridCss = \":host{padding-left:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));margin-left:auto;margin-right:auto;display:block;-ms-flex:1;flex:1}@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(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}@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(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}}@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:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}\";\n\nconst Grid = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the grid will have a fixed width based on the screen size.\n */\n this.fixed = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'grid-fixed': this.fixed\n } }, h(\"slot\", null)));\n }\n};\nGrid.style = gridCss;\n\nconst rowCss = \":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}\";\n\nconst Row = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nRow.style = rowCss;\n\nexport { Col as ion_col, Grid as ion_grid, Row as ion_row };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/11-es2015.js b/android/app/src/main/assets/public/11-es2015.js new file mode 100644 index 000000000..9cffa20bf --- /dev/null +++ b/android/app/src/main/assets/public/11-es2015.js @@ -0,0 +1,1545 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js ***! + \*******************************************************************/ +/*! exports provided: ion_datetime, ion_picker, ion_picker_column */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_datetime", function() { return Datetime; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_picker", function() { return Picker; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_picker_column", function() { return PickerColumnCmp; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + + + +/** + * Gets a date value given a format + * Defaults to the current date if + * no date given + */ +const getDateValue = (date, format) => { + const getValue = getValueFromFormat(date, format); + if (getValue !== undefined) { + if (format === FORMAT_A || format === FORMAT_a) { + date.ampm = getValue; + } + return getValue; + } + const defaultDate = parseDate(new Date().toISOString()); + return getValueFromFormat(defaultDate, format); +}; +const renderDatetime = (template, value, locale) => { + if (value === undefined) { + return undefined; + } + const tokens = []; + let hasText = false; + FORMAT_KEYS.forEach((format, index) => { + if (template.indexOf(format.f) > -1) { + const token = '{' + index + '}'; + const text = renderTextFormat(format.f, value[format.k], value, locale); + if (!hasText && text !== undefined && value[format.k] != null) { + hasText = true; + } + tokens.push(token, text || ''); + template = template.replace(format.f, token); + } + }); + if (!hasText) { + return undefined; + } + for (let i = 0; i < tokens.length; i += 2) { + template = template.replace(tokens[i], tokens[i + 1]); + } + return template; +}; +const renderTextFormat = (format, value, date, locale) => { + if ((format === FORMAT_DDDD || format === FORMAT_DDD)) { + try { + value = (new Date(date.year, date.month - 1, date.day)).getDay(); + if (format === FORMAT_DDDD) { + return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value]; + } + return (locale.dayShortNames ? locale.dayShortNames : DAY_SHORT_NAMES)[value]; + } + catch (e) { + // ignore + } + return undefined; + } + if (format === FORMAT_A) { + return date !== undefined && date.hour !== undefined + ? (date.hour < 12 ? 'AM' : 'PM') + : value ? value.toUpperCase() : ''; + } + if (format === FORMAT_a) { + return date !== undefined && date.hour !== undefined + ? (date.hour < 12 ? 'am' : 'pm') + : value || ''; + } + if (value == null) { + return ''; + } + if (format === FORMAT_YY || format === FORMAT_MM || + format === FORMAT_DD || format === FORMAT_HH || + format === FORMAT_mm || format === FORMAT_ss) { + return twoDigit(value); + } + if (format === FORMAT_YYYY) { + return fourDigit(value); + } + if (format === FORMAT_MMMM) { + return (locale.monthNames ? locale.monthNames : MONTH_NAMES)[value - 1]; + } + if (format === FORMAT_MMM) { + return (locale.monthShortNames ? locale.monthShortNames : MONTH_SHORT_NAMES)[value - 1]; + } + if (format === FORMAT_hh || format === FORMAT_h) { + if (value === 0) { + return '12'; + } + if (value > 12) { + value -= 12; + } + if (format === FORMAT_hh && value < 10) { + return ('0' + value); + } + } + return value.toString(); +}; +const dateValueRange = (format, min, max) => { + const opts = []; + if (format === FORMAT_YYYY || format === FORMAT_YY) { + // year + if (max.year === undefined || min.year === undefined) { + throw new Error('min and max year is undefined'); + } + for (let i = max.year; i >= min.year; i--) { + opts.push(i); + } + } + else if (format === FORMAT_MMMM || format === FORMAT_MMM || + format === FORMAT_MM || format === FORMAT_M || + format === FORMAT_hh || format === FORMAT_h) { + // month or 12-hour + for (let i = 1; i < 13; i++) { + opts.push(i); + } + } + else if (format === FORMAT_DDDD || format === FORMAT_DDD || + format === FORMAT_DD || format === FORMAT_D) { + // day + for (let i = 1; i < 32; i++) { + opts.push(i); + } + } + else if (format === FORMAT_HH || format === FORMAT_H) { + // 24-hour + for (let i = 0; i < 24; i++) { + opts.push(i); + } + } + else if (format === FORMAT_mm || format === FORMAT_m) { + // minutes + for (let i = 0; i < 60; i++) { + opts.push(i); + } + } + else if (format === FORMAT_ss || format === FORMAT_s) { + // seconds + for (let i = 0; i < 60; i++) { + opts.push(i); + } + } + else if (format === FORMAT_A || format === FORMAT_a) { + // AM/PM + opts.push('am', 'pm'); + } + return opts; +}; +const dateSortValue = (year, month, day, hour = 0, minute = 0) => { + return parseInt(`1${fourDigit(year)}${twoDigit(month)}${twoDigit(day)}${twoDigit(hour)}${twoDigit(minute)}`, 10); +}; +const dateDataSortValue = (data) => { + return dateSortValue(data.year, data.month, data.day, data.hour, data.minute); +}; +const daysInMonth = (month, year) => { + return (month === 4 || month === 6 || month === 9 || month === 11) ? 30 : (month === 2) ? isLeapYear(year) ? 29 : 28 : 31; +}; +const isLeapYear = (year) => { + return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); +}; +const ISO_8601_REGEXP = /^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/; +const TIME_REGEXP = /^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/; +const parseDate = (val) => { + // manually parse IS0 cuz Date.parse cannot be trusted + // ISO 8601 format: 1994-12-15T13:47:20Z + let parse = null; + if (val != null && val !== '') { + // try parsing for just time first, HH:MM + parse = TIME_REGEXP.exec(val); + if (parse) { + // adjust the array so it fits nicely with the datetime parse + parse.unshift(undefined, undefined); + parse[2] = parse[3] = undefined; + } + else { + // try parsing for full ISO datetime + parse = ISO_8601_REGEXP.exec(val); + } + } + if (parse === null) { + // wasn't able to parse the ISO datetime + return undefined; + } + // ensure all the parse values exist with at least 0 + for (let i = 1; i < 8; i++) { + parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined; + } + let tzOffset = 0; + if (parse[9] && parse[10]) { + // hours + tzOffset = parseInt(parse[10], 10) * 60; + if (parse[11]) { + // minutes + tzOffset += parseInt(parse[11], 10); + } + if (parse[9] === '-') { + // + or - + tzOffset *= -1; + } + } + return { + year: parse[1], + month: parse[2], + day: parse[3], + hour: parse[4], + minute: parse[5], + second: parse[6], + millisecond: parse[7], + tzOffset, + }; +}; +/** + * Converts a valid UTC datetime string to JS Date time object. + * By default uses the users local timezone, but an optional + * timezone can be provided. + * Note: This is not meant for time strings + * such as "01:47" + */ +const getDateTime = (dateString = '', timeZone = '') => { + /** + * If user passed in undefined + * or null, convert it to the + * empty string since the rest + * of this functions expects + * a string + */ + if (dateString === undefined || dateString === null) { + dateString = ''; + } + /** + * Ensures that YYYY-MM-DD, YYYY-MM, + * YYYY-DD, YYYY, etc does not get affected + * by timezones and stays on the day/month + * that the user provided + */ + if (dateString.length === 10 || + dateString.length === 7 || + dateString.length === 4) { + dateString += ' '; + } + const date = (typeof dateString === 'string' && dateString.length > 0) ? new Date(dateString) : new Date(); + const localDateTime = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); + if (timeZone && timeZone.length > 0) { + return new Date(date.getTime() - getTimezoneOffset(localDateTime, timeZone)); + } + return localDateTime; +}; +const getTimezoneOffset = (localDate, timeZone) => { + const utcDateTime = new Date(localDate.toLocaleString('en-US', { timeZone: 'utc' })); + const tzDateTime = new Date(localDate.toLocaleString('en-US', { timeZone })); + return utcDateTime.getTime() - tzDateTime.getTime(); +}; +const updateDate = (existingData, newData, displayTimezone) => { + if (!newData || typeof newData === 'string') { + const dateTime = getDateTime(newData, displayTimezone); + if (!Number.isNaN(dateTime.getTime())) { + newData = dateTime.toISOString(); + } + } + if (newData && newData !== '') { + if (typeof newData === 'string') { + // new date is a string, and hopefully in the ISO format + // convert it to our DatetimeData if a valid ISO + newData = parseDate(newData); + if (newData) { + // successfully parsed the ISO string to our DatetimeData + Object.assign(existingData, newData); + return true; + } + } + else if ((newData.year || newData.hour || newData.month || newData.day || newData.minute || newData.second)) { + // newData is from the datetime picker's selected values + // update the existing datetimeValue with the new values + if (newData.ampm !== undefined && newData.hour !== undefined) { + // change the value of the hour based on whether or not it is am or pm + // if the meridiem is pm and equal to 12, it remains 12 + // otherwise we add 12 to the hour value + // if the meridiem is am and equal to 12, we change it to 0 + // otherwise we use its current hour value + // for example: 8 pm becomes 20, 12 am becomes 0, 4 am becomes 4 + newData.hour.value = (newData.ampm.value === 'pm') + ? (newData.hour.value === 12 ? 12 : newData.hour.value + 12) + : (newData.hour.value === 12 ? 0 : newData.hour.value); + } + // merge new values from the picker's selection + // to the existing DatetimeData values + for (const key of Object.keys(newData)) { + existingData[key] = newData[key].value; + } + return true; + } + else if (newData.ampm) { + // Even though in the picker column hour values are between 1 and 12, the hour value is actually normalized + // to [0, 23] interval. Because of this when changing between AM and PM we have to update the hour so it points + // to the correct HH hour + newData.hour = { + value: newData.hour + ? newData.hour.value + : (newData.ampm.value === 'pm' + ? (existingData.hour < 12 ? existingData.hour + 12 : existingData.hour) + : (existingData.hour >= 12 ? existingData.hour - 12 : existingData.hour)) + }; + existingData['hour'] = newData['hour'].value; + existingData['ampm'] = newData['ampm'].value; + return true; + } + // eww, invalid data + console.warn(`Error parsing date: "${newData}". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime`); + } + else { + // blank data, clear everything out + for (const k in existingData) { + if (existingData.hasOwnProperty(k)) { + delete existingData[k]; + } + } + } + return false; +}; +const parseTemplate = (template) => { + const formats = []; + template = template.replace(/[^\w\s]/gi, ' '); + FORMAT_KEYS.forEach(format => { + if (format.f.length > 1 && template.indexOf(format.f) > -1 && template.indexOf(format.f + format.f.charAt(0)) < 0) { + template = template.replace(format.f, ' ' + format.f + ' '); + } + }); + const words = template.split(' ').filter(w => w.length > 0); + words.forEach((word, i) => { + FORMAT_KEYS.forEach(format => { + if (word === format.f) { + if (word === FORMAT_A || word === FORMAT_a) { + // this format is an am/pm format, so it's an "a" or "A" + if ((formats.indexOf(FORMAT_h) < 0 && formats.indexOf(FORMAT_hh) < 0) || + VALID_AMPM_PREFIX.indexOf(words[i - 1]) === -1) { + // template does not already have a 12-hour format + // or this am/pm format doesn't have a hour, minute, or second format immediately before it + // so do not treat this word "a" or "A" as the am/pm format + return; + } + } + formats.push(word); + } + }); + }); + return formats; +}; +const getValueFromFormat = (date, format) => { + if (format === FORMAT_A || format === FORMAT_a) { + return (date.hour < 12 ? 'am' : 'pm'); + } + if (format === FORMAT_hh || format === FORMAT_h) { + return (date.hour > 12 ? date.hour - 12 : (date.hour === 0 ? 12 : date.hour)); + } + return date[convertFormatToKey(format)]; +}; +const convertFormatToKey = (format) => { + for (const k in FORMAT_KEYS) { + if (FORMAT_KEYS[k].f === format) { + return FORMAT_KEYS[k].k; + } + } + return undefined; +}; +const convertDataToISO = (data) => { + // https://www.w3.org/TR/NOTE-datetime + let rtn = ''; + if (data.year !== undefined) { + // YYYY + rtn = fourDigit(data.year); + if (data.month !== undefined) { + // YYYY-MM + rtn += '-' + twoDigit(data.month); + if (data.day !== undefined) { + // YYYY-MM-DD + rtn += '-' + twoDigit(data.day); + if (data.hour !== undefined) { + // YYYY-MM-DDTHH:mm:SS + rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:${twoDigit(data.second)}`; + if (data.millisecond > 0) { + // YYYY-MM-DDTHH:mm:SS.SSS + rtn += '.' + threeDigit(data.millisecond); + } + if (data.tzOffset === undefined) { + // YYYY-MM-DDTHH:mm:SSZ + rtn += 'Z'; + } + else { + // YYYY-MM-DDTHH:mm:SS+/-HH:mm + rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60); + } + } + } + } + } + else if (data.hour !== undefined) { + // HH:mm + rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute); + if (data.second !== undefined) { + // HH:mm:SS + rtn += ':' + twoDigit(data.second); + if (data.millisecond !== undefined) { + // HH:mm:SS.SSS + rtn += '.' + threeDigit(data.millisecond); + } + } + } + return rtn; +}; +/** + * Use to convert a string of comma separated strings or + * an array of strings, and clean up any user input + */ +const convertToArrayOfStrings = (input, type) => { + if (input == null) { + return undefined; + } + if (typeof input === 'string') { + // convert the string to an array of strings + // auto remove any [] characters + input = input.replace(/\[|\]/g, '').split(','); + } + let values; + if (Array.isArray(input)) { + // trim up each string value + values = input.map(val => val.toString().trim()); + } + if (values === undefined || values.length === 0) { + console.warn(`Invalid "${type}Names". Must be an array of strings, or a comma separated string.`); + } + return values; +}; +/** + * Use to convert a string of comma separated numbers or + * an array of numbers, and clean up any user input + */ +const convertToArrayOfNumbers = (input, type) => { + if (typeof input === 'string') { + // convert the string to an array of strings + // auto remove any whitespace and [] characters + input = input.replace(/\[|\]|\s/g, '').split(','); + } + let values; + if (Array.isArray(input)) { + // ensure each value is an actual number in the returned array + values = input + .map((num) => parseInt(num, 10)) + .filter(isFinite); + } + else { + values = [input]; + } + if (values.length === 0) { + console.warn(`Invalid "${type}Values". Must be an array of numbers, or a comma separated string of numbers.`); + } + return values; +}; +const twoDigit = (val) => { + return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2); +}; +const threeDigit = (val) => { + return ('00' + (val !== undefined ? Math.abs(val) : '0')).slice(-3); +}; +const fourDigit = (val) => { + return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4); +}; +const FORMAT_YYYY = 'YYYY'; +const FORMAT_YY = 'YY'; +const FORMAT_MMMM = 'MMMM'; +const FORMAT_MMM = 'MMM'; +const FORMAT_MM = 'MM'; +const FORMAT_M = 'M'; +const FORMAT_DDDD = 'DDDD'; +const FORMAT_DDD = 'DDD'; +const FORMAT_DD = 'DD'; +const FORMAT_D = 'D'; +const FORMAT_HH = 'HH'; +const FORMAT_H = 'H'; +const FORMAT_hh = 'hh'; +const FORMAT_h = 'h'; +const FORMAT_mm = 'mm'; +const FORMAT_m = 'm'; +const FORMAT_ss = 'ss'; +const FORMAT_s = 's'; +const FORMAT_A = 'A'; +const FORMAT_a = 'a'; +const FORMAT_KEYS = [ + { f: FORMAT_YYYY, k: 'year' }, + { f: FORMAT_MMMM, k: 'month' }, + { f: FORMAT_DDDD, k: 'day' }, + { f: FORMAT_MMM, k: 'month' }, + { f: FORMAT_DDD, k: 'day' }, + { f: FORMAT_YY, k: 'year' }, + { f: FORMAT_MM, k: 'month' }, + { f: FORMAT_DD, k: 'day' }, + { f: FORMAT_HH, k: 'hour' }, + { f: FORMAT_hh, k: 'hour' }, + { f: FORMAT_mm, k: 'minute' }, + { f: FORMAT_ss, k: 'second' }, + { f: FORMAT_M, k: 'month' }, + { f: FORMAT_D, k: 'day' }, + { f: FORMAT_H, k: 'hour' }, + { f: FORMAT_h, k: 'hour' }, + { f: FORMAT_m, k: 'minute' }, + { f: FORMAT_s, k: 'second' }, + { f: FORMAT_A, k: 'ampm' }, + { f: FORMAT_a, k: 'ampm' }, +]; +const DAY_NAMES = [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', +]; +const DAY_SHORT_NAMES = [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', +]; +const MONTH_NAMES = [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', +]; +const MONTH_SHORT_NAMES = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', +]; +const VALID_AMPM_PREFIX = [ + FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s +]; + +const datetimeIosCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}"; + +const datetimeMdCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}"; + +const Datetime = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = `ion-dt-${datetimeIds++}`; + this.locale = {}; + this.datetimeMin = {}; + this.datetimeMax = {}; + this.datetimeValue = {}; + this.isExpanded = false; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + /** + * If `true`, the user cannot interact with the datetime. + */ + this.disabled = false; + /** + * If `true`, the datetime appears normal but is not interactive. + */ + this.readonly = false; + /** + * The display format of the date and time as text that shows + * within the item. When the `pickerFormat` input is not used, then the + * `displayFormat` is used for both display the formatted text, and determining + * the datetime picker's columns. See the `pickerFormat` input description for + * more info. Defaults to `MMM D, YYYY`. + */ + this.displayFormat = 'MMM D, YYYY'; + /** + * The text to display on the picker's cancel button. + */ + this.cancelText = 'Cancel'; + /** + * The text to display on the picker's "Done" button. + */ + this.doneText = 'Done'; + this.onClick = () => { + this.setFocus(); + this.open(); + }; + this.onFocus = () => { + this.ionFocus.emit(); + }; + this.onBlur = () => { + this.ionBlur.emit(); + }; + } + disabledChanged() { + this.emitStyle(); + } + /** + * Update the datetime value when the value changes + */ + valueChanged() { + this.updateDatetimeValue(this.value); + this.emitStyle(); + this.ionChange.emit({ + value: this.value + }); + } + componentWillLoad() { + // first see if locale names were provided in the inputs + // then check to see if they're in the config + // if neither were provided then it will use default English names + this.locale = { + // this.locale[type] = convertToArrayOfStrings((this[type] ? this[type] : this.config.get(type), type); + monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'), + monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'), + dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'), + dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames') + }; + this.updateDatetimeValue(this.value); + this.emitStyle(); + } + /** + * Opens the datetime overlay. + */ + async open() { + if (this.disabled || this.isExpanded) { + return; + } + const pickerOptions = this.generatePickerOptions(); + const picker = await _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["p"].create(pickerOptions); + this.isExpanded = true; + picker.onDidDismiss().then(() => { + this.isExpanded = false; + this.setFocus(); + }); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(picker, 'ionPickerColChange', async (event) => { + const data = event.detail; + const colSelectedIndex = data.selectedIndex; + const colOptions = data.options; + const changeData = {}; + changeData[data.name] = { + value: colOptions[colSelectedIndex].value + }; + if (data.name !== 'ampm' && this.datetimeValue.ampm !== undefined) { + changeData['ampm'] = { + value: this.datetimeValue.ampm + }; + } + this.updateDatetimeValue(changeData); + picker.columns = this.generateColumns(); + }); + await picker.present(); + } + emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'datetime': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'interactive-disabled': this.disabled, + }); + } + updateDatetimeValue(value) { + updateDate(this.datetimeValue, value, this.displayTimezone); + } + generatePickerOptions() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.locale = { + monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'), + monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'), + dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'), + dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames') + }; + const pickerOptions = Object.assign(Object.assign({ mode }, this.pickerOptions), { columns: this.generateColumns() }); + // If the user has not passed in picker buttons, + // add a cancel and ok button to the picker + const buttons = pickerOptions.buttons; + if (!buttons || buttons.length === 0) { + pickerOptions.buttons = [ + { + text: this.cancelText, + role: 'cancel', + handler: () => { + this.updateDatetimeValue(this.value); + this.ionCancel.emit(); + } + }, + { + text: this.doneText, + handler: (data) => { + this.updateDatetimeValue(data); + /** + * Prevent convertDataToISO from doing any + * kind of transformation based on timezone + * This cancels out any change it attempts to make + * + * Important: Take the timezone offset based on + * the date that is currently selected, otherwise + * there can be 1 hr difference when dealing w/ DST + */ + const date = new Date(convertDataToISO(this.datetimeValue)); + // If a custom display timezone is provided, use that tzOffset value instead + this.datetimeValue.tzOffset = (this.displayTimezone !== undefined && this.displayTimezone.length > 0) + ? ((getTimezoneOffset(date, this.displayTimezone)) / 1000 / 60) * -1 + : date.getTimezoneOffset() * -1; + this.value = convertDataToISO(this.datetimeValue); + } + } + ]; + } + return pickerOptions; + } + generateColumns() { + // if a picker format wasn't provided, then fallback + // to use the display format + let template = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT; + if (template.length === 0) { + return []; + } + // make sure we've got up to date sizing information + this.calcMinMax(); + // does not support selecting by day name + // automatically remove any day name formats + template = template.replace('DDDD', '{~}').replace('DDD', '{~}'); + if (template.indexOf('D') === -1) { + // there is not a day in the template + // replace the day name with a numeric one if it exists + template = template.replace('{~}', 'D'); + } + // make sure no day name replacer is left in the string + template = template.replace(/{~}/g, ''); + // parse apart the given template into an array of "formats" + const columns = parseTemplate(template).map((format) => { + // loop through each format in the template + // create a new picker column to build up with data + const key = convertFormatToKey(format); + let values; + // check if they have exact values to use for this date part + // otherwise use the default date part values + const self = this; + values = self[key + 'Values'] + ? convertToArrayOfNumbers(self[key + 'Values'], key) + : dateValueRange(format, this.datetimeMin, this.datetimeMax); + const colOptions = values.map(val => { + return { + value: val, + text: renderTextFormat(format, val, undefined, this.locale), + }; + }); + // cool, we've loaded up the columns with options + // preselect the option for this column + const optValue = getDateValue(this.datetimeValue, format); + const selectedIndex = colOptions.findIndex(opt => opt.value === optValue); + return { + name: key, + selectedIndex: selectedIndex >= 0 ? selectedIndex : 0, + options: colOptions + }; + }); + // Normalize min/max + const min = this.datetimeMin; + const max = this.datetimeMax; + ['month', 'day', 'hour', 'minute'] + .filter(name => !columns.find(column => column.name === name)) + .forEach(name => { + min[name] = 0; + max[name] = 0; + }); + return this.validateColumns(divyColumns(columns)); + } + validateColumns(columns) { + const today = new Date(); + const minCompareVal = dateDataSortValue(this.datetimeMin); + const maxCompareVal = dateDataSortValue(this.datetimeMax); + const yearCol = columns.find(c => c.name === 'year'); + let selectedYear = today.getFullYear(); + if (yearCol) { + // default to the first value if the current year doesn't exist in the options + if (!yearCol.options.find(col => col.value === today.getFullYear())) { + selectedYear = yearCol.options[0].value; + } + const selectedIndex = yearCol.selectedIndex; + if (selectedIndex !== undefined) { + const yearOpt = yearCol.options[selectedIndex]; + if (yearOpt) { + // they have a selected year value + selectedYear = yearOpt.value; + } + } + } + const selectedMonth = this.validateColumn(columns, 'month', 1, minCompareVal, maxCompareVal, [selectedYear, 0, 0, 0, 0], [selectedYear, 12, 31, 23, 59]); + const numDaysInMonth = daysInMonth(selectedMonth, selectedYear); + const selectedDay = this.validateColumn(columns, 'day', 2, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, 0, 0, 0], [selectedYear, selectedMonth, numDaysInMonth, 23, 59]); + const selectedHour = this.validateColumn(columns, 'hour', 3, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, 0, 0], [selectedYear, selectedMonth, selectedDay, 23, 59]); + this.validateColumn(columns, 'minute', 4, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, selectedHour, 0], [selectedYear, selectedMonth, selectedDay, selectedHour, 59]); + return columns; + } + calcMinMax() { + const todaysYear = new Date().getFullYear(); + if (this.yearValues !== undefined) { + const years = convertToArrayOfNumbers(this.yearValues, 'year'); + if (this.min === undefined) { + this.min = Math.min(...years).toString(); + } + if (this.max === undefined) { + this.max = Math.max(...years).toString(); + } + } + else { + if (this.min === undefined) { + this.min = (todaysYear - 100).toString(); + } + if (this.max === undefined) { + this.max = todaysYear.toString(); + } + } + const min = this.datetimeMin = parseDate(this.min); + const max = this.datetimeMax = parseDate(this.max); + min.year = min.year || todaysYear; + max.year = max.year || todaysYear; + min.month = min.month || 1; + max.month = max.month || 12; + min.day = min.day || 1; + max.day = max.day || 31; + min.hour = min.hour || 0; + max.hour = max.hour === undefined ? 23 : max.hour; + min.minute = min.minute || 0; + max.minute = max.minute === undefined ? 59 : max.minute; + min.second = min.second || 0; + max.second = max.second === undefined ? 59 : max.second; + // Ensure min/max constraints + if (min.year > max.year) { + console.error('min.year > max.year'); + min.year = max.year - 100; + } + if (min.year === max.year) { + if (min.month > max.month) { + console.error('min.month > max.month'); + min.month = 1; + } + else if (min.month === max.month && min.day > max.day) { + console.error('min.day > max.day'); + min.day = 1; + } + } + } + validateColumn(columns, name, index, min, max, lowerBounds, upperBounds) { + const column = columns.find(c => c.name === name); + if (!column) { + return 0; + } + const lb = lowerBounds.slice(); + const ub = upperBounds.slice(); + const options = column.options; + let indexMin = options.length - 1; + let indexMax = 0; + for (let i = 0; i < options.length; i++) { + const opts = options[i]; + const value = opts.value; + lb[index] = opts.value; + ub[index] = opts.value; + const disabled = opts.disabled = (value < lowerBounds[index] || + value > upperBounds[index] || + dateSortValue(ub[0], ub[1], ub[2], ub[3], ub[4]) < min || + dateSortValue(lb[0], lb[1], lb[2], lb[3], lb[4]) > max); + if (!disabled) { + indexMin = Math.min(indexMin, i); + indexMax = Math.max(indexMax, i); + } + } + const selectedIndex = column.selectedIndex = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(indexMin, column.selectedIndex, indexMax); + const opt = column.options[selectedIndex]; + if (opt) { + return opt.value; + } + return 0; + } + get text() { + // create the text of the formatted data + const template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT; + if (this.value === undefined || + this.value === null || + this.value.length === 0) { + return; + } + return renderDatetime(template, this.datetimeValue, this.locale); + } + hasValue() { + return this.text !== undefined; + } + setFocus() { + if (this.buttonEl) { + this.buttonEl.focus(); + } + } + render() { + const { inputId, text, disabled, readonly, isExpanded, el, placeholder } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const labelId = inputId + '-lbl'; + const label = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(el); + const addPlaceholderClass = (text === undefined && placeholder != null) ? true : false; + // If selected text has been passed in, use that first + // otherwise use the placeholder + const datetimeText = text === undefined + ? (placeholder != null ? placeholder : '') + : text; + const datetimeTextPart = text === undefined + ? (placeholder != null ? 'placeholder' : undefined) + : 'text'; + if (label) { + label.id = labelId; + } + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, this.name, this.value, this.disabled); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-expanded": `${isExpanded}`, "aria-haspopup": "true", "aria-labelledby": labelId, class: { + [mode]: true, + 'datetime-disabled': disabled, + 'datetime-readonly': readonly, + 'datetime-placeholder': addPlaceholderClass, + 'in-item': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["h"])('ion-item', el) + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "datetime-text", part: datetimeTextPart }, datetimeText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", onFocus: this.onFocus, onBlur: this.onBlur, disabled: this.disabled, ref: btnEl => this.buttonEl = btnEl }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; } +}; +const divyColumns = (columns) => { + const columnsWidth = []; + let col; + let width; + for (let i = 0; i < columns.length; i++) { + col = columns[i]; + columnsWidth.push(0); + for (const option of col.options) { + width = option.text.length; + if (width > columnsWidth[i]) { + columnsWidth[i] = width; + } + } + } + if (columnsWidth.length === 2) { + width = Math.max(columnsWidth[0], columnsWidth[1]); + columns[0].align = 'right'; + columns[1].align = 'left'; + columns[0].optionsWidth = columns[1].optionsWidth = `${width * 17}px`; + } + else if (columnsWidth.length === 3) { + width = Math.max(columnsWidth[0], columnsWidth[2]); + columns[0].align = 'right'; + columns[1].columnWidth = `${columnsWidth[1] * 17}px`; + columns[0].optionsWidth = columns[2].optionsWidth = `${width * 17}px`; + columns[2].align = 'left'; + } + return columns; +}; +const DEFAULT_FORMAT = 'MMM D, YYYY'; +let datetimeIds = 0; +Datetime.style = { + ios: datetimeIosCss, + md: datetimeMdCss +}; + +/** + * iOS Picker Enter Animation + */ +const iosEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.picker-wrapper')) + .fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(400) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * iOS Picker Leave Animation + */ +const iosLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0.01); + wrapperAnimation + .addElement(baseEl.querySelector('.picker-wrapper')) + .fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(.36,.66,.04,1)') + .duration(400) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const pickerIosCss = ".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-ios{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}"; + +const pickerMdCss = ".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}"; + +const Picker = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * Array of buttons to be displayed at the top of the picker. + */ + this.buttons = []; + /** + * Array of columns to be displayed in the picker. + */ + this.columns = []; + /** + * Number of milliseconds to wait before dismissing the picker. + */ + this.duration = 0; + /** + * If `true`, a backdrop will be displayed behind the picker. + */ + this.showBackdrop = true; + /** + * If `true`, the picker will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = true; + /** + * If `true`, the picker will animate. + */ + this.animated = true; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["B"]); + }; + this.dispatchCancelHandler = (ev) => { + const role = ev.detail.role; + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["i"])(role)) { + const cancelButton = this.buttons.find(b => b.role === 'cancel'); + this.callButtonHandler(cancelButton); + } + }; + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["e"])(this.el); + } + /** + * Present the picker overlay after it has been created. + */ + async present() { + await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["d"])(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined); + if (this.duration > 0) { + this.durationTimeout = setTimeout(() => this.dismiss(), this.duration); + } + } + /** + * Dismiss the picker overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the picker. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the picker. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + dismiss(data, role) { + if (this.durationTimeout) { + clearTimeout(this.durationTimeout); + } + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["f"])(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation); + } + /** + * Returns a promise that resolves when the picker did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["g"])(this.el, 'ionPickerDidDismiss'); + } + /** + * Returns a promise that resolves when the picker will dismiss. + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["g"])(this.el, 'ionPickerWillDismiss'); + } + /** + * Get the column that matches the specified name. + * + * @param name The name of the column. + */ + getColumn(name) { + return Promise.resolve(this.columns.find(column => column.name === name)); + } + async buttonClick(button) { + const role = button.role; + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["i"])(role)) { + return this.dismiss(undefined, role); + } + const shouldDismiss = await this.callButtonHandler(button); + if (shouldDismiss) { + return this.dismiss(this.getSelected(), button.role); + } + return Promise.resolve(); + } + async callButtonHandler(button) { + if (button) { + // a handler has been provided, execute it + // pass the handler the values from the inputs + const rtn = await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["s"])(button.handler, this.getSelected()); + if (rtn === false) { + // if the return value of the handler is false then do not dismiss + return false; + } + } + return true; + } + getSelected() { + const selected = {}; + this.columns.forEach((col, index) => { + const selectedColumn = col.selectedIndex !== undefined + ? col.options[col.selectedIndex] + : undefined; + selected[col.name] = { + text: selectedColumn ? selectedColumn.text : undefined, + value: selectedColumn ? selectedColumn.value : undefined, + columnIndex: index + }; + }); + return selected; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-modal": "true", tabindex: "-1", class: Object.assign({ [mode]: true, + // Used internally for styling + [`picker-${mode}`]: true }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), style: { + zIndex: `${20000 + this.overlayIndex}` + }, onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { visible: this.showBackdrop, tappable: this.backdropDismiss }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-toolbar" }, this.buttons.map(b => (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: buttonWrapperClass(b) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-columns" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-above-highlight" }), this.presented && this.columns.map(c => Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-picker-column", { col: c })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-below-highlight" }))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const buttonWrapperClass = (button) => { + return { + [`picker-toolbar-${button.role}`]: button.role !== undefined, + 'picker-toolbar-button': true + }; +}; +const buttonClass = (button) => { + return Object.assign({ 'picker-button': true, 'ion-activatable': true }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(button.cssClass)); +}; +Picker.style = { + ios: pickerIosCss, + md: pickerMdCss +}; + +const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}"; + +const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}"; + +const PickerColumnCmp = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionPickerColChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerColChange", 7); + this.optHeight = 0; + this.rotateFactor = 0; + this.scaleFactor = 1; + this.velocity = 0; + this.y = 0; + this.noAnimate = true; + } + colChanged() { + this.refresh(); + } + async connectedCallback() { + let pickerRotateFactor = 0; + let pickerScaleFactor = 0.81; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + if (mode === 'ios') { + pickerRotateFactor = -0.46; + pickerScaleFactor = 1; + } + this.rotateFactor = pickerRotateFactor; + this.scaleFactor = pickerScaleFactor; + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.el, + gestureName: 'picker-swipe', + gesturePriority: 100, + threshold: 0, + passive: false, + onStart: ev => this.onStart(ev), + onMove: ev => this.onMove(ev), + onEnd: ev => this.onEnd(ev), + }); + this.gesture.enable(); + this.tmrId = setTimeout(() => { + this.noAnimate = false; + this.refresh(true); + }, 250); + } + componentDidLoad() { + const colEl = this.optsEl; + if (colEl) { + // DOM READ + // We perfom a DOM read over a rendered item, this needs to happen after the first render + this.optHeight = (colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0); + } + this.refresh(); + } + disconnectedCallback() { + cancelAnimationFrame(this.rafId); + clearTimeout(this.tmrId); + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + emitColChange() { + this.ionPickerColChange.emit(this.col); + } + setSelected(selectedIndex, duration) { + // if there is a selected index, then figure out it's y position + // if there isn't a selected index, then just use the top y position + const y = (selectedIndex > -1) ? -(selectedIndex * this.optHeight) : 0; + this.velocity = 0; + // set what y position we're at + cancelAnimationFrame(this.rafId); + this.update(y, duration, true); + this.emitColChange(); + } + update(y, duration, saveY) { + if (!this.optsEl) { + return; + } + // ensure we've got a good round number :) + let translateY = 0; + let translateZ = 0; + const { col, rotateFactor } = this; + const selectedIndex = col.selectedIndex = this.indexForY(-y); + const durationStr = (duration === 0) ? '' : duration + 'ms'; + const scaleStr = `scale(${this.scaleFactor})`; + const children = this.optsEl.children; + for (let i = 0; i < children.length; i++) { + const button = children[i]; + const opt = col.options[i]; + const optOffset = (i * this.optHeight) + y; + let transform = ''; + if (rotateFactor !== 0) { + const rotateX = optOffset * rotateFactor; + if (Math.abs(rotateX) <= 90) { + translateY = 0; + translateZ = 90; + transform = `rotateX(${rotateX}deg) `; + } + else { + translateY = -9999; + } + } + else { + translateZ = 0; + translateY = optOffset; + } + const selected = selectedIndex === i; + transform += `translate3d(0px,${translateY}px,${translateZ}px) `; + if (this.scaleFactor !== 1 && !selected) { + transform += scaleStr; + } + // Update transition duration + if (this.noAnimate) { + opt.duration = 0; + button.style.transitionDuration = ''; + } + else if (duration !== opt.duration) { + opt.duration = duration; + button.style.transitionDuration = durationStr; + } + // Update transform + if (transform !== opt.transform) { + opt.transform = transform; + button.style.transform = transform; + } + // Update selected item + if (selected !== opt.selected) { + opt.selected = selected; + if (selected) { + button.classList.add(PICKER_OPT_SELECTED); + } + else { + button.classList.remove(PICKER_OPT_SELECTED); + } + } + } + this.col.prevSelected = selectedIndex; + if (saveY) { + this.y = y; + } + if (this.lastIndex !== selectedIndex) { + // have not set a last index yet + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["b"])(); + this.lastIndex = selectedIndex; + } + } + decelerate() { + if (this.velocity !== 0) { + // still decelerating + this.velocity *= DECELERATION_FRICTION; + // do not let it go slower than a velocity of 1 + this.velocity = (this.velocity > 0) + ? Math.max(this.velocity, 1) + : Math.min(this.velocity, -1); + let y = this.y + this.velocity; + if (y > this.minY) { + // whoops, it's trying to scroll up farther than the options we have! + y = this.minY; + this.velocity = 0; + } + else if (y < this.maxY) { + // gahh, it's trying to scroll down farther than we can! + y = this.maxY; + this.velocity = 0; + } + this.update(y, 0, true); + const notLockedIn = (Math.round(y) % this.optHeight !== 0) || (Math.abs(this.velocity) > 1); + if (notLockedIn) { + // isn't locked in yet, keep decelerating until it is + this.rafId = requestAnimationFrame(() => this.decelerate()); + } + else { + this.velocity = 0; + this.emitColChange(); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["h"])(); + } + } + else if (this.y % this.optHeight !== 0) { + // needs to still get locked into a position so options line up + const currentPos = Math.abs(this.y % this.optHeight); + // create a velocity in the direction it needs to scroll + this.velocity = (currentPos > (this.optHeight / 2) ? 1 : -1); + this.decelerate(); + } + } + indexForY(y) { + return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1); + } + // TODO should this check disabled? + onStart(detail) { + // We have to prevent default in order to block scrolling under the picker + // but we DO NOT have to stop propagation, since we still want + // some "click" events to capture + if (detail.event.cancelable) { + detail.event.preventDefault(); + } + detail.event.stopPropagation(); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["a"])(); + // reset everything + cancelAnimationFrame(this.rafId); + const options = this.col.options; + let minY = (options.length - 1); + let maxY = 0; + for (let i = 0; i < options.length; i++) { + if (!options[i].disabled) { + minY = Math.min(minY, i); + maxY = Math.max(maxY, i); + } + } + this.minY = -(minY * this.optHeight); + this.maxY = -(maxY * this.optHeight); + } + onMove(detail) { + if (detail.event.cancelable) { + detail.event.preventDefault(); + } + detail.event.stopPropagation(); + // update the scroll position relative to pointer start position + let y = this.y + detail.deltaY; + if (y > this.minY) { + // scrolling up higher than scroll area + y = Math.pow(y, 0.8); + this.bounceFrom = y; + } + else if (y < this.maxY) { + // scrolling down below scroll area + y += Math.pow(this.maxY - y, 0.9); + this.bounceFrom = y; + } + else { + this.bounceFrom = 0; + } + this.update(y, 0, false); + } + onEnd(detail) { + if (this.bounceFrom > 0) { + // bounce back up + this.update(this.minY, 100, true); + this.emitColChange(); + return; + } + else if (this.bounceFrom < 0) { + // bounce back down + this.update(this.maxY, 100, true); + this.emitColChange(); + return; + } + this.velocity = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED); + if (this.velocity === 0 && detail.deltaY === 0) { + const opt = detail.event.target.closest('.picker-opt'); + if (opt && opt.hasAttribute('opt-index')) { + this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION); + } + } + else { + this.y += detail.deltaY; + if (Math.abs(detail.velocityY) < 0.05) { + const isScrollingUp = detail.deltaY > 0; + const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight; + if (isScrollingUp && optHeightFraction > 0.5) { + this.velocity = Math.abs(this.velocity) * -1; + } + else if (!isScrollingUp && optHeightFraction <= 0.5) { + this.velocity = Math.abs(this.velocity); + } + } + this.decelerate(); + } + } + refresh(forceRefresh) { + let min = this.col.options.length - 1; + let max = 0; + const options = this.col.options; + for (let i = 0; i < options.length; i++) { + if (!options[i].disabled) { + min = Math.min(min, i); + max = Math.max(max, i); + } + } + /** + * Only update selected value if column has a + * velocity of 0. If it does not, then the + * column is animating might land on + * a value different than the value at + * selectedIndex + */ + if (this.velocity !== 0) { + return; + } + const selectedIndex = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(min, this.col.selectedIndex || 0, max); + if (this.col.prevSelected !== selectedIndex || forceRefresh) { + const y = (selectedIndex * this.optHeight) * -1; + this.velocity = 0; + this.update(y, TRANSITION_DURATION, true); + } + } + render() { + const col = this.col; + const Button = 'button'; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'picker-col': true, + 'picker-opts-left': this.col.align === 'left', + 'picker-opts-right': this.col.align === 'right' + }, style: { + 'max-width': this.col.columnWidth + } }, col.prefix && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: el => this.optsEl = el }, col.options.map((o, index) => Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(Button, { type: "button", class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text))), col.suffix && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix)))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "col": ["colChanged"] + }; } +}; +const PICKER_OPT_SELECTED = 'picker-opt-selected'; +const DECELERATION_FRICTION = 0.97; +const MAX_PICKER_SPEED = 90; +const TRANSITION_DURATION = 150; +PickerColumnCmp.style = { + ios: pickerColumnIosCss, + md: pickerColumnMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=11-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/11-es2015.js.map b/android/app/src/main/assets/public/11-es2015.js.map new file mode 100644 index 000000000..46b107623 --- /dev/null +++ b/android/app/src/main/assets/public/11-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;AACyD;AACvD;AACnB;AACmI;AACxD;AAC9C;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;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;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,SAAS,EAAE;AACnJ,2BAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,SAAS,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;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;AACA;AACA;AACA,kEAAkE,kBAAkB;AACpF,iEAAiE,WAAW;AAC5E;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,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;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,qBAAqB,oBAAoB,GAAG,sBAAsB,GAAG,sBAAsB;AAC3F;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,6BAA6B,KAAK;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,KAAK;AAClC;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,GAAG,4BAA4B;AAC/B,GAAG,6BAA6B;AAChC,GAAG,2BAA2B;AAC9B,GAAG,4BAA4B;AAC/B,GAAG,0BAA0B;AAC7B,GAAG,0BAA0B;AAC7B,GAAG,2BAA2B;AAC9B,GAAG,yBAAyB;AAC5B,GAAG,0BAA0B;AAC7B,GAAG,0BAA0B;AAC7B,GAAG,4BAA4B;AAC/B,GAAG,4BAA4B;AAC/B,GAAG,0BAA0B;AAC7B,GAAG,wBAAwB;AAC3B,GAAG,yBAAyB;AAC5B,GAAG,yBAAyB;AAC5B,GAAG,2BAA2B;AAC9B,GAAG,2BAA2B;AAC9B,GAAG,yBAAyB;AAC5B,GAAG,yBAAyB;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;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;;AAEA,8BAA8B,kCAAkC,iCAAiC,+BAA+B,qCAAqC,oBAAoB,aAAa,kBAAkB,eAAe,iBAAiB,4CAA4C,uBAAuB,mBAAmB,gBAAgB,UAAU,+FAA+F,MAAM,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,gBAAgB,gBAAgB,6BAA6B,+BAA+B,0BAA0B,YAAY,oBAAoB,0BAA0B,oBAAoB,OAAO,OAAO,MAAM,cAAc,eAAe,aAAa,gBAAgB,kBAAkB,WAAW,YAAY,SAAS,uBAAuB,eAAe,wBAAwB,qBAAqB,gBAAgB,aAAa,iDAAiD,WAAW,YAAY,QAAQ,yBAAyB,SAAS,eAAe,oBAAoB,kBAAkB,mBAAmB,oBAAoB,uBAAuB,wBAAwB,oBAAoB,sBAAsB,uBAAuB,mBAAmB,oBAAoB,cAAc,WAAW,OAAO,mBAAmB,cAAc,iBAAiB,iEAAiE,cAAc,MAAM,uDAAuD,mBAAmB,mBAAmB,sBAAsB,qBAAqB;;AAE/tD,6BAA6B,kCAAkC,iCAAiC,+BAA+B,qCAAqC,oBAAoB,aAAa,kBAAkB,eAAe,iBAAiB,4CAA4C,uBAAuB,mBAAmB,gBAAgB,UAAU,+FAA+F,MAAM,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,gBAAgB,gBAAgB,6BAA6B,+BAA+B,0BAA0B,YAAY,oBAAoB,0BAA0B,oBAAoB,OAAO,OAAO,MAAM,cAAc,eAAe,aAAa,gBAAgB,kBAAkB,WAAW,YAAY,SAAS,uBAAuB,eAAe,wBAAwB,qBAAqB,gBAAgB,aAAa,iDAAiD,WAAW,YAAY,QAAQ,yBAAyB,SAAS,eAAe,oBAAoB,kBAAkB,mBAAmB,oBAAoB,uBAAuB,wBAAwB,oBAAoB,sBAAsB,uBAAuB,mBAAmB,oBAAoB,cAAc,WAAW,OAAO,mBAAmB,cAAc,iBAAiB,iEAAiE,cAAc,MAAM,qFAAqF,mBAAmB,gBAAgB,sBAAsB,qBAAqB;;AAEzvD;AACA;AACA,IAAI,4DAAgB;AACpB,qBAAqB,4DAAW;AAChC,qBAAqB,4DAAW;AAChC,oBAAoB,4DAAW;AAC/B,mBAAmB,4DAAW;AAC9B,oBAAoB,4DAAW;AAC/B,6BAA6B,cAAc;AAC3C;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,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,yBAAyB,uDAAgB;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,8DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO,wBAAwB,kCAAkC;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;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,0CAA0C,EAAE,oBAAoB,EAAE;AAClE;AACA;AACA;AACA,oCAAoC,EAAE;AACtC;AACA;AACA,kCAAkC,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;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,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,8DAAK;AACtD;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,WAAW,iEAAiE;AAC5E,iBAAiB,mEAAU;AAC3B;AACA,kBAAkB,8DAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAiB;AACrB,YAAY,4DAAC,CAAC,oDAAI,GAAG,uFAAuF,WAAW;AACvH;AACA;AACA;AACA;AACA,mBAAmB,4DAAW;AAC9B,OAAO,EAAE,EAAE,4DAAC,SAAS,iDAAiD,iBAAiB,4DAAC,YAAY,2HAA2H;AAC/N;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D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AA8H,8KAA8K,6IAA6I,WAAW,iNAAiN,WAAW,YAAY,QAAQ,yCAAyC,OAAO,UAAU,4CAA4C,oCAAoC,kBAAkB,WAAW,aAAa,2HAA2H,8KAA8K,0IAA0I,WAAW,iNAAiN,WAAW,YAAY,QAAQ;;AAEj+J;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;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,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA,UAAU,+DAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA,UAAU,+DAAO;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+DAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,6DAA6D;AAClF;AACA,mBAAmB,KAAK,UAAU,EAAE,4DAAW;AAC/C,mBAAmB,0BAA0B;AAC7C,OAAO,4FAA4F,EAAE,4DAAC,kBAAkB,6DAA6D,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,8DAA8D,EAAE,4DAAC,SAAS,0BAA0B,yBAAyB,4DAAC,SAAS,+BAA+B,EAAE,4DAAC,YAAY,4EAA4E,eAAe,4DAAC,SAAS,0BAA0B,EAAE,4DAAC,SAAS,kCAAkC,2CAA2C,4DAAC,uBAAuB,SAAS,IAAI,4DAAC,SAAS,kCAAkC,KAAK,4DAAC,SAAS,gBAAgB;AAC5tB;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,wBAAwB,iDAAiD,EAAE,4DAAW;AACtF;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,oBAAoB,aAAa,kBAAkB,WAAW,OAAO,qBAAqB,uBAAuB,YAAY,+BAA+B,uBAAuB,gBAAgB,aAAa,kBAAkB,WAAW,OAAO,eAAe,YAAY,OAAO,MAAM,cAAc,kBAAkB,WAAW,SAAS,kBAAkB,uBAAuB,mBAAmB,eAAe,gBAAgB,sBAAsB,2DAA2D,WAAW,YAAY,QAAQ,gCAAgC,oBAAoB,qBAAqB,UAAU,kBAAkB,oBAAoB,2BAA2B,mBAAmB,kBAAkB,yBAAyB,qCAAqC,aAAa,eAAe,kBAAkB,WAAW,OAAO,eAAe,mBAAmB,eAAe,kBAAkB,WAAW,OAAO,iBAAiB,mBAAmB,YAAY,iBAAiB,kBAAkB,cAAc,iBAAiB,oCAAoC,4BAA4B,+FAA+F,YAAY,mBAAmB,oBAAoB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,2CAA2C,SAAS,oCAAoC,4BAA4B,cAAc,eAAe,iBAAiB,oBAAoB,YAAY,eAAe,gBAAgB,cAAc,iBAAiB,cAAc,eAAe,aAAa,gBAAgB,uCAAuC,+BAA+B,YAAY,oCAAoC,4BAA4B,4CAA4C,oCAAoC,uBAAuB,cAAc,eAAe,iBAAiB,mCAAmC,2BAA2B,oBAAoB,2DAA2D,oDAAoD,4CAA4C;;AAEpsE,uCAAuC,oBAAoB,aAAa,kBAAkB,WAAW,OAAO,qBAAqB,uBAAuB,YAAY,+BAA+B,uBAAuB,gBAAgB,aAAa,kBAAkB,WAAW,OAAO,eAAe,YAAY,OAAO,MAAM,cAAc,kBAAkB,WAAW,SAAS,kBAAkB,uBAAuB,mBAAmB,eAAe,gBAAgB,sBAAsB,2DAA2D,WAAW,YAAY,QAAQ,gCAAgC,oBAAoB,qBAAqB,UAAU,kBAAkB,oBAAoB,2BAA2B,mBAAmB,kBAAkB,yBAAyB,qCAAqC,aAAa,eAAe,kBAAkB,WAAW,OAAO,eAAe,mBAAmB,eAAe,kBAAkB,WAAW,OAAO,iBAAiB,mBAAmB,YAAY,iBAAiB,kBAAkB,cAAc,iBAAiB,oCAAoC,4BAA4B,+FAA+F,YAAY,mBAAmB,oBAAoB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,2CAA2C,SAAS,oCAAoC,4BAA4B,cAAc,eAAe,iBAAiB,oBAAoB,YAAY,cAAc,eAAe,aAAa,gBAAgB,eAAe,gBAAgB,cAAc,iBAAiB,YAAY,4CAA4C,oCAAoC,uBAAuB,cAAc,eAAe,iBAAiB,mCAAmC,2BAA2B,oBAAoB,8DAA8D,wCAAwC;;AAExgE;AACA;AACA,IAAI,4DAAgB;AACpB,8BAA8B,4DAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,WAAW,KAAK,WAAW;AACjE;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,MAAM,6DAAsB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6DAAkB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6DAAoB;AACxB;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;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,oBAAoB,8DAAK;AACzB;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,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8DAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO,EAAE,iBAAiB,4DAAC,SAAS,iCAAiC,yBAAyB,EAAE,gBAAgB,4DAAC,SAAS,+BAA+B,6BAA6B,+BAA+B,gCAAgC,4DAAC,UAAU,yBAAyB,0DAA0D,sBAAsB,4BAA4B,4DAAC,SAAS,iCAAiC,yBAAyB,EAAE;AAC3c;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgG","file":"11-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as addEventListener, h as clamp, f as findItemLabel, d as renderHiddenInput } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { p as pickerController, B as BACKDROP, i as isCancel, e as prepareOverlay, d as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-27b3f981.js';\nimport { h as hostContext, g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * Gets a date value given a format\n * Defaults to the current date if\n * no date given\n */\nconst getDateValue = (date, format) => {\n const getValue = getValueFromFormat(date, format);\n if (getValue !== undefined) {\n if (format === FORMAT_A || format === FORMAT_a) {\n date.ampm = getValue;\n }\n return getValue;\n }\n const defaultDate = parseDate(new Date().toISOString());\n return getValueFromFormat(defaultDate, format);\n};\nconst renderDatetime = (template, value, locale) => {\n if (value === undefined) {\n return undefined;\n }\n const tokens = [];\n let hasText = false;\n FORMAT_KEYS.forEach((format, index) => {\n if (template.indexOf(format.f) > -1) {\n const token = '{' + index + '}';\n const text = renderTextFormat(format.f, value[format.k], value, locale);\n if (!hasText && text !== undefined && value[format.k] != null) {\n hasText = true;\n }\n tokens.push(token, text || '');\n template = template.replace(format.f, token);\n }\n });\n if (!hasText) {\n return undefined;\n }\n for (let i = 0; i < tokens.length; i += 2) {\n template = template.replace(tokens[i], tokens[i + 1]);\n }\n return template;\n};\nconst renderTextFormat = (format, value, date, locale) => {\n if ((format === FORMAT_DDDD || format === FORMAT_DDD)) {\n try {\n value = (new Date(date.year, date.month - 1, date.day)).getDay();\n if (format === FORMAT_DDDD) {\n return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value];\n }\n return (locale.dayShortNames ? locale.dayShortNames : DAY_SHORT_NAMES)[value];\n }\n catch (e) {\n // ignore\n }\n return undefined;\n }\n if (format === FORMAT_A) {\n return date !== undefined && date.hour !== undefined\n ? (date.hour < 12 ? 'AM' : 'PM')\n : value ? value.toUpperCase() : '';\n }\n if (format === FORMAT_a) {\n return date !== undefined && date.hour !== undefined\n ? (date.hour < 12 ? 'am' : 'pm')\n : value || '';\n }\n if (value == null) {\n return '';\n }\n if (format === FORMAT_YY || format === FORMAT_MM ||\n format === FORMAT_DD || format === FORMAT_HH ||\n format === FORMAT_mm || format === FORMAT_ss) {\n return twoDigit(value);\n }\n if (format === FORMAT_YYYY) {\n return fourDigit(value);\n }\n if (format === FORMAT_MMMM) {\n return (locale.monthNames ? locale.monthNames : MONTH_NAMES)[value - 1];\n }\n if (format === FORMAT_MMM) {\n return (locale.monthShortNames ? locale.monthShortNames : MONTH_SHORT_NAMES)[value - 1];\n }\n if (format === FORMAT_hh || format === FORMAT_h) {\n if (value === 0) {\n return '12';\n }\n if (value > 12) {\n value -= 12;\n }\n if (format === FORMAT_hh && value < 10) {\n return ('0' + value);\n }\n }\n return value.toString();\n};\nconst dateValueRange = (format, min, max) => {\n const opts = [];\n if (format === FORMAT_YYYY || format === FORMAT_YY) {\n // year\n if (max.year === undefined || min.year === undefined) {\n throw new Error('min and max year is undefined');\n }\n for (let i = max.year; i >= min.year; i--) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_MMMM || format === FORMAT_MMM ||\n format === FORMAT_MM || format === FORMAT_M ||\n format === FORMAT_hh || format === FORMAT_h) {\n // month or 12-hour\n for (let i = 1; i < 13; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_DDDD || format === FORMAT_DDD ||\n format === FORMAT_DD || format === FORMAT_D) {\n // day\n for (let i = 1; i < 32; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_HH || format === FORMAT_H) {\n // 24-hour\n for (let i = 0; i < 24; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_mm || format === FORMAT_m) {\n // minutes\n for (let i = 0; i < 60; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_ss || format === FORMAT_s) {\n // seconds\n for (let i = 0; i < 60; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_A || format === FORMAT_a) {\n // AM/PM\n opts.push('am', 'pm');\n }\n return opts;\n};\nconst dateSortValue = (year, month, day, hour = 0, minute = 0) => {\n return parseInt(`1${fourDigit(year)}${twoDigit(month)}${twoDigit(day)}${twoDigit(hour)}${twoDigit(minute)}`, 10);\n};\nconst dateDataSortValue = (data) => {\n return dateSortValue(data.year, data.month, data.day, data.hour, data.minute);\n};\nconst daysInMonth = (month, year) => {\n return (month === 4 || month === 6 || month === 9 || month === 11) ? 30 : (month === 2) ? isLeapYear(year) ? 29 : 28 : 31;\n};\nconst isLeapYear = (year) => {\n return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);\n};\nconst ISO_8601_REGEXP = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\nconst TIME_REGEXP = /^((\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\nconst parseDate = (val) => {\n // manually parse IS0 cuz Date.parse cannot be trusted\n // ISO 8601 format: 1994-12-15T13:47:20Z\n let parse = null;\n if (val != null && val !== '') {\n // try parsing for just time first, HH:MM\n parse = TIME_REGEXP.exec(val);\n if (parse) {\n // adjust the array so it fits nicely with the datetime parse\n parse.unshift(undefined, undefined);\n parse[2] = parse[3] = undefined;\n }\n else {\n // try parsing for full ISO datetime\n parse = ISO_8601_REGEXP.exec(val);\n }\n }\n if (parse === null) {\n // wasn't able to parse the ISO datetime\n return undefined;\n }\n // ensure all the parse values exist with at least 0\n for (let i = 1; i < 8; i++) {\n parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined;\n }\n let tzOffset = 0;\n if (parse[9] && parse[10]) {\n // hours\n tzOffset = parseInt(parse[10], 10) * 60;\n if (parse[11]) {\n // minutes\n tzOffset += parseInt(parse[11], 10);\n }\n if (parse[9] === '-') {\n // + or -\n tzOffset *= -1;\n }\n }\n return {\n year: parse[1],\n month: parse[2],\n day: parse[3],\n hour: parse[4],\n minute: parse[5],\n second: parse[6],\n millisecond: parse[7],\n tzOffset,\n };\n};\n/**\n * Converts a valid UTC datetime string to JS Date time object.\n * By default uses the users local timezone, but an optional\n * timezone can be provided.\n * Note: This is not meant for time strings\n * such as \"01:47\"\n */\nconst getDateTime = (dateString = '', timeZone = '') => {\n /**\n * If user passed in undefined\n * or null, convert it to the\n * empty string since the rest\n * of this functions expects\n * a string\n */\n if (dateString === undefined || dateString === null) {\n dateString = '';\n }\n /**\n * Ensures that YYYY-MM-DD, YYYY-MM,\n * YYYY-DD, YYYY, etc does not get affected\n * by timezones and stays on the day/month\n * that the user provided\n */\n if (dateString.length === 10 ||\n dateString.length === 7 ||\n dateString.length === 4) {\n dateString += ' ';\n }\n const date = (typeof dateString === 'string' && dateString.length > 0) ? new Date(dateString) : new Date();\n const localDateTime = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n if (timeZone && timeZone.length > 0) {\n return new Date(date.getTime() - getTimezoneOffset(localDateTime, timeZone));\n }\n return localDateTime;\n};\nconst getTimezoneOffset = (localDate, timeZone) => {\n const utcDateTime = new Date(localDate.toLocaleString('en-US', { timeZone: 'utc' }));\n const tzDateTime = new Date(localDate.toLocaleString('en-US', { timeZone }));\n return utcDateTime.getTime() - tzDateTime.getTime();\n};\nconst updateDate = (existingData, newData, displayTimezone) => {\n if (!newData || typeof newData === 'string') {\n const dateTime = getDateTime(newData, displayTimezone);\n if (!Number.isNaN(dateTime.getTime())) {\n newData = dateTime.toISOString();\n }\n }\n if (newData && newData !== '') {\n if (typeof newData === 'string') {\n // new date is a string, and hopefully in the ISO format\n // convert it to our DatetimeData if a valid ISO\n newData = parseDate(newData);\n if (newData) {\n // successfully parsed the ISO string to our DatetimeData\n Object.assign(existingData, newData);\n return true;\n }\n }\n else if ((newData.year || newData.hour || newData.month || newData.day || newData.minute || newData.second)) {\n // newData is from the datetime picker's selected values\n // update the existing datetimeValue with the new values\n if (newData.ampm !== undefined && newData.hour !== undefined) {\n // change the value of the hour based on whether or not it is am or pm\n // if the meridiem is pm and equal to 12, it remains 12\n // otherwise we add 12 to the hour value\n // if the meridiem is am and equal to 12, we change it to 0\n // otherwise we use its current hour value\n // for example: 8 pm becomes 20, 12 am becomes 0, 4 am becomes 4\n newData.hour.value = (newData.ampm.value === 'pm')\n ? (newData.hour.value === 12 ? 12 : newData.hour.value + 12)\n : (newData.hour.value === 12 ? 0 : newData.hour.value);\n }\n // merge new values from the picker's selection\n // to the existing DatetimeData values\n for (const key of Object.keys(newData)) {\n existingData[key] = newData[key].value;\n }\n return true;\n }\n else if (newData.ampm) {\n // Even though in the picker column hour values are between 1 and 12, the hour value is actually normalized\n // to [0, 23] interval. Because of this when changing between AM and PM we have to update the hour so it points\n // to the correct HH hour\n newData.hour = {\n value: newData.hour\n ? newData.hour.value\n : (newData.ampm.value === 'pm'\n ? (existingData.hour < 12 ? existingData.hour + 12 : existingData.hour)\n : (existingData.hour >= 12 ? existingData.hour - 12 : existingData.hour))\n };\n existingData['hour'] = newData['hour'].value;\n existingData['ampm'] = newData['ampm'].value;\n return true;\n }\n // eww, invalid data\n console.warn(`Error parsing date: \"${newData}\". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime`);\n }\n else {\n // blank data, clear everything out\n for (const k in existingData) {\n if (existingData.hasOwnProperty(k)) {\n delete existingData[k];\n }\n }\n }\n return false;\n};\nconst parseTemplate = (template) => {\n const formats = [];\n template = template.replace(/[^\\w\\s]/gi, ' ');\n FORMAT_KEYS.forEach(format => {\n if (format.f.length > 1 && template.indexOf(format.f) > -1 && template.indexOf(format.f + format.f.charAt(0)) < 0) {\n template = template.replace(format.f, ' ' + format.f + ' ');\n }\n });\n const words = template.split(' ').filter(w => w.length > 0);\n words.forEach((word, i) => {\n FORMAT_KEYS.forEach(format => {\n if (word === format.f) {\n if (word === FORMAT_A || word === FORMAT_a) {\n // this format is an am/pm format, so it's an \"a\" or \"A\"\n if ((formats.indexOf(FORMAT_h) < 0 && formats.indexOf(FORMAT_hh) < 0) ||\n VALID_AMPM_PREFIX.indexOf(words[i - 1]) === -1) {\n // template does not already have a 12-hour format\n // or this am/pm format doesn't have a hour, minute, or second format immediately before it\n // so do not treat this word \"a\" or \"A\" as the am/pm format\n return;\n }\n }\n formats.push(word);\n }\n });\n });\n return formats;\n};\nconst getValueFromFormat = (date, format) => {\n if (format === FORMAT_A || format === FORMAT_a) {\n return (date.hour < 12 ? 'am' : 'pm');\n }\n if (format === FORMAT_hh || format === FORMAT_h) {\n return (date.hour > 12 ? date.hour - 12 : (date.hour === 0 ? 12 : date.hour));\n }\n return date[convertFormatToKey(format)];\n};\nconst convertFormatToKey = (format) => {\n for (const k in FORMAT_KEYS) {\n if (FORMAT_KEYS[k].f === format) {\n return FORMAT_KEYS[k].k;\n }\n }\n return undefined;\n};\nconst convertDataToISO = (data) => {\n // https://www.w3.org/TR/NOTE-datetime\n let rtn = '';\n if (data.year !== undefined) {\n // YYYY\n rtn = fourDigit(data.year);\n if (data.month !== undefined) {\n // YYYY-MM\n rtn += '-' + twoDigit(data.month);\n if (data.day !== undefined) {\n // YYYY-MM-DD\n rtn += '-' + twoDigit(data.day);\n if (data.hour !== undefined) {\n // YYYY-MM-DDTHH:mm:SS\n rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:${twoDigit(data.second)}`;\n if (data.millisecond > 0) {\n // YYYY-MM-DDTHH:mm:SS.SSS\n rtn += '.' + threeDigit(data.millisecond);\n }\n if (data.tzOffset === undefined) {\n // YYYY-MM-DDTHH:mm:SSZ\n rtn += 'Z';\n }\n else {\n // YYYY-MM-DDTHH:mm:SS+/-HH:mm\n rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60);\n }\n }\n }\n }\n }\n else if (data.hour !== undefined) {\n // HH:mm\n rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute);\n if (data.second !== undefined) {\n // HH:mm:SS\n rtn += ':' + twoDigit(data.second);\n if (data.millisecond !== undefined) {\n // HH:mm:SS.SSS\n rtn += '.' + threeDigit(data.millisecond);\n }\n }\n }\n return rtn;\n};\n/**\n * Use to convert a string of comma separated strings or\n * an array of strings, and clean up any user input\n */\nconst convertToArrayOfStrings = (input, type) => {\n if (input == null) {\n return undefined;\n }\n if (typeof input === 'string') {\n // convert the string to an array of strings\n // auto remove any [] characters\n input = input.replace(/\\[|\\]/g, '').split(',');\n }\n let values;\n if (Array.isArray(input)) {\n // trim up each string value\n values = input.map(val => val.toString().trim());\n }\n if (values === undefined || values.length === 0) {\n console.warn(`Invalid \"${type}Names\". Must be an array of strings, or a comma separated string.`);\n }\n return values;\n};\n/**\n * Use to convert a string of comma separated numbers or\n * an array of numbers, and clean up any user input\n */\nconst convertToArrayOfNumbers = (input, type) => {\n if (typeof input === 'string') {\n // convert the string to an array of strings\n // auto remove any whitespace and [] characters\n input = input.replace(/\\[|\\]|\\s/g, '').split(',');\n }\n let values;\n if (Array.isArray(input)) {\n // ensure each value is an actual number in the returned array\n values = input\n .map((num) => parseInt(num, 10))\n .filter(isFinite);\n }\n else {\n values = [input];\n }\n if (values.length === 0) {\n console.warn(`Invalid \"${type}Values\". Must be an array of numbers, or a comma separated string of numbers.`);\n }\n return values;\n};\nconst twoDigit = (val) => {\n return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2);\n};\nconst threeDigit = (val) => {\n return ('00' + (val !== undefined ? Math.abs(val) : '0')).slice(-3);\n};\nconst fourDigit = (val) => {\n return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4);\n};\nconst FORMAT_YYYY = 'YYYY';\nconst FORMAT_YY = 'YY';\nconst FORMAT_MMMM = 'MMMM';\nconst FORMAT_MMM = 'MMM';\nconst FORMAT_MM = 'MM';\nconst FORMAT_M = 'M';\nconst FORMAT_DDDD = 'DDDD';\nconst FORMAT_DDD = 'DDD';\nconst FORMAT_DD = 'DD';\nconst FORMAT_D = 'D';\nconst FORMAT_HH = 'HH';\nconst FORMAT_H = 'H';\nconst FORMAT_hh = 'hh';\nconst FORMAT_h = 'h';\nconst FORMAT_mm = 'mm';\nconst FORMAT_m = 'm';\nconst FORMAT_ss = 'ss';\nconst FORMAT_s = 's';\nconst FORMAT_A = 'A';\nconst FORMAT_a = 'a';\nconst FORMAT_KEYS = [\n { f: FORMAT_YYYY, k: 'year' },\n { f: FORMAT_MMMM, k: 'month' },\n { f: FORMAT_DDDD, k: 'day' },\n { f: FORMAT_MMM, k: 'month' },\n { f: FORMAT_DDD, k: 'day' },\n { f: FORMAT_YY, k: 'year' },\n { f: FORMAT_MM, k: 'month' },\n { f: FORMAT_DD, k: 'day' },\n { f: FORMAT_HH, k: 'hour' },\n { f: FORMAT_hh, k: 'hour' },\n { f: FORMAT_mm, k: 'minute' },\n { f: FORMAT_ss, k: 'second' },\n { f: FORMAT_M, k: 'month' },\n { f: FORMAT_D, k: 'day' },\n { f: FORMAT_H, k: 'hour' },\n { f: FORMAT_h, k: 'hour' },\n { f: FORMAT_m, k: 'minute' },\n { f: FORMAT_s, k: 'second' },\n { f: FORMAT_A, k: 'ampm' },\n { f: FORMAT_a, k: 'ampm' },\n];\nconst DAY_NAMES = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n];\nconst DAY_SHORT_NAMES = [\n 'Sun',\n 'Mon',\n 'Tue',\n 'Wed',\n 'Thu',\n 'Fri',\n 'Sat',\n];\nconst MONTH_NAMES = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\nconst MONTH_SHORT_NAMES = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\nconst VALID_AMPM_PREFIX = [\n FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s\n];\n\nconst datetimeIosCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}\";\n\nconst datetimeMdCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}\";\n\nconst Datetime = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-dt-${datetimeIds++}`;\n this.locale = {};\n this.datetimeMin = {};\n this.datetimeMax = {};\n this.datetimeValue = {};\n this.isExpanded = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot interact with the datetime.\n */\n this.disabled = false;\n /**\n * If `true`, the datetime appears normal but is not interactive.\n */\n this.readonly = false;\n /**\n * The display format of the date and time as text that shows\n * within the item. When the `pickerFormat` input is not used, then the\n * `displayFormat` is used for both display the formatted text, and determining\n * the datetime picker's columns. See the `pickerFormat` input description for\n * more info. Defaults to `MMM D, YYYY`.\n */\n this.displayFormat = 'MMM D, YYYY';\n /**\n * The text to display on the picker's cancel button.\n */\n this.cancelText = 'Cancel';\n /**\n * The text to display on the picker's \"Done\" button.\n */\n this.doneText = 'Done';\n this.onClick = () => {\n this.setFocus();\n this.open();\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the datetime value when the value changes\n */\n valueChanged() {\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n this.ionChange.emit({\n value: this.value\n });\n }\n componentWillLoad() {\n // first see if locale names were provided in the inputs\n // then check to see if they're in the config\n // if neither were provided then it will use default English names\n this.locale = {\n // this.locale[type] = convertToArrayOfStrings((this[type] ? this[type] : this.config.get(type), type);\n monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),\n dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')\n };\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n }\n /**\n * Opens the datetime overlay.\n */\n async open() {\n if (this.disabled || this.isExpanded) {\n return;\n }\n const pickerOptions = this.generatePickerOptions();\n const picker = await pickerController.create(pickerOptions);\n this.isExpanded = true;\n picker.onDidDismiss().then(() => {\n this.isExpanded = false;\n this.setFocus();\n });\n addEventListener(picker, 'ionPickerColChange', async (event) => {\n const data = event.detail;\n const colSelectedIndex = data.selectedIndex;\n const colOptions = data.options;\n const changeData = {};\n changeData[data.name] = {\n value: colOptions[colSelectedIndex].value\n };\n if (data.name !== 'ampm' && this.datetimeValue.ampm !== undefined) {\n changeData['ampm'] = {\n value: this.datetimeValue.ampm\n };\n }\n this.updateDatetimeValue(changeData);\n picker.columns = this.generateColumns();\n });\n await picker.present();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'datetime': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'interactive-disabled': this.disabled,\n });\n }\n updateDatetimeValue(value) {\n updateDate(this.datetimeValue, value, this.displayTimezone);\n }\n generatePickerOptions() {\n const mode = getIonMode(this);\n this.locale = {\n monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),\n dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')\n };\n const pickerOptions = Object.assign(Object.assign({ mode }, this.pickerOptions), { columns: this.generateColumns() });\n // If the user has not passed in picker buttons,\n // add a cancel and ok button to the picker\n const buttons = pickerOptions.buttons;\n if (!buttons || buttons.length === 0) {\n pickerOptions.buttons = [\n {\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.updateDatetimeValue(this.value);\n this.ionCancel.emit();\n }\n },\n {\n text: this.doneText,\n handler: (data) => {\n this.updateDatetimeValue(data);\n /**\n * Prevent convertDataToISO from doing any\n * kind of transformation based on timezone\n * This cancels out any change it attempts to make\n *\n * Important: Take the timezone offset based on\n * the date that is currently selected, otherwise\n * there can be 1 hr difference when dealing w/ DST\n */\n const date = new Date(convertDataToISO(this.datetimeValue));\n // If a custom display timezone is provided, use that tzOffset value instead\n this.datetimeValue.tzOffset = (this.displayTimezone !== undefined && this.displayTimezone.length > 0)\n ? ((getTimezoneOffset(date, this.displayTimezone)) / 1000 / 60) * -1\n : date.getTimezoneOffset() * -1;\n this.value = convertDataToISO(this.datetimeValue);\n }\n }\n ];\n }\n return pickerOptions;\n }\n generateColumns() {\n // if a picker format wasn't provided, then fallback\n // to use the display format\n let template = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT;\n if (template.length === 0) {\n return [];\n }\n // make sure we've got up to date sizing information\n this.calcMinMax();\n // does not support selecting by day name\n // automatically remove any day name formats\n template = template.replace('DDDD', '{~}').replace('DDD', '{~}');\n if (template.indexOf('D') === -1) {\n // there is not a day in the template\n // replace the day name with a numeric one if it exists\n template = template.replace('{~}', 'D');\n }\n // make sure no day name replacer is left in the string\n template = template.replace(/{~}/g, '');\n // parse apart the given template into an array of \"formats\"\n const columns = parseTemplate(template).map((format) => {\n // loop through each format in the template\n // create a new picker column to build up with data\n const key = convertFormatToKey(format);\n let values;\n // check if they have exact values to use for this date part\n // otherwise use the default date part values\n const self = this;\n values = self[key + 'Values']\n ? convertToArrayOfNumbers(self[key + 'Values'], key)\n : dateValueRange(format, this.datetimeMin, this.datetimeMax);\n const colOptions = values.map(val => {\n return {\n value: val,\n text: renderTextFormat(format, val, undefined, this.locale),\n };\n });\n // cool, we've loaded up the columns with options\n // preselect the option for this column\n const optValue = getDateValue(this.datetimeValue, format);\n const selectedIndex = colOptions.findIndex(opt => opt.value === optValue);\n return {\n name: key,\n selectedIndex: selectedIndex >= 0 ? selectedIndex : 0,\n options: colOptions\n };\n });\n // Normalize min/max\n const min = this.datetimeMin;\n const max = this.datetimeMax;\n ['month', 'day', 'hour', 'minute']\n .filter(name => !columns.find(column => column.name === name))\n .forEach(name => {\n min[name] = 0;\n max[name] = 0;\n });\n return this.validateColumns(divyColumns(columns));\n }\n validateColumns(columns) {\n const today = new Date();\n const minCompareVal = dateDataSortValue(this.datetimeMin);\n const maxCompareVal = dateDataSortValue(this.datetimeMax);\n const yearCol = columns.find(c => c.name === 'year');\n let selectedYear = today.getFullYear();\n if (yearCol) {\n // default to the first value if the current year doesn't exist in the options\n if (!yearCol.options.find(col => col.value === today.getFullYear())) {\n selectedYear = yearCol.options[0].value;\n }\n const selectedIndex = yearCol.selectedIndex;\n if (selectedIndex !== undefined) {\n const yearOpt = yearCol.options[selectedIndex];\n if (yearOpt) {\n // they have a selected year value\n selectedYear = yearOpt.value;\n }\n }\n }\n const selectedMonth = this.validateColumn(columns, 'month', 1, minCompareVal, maxCompareVal, [selectedYear, 0, 0, 0, 0], [selectedYear, 12, 31, 23, 59]);\n const numDaysInMonth = daysInMonth(selectedMonth, selectedYear);\n const selectedDay = this.validateColumn(columns, 'day', 2, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, 0, 0, 0], [selectedYear, selectedMonth, numDaysInMonth, 23, 59]);\n const selectedHour = this.validateColumn(columns, 'hour', 3, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, 0, 0], [selectedYear, selectedMonth, selectedDay, 23, 59]);\n this.validateColumn(columns, 'minute', 4, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, selectedHour, 0], [selectedYear, selectedMonth, selectedDay, selectedHour, 59]);\n return columns;\n }\n calcMinMax() {\n const todaysYear = new Date().getFullYear();\n if (this.yearValues !== undefined) {\n const years = convertToArrayOfNumbers(this.yearValues, 'year');\n if (this.min === undefined) {\n this.min = Math.min(...years).toString();\n }\n if (this.max === undefined) {\n this.max = Math.max(...years).toString();\n }\n }\n else {\n if (this.min === undefined) {\n this.min = (todaysYear - 100).toString();\n }\n if (this.max === undefined) {\n this.max = todaysYear.toString();\n }\n }\n const min = this.datetimeMin = parseDate(this.min);\n const max = this.datetimeMax = parseDate(this.max);\n min.year = min.year || todaysYear;\n max.year = max.year || todaysYear;\n min.month = min.month || 1;\n max.month = max.month || 12;\n min.day = min.day || 1;\n max.day = max.day || 31;\n min.hour = min.hour || 0;\n max.hour = max.hour === undefined ? 23 : max.hour;\n min.minute = min.minute || 0;\n max.minute = max.minute === undefined ? 59 : max.minute;\n min.second = min.second || 0;\n max.second = max.second === undefined ? 59 : max.second;\n // Ensure min/max constraints\n if (min.year > max.year) {\n console.error('min.year > max.year');\n min.year = max.year - 100;\n }\n if (min.year === max.year) {\n if (min.month > max.month) {\n console.error('min.month > max.month');\n min.month = 1;\n }\n else if (min.month === max.month && min.day > max.day) {\n console.error('min.day > max.day');\n min.day = 1;\n }\n }\n }\n validateColumn(columns, name, index, min, max, lowerBounds, upperBounds) {\n const column = columns.find(c => c.name === name);\n if (!column) {\n return 0;\n }\n const lb = lowerBounds.slice();\n const ub = upperBounds.slice();\n const options = column.options;\n let indexMin = options.length - 1;\n let indexMax = 0;\n for (let i = 0; i < options.length; i++) {\n const opts = options[i];\n const value = opts.value;\n lb[index] = opts.value;\n ub[index] = opts.value;\n const disabled = opts.disabled = (value < lowerBounds[index] ||\n value > upperBounds[index] ||\n dateSortValue(ub[0], ub[1], ub[2], ub[3], ub[4]) < min ||\n dateSortValue(lb[0], lb[1], lb[2], lb[3], lb[4]) > max);\n if (!disabled) {\n indexMin = Math.min(indexMin, i);\n indexMax = Math.max(indexMax, i);\n }\n }\n const selectedIndex = column.selectedIndex = clamp(indexMin, column.selectedIndex, indexMax);\n const opt = column.options[selectedIndex];\n if (opt) {\n return opt.value;\n }\n return 0;\n }\n get text() {\n // create the text of the formatted data\n const template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT;\n if (this.value === undefined ||\n this.value === null ||\n this.value.length === 0) {\n return;\n }\n return renderDatetime(template, this.datetimeValue, this.locale);\n }\n hasValue() {\n return this.text !== undefined;\n }\n setFocus() {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n render() {\n const { inputId, text, disabled, readonly, isExpanded, el, placeholder } = this;\n const mode = getIonMode(this);\n const labelId = inputId + '-lbl';\n const label = findItemLabel(el);\n const addPlaceholderClass = (text === undefined && placeholder != null) ? true : false;\n // If selected text has been passed in, use that first\n // otherwise use the placeholder\n const datetimeText = text === undefined\n ? (placeholder != null ? placeholder : '')\n : text;\n const datetimeTextPart = text === undefined\n ? (placeholder != null ? 'placeholder' : undefined)\n : 'text';\n if (label) {\n label.id = labelId;\n }\n renderHiddenInput(true, el, this.name, this.value, this.disabled);\n return (h(Host, { onClick: this.onClick, \"aria-disabled\": disabled ? 'true' : null, \"aria-expanded\": `${isExpanded}`, \"aria-haspopup\": \"true\", \"aria-labelledby\": labelId, class: {\n [mode]: true,\n 'datetime-disabled': disabled,\n 'datetime-readonly': readonly,\n 'datetime-placeholder': addPlaceholderClass,\n 'in-item': hostContext('ion-item', el)\n } }, h(\"div\", { class: \"datetime-text\", part: datetimeTextPart }, datetimeText), h(\"button\", { type: \"button\", onFocus: this.onFocus, onBlur: this.onBlur, disabled: this.disabled, ref: btnEl => this.buttonEl = btnEl })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst divyColumns = (columns) => {\n const columnsWidth = [];\n let col;\n let width;\n for (let i = 0; i < columns.length; i++) {\n col = columns[i];\n columnsWidth.push(0);\n for (const option of col.options) {\n width = option.text.length;\n if (width > columnsWidth[i]) {\n columnsWidth[i] = width;\n }\n }\n }\n if (columnsWidth.length === 2) {\n width = Math.max(columnsWidth[0], columnsWidth[1]);\n columns[0].align = 'right';\n columns[1].align = 'left';\n columns[0].optionsWidth = columns[1].optionsWidth = `${width * 17}px`;\n }\n else if (columnsWidth.length === 3) {\n width = Math.max(columnsWidth[0], columnsWidth[2]);\n columns[0].align = 'right';\n columns[1].columnWidth = `${columnsWidth[1] * 17}px`;\n columns[0].optionsWidth = columns[2].optionsWidth = `${width * 17}px`;\n columns[2].align = 'left';\n }\n return columns;\n};\nconst DEFAULT_FORMAT = 'MMM D, YYYY';\nlet datetimeIds = 0;\nDatetime.style = {\n ios: datetimeIosCss,\n md: datetimeMdCss\n};\n\n/**\n * iOS Picker Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.picker-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * iOS Picker Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.01);\n wrapperAnimation\n .addElement(baseEl.querySelector('.picker-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst pickerIosCss = \".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-ios{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}\";\n\nconst pickerMdCss = \".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}\";\n\nconst Picker = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionPickerDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPickerWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPickerWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPickerDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * Array of buttons to be displayed at the top of the picker.\n */\n this.buttons = [];\n /**\n * Array of columns to be displayed in the picker.\n */\n this.columns = [];\n /**\n * Number of milliseconds to wait before dismissing the picker.\n */\n this.duration = 0;\n /**\n * If `true`, a backdrop will be displayed behind the picker.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the picker will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the picker will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.buttons.find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the picker overlay after it has been created.\n */\n async present() {\n await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);\n }\n }\n /**\n * Dismiss the picker 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 picker.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the picker.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n if (this.durationTimeout) {\n clearTimeout(this.durationTimeout);\n }\n return dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the picker did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPickerDidDismiss');\n }\n /**\n * Returns a promise that resolves when the picker will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPickerWillDismiss');\n }\n /**\n * Get the column that matches the specified name.\n *\n * @param name The name of the column.\n */\n getColumn(name) {\n return Promise.resolve(this.columns.find(column => column.name === name));\n }\n async buttonClick(button) {\n const role = button.role;\n if (isCancel(role)) {\n return this.dismiss(undefined, role);\n }\n const shouldDismiss = await this.callButtonHandler(button);\n if (shouldDismiss) {\n return this.dismiss(this.getSelected(), button.role);\n }\n return Promise.resolve();\n }\n async callButtonHandler(button) {\n if (button) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const rtn = await safeCall(button.handler, this.getSelected());\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n }\n return true;\n }\n getSelected() {\n const selected = {};\n this.columns.forEach((col, index) => {\n const selectedColumn = col.selectedIndex !== undefined\n ? col.options[col.selectedIndex]\n : undefined;\n selected[col.name] = {\n text: selectedColumn ? selectedColumn.text : undefined,\n value: selectedColumn ? selectedColumn.value : undefined,\n columnIndex: index\n };\n });\n return selected;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { \"aria-modal\": \"true\", tabindex: \"-1\", class: Object.assign({ [mode]: true,\n // Used internally for styling\n [`picker-${mode}`]: true }, getClassMap(this.cssClass)), style: {\n zIndex: `${20000 + this.overlayIndex}`\n }, onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"picker-wrapper ion-overlay-wrapper\", role: \"dialog\" }, h(\"div\", { class: \"picker-toolbar\" }, this.buttons.map(b => (h(\"div\", { class: buttonWrapperClass(b) }, h(\"button\", { type: \"button\", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h(\"div\", { class: \"picker-columns\" }, h(\"div\", { class: \"picker-above-highlight\" }), this.presented && this.columns.map(c => h(\"ion-picker-column\", { col: c })), h(\"div\", { class: \"picker-below-highlight\" }))), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst buttonWrapperClass = (button) => {\n return {\n [`picker-toolbar-${button.role}`]: button.role !== undefined,\n 'picker-toolbar-button': true\n };\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));\n};\nPicker.style = {\n ios: pickerIosCss,\n md: pickerMdCss\n};\n\nconst pickerColumnIosCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}\";\n\nconst pickerColumnMdCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}\";\n\nconst PickerColumnCmp = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionPickerColChange = createEvent(this, \"ionPickerColChange\", 7);\n this.optHeight = 0;\n this.rotateFactor = 0;\n this.scaleFactor = 1;\n this.velocity = 0;\n this.y = 0;\n this.noAnimate = true;\n }\n colChanged() {\n this.refresh();\n }\n async connectedCallback() {\n let pickerRotateFactor = 0;\n let pickerScaleFactor = 0.81;\n const mode = getIonMode(this);\n if (mode === 'ios') {\n pickerRotateFactor = -0.46;\n pickerScaleFactor = 1;\n }\n this.rotateFactor = pickerRotateFactor;\n this.scaleFactor = pickerScaleFactor;\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'picker-swipe',\n gesturePriority: 100,\n threshold: 0,\n passive: false,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gesture.enable();\n this.tmrId = setTimeout(() => {\n this.noAnimate = false;\n this.refresh(true);\n }, 250);\n }\n componentDidLoad() {\n const colEl = this.optsEl;\n if (colEl) {\n // DOM READ\n // We perfom a DOM read over a rendered item, this needs to happen after the first render\n this.optHeight = (colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0);\n }\n this.refresh();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this.rafId);\n clearTimeout(this.tmrId);\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n emitColChange() {\n this.ionPickerColChange.emit(this.col);\n }\n setSelected(selectedIndex, duration) {\n // if there is a selected index, then figure out it's y position\n // if there isn't a selected index, then just use the top y position\n const y = (selectedIndex > -1) ? -(selectedIndex * this.optHeight) : 0;\n this.velocity = 0;\n // set what y position we're at\n cancelAnimationFrame(this.rafId);\n this.update(y, duration, true);\n this.emitColChange();\n }\n update(y, duration, saveY) {\n if (!this.optsEl) {\n return;\n }\n // ensure we've got a good round number :)\n let translateY = 0;\n let translateZ = 0;\n const { col, rotateFactor } = this;\n const selectedIndex = col.selectedIndex = this.indexForY(-y);\n const durationStr = (duration === 0) ? '' : duration + 'ms';\n const scaleStr = `scale(${this.scaleFactor})`;\n const children = this.optsEl.children;\n for (let i = 0; i < children.length; i++) {\n const button = children[i];\n const opt = col.options[i];\n const optOffset = (i * this.optHeight) + y;\n let transform = '';\n if (rotateFactor !== 0) {\n const rotateX = optOffset * rotateFactor;\n if (Math.abs(rotateX) <= 90) {\n translateY = 0;\n translateZ = 90;\n transform = `rotateX(${rotateX}deg) `;\n }\n else {\n translateY = -9999;\n }\n }\n else {\n translateZ = 0;\n translateY = optOffset;\n }\n const selected = selectedIndex === i;\n transform += `translate3d(0px,${translateY}px,${translateZ}px) `;\n if (this.scaleFactor !== 1 && !selected) {\n transform += scaleStr;\n }\n // Update transition duration\n if (this.noAnimate) {\n opt.duration = 0;\n button.style.transitionDuration = '';\n }\n else if (duration !== opt.duration) {\n opt.duration = duration;\n button.style.transitionDuration = durationStr;\n }\n // Update transform\n if (transform !== opt.transform) {\n opt.transform = transform;\n button.style.transform = transform;\n }\n // Update selected item\n if (selected !== opt.selected) {\n opt.selected = selected;\n if (selected) {\n button.classList.add(PICKER_OPT_SELECTED);\n }\n else {\n button.classList.remove(PICKER_OPT_SELECTED);\n }\n }\n }\n this.col.prevSelected = selectedIndex;\n if (saveY) {\n this.y = y;\n }\n if (this.lastIndex !== selectedIndex) {\n // have not set a last index yet\n hapticSelectionChanged();\n this.lastIndex = selectedIndex;\n }\n }\n decelerate() {\n if (this.velocity !== 0) {\n // still decelerating\n this.velocity *= DECELERATION_FRICTION;\n // do not let it go slower than a velocity of 1\n this.velocity = (this.velocity > 0)\n ? Math.max(this.velocity, 1)\n : Math.min(this.velocity, -1);\n let y = this.y + this.velocity;\n if (y > this.minY) {\n // whoops, it's trying to scroll up farther than the options we have!\n y = this.minY;\n this.velocity = 0;\n }\n else if (y < this.maxY) {\n // gahh, it's trying to scroll down farther than we can!\n y = this.maxY;\n this.velocity = 0;\n }\n this.update(y, 0, true);\n const notLockedIn = (Math.round(y) % this.optHeight !== 0) || (Math.abs(this.velocity) > 1);\n if (notLockedIn) {\n // isn't locked in yet, keep decelerating until it is\n this.rafId = requestAnimationFrame(() => this.decelerate());\n }\n else {\n this.velocity = 0;\n this.emitColChange();\n hapticSelectionEnd();\n }\n }\n else if (this.y % this.optHeight !== 0) {\n // needs to still get locked into a position so options line up\n const currentPos = Math.abs(this.y % this.optHeight);\n // create a velocity in the direction it needs to scroll\n this.velocity = (currentPos > (this.optHeight / 2) ? 1 : -1);\n this.decelerate();\n }\n }\n indexForY(y) {\n return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);\n }\n // TODO should this check disabled?\n onStart(detail) {\n // We have to prevent default in order to block scrolling under the picker\n // but we DO NOT have to stop propagation, since we still want\n // some \"click\" events to capture\n if (detail.event.cancelable) {\n detail.event.preventDefault();\n }\n detail.event.stopPropagation();\n hapticSelectionStart();\n // reset everything\n cancelAnimationFrame(this.rafId);\n const options = this.col.options;\n let minY = (options.length - 1);\n let maxY = 0;\n for (let i = 0; i < options.length; i++) {\n if (!options[i].disabled) {\n minY = Math.min(minY, i);\n maxY = Math.max(maxY, i);\n }\n }\n this.minY = -(minY * this.optHeight);\n this.maxY = -(maxY * this.optHeight);\n }\n onMove(detail) {\n if (detail.event.cancelable) {\n detail.event.preventDefault();\n }\n detail.event.stopPropagation();\n // update the scroll position relative to pointer start position\n let y = this.y + detail.deltaY;\n if (y > this.minY) {\n // scrolling up higher than scroll area\n y = Math.pow(y, 0.8);\n this.bounceFrom = y;\n }\n else if (y < this.maxY) {\n // scrolling down below scroll area\n y += Math.pow(this.maxY - y, 0.9);\n this.bounceFrom = y;\n }\n else {\n this.bounceFrom = 0;\n }\n this.update(y, 0, false);\n }\n onEnd(detail) {\n if (this.bounceFrom > 0) {\n // bounce back up\n this.update(this.minY, 100, true);\n this.emitColChange();\n return;\n }\n else if (this.bounceFrom < 0) {\n // bounce back down\n this.update(this.maxY, 100, true);\n this.emitColChange();\n return;\n }\n this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);\n if (this.velocity === 0 && detail.deltaY === 0) {\n const opt = detail.event.target.closest('.picker-opt');\n if (opt && opt.hasAttribute('opt-index')) {\n this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);\n }\n }\n else {\n this.y += detail.deltaY;\n if (Math.abs(detail.velocityY) < 0.05) {\n const isScrollingUp = detail.deltaY > 0;\n const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;\n if (isScrollingUp && optHeightFraction > 0.5) {\n this.velocity = Math.abs(this.velocity) * -1;\n }\n else if (!isScrollingUp && optHeightFraction <= 0.5) {\n this.velocity = Math.abs(this.velocity);\n }\n }\n this.decelerate();\n }\n }\n refresh(forceRefresh) {\n let min = this.col.options.length - 1;\n let max = 0;\n const options = this.col.options;\n for (let i = 0; i < options.length; i++) {\n if (!options[i].disabled) {\n min = Math.min(min, i);\n max = Math.max(max, i);\n }\n }\n /**\n * Only update selected value if column has a\n * velocity of 0. If it does not, then the\n * column is animating might land on\n * a value different than the value at\n * selectedIndex\n */\n if (this.velocity !== 0) {\n return;\n }\n const selectedIndex = clamp(min, this.col.selectedIndex || 0, max);\n if (this.col.prevSelected !== selectedIndex || forceRefresh) {\n const y = (selectedIndex * this.optHeight) * -1;\n this.velocity = 0;\n this.update(y, TRANSITION_DURATION, true);\n }\n }\n render() {\n const col = this.col;\n const Button = 'button';\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'picker-col': true,\n 'picker-opts-left': this.col.align === 'left',\n 'picker-opts-right': this.col.align === 'right'\n }, style: {\n 'max-width': this.col.columnWidth\n } }, col.prefix && (h(\"div\", { class: \"picker-prefix\", style: { width: col.prefixWidth } }, col.prefix)), h(\"div\", { class: \"picker-opts\", style: { maxWidth: col.optionsWidth }, ref: el => this.optsEl = el }, col.options.map((o, index) => h(Button, { type: \"button\", class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, \"opt-index\": index }, o.text))), col.suffix && (h(\"div\", { class: \"picker-suffix\", style: { width: col.suffixWidth } }, col.suffix))));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"col\": [\"colChanged\"]\n }; }\n};\nconst PICKER_OPT_SELECTED = 'picker-opt-selected';\nconst DECELERATION_FRICTION = 0.97;\nconst MAX_PICKER_SPEED = 90;\nconst TRANSITION_DURATION = 150;\nPickerColumnCmp.style = {\n ios: pickerColumnIosCss,\n md: pickerColumnMdCss\n};\n\nexport { Datetime as ion_datetime, Picker as ion_picker, PickerColumnCmp as ion_picker_column };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/11-es5.js b/android/app/src/main/assets/public/11-es5.js new file mode 100644 index 000000000..44f390dbc --- /dev/null +++ b/android/app/src/main/assets/public/11-es5.js @@ -0,0 +1,2169 @@ +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js": + /*!*******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js ***! + \*******************************************************************/ + + /*! exports provided: ion_datetime, ion_picker, ion_picker_column */ + + /***/ + function node_modulesIonicCoreDistEsmIonDatetime_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_datetime", function () { + return Datetime; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_picker", function () { + return Picker; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_picker_column", function () { + return PickerColumnCmp; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./haptic-27b3f981.js */ + "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /** + * Gets a date value given a format + * Defaults to the current date if + * no date given + */ + + + var getDateValue = function getDateValue(date, format) { + var getValue = getValueFromFormat(date, format); + + if (getValue !== undefined) { + if (format === FORMAT_A || format === FORMAT_a) { + date.ampm = getValue; + } + + return getValue; + } + + var defaultDate = parseDate(new Date().toISOString()); + return getValueFromFormat(defaultDate, format); + }; + + var renderDatetime = function renderDatetime(template, value, locale) { + if (value === undefined) { + return undefined; + } + + var tokens = []; + var hasText = false; + FORMAT_KEYS.forEach(function (format, index) { + if (template.indexOf(format.f) > -1) { + var token = '{' + index + '}'; + var text = renderTextFormat(format.f, value[format.k], value, locale); + + if (!hasText && text !== undefined && value[format.k] != null) { + hasText = true; + } + + tokens.push(token, text || ''); + template = template.replace(format.f, token); + } + }); + + if (!hasText) { + return undefined; + } + + for (var i = 0; i < tokens.length; i += 2) { + template = template.replace(tokens[i], tokens[i + 1]); + } + + return template; + }; + + var renderTextFormat = function renderTextFormat(format, value, date, locale) { + if (format === FORMAT_DDDD || format === FORMAT_DDD) { + try { + value = new Date(date.year, date.month - 1, date.day).getDay(); + + if (format === FORMAT_DDDD) { + return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value]; + } + + return (locale.dayShortNames ? locale.dayShortNames : DAY_SHORT_NAMES)[value]; + } catch (e) {// ignore + } + + return undefined; + } + + if (format === FORMAT_A) { + return date !== undefined && date.hour !== undefined ? date.hour < 12 ? 'AM' : 'PM' : value ? value.toUpperCase() : ''; + } + + if (format === FORMAT_a) { + return date !== undefined && date.hour !== undefined ? date.hour < 12 ? 'am' : 'pm' : value || ''; + } + + if (value == null) { + return ''; + } + + if (format === FORMAT_YY || format === FORMAT_MM || format === FORMAT_DD || format === FORMAT_HH || format === FORMAT_mm || format === FORMAT_ss) { + return twoDigit(value); + } + + if (format === FORMAT_YYYY) { + return fourDigit(value); + } + + if (format === FORMAT_MMMM) { + return (locale.monthNames ? locale.monthNames : MONTH_NAMES)[value - 1]; + } + + if (format === FORMAT_MMM) { + return (locale.monthShortNames ? locale.monthShortNames : MONTH_SHORT_NAMES)[value - 1]; + } + + if (format === FORMAT_hh || format === FORMAT_h) { + if (value === 0) { + return '12'; + } + + if (value > 12) { + value -= 12; + } + + if (format === FORMAT_hh && value < 10) { + return '0' + value; + } + } + + return value.toString(); + }; + + var dateValueRange = function dateValueRange(format, min, max) { + var opts = []; + + if (format === FORMAT_YYYY || format === FORMAT_YY) { + // year + if (max.year === undefined || min.year === undefined) { + throw new Error('min and max year is undefined'); + } + + for (var i = max.year; i >= min.year; i--) { + opts.push(i); + } + } else if (format === FORMAT_MMMM || format === FORMAT_MMM || format === FORMAT_MM || format === FORMAT_M || format === FORMAT_hh || format === FORMAT_h) { + // month or 12-hour + for (var _i = 1; _i < 13; _i++) { + opts.push(_i); + } + } else if (format === FORMAT_DDDD || format === FORMAT_DDD || format === FORMAT_DD || format === FORMAT_D) { + // day + for (var _i2 = 1; _i2 < 32; _i2++) { + opts.push(_i2); + } + } else if (format === FORMAT_HH || format === FORMAT_H) { + // 24-hour + for (var _i3 = 0; _i3 < 24; _i3++) { + opts.push(_i3); + } + } else if (format === FORMAT_mm || format === FORMAT_m) { + // minutes + for (var _i4 = 0; _i4 < 60; _i4++) { + opts.push(_i4); + } + } else if (format === FORMAT_ss || format === FORMAT_s) { + // seconds + for (var _i5 = 0; _i5 < 60; _i5++) { + opts.push(_i5); + } + } else if (format === FORMAT_A || format === FORMAT_a) { + // AM/PM + opts.push('am', 'pm'); + } + + return opts; + }; + + var dateSortValue = function dateSortValue(year, month, day) { + var hour = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var minute = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + return parseInt("1".concat(fourDigit(year)).concat(twoDigit(month)).concat(twoDigit(day)).concat(twoDigit(hour)).concat(twoDigit(minute)), 10); + }; + + var dateDataSortValue = function dateDataSortValue(data) { + return dateSortValue(data.year, data.month, data.day, data.hour, data.minute); + }; + + var daysInMonth = function daysInMonth(month, year) { + return month === 4 || month === 6 || month === 9 || month === 11 ? 30 : month === 2 ? isLeapYear(year) ? 29 : 28 : 31; + }; + + var isLeapYear = function isLeapYear(year) { + return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; + }; + + var ISO_8601_REGEXP = /^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/; + var TIME_REGEXP = /^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/; + + var parseDate = function parseDate(val) { + // manually parse IS0 cuz Date.parse cannot be trusted + // ISO 8601 format: 1994-12-15T13:47:20Z + var parse = null; + + if (val != null && val !== '') { + // try parsing for just time first, HH:MM + parse = TIME_REGEXP.exec(val); + + if (parse) { + // adjust the array so it fits nicely with the datetime parse + parse.unshift(undefined, undefined); + parse[2] = parse[3] = undefined; + } else { + // try parsing for full ISO datetime + parse = ISO_8601_REGEXP.exec(val); + } + } + + if (parse === null) { + // wasn't able to parse the ISO datetime + return undefined; + } // ensure all the parse values exist with at least 0 + + + for (var i = 1; i < 8; i++) { + parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined; + } + + var tzOffset = 0; + + if (parse[9] && parse[10]) { + // hours + tzOffset = parseInt(parse[10], 10) * 60; + + if (parse[11]) { + // minutes + tzOffset += parseInt(parse[11], 10); + } + + if (parse[9] === '-') { + // + or - + tzOffset *= -1; + } + } + + return { + year: parse[1], + month: parse[2], + day: parse[3], + hour: parse[4], + minute: parse[5], + second: parse[6], + millisecond: parse[7], + tzOffset: tzOffset + }; + }; + /** + * Converts a valid UTC datetime string to JS Date time object. + * By default uses the users local timezone, but an optional + * timezone can be provided. + * Note: This is not meant for time strings + * such as "01:47" + */ + + + var getDateTime = function getDateTime() { + var dateString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var timeZone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + + /** + * If user passed in undefined + * or null, convert it to the + * empty string since the rest + * of this functions expects + * a string + */ + if (dateString === undefined || dateString === null) { + dateString = ''; + } + /** + * Ensures that YYYY-MM-DD, YYYY-MM, + * YYYY-DD, YYYY, etc does not get affected + * by timezones and stays on the day/month + * that the user provided + */ + + + if (dateString.length === 10 || dateString.length === 7 || dateString.length === 4) { + dateString += ' '; + } + + var date = typeof dateString === 'string' && dateString.length > 0 ? new Date(dateString) : new Date(); + var localDateTime = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); + + if (timeZone && timeZone.length > 0) { + return new Date(date.getTime() - getTimezoneOffset(localDateTime, timeZone)); + } + + return localDateTime; + }; + + var getTimezoneOffset = function getTimezoneOffset(localDate, timeZone) { + var utcDateTime = new Date(localDate.toLocaleString('en-US', { + timeZone: 'utc' + })); + var tzDateTime = new Date(localDate.toLocaleString('en-US', { + timeZone: timeZone + })); + return utcDateTime.getTime() - tzDateTime.getTime(); + }; + + var updateDate = function updateDate(existingData, newData, displayTimezone) { + if (!newData || typeof newData === 'string') { + var dateTime = getDateTime(newData, displayTimezone); + + if (!Number.isNaN(dateTime.getTime())) { + newData = dateTime.toISOString(); + } + } + + if (newData && newData !== '') { + if (typeof newData === 'string') { + // new date is a string, and hopefully in the ISO format + // convert it to our DatetimeData if a valid ISO + newData = parseDate(newData); + + if (newData) { + // successfully parsed the ISO string to our DatetimeData + Object.assign(existingData, newData); + return true; + } + } else if (newData.year || newData.hour || newData.month || newData.day || newData.minute || newData.second) { + // newData is from the datetime picker's selected values + // update the existing datetimeValue with the new values + if (newData.ampm !== undefined && newData.hour !== undefined) { + // change the value of the hour based on whether or not it is am or pm + // if the meridiem is pm and equal to 12, it remains 12 + // otherwise we add 12 to the hour value + // if the meridiem is am and equal to 12, we change it to 0 + // otherwise we use its current hour value + // for example: 8 pm becomes 20, 12 am becomes 0, 4 am becomes 4 + newData.hour.value = newData.ampm.value === 'pm' ? newData.hour.value === 12 ? 12 : newData.hour.value + 12 : newData.hour.value === 12 ? 0 : newData.hour.value; + } // merge new values from the picker's selection + // to the existing DatetimeData values + + + for (var _i6 = 0, _Object$keys = Object.keys(newData); _i6 < _Object$keys.length; _i6++) { + var key = _Object$keys[_i6]; + existingData[key] = newData[key].value; + } + + return true; + } else if (newData.ampm) { + // Even though in the picker column hour values are between 1 and 12, the hour value is actually normalized + // to [0, 23] interval. Because of this when changing between AM and PM we have to update the hour so it points + // to the correct HH hour + newData.hour = { + value: newData.hour ? newData.hour.value : newData.ampm.value === 'pm' ? existingData.hour < 12 ? existingData.hour + 12 : existingData.hour : existingData.hour >= 12 ? existingData.hour - 12 : existingData.hour + }; + existingData['hour'] = newData['hour'].value; + existingData['ampm'] = newData['ampm'].value; + return true; + } // eww, invalid data + + + console.warn("Error parsing date: \"".concat(newData, "\". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime")); + } else { + // blank data, clear everything out + for (var k in existingData) { + if (existingData.hasOwnProperty(k)) { + delete existingData[k]; + } + } + } + + return false; + }; + + var parseTemplate = function parseTemplate(template) { + var formats = []; + template = template.replace(/[^\w\s]/gi, ' '); + FORMAT_KEYS.forEach(function (format) { + if (format.f.length > 1 && template.indexOf(format.f) > -1 && template.indexOf(format.f + format.f.charAt(0)) < 0) { + template = template.replace(format.f, ' ' + format.f + ' '); + } + }); + var words = template.split(' ').filter(function (w) { + return w.length > 0; + }); + words.forEach(function (word, i) { + FORMAT_KEYS.forEach(function (format) { + if (word === format.f) { + if (word === FORMAT_A || word === FORMAT_a) { + // this format is an am/pm format, so it's an "a" or "A" + if (formats.indexOf(FORMAT_h) < 0 && formats.indexOf(FORMAT_hh) < 0 || VALID_AMPM_PREFIX.indexOf(words[i - 1]) === -1) { + // template does not already have a 12-hour format + // or this am/pm format doesn't have a hour, minute, or second format immediately before it + // so do not treat this word "a" or "A" as the am/pm format + return; + } + } + + formats.push(word); + } + }); + }); + return formats; + }; + + var getValueFromFormat = function getValueFromFormat(date, format) { + if (format === FORMAT_A || format === FORMAT_a) { + return date.hour < 12 ? 'am' : 'pm'; + } + + if (format === FORMAT_hh || format === FORMAT_h) { + return date.hour > 12 ? date.hour - 12 : date.hour === 0 ? 12 : date.hour; + } + + return date[convertFormatToKey(format)]; + }; + + var convertFormatToKey = function convertFormatToKey(format) { + for (var k in FORMAT_KEYS) { + if (FORMAT_KEYS[k].f === format) { + return FORMAT_KEYS[k].k; + } + } + + return undefined; + }; + + var convertDataToISO = function convertDataToISO(data) { + // https://www.w3.org/TR/NOTE-datetime + var rtn = ''; + + if (data.year !== undefined) { + // YYYY + rtn = fourDigit(data.year); + + if (data.month !== undefined) { + // YYYY-MM + rtn += '-' + twoDigit(data.month); + + if (data.day !== undefined) { + // YYYY-MM-DD + rtn += '-' + twoDigit(data.day); + + if (data.hour !== undefined) { + // YYYY-MM-DDTHH:mm:SS + rtn += "T".concat(twoDigit(data.hour), ":").concat(twoDigit(data.minute), ":").concat(twoDigit(data.second)); + + if (data.millisecond > 0) { + // YYYY-MM-DDTHH:mm:SS.SSS + rtn += '.' + threeDigit(data.millisecond); + } + + if (data.tzOffset === undefined) { + // YYYY-MM-DDTHH:mm:SSZ + rtn += 'Z'; + } else { + // YYYY-MM-DDTHH:mm:SS+/-HH:mm + rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60); + } + } + } + } + } else if (data.hour !== undefined) { + // HH:mm + rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute); + + if (data.second !== undefined) { + // HH:mm:SS + rtn += ':' + twoDigit(data.second); + + if (data.millisecond !== undefined) { + // HH:mm:SS.SSS + rtn += '.' + threeDigit(data.millisecond); + } + } + } + + return rtn; + }; + /** + * Use to convert a string of comma separated strings or + * an array of strings, and clean up any user input + */ + + + var convertToArrayOfStrings = function convertToArrayOfStrings(input, type) { + if (input == null) { + return undefined; + } + + if (typeof input === 'string') { + // convert the string to an array of strings + // auto remove any [] characters + input = input.replace(/\[|\]/g, '').split(','); + } + + var values; + + if (Array.isArray(input)) { + // trim up each string value + values = input.map(function (val) { + return val.toString().trim(); + }); + } + + if (values === undefined || values.length === 0) { + console.warn("Invalid \"".concat(type, "Names\". Must be an array of strings, or a comma separated string.")); + } + + return values; + }; + /** + * Use to convert a string of comma separated numbers or + * an array of numbers, and clean up any user input + */ + + + var convertToArrayOfNumbers = function convertToArrayOfNumbers(input, type) { + if (typeof input === 'string') { + // convert the string to an array of strings + // auto remove any whitespace and [] characters + input = input.replace(/\[|\]|\s/g, '').split(','); + } + + var values; + + if (Array.isArray(input)) { + // ensure each value is an actual number in the returned array + values = input.map(function (num) { + return parseInt(num, 10); + }).filter(isFinite); + } else { + values = [input]; + } + + if (values.length === 0) { + console.warn("Invalid \"".concat(type, "Values\". Must be an array of numbers, or a comma separated string of numbers.")); + } + + return values; + }; + + var twoDigit = function twoDigit(val) { + return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2); + }; + + var threeDigit = function threeDigit(val) { + return ('00' + (val !== undefined ? Math.abs(val) : '0')).slice(-3); + }; + + var fourDigit = function fourDigit(val) { + return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4); + }; + + var FORMAT_YYYY = 'YYYY'; + var FORMAT_YY = 'YY'; + var FORMAT_MMMM = 'MMMM'; + var FORMAT_MMM = 'MMM'; + var FORMAT_MM = 'MM'; + var FORMAT_M = 'M'; + var FORMAT_DDDD = 'DDDD'; + var FORMAT_DDD = 'DDD'; + var FORMAT_DD = 'DD'; + var FORMAT_D = 'D'; + var FORMAT_HH = 'HH'; + var FORMAT_H = 'H'; + var FORMAT_hh = 'hh'; + var FORMAT_h = 'h'; + var FORMAT_mm = 'mm'; + var FORMAT_m = 'm'; + var FORMAT_ss = 'ss'; + var FORMAT_s = 's'; + var FORMAT_A = 'A'; + var FORMAT_a = 'a'; + var FORMAT_KEYS = [{ + f: FORMAT_YYYY, + k: 'year' + }, { + f: FORMAT_MMMM, + k: 'month' + }, { + f: FORMAT_DDDD, + k: 'day' + }, { + f: FORMAT_MMM, + k: 'month' + }, { + f: FORMAT_DDD, + k: 'day' + }, { + f: FORMAT_YY, + k: 'year' + }, { + f: FORMAT_MM, + k: 'month' + }, { + f: FORMAT_DD, + k: 'day' + }, { + f: FORMAT_HH, + k: 'hour' + }, { + f: FORMAT_hh, + k: 'hour' + }, { + f: FORMAT_mm, + k: 'minute' + }, { + f: FORMAT_ss, + k: 'second' + }, { + f: FORMAT_M, + k: 'month' + }, { + f: FORMAT_D, + k: 'day' + }, { + f: FORMAT_H, + k: 'hour' + }, { + f: FORMAT_h, + k: 'hour' + }, { + f: FORMAT_m, + k: 'minute' + }, { + f: FORMAT_s, + k: 'second' + }, { + f: FORMAT_A, + k: 'ampm' + }, { + f: FORMAT_a, + k: 'ampm' + }]; + var DAY_NAMES = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + var DAY_SHORT_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + var MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + var MONTH_SHORT_NAMES = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + var VALID_AMPM_PREFIX = [FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s]; + var datetimeIosCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}"; + var datetimeMdCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}"; + + var Datetime = /*#__PURE__*/function () { + function Datetime(hostRef) { + var _this = this; + + _classCallCheck(this, Datetime); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = "ion-dt-".concat(datetimeIds++); + this.locale = {}; + this.datetimeMin = {}; + this.datetimeMax = {}; + this.datetimeValue = {}; + this.isExpanded = false; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = this.inputId; + /** + * If `true`, the user cannot interact with the datetime. + */ + + this.disabled = false; + /** + * If `true`, the datetime appears normal but is not interactive. + */ + + this.readonly = false; + /** + * The display format of the date and time as text that shows + * within the item. When the `pickerFormat` input is not used, then the + * `displayFormat` is used for both display the formatted text, and determining + * the datetime picker's columns. See the `pickerFormat` input description for + * more info. Defaults to `MMM D, YYYY`. + */ + + this.displayFormat = 'MMM D, YYYY'; + /** + * The text to display on the picker's cancel button. + */ + + this.cancelText = 'Cancel'; + /** + * The text to display on the picker's "Done" button. + */ + + this.doneText = 'Done'; + + this.onClick = function () { + _this.setFocus(); + + _this.open(); + }; + + this.onFocus = function () { + _this.ionFocus.emit(); + }; + + this.onBlur = function () { + _this.ionBlur.emit(); + }; + } + + _createClass(Datetime, [{ + key: "disabledChanged", + value: function disabledChanged() { + this.emitStyle(); + } + /** + * Update the datetime value when the value changes + */ + + }, { + key: "valueChanged", + value: function valueChanged() { + this.updateDatetimeValue(this.value); + this.emitStyle(); + this.ionChange.emit({ + value: this.value + }); + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + // first see if locale names were provided in the inputs + // then check to see if they're in the config + // if neither were provided then it will use default English names + this.locale = { + // this.locale[type] = convertToArrayOfStrings((this[type] ? this[type] : this.config.get(type), type); + monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'), + monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'), + dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'), + dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames') + }; + this.updateDatetimeValue(this.value); + this.emitStyle(); + } + /** + * Opens the datetime overlay. + */ + + }, { + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var _this2 = this; + + var pickerOptions, picker; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!(this.disabled || this.isExpanded)) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return"); + + case 2: + pickerOptions = this.generatePickerOptions(); + _context2.next = 5; + return _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["p"].create(pickerOptions); + + case 5: + picker = _context2.sent; + this.isExpanded = true; + picker.onDidDismiss().then(function () { + _this2.isExpanded = false; + + _this2.setFocus(); + }); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(picker, 'ionPickerColChange', /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(event) { + var data, colSelectedIndex, colOptions, changeData; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + data = event.detail; + colSelectedIndex = data.selectedIndex; + colOptions = data.options; + changeData = {}; + changeData[data.name] = { + value: colOptions[colSelectedIndex].value + }; + + if (data.name !== 'ampm' && _this2.datetimeValue.ampm !== undefined) { + changeData['ampm'] = { + value: _this2.datetimeValue.ampm + }; + } + + _this2.updateDatetimeValue(changeData); + + picker.columns = _this2.generateColumns(); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function (_x) { + return _ref.apply(this, arguments); + }; + }()); + _context2.next = 11; + return picker.present(); + + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function open() { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'datetime': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'interactive-disabled': this.disabled + }); + } + }, { + key: "updateDatetimeValue", + value: function updateDatetimeValue(value) { + updateDate(this.datetimeValue, value, this.displayTimezone); + } + }, { + key: "generatePickerOptions", + value: function generatePickerOptions() { + var _this3 = this; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.locale = { + monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'), + monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'), + dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'), + dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames') + }; + var pickerOptions = Object.assign(Object.assign({ + mode: mode + }, this.pickerOptions), { + columns: this.generateColumns() + }); // If the user has not passed in picker buttons, + // add a cancel and ok button to the picker + + var buttons = pickerOptions.buttons; + + if (!buttons || buttons.length === 0) { + pickerOptions.buttons = [{ + text: this.cancelText, + role: 'cancel', + handler: function handler() { + _this3.updateDatetimeValue(_this3.value); + + _this3.ionCancel.emit(); + } + }, { + text: this.doneText, + handler: function handler(data) { + _this3.updateDatetimeValue(data); + /** + * Prevent convertDataToISO from doing any + * kind of transformation based on timezone + * This cancels out any change it attempts to make + * + * Important: Take the timezone offset based on + * the date that is currently selected, otherwise + * there can be 1 hr difference when dealing w/ DST + */ + + + var date = new Date(convertDataToISO(_this3.datetimeValue)); // If a custom display timezone is provided, use that tzOffset value instead + + _this3.datetimeValue.tzOffset = _this3.displayTimezone !== undefined && _this3.displayTimezone.length > 0 ? getTimezoneOffset(date, _this3.displayTimezone) / 1000 / 60 * -1 : date.getTimezoneOffset() * -1; + _this3.value = convertDataToISO(_this3.datetimeValue); + } + }]; + } + + return pickerOptions; + } + }, { + key: "generateColumns", + value: function generateColumns() { + var _this4 = this; + + // if a picker format wasn't provided, then fallback + // to use the display format + var template = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT; + + if (template.length === 0) { + return []; + } // make sure we've got up to date sizing information + + + this.calcMinMax(); // does not support selecting by day name + // automatically remove any day name formats + + template = template.replace('DDDD', '{~}').replace('DDD', '{~}'); + + if (template.indexOf('D') === -1) { + // there is not a day in the template + // replace the day name with a numeric one if it exists + template = template.replace('{~}', 'D'); + } // make sure no day name replacer is left in the string + + + template = template.replace(/{~}/g, ''); // parse apart the given template into an array of "formats" + + var columns = parseTemplate(template).map(function (format) { + // loop through each format in the template + // create a new picker column to build up with data + var key = convertFormatToKey(format); + var values; // check if they have exact values to use for this date part + // otherwise use the default date part values + + var self = _this4; + values = self[key + 'Values'] ? convertToArrayOfNumbers(self[key + 'Values'], key) : dateValueRange(format, _this4.datetimeMin, _this4.datetimeMax); + var colOptions = values.map(function (val) { + return { + value: val, + text: renderTextFormat(format, val, undefined, _this4.locale) + }; + }); // cool, we've loaded up the columns with options + // preselect the option for this column + + var optValue = getDateValue(_this4.datetimeValue, format); + var selectedIndex = colOptions.findIndex(function (opt) { + return opt.value === optValue; + }); + return { + name: key, + selectedIndex: selectedIndex >= 0 ? selectedIndex : 0, + options: colOptions + }; + }); // Normalize min/max + + var min = this.datetimeMin; + var max = this.datetimeMax; + ['month', 'day', 'hour', 'minute'].filter(function (name) { + return !columns.find(function (column) { + return column.name === name; + }); + }).forEach(function (name) { + min[name] = 0; + max[name] = 0; + }); + return this.validateColumns(divyColumns(columns)); + } + }, { + key: "validateColumns", + value: function validateColumns(columns) { + var today = new Date(); + var minCompareVal = dateDataSortValue(this.datetimeMin); + var maxCompareVal = dateDataSortValue(this.datetimeMax); + var yearCol = columns.find(function (c) { + return c.name === 'year'; + }); + var selectedYear = today.getFullYear(); + + if (yearCol) { + // default to the first value if the current year doesn't exist in the options + if (!yearCol.options.find(function (col) { + return col.value === today.getFullYear(); + })) { + selectedYear = yearCol.options[0].value; + } + + var selectedIndex = yearCol.selectedIndex; + + if (selectedIndex !== undefined) { + var yearOpt = yearCol.options[selectedIndex]; + + if (yearOpt) { + // they have a selected year value + selectedYear = yearOpt.value; + } + } + } + + var selectedMonth = this.validateColumn(columns, 'month', 1, minCompareVal, maxCompareVal, [selectedYear, 0, 0, 0, 0], [selectedYear, 12, 31, 23, 59]); + var numDaysInMonth = daysInMonth(selectedMonth, selectedYear); + var selectedDay = this.validateColumn(columns, 'day', 2, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, 0, 0, 0], [selectedYear, selectedMonth, numDaysInMonth, 23, 59]); + var selectedHour = this.validateColumn(columns, 'hour', 3, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, 0, 0], [selectedYear, selectedMonth, selectedDay, 23, 59]); + this.validateColumn(columns, 'minute', 4, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, selectedHour, 0], [selectedYear, selectedMonth, selectedDay, selectedHour, 59]); + return columns; + } + }, { + key: "calcMinMax", + value: function calcMinMax() { + var todaysYear = new Date().getFullYear(); + + if (this.yearValues !== undefined) { + var years = convertToArrayOfNumbers(this.yearValues, 'year'); + + if (this.min === undefined) { + this.min = Math.min.apply(Math, _toConsumableArray(years)).toString(); + } + + if (this.max === undefined) { + this.max = Math.max.apply(Math, _toConsumableArray(years)).toString(); + } + } else { + if (this.min === undefined) { + this.min = (todaysYear - 100).toString(); + } + + if (this.max === undefined) { + this.max = todaysYear.toString(); + } + } + + var min = this.datetimeMin = parseDate(this.min); + var max = this.datetimeMax = parseDate(this.max); + min.year = min.year || todaysYear; + max.year = max.year || todaysYear; + min.month = min.month || 1; + max.month = max.month || 12; + min.day = min.day || 1; + max.day = max.day || 31; + min.hour = min.hour || 0; + max.hour = max.hour === undefined ? 23 : max.hour; + min.minute = min.minute || 0; + max.minute = max.minute === undefined ? 59 : max.minute; + min.second = min.second || 0; + max.second = max.second === undefined ? 59 : max.second; // Ensure min/max constraints + + if (min.year > max.year) { + console.error('min.year > max.year'); + min.year = max.year - 100; + } + + if (min.year === max.year) { + if (min.month > max.month) { + console.error('min.month > max.month'); + min.month = 1; + } else if (min.month === max.month && min.day > max.day) { + console.error('min.day > max.day'); + min.day = 1; + } + } + } + }, { + key: "validateColumn", + value: function validateColumn(columns, name, index, min, max, lowerBounds, upperBounds) { + var column = columns.find(function (c) { + return c.name === name; + }); + + if (!column) { + return 0; + } + + var lb = lowerBounds.slice(); + var ub = upperBounds.slice(); + var options = column.options; + var indexMin = options.length - 1; + var indexMax = 0; + + for (var i = 0; i < options.length; i++) { + var opts = options[i]; + var value = opts.value; + lb[index] = opts.value; + ub[index] = opts.value; + var disabled = opts.disabled = value < lowerBounds[index] || value > upperBounds[index] || dateSortValue(ub[0], ub[1], ub[2], ub[3], ub[4]) < min || dateSortValue(lb[0], lb[1], lb[2], lb[3], lb[4]) > max; + + if (!disabled) { + indexMin = Math.min(indexMin, i); + indexMax = Math.max(indexMax, i); + } + } + + var selectedIndex = column.selectedIndex = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(indexMin, column.selectedIndex, indexMax); + var opt = column.options[selectedIndex]; + + if (opt) { + return opt.value; + } + + return 0; + } + }, { + key: "text", + get: function get() { + // create the text of the formatted data + var template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT; + + if (this.value === undefined || this.value === null || this.value.length === 0) { + return; + } + + return renderDatetime(template, this.datetimeValue, this.locale); + } + }, { + key: "hasValue", + value: function hasValue() { + return this.text !== undefined; + } + }, { + key: "setFocus", + value: function setFocus() { + if (this.buttonEl) { + this.buttonEl.focus(); + } + } + }, { + key: "render", + value: function render() { + var _class, + _this5 = this; + + var inputId = this.inputId, + text = this.text, + disabled = this.disabled, + readonly = this.readonly, + isExpanded = this.isExpanded, + el = this.el, + placeholder = this.placeholder; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var labelId = inputId + '-lbl'; + var label = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(el); + var addPlaceholderClass = text === undefined && placeholder != null ? true : false; // If selected text has been passed in, use that first + // otherwise use the placeholder + + var datetimeText = text === undefined ? placeholder != null ? placeholder : '' : text; + var datetimeTextPart = text === undefined ? placeholder != null ? 'placeholder' : undefined : 'text'; + + if (label) { + label.id = labelId; + } + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, this.name, this.value, this.disabled); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "aria-disabled": disabled ? 'true' : null, + "aria-expanded": "".concat(isExpanded), + "aria-haspopup": "true", + "aria-labelledby": labelId, + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'datetime-disabled', disabled), _defineProperty(_class, 'datetime-readonly', readonly), _defineProperty(_class, 'datetime-placeholder', addPlaceholderClass), _defineProperty(_class, 'in-item', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["h"])('ion-item', el)), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "datetime-text", + part: datetimeTextPart + }, datetimeText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + onFocus: this.onFocus, + onBlur: this.onBlur, + disabled: this.disabled, + ref: function ref(btnEl) { + return _this5.buttonEl = btnEl; + } + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; + } + }]); + + return Datetime; + }(); + + var divyColumns = function divyColumns(columns) { + var columnsWidth = []; + var col; + var width; + + for (var i = 0; i < columns.length; i++) { + col = columns[i]; + columnsWidth.push(0); + + var _iterator = _createForOfIteratorHelper(col.options), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var option = _step.value; + width = option.text.length; + + if (width > columnsWidth[i]) { + columnsWidth[i] = width; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + if (columnsWidth.length === 2) { + width = Math.max(columnsWidth[0], columnsWidth[1]); + columns[0].align = 'right'; + columns[1].align = 'left'; + columns[0].optionsWidth = columns[1].optionsWidth = "".concat(width * 17, "px"); + } else if (columnsWidth.length === 3) { + width = Math.max(columnsWidth[0], columnsWidth[2]); + columns[0].align = 'right'; + columns[1].columnWidth = "".concat(columnsWidth[1] * 17, "px"); + columns[0].optionsWidth = columns[2].optionsWidth = "".concat(width * 17, "px"); + columns[2].align = 'left'; + } + + return columns; + }; + + var DEFAULT_FORMAT = 'MMM D, YYYY'; + var datetimeIds = 0; + Datetime.style = { + ios: datetimeIosCss, + md: datetimeMdCss + }; + /** + * iOS Picker Enter Animation + */ + + var iosEnterAnimation = function iosEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.picker-wrapper')).fromTo('transform', 'translateY(100%)', 'translateY(0%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * iOS Picker Leave Animation + */ + + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0.01); + wrapperAnimation.addElement(baseEl.querySelector('.picker-wrapper')).fromTo('transform', 'translateY(0%)', 'translateY(100%)'); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var pickerIosCss = ".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-ios{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}"; + var pickerMdCss = ".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}"; + + var Picker = /*#__PURE__*/function () { + function Picker(hostRef) { + var _this6 = this; + + _classCallCheck(this, Picker); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * Array of buttons to be displayed at the top of the picker. + */ + + this.buttons = []; + /** + * Array of columns to be displayed in the picker. + */ + + this.columns = []; + /** + * Number of milliseconds to wait before dismissing the picker. + */ + + this.duration = 0; + /** + * If `true`, a backdrop will be displayed behind the picker. + */ + + this.showBackdrop = true; + /** + * If `true`, the picker will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = true; + /** + * If `true`, the picker will animate. + */ + + this.animated = true; + + this.onBackdropTap = function () { + _this6.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["B"]); + }; + + this.dispatchCancelHandler = function (ev) { + var role = ev.detail.role; + + if (Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["i"])(role)) { + var cancelButton = _this6.buttons.find(function (b) { + return b.role === 'cancel'; + }); + + _this6.callButtonHandler(cancelButton); + } + }; + } + + _createClass(Picker, [{ + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["e"])(this.el); + } + /** + * Present the picker overlay after it has been created. + */ + + }, { + key: "present", + value: function () { + var _present = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + var _this7 = this; + + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["d"])(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined); + + case 2: + if (this.duration > 0) { + this.durationTimeout = setTimeout(function () { + return _this7.dismiss(); + }, this.duration); + } + + case 3: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function present() { + return _present.apply(this, arguments); + } + + return present; + }() + /** + * Dismiss the picker overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the picker. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the picker. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + + }, { + key: "dismiss", + value: function dismiss(data, role) { + if (this.durationTimeout) { + clearTimeout(this.durationTimeout); + } + + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["f"])(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation); + } + /** + * Returns a promise that resolves when the picker did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["g"])(this.el, 'ionPickerDidDismiss'); + } + /** + * Returns a promise that resolves when the picker will dismiss. + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["g"])(this.el, 'ionPickerWillDismiss'); + } + /** + * Get the column that matches the specified name. + * + * @param name The name of the column. + */ + + }, { + key: "getColumn", + value: function getColumn(name) { + return Promise.resolve(this.columns.find(function (column) { + return column.name === name; + })); + } + }, { + key: "buttonClick", + value: function () { + var _buttonClick = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(button) { + var role, shouldDismiss; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + role = button.role; + + if (!Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["i"])(role)) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return", this.dismiss(undefined, role)); + + case 3: + _context4.next = 5; + return this.callButtonHandler(button); + + case 5: + shouldDismiss = _context4.sent; + + if (!shouldDismiss) { + _context4.next = 8; + break; + } + + return _context4.abrupt("return", this.dismiss(this.getSelected(), button.role)); + + case 8: + return _context4.abrupt("return", Promise.resolve()); + + case 9: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function buttonClick(_x2) { + return _buttonClick.apply(this, arguments); + } + + return buttonClick; + }() + }, { + key: "callButtonHandler", + value: function () { + var _callButtonHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(button) { + var rtn; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + if (!button) { + _context5.next = 6; + break; + } + + _context5.next = 3; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_5__["s"])(button.handler, this.getSelected()); + + case 3: + rtn = _context5.sent; + + if (!(rtn === false)) { + _context5.next = 6; + break; + } + + return _context5.abrupt("return", false); + + case 6: + return _context5.abrupt("return", true); + + case 7: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function callButtonHandler(_x3) { + return _callButtonHandler.apply(this, arguments); + } + + return callButtonHandler; + }() + }, { + key: "getSelected", + value: function getSelected() { + var selected = {}; + this.columns.forEach(function (col, index) { + var selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined; + selected[col.name] = { + text: selectedColumn ? selectedColumn.text : undefined, + value: selectedColumn ? selectedColumn.value : undefined, + columnIndex: index + }; + }); + return selected; + } + }, { + key: "render", + value: function render() { + var _Object$assign, + _this8 = this; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-modal": "true", + tabindex: "-1", + "class": Object.assign((_Object$assign = {}, _defineProperty(_Object$assign, mode, true), _defineProperty(_Object$assign, "picker-".concat(mode), true), _Object$assign), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), + style: { + zIndex: "".concat(20000 + this.overlayIndex) + }, + onIonBackdropTap: this.onBackdropTap, + onIonPickerWillDismiss: this.dispatchCancelHandler + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + visible: this.showBackdrop, + tappable: this.backdropDismiss + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-wrapper ion-overlay-wrapper", + role: "dialog" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-toolbar" + }, this.buttons.map(function (b) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": buttonWrapperClass(b) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + onClick: function onClick() { + return _this8.buttonClick(b); + }, + "class": buttonClass(b) + }, b.text)); + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-columns" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-above-highlight" + }), this.presented && this.columns.map(function (c) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-picker-column", { + col: c + }); + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-below-highlight" + }))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Picker; + }(); + + var buttonWrapperClass = function buttonWrapperClass(button) { + var _ref2; + + return _ref2 = {}, _defineProperty(_ref2, "picker-toolbar-".concat(button.role), button.role !== undefined), _defineProperty(_ref2, 'picker-toolbar-button', true), _ref2; + }; + + var buttonClass = function buttonClass(button) { + return Object.assign({ + 'picker-button': true, + 'ion-activatable': true + }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(button.cssClass)); + }; + + Picker.style = { + ios: pickerIosCss, + md: pickerMdCss + }; + var pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}"; + var pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}"; + + var PickerColumnCmp = /*#__PURE__*/function () { + function PickerColumnCmp(hostRef) { + _classCallCheck(this, PickerColumnCmp); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionPickerColChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPickerColChange", 7); + this.optHeight = 0; + this.rotateFactor = 0; + this.scaleFactor = 1; + this.velocity = 0; + this.y = 0; + this.noAnimate = true; + } + + _createClass(PickerColumnCmp, [{ + key: "colChanged", + value: function colChanged() { + this.refresh(); + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() { + var _this9 = this; + + var pickerRotateFactor, pickerScaleFactor, mode; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + pickerRotateFactor = 0; + pickerScaleFactor = 0.81; + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + if (mode === 'ios') { + pickerRotateFactor = -0.46; + pickerScaleFactor = 1; + } + + this.rotateFactor = pickerRotateFactor; + this.scaleFactor = pickerScaleFactor; + _context6.next = 8; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 8: + this.gesture = _context6.sent.createGesture({ + el: this.el, + gestureName: 'picker-swipe', + gesturePriority: 100, + threshold: 0, + passive: false, + onStart: function onStart(ev) { + return _this9.onStart(ev); + }, + onMove: function onMove(ev) { + return _this9.onMove(ev); + }, + onEnd: function onEnd(ev) { + return _this9.onEnd(ev); + } + }); + this.gesture.enable(); + this.tmrId = setTimeout(function () { + _this9.noAnimate = false; + + _this9.refresh(true); + }, 250); + + case 11: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + var colEl = this.optsEl; + + if (colEl) { + // DOM READ + // We perfom a DOM read over a rendered item, this needs to happen after the first render + this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0; + } + + this.refresh(); + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + cancelAnimationFrame(this.rafId); + clearTimeout(this.tmrId); + + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + }, { + key: "emitColChange", + value: function emitColChange() { + this.ionPickerColChange.emit(this.col); + } + }, { + key: "setSelected", + value: function setSelected(selectedIndex, duration) { + // if there is a selected index, then figure out it's y position + // if there isn't a selected index, then just use the top y position + var y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0; + this.velocity = 0; // set what y position we're at + + cancelAnimationFrame(this.rafId); + this.update(y, duration, true); + this.emitColChange(); + } + }, { + key: "update", + value: function update(y, duration, saveY) { + if (!this.optsEl) { + return; + } // ensure we've got a good round number :) + + + var translateY = 0; + var translateZ = 0; + var col = this.col, + rotateFactor = this.rotateFactor; + var selectedIndex = col.selectedIndex = this.indexForY(-y); + var durationStr = duration === 0 ? '' : duration + 'ms'; + var scaleStr = "scale(".concat(this.scaleFactor, ")"); + var children = this.optsEl.children; + + for (var i = 0; i < children.length; i++) { + var button = children[i]; + var opt = col.options[i]; + var optOffset = i * this.optHeight + y; + var transform = ''; + + if (rotateFactor !== 0) { + var rotateX = optOffset * rotateFactor; + + if (Math.abs(rotateX) <= 90) { + translateY = 0; + translateZ = 90; + transform = "rotateX(".concat(rotateX, "deg) "); + } else { + translateY = -9999; + } + } else { + translateZ = 0; + translateY = optOffset; + } + + var selected = selectedIndex === i; + transform += "translate3d(0px,".concat(translateY, "px,").concat(translateZ, "px) "); + + if (this.scaleFactor !== 1 && !selected) { + transform += scaleStr; + } // Update transition duration + + + if (this.noAnimate) { + opt.duration = 0; + button.style.transitionDuration = ''; + } else if (duration !== opt.duration) { + opt.duration = duration; + button.style.transitionDuration = durationStr; + } // Update transform + + + if (transform !== opt.transform) { + opt.transform = transform; + button.style.transform = transform; + } // Update selected item + + + if (selected !== opt.selected) { + opt.selected = selected; + + if (selected) { + button.classList.add(PICKER_OPT_SELECTED); + } else { + button.classList.remove(PICKER_OPT_SELECTED); + } + } + } + + this.col.prevSelected = selectedIndex; + + if (saveY) { + this.y = y; + } + + if (this.lastIndex !== selectedIndex) { + // have not set a last index yet + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["b"])(); + this.lastIndex = selectedIndex; + } + } + }, { + key: "decelerate", + value: function decelerate() { + var _this10 = this; + + if (this.velocity !== 0) { + // still decelerating + this.velocity *= DECELERATION_FRICTION; // do not let it go slower than a velocity of 1 + + this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1); + var y = this.y + this.velocity; + + if (y > this.minY) { + // whoops, it's trying to scroll up farther than the options we have! + y = this.minY; + this.velocity = 0; + } else if (y < this.maxY) { + // gahh, it's trying to scroll down farther than we can! + y = this.maxY; + this.velocity = 0; + } + + this.update(y, 0, true); + var notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1; + + if (notLockedIn) { + // isn't locked in yet, keep decelerating until it is + this.rafId = requestAnimationFrame(function () { + return _this10.decelerate(); + }); + } else { + this.velocity = 0; + this.emitColChange(); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["h"])(); + } + } else if (this.y % this.optHeight !== 0) { + // needs to still get locked into a position so options line up + var currentPos = Math.abs(this.y % this.optHeight); // create a velocity in the direction it needs to scroll + + this.velocity = currentPos > this.optHeight / 2 ? 1 : -1; + this.decelerate(); + } + } + }, { + key: "indexForY", + value: function indexForY(y) { + return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1); + } // TODO should this check disabled? + + }, { + key: "onStart", + value: function onStart(detail) { + // We have to prevent default in order to block scrolling under the picker + // but we DO NOT have to stop propagation, since we still want + // some "click" events to capture + if (detail.event.cancelable) { + detail.event.preventDefault(); + } + + detail.event.stopPropagation(); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["a"])(); // reset everything + + cancelAnimationFrame(this.rafId); + var options = this.col.options; + var minY = options.length - 1; + var maxY = 0; + + for (var i = 0; i < options.length; i++) { + if (!options[i].disabled) { + minY = Math.min(minY, i); + maxY = Math.max(maxY, i); + } + } + + this.minY = -(minY * this.optHeight); + this.maxY = -(maxY * this.optHeight); + } + }, { + key: "onMove", + value: function onMove(detail) { + if (detail.event.cancelable) { + detail.event.preventDefault(); + } + + detail.event.stopPropagation(); // update the scroll position relative to pointer start position + + var y = this.y + detail.deltaY; + + if (y > this.minY) { + // scrolling up higher than scroll area + y = Math.pow(y, 0.8); + this.bounceFrom = y; + } else if (y < this.maxY) { + // scrolling down below scroll area + y += Math.pow(this.maxY - y, 0.9); + this.bounceFrom = y; + } else { + this.bounceFrom = 0; + } + + this.update(y, 0, false); + } + }, { + key: "onEnd", + value: function onEnd(detail) { + if (this.bounceFrom > 0) { + // bounce back up + this.update(this.minY, 100, true); + this.emitColChange(); + return; + } else if (this.bounceFrom < 0) { + // bounce back down + this.update(this.maxY, 100, true); + this.emitColChange(); + return; + } + + this.velocity = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED); + + if (this.velocity === 0 && detail.deltaY === 0) { + var opt = detail.event.target.closest('.picker-opt'); + + if (opt && opt.hasAttribute('opt-index')) { + this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION); + } + } else { + this.y += detail.deltaY; + + if (Math.abs(detail.velocityY) < 0.05) { + var isScrollingUp = detail.deltaY > 0; + var optHeightFraction = Math.abs(this.y) % this.optHeight / this.optHeight; + + if (isScrollingUp && optHeightFraction > 0.5) { + this.velocity = Math.abs(this.velocity) * -1; + } else if (!isScrollingUp && optHeightFraction <= 0.5) { + this.velocity = Math.abs(this.velocity); + } + } + + this.decelerate(); + } + } + }, { + key: "refresh", + value: function refresh(forceRefresh) { + var min = this.col.options.length - 1; + var max = 0; + var options = this.col.options; + + for (var i = 0; i < options.length; i++) { + if (!options[i].disabled) { + min = Math.min(min, i); + max = Math.max(max, i); + } + } + /** + * Only update selected value if column has a + * velocity of 0. If it does not, then the + * column is animating might land on + * a value different than the value at + * selectedIndex + */ + + + if (this.velocity !== 0) { + return; + } + + var selectedIndex = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(min, this.col.selectedIndex || 0, max); + + if (this.col.prevSelected !== selectedIndex || forceRefresh) { + var y = selectedIndex * this.optHeight * -1; + this.velocity = 0; + this.update(y, TRANSITION_DURATION, true); + } + } + }, { + key: "render", + value: function render() { + var _class2, + _this11 = this; + + var col = this.col; + var Button = 'button'; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'picker-col', true), _defineProperty(_class2, 'picker-opts-left', this.col.align === 'left'), _defineProperty(_class2, 'picker-opts-right', this.col.align === 'right'), _class2), + style: { + 'max-width': this.col.columnWidth + } + }, col.prefix && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-prefix", + style: { + width: col.prefixWidth + } + }, col.prefix), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-opts", + style: { + maxWidth: col.optionsWidth + }, + ref: function ref(el) { + return _this11.optsEl = el; + } + }, col.options.map(function (o, index) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(Button, { + type: "button", + "class": { + 'picker-opt': true, + 'picker-opt-disabled': !!o.disabled + }, + "opt-index": index + }, o.text); + })), col.suffix && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "picker-suffix", + style: { + width: col.suffixWidth + } + }, col.suffix)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "col": ["colChanged"] + }; + } + }]); + + return PickerColumnCmp; + }(); + + var PICKER_OPT_SELECTED = 'picker-opt-selected'; + var DECELERATION_FRICTION = 0.97; + var MAX_PICKER_SPEED = 90; + var TRANSITION_DURATION = 150; + PickerColumnCmp.style = { + ios: pickerColumnIosCss, + md: pickerColumnMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=11-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/11-es5.js.map b/android/app/src/main/assets/public/11-es5.js.map new file mode 100644 index 000000000..e6bef9b58 --- /dev/null +++ b/android/app/src/main/assets/public/11-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js"],"names":["getDateValue","date","format","getValue","getValueFromFormat","undefined","FORMAT_A","FORMAT_a","ampm","defaultDate","parseDate","Date","toISOString","renderDatetime","template","value","locale","tokens","hasText","FORMAT_KEYS","forEach","index","indexOf","f","token","text","renderTextFormat","k","push","replace","i","length","FORMAT_DDDD","FORMAT_DDD","year","month","day","getDay","dayNames","DAY_NAMES","dayShortNames","DAY_SHORT_NAMES","e","hour","toUpperCase","FORMAT_YY","FORMAT_MM","FORMAT_DD","FORMAT_HH","FORMAT_mm","FORMAT_ss","twoDigit","FORMAT_YYYY","fourDigit","FORMAT_MMMM","monthNames","MONTH_NAMES","FORMAT_MMM","monthShortNames","MONTH_SHORT_NAMES","FORMAT_hh","FORMAT_h","toString","dateValueRange","min","max","opts","Error","FORMAT_M","FORMAT_D","FORMAT_H","FORMAT_m","FORMAT_s","dateSortValue","minute","parseInt","dateDataSortValue","data","daysInMonth","isLeapYear","ISO_8601_REGEXP","TIME_REGEXP","val","parse","exec","unshift","tzOffset","second","millisecond","getDateTime","dateString","timeZone","localDateTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTime","getTimezoneOffset","localDate","utcDateTime","toLocaleString","tzDateTime","updateDate","existingData","newData","displayTimezone","dateTime","Number","isNaN","Object","assign","keys","key","console","warn","hasOwnProperty","parseTemplate","formats","charAt","words","split","filter","w","word","VALID_AMPM_PREFIX","convertFormatToKey","convertDataToISO","rtn","threeDigit","Math","floor","abs","convertToArrayOfStrings","input","type","values","Array","isArray","map","trim","convertToArrayOfNumbers","num","isFinite","slice","datetimeIosCss","datetimeMdCss","Datetime","hostRef","ionCancel","ionChange","ionFocus","ionBlur","ionStyle","inputId","datetimeIds","datetimeMin","datetimeMax","datetimeValue","isExpanded","name","disabled","readonly","displayFormat","cancelText","doneText","onClick","setFocus","open","onFocus","emit","onBlur","emitStyle","updateDatetimeValue","pickerOptions","generatePickerOptions","create","picker","onDidDismiss","then","event","detail","colSelectedIndex","selectedIndex","colOptions","options","changeData","columns","generateColumns","present","placeholder","hasValue","mode","buttons","role","handler","pickerFormat","DEFAULT_FORMAT","calcMinMax","self","optValue","findIndex","opt","find","column","validateColumns","divyColumns","today","minCompareVal","maxCompareVal","yearCol","c","selectedYear","col","yearOpt","selectedMonth","validateColumn","numDaysInMonth","selectedDay","selectedHour","todaysYear","yearValues","years","error","lowerBounds","upperBounds","lb","ub","indexMin","indexMax","buttonEl","focus","el","labelId","label","addPlaceholderClass","datetimeText","datetimeTextPart","id","part","ref","btnEl","columnsWidth","width","option","align","optionsWidth","columnWidth","style","ios","md","iosEnterAnimation","baseEl","baseAnimation","backdropAnimation","wrapperAnimation","addElement","querySelector","fromTo","beforeStyles","afterClearStyles","easing","duration","addAnimation","iosLeaveAnimation","pickerIosCss","pickerMdCss","Picker","didPresent","willPresent","willDismiss","didDismiss","presented","keyboardClose","showBackdrop","backdropDismiss","animated","onBackdropTap","dismiss","dispatchCancelHandler","ev","cancelButton","b","callButtonHandler","durationTimeout","setTimeout","clearTimeout","Promise","resolve","button","shouldDismiss","getSelected","selected","selectedColumn","columnIndex","tabindex","cssClass","zIndex","overlayIndex","onIonBackdropTap","onIonPickerWillDismiss","visible","tappable","buttonWrapperClass","buttonClick","buttonClass","pickerColumnIosCss","pickerColumnMdCss","PickerColumnCmp","ionPickerColChange","optHeight","rotateFactor","scaleFactor","velocity","y","noAnimate","refresh","pickerRotateFactor","pickerScaleFactor","gesture","createGesture","gestureName","gesturePriority","threshold","passive","onStart","onMove","onEnd","enable","tmrId","colEl","optsEl","firstElementChild","clientHeight","cancelAnimationFrame","rafId","destroy","update","emitColChange","saveY","translateY","translateZ","indexForY","durationStr","scaleStr","children","optOffset","transform","rotateX","transitionDuration","classList","add","PICKER_OPT_SELECTED","remove","prevSelected","lastIndex","DECELERATION_FRICTION","minY","maxY","notLockedIn","round","requestAnimationFrame","decelerate","currentPos","cancelable","preventDefault","stopPropagation","deltaY","pow","bounceFrom","MAX_PICKER_SPEED","velocityY","target","closest","hasAttribute","setSelected","getAttribute","TRANSITION_DURATION","isScrollingUp","optHeightFraction","forceRefresh","Button","prefix","prefixWidth","maxWidth","o","suffix","suffixWidth"],"mappings":"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","file":"11-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as addEventListener, h as clamp, f as findItemLabel, d as renderHiddenInput } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { p as pickerController, B as BACKDROP, i as isCancel, e as prepareOverlay, d as present, f as dismiss, g as eventMethod, s as safeCall } from './overlays-12c20431.js';\nimport { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-27b3f981.js';\nimport { h as hostContext, g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * Gets a date value given a format\n * Defaults to the current date if\n * no date given\n */\nconst getDateValue = (date, format) => {\n const getValue = getValueFromFormat(date, format);\n if (getValue !== undefined) {\n if (format === FORMAT_A || format === FORMAT_a) {\n date.ampm = getValue;\n }\n return getValue;\n }\n const defaultDate = parseDate(new Date().toISOString());\n return getValueFromFormat(defaultDate, format);\n};\nconst renderDatetime = (template, value, locale) => {\n if (value === undefined) {\n return undefined;\n }\n const tokens = [];\n let hasText = false;\n FORMAT_KEYS.forEach((format, index) => {\n if (template.indexOf(format.f) > -1) {\n const token = '{' + index + '}';\n const text = renderTextFormat(format.f, value[format.k], value, locale);\n if (!hasText && text !== undefined && value[format.k] != null) {\n hasText = true;\n }\n tokens.push(token, text || '');\n template = template.replace(format.f, token);\n }\n });\n if (!hasText) {\n return undefined;\n }\n for (let i = 0; i < tokens.length; i += 2) {\n template = template.replace(tokens[i], tokens[i + 1]);\n }\n return template;\n};\nconst renderTextFormat = (format, value, date, locale) => {\n if ((format === FORMAT_DDDD || format === FORMAT_DDD)) {\n try {\n value = (new Date(date.year, date.month - 1, date.day)).getDay();\n if (format === FORMAT_DDDD) {\n return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value];\n }\n return (locale.dayShortNames ? locale.dayShortNames : DAY_SHORT_NAMES)[value];\n }\n catch (e) {\n // ignore\n }\n return undefined;\n }\n if (format === FORMAT_A) {\n return date !== undefined && date.hour !== undefined\n ? (date.hour < 12 ? 'AM' : 'PM')\n : value ? value.toUpperCase() : '';\n }\n if (format === FORMAT_a) {\n return date !== undefined && date.hour !== undefined\n ? (date.hour < 12 ? 'am' : 'pm')\n : value || '';\n }\n if (value == null) {\n return '';\n }\n if (format === FORMAT_YY || format === FORMAT_MM ||\n format === FORMAT_DD || format === FORMAT_HH ||\n format === FORMAT_mm || format === FORMAT_ss) {\n return twoDigit(value);\n }\n if (format === FORMAT_YYYY) {\n return fourDigit(value);\n }\n if (format === FORMAT_MMMM) {\n return (locale.monthNames ? locale.monthNames : MONTH_NAMES)[value - 1];\n }\n if (format === FORMAT_MMM) {\n return (locale.monthShortNames ? locale.monthShortNames : MONTH_SHORT_NAMES)[value - 1];\n }\n if (format === FORMAT_hh || format === FORMAT_h) {\n if (value === 0) {\n return '12';\n }\n if (value > 12) {\n value -= 12;\n }\n if (format === FORMAT_hh && value < 10) {\n return ('0' + value);\n }\n }\n return value.toString();\n};\nconst dateValueRange = (format, min, max) => {\n const opts = [];\n if (format === FORMAT_YYYY || format === FORMAT_YY) {\n // year\n if (max.year === undefined || min.year === undefined) {\n throw new Error('min and max year is undefined');\n }\n for (let i = max.year; i >= min.year; i--) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_MMMM || format === FORMAT_MMM ||\n format === FORMAT_MM || format === FORMAT_M ||\n format === FORMAT_hh || format === FORMAT_h) {\n // month or 12-hour\n for (let i = 1; i < 13; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_DDDD || format === FORMAT_DDD ||\n format === FORMAT_DD || format === FORMAT_D) {\n // day\n for (let i = 1; i < 32; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_HH || format === FORMAT_H) {\n // 24-hour\n for (let i = 0; i < 24; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_mm || format === FORMAT_m) {\n // minutes\n for (let i = 0; i < 60; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_ss || format === FORMAT_s) {\n // seconds\n for (let i = 0; i < 60; i++) {\n opts.push(i);\n }\n }\n else if (format === FORMAT_A || format === FORMAT_a) {\n // AM/PM\n opts.push('am', 'pm');\n }\n return opts;\n};\nconst dateSortValue = (year, month, day, hour = 0, minute = 0) => {\n return parseInt(`1${fourDigit(year)}${twoDigit(month)}${twoDigit(day)}${twoDigit(hour)}${twoDigit(minute)}`, 10);\n};\nconst dateDataSortValue = (data) => {\n return dateSortValue(data.year, data.month, data.day, data.hour, data.minute);\n};\nconst daysInMonth = (month, year) => {\n return (month === 4 || month === 6 || month === 9 || month === 11) ? 30 : (month === 2) ? isLeapYear(year) ? 29 : 28 : 31;\n};\nconst isLeapYear = (year) => {\n return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);\n};\nconst ISO_8601_REGEXP = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\nconst TIME_REGEXP = /^((\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\nconst parseDate = (val) => {\n // manually parse IS0 cuz Date.parse cannot be trusted\n // ISO 8601 format: 1994-12-15T13:47:20Z\n let parse = null;\n if (val != null && val !== '') {\n // try parsing for just time first, HH:MM\n parse = TIME_REGEXP.exec(val);\n if (parse) {\n // adjust the array so it fits nicely with the datetime parse\n parse.unshift(undefined, undefined);\n parse[2] = parse[3] = undefined;\n }\n else {\n // try parsing for full ISO datetime\n parse = ISO_8601_REGEXP.exec(val);\n }\n }\n if (parse === null) {\n // wasn't able to parse the ISO datetime\n return undefined;\n }\n // ensure all the parse values exist with at least 0\n for (let i = 1; i < 8; i++) {\n parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined;\n }\n let tzOffset = 0;\n if (parse[9] && parse[10]) {\n // hours\n tzOffset = parseInt(parse[10], 10) * 60;\n if (parse[11]) {\n // minutes\n tzOffset += parseInt(parse[11], 10);\n }\n if (parse[9] === '-') {\n // + or -\n tzOffset *= -1;\n }\n }\n return {\n year: parse[1],\n month: parse[2],\n day: parse[3],\n hour: parse[4],\n minute: parse[5],\n second: parse[6],\n millisecond: parse[7],\n tzOffset,\n };\n};\n/**\n * Converts a valid UTC datetime string to JS Date time object.\n * By default uses the users local timezone, but an optional\n * timezone can be provided.\n * Note: This is not meant for time strings\n * such as \"01:47\"\n */\nconst getDateTime = (dateString = '', timeZone = '') => {\n /**\n * If user passed in undefined\n * or null, convert it to the\n * empty string since the rest\n * of this functions expects\n * a string\n */\n if (dateString === undefined || dateString === null) {\n dateString = '';\n }\n /**\n * Ensures that YYYY-MM-DD, YYYY-MM,\n * YYYY-DD, YYYY, etc does not get affected\n * by timezones and stays on the day/month\n * that the user provided\n */\n if (dateString.length === 10 ||\n dateString.length === 7 ||\n dateString.length === 4) {\n dateString += ' ';\n }\n const date = (typeof dateString === 'string' && dateString.length > 0) ? new Date(dateString) : new Date();\n const localDateTime = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n if (timeZone && timeZone.length > 0) {\n return new Date(date.getTime() - getTimezoneOffset(localDateTime, timeZone));\n }\n return localDateTime;\n};\nconst getTimezoneOffset = (localDate, timeZone) => {\n const utcDateTime = new Date(localDate.toLocaleString('en-US', { timeZone: 'utc' }));\n const tzDateTime = new Date(localDate.toLocaleString('en-US', { timeZone }));\n return utcDateTime.getTime() - tzDateTime.getTime();\n};\nconst updateDate = (existingData, newData, displayTimezone) => {\n if (!newData || typeof newData === 'string') {\n const dateTime = getDateTime(newData, displayTimezone);\n if (!Number.isNaN(dateTime.getTime())) {\n newData = dateTime.toISOString();\n }\n }\n if (newData && newData !== '') {\n if (typeof newData === 'string') {\n // new date is a string, and hopefully in the ISO format\n // convert it to our DatetimeData if a valid ISO\n newData = parseDate(newData);\n if (newData) {\n // successfully parsed the ISO string to our DatetimeData\n Object.assign(existingData, newData);\n return true;\n }\n }\n else if ((newData.year || newData.hour || newData.month || newData.day || newData.minute || newData.second)) {\n // newData is from the datetime picker's selected values\n // update the existing datetimeValue with the new values\n if (newData.ampm !== undefined && newData.hour !== undefined) {\n // change the value of the hour based on whether or not it is am or pm\n // if the meridiem is pm and equal to 12, it remains 12\n // otherwise we add 12 to the hour value\n // if the meridiem is am and equal to 12, we change it to 0\n // otherwise we use its current hour value\n // for example: 8 pm becomes 20, 12 am becomes 0, 4 am becomes 4\n newData.hour.value = (newData.ampm.value === 'pm')\n ? (newData.hour.value === 12 ? 12 : newData.hour.value + 12)\n : (newData.hour.value === 12 ? 0 : newData.hour.value);\n }\n // merge new values from the picker's selection\n // to the existing DatetimeData values\n for (const key of Object.keys(newData)) {\n existingData[key] = newData[key].value;\n }\n return true;\n }\n else if (newData.ampm) {\n // Even though in the picker column hour values are between 1 and 12, the hour value is actually normalized\n // to [0, 23] interval. Because of this when changing between AM and PM we have to update the hour so it points\n // to the correct HH hour\n newData.hour = {\n value: newData.hour\n ? newData.hour.value\n : (newData.ampm.value === 'pm'\n ? (existingData.hour < 12 ? existingData.hour + 12 : existingData.hour)\n : (existingData.hour >= 12 ? existingData.hour - 12 : existingData.hour))\n };\n existingData['hour'] = newData['hour'].value;\n existingData['ampm'] = newData['ampm'].value;\n return true;\n }\n // eww, invalid data\n console.warn(`Error parsing date: \"${newData}\". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime`);\n }\n else {\n // blank data, clear everything out\n for (const k in existingData) {\n if (existingData.hasOwnProperty(k)) {\n delete existingData[k];\n }\n }\n }\n return false;\n};\nconst parseTemplate = (template) => {\n const formats = [];\n template = template.replace(/[^\\w\\s]/gi, ' ');\n FORMAT_KEYS.forEach(format => {\n if (format.f.length > 1 && template.indexOf(format.f) > -1 && template.indexOf(format.f + format.f.charAt(0)) < 0) {\n template = template.replace(format.f, ' ' + format.f + ' ');\n }\n });\n const words = template.split(' ').filter(w => w.length > 0);\n words.forEach((word, i) => {\n FORMAT_KEYS.forEach(format => {\n if (word === format.f) {\n if (word === FORMAT_A || word === FORMAT_a) {\n // this format is an am/pm format, so it's an \"a\" or \"A\"\n if ((formats.indexOf(FORMAT_h) < 0 && formats.indexOf(FORMAT_hh) < 0) ||\n VALID_AMPM_PREFIX.indexOf(words[i - 1]) === -1) {\n // template does not already have a 12-hour format\n // or this am/pm format doesn't have a hour, minute, or second format immediately before it\n // so do not treat this word \"a\" or \"A\" as the am/pm format\n return;\n }\n }\n formats.push(word);\n }\n });\n });\n return formats;\n};\nconst getValueFromFormat = (date, format) => {\n if (format === FORMAT_A || format === FORMAT_a) {\n return (date.hour < 12 ? 'am' : 'pm');\n }\n if (format === FORMAT_hh || format === FORMAT_h) {\n return (date.hour > 12 ? date.hour - 12 : (date.hour === 0 ? 12 : date.hour));\n }\n return date[convertFormatToKey(format)];\n};\nconst convertFormatToKey = (format) => {\n for (const k in FORMAT_KEYS) {\n if (FORMAT_KEYS[k].f === format) {\n return FORMAT_KEYS[k].k;\n }\n }\n return undefined;\n};\nconst convertDataToISO = (data) => {\n // https://www.w3.org/TR/NOTE-datetime\n let rtn = '';\n if (data.year !== undefined) {\n // YYYY\n rtn = fourDigit(data.year);\n if (data.month !== undefined) {\n // YYYY-MM\n rtn += '-' + twoDigit(data.month);\n if (data.day !== undefined) {\n // YYYY-MM-DD\n rtn += '-' + twoDigit(data.day);\n if (data.hour !== undefined) {\n // YYYY-MM-DDTHH:mm:SS\n rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:${twoDigit(data.second)}`;\n if (data.millisecond > 0) {\n // YYYY-MM-DDTHH:mm:SS.SSS\n rtn += '.' + threeDigit(data.millisecond);\n }\n if (data.tzOffset === undefined) {\n // YYYY-MM-DDTHH:mm:SSZ\n rtn += 'Z';\n }\n else {\n // YYYY-MM-DDTHH:mm:SS+/-HH:mm\n rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60);\n }\n }\n }\n }\n }\n else if (data.hour !== undefined) {\n // HH:mm\n rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute);\n if (data.second !== undefined) {\n // HH:mm:SS\n rtn += ':' + twoDigit(data.second);\n if (data.millisecond !== undefined) {\n // HH:mm:SS.SSS\n rtn += '.' + threeDigit(data.millisecond);\n }\n }\n }\n return rtn;\n};\n/**\n * Use to convert a string of comma separated strings or\n * an array of strings, and clean up any user input\n */\nconst convertToArrayOfStrings = (input, type) => {\n if (input == null) {\n return undefined;\n }\n if (typeof input === 'string') {\n // convert the string to an array of strings\n // auto remove any [] characters\n input = input.replace(/\\[|\\]/g, '').split(',');\n }\n let values;\n if (Array.isArray(input)) {\n // trim up each string value\n values = input.map(val => val.toString().trim());\n }\n if (values === undefined || values.length === 0) {\n console.warn(`Invalid \"${type}Names\". Must be an array of strings, or a comma separated string.`);\n }\n return values;\n};\n/**\n * Use to convert a string of comma separated numbers or\n * an array of numbers, and clean up any user input\n */\nconst convertToArrayOfNumbers = (input, type) => {\n if (typeof input === 'string') {\n // convert the string to an array of strings\n // auto remove any whitespace and [] characters\n input = input.replace(/\\[|\\]|\\s/g, '').split(',');\n }\n let values;\n if (Array.isArray(input)) {\n // ensure each value is an actual number in the returned array\n values = input\n .map((num) => parseInt(num, 10))\n .filter(isFinite);\n }\n else {\n values = [input];\n }\n if (values.length === 0) {\n console.warn(`Invalid \"${type}Values\". Must be an array of numbers, or a comma separated string of numbers.`);\n }\n return values;\n};\nconst twoDigit = (val) => {\n return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2);\n};\nconst threeDigit = (val) => {\n return ('00' + (val !== undefined ? Math.abs(val) : '0')).slice(-3);\n};\nconst fourDigit = (val) => {\n return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4);\n};\nconst FORMAT_YYYY = 'YYYY';\nconst FORMAT_YY = 'YY';\nconst FORMAT_MMMM = 'MMMM';\nconst FORMAT_MMM = 'MMM';\nconst FORMAT_MM = 'MM';\nconst FORMAT_M = 'M';\nconst FORMAT_DDDD = 'DDDD';\nconst FORMAT_DDD = 'DDD';\nconst FORMAT_DD = 'DD';\nconst FORMAT_D = 'D';\nconst FORMAT_HH = 'HH';\nconst FORMAT_H = 'H';\nconst FORMAT_hh = 'hh';\nconst FORMAT_h = 'h';\nconst FORMAT_mm = 'mm';\nconst FORMAT_m = 'm';\nconst FORMAT_ss = 'ss';\nconst FORMAT_s = 's';\nconst FORMAT_A = 'A';\nconst FORMAT_a = 'a';\nconst FORMAT_KEYS = [\n { f: FORMAT_YYYY, k: 'year' },\n { f: FORMAT_MMMM, k: 'month' },\n { f: FORMAT_DDDD, k: 'day' },\n { f: FORMAT_MMM, k: 'month' },\n { f: FORMAT_DDD, k: 'day' },\n { f: FORMAT_YY, k: 'year' },\n { f: FORMAT_MM, k: 'month' },\n { f: FORMAT_DD, k: 'day' },\n { f: FORMAT_HH, k: 'hour' },\n { f: FORMAT_hh, k: 'hour' },\n { f: FORMAT_mm, k: 'minute' },\n { f: FORMAT_ss, k: 'second' },\n { f: FORMAT_M, k: 'month' },\n { f: FORMAT_D, k: 'day' },\n { f: FORMAT_H, k: 'hour' },\n { f: FORMAT_h, k: 'hour' },\n { f: FORMAT_m, k: 'minute' },\n { f: FORMAT_s, k: 'second' },\n { f: FORMAT_A, k: 'ampm' },\n { f: FORMAT_a, k: 'ampm' },\n];\nconst DAY_NAMES = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n];\nconst DAY_SHORT_NAMES = [\n 'Sun',\n 'Mon',\n 'Tue',\n 'Wed',\n 'Thu',\n 'Fri',\n 'Sat',\n];\nconst MONTH_NAMES = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\nconst MONTH_SHORT_NAMES = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\nconst VALID_AMPM_PREFIX = [\n FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s\n];\n\nconst datetimeIosCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}\";\n\nconst datetimeMdCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@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(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}\";\n\nconst Datetime = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-dt-${datetimeIds++}`;\n this.locale = {};\n this.datetimeMin = {};\n this.datetimeMax = {};\n this.datetimeValue = {};\n this.isExpanded = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot interact with the datetime.\n */\n this.disabled = false;\n /**\n * If `true`, the datetime appears normal but is not interactive.\n */\n this.readonly = false;\n /**\n * The display format of the date and time as text that shows\n * within the item. When the `pickerFormat` input is not used, then the\n * `displayFormat` is used for both display the formatted text, and determining\n * the datetime picker's columns. See the `pickerFormat` input description for\n * more info. Defaults to `MMM D, YYYY`.\n */\n this.displayFormat = 'MMM D, YYYY';\n /**\n * The text to display on the picker's cancel button.\n */\n this.cancelText = 'Cancel';\n /**\n * The text to display on the picker's \"Done\" button.\n */\n this.doneText = 'Done';\n this.onClick = () => {\n this.setFocus();\n this.open();\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the datetime value when the value changes\n */\n valueChanged() {\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n this.ionChange.emit({\n value: this.value\n });\n }\n componentWillLoad() {\n // first see if locale names were provided in the inputs\n // then check to see if they're in the config\n // if neither were provided then it will use default English names\n this.locale = {\n // this.locale[type] = convertToArrayOfStrings((this[type] ? this[type] : this.config.get(type), type);\n monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),\n dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')\n };\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n }\n /**\n * Opens the datetime overlay.\n */\n async open() {\n if (this.disabled || this.isExpanded) {\n return;\n }\n const pickerOptions = this.generatePickerOptions();\n const picker = await pickerController.create(pickerOptions);\n this.isExpanded = true;\n picker.onDidDismiss().then(() => {\n this.isExpanded = false;\n this.setFocus();\n });\n addEventListener(picker, 'ionPickerColChange', async (event) => {\n const data = event.detail;\n const colSelectedIndex = data.selectedIndex;\n const colOptions = data.options;\n const changeData = {};\n changeData[data.name] = {\n value: colOptions[colSelectedIndex].value\n };\n if (data.name !== 'ampm' && this.datetimeValue.ampm !== undefined) {\n changeData['ampm'] = {\n value: this.datetimeValue.ampm\n };\n }\n this.updateDatetimeValue(changeData);\n picker.columns = this.generateColumns();\n });\n await picker.present();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'datetime': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'interactive-disabled': this.disabled,\n });\n }\n updateDatetimeValue(value) {\n updateDate(this.datetimeValue, value, this.displayTimezone);\n }\n generatePickerOptions() {\n const mode = getIonMode(this);\n this.locale = {\n monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),\n dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')\n };\n const pickerOptions = Object.assign(Object.assign({ mode }, this.pickerOptions), { columns: this.generateColumns() });\n // If the user has not passed in picker buttons,\n // add a cancel and ok button to the picker\n const buttons = pickerOptions.buttons;\n if (!buttons || buttons.length === 0) {\n pickerOptions.buttons = [\n {\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.updateDatetimeValue(this.value);\n this.ionCancel.emit();\n }\n },\n {\n text: this.doneText,\n handler: (data) => {\n this.updateDatetimeValue(data);\n /**\n * Prevent convertDataToISO from doing any\n * kind of transformation based on timezone\n * This cancels out any change it attempts to make\n *\n * Important: Take the timezone offset based on\n * the date that is currently selected, otherwise\n * there can be 1 hr difference when dealing w/ DST\n */\n const date = new Date(convertDataToISO(this.datetimeValue));\n // If a custom display timezone is provided, use that tzOffset value instead\n this.datetimeValue.tzOffset = (this.displayTimezone !== undefined && this.displayTimezone.length > 0)\n ? ((getTimezoneOffset(date, this.displayTimezone)) / 1000 / 60) * -1\n : date.getTimezoneOffset() * -1;\n this.value = convertDataToISO(this.datetimeValue);\n }\n }\n ];\n }\n return pickerOptions;\n }\n generateColumns() {\n // if a picker format wasn't provided, then fallback\n // to use the display format\n let template = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT;\n if (template.length === 0) {\n return [];\n }\n // make sure we've got up to date sizing information\n this.calcMinMax();\n // does not support selecting by day name\n // automatically remove any day name formats\n template = template.replace('DDDD', '{~}').replace('DDD', '{~}');\n if (template.indexOf('D') === -1) {\n // there is not a day in the template\n // replace the day name with a numeric one if it exists\n template = template.replace('{~}', 'D');\n }\n // make sure no day name replacer is left in the string\n template = template.replace(/{~}/g, '');\n // parse apart the given template into an array of \"formats\"\n const columns = parseTemplate(template).map((format) => {\n // loop through each format in the template\n // create a new picker column to build up with data\n const key = convertFormatToKey(format);\n let values;\n // check if they have exact values to use for this date part\n // otherwise use the default date part values\n const self = this;\n values = self[key + 'Values']\n ? convertToArrayOfNumbers(self[key + 'Values'], key)\n : dateValueRange(format, this.datetimeMin, this.datetimeMax);\n const colOptions = values.map(val => {\n return {\n value: val,\n text: renderTextFormat(format, val, undefined, this.locale),\n };\n });\n // cool, we've loaded up the columns with options\n // preselect the option for this column\n const optValue = getDateValue(this.datetimeValue, format);\n const selectedIndex = colOptions.findIndex(opt => opt.value === optValue);\n return {\n name: key,\n selectedIndex: selectedIndex >= 0 ? selectedIndex : 0,\n options: colOptions\n };\n });\n // Normalize min/max\n const min = this.datetimeMin;\n const max = this.datetimeMax;\n ['month', 'day', 'hour', 'minute']\n .filter(name => !columns.find(column => column.name === name))\n .forEach(name => {\n min[name] = 0;\n max[name] = 0;\n });\n return this.validateColumns(divyColumns(columns));\n }\n validateColumns(columns) {\n const today = new Date();\n const minCompareVal = dateDataSortValue(this.datetimeMin);\n const maxCompareVal = dateDataSortValue(this.datetimeMax);\n const yearCol = columns.find(c => c.name === 'year');\n let selectedYear = today.getFullYear();\n if (yearCol) {\n // default to the first value if the current year doesn't exist in the options\n if (!yearCol.options.find(col => col.value === today.getFullYear())) {\n selectedYear = yearCol.options[0].value;\n }\n const selectedIndex = yearCol.selectedIndex;\n if (selectedIndex !== undefined) {\n const yearOpt = yearCol.options[selectedIndex];\n if (yearOpt) {\n // they have a selected year value\n selectedYear = yearOpt.value;\n }\n }\n }\n const selectedMonth = this.validateColumn(columns, 'month', 1, minCompareVal, maxCompareVal, [selectedYear, 0, 0, 0, 0], [selectedYear, 12, 31, 23, 59]);\n const numDaysInMonth = daysInMonth(selectedMonth, selectedYear);\n const selectedDay = this.validateColumn(columns, 'day', 2, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, 0, 0, 0], [selectedYear, selectedMonth, numDaysInMonth, 23, 59]);\n const selectedHour = this.validateColumn(columns, 'hour', 3, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, 0, 0], [selectedYear, selectedMonth, selectedDay, 23, 59]);\n this.validateColumn(columns, 'minute', 4, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, selectedHour, 0], [selectedYear, selectedMonth, selectedDay, selectedHour, 59]);\n return columns;\n }\n calcMinMax() {\n const todaysYear = new Date().getFullYear();\n if (this.yearValues !== undefined) {\n const years = convertToArrayOfNumbers(this.yearValues, 'year');\n if (this.min === undefined) {\n this.min = Math.min(...years).toString();\n }\n if (this.max === undefined) {\n this.max = Math.max(...years).toString();\n }\n }\n else {\n if (this.min === undefined) {\n this.min = (todaysYear - 100).toString();\n }\n if (this.max === undefined) {\n this.max = todaysYear.toString();\n }\n }\n const min = this.datetimeMin = parseDate(this.min);\n const max = this.datetimeMax = parseDate(this.max);\n min.year = min.year || todaysYear;\n max.year = max.year || todaysYear;\n min.month = min.month || 1;\n max.month = max.month || 12;\n min.day = min.day || 1;\n max.day = max.day || 31;\n min.hour = min.hour || 0;\n max.hour = max.hour === undefined ? 23 : max.hour;\n min.minute = min.minute || 0;\n max.minute = max.minute === undefined ? 59 : max.minute;\n min.second = min.second || 0;\n max.second = max.second === undefined ? 59 : max.second;\n // Ensure min/max constraints\n if (min.year > max.year) {\n console.error('min.year > max.year');\n min.year = max.year - 100;\n }\n if (min.year === max.year) {\n if (min.month > max.month) {\n console.error('min.month > max.month');\n min.month = 1;\n }\n else if (min.month === max.month && min.day > max.day) {\n console.error('min.day > max.day');\n min.day = 1;\n }\n }\n }\n validateColumn(columns, name, index, min, max, lowerBounds, upperBounds) {\n const column = columns.find(c => c.name === name);\n if (!column) {\n return 0;\n }\n const lb = lowerBounds.slice();\n const ub = upperBounds.slice();\n const options = column.options;\n let indexMin = options.length - 1;\n let indexMax = 0;\n for (let i = 0; i < options.length; i++) {\n const opts = options[i];\n const value = opts.value;\n lb[index] = opts.value;\n ub[index] = opts.value;\n const disabled = opts.disabled = (value < lowerBounds[index] ||\n value > upperBounds[index] ||\n dateSortValue(ub[0], ub[1], ub[2], ub[3], ub[4]) < min ||\n dateSortValue(lb[0], lb[1], lb[2], lb[3], lb[4]) > max);\n if (!disabled) {\n indexMin = Math.min(indexMin, i);\n indexMax = Math.max(indexMax, i);\n }\n }\n const selectedIndex = column.selectedIndex = clamp(indexMin, column.selectedIndex, indexMax);\n const opt = column.options[selectedIndex];\n if (opt) {\n return opt.value;\n }\n return 0;\n }\n get text() {\n // create the text of the formatted data\n const template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT;\n if (this.value === undefined ||\n this.value === null ||\n this.value.length === 0) {\n return;\n }\n return renderDatetime(template, this.datetimeValue, this.locale);\n }\n hasValue() {\n return this.text !== undefined;\n }\n setFocus() {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n render() {\n const { inputId, text, disabled, readonly, isExpanded, el, placeholder } = this;\n const mode = getIonMode(this);\n const labelId = inputId + '-lbl';\n const label = findItemLabel(el);\n const addPlaceholderClass = (text === undefined && placeholder != null) ? true : false;\n // If selected text has been passed in, use that first\n // otherwise use the placeholder\n const datetimeText = text === undefined\n ? (placeholder != null ? placeholder : '')\n : text;\n const datetimeTextPart = text === undefined\n ? (placeholder != null ? 'placeholder' : undefined)\n : 'text';\n if (label) {\n label.id = labelId;\n }\n renderHiddenInput(true, el, this.name, this.value, this.disabled);\n return (h(Host, { onClick: this.onClick, \"aria-disabled\": disabled ? 'true' : null, \"aria-expanded\": `${isExpanded}`, \"aria-haspopup\": \"true\", \"aria-labelledby\": labelId, class: {\n [mode]: true,\n 'datetime-disabled': disabled,\n 'datetime-readonly': readonly,\n 'datetime-placeholder': addPlaceholderClass,\n 'in-item': hostContext('ion-item', el)\n } }, h(\"div\", { class: \"datetime-text\", part: datetimeTextPart }, datetimeText), h(\"button\", { type: \"button\", onFocus: this.onFocus, onBlur: this.onBlur, disabled: this.disabled, ref: btnEl => this.buttonEl = btnEl })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst divyColumns = (columns) => {\n const columnsWidth = [];\n let col;\n let width;\n for (let i = 0; i < columns.length; i++) {\n col = columns[i];\n columnsWidth.push(0);\n for (const option of col.options) {\n width = option.text.length;\n if (width > columnsWidth[i]) {\n columnsWidth[i] = width;\n }\n }\n }\n if (columnsWidth.length === 2) {\n width = Math.max(columnsWidth[0], columnsWidth[1]);\n columns[0].align = 'right';\n columns[1].align = 'left';\n columns[0].optionsWidth = columns[1].optionsWidth = `${width * 17}px`;\n }\n else if (columnsWidth.length === 3) {\n width = Math.max(columnsWidth[0], columnsWidth[2]);\n columns[0].align = 'right';\n columns[1].columnWidth = `${columnsWidth[1] * 17}px`;\n columns[0].optionsWidth = columns[2].optionsWidth = `${width * 17}px`;\n columns[2].align = 'left';\n }\n return columns;\n};\nconst DEFAULT_FORMAT = 'MMM D, YYYY';\nlet datetimeIds = 0;\nDatetime.style = {\n ios: datetimeIosCss,\n md: datetimeMdCss\n};\n\n/**\n * iOS Picker Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.picker-wrapper'))\n .fromTo('transform', 'translateY(100%)', 'translateY(0%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * iOS Picker Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.01);\n wrapperAnimation\n .addElement(baseEl.querySelector('.picker-wrapper'))\n .fromTo('transform', 'translateY(0%)', 'translateY(100%)');\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst pickerIosCss = \".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-ios{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}\";\n\nconst pickerMdCss = \".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}\";\n\nconst Picker = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionPickerDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPickerWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPickerWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPickerDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * Array of buttons to be displayed at the top of the picker.\n */\n this.buttons = [];\n /**\n * Array of columns to be displayed in the picker.\n */\n this.columns = [];\n /**\n * Number of milliseconds to wait before dismissing the picker.\n */\n this.duration = 0;\n /**\n * If `true`, a backdrop will be displayed behind the picker.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the picker will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, the picker will animate.\n */\n this.animated = true;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.buttons.find(b => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the picker overlay after it has been created.\n */\n async present() {\n await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);\n }\n }\n /**\n * Dismiss the picker 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 picker.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the picker.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n dismiss(data, role) {\n if (this.durationTimeout) {\n clearTimeout(this.durationTimeout);\n }\n return dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);\n }\n /**\n * Returns a promise that resolves when the picker did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPickerDidDismiss');\n }\n /**\n * Returns a promise that resolves when the picker will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPickerWillDismiss');\n }\n /**\n * Get the column that matches the specified name.\n *\n * @param name The name of the column.\n */\n getColumn(name) {\n return Promise.resolve(this.columns.find(column => column.name === name));\n }\n async buttonClick(button) {\n const role = button.role;\n if (isCancel(role)) {\n return this.dismiss(undefined, role);\n }\n const shouldDismiss = await this.callButtonHandler(button);\n if (shouldDismiss) {\n return this.dismiss(this.getSelected(), button.role);\n }\n return Promise.resolve();\n }\n async callButtonHandler(button) {\n if (button) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n const rtn = await safeCall(button.handler, this.getSelected());\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n }\n return true;\n }\n getSelected() {\n const selected = {};\n this.columns.forEach((col, index) => {\n const selectedColumn = col.selectedIndex !== undefined\n ? col.options[col.selectedIndex]\n : undefined;\n selected[col.name] = {\n text: selectedColumn ? selectedColumn.text : undefined,\n value: selectedColumn ? selectedColumn.value : undefined,\n columnIndex: index\n };\n });\n return selected;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { \"aria-modal\": \"true\", tabindex: \"-1\", class: Object.assign({ [mode]: true,\n // Used internally for styling\n [`picker-${mode}`]: true }, getClassMap(this.cssClass)), style: {\n zIndex: `${20000 + this.overlayIndex}`\n }, onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"picker-wrapper ion-overlay-wrapper\", role: \"dialog\" }, h(\"div\", { class: \"picker-toolbar\" }, this.buttons.map(b => (h(\"div\", { class: buttonWrapperClass(b) }, h(\"button\", { type: \"button\", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h(\"div\", { class: \"picker-columns\" }, h(\"div\", { class: \"picker-above-highlight\" }), this.presented && this.columns.map(c => h(\"ion-picker-column\", { col: c })), h(\"div\", { class: \"picker-below-highlight\" }))), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst buttonWrapperClass = (button) => {\n return {\n [`picker-toolbar-${button.role}`]: button.role !== undefined,\n 'picker-toolbar-button': true\n };\n};\nconst buttonClass = (button) => {\n return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));\n};\nPicker.style = {\n ios: pickerIosCss,\n md: pickerMdCss\n};\n\nconst pickerColumnIosCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}\";\n\nconst pickerColumnMdCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}\";\n\nconst PickerColumnCmp = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionPickerColChange = createEvent(this, \"ionPickerColChange\", 7);\n this.optHeight = 0;\n this.rotateFactor = 0;\n this.scaleFactor = 1;\n this.velocity = 0;\n this.y = 0;\n this.noAnimate = true;\n }\n colChanged() {\n this.refresh();\n }\n async connectedCallback() {\n let pickerRotateFactor = 0;\n let pickerScaleFactor = 0.81;\n const mode = getIonMode(this);\n if (mode === 'ios') {\n pickerRotateFactor = -0.46;\n pickerScaleFactor = 1;\n }\n this.rotateFactor = pickerRotateFactor;\n this.scaleFactor = pickerScaleFactor;\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'picker-swipe',\n gesturePriority: 100,\n threshold: 0,\n passive: false,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gesture.enable();\n this.tmrId = setTimeout(() => {\n this.noAnimate = false;\n this.refresh(true);\n }, 250);\n }\n componentDidLoad() {\n const colEl = this.optsEl;\n if (colEl) {\n // DOM READ\n // We perfom a DOM read over a rendered item, this needs to happen after the first render\n this.optHeight = (colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0);\n }\n this.refresh();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this.rafId);\n clearTimeout(this.tmrId);\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n emitColChange() {\n this.ionPickerColChange.emit(this.col);\n }\n setSelected(selectedIndex, duration) {\n // if there is a selected index, then figure out it's y position\n // if there isn't a selected index, then just use the top y position\n const y = (selectedIndex > -1) ? -(selectedIndex * this.optHeight) : 0;\n this.velocity = 0;\n // set what y position we're at\n cancelAnimationFrame(this.rafId);\n this.update(y, duration, true);\n this.emitColChange();\n }\n update(y, duration, saveY) {\n if (!this.optsEl) {\n return;\n }\n // ensure we've got a good round number :)\n let translateY = 0;\n let translateZ = 0;\n const { col, rotateFactor } = this;\n const selectedIndex = col.selectedIndex = this.indexForY(-y);\n const durationStr = (duration === 0) ? '' : duration + 'ms';\n const scaleStr = `scale(${this.scaleFactor})`;\n const children = this.optsEl.children;\n for (let i = 0; i < children.length; i++) {\n const button = children[i];\n const opt = col.options[i];\n const optOffset = (i * this.optHeight) + y;\n let transform = '';\n if (rotateFactor !== 0) {\n const rotateX = optOffset * rotateFactor;\n if (Math.abs(rotateX) <= 90) {\n translateY = 0;\n translateZ = 90;\n transform = `rotateX(${rotateX}deg) `;\n }\n else {\n translateY = -9999;\n }\n }\n else {\n translateZ = 0;\n translateY = optOffset;\n }\n const selected = selectedIndex === i;\n transform += `translate3d(0px,${translateY}px,${translateZ}px) `;\n if (this.scaleFactor !== 1 && !selected) {\n transform += scaleStr;\n }\n // Update transition duration\n if (this.noAnimate) {\n opt.duration = 0;\n button.style.transitionDuration = '';\n }\n else if (duration !== opt.duration) {\n opt.duration = duration;\n button.style.transitionDuration = durationStr;\n }\n // Update transform\n if (transform !== opt.transform) {\n opt.transform = transform;\n button.style.transform = transform;\n }\n // Update selected item\n if (selected !== opt.selected) {\n opt.selected = selected;\n if (selected) {\n button.classList.add(PICKER_OPT_SELECTED);\n }\n else {\n button.classList.remove(PICKER_OPT_SELECTED);\n }\n }\n }\n this.col.prevSelected = selectedIndex;\n if (saveY) {\n this.y = y;\n }\n if (this.lastIndex !== selectedIndex) {\n // have not set a last index yet\n hapticSelectionChanged();\n this.lastIndex = selectedIndex;\n }\n }\n decelerate() {\n if (this.velocity !== 0) {\n // still decelerating\n this.velocity *= DECELERATION_FRICTION;\n // do not let it go slower than a velocity of 1\n this.velocity = (this.velocity > 0)\n ? Math.max(this.velocity, 1)\n : Math.min(this.velocity, -1);\n let y = this.y + this.velocity;\n if (y > this.minY) {\n // whoops, it's trying to scroll up farther than the options we have!\n y = this.minY;\n this.velocity = 0;\n }\n else if (y < this.maxY) {\n // gahh, it's trying to scroll down farther than we can!\n y = this.maxY;\n this.velocity = 0;\n }\n this.update(y, 0, true);\n const notLockedIn = (Math.round(y) % this.optHeight !== 0) || (Math.abs(this.velocity) > 1);\n if (notLockedIn) {\n // isn't locked in yet, keep decelerating until it is\n this.rafId = requestAnimationFrame(() => this.decelerate());\n }\n else {\n this.velocity = 0;\n this.emitColChange();\n hapticSelectionEnd();\n }\n }\n else if (this.y % this.optHeight !== 0) {\n // needs to still get locked into a position so options line up\n const currentPos = Math.abs(this.y % this.optHeight);\n // create a velocity in the direction it needs to scroll\n this.velocity = (currentPos > (this.optHeight / 2) ? 1 : -1);\n this.decelerate();\n }\n }\n indexForY(y) {\n return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);\n }\n // TODO should this check disabled?\n onStart(detail) {\n // We have to prevent default in order to block scrolling under the picker\n // but we DO NOT have to stop propagation, since we still want\n // some \"click\" events to capture\n if (detail.event.cancelable) {\n detail.event.preventDefault();\n }\n detail.event.stopPropagation();\n hapticSelectionStart();\n // reset everything\n cancelAnimationFrame(this.rafId);\n const options = this.col.options;\n let minY = (options.length - 1);\n let maxY = 0;\n for (let i = 0; i < options.length; i++) {\n if (!options[i].disabled) {\n minY = Math.min(minY, i);\n maxY = Math.max(maxY, i);\n }\n }\n this.minY = -(minY * this.optHeight);\n this.maxY = -(maxY * this.optHeight);\n }\n onMove(detail) {\n if (detail.event.cancelable) {\n detail.event.preventDefault();\n }\n detail.event.stopPropagation();\n // update the scroll position relative to pointer start position\n let y = this.y + detail.deltaY;\n if (y > this.minY) {\n // scrolling up higher than scroll area\n y = Math.pow(y, 0.8);\n this.bounceFrom = y;\n }\n else if (y < this.maxY) {\n // scrolling down below scroll area\n y += Math.pow(this.maxY - y, 0.9);\n this.bounceFrom = y;\n }\n else {\n this.bounceFrom = 0;\n }\n this.update(y, 0, false);\n }\n onEnd(detail) {\n if (this.bounceFrom > 0) {\n // bounce back up\n this.update(this.minY, 100, true);\n this.emitColChange();\n return;\n }\n else if (this.bounceFrom < 0) {\n // bounce back down\n this.update(this.maxY, 100, true);\n this.emitColChange();\n return;\n }\n this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);\n if (this.velocity === 0 && detail.deltaY === 0) {\n const opt = detail.event.target.closest('.picker-opt');\n if (opt && opt.hasAttribute('opt-index')) {\n this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);\n }\n }\n else {\n this.y += detail.deltaY;\n if (Math.abs(detail.velocityY) < 0.05) {\n const isScrollingUp = detail.deltaY > 0;\n const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;\n if (isScrollingUp && optHeightFraction > 0.5) {\n this.velocity = Math.abs(this.velocity) * -1;\n }\n else if (!isScrollingUp && optHeightFraction <= 0.5) {\n this.velocity = Math.abs(this.velocity);\n }\n }\n this.decelerate();\n }\n }\n refresh(forceRefresh) {\n let min = this.col.options.length - 1;\n let max = 0;\n const options = this.col.options;\n for (let i = 0; i < options.length; i++) {\n if (!options[i].disabled) {\n min = Math.min(min, i);\n max = Math.max(max, i);\n }\n }\n /**\n * Only update selected value if column has a\n * velocity of 0. If it does not, then the\n * column is animating might land on\n * a value different than the value at\n * selectedIndex\n */\n if (this.velocity !== 0) {\n return;\n }\n const selectedIndex = clamp(min, this.col.selectedIndex || 0, max);\n if (this.col.prevSelected !== selectedIndex || forceRefresh) {\n const y = (selectedIndex * this.optHeight) * -1;\n this.velocity = 0;\n this.update(y, TRANSITION_DURATION, true);\n }\n }\n render() {\n const col = this.col;\n const Button = 'button';\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'picker-col': true,\n 'picker-opts-left': this.col.align === 'left',\n 'picker-opts-right': this.col.align === 'right'\n }, style: {\n 'max-width': this.col.columnWidth\n } }, col.prefix && (h(\"div\", { class: \"picker-prefix\", style: { width: col.prefixWidth } }, col.prefix)), h(\"div\", { class: \"picker-opts\", style: { maxWidth: col.optionsWidth }, ref: el => this.optsEl = el }, col.options.map((o, index) => h(Button, { type: \"button\", class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, \"opt-index\": index }, o.text))), col.suffix && (h(\"div\", { class: \"picker-suffix\", style: { width: col.suffixWidth } }, col.suffix))));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"col\": [\"colChanged\"]\n }; }\n};\nconst PICKER_OPT_SELECTED = 'picker-opt-selected';\nconst DECELERATION_FRICTION = 0.97;\nconst MAX_PICKER_SPEED = 90;\nconst TRANSITION_DURATION = 150;\nPickerColumnCmp.style = {\n ios: pickerColumnIosCss,\n md: pickerColumnMdCss\n};\n\nexport { Datetime as ion_datetime, Picker as ion_picker, PickerColumnCmp as ion_picker_column };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/12-es2015.js b/android/app/src/main/assets/public/12-es2015.js new file mode 100644 index 000000000..7ae683c50 --- /dev/null +++ b/android/app/src/main/assets/public/12-es2015.js @@ -0,0 +1,213 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_fab, ion_fab_button, ion_fab_list */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_fab", function() { return Fab; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_fab_button", function() { return FabButton; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_fab_list", function() { return FabList; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + +const fabCss = ":host{position:absolute;z-index:999}:host(.fab-horizontal-center){left:50%;margin-left:-28px}:host-context([dir=rtl]):host(.fab-horizontal-center),:host-context([dir=rtl]).fab-horizontal-center{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-horizontal-center){margin-left:unset;-webkit-margin-start:-28px;margin-inline-start:-28px}}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:-28px}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:-28px}:host(.fab-vertical-center){margin-top:-28px;top:50%}"; + +const Fab = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the fab will display on the edge of the header if + * `vertical` is `"top"`, and on the edge of the footer if + * it is `"bottom"`. Should be used with a `fixed` slot. + */ + this.edge = false; + /** + * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active. + * That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible. + */ + this.activated = false; + this.onClick = () => { + const hasList = !!this.el.querySelector('ion-fab-list'); + const getButton = this.getFab(); + const isButtonDisabled = getButton && getButton.disabled; + if (hasList && !isButtonDisabled) { + this.activated = !this.activated; + } + }; + } + activatedChanged() { + const activated = this.activated; + const fab = this.getFab(); + if (fab) { + fab.activated = activated; + } + Array.from(this.el.querySelectorAll('ion-fab-list')).forEach(list => { + list.activated = activated; + }); + } + componentDidLoad() { + if (this.activated) { + this.activatedChanged(); + } + } + /** + * Close an active FAB list container. + */ + async close() { + this.activated = false; + } + getFab() { + return this.el.querySelector('ion-fab-button'); + } + render() { + const { horizontal, vertical, edge } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, class: { + [mode]: true, + [`fab-horizontal-${horizontal}`]: horizontal !== undefined, + [`fab-vertical-${vertical}`]: vertical !== undefined, + 'fab-edge': edge + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "activated": ["activatedChanged"] + }; } +}; +Fab.style = fabCss; + +const fabButtonIosCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}"; + +const fabButtonMdCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}"; + +const FabButton = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + /** + * If `true`, the fab button will be show a close icon. + */ + this.activated = false; + /** + * If `true`, the user cannot interact with the fab button. + */ + this.disabled = false; + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + this.routerDirection = 'forward'; + /** + * If `true`, the fab button will show when in a fab-list. + */ + this.show = false; + /** + * If `true`, the fab button will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + /** + * The type of the button. + */ + this.type = 'button'; + /** + * The icon name to use for the close icon. This will appear when the fab button + * is pressed. Only applies if it is the main button inside of a fab containing a + * fab list. + */ + this.closeIcon = 'close'; + this.onFocus = () => { + this.ionFocus.emit(); + }; + this.onBlur = () => { + this.ionBlur.emit(); + }; + } + render() { + const { el, disabled, color, href, activated, show, translucent, size } = this; + const inList = Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["h"])('ion-fab-list', el); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const TagType = href === undefined ? 'button' : 'a'; + const attrs = (TagType === 'button') + ? { type: this.type } + : { + download: this.download, + href, + rel: this.rel, + target: this.target + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-disabled": disabled ? 'true' : null, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(color, { + [mode]: true, + 'fab-button-in-list': inList, + 'fab-button-translucent-in-list': inList && translucent, + 'fab-button-close-active': activated, + 'fab-button-show': show, + 'fab-button-disabled': disabled, + 'fab-button-translucent': translucent, + 'ion-activatable': true, + 'ion-focusable': true, + [`fab-button-${size}`]: size !== undefined, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["o"])(href, ev, this.routerDirection, this.routerAnimation) }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +FabButton.style = { + ios: fabButtonIosCss, + md: fabButtonMdCss +}; + +const fabListCss = ":host{margin-left:0;margin-right:0;margin-top:66px;margin-bottom:66px;display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:5px;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;right:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-start),:host-context([dir=rtl]).fab-list-side-start{left:unset;right:unset;left:0}:host(.fab-list-side-end){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;left:0;-ms-flex-direction:row;flex-direction:row}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-end){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-end),:host-context([dir=rtl]).fab-list-side-end{left:unset;right:unset;right:0}"; + +const FabList = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the fab list will show all fab buttons in the list. + */ + this.activated = false; + /** + * The side the fab list will show on relative to the main fab button. + */ + this.side = 'bottom'; + } + activatedChanged(activated) { + const fabs = Array.from(this.el.querySelectorAll('ion-fab-button')); + // if showing the fabs add a timeout, else show immediately + const timeout = activated ? 30 : 0; + fabs.forEach((fab, i) => { + setTimeout(() => fab.show = activated, i * timeout); + }); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'fab-list-active': this.activated, + [`fab-list-side-${this.side}`]: true + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "activated": ["activatedChanged"] + }; } +}; +FabList.style = fabListCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=12-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/12-es2015.js.map b/android/app/src/main/assets/public/12-es2015.js.map new file mode 100644 index 000000000..71990aaf7 --- /dev/null +++ b/android/app/src/main/assets/public/12-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js"],"names":[],"mappings":"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","file":"12-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as hostContext, o as openURL, c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst fabCss = \":host{position:absolute;z-index:999}:host(.fab-horizontal-center){left:50%;margin-left:-28px}:host-context([dir=rtl]):host(.fab-horizontal-center),:host-context([dir=rtl]).fab-horizontal-center{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-horizontal-center){margin-left:unset;-webkit-margin-start:-28px;margin-inline-start:-28px}}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:-28px}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:-28px}:host(.fab-vertical-center){margin-top:-28px;top:50%}\";\n\nconst Fab = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the fab will display on the edge of the header if\n * `vertical` is `\"top\"`, and on the edge of the footer if\n * it is `\"bottom\"`. Should be used with a `fixed` slot.\n */\n this.edge = false;\n /**\n * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active.\n * That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible.\n */\n this.activated = false;\n this.onClick = () => {\n const hasList = !!this.el.querySelector('ion-fab-list');\n const getButton = this.getFab();\n const isButtonDisabled = getButton && getButton.disabled;\n if (hasList && !isButtonDisabled) {\n this.activated = !this.activated;\n }\n };\n }\n activatedChanged() {\n const activated = this.activated;\n const fab = this.getFab();\n if (fab) {\n fab.activated = activated;\n }\n Array.from(this.el.querySelectorAll('ion-fab-list')).forEach(list => {\n list.activated = activated;\n });\n }\n componentDidLoad() {\n if (this.activated) {\n this.activatedChanged();\n }\n }\n /**\n * Close an active FAB list container.\n */\n async close() {\n this.activated = false;\n }\n getFab() {\n return this.el.querySelector('ion-fab-button');\n }\n render() {\n const { horizontal, vertical, edge } = this;\n const mode = getIonMode(this);\n return (h(Host, { onClick: this.onClick, class: {\n [mode]: true,\n [`fab-horizontal-${horizontal}`]: horizontal !== undefined,\n [`fab-vertical-${vertical}`]: vertical !== undefined,\n 'fab-edge': edge\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"activated\": [\"activatedChanged\"]\n }; }\n};\nFab.style = fabCss;\n\nconst fabButtonIosCss = \":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}\";\n\nconst fabButtonMdCss = \":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}\";\n\nconst FabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n /**\n * If `true`, the fab button will be show a close icon.\n */\n this.activated = false;\n /**\n * If `true`, the user cannot interact with the fab button.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n /**\n * If `true`, the fab button will show when in a fab-list.\n */\n this.show = false;\n /**\n * If `true`, the fab button 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 * The type of the button.\n */\n this.type = 'button';\n /**\n * The icon name to use for the close icon. This will appear when the fab button\n * is pressed. Only applies if it is the main button inside of a fab containing a\n * fab list.\n */\n this.closeIcon = 'close';\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n render() {\n const { el, disabled, color, href, activated, show, translucent, size } = this;\n const inList = hostContext('ion-fab-list', el);\n const mode = getIonMode(this);\n const TagType = href === undefined ? 'button' : 'a';\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download: this.download,\n href,\n rel: this.rel,\n target: this.target\n };\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'fab-button-in-list': inList,\n 'fab-button-translucent-in-list': inList && translucent,\n 'fab-button-close-active': activated,\n 'fab-button-show': show,\n 'fab-button-disabled': disabled,\n 'fab-button-translucent': translucent,\n 'ion-activatable': true,\n 'ion-focusable': true,\n [`fab-button-${size}`]: size !== undefined,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }), h(\"ion-icon\", { icon: this.closeIcon, part: \"close-icon\", class: \"close-icon\", lazy: false }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", null))));\n }\n get el() { return getElement(this); }\n};\nFabButton.style = {\n ios: fabButtonIosCss,\n md: fabButtonMdCss\n};\n\nconst fabListCss = \":host{margin-left:0;margin-right:0;margin-top:66px;margin-bottom:66px;display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:5px;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;right:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-start),:host-context([dir=rtl]).fab-list-side-start{left:unset;right:unset;left:0}:host(.fab-list-side-end){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;left:0;-ms-flex-direction:row;flex-direction:row}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-end){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-end),:host-context([dir=rtl]).fab-list-side-end{left:unset;right:unset;right:0}\";\n\nconst FabList = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the fab list will show all fab buttons in the list.\n */\n this.activated = false;\n /**\n * The side the fab list will show on relative to the main fab button.\n */\n this.side = 'bottom';\n }\n activatedChanged(activated) {\n const fabs = Array.from(this.el.querySelectorAll('ion-fab-button'));\n // if showing the fabs add a timeout, else show immediately\n const timeout = activated ? 30 : 0;\n fabs.forEach((fab, i) => {\n setTimeout(() => fab.show = activated, i * timeout);\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'fab-list-active': this.activated,\n [`fab-list-side-${this.side}`]: true\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"activated\": [\"activatedChanged\"]\n }; }\n};\nFabList.style = fabListCss;\n\nexport { Fab as ion_fab, FabButton as ion_fab_button, FabList as ion_fab_list };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/12-es5.js b/android/app/src/main/assets/public/12-es5.js new file mode 100644 index 000000000..74df80201 --- /dev/null +++ b/android/app/src/main/assets/public/12-es5.js @@ -0,0 +1,370 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_fab, ion_fab_button, ion_fab_list */ + + /***/ + function node_modulesIonicCoreDistEsmIonFab_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_fab", function () { + return Fab; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_fab_button", function () { + return FabButton; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_fab_list", function () { + return FabList; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var fabCss = ":host{position:absolute;z-index:999}:host(.fab-horizontal-center){left:50%;margin-left:-28px}:host-context([dir=rtl]):host(.fab-horizontal-center),:host-context([dir=rtl]).fab-horizontal-center{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-horizontal-center){margin-left:unset;-webkit-margin-start:-28px;margin-inline-start:-28px}}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:-28px}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:-28px}:host(.fab-vertical-center){margin-top:-28px;top:50%}"; + + var Fab = /*#__PURE__*/function () { + function Fab(hostRef) { + var _this = this; + + _classCallCheck(this, Fab); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the fab will display on the edge of the header if + * `vertical` is `"top"`, and on the edge of the footer if + * it is `"bottom"`. Should be used with a `fixed` slot. + */ + + this.edge = false; + /** + * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active. + * That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible. + */ + + this.activated = false; + + this.onClick = function () { + var hasList = !!_this.el.querySelector('ion-fab-list'); + + var getButton = _this.getFab(); + + var isButtonDisabled = getButton && getButton.disabled; + + if (hasList && !isButtonDisabled) { + _this.activated = !_this.activated; + } + }; + } + + _createClass(Fab, [{ + key: "activatedChanged", + value: function activatedChanged() { + var activated = this.activated; + var fab = this.getFab(); + + if (fab) { + fab.activated = activated; + } + + Array.from(this.el.querySelectorAll('ion-fab-list')).forEach(function (list) { + list.activated = activated; + }); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + if (this.activated) { + this.activatedChanged(); + } + } + /** + * Close an active FAB list container. + */ + + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.activated = false; + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function close() { + return _close.apply(this, arguments); + } + + return close; + }() + }, { + key: "getFab", + value: function getFab() { + return this.el.querySelector('ion-fab-button'); + } + }, { + key: "render", + value: function render() { + var _class; + + var horizontal = this.horizontal, + vertical = this.vertical, + edge = this.edge; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "fab-horizontal-".concat(horizontal), horizontal !== undefined), _defineProperty(_class, "fab-vertical-".concat(vertical), vertical !== undefined), _defineProperty(_class, 'fab-edge', edge), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "activated": ["activatedChanged"] + }; + } + }]); + + return Fab; + }(); + + Fab.style = fabCss; + var fabButtonIosCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}"; + var fabButtonMdCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}"; + + var FabButton = /*#__PURE__*/function () { + function FabButton(hostRef) { + var _this2 = this; + + _classCallCheck(this, FabButton); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + /** + * If `true`, the fab button will be show a close icon. + */ + + this.activated = false; + /** + * If `true`, the user cannot interact with the fab button. + */ + + this.disabled = false; + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + + this.routerDirection = 'forward'; + /** + * If `true`, the fab button will show when in a fab-list. + */ + + this.show = false; + /** + * If `true`, the fab button will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + /** + * The type of the button. + */ + + this.type = 'button'; + /** + * The icon name to use for the close icon. This will appear when the fab button + * is pressed. Only applies if it is the main button inside of a fab containing a + * fab list. + */ + + this.closeIcon = 'close'; + + this.onFocus = function () { + _this2.ionFocus.emit(); + }; + + this.onBlur = function () { + _this2.ionBlur.emit(); + }; + } + + _createClass(FabButton, [{ + key: "render", + value: function render() { + var _Object, + _this3 = this; + + var el = this.el, + disabled = this.disabled, + color = this.color, + href = this.href, + activated = this.activated, + show = this.show, + translucent = this.translucent, + size = this.size; + var inList = Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["h"])('ion-fab-list', el); + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var TagType = href === undefined ? 'button' : 'a'; + var attrs = TagType === 'button' ? { + type: this.type + } : { + download: this.download, + href: href, + rel: this.rel, + target: this.target + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-disabled": disabled ? 'true' : null, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'fab-button-in-list', inList), _defineProperty(_Object, 'fab-button-translucent-in-list', inList && translucent), _defineProperty(_Object, 'fab-button-close-active', activated), _defineProperty(_Object, 'fab-button-show', show), _defineProperty(_Object, 'fab-button-disabled', disabled), _defineProperty(_Object, 'fab-button-translucent', translucent), _defineProperty(_Object, 'ion-activatable', true), _defineProperty(_Object, 'ion-focusable', true), _defineProperty(_Object, "fab-button-".concat(size), size !== undefined), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { + "class": "button-native", + part: "native", + disabled: disabled, + onFocus: this.onFocus, + onBlur: this.onBlur, + onClick: function onClick(ev) { + return Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["o"])(href, ev, _this3.routerDirection, _this3.routerAnimation); + } + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + icon: this.closeIcon, + part: "close-icon", + "class": "close-icon", + lazy: false + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return FabButton; + }(); + + FabButton.style = { + ios: fabButtonIosCss, + md: fabButtonMdCss + }; + var fabListCss = ":host{margin-left:0;margin-right:0;margin-top:66px;margin-bottom:66px;display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:5px;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;right:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-start),:host-context([dir=rtl]).fab-list-side-start{left:unset;right:unset;left:0}:host(.fab-list-side-end){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;left:0;-ms-flex-direction:row;flex-direction:row}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-end){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-end),:host-context([dir=rtl]).fab-list-side-end{left:unset;right:unset;right:0}"; + + var FabList = /*#__PURE__*/function () { + function FabList(hostRef) { + _classCallCheck(this, FabList); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the fab list will show all fab buttons in the list. + */ + + this.activated = false; + /** + * The side the fab list will show on relative to the main fab button. + */ + + this.side = 'bottom'; + } + + _createClass(FabList, [{ + key: "activatedChanged", + value: function activatedChanged(activated) { + var fabs = Array.from(this.el.querySelectorAll('ion-fab-button')); // if showing the fabs add a timeout, else show immediately + + var timeout = activated ? 30 : 0; + fabs.forEach(function (fab, i) { + setTimeout(function () { + return fab.show = activated; + }, i * timeout); + }); + } + }, { + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'fab-list-active', this.activated), _defineProperty(_class2, "fab-list-side-".concat(this.side), true), _class2) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "activated": ["activatedChanged"] + }; + } + }]); + + return FabList; + }(); + + FabList.style = fabListCss; + /***/ + } +}]); +//# sourceMappingURL=12-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/12-es5.js.map b/android/app/src/main/assets/public/12-es5.js.map new file mode 100644 index 000000000..ef3ba857e --- /dev/null +++ b/android/app/src/main/assets/public/12-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js"],"names":["fabCss","Fab","hostRef","edge","activated","onClick","hasList","el","querySelector","getButton","getFab","isButtonDisabled","disabled","fab","Array","from","querySelectorAll","forEach","list","activatedChanged","horizontal","vertical","mode","undefined","style","fabButtonIosCss","fabButtonMdCss","FabButton","ionFocus","ionBlur","routerDirection","show","translucent","type","closeIcon","onFocus","emit","onBlur","color","href","size","inList","TagType","attrs","download","rel","target","Object","assign","part","ev","routerAnimation","icon","lazy","ios","md","fabListCss","FabList","side","fabs","timeout","i","setTimeout"],"mappings":"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","file":"12-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as hostContext, o as openURL, c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst fabCss = \":host{position:absolute;z-index:999}:host(.fab-horizontal-center){left:50%;margin-left:-28px}:host-context([dir=rtl]):host(.fab-horizontal-center),:host-context([dir=rtl]).fab-horizontal-center{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-horizontal-center){margin-left:unset;-webkit-margin-start:-28px;margin-inline-start:-28px}}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:-28px}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:-28px}:host(.fab-vertical-center){margin-top:-28px;top:50%}\";\n\nconst Fab = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the fab will display on the edge of the header if\n * `vertical` is `\"top\"`, and on the edge of the footer if\n * it is `\"bottom\"`. Should be used with a `fixed` slot.\n */\n this.edge = false;\n /**\n * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active.\n * That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible.\n */\n this.activated = false;\n this.onClick = () => {\n const hasList = !!this.el.querySelector('ion-fab-list');\n const getButton = this.getFab();\n const isButtonDisabled = getButton && getButton.disabled;\n if (hasList && !isButtonDisabled) {\n this.activated = !this.activated;\n }\n };\n }\n activatedChanged() {\n const activated = this.activated;\n const fab = this.getFab();\n if (fab) {\n fab.activated = activated;\n }\n Array.from(this.el.querySelectorAll('ion-fab-list')).forEach(list => {\n list.activated = activated;\n });\n }\n componentDidLoad() {\n if (this.activated) {\n this.activatedChanged();\n }\n }\n /**\n * Close an active FAB list container.\n */\n async close() {\n this.activated = false;\n }\n getFab() {\n return this.el.querySelector('ion-fab-button');\n }\n render() {\n const { horizontal, vertical, edge } = this;\n const mode = getIonMode(this);\n return (h(Host, { onClick: this.onClick, class: {\n [mode]: true,\n [`fab-horizontal-${horizontal}`]: horizontal !== undefined,\n [`fab-vertical-${vertical}`]: vertical !== undefined,\n 'fab-edge': edge\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"activated\": [\"activatedChanged\"]\n }; }\n};\nFab.style = fabCss;\n\nconst fabButtonIosCss = \":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}\";\n\nconst fabButtonMdCss = \":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}\";\n\nconst FabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n /**\n * If `true`, the fab button will be show a close icon.\n */\n this.activated = false;\n /**\n * If `true`, the user cannot interact with the fab button.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n /**\n * If `true`, the fab button will show when in a fab-list.\n */\n this.show = false;\n /**\n * If `true`, the fab button 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 * The type of the button.\n */\n this.type = 'button';\n /**\n * The icon name to use for the close icon. This will appear when the fab button\n * is pressed. Only applies if it is the main button inside of a fab containing a\n * fab list.\n */\n this.closeIcon = 'close';\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n render() {\n const { el, disabled, color, href, activated, show, translucent, size } = this;\n const inList = hostContext('ion-fab-list', el);\n const mode = getIonMode(this);\n const TagType = href === undefined ? 'button' : 'a';\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download: this.download,\n href,\n rel: this.rel,\n target: this.target\n };\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'fab-button-in-list': inList,\n 'fab-button-translucent-in-list': inList && translucent,\n 'fab-button-close-active': activated,\n 'fab-button-show': show,\n 'fab-button-disabled': disabled,\n 'fab-button-translucent': translucent,\n 'ion-activatable': true,\n 'ion-focusable': true,\n [`fab-button-${size}`]: size !== undefined,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }), h(\"ion-icon\", { icon: this.closeIcon, part: \"close-icon\", class: \"close-icon\", lazy: false }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", null))));\n }\n get el() { return getElement(this); }\n};\nFabButton.style = {\n ios: fabButtonIosCss,\n md: fabButtonMdCss\n};\n\nconst fabListCss = \":host{margin-left:0;margin-right:0;margin-top:66px;margin-bottom:66px;display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:5px;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;right:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-start){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-start),:host-context([dir=rtl]).fab-list-side-start{left:unset;right:unset;left:0}:host(.fab-list-side-end){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;left:0;-ms-flex-direction:row;flex-direction:row}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.fab-list-side-end){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-end),:host-context([dir=rtl]).fab-list-side-end{left:unset;right:unset;right:0}\";\n\nconst FabList = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the fab list will show all fab buttons in the list.\n */\n this.activated = false;\n /**\n * The side the fab list will show on relative to the main fab button.\n */\n this.side = 'bottom';\n }\n activatedChanged(activated) {\n const fabs = Array.from(this.el.querySelectorAll('ion-fab-button'));\n // if showing the fabs add a timeout, else show immediately\n const timeout = activated ? 30 : 0;\n fabs.forEach((fab, i) => {\n setTimeout(() => fab.show = activated, i * timeout);\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'fab-list-active': this.activated,\n [`fab-list-side-${this.side}`]: true\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"activated\": [\"activatedChanged\"]\n }; }\n};\nFabList.style = fabListCss;\n\nexport { Fab as ion_fab, FabButton as ion_fab_button, FabList as ion_fab_list };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/13-es2015.js b/android/app/src/main/assets/public/13-es2015.js new file mode 100644 index 000000000..ad84025af --- /dev/null +++ b/android/app/src/main/assets/public/13-es2015.js @@ -0,0 +1,91 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[13],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-img.entry.js": +/*!************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-img.entry.js ***! + \************************************************************/ +/*! exports provided: ion_img */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_img", function() { return Img; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + + +const imgCss = ":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}"; + +const Img = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionImgWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionImgWillLoad", 7); + this.ionImgDidLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionImgDidLoad", 7); + this.ionError = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionError", 7); + this.onLoad = () => { + this.ionImgDidLoad.emit(); + }; + this.onError = () => { + this.ionError.emit(); + }; + } + srcChanged() { + this.addIO(); + } + componentDidLoad() { + this.addIO(); + } + addIO() { + if (this.src === undefined) { + return; + } + if (typeof window !== 'undefined' && + 'IntersectionObserver' in window && + 'IntersectionObserverEntry' in window && + 'isIntersecting' in window.IntersectionObserverEntry.prototype) { + this.removeIO(); + this.io = new IntersectionObserver(data => { + // because there will only ever be one instance + // of the element we are observing + // we can just use data[0] + if (data[0].isIntersecting) { + this.load(); + this.removeIO(); + } + }); + this.io.observe(this.el); + } + else { + // fall back to setTimeout for Safari and IE + setTimeout(() => this.load(), 200); + } + } + load() { + this.loadError = this.onError; + this.loadSrc = this.src; + this.ionImgWillLoad.emit(); + } + removeIO() { + if (this.io) { + this.io.disconnect(); + this.io = undefined; + } + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("img", { decoding: "async", src: this.loadSrc, alt: this.alt, onLoad: this.onLoad, onError: this.loadError, part: "image" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "src": ["srcChanged"] + }; } +}; +Img.style = imgCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=13-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/13-es2015.js.map b/android/app/src/main/assets/public/13-es2015.js.map new file mode 100644 index 000000000..4b2c56ac9 --- /dev/null +++ b/android/app/src/main/assets/public/13-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-img.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;;AAE7D,sBAAsB,cAAc,sBAAsB,mBAAmB,IAAI,cAAc,WAAW,YAAY,sBAAsB,mBAAmB,2BAA2B,wBAAwB;;AAElN;AACA;AACA,IAAI,4DAAgB;AACpB,0BAA0B,4DAAW;AACrC,yBAAyB,4DAAW;AACpC,oBAAoB,4DAAW;AAC/B;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,mEAAU,QAAQ,EAAE,4DAAC,SAAS,mHAAmH;AAC9K;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;;AAE0B","file":"13-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst imgCss = \":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}\";\n\nconst Img = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionImgWillLoad = createEvent(this, \"ionImgWillLoad\", 7);\n this.ionImgDidLoad = createEvent(this, \"ionImgDidLoad\", 7);\n this.ionError = createEvent(this, \"ionError\", 7);\n this.onLoad = () => {\n this.ionImgDidLoad.emit();\n };\n this.onError = () => {\n this.ionError.emit();\n };\n }\n srcChanged() {\n this.addIO();\n }\n componentDidLoad() {\n this.addIO();\n }\n addIO() {\n if (this.src === undefined) {\n return;\n }\n if (typeof window !== 'undefined' &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'isIntersecting' in window.IntersectionObserverEntry.prototype) {\n this.removeIO();\n this.io = new IntersectionObserver(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(() => this.load(), 200);\n }\n }\n load() {\n this.loadError = this.onError;\n this.loadSrc = this.src;\n this.ionImgWillLoad.emit();\n }\n removeIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"img\", { decoding: \"async\", src: this.loadSrc, alt: this.alt, onLoad: this.onLoad, onError: this.loadError, part: \"image\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"src\": [\"srcChanged\"]\n }; }\n};\nImg.style = imgCss;\n\nexport { Img as ion_img };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/13-es5.js b/android/app/src/main/assets/public/13-es5.js new file mode 100644 index 000000000..33d992e31 --- /dev/null +++ b/android/app/src/main/assets/public/13-es5.js @@ -0,0 +1,151 @@ +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[13], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-img.entry.js": + /*!************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-img.entry.js ***! + \************************************************************/ + + /*! exports provided: ion_img */ + + /***/ + function node_modulesIonicCoreDistEsmIonImgEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_img", function () { + return Img; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + var imgCss = ":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}"; + + var Img = /*#__PURE__*/function () { + function Img(hostRef) { + var _this = this; + + _classCallCheck(this, Img); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionImgWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionImgWillLoad", 7); + this.ionImgDidLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionImgDidLoad", 7); + this.ionError = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionError", 7); + + this.onLoad = function () { + _this.ionImgDidLoad.emit(); + }; + + this.onError = function () { + _this.ionError.emit(); + }; + } + + _createClass(Img, [{ + key: "srcChanged", + value: function srcChanged() { + this.addIO(); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + this.addIO(); + } + }, { + key: "addIO", + value: function addIO() { + var _this2 = this; + + if (this.src === undefined) { + return; + } + + if (typeof window !== 'undefined' && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'isIntersecting' in window.IntersectionObserverEntry.prototype) { + this.removeIO(); + this.io = new IntersectionObserver(function (data) { + // because there will only ever be one instance + // of the element we are observing + // we can just use data[0] + if (data[0].isIntersecting) { + _this2.load(); + + _this2.removeIO(); + } + }); + this.io.observe(this.el); + } else { + // fall back to setTimeout for Safari and IE + setTimeout(function () { + return _this2.load(); + }, 200); + } + } + }, { + key: "load", + value: function load() { + this.loadError = this.onError; + this.loadSrc = this.src; + this.ionImgWillLoad.emit(); + } + }, { + key: "removeIO", + value: function removeIO() { + if (this.io) { + this.io.disconnect(); + this.io = undefined; + } + } + }, { + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("img", { + decoding: "async", + src: this.loadSrc, + alt: this.alt, + onLoad: this.onLoad, + onError: this.loadError, + part: "image" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "src": ["srcChanged"] + }; + } + }]); + + return Img; + }(); + + Img.style = imgCss; + /***/ + } +}]); +//# sourceMappingURL=13-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/13-es5.js.map b/android/app/src/main/assets/public/13-es5.js.map new file mode 100644 index 000000000..d5793b6ad --- /dev/null +++ b/android/app/src/main/assets/public/13-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-img.entry.js"],"names":["imgCss","Img","hostRef","ionImgWillLoad","ionImgDidLoad","ionError","onLoad","emit","onError","addIO","src","undefined","window","IntersectionObserverEntry","prototype","removeIO","io","IntersectionObserver","data","isIntersecting","load","observe","el","setTimeout","loadError","loadSrc","disconnect","decoding","alt","part","style"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,QAAMA,MAAM,GAAG,oMAAf;;AAEA,QAAMC,GAAG;AACP,mBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKC,cAAL,GAAsB,6DAAY,IAAZ,EAAkB,gBAAlB,EAAoC,CAApC,CAAtB;AACA,aAAKC,aAAL,GAAqB,6DAAY,IAAZ,EAAkB,eAAlB,EAAmC,CAAnC,CAArB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;;AACA,aAAKC,MAAL,GAAc,YAAM;AAClB,eAAI,CAACF,aAAL,CAAmBG,IAAnB;AACD,SAFD;;AAGA,aAAKC,OAAL,GAAe,YAAM;AACnB,eAAI,CAACH,QAAL,CAAcE,IAAd;AACD,SAFD;AAGD;;AAZM;AAAA;AAAA,eAaP,sBAAa;AACX,eAAKE,KAAL;AACD;AAfM;AAAA;AAAA,eAgBP,4BAAmB;AACjB,eAAKA,KAAL;AACD;AAlBM;AAAA;AAAA,eAmBP,iBAAQ;AAAA;;AACN,cAAI,KAAKC,GAAL,KAAaC,SAAjB,EAA4B;AAC1B;AACD;;AACD,cAAI,OAAOC,MAAP,KAAkB,WAAlB,IACF,0BAA0BA,MADxB,IAEF,+BAA+BA,MAF7B,IAGF,oBAAoBA,MAAM,CAACC,yBAAP,CAAiCC,SAHvD,EAGkE;AAChE,iBAAKC,QAAL;AACA,iBAAKC,EAAL,GAAU,IAAIC,oBAAJ,CAAyB,UAAAC,IAAI,EAAI;AACzC;AACA;AACA;AACA,kBAAIA,IAAI,CAAC,CAAD,CAAJ,CAAQC,cAAZ,EAA4B;AAC1B,sBAAI,CAACC,IAAL;;AACA,sBAAI,CAACL,QAAL;AACD;AACF,aARS,CAAV;AASA,iBAAKC,EAAL,CAAQK,OAAR,CAAgB,KAAKC,EAArB;AACD,WAfD,MAgBK;AACH;AACAC,sBAAU,CAAC;AAAA,qBAAM,MAAI,CAACH,IAAL,EAAN;AAAA,aAAD,EAAoB,GAApB,CAAV;AACD;AACF;AA3CM;AAAA;AAAA,eA4CP,gBAAO;AACL,eAAKI,SAAL,GAAiB,KAAKhB,OAAtB;AACA,eAAKiB,OAAL,GAAe,KAAKf,GAApB;AACA,eAAKP,cAAL,CAAoBI,IAApB;AACD;AAhDM;AAAA;AAAA,eAiDP,oBAAW;AACT,cAAI,KAAKS,EAAT,EAAa;AACX,iBAAKA,EAAL,CAAQU,UAAR;AACA,iBAAKV,EAAL,GAAUL,SAAV;AACD;AACF;AAtDM;AAAA;AAAA,eAuDP,kBAAS;AACP,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,qBAAO,oEAAW,IAAX;AAAT,WAAR,EAAqC,6DAAE,KAAF,EAAS;AAAEgB,oBAAQ,EAAE,OAAZ;AAAqBjB,eAAG,EAAE,KAAKe,OAA/B;AAAwCG,eAAG,EAAE,KAAKA,GAAlD;AAAuDtB,kBAAM,EAAE,KAAKA,MAApE;AAA4EE,mBAAO,EAAE,KAAKgB,SAA1F;AAAqGK,gBAAI,EAAE;AAA3G,WAAT,CAArC,CAAR;AACD;AAzDM;AAAA;AAAA,aA0DP,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AA1D9B;AAAA;AAAA,aA2DP,eAAsB;AAAE,iBAAO;AAC7B,mBAAO,CAAC,YAAD;AADsB,WAAP;AAEpB;AA7DG;;AAAA;AAAA,OAAT;;AA+DA5B,OAAG,CAAC6B,KAAJ,GAAY9B,MAAZ","file":"13-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst imgCss = \":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}\";\n\nconst Img = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionImgWillLoad = createEvent(this, \"ionImgWillLoad\", 7);\n this.ionImgDidLoad = createEvent(this, \"ionImgDidLoad\", 7);\n this.ionError = createEvent(this, \"ionError\", 7);\n this.onLoad = () => {\n this.ionImgDidLoad.emit();\n };\n this.onError = () => {\n this.ionError.emit();\n };\n }\n srcChanged() {\n this.addIO();\n }\n componentDidLoad() {\n this.addIO();\n }\n addIO() {\n if (this.src === undefined) {\n return;\n }\n if (typeof window !== 'undefined' &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'isIntersecting' in window.IntersectionObserverEntry.prototype) {\n this.removeIO();\n this.io = new IntersectionObserver(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(() => this.load(), 200);\n }\n }\n load() {\n this.loadError = this.onError;\n this.loadSrc = this.src;\n this.ionImgWillLoad.emit();\n }\n removeIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"img\", { decoding: \"async\", src: this.loadSrc, alt: this.alt, onLoad: this.onLoad, onError: this.loadError, part: \"image\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"src\": [\"srcChanged\"]\n }; }\n};\nImg.style = imgCss;\n\nexport { Img as ion_img };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/14-es2015.js b/android/app/src/main/assets/public/14-es2015.js new file mode 100644 index 000000000..5fee92667 --- /dev/null +++ b/android/app/src/main/assets/public/14-es2015.js @@ -0,0 +1,253 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js ***! + \**************************************************************************/ +/*! exports provided: ion_infinite_scroll, ion_infinite_scroll_content */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_infinite_scroll", function() { return InfiniteScroll; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_infinite_scroll_content", function() { return InfiniteScrollContent; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-9e3fe806.js */ "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); + + + + +const infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}"; + +const InfiniteScroll = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInfinite = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInfinite", 7); + this.thrPx = 0; + this.thrPc = 0; + this.didFire = false; + this.isBusy = false; + this.isLoading = false; + /** + * The threshold distance from the bottom + * of the content to call the `infinite` output event when scrolled. + * The threshold value can be either a percent, or + * in pixels. For example, use the value of `10%` for the `infinite` + * output event to get called when the user has scrolled 10% + * from the bottom of the page. Use the value `100px` when the + * scroll is within 100 pixels from the bottom of the page. + */ + this.threshold = '15%'; + /** + * If `true`, the infinite scroll will be hidden and scroll event listeners + * will be removed. + * + * Set this to true to disable the infinite scroll from actively + * trying to receive new data while scrolling. This is useful + * when it is known that there is no more data that can be added, and + * the infinite scroll is no longer needed. + */ + this.disabled = false; + /** + * The position of the infinite scroll element. + * The value can be either `top` or `bottom`. + */ + this.position = 'bottom'; + this.onScroll = () => { + const scrollEl = this.scrollEl; + if (!scrollEl || !this.canStart()) { + return 1; + } + const infiniteHeight = this.el.offsetHeight; + if (infiniteHeight === 0) { + // if there is no height of this element then do nothing + return 2; + } + const scrollTop = scrollEl.scrollTop; + const scrollHeight = scrollEl.scrollHeight; + const height = scrollEl.offsetHeight; + const threshold = this.thrPc !== 0 ? (height * this.thrPc) : this.thrPx; + const distanceFromInfinite = (this.position === 'bottom') + ? scrollHeight - infiniteHeight - scrollTop - threshold - height + : scrollTop - infiniteHeight - threshold; + if (distanceFromInfinite < 0) { + if (!this.didFire) { + this.isLoading = true; + this.didFire = true; + this.ionInfinite.emit(); + return 3; + } + } + else { + this.didFire = false; + } + return 4; + }; + } + thresholdChanged() { + const val = this.threshold; + if (val.lastIndexOf('%') > -1) { + this.thrPx = 0; + this.thrPc = (parseFloat(val) / 100); + } + else { + this.thrPx = parseFloat(val); + this.thrPc = 0; + } + } + disabledChanged() { + const disabled = this.disabled; + if (disabled) { + this.isLoading = false; + this.isBusy = false; + } + this.enableScrollEvents(!disabled); + } + async connectedCallback() { + const contentEl = this.el.closest('ion-content'); + if (!contentEl) { + console.error(' must be used inside an '); + return; + } + this.scrollEl = await contentEl.getScrollElement(); + this.thresholdChanged(); + this.disabledChanged(); + if (this.position === 'top') { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + if (this.scrollEl) { + this.scrollEl.scrollTop = this.scrollEl.scrollHeight - this.scrollEl.clientHeight; + } + }); + } + } + disconnectedCallback() { + this.enableScrollEvents(false); + this.scrollEl = undefined; + } + /** + * Call `complete()` within the `ionInfinite` output event handler when + * your async operation has completed. For example, the `loading` + * state is while the app is performing an asynchronous operation, + * such as receiving more data from an AJAX request to add more items + * to a data list. Once the data has been received and UI updated, you + * then call this method to signify that the loading has completed. + * This method will change the infinite scroll's state from `loading` + * to `enabled`. + */ + async complete() { + const scrollEl = this.scrollEl; + if (!this.isLoading || !scrollEl) { + return; + } + this.isLoading = false; + if (this.position === 'top') { + /** + * New content is being added at the top, but the scrollTop position stays the same, + * which causes a scroll jump visually. This algorithm makes sure to prevent this. + * (Frame 1) + * - complete() is called, but the UI hasn't had time to update yet. + * - Save the current content dimensions. + * - Wait for the next frame using _dom.read, so the UI will be updated. + * (Frame 2) + * - Read the new content dimensions. + * - Calculate the height difference and the new scroll position. + * - Delay the scroll position change until other possible dom reads are done using _dom.write to be performant. + * (Still frame 2, if I'm correct) + * - Change the scroll position (= visually maintain the scroll position). + * - Change the state to re-enable the InfiniteScroll. + * - This should be after changing the scroll position, or it could + * cause the InfiniteScroll to be triggered again immediately. + * (Frame 3) + * Done. + */ + this.isBusy = true; + // ******** DOM READ **************** + // Save the current content dimensions before the UI updates + const prev = scrollEl.scrollHeight - scrollEl.scrollTop; + // ******** DOM READ **************** + requestAnimationFrame(() => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + // UI has updated, save the new content dimensions + const scrollHeight = scrollEl.scrollHeight; + // New content was added on top, so the scroll position should be changed immediately to prevent it from jumping around + const newScrollTop = scrollHeight - prev; + // ******** DOM WRITE **************** + requestAnimationFrame(() => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + scrollEl.scrollTop = newScrollTop; + this.isBusy = false; + }); + }); + }); + }); + } + } + canStart() { + return (!this.disabled && + !this.isBusy && + !!this.scrollEl && + !this.isLoading); + } + enableScrollEvents(shouldListen) { + if (this.scrollEl) { + if (shouldListen) { + this.scrollEl.addEventListener('scroll', this.onScroll); + } + else { + this.scrollEl.removeEventListener('scroll', this.onScroll); + } + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const disabled = this.disabled; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'infinite-scroll-loading': this.isLoading, + 'infinite-scroll-enabled': !disabled + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "threshold": ["thresholdChanged"], + "disabled": ["disabledChanged"] + }; } +}; +InfiniteScroll.style = infiniteScrollCss; + +const infiniteScrollContentIosCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}"; + +const infiniteScrollContentMdCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}"; + +const InfiniteScrollContent = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + componentDidLoad() { + if (this.loadingSpinner === undefined) { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.loadingSpinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('infiniteLoadingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', mode === 'ios' ? 'lines' : 'crescent')); + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + // Used internally for styling + [`infinite-scroll-content-${mode}`]: true + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "infinite-loading" }, this.loadingSpinner && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "infinite-loading-spinner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { name: this.loadingSpinner }))), this.loadingText && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "infinite-loading-text", innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_2__["s"])(this.loadingText) }))))); + } +}; +InfiniteScrollContent.style = { + ios: infiniteScrollContentIosCss, + md: infiniteScrollContentMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=14-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/14-es2015.js.map b/android/app/src/main/assets/public/14-es2015.js.map new file mode 100644 index 000000000..3df316d93 --- /dev/null +++ b/android/app/src/main/assets/public/14-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4I;AAClE;AACb;;AAE7D,+CAA+C,aAAa,WAAW,yBAAyB,cAAc;;AAE9G;AACA;AACA,IAAI,4DAAgB;AACpB,uBAAuB,4DAAW;AAClC;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;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,MAAM,4DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;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,QAAQ,4DAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAS;AACrB;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iEAAiE,oBAAoB,aAAa,0BAA0B,sBAAsB,qBAAqB,uBAAuB,gBAAgB,kBAAkB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,kBAAkB,cAAc,eAAe,aAAa,mBAAmB,aAAa,WAAW,uBAAuB,iBAAiB,kBAAkB,eAAe,gBAAgB,+FAA+F,uBAAuB,kBAAkB,mBAAmB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,uEAAuE,cAAc,oDAAoD,yCAAyC,oPAAoP,0CAA0C,0OAA0O,wCAAwC;;AAEr9C,gEAAgE,oBAAoB,aAAa,0BAA0B,sBAAsB,qBAAqB,uBAAuB,gBAAgB,kBAAkB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,kBAAkB,cAAc,eAAe,aAAa,mBAAmB,aAAa,WAAW,uBAAuB,iBAAiB,kBAAkB,eAAe,gBAAgB,+FAA+F,uBAAuB,kBAAkB,mBAAmB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,uEAAuE,cAAc,mDAAmD,yCAAyC,+OAA+O,0CAA0C,uOAAuO,wCAAwC;;AAE38C;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA,mBAAmB,mEAAU;AAC7B,4BAA4B,2DAAM,+BAA+B,2DAAM;AACvE;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,oCAAoC,KAAK;AACzC,OAAO,EAAE,EAAE,4DAAC,SAAS,4BAA4B,0BAA0B,4DAAC,SAAS,oCAAoC,EAAE,4DAAC,iBAAiB,4BAA4B,0BAA0B,4DAAC,SAAS,4CAA4C,4DAAiB,oBAAoB;AAC9R;AACA;AACA;AACA;AACA;AACA;;AAEuG","file":"14-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, f as readTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\n\nconst infiniteScrollCss = \"ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}\";\n\nconst InfiniteScroll = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInfinite = createEvent(this, \"ionInfinite\", 7);\n this.thrPx = 0;\n this.thrPc = 0;\n this.didFire = false;\n this.isBusy = false;\n this.isLoading = false;\n /**\n * The threshold distance from the bottom\n * of the content to call the `infinite` output event when scrolled.\n * The threshold value can be either a percent, or\n * in pixels. For example, use the value of `10%` for the `infinite`\n * output event to get called when the user has scrolled 10%\n * from the bottom of the page. Use the value `100px` when the\n * scroll is within 100 pixels from the bottom of the page.\n */\n this.threshold = '15%';\n /**\n * If `true`, the infinite scroll will be hidden and scroll event listeners\n * will be removed.\n *\n * Set this to true to disable the infinite scroll from actively\n * trying to receive new data while scrolling. This is useful\n * when it is known that there is no more data that can be added, and\n * the infinite scroll is no longer needed.\n */\n this.disabled = false;\n /**\n * The position of the infinite scroll element.\n * The value can be either `top` or `bottom`.\n */\n this.position = 'bottom';\n this.onScroll = () => {\n const scrollEl = this.scrollEl;\n if (!scrollEl || !this.canStart()) {\n return 1;\n }\n const infiniteHeight = this.el.offsetHeight;\n if (infiniteHeight === 0) {\n // if there is no height of this element then do nothing\n return 2;\n }\n const scrollTop = scrollEl.scrollTop;\n const scrollHeight = scrollEl.scrollHeight;\n const height = scrollEl.offsetHeight;\n const threshold = this.thrPc !== 0 ? (height * this.thrPc) : this.thrPx;\n const distanceFromInfinite = (this.position === 'bottom')\n ? scrollHeight - infiniteHeight - scrollTop - threshold - height\n : scrollTop - infiniteHeight - threshold;\n if (distanceFromInfinite < 0) {\n if (!this.didFire) {\n this.isLoading = true;\n this.didFire = true;\n this.ionInfinite.emit();\n return 3;\n }\n }\n else {\n this.didFire = false;\n }\n return 4;\n };\n }\n thresholdChanged() {\n const val = this.threshold;\n if (val.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(val) / 100);\n }\n else {\n this.thrPx = parseFloat(val);\n this.thrPc = 0;\n }\n }\n disabledChanged() {\n const disabled = this.disabled;\n if (disabled) {\n this.isLoading = false;\n this.isBusy = false;\n }\n this.enableScrollEvents(!disabled);\n }\n async connectedCallback() {\n const contentEl = this.el.closest('ion-content');\n if (!contentEl) {\n console.error(' must be used inside an ');\n return;\n }\n this.scrollEl = await contentEl.getScrollElement();\n this.thresholdChanged();\n this.disabledChanged();\n if (this.position === 'top') {\n writeTask(() => {\n if (this.scrollEl) {\n this.scrollEl.scrollTop = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n }\n });\n }\n }\n disconnectedCallback() {\n this.enableScrollEvents(false);\n this.scrollEl = undefined;\n }\n /**\n * Call `complete()` within the `ionInfinite` output event handler when\n * your async operation has completed. For example, the `loading`\n * state is while the app is performing an asynchronous operation,\n * such as receiving more data from an AJAX request to add more items\n * to a data list. Once the data has been received and UI updated, you\n * then call this method to signify that the loading has completed.\n * This method will change the infinite scroll's state from `loading`\n * to `enabled`.\n */\n async complete() {\n const scrollEl = this.scrollEl;\n if (!this.isLoading || !scrollEl) {\n return;\n }\n this.isLoading = false;\n if (this.position === 'top') {\n /**\n * New content is being added at the top, but the scrollTop position stays the same,\n * which causes a scroll jump visually. This algorithm makes sure to prevent this.\n * (Frame 1)\n * - complete() is called, but the UI hasn't had time to update yet.\n * - Save the current content dimensions.\n * - Wait for the next frame using _dom.read, so the UI will be updated.\n * (Frame 2)\n * - Read the new content dimensions.\n * - Calculate the height difference and the new scroll position.\n * - Delay the scroll position change until other possible dom reads are done using _dom.write to be performant.\n * (Still frame 2, if I'm correct)\n * - Change the scroll position (= visually maintain the scroll position).\n * - Change the state to re-enable the InfiniteScroll.\n * - This should be after changing the scroll position, or it could\n * cause the InfiniteScroll to be triggered again immediately.\n * (Frame 3)\n * Done.\n */\n this.isBusy = true;\n // ******** DOM READ ****************\n // Save the current content dimensions before the UI updates\n const prev = scrollEl.scrollHeight - scrollEl.scrollTop;\n // ******** DOM READ ****************\n requestAnimationFrame(() => {\n readTask(() => {\n // UI has updated, save the new content dimensions\n const scrollHeight = scrollEl.scrollHeight;\n // New content was added on top, so the scroll position should be changed immediately to prevent it from jumping around\n const newScrollTop = scrollHeight - prev;\n // ******** DOM WRITE ****************\n requestAnimationFrame(() => {\n writeTask(() => {\n scrollEl.scrollTop = newScrollTop;\n this.isBusy = false;\n });\n });\n });\n });\n }\n }\n canStart() {\n return (!this.disabled &&\n !this.isBusy &&\n !!this.scrollEl &&\n !this.isLoading);\n }\n enableScrollEvents(shouldListen) {\n if (this.scrollEl) {\n if (shouldListen) {\n this.scrollEl.addEventListener('scroll', this.onScroll);\n }\n else {\n this.scrollEl.removeEventListener('scroll', this.onScroll);\n }\n }\n }\n render() {\n const mode = getIonMode(this);\n const disabled = this.disabled;\n return (h(Host, { class: {\n [mode]: true,\n 'infinite-scroll-loading': this.isLoading,\n 'infinite-scroll-enabled': !disabled\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"threshold\": [\"thresholdChanged\"],\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nInfiniteScroll.style = infiniteScrollCss;\n\nconst infiniteScrollContentIosCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst infiniteScrollContentMdCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst InfiniteScrollContent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentDidLoad() {\n if (this.loadingSpinner === undefined) {\n const mode = getIonMode(this);\n this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'crescent'));\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`infinite-scroll-content-${mode}`]: true\n } }, h(\"div\", { class: \"infinite-loading\" }, this.loadingSpinner && (h(\"div\", { class: \"infinite-loading-spinner\" }, h(\"ion-spinner\", { name: this.loadingSpinner }))), this.loadingText && (h(\"div\", { class: \"infinite-loading-text\", innerHTML: sanitizeDOMString(this.loadingText) })))));\n }\n};\nInfiniteScrollContent.style = {\n ios: infiniteScrollContentIosCss,\n md: infiniteScrollContentMdCss\n};\n\nexport { InfiniteScroll as ion_infinite_scroll, InfiniteScrollContent as ion_infinite_scroll_content };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/14-es5.js b/android/app/src/main/assets/public/14-es5.js new file mode 100644 index 000000000..da484b99e --- /dev/null +++ b/android/app/src/main/assets/public/14-es5.js @@ -0,0 +1,407 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js": + /*!**************************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js ***! + \**************************************************************************/ + + /*! exports provided: ion_infinite_scroll, ion_infinite_scroll_content */ + + /***/ + function node_modulesIonicCoreDistEsmIonInfiniteScroll_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_infinite_scroll", function () { + return InfiniteScroll; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_infinite_scroll_content", function () { + return InfiniteScrollContent; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./index-9e3fe806.js */ + "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); + + var infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}"; + + var InfiniteScroll = /*#__PURE__*/function () { + function InfiniteScroll(hostRef) { + var _this = this; + + _classCallCheck(this, InfiniteScroll); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInfinite = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInfinite", 7); + this.thrPx = 0; + this.thrPc = 0; + this.didFire = false; + this.isBusy = false; + this.isLoading = false; + /** + * The threshold distance from the bottom + * of the content to call the `infinite` output event when scrolled. + * The threshold value can be either a percent, or + * in pixels. For example, use the value of `10%` for the `infinite` + * output event to get called when the user has scrolled 10% + * from the bottom of the page. Use the value `100px` when the + * scroll is within 100 pixels from the bottom of the page. + */ + + this.threshold = '15%'; + /** + * If `true`, the infinite scroll will be hidden and scroll event listeners + * will be removed. + * + * Set this to true to disable the infinite scroll from actively + * trying to receive new data while scrolling. This is useful + * when it is known that there is no more data that can be added, and + * the infinite scroll is no longer needed. + */ + + this.disabled = false; + /** + * The position of the infinite scroll element. + * The value can be either `top` or `bottom`. + */ + + this.position = 'bottom'; + + this.onScroll = function () { + var scrollEl = _this.scrollEl; + + if (!scrollEl || !_this.canStart()) { + return 1; + } + + var infiniteHeight = _this.el.offsetHeight; + + if (infiniteHeight === 0) { + // if there is no height of this element then do nothing + return 2; + } + + var scrollTop = scrollEl.scrollTop; + var scrollHeight = scrollEl.scrollHeight; + var height = scrollEl.offsetHeight; + var threshold = _this.thrPc !== 0 ? height * _this.thrPc : _this.thrPx; + var distanceFromInfinite = _this.position === 'bottom' ? scrollHeight - infiniteHeight - scrollTop - threshold - height : scrollTop - infiniteHeight - threshold; + + if (distanceFromInfinite < 0) { + if (!_this.didFire) { + _this.isLoading = true; + _this.didFire = true; + + _this.ionInfinite.emit(); + + return 3; + } + } else { + _this.didFire = false; + } + + return 4; + }; + } + + _createClass(InfiniteScroll, [{ + key: "thresholdChanged", + value: function thresholdChanged() { + var val = this.threshold; + + if (val.lastIndexOf('%') > -1) { + this.thrPx = 0; + this.thrPc = parseFloat(val) / 100; + } else { + this.thrPx = parseFloat(val); + this.thrPc = 0; + } + } + }, { + key: "disabledChanged", + value: function disabledChanged() { + var disabled = this.disabled; + + if (disabled) { + this.isLoading = false; + this.isBusy = false; + } + + this.enableScrollEvents(!disabled); + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this2 = this; + + var contentEl; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + contentEl = this.el.closest('ion-content'); + + if (contentEl) { + _context.next = 4; + break; + } + + console.error(' must be used inside an '); + return _context.abrupt("return"); + + case 4: + _context.next = 6; + return contentEl.getScrollElement(); + + case 6: + this.scrollEl = _context.sent; + this.thresholdChanged(); + this.disabledChanged(); + + if (this.position === 'top') { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + if (_this2.scrollEl) { + _this2.scrollEl.scrollTop = _this2.scrollEl.scrollHeight - _this2.scrollEl.clientHeight; + } + }); + } + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.enableScrollEvents(false); + this.scrollEl = undefined; + } + /** + * Call `complete()` within the `ionInfinite` output event handler when + * your async operation has completed. For example, the `loading` + * state is while the app is performing an asynchronous operation, + * such as receiving more data from an AJAX request to add more items + * to a data list. Once the data has been received and UI updated, you + * then call this method to signify that the loading has completed. + * This method will change the infinite scroll's state from `loading` + * to `enabled`. + */ + + }, { + key: "complete", + value: function () { + var _complete = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var _this3 = this; + + var scrollEl, prev; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + scrollEl = this.scrollEl; + + if (!(!this.isLoading || !scrollEl)) { + _context2.next = 3; + break; + } + + return _context2.abrupt("return"); + + case 3: + this.isLoading = false; + + if (this.position === 'top') { + /** + * New content is being added at the top, but the scrollTop position stays the same, + * which causes a scroll jump visually. This algorithm makes sure to prevent this. + * (Frame 1) + * - complete() is called, but the UI hasn't had time to update yet. + * - Save the current content dimensions. + * - Wait for the next frame using _dom.read, so the UI will be updated. + * (Frame 2) + * - Read the new content dimensions. + * - Calculate the height difference and the new scroll position. + * - Delay the scroll position change until other possible dom reads are done using _dom.write to be performant. + * (Still frame 2, if I'm correct) + * - Change the scroll position (= visually maintain the scroll position). + * - Change the state to re-enable the InfiniteScroll. + * - This should be after changing the scroll position, or it could + * cause the InfiniteScroll to be triggered again immediately. + * (Frame 3) + * Done. + */ + this.isBusy = true; // ******** DOM READ **************** + // Save the current content dimensions before the UI updates + + prev = scrollEl.scrollHeight - scrollEl.scrollTop; // ******** DOM READ **************** + + requestAnimationFrame(function () { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + // UI has updated, save the new content dimensions + var scrollHeight = scrollEl.scrollHeight; // New content was added on top, so the scroll position should be changed immediately to prevent it from jumping around + + var newScrollTop = scrollHeight - prev; // ******** DOM WRITE **************** + + requestAnimationFrame(function () { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + scrollEl.scrollTop = newScrollTop; + _this3.isBusy = false; + }); + }); + }); + }); + } + + case 5: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function complete() { + return _complete.apply(this, arguments); + } + + return complete; + }() + }, { + key: "canStart", + value: function canStart() { + return !this.disabled && !this.isBusy && !!this.scrollEl && !this.isLoading; + } + }, { + key: "enableScrollEvents", + value: function enableScrollEvents(shouldListen) { + if (this.scrollEl) { + if (shouldListen) { + this.scrollEl.addEventListener('scroll', this.onScroll); + } else { + this.scrollEl.removeEventListener('scroll', this.onScroll); + } + } + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var disabled = this.disabled; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'infinite-scroll-loading', this.isLoading), _defineProperty(_class, 'infinite-scroll-enabled', !disabled), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "threshold": ["thresholdChanged"], + "disabled": ["disabledChanged"] + }; + } + }]); + + return InfiniteScroll; + }(); + + InfiniteScroll.style = infiniteScrollCss; + var infiniteScrollContentIosCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}"; + var infiniteScrollContentMdCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}"; + + var InfiniteScrollContent = /*#__PURE__*/function () { + function InfiniteScrollContent(hostRef) { + _classCallCheck(this, InfiniteScrollContent); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(InfiniteScrollContent, [{ + key: "componentDidLoad", + value: function componentDidLoad() { + if (this.loadingSpinner === undefined) { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.loadingSpinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('infiniteLoadingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', mode === 'ios' ? 'lines' : 'crescent')); + } + } + }, { + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, "infinite-scroll-content-".concat(mode), true), _class2) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "infinite-loading" + }, this.loadingSpinner && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "infinite-loading-spinner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { + name: this.loadingSpinner + })), this.loadingText && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "infinite-loading-text", + innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_2__["s"])(this.loadingText) + }))); + } + }]); + + return InfiniteScrollContent; + }(); + + InfiniteScrollContent.style = { + ios: infiniteScrollContentIosCss, + md: infiniteScrollContentMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=14-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/14-es5.js.map b/android/app/src/main/assets/public/14-es5.js.map new file mode 100644 index 000000000..948ee206f --- /dev/null +++ b/android/app/src/main/assets/public/14-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js"],"names":["infiniteScrollCss","InfiniteScroll","hostRef","ionInfinite","thrPx","thrPc","didFire","isBusy","isLoading","threshold","disabled","position","onScroll","scrollEl","canStart","infiniteHeight","el","offsetHeight","scrollTop","scrollHeight","height","distanceFromInfinite","emit","val","lastIndexOf","parseFloat","enableScrollEvents","contentEl","closest","console","error","getScrollElement","thresholdChanged","disabledChanged","clientHeight","undefined","prev","requestAnimationFrame","newScrollTop","shouldListen","addEventListener","removeEventListener","mode","style","infiniteScrollContentIosCss","infiniteScrollContentMdCss","InfiniteScrollContent","loadingSpinner","get","name","loadingText","innerHTML","ios","md"],"mappings":"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","file":"14-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, f as readTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\n\nconst infiniteScrollCss = \"ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}\";\n\nconst InfiniteScroll = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInfinite = createEvent(this, \"ionInfinite\", 7);\n this.thrPx = 0;\n this.thrPc = 0;\n this.didFire = false;\n this.isBusy = false;\n this.isLoading = false;\n /**\n * The threshold distance from the bottom\n * of the content to call the `infinite` output event when scrolled.\n * The threshold value can be either a percent, or\n * in pixels. For example, use the value of `10%` for the `infinite`\n * output event to get called when the user has scrolled 10%\n * from the bottom of the page. Use the value `100px` when the\n * scroll is within 100 pixels from the bottom of the page.\n */\n this.threshold = '15%';\n /**\n * If `true`, the infinite scroll will be hidden and scroll event listeners\n * will be removed.\n *\n * Set this to true to disable the infinite scroll from actively\n * trying to receive new data while scrolling. This is useful\n * when it is known that there is no more data that can be added, and\n * the infinite scroll is no longer needed.\n */\n this.disabled = false;\n /**\n * The position of the infinite scroll element.\n * The value can be either `top` or `bottom`.\n */\n this.position = 'bottom';\n this.onScroll = () => {\n const scrollEl = this.scrollEl;\n if (!scrollEl || !this.canStart()) {\n return 1;\n }\n const infiniteHeight = this.el.offsetHeight;\n if (infiniteHeight === 0) {\n // if there is no height of this element then do nothing\n return 2;\n }\n const scrollTop = scrollEl.scrollTop;\n const scrollHeight = scrollEl.scrollHeight;\n const height = scrollEl.offsetHeight;\n const threshold = this.thrPc !== 0 ? (height * this.thrPc) : this.thrPx;\n const distanceFromInfinite = (this.position === 'bottom')\n ? scrollHeight - infiniteHeight - scrollTop - threshold - height\n : scrollTop - infiniteHeight - threshold;\n if (distanceFromInfinite < 0) {\n if (!this.didFire) {\n this.isLoading = true;\n this.didFire = true;\n this.ionInfinite.emit();\n return 3;\n }\n }\n else {\n this.didFire = false;\n }\n return 4;\n };\n }\n thresholdChanged() {\n const val = this.threshold;\n if (val.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(val) / 100);\n }\n else {\n this.thrPx = parseFloat(val);\n this.thrPc = 0;\n }\n }\n disabledChanged() {\n const disabled = this.disabled;\n if (disabled) {\n this.isLoading = false;\n this.isBusy = false;\n }\n this.enableScrollEvents(!disabled);\n }\n async connectedCallback() {\n const contentEl = this.el.closest('ion-content');\n if (!contentEl) {\n console.error(' must be used inside an ');\n return;\n }\n this.scrollEl = await contentEl.getScrollElement();\n this.thresholdChanged();\n this.disabledChanged();\n if (this.position === 'top') {\n writeTask(() => {\n if (this.scrollEl) {\n this.scrollEl.scrollTop = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n }\n });\n }\n }\n disconnectedCallback() {\n this.enableScrollEvents(false);\n this.scrollEl = undefined;\n }\n /**\n * Call `complete()` within the `ionInfinite` output event handler when\n * your async operation has completed. For example, the `loading`\n * state is while the app is performing an asynchronous operation,\n * such as receiving more data from an AJAX request to add more items\n * to a data list. Once the data has been received and UI updated, you\n * then call this method to signify that the loading has completed.\n * This method will change the infinite scroll's state from `loading`\n * to `enabled`.\n */\n async complete() {\n const scrollEl = this.scrollEl;\n if (!this.isLoading || !scrollEl) {\n return;\n }\n this.isLoading = false;\n if (this.position === 'top') {\n /**\n * New content is being added at the top, but the scrollTop position stays the same,\n * which causes a scroll jump visually. This algorithm makes sure to prevent this.\n * (Frame 1)\n * - complete() is called, but the UI hasn't had time to update yet.\n * - Save the current content dimensions.\n * - Wait for the next frame using _dom.read, so the UI will be updated.\n * (Frame 2)\n * - Read the new content dimensions.\n * - Calculate the height difference and the new scroll position.\n * - Delay the scroll position change until other possible dom reads are done using _dom.write to be performant.\n * (Still frame 2, if I'm correct)\n * - Change the scroll position (= visually maintain the scroll position).\n * - Change the state to re-enable the InfiniteScroll.\n * - This should be after changing the scroll position, or it could\n * cause the InfiniteScroll to be triggered again immediately.\n * (Frame 3)\n * Done.\n */\n this.isBusy = true;\n // ******** DOM READ ****************\n // Save the current content dimensions before the UI updates\n const prev = scrollEl.scrollHeight - scrollEl.scrollTop;\n // ******** DOM READ ****************\n requestAnimationFrame(() => {\n readTask(() => {\n // UI has updated, save the new content dimensions\n const scrollHeight = scrollEl.scrollHeight;\n // New content was added on top, so the scroll position should be changed immediately to prevent it from jumping around\n const newScrollTop = scrollHeight - prev;\n // ******** DOM WRITE ****************\n requestAnimationFrame(() => {\n writeTask(() => {\n scrollEl.scrollTop = newScrollTop;\n this.isBusy = false;\n });\n });\n });\n });\n }\n }\n canStart() {\n return (!this.disabled &&\n !this.isBusy &&\n !!this.scrollEl &&\n !this.isLoading);\n }\n enableScrollEvents(shouldListen) {\n if (this.scrollEl) {\n if (shouldListen) {\n this.scrollEl.addEventListener('scroll', this.onScroll);\n }\n else {\n this.scrollEl.removeEventListener('scroll', this.onScroll);\n }\n }\n }\n render() {\n const mode = getIonMode(this);\n const disabled = this.disabled;\n return (h(Host, { class: {\n [mode]: true,\n 'infinite-scroll-loading': this.isLoading,\n 'infinite-scroll-enabled': !disabled\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"threshold\": [\"thresholdChanged\"],\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nInfiniteScroll.style = infiniteScrollCss;\n\nconst infiniteScrollContentIosCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst infiniteScrollContentMdCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst InfiniteScrollContent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentDidLoad() {\n if (this.loadingSpinner === undefined) {\n const mode = getIonMode(this);\n this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'crescent'));\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`infinite-scroll-content-${mode}`]: true\n } }, h(\"div\", { class: \"infinite-loading\" }, this.loadingSpinner && (h(\"div\", { class: \"infinite-loading-spinner\" }, h(\"ion-spinner\", { name: this.loadingSpinner }))), this.loadingText && (h(\"div\", { class: \"infinite-loading-text\", innerHTML: sanitizeDOMString(this.loadingText) })))));\n }\n};\nInfiniteScrollContent.style = {\n ios: infiniteScrollContentIosCss,\n md: infiniteScrollContentMdCss\n};\n\nexport { InfiniteScroll as ion_infinite_scroll, InfiniteScrollContent as ion_infinite_scroll_content };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/15-es2015.js b/android/app/src/main/assets/public/15-es2015.js new file mode 100644 index 000000000..5b01451b6 --- /dev/null +++ b/android/app/src/main/assets/public/15-es2015.js @@ -0,0 +1,277 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[15],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-input.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-input.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_input */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_input", function() { return Input; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const inputIosCss = ".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{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)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:18px}"; + +const inputMdCss = ".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{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)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:22px}"; + +const Input = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInput = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInput", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = `ion-input-${inputIds++}`; + this.didBlurAfterEdit = false; + this.inheritedAttributes = {}; + /** + * This is required for a WebKit bug which requires us to + * blur and focus an input to properly focus the input in + * an item with delegatesFocus. It will no longer be needed + * with iOS 14. + * + * @internal + */ + this.fireFocusEvents = true; + this.hasFocus = false; + /** + * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. + * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`. + */ + this.autocapitalize = 'off'; + /** + * Indicates whether the value of the control can be automatically completed by the browser. + */ + this.autocomplete = 'off'; + /** + * Whether auto correction should be enabled when the user is entering/editing the text value. + */ + this.autocorrect = 'off'; + /** + * This Boolean attribute lets you specify that a form control should have input focus when the page loads. + */ + this.autofocus = false; + /** + * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input. + */ + this.clearInput = false; + /** + * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`. + */ + this.debounce = 0; + /** + * If `true`, the user cannot interact with the input. + */ + this.disabled = false; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + /** + * If `true`, the user cannot modify the value. + */ + this.readonly = false; + /** + * If `true`, the user must fill in a value before submitting a form. + */ + this.required = false; + /** + * If `true`, the element will have its spelling and grammar checked. + */ + this.spellcheck = false; + /** + * The type of control to display. The default type is text. + */ + this.type = 'text'; + /** + * The value of the input. + */ + this.value = ''; + this.onInput = (ev) => { + const input = ev.target; + if (input) { + this.value = input.value || ''; + } + this.ionInput.emit(ev); + }; + this.onBlur = (ev) => { + this.hasFocus = false; + this.focusChanged(); + this.emitStyle(); + if (this.fireFocusEvents) { + this.ionBlur.emit(ev); + } + }; + this.onFocus = (ev) => { + this.hasFocus = true; + this.focusChanged(); + this.emitStyle(); + if (this.fireFocusEvents) { + this.ionFocus.emit(ev); + } + }; + this.onKeydown = (ev) => { + if (this.shouldClearOnEdit()) { + // Did the input value change after it was blurred and edited? + // Do not clear if user is hitting Enter to submit form + if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') { + // Clear the input + this.clearTextInput(); + } + // Reset the flag + this.didBlurAfterEdit = false; + } + }; + this.clearTextOnEnter = (ev) => { + if (ev.key === 'Enter') { + this.clearTextInput(ev); + } + }; + this.clearTextInput = (ev) => { + if (this.clearInput && !this.readonly && !this.disabled && ev) { + ev.preventDefault(); + ev.stopPropagation(); + // Attempt to focus input again after pressing clear button + this.setFocus(); + } + this.value = ''; + /** + * This is needed for clearOnEdit + * Otherwise the value will not be cleared + * if user is inside the input + */ + if (this.nativeInput) { + this.nativeInput.value = ''; + } + }; + } + debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + disabledChanged() { + this.emitStyle(); + } + /** + * Update the native input element when the value changes + */ + valueChanged() { + this.emitStyle(); + this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() }); + } + componentWillLoad() { + this.inheritedAttributes = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["i"])(this.el, ['tabindex', 'title']); + } + connectedCallback() { + this.emitStyle(); + this.debounceChanged(); + { + document.dispatchEvent(new CustomEvent('ionInputDidLoad', { + detail: this.el + })); + } + } + disconnectedCallback() { + { + document.dispatchEvent(new CustomEvent('ionInputDidUnload', { + detail: this.el + })); + } + } + /** + * Sets focus on the native `input` in `ion-input`. Use this method instead of the global + * `input.focus()`. + */ + async setFocus() { + if (this.nativeInput) { + this.nativeInput.focus(); + } + } + /** + * Sets blur on the native `input` in `ion-input`. Use this method instead of the global + * `input.blur()`. + * @internal + */ + async setBlur() { + if (this.nativeInput) { + this.nativeInput.blur(); + } + } + /** + * Returns the native `` element used under the hood. + */ + getInputElement() { + return Promise.resolve(this.nativeInput); + } + shouldClearOnEdit() { + const { type, clearOnEdit } = this; + return (clearOnEdit === undefined) + ? type === 'password' + : clearOnEdit; + } + getValue() { + return typeof this.value === 'number' ? this.value.toString() : + (this.value || '').toString(); + } + emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'input': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'has-focus': this.hasFocus, + 'interactive-disabled': this.disabled, + }); + } + focusChanged() { + // If clearOnEdit is enabled and the input blurred but has a value, set a flag + if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) { + this.didBlurAfterEdit = true; + } + } + hasValue() { + return this.getValue().length > 0; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const value = this.getValue(); + const labelId = this.inputId + '-lbl'; + const label = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(this.el); + if (label) { + label.id = labelId; + } + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-disabled": this.disabled ? 'true' : null, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'has-value': this.hasValue(), + 'has-focus': this.hasFocus + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": labelId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), (this.clearInput && !this.readonly && !this.disabled) && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { "aria-label": "reset", type: "button", class: "input-clear-icon", onTouchStart: this.clearTextInput, onMouseDown: this.clearTextInput, onKeyDown: this.clearTextOnEnter }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "debounce": ["debounceChanged"], + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; } +}; +let inputIds = 0; +Input.style = { + ios: inputIosCss, + md: inputMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=15-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/15-es2015.js.map b/android/app/src/main/assets/public/15-es2015.js.map new file mode 100644 index 000000000..dabb12cf9 --- /dev/null +++ b/android/app/src/main/assets/public/15-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-input.entry.js"],"names":[],"mappings":"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ACA;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;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,qBAAqB,8DAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iEAAiE;AAC1F;AACA;AACA,+BAA+B,8DAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA,kBAAkB,8DAAa;AAC/B;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,wDAAwD,4DAAkB;AAC/F;AACA;AACA;AACA,OAAO,GAAG,EAAE,4DAAC,yBAAyB,8uBAA8uB,uFAAuF,4DAAC,YAAY,0KAA0K;AACliC;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAE8B","file":"15-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { e as debounceEvent, i as inheritAttributes, f as findItemLabel } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst inputIosCss = \".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{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)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:18px}\";\n\nconst inputMdCss = \".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{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)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:22px}\";\n\nconst Input = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-input-${inputIds++}`;\n this.didBlurAfterEdit = false;\n this.inheritedAttributes = {};\n /**\n * This is required for a WebKit bug which requires us to\n * blur and focus an input to properly focus the input in\n * an item with delegatesFocus. It will no longer be needed\n * with iOS 14.\n *\n * @internal\n */\n this.fireFocusEvents = true;\n this.hasFocus = false;\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n * Available options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.\n */\n this.autocapitalize = 'off';\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n this.autocomplete = 'off';\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n this.autocorrect = 'off';\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n this.autofocus = false;\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n this.clearInput = false;\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 0;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot modify the value.\n */\n this.readonly = false;\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n this.required = false;\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n this.spellcheck = false;\n /**\n * The type of control to display. The default type is text.\n */\n this.type = 'text';\n /**\n * The value of the input.\n */\n this.value = '';\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value || '';\n }\n this.ionInput.emit(ev);\n };\n this.onBlur = (ev) => {\n this.hasFocus = false;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionBlur.emit(ev);\n }\n };\n this.onFocus = (ev) => {\n this.hasFocus = true;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionFocus.emit(ev);\n }\n };\n this.onKeydown = (ev) => {\n if (this.shouldClearOnEdit()) {\n // Did the input value change after it was blurred and edited?\n // Do not clear if user is hitting Enter to submit form\n if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') {\n // Clear the input\n this.clearTextInput();\n }\n // Reset the flag\n this.didBlurAfterEdit = false;\n }\n };\n this.clearTextOnEnter = (ev) => {\n if (ev.key === 'Enter') {\n this.clearTextInput(ev);\n }\n };\n this.clearTextInput = (ev) => {\n if (this.clearInput && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n // Attempt to focus input again after pressing clear button\n this.setFocus();\n }\n this.value = '';\n /**\n * This is needed for clearOnEdit\n * Otherwise the value will not be cleared\n * if user is inside the input\n */\n if (this.nativeInput) {\n this.nativeInput.value = '';\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the native input element when the value changes\n */\n valueChanged() {\n this.emitStyle();\n this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['tabindex', 'title']);\n }\n connectedCallback() {\n this.emitStyle();\n this.debounceChanged();\n {\n document.dispatchEvent(new CustomEvent('ionInputDidLoad', {\n detail: this.el\n }));\n }\n }\n disconnectedCallback() {\n {\n document.dispatchEvent(new CustomEvent('ionInputDidUnload', {\n detail: this.el\n }));\n }\n }\n /**\n * Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Sets blur on the native `input` in `ion-input`. Use this method instead of the global\n * `input.blur()`.\n * @internal\n */\n async setBlur() {\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n shouldClearOnEdit() {\n const { type, clearOnEdit } = this;\n return (clearOnEdit === undefined)\n ? type === 'password'\n : clearOnEdit;\n }\n getValue() {\n return typeof this.value === 'number' ? this.value.toString() :\n (this.value || '').toString();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'input': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n 'interactive-disabled': this.disabled,\n });\n }\n focusChanged() {\n // If clearOnEdit is enabled and the input blurred but has a value, set a flag\n if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {\n this.didBlurAfterEdit = true;\n }\n }\n hasValue() {\n return this.getValue().length > 0;\n }\n render() {\n const mode = getIonMode(this);\n const value = this.getValue();\n const labelId = this.inputId + '-lbl';\n const label = findItemLabel(this.el);\n if (label) {\n label.id = labelId;\n }\n return (h(Host, { \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus\n }) }, h(\"input\", Object.assign({ class: \"native-input\", ref: input => this.nativeInput = input, \"aria-labelledby\": labelId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), (this.clearInput && !this.readonly && !this.disabled) && h(\"button\", { \"aria-label\": \"reset\", type: \"button\", class: \"input-clear-icon\", onTouchStart: this.clearTextInput, onMouseDown: this.clearTextInput, onKeyDown: this.clearTextOnEnter })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nlet inputIds = 0;\nInput.style = {\n ios: inputIosCss,\n md: inputMdCss\n};\n\nexport { Input as ion_input };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/15-es5.js b/android/app/src/main/assets/public/15-es5.js new file mode 100644 index 000000000..b06828127 --- /dev/null +++ b/android/app/src/main/assets/public/15-es5.js @@ -0,0 +1,472 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[15], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-input.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-input.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_input */ + + /***/ + function node_modulesIonicCoreDistEsmIonInputEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_input", function () { + return Input; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var inputIosCss = ".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{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)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:18px}"; + var inputMdCss = ".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{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)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:22px}"; + + var Input = /*#__PURE__*/function () { + function Input(hostRef) { + var _this = this; + + _classCallCheck(this, Input); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInput = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInput", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = "ion-input-".concat(inputIds++); + this.didBlurAfterEdit = false; + this.inheritedAttributes = {}; + /** + * This is required for a WebKit bug which requires us to + * blur and focus an input to properly focus the input in + * an item with delegatesFocus. It will no longer be needed + * with iOS 14. + * + * @internal + */ + + this.fireFocusEvents = true; + this.hasFocus = false; + /** + * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. + * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`. + */ + + this.autocapitalize = 'off'; + /** + * Indicates whether the value of the control can be automatically completed by the browser. + */ + + this.autocomplete = 'off'; + /** + * Whether auto correction should be enabled when the user is entering/editing the text value. + */ + + this.autocorrect = 'off'; + /** + * This Boolean attribute lets you specify that a form control should have input focus when the page loads. + */ + + this.autofocus = false; + /** + * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input. + */ + + this.clearInput = false; + /** + * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`. + */ + + this.debounce = 0; + /** + * If `true`, the user cannot interact with the input. + */ + + this.disabled = false; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = this.inputId; + /** + * If `true`, the user cannot modify the value. + */ + + this.readonly = false; + /** + * If `true`, the user must fill in a value before submitting a form. + */ + + this.required = false; + /** + * If `true`, the element will have its spelling and grammar checked. + */ + + this.spellcheck = false; + /** + * The type of control to display. The default type is text. + */ + + this.type = 'text'; + /** + * The value of the input. + */ + + this.value = ''; + + this.onInput = function (ev) { + var input = ev.target; + + if (input) { + _this.value = input.value || ''; + } + + _this.ionInput.emit(ev); + }; + + this.onBlur = function (ev) { + _this.hasFocus = false; + + _this.focusChanged(); + + _this.emitStyle(); + + if (_this.fireFocusEvents) { + _this.ionBlur.emit(ev); + } + }; + + this.onFocus = function (ev) { + _this.hasFocus = true; + + _this.focusChanged(); + + _this.emitStyle(); + + if (_this.fireFocusEvents) { + _this.ionFocus.emit(ev); + } + }; + + this.onKeydown = function (ev) { + if (_this.shouldClearOnEdit()) { + // Did the input value change after it was blurred and edited? + // Do not clear if user is hitting Enter to submit form + if (_this.didBlurAfterEdit && _this.hasValue() && ev.key !== 'Enter') { + // Clear the input + _this.clearTextInput(); + } // Reset the flag + + + _this.didBlurAfterEdit = false; + } + }; + + this.clearTextOnEnter = function (ev) { + if (ev.key === 'Enter') { + _this.clearTextInput(ev); + } + }; + + this.clearTextInput = function (ev) { + if (_this.clearInput && !_this.readonly && !_this.disabled && ev) { + ev.preventDefault(); + ev.stopPropagation(); // Attempt to focus input again after pressing clear button + + _this.setFocus(); + } + + _this.value = ''; + /** + * This is needed for clearOnEdit + * Otherwise the value will not be cleared + * if user is inside the input + */ + + if (_this.nativeInput) { + _this.nativeInput.value = ''; + } + }; + } + + _createClass(Input, [{ + key: "debounceChanged", + value: function debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + }, { + key: "disabledChanged", + value: function disabledChanged() { + this.emitStyle(); + } + /** + * Update the native input element when the value changes + */ + + }, { + key: "valueChanged", + value: function valueChanged() { + this.emitStyle(); + this.ionChange.emit({ + value: this.value == null ? this.value : this.value.toString() + }); + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.inheritedAttributes = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["i"])(this.el, ['tabindex', 'title']); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.emitStyle(); + this.debounceChanged(); + { + document.dispatchEvent(new CustomEvent('ionInputDidLoad', { + detail: this.el + })); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + { + document.dispatchEvent(new CustomEvent('ionInputDidUnload', { + detail: this.el + })); + } + } + /** + * Sets focus on the native `input` in `ion-input`. Use this method instead of the global + * `input.focus()`. + */ + + }, { + key: "setFocus", + value: function () { + var _setFocus = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this.nativeInput) { + this.nativeInput.focus(); + } + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function setFocus() { + return _setFocus.apply(this, arguments); + } + + return setFocus; + }() + /** + * Sets blur on the native `input` in `ion-input`. Use this method instead of the global + * `input.blur()`. + * @internal + */ + + }, { + key: "setBlur", + value: function () { + var _setBlur = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (this.nativeInput) { + this.nativeInput.blur(); + } + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function setBlur() { + return _setBlur.apply(this, arguments); + } + + return setBlur; + }() + /** + * Returns the native `` element used under the hood. + */ + + }, { + key: "getInputElement", + value: function getInputElement() { + return Promise.resolve(this.nativeInput); + } + }, { + key: "shouldClearOnEdit", + value: function shouldClearOnEdit() { + var type = this.type, + clearOnEdit = this.clearOnEdit; + return clearOnEdit === undefined ? type === 'password' : clearOnEdit; + } + }, { + key: "getValue", + value: function getValue() { + return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString(); + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'input': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'has-focus': this.hasFocus, + 'interactive-disabled': this.disabled + }); + } + }, { + key: "focusChanged", + value: function focusChanged() { + // If clearOnEdit is enabled and the input blurred but has a value, set a flag + if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) { + this.didBlurAfterEdit = true; + } + } + }, { + key: "hasValue", + value: function hasValue() { + return this.getValue().length > 0; + } + }, { + key: "render", + value: function render() { + var _Object, + _this2 = this; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var value = this.getValue(); + var labelId = this.inputId + '-lbl'; + var label = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(this.el); + + if (label) { + label.id = labelId; + } + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-disabled": this.disabled ? 'true' : null, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'has-value', this.hasValue()), _defineProperty(_Object, 'has-focus', this.hasFocus), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", Object.assign({ + "class": "native-input", + ref: function ref(input) { + return _this2.nativeInput = input; + }, + "aria-labelledby": labelId, + disabled: this.disabled, + accept: this.accept, + autoCapitalize: this.autocapitalize, + autoComplete: this.autocomplete, + autoCorrect: this.autocorrect, + autoFocus: this.autofocus, + enterKeyHint: this.enterkeyhint, + inputMode: this.inputmode, + min: this.min, + max: this.max, + minLength: this.minlength, + maxLength: this.maxlength, + multiple: this.multiple, + name: this.name, + pattern: this.pattern, + placeholder: this.placeholder || '', + readOnly: this.readonly, + required: this.required, + spellcheck: this.spellcheck, + step: this.step, + size: this.size, + type: this.type, + value: value, + onInput: this.onInput, + onBlur: this.onBlur, + onFocus: this.onFocus, + onKeyDown: this.onKeydown + }, this.inheritedAttributes)), this.clearInput && !this.readonly && !this.disabled && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + "aria-label": "reset", + type: "button", + "class": "input-clear-icon", + onTouchStart: this.clearTextInput, + onMouseDown: this.clearTextInput, + onKeyDown: this.clearTextOnEnter + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "debounce": ["debounceChanged"], + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; + } + }]); + + return Input; + }(); + + var inputIds = 0; + Input.style = { + ios: inputIosCss, + md: inputMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=15-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/15-es5.js.map b/android/app/src/main/assets/public/15-es5.js.map new file mode 100644 index 000000000..c8e644e85 --- /dev/null +++ b/android/app/src/main/assets/public/15-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-input.entry.js"],"names":["inputIosCss","inputMdCss","Input","hostRef","ionInput","ionChange","ionBlur","ionFocus","ionStyle","inputId","inputIds","didBlurAfterEdit","inheritedAttributes","fireFocusEvents","hasFocus","autocapitalize","autocomplete","autocorrect","autofocus","clearInput","debounce","disabled","name","readonly","required","spellcheck","type","value","onInput","ev","input","target","emit","onBlur","focusChanged","emitStyle","onFocus","onKeydown","shouldClearOnEdit","hasValue","key","clearTextInput","clearTextOnEnter","preventDefault","stopPropagation","setFocus","nativeInput","toString","el","debounceChanged","document","dispatchEvent","CustomEvent","detail","focus","blur","Promise","resolve","clearOnEdit","undefined","placeholder","getValue","length","mode","labelId","label","id","color","Object","assign","ref","accept","autoCapitalize","autoComplete","autoCorrect","autoFocus","enterKeyHint","enterkeyhint","inputMode","inputmode","min","max","minLength","minlength","maxLength","maxlength","multiple","pattern","readOnly","step","size","onKeyDown","onTouchStart","onMouseDown","style","ios","md"],"mappings":"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","file":"15-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { e as debounceEvent, i as inheritAttributes, f as findItemLabel } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst inputIosCss = \".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{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)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:18px}\";\n\nconst inputMdCss = \".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{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)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:22px}\";\n\nconst Input = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-input-${inputIds++}`;\n this.didBlurAfterEdit = false;\n this.inheritedAttributes = {};\n /**\n * This is required for a WebKit bug which requires us to\n * blur and focus an input to properly focus the input in\n * an item with delegatesFocus. It will no longer be needed\n * with iOS 14.\n *\n * @internal\n */\n this.fireFocusEvents = true;\n this.hasFocus = false;\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n * Available options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.\n */\n this.autocapitalize = 'off';\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n this.autocomplete = 'off';\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n this.autocorrect = 'off';\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n this.autofocus = false;\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n this.clearInput = false;\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 0;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot modify the value.\n */\n this.readonly = false;\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n this.required = false;\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n this.spellcheck = false;\n /**\n * The type of control to display. The default type is text.\n */\n this.type = 'text';\n /**\n * The value of the input.\n */\n this.value = '';\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value || '';\n }\n this.ionInput.emit(ev);\n };\n this.onBlur = (ev) => {\n this.hasFocus = false;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionBlur.emit(ev);\n }\n };\n this.onFocus = (ev) => {\n this.hasFocus = true;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionFocus.emit(ev);\n }\n };\n this.onKeydown = (ev) => {\n if (this.shouldClearOnEdit()) {\n // Did the input value change after it was blurred and edited?\n // Do not clear if user is hitting Enter to submit form\n if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') {\n // Clear the input\n this.clearTextInput();\n }\n // Reset the flag\n this.didBlurAfterEdit = false;\n }\n };\n this.clearTextOnEnter = (ev) => {\n if (ev.key === 'Enter') {\n this.clearTextInput(ev);\n }\n };\n this.clearTextInput = (ev) => {\n if (this.clearInput && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n // Attempt to focus input again after pressing clear button\n this.setFocus();\n }\n this.value = '';\n /**\n * This is needed for clearOnEdit\n * Otherwise the value will not be cleared\n * if user is inside the input\n */\n if (this.nativeInput) {\n this.nativeInput.value = '';\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the native input element when the value changes\n */\n valueChanged() {\n this.emitStyle();\n this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['tabindex', 'title']);\n }\n connectedCallback() {\n this.emitStyle();\n this.debounceChanged();\n {\n document.dispatchEvent(new CustomEvent('ionInputDidLoad', {\n detail: this.el\n }));\n }\n }\n disconnectedCallback() {\n {\n document.dispatchEvent(new CustomEvent('ionInputDidUnload', {\n detail: this.el\n }));\n }\n }\n /**\n * Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Sets blur on the native `input` in `ion-input`. Use this method instead of the global\n * `input.blur()`.\n * @internal\n */\n async setBlur() {\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n shouldClearOnEdit() {\n const { type, clearOnEdit } = this;\n return (clearOnEdit === undefined)\n ? type === 'password'\n : clearOnEdit;\n }\n getValue() {\n return typeof this.value === 'number' ? this.value.toString() :\n (this.value || '').toString();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'input': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n 'interactive-disabled': this.disabled,\n });\n }\n focusChanged() {\n // If clearOnEdit is enabled and the input blurred but has a value, set a flag\n if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {\n this.didBlurAfterEdit = true;\n }\n }\n hasValue() {\n return this.getValue().length > 0;\n }\n render() {\n const mode = getIonMode(this);\n const value = this.getValue();\n const labelId = this.inputId + '-lbl';\n const label = findItemLabel(this.el);\n if (label) {\n label.id = labelId;\n }\n return (h(Host, { \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus\n }) }, h(\"input\", Object.assign({ class: \"native-input\", ref: input => this.nativeInput = input, \"aria-labelledby\": labelId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), (this.clearInput && !this.readonly && !this.disabled) && h(\"button\", { \"aria-label\": \"reset\", type: \"button\", class: \"input-clear-icon\", onTouchStart: this.clearTextInput, onMouseDown: this.clearTextInput, onKeyDown: this.clearTextOnEnter })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nlet inputIds = 0;\nInput.style = {\n ios: inputIosCss,\n md: inputMdCss\n};\n\nexport { Input as ion_input };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/16-es2015.js b/android/app/src/main/assets/public/16-es2015.js new file mode 100644 index 000000000..23994b911 --- /dev/null +++ b/android/app/src/main/assets/public/16-es2015.js @@ -0,0 +1,469 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[16],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js ***! + \**********************************************************************/ +/*! exports provided: ion_item_option, ion_item_options, ion_item_sliding */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item_option", function() { return ItemOption; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item_options", function() { return ItemOptions; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item_sliding", function() { return ItemSliding; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const itemOptionIosCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}"; + +const itemOptionMdCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}"; + +const ItemOption = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the user cannot interact with the item option. + */ + this.disabled = false; + /** + * If `true`, the option will expand to take up the available width and cover any other options. + */ + this.expandable = false; + /** + * The type of the button. + */ + this.type = 'button'; + this.onClick = (ev) => { + const el = ev.target.closest('ion-item-option'); + if (el) { + ev.preventDefault(); + } + }; + } + render() { + const { disabled, expandable, href } = this; + const TagType = href === undefined ? 'button' : 'a'; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const attrs = (TagType === 'button') + ? { type: this.type } + : { + download: this.download, + href: this.href, + target: this.target + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'item-option-disabled': disabled, + 'item-option-expandable': expandable, + 'ion-activatable': true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { class: "button-native", part: "native", disabled: disabled }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "top" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "horizontal-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "icon-only" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "bottom" })), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +ItemOption.style = { + ios: itemOptionIosCss, + md: itemOptionMdCss +}; + +const itemOptionsIosCss = "ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}"; + +const itemOptionsMdCss = "ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}"; + +const ItemOptions = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSwipe = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSwipe", 7); + /** + * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each. + * + */ + this.side = 'end'; + } + /** @internal */ + async fireSwipeEvent() { + this.ionSwipe.emit({ + side: this.side + }); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const isEnd = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(this.side); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + // Used internally for styling + [`item-options-${mode}`]: true, + 'item-options-start': !isEnd, + 'item-options-end': isEnd + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +ItemOptions.style = { + ios: itemOptionsIosCss, + md: itemOptionsMdCss +}; + +const itemSlidingCss = "ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}"; + +const SWIPE_MARGIN = 30; +const ELASTIC_FACTOR = 0.55; +let openSlidingItem; +const ItemSliding = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionDrag = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDrag", 7); + this.item = null; + this.openAmount = 0; + this.initialOpenAmount = 0; + this.optsWidthRightSide = 0; + this.optsWidthLeftSide = 0; + this.sides = 0 /* None */; + this.optsDirty = true; + this.state = 2 /* Disabled */; + /** + * If `true`, the user cannot interact with the sliding item. + */ + this.disabled = false; + } + disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + async connectedCallback() { + this.item = this.el.querySelector('ion-item'); + await this.updateOptions(); + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.el, + gestureName: 'item-swipe', + gesturePriority: 100, + threshold: 5, + canStart: ev => this.canStart(ev), + onStart: () => this.onStart(), + onMove: ev => this.onMove(ev), + onEnd: ev => this.onEnd(ev), + }); + this.disabledChanged(); + } + disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + this.item = null; + this.leftOptions = this.rightOptions = undefined; + if (openSlidingItem === this.el) { + openSlidingItem = undefined; + } + } + /** + * Get the amount the item is open in pixels. + */ + getOpenAmount() { + return Promise.resolve(this.openAmount); + } + /** + * Get the ratio of the open amount of the item compared to the width of the options. + * If the number returned is positive, then the options on the right side are open. + * If the number returned is negative, then the options on the left side are open. + * If the absolute value of the number is greater than 1, the item is open more than + * the width of the options. + */ + getSlidingRatio() { + return Promise.resolve(this.getSlidingRatioSync()); + } + /** + * Open the sliding item. + * + * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item. + */ + async open(side) { + if (this.item === null) { + return; + } + const optionsToOpen = this.getOptions(side); + if (!optionsToOpen) { + return; + } + /** + * If side is not set, we need to infer the side + * so we know which direction to move the options + */ + if (side === undefined) { + side = (optionsToOpen === this.leftOptions) ? 'start' : 'end'; + } + // In RTL we want to switch the sides + side = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(side) ? 'end' : 'start'; + const isStartOpen = this.openAmount < 0; + const isEndOpen = this.openAmount > 0; + /** + * If a side is open and a user tries to + * re-open the same side, we should not do anything + */ + if (isStartOpen && optionsToOpen === this.leftOptions) { + return; + } + if (isEndOpen && optionsToOpen === this.rightOptions) { + return; + } + this.closeOpened(); + this.state = 4 /* Enabled */; + requestAnimationFrame(() => { + this.calculateOptsWidth(); + const width = (side === 'end') ? this.optsWidthRightSide : -this.optsWidthLeftSide; + openSlidingItem = this.el; + this.setOpenAmount(width, false); + this.state = (side === 'end') ? 8 /* End */ : 16 /* Start */; + }); + } + /** + * Close the sliding item. Items can also be closed from the [List](../list). + */ + async close() { + this.setOpenAmount(0, true); + } + /** + * Close all of the sliding items in the list. Items can also be closed from the [List](../list). + */ + async closeOpened() { + if (openSlidingItem !== undefined) { + openSlidingItem.close(); + openSlidingItem = undefined; + return true; + } + return false; + } + /** + * Given an optional side, return the ion-item-options element. + * + * @param side This side of the options to get. If a side is not provided it will + * return the first one available. + */ + getOptions(side) { + if (side === undefined) { + return this.leftOptions || this.rightOptions; + } + else if (side === 'start') { + return this.leftOptions; + } + else { + return this.rightOptions; + } + } + async updateOptions() { + const options = this.el.querySelectorAll('ion-item-options'); + let sides = 0; + // Reset left and right options in case they were removed + this.leftOptions = this.rightOptions = undefined; + for (let i = 0; i < options.length; i++) { + const option = await options.item(i).componentOnReady(); + const side = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(option.side) ? 'end' : 'start'; + if (side === 'start') { + this.leftOptions = option; + sides |= 1 /* Start */; + } + else { + this.rightOptions = option; + sides |= 2 /* End */; + } + } + this.optsDirty = true; + this.sides = sides; + } + canStart(gesture) { + /** + * If very close to start of the screen + * do not open left side so swipe to go + * back will still work. + */ + const rtl = document.dir === 'rtl'; + const atEdge = (rtl) ? (window.innerWidth - gesture.startX) < 15 : gesture.startX < 15; + if (atEdge) { + return false; + } + const selected = openSlidingItem; + if (selected && selected !== this.el) { + this.closeOpened(); + return false; + } + return !!(this.rightOptions || this.leftOptions); + } + onStart() { + openSlidingItem = this.el; + if (this.tmr !== undefined) { + clearTimeout(this.tmr); + this.tmr = undefined; + } + if (this.openAmount === 0) { + this.optsDirty = true; + this.state = 4 /* Enabled */; + } + this.initialOpenAmount = this.openAmount; + if (this.item) { + this.item.style.transition = 'none'; + } + } + onMove(gesture) { + if (this.optsDirty) { + this.calculateOptsWidth(); + } + let openAmount = this.initialOpenAmount - gesture.deltaX; + switch (this.sides) { + case 2 /* End */: + openAmount = Math.max(0, openAmount); + break; + case 1 /* Start */: + openAmount = Math.min(0, openAmount); + break; + case 3 /* Both */: break; + case 0 /* None */: return; + default: + console.warn('invalid ItemSideFlags value', this.sides); + break; + } + let optsWidth; + if (openAmount > this.optsWidthRightSide) { + optsWidth = this.optsWidthRightSide; + openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR; + } + else if (openAmount < -this.optsWidthLeftSide) { + optsWidth = -this.optsWidthLeftSide; + openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR; + } + this.setOpenAmount(openAmount, false); + } + onEnd(gesture) { + const velocity = gesture.velocityX; + let restingPoint = (this.openAmount > 0) + ? this.optsWidthRightSide + : -this.optsWidthLeftSide; + // Check if the drag didn't clear the buttons mid-point + // and we aren't moving fast enough to swipe open + const isResetDirection = (this.openAmount > 0) === !(velocity < 0); + const isMovingFast = Math.abs(velocity) > 0.3; + const isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2); + if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) { + restingPoint = 0; + } + const state = this.state; + this.setOpenAmount(restingPoint, true); + if ((state & 32 /* SwipeEnd */) !== 0 && this.rightOptions) { + this.rightOptions.fireSwipeEvent(); + } + else if ((state & 64 /* SwipeStart */) !== 0 && this.leftOptions) { + this.leftOptions.fireSwipeEvent(); + } + } + calculateOptsWidth() { + this.optsWidthRightSide = 0; + if (this.rightOptions) { + this.rightOptions.style.display = 'flex'; + this.optsWidthRightSide = this.rightOptions.offsetWidth; + this.rightOptions.style.display = ''; + } + this.optsWidthLeftSide = 0; + if (this.leftOptions) { + this.leftOptions.style.display = 'flex'; + this.optsWidthLeftSide = this.leftOptions.offsetWidth; + this.leftOptions.style.display = ''; + } + this.optsDirty = false; + } + setOpenAmount(openAmount, isFinal) { + if (this.tmr !== undefined) { + clearTimeout(this.tmr); + this.tmr = undefined; + } + if (!this.item) { + return; + } + const style = this.item.style; + this.openAmount = openAmount; + if (isFinal) { + style.transition = ''; + } + if (openAmount > 0) { + this.state = (openAmount >= (this.optsWidthRightSide + SWIPE_MARGIN)) + ? 8 /* End */ | 32 /* SwipeEnd */ + : 8 /* End */; + } + else if (openAmount < 0) { + this.state = (openAmount <= (-this.optsWidthLeftSide - SWIPE_MARGIN)) + ? 16 /* Start */ | 64 /* SwipeStart */ + : 16 /* Start */; + } + else { + this.tmr = setTimeout(() => { + this.state = 2 /* Disabled */; + this.tmr = undefined; + }, 600); + openSlidingItem = undefined; + style.transform = ''; + return; + } + style.transform = `translate3d(${-openAmount}px,0,0)`; + this.ionDrag.emit({ + amount: openAmount, + ratio: this.getSlidingRatioSync() + }); + } + getSlidingRatioSync() { + if (this.openAmount > 0) { + return this.openAmount / this.optsWidthRightSide; + } + else if (this.openAmount < 0) { + return this.openAmount / this.optsWidthLeftSide; + } + else { + return 0; + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'item-sliding-active-slide': (this.state !== 2 /* Disabled */), + 'item-sliding-active-options-end': (this.state & 8 /* End */) !== 0, + 'item-sliding-active-options-start': (this.state & 16 /* Start */) !== 0, + 'item-sliding-active-swipe-end': (this.state & 32 /* SwipeEnd */) !== 0, + 'item-sliding-active-swipe-start': (this.state & 64 /* SwipeStart */) !== 0 + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "disabled": ["disabledChanged"] + }; } +}; +const swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => { + // The logic required to know when the sliding item should close (openAmount=0) + // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone) + // and it ended up being too complicated to be written manually without errors + // so the truth table is attached below: (0=false, 1=true) + // isResetDirection | isMovingFast | isOnResetZone || shouldClose + // 0 | 0 | 0 || 0 + // 0 | 0 | 1 || 1 + // 0 | 1 | 0 || 0 + // 0 | 1 | 1 || 0 + // 1 | 0 | 0 || 0 + // 1 | 0 | 1 || 1 + // 1 | 1 | 0 || 1 + // 1 | 1 | 1 || 1 + // The resulting expression was generated by resolving the K-map (Karnaugh map): + return (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast); +}; +ItemSliding.style = itemSlidingCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=16-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/16-es2015.js.map b/android/app/src/main/assets/public/16-es2015.js.map new file mode 100644 index 000000000..d4c2a51ee --- /dev/null +++ b/android/app/src/main/assets/public/16-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js"],"names":[],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,mEAAU;AAC3B,kBAAkB,8DAAS;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,yBAAyB,KAAK;AAC9B;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,cAAc,kBAAkB,WAAW,gBAAgB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,uBAAuB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,iCAAiC,kBAAkB,6EAA6E,qEAAqE,6DAA6D,wHAAwH,UAAU,UAAU,oBAAoB,sBAAsB,yEAAyE,kBAAkB,iBAAiB,QAAQ,iCAAiC,yBAAyB,yCAAyC,iCAAiC,qLAAqL,kBAAkB,SAAS,6EAA6E,mBAAmB,kBAAkB,SAAS,iCAAiC,yBAAyB,0CAA0C,kCAAkC,6LAA6L,iBAAiB,QAAQ;;AAE5nD;AACA;AACA;AACA;AACA;AACA,IAAI,4DAAgB;AACpB,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,8DAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA,mBAAmB,8DAAS;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;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;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,OAAO;AACP;AACA;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE2G","file":"16-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { l as isEndSide } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\n\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}\";\n\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the user cannot interact with the item option.\n */\n this.disabled = false;\n /**\n * If `true`, the option will expand to take up the available width and cover any other options.\n */\n this.expandable = false;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = (ev) => {\n const el = ev.target.closest('ion-item-option');\n if (el) {\n ev.preventDefault();\n }\n };\n }\n render() {\n const { disabled, expandable, href } = this;\n const TagType = href === undefined ? 'button' : 'a';\n const mode = getIonMode(this);\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download: this.download,\n href: this.href,\n target: this.target\n };\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'item-option-disabled': disabled,\n 'item-option-expandable': expandable,\n 'ion-activatable': true,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"horizontal-wrapper\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"icon-only\" }), h(\"slot\", null), h(\"slot\", { name: \"end\" })), h(\"slot\", { name: \"bottom\" })), mode === 'md' && h(\"ion-ripple-effect\", null))));\n }\n get el() { return getElement(this); }\n};\nItemOption.style = {\n ios: itemOptionIosCss,\n md: itemOptionMdCss\n};\n\nconst itemOptionsIosCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}\";\n\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}\";\n\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\n /**\n * The side the option button should be on. Possible values: `\"start\"` and `\"end\"`. If you have multiple `ion-item-options`, a side must be provided for each.\n *\n */\n this.side = 'end';\n }\n /** @internal */\n async fireSwipeEvent() {\n this.ionSwipe.emit({\n side: this.side\n });\n }\n render() {\n const mode = getIonMode(this);\n const isEnd = isEndSide(this.side);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd\n } }));\n }\n get el() { return getElement(this); }\n};\nItemOptions.style = {\n ios: itemOptionsIosCss,\n md: itemOptionsMdCss\n};\n\nconst itemSlidingCss = \"ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}\";\n\nconst SWIPE_MARGIN = 30;\nconst ELASTIC_FACTOR = 0.55;\nlet openSlidingItem;\nconst ItemSliding = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionDrag = createEvent(this, \"ionDrag\", 7);\n this.item = null;\n this.openAmount = 0;\n this.initialOpenAmount = 0;\n this.optsWidthRightSide = 0;\n this.optsWidthLeftSide = 0;\n this.sides = 0 /* None */;\n this.optsDirty = true;\n this.state = 2 /* Disabled */;\n /**\n * If `true`, the user cannot interact with the sliding item.\n */\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n this.item = this.el.querySelector('ion-item');\n await this.updateOptions();\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'item-swipe',\n gesturePriority: 100,\n threshold: 5,\n canStart: ev => this.canStart(ev),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.item = null;\n this.leftOptions = this.rightOptions = undefined;\n if (openSlidingItem === this.el) {\n openSlidingItem = undefined;\n }\n }\n /**\n * Get the amount the item is open in pixels.\n */\n getOpenAmount() {\n return Promise.resolve(this.openAmount);\n }\n /**\n * Get the ratio of the open amount of the item compared to the width of the options.\n * If the number returned is positive, then the options on the right side are open.\n * If the number returned is negative, then the options on the left side are open.\n * If the absolute value of the number is greater than 1, the item is open more than\n * the width of the options.\n */\n getSlidingRatio() {\n return Promise.resolve(this.getSlidingRatioSync());\n }\n /**\n * Open the sliding item.\n *\n * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.\n */\n async open(side) {\n if (this.item === null) {\n return;\n }\n const optionsToOpen = this.getOptions(side);\n if (!optionsToOpen) {\n return;\n }\n /**\n * If side is not set, we need to infer the side\n * so we know which direction to move the options\n */\n if (side === undefined) {\n side = (optionsToOpen === this.leftOptions) ? 'start' : 'end';\n }\n // In RTL we want to switch the sides\n side = isEndSide(side) ? 'end' : 'start';\n const isStartOpen = this.openAmount < 0;\n const isEndOpen = this.openAmount > 0;\n /**\n * If a side is open and a user tries to\n * re-open the same side, we should not do anything\n */\n if (isStartOpen && optionsToOpen === this.leftOptions) {\n return;\n }\n if (isEndOpen && optionsToOpen === this.rightOptions) {\n return;\n }\n this.closeOpened();\n this.state = 4 /* Enabled */;\n requestAnimationFrame(() => {\n this.calculateOptsWidth();\n const width = (side === 'end') ? this.optsWidthRightSide : -this.optsWidthLeftSide;\n openSlidingItem = this.el;\n this.setOpenAmount(width, false);\n this.state = (side === 'end') ? 8 /* End */ : 16 /* Start */;\n });\n }\n /**\n * Close the sliding item. Items can also be closed from the [List](../list).\n */\n async close() {\n this.setOpenAmount(0, true);\n }\n /**\n * Close all of the sliding items in the list. Items can also be closed from the [List](../list).\n */\n async closeOpened() {\n if (openSlidingItem !== undefined) {\n openSlidingItem.close();\n openSlidingItem = undefined;\n return true;\n }\n return false;\n }\n /**\n * Given an optional side, return the ion-item-options element.\n *\n * @param side This side of the options to get. If a side is not provided it will\n * return the first one available.\n */\n getOptions(side) {\n if (side === undefined) {\n return this.leftOptions || this.rightOptions;\n }\n else if (side === 'start') {\n return this.leftOptions;\n }\n else {\n return this.rightOptions;\n }\n }\n async updateOptions() {\n const options = this.el.querySelectorAll('ion-item-options');\n let sides = 0;\n // Reset left and right options in case they were removed\n this.leftOptions = this.rightOptions = undefined;\n for (let i = 0; i < options.length; i++) {\n const option = await options.item(i).componentOnReady();\n const side = isEndSide(option.side) ? 'end' : 'start';\n if (side === 'start') {\n this.leftOptions = option;\n sides |= 1 /* Start */;\n }\n else {\n this.rightOptions = option;\n sides |= 2 /* End */;\n }\n }\n this.optsDirty = true;\n this.sides = sides;\n }\n canStart(gesture) {\n /**\n * If very close to start of the screen\n * do not open left side so swipe to go\n * back will still work.\n */\n const rtl = document.dir === 'rtl';\n const atEdge = (rtl) ? (window.innerWidth - gesture.startX) < 15 : gesture.startX < 15;\n if (atEdge) {\n return false;\n }\n const selected = openSlidingItem;\n if (selected && selected !== this.el) {\n this.closeOpened();\n return false;\n }\n return !!(this.rightOptions || this.leftOptions);\n }\n onStart() {\n openSlidingItem = this.el;\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (this.openAmount === 0) {\n this.optsDirty = true;\n this.state = 4 /* Enabled */;\n }\n this.initialOpenAmount = this.openAmount;\n if (this.item) {\n this.item.style.transition = 'none';\n }\n }\n onMove(gesture) {\n if (this.optsDirty) {\n this.calculateOptsWidth();\n }\n let openAmount = this.initialOpenAmount - gesture.deltaX;\n switch (this.sides) {\n case 2 /* End */:\n openAmount = Math.max(0, openAmount);\n break;\n case 1 /* Start */:\n openAmount = Math.min(0, openAmount);\n break;\n case 3 /* Both */: break;\n case 0 /* None */: return;\n default:\n console.warn('invalid ItemSideFlags value', this.sides);\n break;\n }\n let optsWidth;\n if (openAmount > this.optsWidthRightSide) {\n optsWidth = this.optsWidthRightSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n else if (openAmount < -this.optsWidthLeftSide) {\n optsWidth = -this.optsWidthLeftSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n this.setOpenAmount(openAmount, false);\n }\n onEnd(gesture) {\n const velocity = gesture.velocityX;\n let restingPoint = (this.openAmount > 0)\n ? this.optsWidthRightSide\n : -this.optsWidthLeftSide;\n // Check if the drag didn't clear the buttons mid-point\n // and we aren't moving fast enough to swipe open\n const isResetDirection = (this.openAmount > 0) === !(velocity < 0);\n const isMovingFast = Math.abs(velocity) > 0.3;\n const isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2);\n if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) {\n restingPoint = 0;\n }\n const state = this.state;\n this.setOpenAmount(restingPoint, true);\n if ((state & 32 /* SwipeEnd */) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n }\n else if ((state & 64 /* SwipeStart */) !== 0 && this.leftOptions) {\n this.leftOptions.fireSwipeEvent();\n }\n }\n calculateOptsWidth() {\n this.optsWidthRightSide = 0;\n if (this.rightOptions) {\n this.rightOptions.style.display = 'flex';\n this.optsWidthRightSide = this.rightOptions.offsetWidth;\n this.rightOptions.style.display = '';\n }\n this.optsWidthLeftSide = 0;\n if (this.leftOptions) {\n this.leftOptions.style.display = 'flex';\n this.optsWidthLeftSide = this.leftOptions.offsetWidth;\n this.leftOptions.style.display = '';\n }\n this.optsDirty = false;\n }\n setOpenAmount(openAmount, isFinal) {\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (!this.item) {\n return;\n }\n const style = this.item.style;\n this.openAmount = openAmount;\n if (isFinal) {\n style.transition = '';\n }\n if (openAmount > 0) {\n this.state = (openAmount >= (this.optsWidthRightSide + SWIPE_MARGIN))\n ? 8 /* End */ | 32 /* SwipeEnd */\n : 8 /* End */;\n }\n else if (openAmount < 0) {\n this.state = (openAmount <= (-this.optsWidthLeftSide - SWIPE_MARGIN))\n ? 16 /* Start */ | 64 /* SwipeStart */\n : 16 /* Start */;\n }\n else {\n this.tmr = setTimeout(() => {\n this.state = 2 /* Disabled */;\n this.tmr = undefined;\n }, 600);\n openSlidingItem = undefined;\n style.transform = '';\n return;\n }\n style.transform = `translate3d(${-openAmount}px,0,0)`;\n this.ionDrag.emit({\n amount: openAmount,\n ratio: this.getSlidingRatioSync()\n });\n }\n getSlidingRatioSync() {\n if (this.openAmount > 0) {\n return this.openAmount / this.optsWidthRightSide;\n }\n else if (this.openAmount < 0) {\n return this.openAmount / this.optsWidthLeftSide;\n }\n else {\n return 0;\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'item-sliding-active-slide': (this.state !== 2 /* Disabled */),\n 'item-sliding-active-options-end': (this.state & 8 /* End */) !== 0,\n 'item-sliding-active-options-start': (this.state & 16 /* Start */) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32 /* SwipeEnd */) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64 /* SwipeStart */) !== 0\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nconst swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {\n // The logic required to know when the sliding item should close (openAmount=0)\n // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone)\n // and it ended up being too complicated to be written manually without errors\n // so the truth table is attached below: (0=false, 1=true)\n // isResetDirection | isMovingFast | isOnResetZone || shouldClose\n // 0 | 0 | 0 || 0\n // 0 | 0 | 1 || 1\n // 0 | 1 | 0 || 0\n // 0 | 1 | 1 || 0\n // 1 | 0 | 0 || 0\n // 1 | 0 | 1 || 1\n // 1 | 1 | 0 || 1\n // 1 | 1 | 1 || 1\n // The resulting expression was generated by resolving the K-map (Karnaugh map):\n return (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast);\n};\nItemSliding.style = itemSlidingCss;\n\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/16-es5.js b/android/app/src/main/assets/public/16-es5.js new file mode 100644 index 000000000..3678f0910 --- /dev/null +++ b/android/app/src/main/assets/public/16-es5.js @@ -0,0 +1,874 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[16], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js": + /*!**********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js ***! + \**********************************************************************/ + + /*! exports provided: ion_item_option, ion_item_options, ion_item_sliding */ + + /***/ + function node_modulesIonicCoreDistEsmIonItemOption_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item_option", function () { + return ItemOption; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item_options", function () { + return ItemOptions; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item_sliding", function () { + return ItemSliding; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var itemOptionIosCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}"; + var itemOptionMdCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}"; + + var ItemOption = /*#__PURE__*/function () { + function ItemOption(hostRef) { + _classCallCheck(this, ItemOption); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the user cannot interact with the item option. + */ + + this.disabled = false; + /** + * If `true`, the option will expand to take up the available width and cover any other options. + */ + + this.expandable = false; + /** + * The type of the button. + */ + + this.type = 'button'; + + this.onClick = function (ev) { + var el = ev.target.closest('ion-item-option'); + + if (el) { + ev.preventDefault(); + } + }; + } + + _createClass(ItemOption, [{ + key: "render", + value: function render() { + var _Object; + + var disabled = this.disabled, + expandable = this.expandable, + href = this.href; + var TagType = href === undefined ? 'button' : 'a'; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var attrs = TagType === 'button' ? { + type: this.type + } : { + download: this.download, + href: this.href, + target: this.target + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'item-option-disabled', disabled), _defineProperty(_Object, 'item-option-expandable', expandable), _defineProperty(_Object, 'ion-activatable', true), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { + "class": "button-native", + part: "native", + disabled: disabled + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "top" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "horizontal-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "start" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "icon-only" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "end" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "bottom" + })), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return ItemOption; + }(); + + ItemOption.style = { + ios: itemOptionIosCss, + md: itemOptionMdCss + }; + var itemOptionsIosCss = "ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}"; + var itemOptionsMdCss = "ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}"; + + var ItemOptions = /*#__PURE__*/function () { + function ItemOptions(hostRef) { + _classCallCheck(this, ItemOptions); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSwipe = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSwipe", 7); + /** + * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each. + * + */ + + this.side = 'end'; + } + /** @internal */ + + + _createClass(ItemOptions, [{ + key: "fireSwipeEvent", + value: function () { + var _fireSwipeEvent = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.ionSwipe.emit({ + side: this.side + }); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fireSwipeEvent() { + return _fireSwipeEvent.apply(this, arguments); + } + + return fireSwipeEvent; + }() + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var isEnd = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(this.side); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "item-options-".concat(mode), true), _defineProperty(_class, 'item-options-start', !isEnd), _defineProperty(_class, 'item-options-end', isEnd), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return ItemOptions; + }(); + + ItemOptions.style = { + ios: itemOptionsIosCss, + md: itemOptionsMdCss + }; + var itemSlidingCss = "ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}"; + var SWIPE_MARGIN = 30; + var ELASTIC_FACTOR = 0.55; + var openSlidingItem; + + var ItemSliding = /*#__PURE__*/function () { + function ItemSliding(hostRef) { + _classCallCheck(this, ItemSliding); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionDrag = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDrag", 7); + this.item = null; + this.openAmount = 0; + this.initialOpenAmount = 0; + this.optsWidthRightSide = 0; + this.optsWidthLeftSide = 0; + this.sides = 0 + /* None */ + ; + this.optsDirty = true; + this.state = 2 + /* Disabled */ + ; + /** + * If `true`, the user cannot interact with the sliding item. + */ + + this.disabled = false; + } + + _createClass(ItemSliding, [{ + key: "disabledChanged", + value: function disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var _this = this; + + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.item = this.el.querySelector('ion-item'); + _context2.next = 3; + return this.updateOptions(); + + case 3: + _context2.next = 5; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 5: + this.gesture = _context2.sent.createGesture({ + el: this.el, + gestureName: 'item-swipe', + gesturePriority: 100, + threshold: 5, + canStart: function canStart(ev) { + return _this.canStart(ev); + }, + onStart: function onStart() { + return _this.onStart(); + }, + onMove: function onMove(ev) { + return _this.onMove(ev); + }, + onEnd: function onEnd(ev) { + return _this.onEnd(ev); + } + }); + this.disabledChanged(); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + + this.item = null; + this.leftOptions = this.rightOptions = undefined; + + if (openSlidingItem === this.el) { + openSlidingItem = undefined; + } + } + /** + * Get the amount the item is open in pixels. + */ + + }, { + key: "getOpenAmount", + value: function getOpenAmount() { + return Promise.resolve(this.openAmount); + } + /** + * Get the ratio of the open amount of the item compared to the width of the options. + * If the number returned is positive, then the options on the right side are open. + * If the number returned is negative, then the options on the left side are open. + * If the absolute value of the number is greater than 1, the item is open more than + * the width of the options. + */ + + }, { + key: "getSlidingRatio", + value: function getSlidingRatio() { + return Promise.resolve(this.getSlidingRatioSync()); + } + /** + * Open the sliding item. + * + * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item. + */ + + }, { + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(side) { + var _this2 = this; + + var optionsToOpen, isStartOpen, isEndOpen; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!(this.item === null)) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return"); + + case 2: + optionsToOpen = this.getOptions(side); + + if (optionsToOpen) { + _context3.next = 5; + break; + } + + return _context3.abrupt("return"); + + case 5: + /** + * If side is not set, we need to infer the side + * so we know which direction to move the options + */ + if (side === undefined) { + side = optionsToOpen === this.leftOptions ? 'start' : 'end'; + } // In RTL we want to switch the sides + + + side = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(side) ? 'end' : 'start'; + isStartOpen = this.openAmount < 0; + isEndOpen = this.openAmount > 0; + /** + * If a side is open and a user tries to + * re-open the same side, we should not do anything + */ + + if (!(isStartOpen && optionsToOpen === this.leftOptions)) { + _context3.next = 11; + break; + } + + return _context3.abrupt("return"); + + case 11: + if (!(isEndOpen && optionsToOpen === this.rightOptions)) { + _context3.next = 13; + break; + } + + return _context3.abrupt("return"); + + case 13: + this.closeOpened(); + this.state = 4 + /* Enabled */ + ; + requestAnimationFrame(function () { + _this2.calculateOptsWidth(); + + var width = side === 'end' ? _this2.optsWidthRightSide : -_this2.optsWidthLeftSide; + openSlidingItem = _this2.el; + + _this2.setOpenAmount(width, false); + + _this2.state = side === 'end' ? 8 + /* End */ + : 16 + /* Start */ + ; + }); + + case 16: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function open(_x) { + return _open.apply(this, arguments); + } + + return open; + }() + /** + * Close the sliding item. Items can also be closed from the [List](../list). + */ + + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + this.setOpenAmount(0, true); + + case 1: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function close() { + return _close.apply(this, arguments); + } + + return close; + }() + /** + * Close all of the sliding items in the list. Items can also be closed from the [List](../list). + */ + + }, { + key: "closeOpened", + value: function () { + var _closeOpened = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + if (!(openSlidingItem !== undefined)) { + _context5.next = 4; + break; + } + + openSlidingItem.close(); + openSlidingItem = undefined; + return _context5.abrupt("return", true); + + case 4: + return _context5.abrupt("return", false); + + case 5: + case "end": + return _context5.stop(); + } + } + }, _callee5); + })); + + function closeOpened() { + return _closeOpened.apply(this, arguments); + } + + return closeOpened; + }() + /** + * Given an optional side, return the ion-item-options element. + * + * @param side This side of the options to get. If a side is not provided it will + * return the first one available. + */ + + }, { + key: "getOptions", + value: function getOptions(side) { + if (side === undefined) { + return this.leftOptions || this.rightOptions; + } else if (side === 'start') { + return this.leftOptions; + } else { + return this.rightOptions; + } + } + }, { + key: "updateOptions", + value: function () { + var _updateOptions = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() { + var options, sides, i, option, side; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + options = this.el.querySelectorAll('ion-item-options'); + sides = 0; // Reset left and right options in case they were removed + + this.leftOptions = this.rightOptions = undefined; + i = 0; + + case 4: + if (!(i < options.length)) { + _context6.next = 13; + break; + } + + _context6.next = 7; + return options.item(i).componentOnReady(); + + case 7: + option = _context6.sent; + side = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(option.side) ? 'end' : 'start'; + + if (side === 'start') { + this.leftOptions = option; + sides |= 1 + /* Start */ + ; + } else { + this.rightOptions = option; + sides |= 2 + /* End */ + ; + } + + case 10: + i++; + _context6.next = 4; + break; + + case 13: + this.optsDirty = true; + this.sides = sides; + + case 15: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function updateOptions() { + return _updateOptions.apply(this, arguments); + } + + return updateOptions; + }() + }, { + key: "canStart", + value: function canStart(gesture) { + /** + * If very close to start of the screen + * do not open left side so swipe to go + * back will still work. + */ + var rtl = document.dir === 'rtl'; + var atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15; + + if (atEdge) { + return false; + } + + var selected = openSlidingItem; + + if (selected && selected !== this.el) { + this.closeOpened(); + return false; + } + + return !!(this.rightOptions || this.leftOptions); + } + }, { + key: "onStart", + value: function onStart() { + openSlidingItem = this.el; + + if (this.tmr !== undefined) { + clearTimeout(this.tmr); + this.tmr = undefined; + } + + if (this.openAmount === 0) { + this.optsDirty = true; + this.state = 4 + /* Enabled */ + ; + } + + this.initialOpenAmount = this.openAmount; + + if (this.item) { + this.item.style.transition = 'none'; + } + } + }, { + key: "onMove", + value: function onMove(gesture) { + if (this.optsDirty) { + this.calculateOptsWidth(); + } + + var openAmount = this.initialOpenAmount - gesture.deltaX; + + switch (this.sides) { + case 2 + /* End */ + : + openAmount = Math.max(0, openAmount); + break; + + case 1 + /* Start */ + : + openAmount = Math.min(0, openAmount); + break; + + case 3 + /* Both */ + : + break; + + case 0 + /* None */ + : + return; + + default: + console.warn('invalid ItemSideFlags value', this.sides); + break; + } + + var optsWidth; + + if (openAmount > this.optsWidthRightSide) { + optsWidth = this.optsWidthRightSide; + openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR; + } else if (openAmount < -this.optsWidthLeftSide) { + optsWidth = -this.optsWidthLeftSide; + openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR; + } + + this.setOpenAmount(openAmount, false); + } + }, { + key: "onEnd", + value: function onEnd(gesture) { + var velocity = gesture.velocityX; + var restingPoint = this.openAmount > 0 ? this.optsWidthRightSide : -this.optsWidthLeftSide; // Check if the drag didn't clear the buttons mid-point + // and we aren't moving fast enough to swipe open + + var isResetDirection = this.openAmount > 0 === !(velocity < 0); + var isMovingFast = Math.abs(velocity) > 0.3; + var isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2); + + if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) { + restingPoint = 0; + } + + var state = this.state; + this.setOpenAmount(restingPoint, true); + + if ((state & 32 + /* SwipeEnd */ + ) !== 0 && this.rightOptions) { + this.rightOptions.fireSwipeEvent(); + } else if ((state & 64 + /* SwipeStart */ + ) !== 0 && this.leftOptions) { + this.leftOptions.fireSwipeEvent(); + } + } + }, { + key: "calculateOptsWidth", + value: function calculateOptsWidth() { + this.optsWidthRightSide = 0; + + if (this.rightOptions) { + this.rightOptions.style.display = 'flex'; + this.optsWidthRightSide = this.rightOptions.offsetWidth; + this.rightOptions.style.display = ''; + } + + this.optsWidthLeftSide = 0; + + if (this.leftOptions) { + this.leftOptions.style.display = 'flex'; + this.optsWidthLeftSide = this.leftOptions.offsetWidth; + this.leftOptions.style.display = ''; + } + + this.optsDirty = false; + } + }, { + key: "setOpenAmount", + value: function setOpenAmount(openAmount, isFinal) { + var _this3 = this; + + if (this.tmr !== undefined) { + clearTimeout(this.tmr); + this.tmr = undefined; + } + + if (!this.item) { + return; + } + + var style = this.item.style; + this.openAmount = openAmount; + + if (isFinal) { + style.transition = ''; + } + + if (openAmount > 0) { + this.state = openAmount >= this.optsWidthRightSide + SWIPE_MARGIN ? 8 + /* End */ + | 32 + /* SwipeEnd */ + : 8 + /* End */ + ; + } else if (openAmount < 0) { + this.state = openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN ? 16 + /* Start */ + | 64 + /* SwipeStart */ + : 16 + /* Start */ + ; + } else { + this.tmr = setTimeout(function () { + _this3.state = 2 + /* Disabled */ + ; + _this3.tmr = undefined; + }, 600); + openSlidingItem = undefined; + style.transform = ''; + return; + } + + style.transform = "translate3d(".concat(-openAmount, "px,0,0)"); + this.ionDrag.emit({ + amount: openAmount, + ratio: this.getSlidingRatioSync() + }); + } + }, { + key: "getSlidingRatioSync", + value: function getSlidingRatioSync() { + if (this.openAmount > 0) { + return this.openAmount / this.optsWidthRightSide; + } else if (this.openAmount < 0) { + return this.openAmount / this.optsWidthLeftSide; + } else { + return 0; + } + } + }, { + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'item-sliding-active-slide', this.state !== 2 + /* Disabled */ + ), _defineProperty(_class2, 'item-sliding-active-options-end', (this.state & 8 + /* End */ + ) !== 0), _defineProperty(_class2, 'item-sliding-active-options-start', (this.state & 16 + /* Start */ + ) !== 0), _defineProperty(_class2, 'item-sliding-active-swipe-end', (this.state & 32 + /* SwipeEnd */ + ) !== 0), _defineProperty(_class2, 'item-sliding-active-swipe-start', (this.state & 64 + /* SwipeStart */ + ) !== 0), _class2) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "disabled": ["disabledChanged"] + }; + } + }]); + + return ItemSliding; + }(); + + var swipeShouldReset = function swipeShouldReset(isResetDirection, isMovingFast, isOnResetZone) { + // The logic required to know when the sliding item should close (openAmount=0) + // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone) + // and it ended up being too complicated to be written manually without errors + // so the truth table is attached below: (0=false, 1=true) + // isResetDirection | isMovingFast | isOnResetZone || shouldClose + // 0 | 0 | 0 || 0 + // 0 | 0 | 1 || 1 + // 0 | 1 | 0 || 0 + // 0 | 1 | 1 || 0 + // 1 | 0 | 0 || 0 + // 1 | 0 | 1 || 1 + // 1 | 1 | 0 || 1 + // 1 | 1 | 1 || 1 + // The resulting expression was generated by resolving the K-map (Karnaugh map): + return !isMovingFast && isOnResetZone || isResetDirection && isMovingFast; + }; + + ItemSliding.style = itemSlidingCss; + /***/ + } +}]); +//# sourceMappingURL=16-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/16-es5.js.map b/android/app/src/main/assets/public/16-es5.js.map new file mode 100644 index 000000000..eebe7cf59 --- /dev/null +++ b/android/app/src/main/assets/public/16-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js"],"names":["itemOptionIosCss","itemOptionMdCss","ItemOption","hostRef","disabled","expandable","type","onClick","ev","el","target","closest","preventDefault","href","TagType","undefined","mode","attrs","download","color","Object","assign","part","name","style","ios","md","itemOptionsIosCss","itemOptionsMdCss","ItemOptions","ionSwipe","side","emit","isEnd","itemSlidingCss","SWIPE_MARGIN","ELASTIC_FACTOR","openSlidingItem","ItemSliding","ionDrag","item","openAmount","initialOpenAmount","optsWidthRightSide","optsWidthLeftSide","sides","optsDirty","state","gesture","enable","querySelector","updateOptions","createGesture","gestureName","gesturePriority","threshold","canStart","onStart","onMove","onEnd","disabledChanged","destroy","leftOptions","rightOptions","Promise","resolve","getSlidingRatioSync","optionsToOpen","getOptions","isStartOpen","isEndOpen","closeOpened","requestAnimationFrame","calculateOptsWidth","width","setOpenAmount","close","options","querySelectorAll","i","length","componentOnReady","option","rtl","document","dir","atEdge","window","innerWidth","startX","selected","tmr","clearTimeout","transition","deltaX","Math","max","min","console","warn","optsWidth","velocity","velocityX","restingPoint","isResetDirection","isMovingFast","abs","isOnCloseZone","swipeShouldReset","fireSwipeEvent","display","offsetWidth","isFinal","setTimeout","transform","amount","ratio","isOnResetZone"],"mappings":"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","file":"16-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { l as isEndSide } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\n\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}\";\n\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the user cannot interact with the item option.\n */\n this.disabled = false;\n /**\n * If `true`, the option will expand to take up the available width and cover any other options.\n */\n this.expandable = false;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = (ev) => {\n const el = ev.target.closest('ion-item-option');\n if (el) {\n ev.preventDefault();\n }\n };\n }\n render() {\n const { disabled, expandable, href } = this;\n const TagType = href === undefined ? 'button' : 'a';\n const mode = getIonMode(this);\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download: this.download,\n href: this.href,\n target: this.target\n };\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'item-option-disabled': disabled,\n 'item-option-expandable': expandable,\n 'ion-activatable': true,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"horizontal-wrapper\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"icon-only\" }), h(\"slot\", null), h(\"slot\", { name: \"end\" })), h(\"slot\", { name: \"bottom\" })), mode === 'md' && h(\"ion-ripple-effect\", null))));\n }\n get el() { return getElement(this); }\n};\nItemOption.style = {\n ios: itemOptionIosCss,\n md: itemOptionMdCss\n};\n\nconst itemOptionsIosCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}\";\n\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}\";\n\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\n /**\n * The side the option button should be on. Possible values: `\"start\"` and `\"end\"`. If you have multiple `ion-item-options`, a side must be provided for each.\n *\n */\n this.side = 'end';\n }\n /** @internal */\n async fireSwipeEvent() {\n this.ionSwipe.emit({\n side: this.side\n });\n }\n render() {\n const mode = getIonMode(this);\n const isEnd = isEndSide(this.side);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd\n } }));\n }\n get el() { return getElement(this); }\n};\nItemOptions.style = {\n ios: itemOptionsIosCss,\n md: itemOptionsMdCss\n};\n\nconst itemSlidingCss = \"ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}\";\n\nconst SWIPE_MARGIN = 30;\nconst ELASTIC_FACTOR = 0.55;\nlet openSlidingItem;\nconst ItemSliding = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionDrag = createEvent(this, \"ionDrag\", 7);\n this.item = null;\n this.openAmount = 0;\n this.initialOpenAmount = 0;\n this.optsWidthRightSide = 0;\n this.optsWidthLeftSide = 0;\n this.sides = 0 /* None */;\n this.optsDirty = true;\n this.state = 2 /* Disabled */;\n /**\n * If `true`, the user cannot interact with the sliding item.\n */\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n this.item = this.el.querySelector('ion-item');\n await this.updateOptions();\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'item-swipe',\n gesturePriority: 100,\n threshold: 5,\n canStart: ev => this.canStart(ev),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.item = null;\n this.leftOptions = this.rightOptions = undefined;\n if (openSlidingItem === this.el) {\n openSlidingItem = undefined;\n }\n }\n /**\n * Get the amount the item is open in pixels.\n */\n getOpenAmount() {\n return Promise.resolve(this.openAmount);\n }\n /**\n * Get the ratio of the open amount of the item compared to the width of the options.\n * If the number returned is positive, then the options on the right side are open.\n * If the number returned is negative, then the options on the left side are open.\n * If the absolute value of the number is greater than 1, the item is open more than\n * the width of the options.\n */\n getSlidingRatio() {\n return Promise.resolve(this.getSlidingRatioSync());\n }\n /**\n * Open the sliding item.\n *\n * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.\n */\n async open(side) {\n if (this.item === null) {\n return;\n }\n const optionsToOpen = this.getOptions(side);\n if (!optionsToOpen) {\n return;\n }\n /**\n * If side is not set, we need to infer the side\n * so we know which direction to move the options\n */\n if (side === undefined) {\n side = (optionsToOpen === this.leftOptions) ? 'start' : 'end';\n }\n // In RTL we want to switch the sides\n side = isEndSide(side) ? 'end' : 'start';\n const isStartOpen = this.openAmount < 0;\n const isEndOpen = this.openAmount > 0;\n /**\n * If a side is open and a user tries to\n * re-open the same side, we should not do anything\n */\n if (isStartOpen && optionsToOpen === this.leftOptions) {\n return;\n }\n if (isEndOpen && optionsToOpen === this.rightOptions) {\n return;\n }\n this.closeOpened();\n this.state = 4 /* Enabled */;\n requestAnimationFrame(() => {\n this.calculateOptsWidth();\n const width = (side === 'end') ? this.optsWidthRightSide : -this.optsWidthLeftSide;\n openSlidingItem = this.el;\n this.setOpenAmount(width, false);\n this.state = (side === 'end') ? 8 /* End */ : 16 /* Start */;\n });\n }\n /**\n * Close the sliding item. Items can also be closed from the [List](../list).\n */\n async close() {\n this.setOpenAmount(0, true);\n }\n /**\n * Close all of the sliding items in the list. Items can also be closed from the [List](../list).\n */\n async closeOpened() {\n if (openSlidingItem !== undefined) {\n openSlidingItem.close();\n openSlidingItem = undefined;\n return true;\n }\n return false;\n }\n /**\n * Given an optional side, return the ion-item-options element.\n *\n * @param side This side of the options to get. If a side is not provided it will\n * return the first one available.\n */\n getOptions(side) {\n if (side === undefined) {\n return this.leftOptions || this.rightOptions;\n }\n else if (side === 'start') {\n return this.leftOptions;\n }\n else {\n return this.rightOptions;\n }\n }\n async updateOptions() {\n const options = this.el.querySelectorAll('ion-item-options');\n let sides = 0;\n // Reset left and right options in case they were removed\n this.leftOptions = this.rightOptions = undefined;\n for (let i = 0; i < options.length; i++) {\n const option = await options.item(i).componentOnReady();\n const side = isEndSide(option.side) ? 'end' : 'start';\n if (side === 'start') {\n this.leftOptions = option;\n sides |= 1 /* Start */;\n }\n else {\n this.rightOptions = option;\n sides |= 2 /* End */;\n }\n }\n this.optsDirty = true;\n this.sides = sides;\n }\n canStart(gesture) {\n /**\n * If very close to start of the screen\n * do not open left side so swipe to go\n * back will still work.\n */\n const rtl = document.dir === 'rtl';\n const atEdge = (rtl) ? (window.innerWidth - gesture.startX) < 15 : gesture.startX < 15;\n if (atEdge) {\n return false;\n }\n const selected = openSlidingItem;\n if (selected && selected !== this.el) {\n this.closeOpened();\n return false;\n }\n return !!(this.rightOptions || this.leftOptions);\n }\n onStart() {\n openSlidingItem = this.el;\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (this.openAmount === 0) {\n this.optsDirty = true;\n this.state = 4 /* Enabled */;\n }\n this.initialOpenAmount = this.openAmount;\n if (this.item) {\n this.item.style.transition = 'none';\n }\n }\n onMove(gesture) {\n if (this.optsDirty) {\n this.calculateOptsWidth();\n }\n let openAmount = this.initialOpenAmount - gesture.deltaX;\n switch (this.sides) {\n case 2 /* End */:\n openAmount = Math.max(0, openAmount);\n break;\n case 1 /* Start */:\n openAmount = Math.min(0, openAmount);\n break;\n case 3 /* Both */: break;\n case 0 /* None */: return;\n default:\n console.warn('invalid ItemSideFlags value', this.sides);\n break;\n }\n let optsWidth;\n if (openAmount > this.optsWidthRightSide) {\n optsWidth = this.optsWidthRightSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n else if (openAmount < -this.optsWidthLeftSide) {\n optsWidth = -this.optsWidthLeftSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n this.setOpenAmount(openAmount, false);\n }\n onEnd(gesture) {\n const velocity = gesture.velocityX;\n let restingPoint = (this.openAmount > 0)\n ? this.optsWidthRightSide\n : -this.optsWidthLeftSide;\n // Check if the drag didn't clear the buttons mid-point\n // and we aren't moving fast enough to swipe open\n const isResetDirection = (this.openAmount > 0) === !(velocity < 0);\n const isMovingFast = Math.abs(velocity) > 0.3;\n const isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2);\n if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) {\n restingPoint = 0;\n }\n const state = this.state;\n this.setOpenAmount(restingPoint, true);\n if ((state & 32 /* SwipeEnd */) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n }\n else if ((state & 64 /* SwipeStart */) !== 0 && this.leftOptions) {\n this.leftOptions.fireSwipeEvent();\n }\n }\n calculateOptsWidth() {\n this.optsWidthRightSide = 0;\n if (this.rightOptions) {\n this.rightOptions.style.display = 'flex';\n this.optsWidthRightSide = this.rightOptions.offsetWidth;\n this.rightOptions.style.display = '';\n }\n this.optsWidthLeftSide = 0;\n if (this.leftOptions) {\n this.leftOptions.style.display = 'flex';\n this.optsWidthLeftSide = this.leftOptions.offsetWidth;\n this.leftOptions.style.display = '';\n }\n this.optsDirty = false;\n }\n setOpenAmount(openAmount, isFinal) {\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (!this.item) {\n return;\n }\n const style = this.item.style;\n this.openAmount = openAmount;\n if (isFinal) {\n style.transition = '';\n }\n if (openAmount > 0) {\n this.state = (openAmount >= (this.optsWidthRightSide + SWIPE_MARGIN))\n ? 8 /* End */ | 32 /* SwipeEnd */\n : 8 /* End */;\n }\n else if (openAmount < 0) {\n this.state = (openAmount <= (-this.optsWidthLeftSide - SWIPE_MARGIN))\n ? 16 /* Start */ | 64 /* SwipeStart */\n : 16 /* Start */;\n }\n else {\n this.tmr = setTimeout(() => {\n this.state = 2 /* Disabled */;\n this.tmr = undefined;\n }, 600);\n openSlidingItem = undefined;\n style.transform = '';\n return;\n }\n style.transform = `translate3d(${-openAmount}px,0,0)`;\n this.ionDrag.emit({\n amount: openAmount,\n ratio: this.getSlidingRatioSync()\n });\n }\n getSlidingRatioSync() {\n if (this.openAmount > 0) {\n return this.openAmount / this.optsWidthRightSide;\n }\n else if (this.openAmount < 0) {\n return this.openAmount / this.optsWidthLeftSide;\n }\n else {\n return 0;\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'item-sliding-active-slide': (this.state !== 2 /* Disabled */),\n 'item-sliding-active-options-end': (this.state & 8 /* End */) !== 0,\n 'item-sliding-active-options-start': (this.state & 16 /* Start */) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32 /* SwipeEnd */) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64 /* SwipeStart */) !== 0\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nconst swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {\n // The logic required to know when the sliding item should close (openAmount=0)\n // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone)\n // and it ended up being too complicated to be written manually without errors\n // so the truth table is attached below: (0=false, 1=true)\n // isResetDirection | isMovingFast | isOnResetZone || shouldClose\n // 0 | 0 | 0 || 0\n // 0 | 0 | 1 || 1\n // 0 | 1 | 0 || 0\n // 0 | 1 | 1 || 0\n // 1 | 0 | 0 || 0\n // 1 | 0 | 1 || 1\n // 1 | 1 | 0 || 1\n // 1 | 1 | 1 || 1\n // The resulting expression was generated by resolving the K-map (Karnaugh map):\n return (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast);\n};\nItemSliding.style = itemSlidingCss;\n\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/17-es2015.js b/android/app/src/main/assets/public/17-es2015.js new file mode 100644 index 000000000..3d8004c7c --- /dev/null +++ b/android/app/src/main/assets/public/17-es2015.js @@ -0,0 +1,459 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[17],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js": +/*!***************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js ***! + \***************************************************************/ +/*! exports provided: ion_item, ion_item_divider, ion_item_group, ion_label, ion_list, ion_list_header, ion_note, ion_skeleton_text */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item", function() { return Item; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item_divider", function() { return ItemDivider; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_item_group", function() { return ItemGroup; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_label", function() { return Label; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_list", function() { return List; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_list_header", function() { return ListHeader; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_note", function() { return Note; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_skeleton_text", function() { return SkeletonText; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}"; + +const itemMdCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--color:var(--ion-item-color, var(--ion-text-color, #000));--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}"; + +const Item = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.labelColorStyles = {}; + this.itemStyles = new Map(); + this.multipleInputs = false; + /** + * If `true`, a button tag will be rendered and the item will be tappable. + */ + this.button = false; + /** + * The icon to use when `detail` is set to `true`. + */ + this.detailIcon = 'chevron-forward'; + /** + * If `true`, the user cannot interact with the item. + */ + this.disabled = false; + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + this.routerDirection = 'forward'; + /** + * The type of the button. Only used when an `onclick` or `button` property is present. + */ + this.type = 'button'; + } + labelColorChanged(ev) { + const { color } = this; + // There will be a conflict with item color if + // we apply the label color to item, so we ignore + // the label color if the user sets a color on item + if (color === undefined) { + this.labelColorStyles = ev.detail; + } + } + itemStyle(ev) { + ev.stopPropagation(); + const tagName = ev.target.tagName; + const updatedStyles = ev.detail; + const newStyles = {}; + const childStyles = this.itemStyles.get(tagName) || {}; + let hasStyleChange = false; + Object.keys(updatedStyles).forEach(key => { + if (updatedStyles[key]) { + const itemKey = `item-${key}`; + if (!childStyles[itemKey]) { + hasStyleChange = true; + } + newStyles[itemKey] = true; + } + }); + if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) { + hasStyleChange = true; + } + if (hasStyleChange) { + this.itemStyles.set(tagName, newStyles); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + componentDidUpdate() { + // Do not use @Listen here to avoid making all items + // appear as clickable to screen readers + // https://github.com/ionic-team/ionic-framework/issues/22011 + const input = this.getFirstInput(); + if (input && !this.clickListener) { + this.clickListener = (ev) => this.delegateFocus(ev, input); + this.el.addEventListener('click', this.clickListener); + } + } + disconnectedCallback() { + const input = this.getFirstInput(); + if (input && this.clickListener) { + this.el.removeEventListener('click', this.clickListener); + this.clickListener = undefined; + } + } + componentDidLoad() { + this.setMultipleInputs(); + } + // If the item contains multiple clickable elements and/or inputs, then the item + // should not have a clickable input cover over the entire item to prevent + // interfering with their individual click events + setMultipleInputs() { + // The following elements have a clickable cover that is relative to the entire item + const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio'); + // The following elements can accept focus alongside the previous elements + // therefore if these elements are also a child of item, we don't want the + // input cover on top of those interfering with their clicks + const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle'); + // The following elements should also stay clickable when an input with cover is present + const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button'); + // Check for multiple inputs to change the position of the input cover to relative + // for all of the covered inputs above + this.multipleInputs = covers.length + inputs.length > 1 + || covers.length + clickables.length > 1 + || covers.length > 0 && this.isClickable(); + } + // If the item contains an input including a checkbox, datetime, select, or radio + // then the item will have a clickable input cover that covers the item + // that should get the hover, focused and activated states UNLESS it has multiple + // inputs, then those need to individually get each click + hasCover() { + const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio'); + return inputs.length === 1 && !this.multipleInputs; + } + // If the item has an href or button property it will render a native + // anchor or button that is clickable + isClickable() { + return (this.href !== undefined || this.button); + } + canActivate() { + return (this.isClickable() || this.hasCover()); + } + getFirstInput() { + const inputs = this.el.querySelectorAll('ion-input, ion-textarea'); + return inputs[0]; + } + // This is needed for WebKit due to a delegatesFocus bug where + // clicking on the left padding of an item is not focusing the input + // but is opening the keyboard. It will no longer be needed with + // iOS 14. + delegateFocus(ev, input) { + const clickedItem = ev.target.tagName === 'ION-ITEM'; + let firstActive = false; + // If the first input is the same as the active element we need + // to focus the first input again, but if the active element + // is another input inside of the item we shouldn't switch focus + if (document.activeElement) { + firstActive = input.querySelector('input, textarea') === document.activeElement; + } + // Only focus the first input if we clicked on an ion-item + // and the first input exists + if (clickedItem && firstActive) { + input.fireFocusEvents = false; + input.setBlur(); + input.setFocus(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => { + input.fireFocusEvents = true; + }); + } + } + render() { + const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection } = this; + const childStyles = {}; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const clickable = this.isClickable(); + const canActivate = this.canActivate(); + const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div'; + const attrs = (TagType === 'button') + ? { type: this.type } + : { + download, + href, + rel, + target + }; + // Only set onClick if the item is clickable to prevent screen + // readers from reading all items as clickable + const clickFn = clickable ? { + onClick: (ev) => { Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["o"])(href, ev, routerDirection, routerAnimation); } + } : {}; + const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable; + this.itemStyles.forEach(value => { + Object.assign(childStyles, value); + }); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-disabled": disabled ? 'true' : null, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + 'item': true, + [mode]: true, + [`item-lines-${lines}`]: lines !== undefined, + 'item-disabled': disabled, + 'in-list': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-list', this.el), + 'item-multiple-inputs': this.multipleInputs, + 'ion-activatable': canActivate, + 'ion-focusable': true, + })) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { class: "item-native", part: "native", disabled: disabled }, clickFn), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "item-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "input-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" }), showDetail && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "item-inner-highlight" })), canActivate && mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "item-highlight" }))); + } + static get delegatesFocus() { return true; } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +Item.style = { + ios: itemIosCss, + md: itemMdCss +}; + +const itemDividerIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-color-step-100, #e6e6e6);--color:var(--ion-color-step-850, #262626);--padding-start:20px;--inner-padding-end:10px;border-radius:0;position:relative;min-height:28px;font-size:17px;font-weight:600}:host([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}:host([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}::slotted(h2:last-child) ::slotted(h3:last-child),::slotted(h4:last-child),::slotted(h5:last-child),::slotted(h6:last-child),::slotted(p:last-child){margin-bottom:0}"; + +const itemDividerMdCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-background-color, #fff);--color:var(--ion-color-step-400, #999999);--padding-start:16px;--inner-padding-end:0;min-height:30px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));font-size:14px}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:13px;margin-bottom:10px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}::slotted(h3,h4,h5,h6){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:var(--ion-color-step-600, #666666);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}"; + +const ItemDivider = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * When it's set to `true`, the item-divider will stay visible when it reaches the top + * of the viewport until the next `ion-item-divider` replaces it. + * + * This feature relies in `position:sticky`: + * https://caniuse.com/#feat=css-sticky + */ + this.sticky = false; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'item-divider-sticky': this.sticky, + 'item': true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "item-divider-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "item-divider-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +ItemDivider.style = { + ios: itemDividerIosCss, + md: itemDividerMdCss +}; + +const itemGroupIosCss = "ion-item-group{display:block}"; + +const itemGroupMdCss = "ion-item-group{display:block}"; + +const ItemGroup = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "group", class: { + [mode]: true, + // Used internally for styling + [`item-group-${mode}`]: true, + 'item': true + } })); + } +}; +ItemGroup.style = { + ios: itemGroupIosCss, + md: itemGroupMdCss +}; + +const labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate3d(0, 27px, 0);transform:translate3d(0, 27px, 0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.label-floating.sc-ion-label-ios-h,.item-has-placeholder .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:translate3d(0, 0, 0) scale(0.82);transform:translate3d(0, 0, 0) scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.ion-color.sc-ion-label-ios-s>p,.ion-color .sc-ion-label-ios-h.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}"; + +const labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl].label-stacked.sc-ion-label-md-h,[dir=rtl] .label-stacked.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl].label-floating.sc-ion-label-md-h,[dir=rtl] .label-floating.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.label-floating.sc-ion-label-md-h,.item-has-placeholder .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.ion-color.sc-ion-label-md-s>p,.ion-color .sc-ion-label-md-h.sc-ion-label-md-s>p{color:inherit}"; + +const Label = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionColor = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionColor", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inRange = false; + this.noAnimate = false; + } + componentWillLoad() { + this.inRange = !!this.el.closest('ion-range'); + this.noAnimate = (this.position === 'floating'); + this.emitStyle(); + this.emitColor(); + } + componentDidLoad() { + if (this.noAnimate) { + setTimeout(() => { + this.noAnimate = false; + }, 1000); + } + } + colorChanged() { + this.emitColor(); + } + positionChanged() { + this.emitStyle(); + } + emitColor() { + const { color } = this; + this.ionColor.emit({ + 'item-label-color': color !== undefined, + [`ion-color-${color}`]: color !== undefined + }); + } + emitStyle() { + const { inRange, position } = this; + // If the label is inside of a range we don't want + // to override the classes added by the label that + // is a direct child of the item + if (!inRange) { + this.ionStyle.emit({ + 'label': true, + [`label-${position}`]: position !== undefined + }); + } + } + render() { + const position = this.position; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + [`label-${position}`]: position !== undefined, + [`label-no-animate`]: (this.noAnimate) + }) })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "color": ["colorChanged"], + "position": ["positionChanged"] + }; } +}; +Label.style = { + ios: labelIosCss, + md: labelMdCss +}; + +const listIosCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + +const listMdCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + +const List = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the list will have margin around it and rounded corners. + */ + this.inset = false; + } + /** + * If `ion-item-sliding` are used inside the list, this method closes + * any open sliding item. + * + * Returns `true` if an actual `ion-item-sliding` is closed. + */ + async closeSlidingItems() { + const item = this.el.querySelector('ion-item-sliding'); + if (item && item.closeOpened) { + return item.closeOpened(); + } + return false; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const { lines, inset } = this; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + // Used internally for styling + [`list-${mode}`]: true, + 'list-inset': inset, + [`list-lines-${lines}`]: lines !== undefined, + [`list-${mode}-lines-${lines}`]: lines !== undefined + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +List.style = { + ios: listIosCss, + md: listMdCss +}; + +const listHeaderIosCss = ":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-color-step-850, #262626);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));padding-left:calc(var(--ion-safe-area-left, 0px) + 20px);position:relative;-ms-flex-align:end;align-items:flex-end;font-size:22px;font-weight:700;letter-spacing:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0px) + 20px);padding-inline-start:calc(var(--ion-safe-area-left, 0px) + 20px)}}::slotted(ion-button),::slotted(ion-label){margin-top:29px;margin-bottom:6px}::slotted(ion-button){margin-left:3px;margin-right:3px;height:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-button){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:3px;margin-inline-end:3px}}:host(.list-header-lines-full){--border-width:0 0 0.55px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 0.55px 0}"; + +const listHeaderMdCss = ":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}"; + +const ListHeader = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const { lines } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + [`list-header-lines-${lines}`]: lines !== undefined, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "list-header-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)))); + } +}; +ListHeader.style = { + ios: listHeaderIosCss, + md: listHeaderMdCss +}; + +const noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}"; + +const noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}"; + +const Note = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Note.style = { + ios: noteIosCss, + md: noteMdCss +}; + +const skeletonTextCss = ":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:-webkit-gradient(linear, left top, right top, color-stop(8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)), color-stop(18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135)), color-stop(33%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)));background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:shimmer;animation-name:shimmer;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}@keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}"; + +const SkeletonText = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the skeleton text will animate. + */ + this.animated = false; + } + render() { + const animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + const inMedia = Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-avatar', this.el) || Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-thumbnail', this.el); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'skeleton-text-animated': animated, + 'in-media': inMedia + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", null, "\u00A0"))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +SkeletonText.style = skeletonTextCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=17-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/17-es2015.js.map b/android/app/src/main/assets/public/17-es2015.js.map new file mode 100644 index 000000000..c8d9ab7f9 --- /dev/null +++ b/android/app/src/main/assets/public/17-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js"],"names":[],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAW;AACjB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAG;AACT;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW,uHAAuH;AAClI;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC,4DAAO,6CAA6C;AAC7E,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAC,CAAC,oDAAI,GAAG,+FAA+F,mCAAmC,4DAAkB;AACzK;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA,OAAO,IAAI,EAAE,4DAAC,0BAA0B,UAAU,2DAA2D,YAAY,4DAAC,UAAU,gBAAgB,GAAG,4DAAC,SAAS,sBAAsB,EAAE,4DAAC,SAAS,yBAAyB,EAAE,4DAAC,iBAAiB,4DAAC,UAAU,cAAc,iBAAiB,4DAAC,cAAc,gFAAgF,GAAG,4DAAC,SAAS,gCAAgC,oCAAoC,4DAAC,8BAA8B,4DAAC,SAAS,0BAA0B;AAC7gB;AACA,+BAA+B,aAAa;AAC5C,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA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","file":"17-es2015.js","sourcesContent":["import { r as registerInstance, j as forceUpdate, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { r as raf } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext, o as openURL } from './theme-ff3fc52f.js';\n\nconst itemIosCss = \":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}\";\n\nconst itemMdCss = \":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--color:var(--ion-item-color, var(--ion-text-color, #000));--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}\";\n\nconst Item = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.labelColorStyles = {};\n this.itemStyles = new Map();\n this.multipleInputs = false;\n /**\n * If `true`, a button tag will be rendered and the item will be tappable.\n */\n this.button = false;\n /**\n * The icon to use when `detail` is set to `true`.\n */\n this.detailIcon = 'chevron-forward';\n /**\n * If `true`, the user cannot interact with the item.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n /**\n * The type of the button. Only used when an `onclick` or `button` property is present.\n */\n this.type = 'button';\n }\n labelColorChanged(ev) {\n const { color } = this;\n // There will be a conflict with item color if\n // we apply the label color to item, so we ignore\n // the label color if the user sets a color on item\n if (color === undefined) {\n this.labelColorStyles = ev.detail;\n }\n }\n itemStyle(ev) {\n ev.stopPropagation();\n const tagName = ev.target.tagName;\n const updatedStyles = ev.detail;\n const newStyles = {};\n const childStyles = this.itemStyles.get(tagName) || {};\n let hasStyleChange = false;\n Object.keys(updatedStyles).forEach(key => {\n if (updatedStyles[key]) {\n const itemKey = `item-${key}`;\n if (!childStyles[itemKey]) {\n hasStyleChange = true;\n }\n newStyles[itemKey] = true;\n }\n });\n if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) {\n hasStyleChange = true;\n }\n if (hasStyleChange) {\n this.itemStyles.set(tagName, newStyles);\n forceUpdate(this);\n }\n }\n componentDidUpdate() {\n // Do not use @Listen here to avoid making all items\n // appear as clickable to screen readers\n // https://github.com/ionic-team/ionic-framework/issues/22011\n const input = this.getFirstInput();\n if (input && !this.clickListener) {\n this.clickListener = (ev) => this.delegateFocus(ev, input);\n this.el.addEventListener('click', this.clickListener);\n }\n }\n disconnectedCallback() {\n const input = this.getFirstInput();\n if (input && this.clickListener) {\n this.el.removeEventListener('click', this.clickListener);\n this.clickListener = undefined;\n }\n }\n componentDidLoad() {\n this.setMultipleInputs();\n }\n // If the item contains multiple clickable elements and/or inputs, then the item\n // should not have a clickable input cover over the entire item to prevent\n // interfering with their individual click events\n setMultipleInputs() {\n // The following elements have a clickable cover that is relative to the entire item\n const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');\n // The following elements can accept focus alongside the previous elements\n // therefore if these elements are also a child of item, we don't want the\n // input cover on top of those interfering with their clicks\n const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');\n // The following elements should also stay clickable when an input with cover is present\n const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button');\n // Check for multiple inputs to change the position of the input cover to relative\n // for all of the covered inputs above\n this.multipleInputs = covers.length + inputs.length > 1\n || covers.length + clickables.length > 1\n || covers.length > 0 && this.isClickable();\n }\n // If the item contains an input including a checkbox, datetime, select, or radio\n // then the item will have a clickable input cover that covers the item\n // that should get the hover, focused and activated states UNLESS it has multiple\n // inputs, then those need to individually get each click\n hasCover() {\n const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');\n return inputs.length === 1 && !this.multipleInputs;\n }\n // If the item has an href or button property it will render a native\n // anchor or button that is clickable\n isClickable() {\n return (this.href !== undefined || this.button);\n }\n canActivate() {\n return (this.isClickable() || this.hasCover());\n }\n getFirstInput() {\n const inputs = this.el.querySelectorAll('ion-input, ion-textarea');\n return inputs[0];\n }\n // This is needed for WebKit due to a delegatesFocus bug where\n // clicking on the left padding of an item is not focusing the input\n // but is opening the keyboard. It will no longer be needed with\n // iOS 14.\n delegateFocus(ev, input) {\n const clickedItem = ev.target.tagName === 'ION-ITEM';\n let firstActive = false;\n // If the first input is the same as the active element we need\n // to focus the first input again, but if the active element\n // is another input inside of the item we shouldn't switch focus\n if (document.activeElement) {\n firstActive = input.querySelector('input, textarea') === document.activeElement;\n }\n // Only focus the first input if we clicked on an ion-item\n // and the first input exists\n if (clickedItem && firstActive) {\n input.fireFocusEvents = false;\n input.setBlur();\n input.setFocus();\n raf(() => {\n input.fireFocusEvents = true;\n });\n }\n }\n render() {\n const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection } = this;\n const childStyles = {};\n const mode = getIonMode(this);\n const clickable = this.isClickable();\n const canActivate = this.canActivate();\n const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download,\n href,\n rel,\n target\n };\n // Only set onClick if the item is clickable to prevent screen\n // readers from reading all items as clickable\n const clickFn = clickable ? {\n onClick: (ev) => { openURL(href, ev, routerDirection, routerAnimation); }\n } : {};\n const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;\n this.itemStyles.forEach(value => {\n Object.assign(childStyles, value);\n });\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {\n 'item': true,\n [mode]: true,\n [`item-lines-${lines}`]: lines !== undefined,\n 'item-disabled': disabled,\n 'in-list': hostContext('ion-list', this.el),\n 'item-multiple-inputs': this.multipleInputs,\n 'ion-activatable': canActivate,\n 'ion-focusable': true,\n })) }, h(TagType, Object.assign({}, attrs, { class: \"item-native\", part: \"native\", disabled: disabled }, clickFn), h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"item-inner\" }, h(\"div\", { class: \"input-wrapper\" }, h(\"slot\", null)), h(\"slot\", { name: \"end\" }), showDetail && h(\"ion-icon\", { icon: detailIcon, lazy: false, class: \"item-detail-icon\", part: \"detail-icon\" }), h(\"div\", { class: \"item-inner-highlight\" })), canActivate && mode === 'md' && h(\"ion-ripple-effect\", null)), h(\"div\", { class: \"item-highlight\" })));\n }\n static get delegatesFocus() { return true; }\n get el() { return getElement(this); }\n};\nItem.style = {\n ios: itemIosCss,\n md: itemMdCss\n};\n\nconst itemDividerIosCss = \":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-color-step-100, #e6e6e6);--color:var(--ion-color-step-850, #262626);--padding-start:20px;--inner-padding-end:10px;border-radius:0;position:relative;min-height:28px;font-size:17px;font-weight:600}:host([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}:host([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}::slotted(h2:last-child) ::slotted(h3:last-child),::slotted(h4:last-child),::slotted(h5:last-child),::slotted(h6:last-child),::slotted(p:last-child){margin-bottom:0}\";\n\nconst itemDividerMdCss = \":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-background-color, #fff);--color:var(--ion-color-step-400, #999999);--padding-start:16px;--inner-padding-end:0;min-height:30px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));font-size:14px}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:13px;margin-bottom:10px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}::slotted(h3,h4,h5,h6){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:var(--ion-color-step-600, #666666);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}\";\n\nconst ItemDivider = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * When it's set to `true`, the item-divider will stay visible when it reaches the top\n * of the viewport until the next `ion-item-divider` replaces it.\n *\n * This feature relies in `position:sticky`:\n * https://caniuse.com/#feat=css-sticky\n */\n this.sticky = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'item-divider-sticky': this.sticky,\n 'item': true,\n }) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"item-divider-inner\" }, h(\"div\", { class: \"item-divider-wrapper\" }, h(\"slot\", null)), h(\"slot\", { name: \"end\" }))));\n }\n get el() { return getElement(this); }\n};\nItemDivider.style = {\n ios: itemDividerIosCss,\n md: itemDividerMdCss\n};\n\nconst itemGroupIosCss = \"ion-item-group{display:block}\";\n\nconst itemGroupMdCss = \"ion-item-group{display:block}\";\n\nconst ItemGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"group\", class: {\n [mode]: true,\n // Used internally for styling\n [`item-group-${mode}`]: true,\n 'item': true\n } }));\n }\n};\nItemGroup.style = {\n ios: itemGroupIosCss,\n md: itemGroupMdCss\n};\n\nconst labelIosCss = \".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate3d(0, 27px, 0);transform:translate3d(0, 27px, 0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.label-floating.sc-ion-label-ios-h,.item-has-placeholder .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:translate3d(0, 0, 0) scale(0.82);transform:translate3d(0, 0, 0) scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.ion-color.sc-ion-label-ios-s>p,.ion-color .sc-ion-label-ios-h.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}\";\n\nconst labelMdCss = \".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl].label-stacked.sc-ion-label-md-h,[dir=rtl] .label-stacked.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl].label-floating.sc-ion-label-md-h,[dir=rtl] .label-floating.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.label-floating.sc-ion-label-md-h,.item-has-placeholder .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.ion-color.sc-ion-label-md-s>p,.ion-color .sc-ion-label-md-h.sc-ion-label-md-s>p{color:inherit}\";\n\nconst Label = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionColor = createEvent(this, \"ionColor\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inRange = false;\n this.noAnimate = false;\n }\n componentWillLoad() {\n this.inRange = !!this.el.closest('ion-range');\n this.noAnimate = (this.position === 'floating');\n this.emitStyle();\n this.emitColor();\n }\n componentDidLoad() {\n if (this.noAnimate) {\n setTimeout(() => {\n this.noAnimate = false;\n }, 1000);\n }\n }\n colorChanged() {\n this.emitColor();\n }\n positionChanged() {\n this.emitStyle();\n }\n emitColor() {\n const { color } = this;\n this.ionColor.emit({\n 'item-label-color': color !== undefined,\n [`ion-color-${color}`]: color !== undefined\n });\n }\n emitStyle() {\n const { inRange, position } = this;\n // If the label is inside of a range we don't want\n // to override the classes added by the label that\n // is a direct child of the item\n if (!inRange) {\n this.ionStyle.emit({\n 'label': true,\n [`label-${position}`]: position !== undefined\n });\n }\n }\n render() {\n const position = this.position;\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`label-${position}`]: position !== undefined,\n [`label-no-animate`]: (this.noAnimate)\n }) }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"colorChanged\"],\n \"position\": [\"positionChanged\"]\n }; }\n};\nLabel.style = {\n ios: labelIosCss,\n md: labelMdCss\n};\n\nconst listIosCss = \"ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst listMdCss = \"ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst List = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the list will have margin around it and rounded corners.\n */\n this.inset = false;\n }\n /**\n * If `ion-item-sliding` are used inside the list, this method closes\n * any open sliding item.\n *\n * Returns `true` if an actual `ion-item-sliding` is closed.\n */\n async closeSlidingItems() {\n const item = this.el.querySelector('ion-item-sliding');\n if (item && item.closeOpened) {\n return item.closeOpened();\n }\n return false;\n }\n render() {\n const mode = getIonMode(this);\n const { lines, inset } = this;\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`list-${mode}`]: true,\n 'list-inset': inset,\n [`list-lines-${lines}`]: lines !== undefined,\n [`list-${mode}-lines-${lines}`]: lines !== undefined\n } }));\n }\n get el() { return getElement(this); }\n};\nList.style = {\n ios: listIosCss,\n md: listMdCss\n};\n\nconst listHeaderIosCss = \":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-color-step-850, #262626);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));padding-left:calc(var(--ion-safe-area-left, 0px) + 20px);position:relative;-ms-flex-align:end;align-items:flex-end;font-size:22px;font-weight:700;letter-spacing:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0px) + 20px);padding-inline-start:calc(var(--ion-safe-area-left, 0px) + 20px)}}::slotted(ion-button),::slotted(ion-label){margin-top:29px;margin-bottom:6px}::slotted(ion-button){margin-left:3px;margin-right:3px;height:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-button){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:3px;margin-inline-end:3px}}:host(.list-header-lines-full){--border-width:0 0 0.55px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 0.55px 0}\";\n\nconst listHeaderMdCss = \":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}\";\n\nconst ListHeader = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const { lines } = this;\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`list-header-lines-${lines}`]: lines !== undefined,\n }) }, h(\"div\", { class: \"list-header-inner\" }, h(\"slot\", null))));\n }\n};\nListHeader.style = {\n ios: listHeaderIosCss,\n md: listHeaderMdCss\n};\n\nconst noteIosCss = \":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}\";\n\nconst noteMdCss = \":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}\";\n\nconst Note = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nNote.style = {\n ios: noteIosCss,\n md: noteMdCss\n};\n\nconst skeletonTextCss = \":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:-webkit-gradient(linear, left top, right top, color-stop(8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)), color-stop(18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135)), color-stop(33%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)));background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:shimmer;animation-name:shimmer;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}@keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}\";\n\nconst SkeletonText = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the skeleton text will animate.\n */\n this.animated = false;\n }\n render() {\n const animated = this.animated && config.getBoolean('animated', true);\n const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'skeleton-text-animated': animated,\n 'in-media': inMedia\n } }, h(\"span\", null, \"\\u00A0\")));\n }\n get el() { return getElement(this); }\n};\nSkeletonText.style = skeletonTextCss;\n\nexport { Item as ion_item, ItemDivider as ion_item_divider, ItemGroup as ion_item_group, Label as ion_label, List as ion_list, ListHeader as ion_list_header, Note as ion_note, SkeletonText as ion_skeleton_text };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/17-es5.js b/android/app/src/main/assets/public/17-es5.js new file mode 100644 index 000000000..8b8ab2682 --- /dev/null +++ b/android/app/src/main/assets/public/17-es5.js @@ -0,0 +1,735 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[17], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js": + /*!***************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js ***! + \***************************************************************/ + + /*! exports provided: ion_item, ion_item_divider, ion_item_group, ion_label, ion_list, ion_list_header, ion_note, ion_skeleton_text */ + + /***/ + function node_modulesIonicCoreDistEsmIonItem_8EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item", function () { + return Item; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item_divider", function () { + return ItemDivider; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_item_group", function () { + return ItemGroup; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_label", function () { + return Label; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_list", function () { + return List; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_list_header", function () { + return ListHeader; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_note", function () { + return Note; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_skeleton_text", function () { + return SkeletonText; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}"; + var itemMdCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--color:var(--ion-item-color, var(--ion-text-color, #000));--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}"; + + var Item = /*#__PURE__*/function () { + function Item(hostRef) { + _classCallCheck(this, Item); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.labelColorStyles = {}; + this.itemStyles = new Map(); + this.multipleInputs = false; + /** + * If `true`, a button tag will be rendered and the item will be tappable. + */ + + this.button = false; + /** + * The icon to use when `detail` is set to `true`. + */ + + this.detailIcon = 'chevron-forward'; + /** + * If `true`, the user cannot interact with the item. + */ + + this.disabled = false; + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + + this.routerDirection = 'forward'; + /** + * The type of the button. Only used when an `onclick` or `button` property is present. + */ + + this.type = 'button'; + } + + _createClass(Item, [{ + key: "labelColorChanged", + value: function labelColorChanged(ev) { + var color = this.color; // There will be a conflict with item color if + // we apply the label color to item, so we ignore + // the label color if the user sets a color on item + + if (color === undefined) { + this.labelColorStyles = ev.detail; + } + } + }, { + key: "itemStyle", + value: function itemStyle(ev) { + ev.stopPropagation(); + var tagName = ev.target.tagName; + var updatedStyles = ev.detail; + var newStyles = {}; + var childStyles = this.itemStyles.get(tagName) || {}; + var hasStyleChange = false; + Object.keys(updatedStyles).forEach(function (key) { + if (updatedStyles[key]) { + var itemKey = "item-".concat(key); + + if (!childStyles[itemKey]) { + hasStyleChange = true; + } + + newStyles[itemKey] = true; + } + }); + + if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) { + hasStyleChange = true; + } + + if (hasStyleChange) { + this.itemStyles.set(tagName, newStyles); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + var _this = this; + + // Do not use @Listen here to avoid making all items + // appear as clickable to screen readers + // https://github.com/ionic-team/ionic-framework/issues/22011 + var input = this.getFirstInput(); + + if (input && !this.clickListener) { + this.clickListener = function (ev) { + return _this.delegateFocus(ev, input); + }; + + this.el.addEventListener('click', this.clickListener); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + var input = this.getFirstInput(); + + if (input && this.clickListener) { + this.el.removeEventListener('click', this.clickListener); + this.clickListener = undefined; + } + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + this.setMultipleInputs(); + } // If the item contains multiple clickable elements and/or inputs, then the item + // should not have a clickable input cover over the entire item to prevent + // interfering with their individual click events + + }, { + key: "setMultipleInputs", + value: function setMultipleInputs() { + // The following elements have a clickable cover that is relative to the entire item + var covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio'); // The following elements can accept focus alongside the previous elements + // therefore if these elements are also a child of item, we don't want the + // input cover on top of those interfering with their clicks + + var inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle'); // The following elements should also stay clickable when an input with cover is present + + var clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button'); // Check for multiple inputs to change the position of the input cover to relative + // for all of the covered inputs above + + this.multipleInputs = covers.length + inputs.length > 1 || covers.length + clickables.length > 1 || covers.length > 0 && this.isClickable(); + } // If the item contains an input including a checkbox, datetime, select, or radio + // then the item will have a clickable input cover that covers the item + // that should get the hover, focused and activated states UNLESS it has multiple + // inputs, then those need to individually get each click + + }, { + key: "hasCover", + value: function hasCover() { + var inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio'); + return inputs.length === 1 && !this.multipleInputs; + } // If the item has an href or button property it will render a native + // anchor or button that is clickable + + }, { + key: "isClickable", + value: function isClickable() { + return this.href !== undefined || this.button; + } + }, { + key: "canActivate", + value: function canActivate() { + return this.isClickable() || this.hasCover(); + } + }, { + key: "getFirstInput", + value: function getFirstInput() { + var inputs = this.el.querySelectorAll('ion-input, ion-textarea'); + return inputs[0]; + } // This is needed for WebKit due to a delegatesFocus bug where + // clicking on the left padding of an item is not focusing the input + // but is opening the keyboard. It will no longer be needed with + // iOS 14. + + }, { + key: "delegateFocus", + value: function delegateFocus(ev, input) { + var clickedItem = ev.target.tagName === 'ION-ITEM'; + var firstActive = false; // If the first input is the same as the active element we need + // to focus the first input again, but if the active element + // is another input inside of the item we shouldn't switch focus + + if (document.activeElement) { + firstActive = input.querySelector('input, textarea') === document.activeElement; + } // Only focus the first input if we clicked on an ion-item + // and the first input exists + + + if (clickedItem && firstActive) { + input.fireFocusEvents = false; + input.setBlur(); + input.setFocus(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + input.fireFocusEvents = true; + }); + } + } + }, { + key: "render", + value: function render() { + var _Object; + + var detail = this.detail, + detailIcon = this.detailIcon, + download = this.download, + labelColorStyles = this.labelColorStyles, + lines = this.lines, + disabled = this.disabled, + href = this.href, + rel = this.rel, + target = this.target, + routerAnimation = this.routerAnimation, + routerDirection = this.routerDirection; + var childStyles = {}; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var clickable = this.isClickable(); + var canActivate = this.canActivate(); + var TagType = clickable ? href === undefined ? 'button' : 'a' : 'div'; + var attrs = TagType === 'button' ? { + type: this.type + } : { + download: download, + href: href, + rel: rel, + target: target + }; // Only set onClick if the item is clickable to prevent screen + // readers from reading all items as clickable + + var clickFn = clickable ? { + onClick: function onClick(ev) { + Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["o"])(href, ev, routerDirection, routerAnimation); + } + } : {}; + var showDetail = detail !== undefined ? detail : mode === 'ios' && clickable; + this.itemStyles.forEach(function (value) { + Object.assign(childStyles, value); + }); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-disabled": disabled ? 'true' : null, + "class": Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = { + 'item': true + }, _defineProperty(_Object, mode, true), _defineProperty(_Object, "item-lines-".concat(lines), lines !== undefined), _defineProperty(_Object, 'item-disabled', disabled), _defineProperty(_Object, 'in-list', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-list', this.el)), _defineProperty(_Object, 'item-multiple-inputs', this.multipleInputs), _defineProperty(_Object, 'ion-activatable', canActivate), _defineProperty(_Object, 'ion-focusable', true), _Object))) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(TagType, Object.assign({}, attrs, { + "class": "item-native", + part: "native", + disabled: disabled + }, clickFn), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "start" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "item-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "input-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "end" + }), showDetail && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + icon: detailIcon, + lazy: false, + "class": "item-detail-icon", + part: "detail-icon" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "item-inner-highlight" + })), canActivate && mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "item-highlight" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "delegatesFocus", + get: function get() { + return true; + } + }]); + + return Item; + }(); + + Item.style = { + ios: itemIosCss, + md: itemMdCss + }; + var itemDividerIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-color-step-100, #e6e6e6);--color:var(--ion-color-step-850, #262626);--padding-start:20px;--inner-padding-end:10px;border-radius:0;position:relative;min-height:28px;font-size:17px;font-weight:600}:host([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}:host([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}::slotted(h2:last-child) ::slotted(h3:last-child),::slotted(h4:last-child),::slotted(h5:last-child),::slotted(h6:last-child),::slotted(p:last-child){margin-bottom:0}"; + var itemDividerMdCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-background-color, #fff);--color:var(--ion-color-step-400, #999999);--padding-start:16px;--inner-padding-end:0;min-height:30px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));font-size:14px}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:13px;margin-bottom:10px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}::slotted(h3,h4,h5,h6){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:var(--ion-color-step-600, #666666);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}"; + + var ItemDivider = /*#__PURE__*/function () { + function ItemDivider(hostRef) { + _classCallCheck(this, ItemDivider); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * When it's set to `true`, the item-divider will stay visible when it reaches the top + * of the viewport until the next `ion-item-divider` replaces it. + * + * This feature relies in `position:sticky`: + * https://caniuse.com/#feat=css-sticky + */ + + this.sticky = false; + } + + _createClass(ItemDivider, [{ + key: "render", + value: function render() { + var _Object2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object2 = {}, _defineProperty(_Object2, mode, true), _defineProperty(_Object2, 'item-divider-sticky', this.sticky), _defineProperty(_Object2, 'item', true), _Object2)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "start" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "item-divider-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "item-divider-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "end" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return ItemDivider; + }(); + + ItemDivider.style = { + ios: itemDividerIosCss, + md: itemDividerMdCss + }; + var itemGroupIosCss = "ion-item-group{display:block}"; + var itemGroupMdCss = "ion-item-group{display:block}"; + + var ItemGroup = /*#__PURE__*/function () { + function ItemGroup(hostRef) { + _classCallCheck(this, ItemGroup); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(ItemGroup, [{ + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "group", + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "item-group-".concat(mode), true), _defineProperty(_class, 'item', true), _class) + }); + } + }]); + + return ItemGroup; + }(); + + ItemGroup.style = { + ios: itemGroupIosCss, + md: itemGroupMdCss + }; + var labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate3d(0, 27px, 0);transform:translate3d(0, 27px, 0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.label-floating.sc-ion-label-ios-h,.item-has-placeholder .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:translate3d(0, 0, 0) scale(0.82);transform:translate3d(0, 0, 0) scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.ion-color.sc-ion-label-ios-s>p,.ion-color .sc-ion-label-ios-h.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}"; + var labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl].label-stacked.sc-ion-label-md-h,[dir=rtl] .label-stacked.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl].label-floating.sc-ion-label-md-h,[dir=rtl] .label-floating.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.label-floating.sc-ion-label-md-h,.item-has-placeholder .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.ion-color.sc-ion-label-md-s>p,.ion-color .sc-ion-label-md-h.sc-ion-label-md-s>p{color:inherit}"; + + var Label = /*#__PURE__*/function () { + function Label(hostRef) { + _classCallCheck(this, Label); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionColor = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionColor", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inRange = false; + this.noAnimate = false; + } + + _createClass(Label, [{ + key: "componentWillLoad", + value: function componentWillLoad() { + this.inRange = !!this.el.closest('ion-range'); + this.noAnimate = this.position === 'floating'; + this.emitStyle(); + this.emitColor(); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + var _this2 = this; + + if (this.noAnimate) { + setTimeout(function () { + _this2.noAnimate = false; + }, 1000); + } + } + }, { + key: "colorChanged", + value: function colorChanged() { + this.emitColor(); + } + }, { + key: "positionChanged", + value: function positionChanged() { + this.emitStyle(); + } + }, { + key: "emitColor", + value: function emitColor() { + var color = this.color; + this.ionColor.emit(_defineProperty({ + 'item-label-color': color !== undefined + }, "ion-color-".concat(color), color !== undefined)); + } + }, { + key: "emitStyle", + value: function emitStyle() { + var inRange = this.inRange, + position = this.position; // If the label is inside of a range we don't want + // to override the classes added by the label that + // is a direct child of the item + + if (!inRange) { + this.ionStyle.emit(_defineProperty({ + 'label': true + }, "label-".concat(position), position !== undefined)); + } + } + }, { + key: "render", + value: function render() { + var _Object3; + + var position = this.position; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object3 = {}, _defineProperty(_Object3, mode, true), _defineProperty(_Object3, "label-".concat(position), position !== undefined), _defineProperty(_Object3, "label-no-animate", this.noAnimate), _Object3)) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "color": ["colorChanged"], + "position": ["positionChanged"] + }; + } + }]); + + return Label; + }(); + + Label.style = { + ios: labelIosCss, + md: labelMdCss + }; + var listIosCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + var listMdCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + + var List = /*#__PURE__*/function () { + function List(hostRef) { + _classCallCheck(this, List); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the list will have margin around it and rounded corners. + */ + + this.inset = false; + } + /** + * If `ion-item-sliding` are used inside the list, this method closes + * any open sliding item. + * + * Returns `true` if an actual `ion-item-sliding` is closed. + */ + + + _createClass(List, [{ + key: "closeSlidingItems", + value: function () { + var _closeSlidingItems = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var item; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + item = this.el.querySelector('ion-item-sliding'); + + if (!(item && item.closeOpened)) { + _context.next = 3; + break; + } + + return _context.abrupt("return", item.closeOpened()); + + case 3: + return _context.abrupt("return", false); + + case 4: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function closeSlidingItems() { + return _closeSlidingItems.apply(this, arguments); + } + + return closeSlidingItems; + }() + }, { + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var lines = this.lines, + inset = this.inset; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, "list-".concat(mode), true), _defineProperty(_class2, 'list-inset', inset), _defineProperty(_class2, "list-lines-".concat(lines), lines !== undefined), _defineProperty(_class2, "list-".concat(mode, "-lines-").concat(lines), lines !== undefined), _class2) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return List; + }(); + + List.style = { + ios: listIosCss, + md: listMdCss + }; + var listHeaderIosCss = ":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-color-step-850, #262626);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));padding-left:calc(var(--ion-safe-area-left, 0px) + 20px);position:relative;-ms-flex-align:end;align-items:flex-end;font-size:22px;font-weight:700;letter-spacing:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0px) + 20px);padding-inline-start:calc(var(--ion-safe-area-left, 0px) + 20px)}}::slotted(ion-button),::slotted(ion-label){margin-top:29px;margin-bottom:6px}::slotted(ion-button){margin-left:3px;margin-right:3px;height:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-button){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:3px;margin-inline-end:3px}}:host(.list-header-lines-full){--border-width:0 0 0.55px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 0.55px 0}"; + var listHeaderMdCss = ":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}"; + + var ListHeader = /*#__PURE__*/function () { + function ListHeader(hostRef) { + _classCallCheck(this, ListHeader); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(ListHeader, [{ + key: "render", + value: function render() { + var _Object4; + + var lines = this.lines; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object4 = {}, _defineProperty(_Object4, mode, true), _defineProperty(_Object4, "list-header-lines-".concat(lines), lines !== undefined), _Object4)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "list-header-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + }]); + + return ListHeader; + }(); + + ListHeader.style = { + ios: listHeaderIosCss, + md: listHeaderMdCss + }; + var noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}"; + var noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}"; + + var Note = /*#__PURE__*/function () { + function Note(hostRef) { + _classCallCheck(this, Note); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Note, [{ + key: "render", + value: function render() { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, _defineProperty({}, mode, true)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Note; + }(); + + Note.style = { + ios: noteIosCss, + md: noteMdCss + }; + var skeletonTextCss = ":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:-webkit-gradient(linear, left top, right top, color-stop(8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)), color-stop(18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135)), color-stop(33%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)));background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:shimmer;animation-name:shimmer;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}@keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}"; + + var SkeletonText = /*#__PURE__*/function () { + function SkeletonText(hostRef) { + _classCallCheck(this, SkeletonText); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the skeleton text will animate. + */ + + this.animated = false; + } + + _createClass(SkeletonText, [{ + key: "render", + value: function render() { + var _class3; + + var animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + + var inMedia = Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-avatar', this.el) || Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-thumbnail', this.el); + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class3 = {}, _defineProperty(_class3, mode, true), _defineProperty(_class3, 'skeleton-text-animated', animated), _defineProperty(_class3, 'in-media', inMedia), _class3) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", null, "\xA0")); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return SkeletonText; + }(); + + SkeletonText.style = skeletonTextCss; + /***/ + } +}]); +//# sourceMappingURL=17-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/17-es5.js.map b/android/app/src/main/assets/public/17-es5.js.map new file mode 100644 index 000000000..0a62656cc --- /dev/null +++ b/android/app/src/main/assets/public/17-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-item_8.entry.js"],"names":["itemIosCss","itemMdCss","Item","hostRef","labelColorStyles","itemStyles","Map","multipleInputs","button","detailIcon","disabled","routerDirection","type","ev","color","undefined","detail","stopPropagation","tagName","target","updatedStyles","newStyles","childStyles","get","hasStyleChange","Object","keys","forEach","key","itemKey","length","set","input","getFirstInput","clickListener","delegateFocus","el","addEventListener","removeEventListener","setMultipleInputs","covers","querySelectorAll","inputs","clickables","isClickable","href","hasCover","clickedItem","firstActive","document","activeElement","querySelector","fireFocusEvents","setBlur","setFocus","download","lines","rel","routerAnimation","mode","clickable","canActivate","TagType","attrs","clickFn","onClick","showDetail","value","assign","part","name","icon","lazy","style","ios","md","itemDividerIosCss","itemDividerMdCss","ItemDivider","sticky","itemGroupIosCss","itemGroupMdCss","ItemGroup","role","labelIosCss","labelMdCss","Label","ionColor","ionStyle","inRange","noAnimate","closest","position","emitStyle","emitColor","setTimeout","emit","listIosCss","listMdCss","List","inset","item","closeOpened","listHeaderIosCss","listHeaderMdCss","ListHeader","noteIosCss","noteMdCss","Note","skeletonTextCss","SkeletonText","animated","getBoolean","inMedia"],"mappings":"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","file":"17-es5.js","sourcesContent":["import { r as registerInstance, j as forceUpdate, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { r as raf } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext, o as openURL } from './theme-ff3fc52f.js';\n\nconst itemIosCss = \":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}\";\n\nconst itemMdCss = \":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--color:var(--ion-item-color, var(--ion-text-color, #000));--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}\";\n\nconst Item = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.labelColorStyles = {};\n this.itemStyles = new Map();\n this.multipleInputs = false;\n /**\n * If `true`, a button tag will be rendered and the item will be tappable.\n */\n this.button = false;\n /**\n * The icon to use when `detail` is set to `true`.\n */\n this.detailIcon = 'chevron-forward';\n /**\n * If `true`, the user cannot interact with the item.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n /**\n * The type of the button. Only used when an `onclick` or `button` property is present.\n */\n this.type = 'button';\n }\n labelColorChanged(ev) {\n const { color } = this;\n // There will be a conflict with item color if\n // we apply the label color to item, so we ignore\n // the label color if the user sets a color on item\n if (color === undefined) {\n this.labelColorStyles = ev.detail;\n }\n }\n itemStyle(ev) {\n ev.stopPropagation();\n const tagName = ev.target.tagName;\n const updatedStyles = ev.detail;\n const newStyles = {};\n const childStyles = this.itemStyles.get(tagName) || {};\n let hasStyleChange = false;\n Object.keys(updatedStyles).forEach(key => {\n if (updatedStyles[key]) {\n const itemKey = `item-${key}`;\n if (!childStyles[itemKey]) {\n hasStyleChange = true;\n }\n newStyles[itemKey] = true;\n }\n });\n if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) {\n hasStyleChange = true;\n }\n if (hasStyleChange) {\n this.itemStyles.set(tagName, newStyles);\n forceUpdate(this);\n }\n }\n componentDidUpdate() {\n // Do not use @Listen here to avoid making all items\n // appear as clickable to screen readers\n // https://github.com/ionic-team/ionic-framework/issues/22011\n const input = this.getFirstInput();\n if (input && !this.clickListener) {\n this.clickListener = (ev) => this.delegateFocus(ev, input);\n this.el.addEventListener('click', this.clickListener);\n }\n }\n disconnectedCallback() {\n const input = this.getFirstInput();\n if (input && this.clickListener) {\n this.el.removeEventListener('click', this.clickListener);\n this.clickListener = undefined;\n }\n }\n componentDidLoad() {\n this.setMultipleInputs();\n }\n // If the item contains multiple clickable elements and/or inputs, then the item\n // should not have a clickable input cover over the entire item to prevent\n // interfering with their individual click events\n setMultipleInputs() {\n // The following elements have a clickable cover that is relative to the entire item\n const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');\n // The following elements can accept focus alongside the previous elements\n // therefore if these elements are also a child of item, we don't want the\n // input cover on top of those interfering with their clicks\n const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');\n // The following elements should also stay clickable when an input with cover is present\n const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button');\n // Check for multiple inputs to change the position of the input cover to relative\n // for all of the covered inputs above\n this.multipleInputs = covers.length + inputs.length > 1\n || covers.length + clickables.length > 1\n || covers.length > 0 && this.isClickable();\n }\n // If the item contains an input including a checkbox, datetime, select, or radio\n // then the item will have a clickable input cover that covers the item\n // that should get the hover, focused and activated states UNLESS it has multiple\n // inputs, then those need to individually get each click\n hasCover() {\n const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');\n return inputs.length === 1 && !this.multipleInputs;\n }\n // If the item has an href or button property it will render a native\n // anchor or button that is clickable\n isClickable() {\n return (this.href !== undefined || this.button);\n }\n canActivate() {\n return (this.isClickable() || this.hasCover());\n }\n getFirstInput() {\n const inputs = this.el.querySelectorAll('ion-input, ion-textarea');\n return inputs[0];\n }\n // This is needed for WebKit due to a delegatesFocus bug where\n // clicking on the left padding of an item is not focusing the input\n // but is opening the keyboard. It will no longer be needed with\n // iOS 14.\n delegateFocus(ev, input) {\n const clickedItem = ev.target.tagName === 'ION-ITEM';\n let firstActive = false;\n // If the first input is the same as the active element we need\n // to focus the first input again, but if the active element\n // is another input inside of the item we shouldn't switch focus\n if (document.activeElement) {\n firstActive = input.querySelector('input, textarea') === document.activeElement;\n }\n // Only focus the first input if we clicked on an ion-item\n // and the first input exists\n if (clickedItem && firstActive) {\n input.fireFocusEvents = false;\n input.setBlur();\n input.setFocus();\n raf(() => {\n input.fireFocusEvents = true;\n });\n }\n }\n render() {\n const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection } = this;\n const childStyles = {};\n const mode = getIonMode(this);\n const clickable = this.isClickable();\n const canActivate = this.canActivate();\n const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download,\n href,\n rel,\n target\n };\n // Only set onClick if the item is clickable to prevent screen\n // readers from reading all items as clickable\n const clickFn = clickable ? {\n onClick: (ev) => { openURL(href, ev, routerDirection, routerAnimation); }\n } : {};\n const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;\n this.itemStyles.forEach(value => {\n Object.assign(childStyles, value);\n });\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {\n 'item': true,\n [mode]: true,\n [`item-lines-${lines}`]: lines !== undefined,\n 'item-disabled': disabled,\n 'in-list': hostContext('ion-list', this.el),\n 'item-multiple-inputs': this.multipleInputs,\n 'ion-activatable': canActivate,\n 'ion-focusable': true,\n })) }, h(TagType, Object.assign({}, attrs, { class: \"item-native\", part: \"native\", disabled: disabled }, clickFn), h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"item-inner\" }, h(\"div\", { class: \"input-wrapper\" }, h(\"slot\", null)), h(\"slot\", { name: \"end\" }), showDetail && h(\"ion-icon\", { icon: detailIcon, lazy: false, class: \"item-detail-icon\", part: \"detail-icon\" }), h(\"div\", { class: \"item-inner-highlight\" })), canActivate && mode === 'md' && h(\"ion-ripple-effect\", null)), h(\"div\", { class: \"item-highlight\" })));\n }\n static get delegatesFocus() { return true; }\n get el() { return getElement(this); }\n};\nItem.style = {\n ios: itemIosCss,\n md: itemMdCss\n};\n\nconst itemDividerIosCss = \":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-color-step-100, #e6e6e6);--color:var(--ion-color-step-850, #262626);--padding-start:20px;--inner-padding-end:10px;border-radius:0;position:relative;min-height:28px;font-size:17px;font-weight:600}:host([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}:host([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}::slotted(h2:last-child) ::slotted(h3:last-child),::slotted(h4:last-child),::slotted(h5:last-child),::slotted(h6:last-child),::slotted(p:last-child){margin-bottom:0}\";\n\nconst itemDividerMdCss = \":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-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(.item-divider-sticky){position:-webkit-sticky;position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-background-color, #fff);--color:var(--ion-color-step-400, #999999);--padding-start:16px;--inner-padding-end:0;min-height:30px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));font-size:14px}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:13px;margin-bottom:10px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}::slotted(h3,h4,h5,h6){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:var(--ion-color-step-600, #666666);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}\";\n\nconst ItemDivider = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * When it's set to `true`, the item-divider will stay visible when it reaches the top\n * of the viewport until the next `ion-item-divider` replaces it.\n *\n * This feature relies in `position:sticky`:\n * https://caniuse.com/#feat=css-sticky\n */\n this.sticky = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'item-divider-sticky': this.sticky,\n 'item': true,\n }) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"item-divider-inner\" }, h(\"div\", { class: \"item-divider-wrapper\" }, h(\"slot\", null)), h(\"slot\", { name: \"end\" }))));\n }\n get el() { return getElement(this); }\n};\nItemDivider.style = {\n ios: itemDividerIosCss,\n md: itemDividerMdCss\n};\n\nconst itemGroupIosCss = \"ion-item-group{display:block}\";\n\nconst itemGroupMdCss = \"ion-item-group{display:block}\";\n\nconst ItemGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"group\", class: {\n [mode]: true,\n // Used internally for styling\n [`item-group-${mode}`]: true,\n 'item': true\n } }));\n }\n};\nItemGroup.style = {\n ios: itemGroupIosCss,\n md: itemGroupMdCss\n};\n\nconst labelIosCss = \".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate3d(0, 27px, 0);transform:translate3d(0, 27px, 0);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.label-floating.sc-ion-label-ios-h,.item-has-placeholder .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:translate3d(0, 0, 0) scale(0.82);transform:translate3d(0, 0, 0) scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.ion-color.sc-ion-label-ios-s>p,.ion-color .sc-ion-label-ios-h.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}\";\n\nconst labelMdCss = \".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl].label-stacked.sc-ion-label-md-h,[dir=rtl] .label-stacked.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl].label-floating.sc-ion-label-md-h,[dir=rtl] .label-floating.sc-ion-label-md-h{-webkit-transform-origin:right top;transform-origin:right top}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.label-floating.sc-ion-label-md-h,.item-has-placeholder .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.ion-color.sc-ion-label-md-s>p,.ion-color .sc-ion-label-md-h.sc-ion-label-md-s>p{color:inherit}\";\n\nconst Label = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionColor = createEvent(this, \"ionColor\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inRange = false;\n this.noAnimate = false;\n }\n componentWillLoad() {\n this.inRange = !!this.el.closest('ion-range');\n this.noAnimate = (this.position === 'floating');\n this.emitStyle();\n this.emitColor();\n }\n componentDidLoad() {\n if (this.noAnimate) {\n setTimeout(() => {\n this.noAnimate = false;\n }, 1000);\n }\n }\n colorChanged() {\n this.emitColor();\n }\n positionChanged() {\n this.emitStyle();\n }\n emitColor() {\n const { color } = this;\n this.ionColor.emit({\n 'item-label-color': color !== undefined,\n [`ion-color-${color}`]: color !== undefined\n });\n }\n emitStyle() {\n const { inRange, position } = this;\n // If the label is inside of a range we don't want\n // to override the classes added by the label that\n // is a direct child of the item\n if (!inRange) {\n this.ionStyle.emit({\n 'label': true,\n [`label-${position}`]: position !== undefined\n });\n }\n }\n render() {\n const position = this.position;\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`label-${position}`]: position !== undefined,\n [`label-no-animate`]: (this.noAnimate)\n }) }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"colorChanged\"],\n \"position\": [\"positionChanged\"]\n }; }\n};\nLabel.style = {\n ios: labelIosCss,\n md: labelMdCss\n};\n\nconst listIosCss = \"ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst listMdCss = \"ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst List = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the list will have margin around it and rounded corners.\n */\n this.inset = false;\n }\n /**\n * If `ion-item-sliding` are used inside the list, this method closes\n * any open sliding item.\n *\n * Returns `true` if an actual `ion-item-sliding` is closed.\n */\n async closeSlidingItems() {\n const item = this.el.querySelector('ion-item-sliding');\n if (item && item.closeOpened) {\n return item.closeOpened();\n }\n return false;\n }\n render() {\n const mode = getIonMode(this);\n const { lines, inset } = this;\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`list-${mode}`]: true,\n 'list-inset': inset,\n [`list-lines-${lines}`]: lines !== undefined,\n [`list-${mode}-lines-${lines}`]: lines !== undefined\n } }));\n }\n get el() { return getElement(this); }\n};\nList.style = {\n ios: listIosCss,\n md: listMdCss\n};\n\nconst listHeaderIosCss = \":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-color-step-850, #262626);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));padding-left:calc(var(--ion-safe-area-left, 0px) + 20px);position:relative;-ms-flex-align:end;align-items:flex-end;font-size:22px;font-weight:700;letter-spacing:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0px) + 20px);padding-inline-start:calc(var(--ion-safe-area-left, 0px) + 20px)}}::slotted(ion-button),::slotted(ion-label){margin-top:29px;margin-bottom:6px}::slotted(ion-button){margin-left:3px;margin-right:3px;height:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-button){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:3px;margin-inline-end:3px}}:host(.list-header-lines-full){--border-width:0 0 0.55px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 0.55px 0}\";\n\nconst listHeaderMdCss = \":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}\";\n\nconst ListHeader = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const { lines } = this;\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`list-header-lines-${lines}`]: lines !== undefined,\n }) }, h(\"div\", { class: \"list-header-inner\" }, h(\"slot\", null))));\n }\n};\nListHeader.style = {\n ios: listHeaderIosCss,\n md: listHeaderMdCss\n};\n\nconst noteIosCss = \":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}\";\n\nconst noteMdCss = \":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}\";\n\nconst Note = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nNote.style = {\n ios: noteIosCss,\n md: noteMdCss\n};\n\nconst skeletonTextCss = \":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:-webkit-gradient(linear, left top, right top, color-stop(8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)), color-stop(18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135)), color-stop(33%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065)));background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:shimmer;animation-name:shimmer;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}@keyframes shimmer{0%{background-position:-468px 0}100%{background-position:468px 0}}\";\n\nconst SkeletonText = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the skeleton text will animate.\n */\n this.animated = false;\n }\n render() {\n const animated = this.animated && config.getBoolean('animated', true);\n const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'skeleton-text-animated': animated,\n 'in-media': inMedia\n } }, h(\"span\", null, \"\\u00A0\")));\n }\n get el() { return getElement(this); }\n};\nSkeletonText.style = skeletonTextCss;\n\nexport { Item as ion_item, ItemDivider as ion_item_divider, ItemGroup as ion_item_group, Label as ion_label, List as ion_list, ListHeader as ion_list_header, Note as ion_note, SkeletonText as ion_skeleton_text };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/18-es2015.js b/android/app/src/main/assets/public/18-es2015.js new file mode 100644 index 000000000..7a8057e67 --- /dev/null +++ b/android/app/src/main/assets/public/18-es2015.js @@ -0,0 +1,237 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[18],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-loading.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-loading.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_loading */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_loading", function() { return Loading; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index-9e3fe806.js */ "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + + + +/** + * iOS Loading Enter Animation + */ +const iosEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.loading-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.01, transform: 'scale(1.1)' }, + { offset: 1, opacity: 1, transform: 'scale(1)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * iOS Loading Leave Animation + */ +const iosLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.loading-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.99, transform: 'scale(1)' }, + { offset: 1, opacity: 0, transform: 'scale(0.9)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Loading Enter Animation + */ +const mdEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.loading-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.01, transform: 'scale(1.1)' }, + { offset: 1, opacity: 1, transform: 'scale(1)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Loading Leave Animation + */ +const mdLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.loading-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.99, transform: 'scale(1)' }, + { offset: 1, opacity: 0, transform: 'scale(0.9)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('ease-in-out') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const loadingIosCss = ".sc-ion-loading-ios-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;outline:none;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-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{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-lines.sc-ion-loading-ios,.spinner-lines-small.sc-ion-loading-ios,.spinner-bubbles.sc-ion-loading-ios,.spinner-circles.sc-ion-loading-ios,.spinner-crescent.sc-ion-loading-ios,.spinner-dots.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:14px}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;padding-left:34px;padding-right:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}"; + +const loadingMdCss = ".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;outline:none;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-lines.sc-ion-loading-md,.spinner-lines-small.sc-ion-loading-md,.spinner-bubbles.sc-ion-loading-md,.spinner-circles.sc-ion-loading-md,.spinner-crescent.sc-ion-loading-md,.spinner-dots.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);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);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, 0.4);box-shadow:0 16px 20px rgba(0, 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}}"; + +const Loading = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * Number of milliseconds to wait before dismissing the loading indicator. + */ + this.duration = 0; + /** + * If `true`, the loading indicator will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = false; + /** + * If `true`, a backdrop will be displayed behind the loading indicator. + */ + this.showBackdrop = true; + /** + * If `true`, the loading indicator will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + /** + * If `true`, the loading indicator will animate. + */ + this.animated = true; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["B"]); + }; + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["e"])(this.el); + } + componentWillLoad() { + if (this.spinner === undefined) { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.spinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('loadingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', mode === 'ios' ? 'lines' : 'crescent')); + } + } + /** + * Present the loading overlay after it has been created. + */ + async present() { + await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation, undefined); + if (this.duration > 0) { + this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10); + } + } + /** + * Dismiss the loading overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the loading. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the loading. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + dismiss(data, role) { + if (this.durationTimeout) { + clearTimeout(this.durationTimeout); + } + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["f"])(this, data, role, 'loadingLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the loading did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionLoadingDidDismiss'); + } + /** + * Returns a promise that resolves when the loading will dismiss. + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionLoadingWillDismiss'); + } + render() { + const { message, spinner } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onIonBackdropTap: this.onBackdropTap, tabindex: "-1", style: { + zIndex: `${40000 + this.overlayIndex}` + }, class: Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), { [mode]: true, 'loading-translucent': this.translucent }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { visible: this.showBackdrop, tappable: this.backdropDismiss }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "loading-wrapper ion-overlay-wrapper", role: "dialog" }, spinner && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "loading-spinner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "loading-content", innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_4__["s"])(message) })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +Loading.style = { + ios: loadingIosCss, + md: loadingMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=18-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/18-es2015.js.map b/android/app/src/main/assets/public/18-es2015.js.map new file mode 100644 index 000000000..595403bb2 --- /dev/null +++ b/android/app/src/main/assets/public/18-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-loading.entry.js"],"names":[],"mappings":"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","file":"18-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Loading Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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/**\n * iOS Loading Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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/**\n * Md Loading Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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/**\n * Md Loading Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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\nconst loadingIosCss = \".sc-ion-loading-ios-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;outline:none;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-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{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-lines.sc-ion-loading-ios,.spinner-lines-small.sc-ion-loading-ios,.spinner-bubbles.sc-ion-loading-ios,.spinner-circles.sc-ion-loading-ios,.spinner-crescent.sc-ion-loading-ios,.spinner-dots.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:14px}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;padding-left:34px;padding-right:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}\";\n\nconst loadingMdCss = \".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;outline:none;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-lines.sc-ion-loading-md,.spinner-lines-small.sc-ion-loading-md,.spinner-bubbles.sc-ion-loading-md,.spinner-circles.sc-ion-loading-md,.spinner-crescent.sc-ion-loading-md,.spinner-dots.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);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);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, 0.4);box-shadow:0 16px 20px rgba(0, 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\nconst Loading = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\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 this.presented = false;\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 = () => {\n this.dismiss(undefined, BACKDROP);\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n componentWillLoad() {\n if (this.spinner === undefined) {\n const 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 async present() {\n await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation, undefined);\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);\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 dismiss(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 onDidDismiss() {\n return eventMethod(this.el, 'ionLoadingDidDismiss');\n }\n /**\n * Returns a promise that resolves when the loading will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionLoadingWillDismiss');\n }\n render() {\n const { message, spinner } = this;\n const mode = getIonMode(this);\n return (h(Host, { onIonBackdropTap: this.onBackdropTap, tabindex: \"-1\", style: {\n zIndex: `${40000 + this.overlayIndex}`\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'loading-translucent': this.translucent }) }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"loading-wrapper ion-overlay-wrapper\", role: \"dialog\" }, spinner && (h(\"div\", { class: \"loading-spinner\" }, h(\"ion-spinner\", { name: spinner, \"aria-hidden\": \"true\" }))), message && h(\"div\", { class: \"loading-content\", innerHTML: sanitizeDOMString(message) })), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nLoading.style = {\n ios: loadingIosCss,\n md: loadingMdCss\n};\n\nexport { Loading as ion_loading };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/18-es5.js b/android/app/src/main/assets/public/18-es5.js new file mode 100644 index 000000000..70e7b4f37 --- /dev/null +++ b/android/app/src/main/assets/public/18-es5.js @@ -0,0 +1,363 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[18], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-loading.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-loading.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_loading */ + + /***/ + function node_modulesIonicCoreDistEsmIonLoadingEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_loading", function () { + return Loading; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./index-9e3fe806.js */ + "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /** + * iOS Loading Enter Animation + */ + + + var iosEnterAnimation = function iosEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.loading-wrapper')).keyframes([{ + offset: 0, + opacity: 0.01, + transform: 'scale(1.1)' + }, { + offset: 1, + opacity: 1, + transform: 'scale(1)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * iOS Loading Leave Animation + */ + + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.loading-wrapper')).keyframes([{ + offset: 0, + opacity: 0.99, + transform: 'scale(1)' + }, { + offset: 1, + opacity: 0, + transform: 'scale(0.9)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Loading Enter Animation + */ + + + var mdEnterAnimation = function mdEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.loading-wrapper')).keyframes([{ + offset: 0, + opacity: 0.01, + transform: 'scale(1.1)' + }, { + offset: 1, + opacity: 1, + transform: 'scale(1)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Loading Leave Animation + */ + + + var mdLeaveAnimation = function mdLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.loading-wrapper')).keyframes([{ + offset: 0, + opacity: 0.99, + transform: 'scale(1)' + }, { + offset: 1, + opacity: 0, + transform: 'scale(0.9)' + }]); + return baseAnimation.addElement(baseEl).easing('ease-in-out').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var loadingIosCss = ".sc-ion-loading-ios-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;outline:none;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-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{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-lines.sc-ion-loading-ios,.spinner-lines-small.sc-ion-loading-ios,.spinner-bubbles.sc-ion-loading-ios,.spinner-circles.sc-ion-loading-ios,.spinner-crescent.sc-ion-loading-ios,.spinner-dots.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:14px}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;padding-left:34px;padding-right:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}"; + var loadingMdCss = ".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;outline:none;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-lines.sc-ion-loading-md,.spinner-lines-small.sc-ion-loading-md,.spinner-bubbles.sc-ion-loading-md,.spinner-circles.sc-ion-loading-md,.spinner-crescent.sc-ion-loading-md,.spinner-dots.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);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);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, 0.4);box-shadow:0 16px 20px rgba(0, 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}}"; + + var Loading = /*#__PURE__*/function () { + function Loading(hostRef) { + var _this = this; + + _classCallCheck(this, Loading); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionLoadingDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * Number of milliseconds to wait before dismissing the loading indicator. + */ + + this.duration = 0; + /** + * If `true`, the loading indicator will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = false; + /** + * If `true`, a backdrop will be displayed behind the loading indicator. + */ + + this.showBackdrop = true; + /** + * If `true`, the loading indicator will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + /** + * If `true`, the loading indicator will animate. + */ + + this.animated = true; + + this.onBackdropTap = function () { + _this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["B"]); + }; + } + + _createClass(Loading, [{ + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["e"])(this.el); + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + if (this.spinner === undefined) { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.spinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('loadingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', mode === 'ios' ? 'lines' : 'crescent')); + } + } + /** + * Present the loading overlay after it has been created. + */ + + }, { + key: "present", + value: function () { + var _present = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this2 = this; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation, undefined); + + case 2: + if (this.duration > 0) { + this.durationTimeout = setTimeout(function () { + return _this2.dismiss(); + }, this.duration + 10); + } + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function present() { + return _present.apply(this, arguments); + } + + return present; + }() + /** + * Dismiss the loading overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the loading. + * This can be useful in a button handler for determining which button was + * clicked to dismiss the loading. + * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`. + */ + + }, { + key: "dismiss", + value: function dismiss(data, role) { + if (this.durationTimeout) { + clearTimeout(this.durationTimeout); + } + + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["f"])(this, data, role, 'loadingLeave', iosLeaveAnimation, mdLeaveAnimation); + } + /** + * Returns a promise that resolves when the loading did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionLoadingDidDismiss'); + } + /** + * Returns a promise that resolves when the loading will dismiss. + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionLoadingWillDismiss'); + } + }, { + key: "render", + value: function render() { + var _Object$assign; + + var message = this.message, + spinner = this.spinner; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onIonBackdropTap: this.onBackdropTap, + tabindex: "-1", + style: { + zIndex: "".concat(40000 + this.overlayIndex) + }, + "class": Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), (_Object$assign = {}, _defineProperty(_Object$assign, mode, true), _defineProperty(_Object$assign, 'loading-translucent', this.translucent), _Object$assign)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + visible: this.showBackdrop, + tappable: this.backdropDismiss + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "loading-wrapper ion-overlay-wrapper", + role: "dialog" + }, spinner && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "loading-spinner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { + name: spinner, + "aria-hidden": "true" + })), message && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "loading-content", + innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_4__["s"])(message) + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Loading; + }(); + + Loading.style = { + ios: loadingIosCss, + md: loadingMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=18-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/18-es5.js.map b/android/app/src/main/assets/public/18-es5.js.map new file mode 100644 index 000000000..5370efa98 --- /dev/null +++ b/android/app/src/main/assets/public/18-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-loading.entry.js"],"names":["iosEnterAnimation","baseEl","baseAnimation","backdropAnimation","wrapperAnimation","addElement","querySelector","fromTo","beforeStyles","afterClearStyles","keyframes","offset","opacity","transform","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","mdLeaveAnimation","loadingIosCss","loadingMdCss","Loading","hostRef","didPresent","willPresent","willDismiss","didDismiss","presented","keyboardClose","backdropDismiss","showBackdrop","translucent","animated","onBackdropTap","dismiss","undefined","el","spinner","mode","get","durationTimeout","setTimeout","data","role","clearTimeout","message","onIonBackdropTap","tabindex","style","zIndex","overlayIndex","Object","assign","cssClass","visible","tappable","name","innerHTML","ios","md"],"mappings":"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","file":"18-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\n\n/**\n * iOS Loading Enter Animation\n */\nconst iosEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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/**\n * iOS Loading Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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/**\n * Md Loading Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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/**\n * Md Loading Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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\nconst loadingIosCss = \".sc-ion-loading-ios-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;outline:none;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-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{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-lines.sc-ion-loading-ios,.spinner-lines-small.sc-ion-loading-ios,.spinner-bubbles.sc-ion-loading-ios,.spinner-circles.sc-ion-loading-ios,.spinner-crescent.sc-ion-loading-ios,.spinner-dots.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:14px}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;padding-left:34px;padding-right:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}\";\n\nconst loadingMdCss = \".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;outline:none;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-lines.sc-ion-loading-md,.spinner-lines-small.sc-ion-loading-md,.spinner-bubbles.sc-ion-loading-md,.spinner-circles.sc-ion-loading-md,.spinner-crescent.sc-ion-loading-md,.spinner-dots.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);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);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, 0.4);box-shadow:0 16px 20px rgba(0, 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\nconst Loading = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\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 this.presented = false;\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 = () => {\n this.dismiss(undefined, BACKDROP);\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n componentWillLoad() {\n if (this.spinner === undefined) {\n const 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 async present() {\n await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation, undefined);\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);\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 dismiss(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 onDidDismiss() {\n return eventMethod(this.el, 'ionLoadingDidDismiss');\n }\n /**\n * Returns a promise that resolves when the loading will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionLoadingWillDismiss');\n }\n render() {\n const { message, spinner } = this;\n const mode = getIonMode(this);\n return (h(Host, { onIonBackdropTap: this.onBackdropTap, tabindex: \"-1\", style: {\n zIndex: `${40000 + this.overlayIndex}`\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'loading-translucent': this.translucent }) }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"loading-wrapper ion-overlay-wrapper\", role: \"dialog\" }, spinner && (h(\"div\", { class: \"loading-spinner\" }, h(\"ion-spinner\", { name: spinner, \"aria-hidden\": \"true\" }))), message && h(\"div\", { class: \"loading-content\", innerHTML: sanitizeDOMString(message) })), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nLoading.style = {\n ios: loadingIosCss,\n md: loadingMdCss\n};\n\nexport { Loading as ion_loading };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/19-es2015.js b/android/app/src/main/assets/public/19-es2015.js new file mode 100644 index 000000000..683c29fc5 --- /dev/null +++ b/android/app/src/main/assets/public/19-es2015.js @@ -0,0 +1,578 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[19],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js": +/*!***************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js ***! + \***************************************************************/ +/*! exports provided: ion_menu, ion_menu_button, ion_menu_toggle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_menu", function() { return Menu; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_menu_button", function() { return MenuButton; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_menu_toggle", function() { return MenuToggle; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubic-bezier-eea9a7a9.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); +/* harmony import */ var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./gesture-controller-31cb6bb9.js */ "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./index-3a75d1af.js */ "./node_modules/@ionic/core/dist/esm/index-3a75d1af.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + + + + +const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}"; + +const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}"; + +const iosEasing = 'cubic-bezier(0.32,0.72,0,1)'; +const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)'; +const iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)'; +const mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)'; +const Menu = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionWillOpen = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionWillOpen", 7); + this.ionWillClose = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionWillClose", 7); + this.ionDidOpen = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDidOpen", 7); + this.ionDidClose = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDidClose", 7); + this.ionMenuChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionMenuChange", 7); + this.lastOnEnd = 0; + this.blocker = _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_5__["G"].createBlocker({ disableScroll: true }); + this.isAnimating = false; + this._isOpen = false; + this.isPaneVisible = false; + this.isEndSide = false; + /** + * If `true`, the menu is disabled. + */ + this.disabled = false; + /** + * Which side of the view the menu should be placed. + */ + this.side = 'start'; + /** + * If `true`, swiping the menu is enabled. + */ + this.swipeGesture = true; + /** + * The edge threshold for dragging the menu open. + * If a drag/swipe happens over this value, the menu is not triggered. + */ + this.maxEdgeStart = 50; + } + typeChanged(type, oldType) { + const contentEl = this.contentEl; + if (contentEl) { + if (oldType !== undefined) { + contentEl.classList.remove(`menu-content-${oldType}`); + } + contentEl.classList.add(`menu-content-${type}`); + contentEl.removeAttribute('style'); + } + if (this.menuInnerEl) { + // Remove effects of previous animations + this.menuInnerEl.removeAttribute('style'); + } + this.animation = undefined; + } + disabledChanged() { + this.updateState(); + this.ionMenuChange.emit({ + disabled: this.disabled, + open: this._isOpen + }); + } + sideChanged() { + this.isEndSide = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(this.side); + } + swipeGestureChanged() { + this.updateState(); + } + async connectedCallback() { + if (this.type === undefined) { + this.type = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('menuType', 'overlay'); + } + const el = this.el; + const parent = el.parentNode; + if (this.contentId === undefined) { + console.warn(`[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the "contentId" property instead: +BEFORE: + ... +
...
+ +AFTER: + +
...
+`); + } + const content = this.contentId !== undefined + ? document.getElementById(this.contentId) + : parent && parent.querySelector && parent.querySelector('[main]'); + if (!content || !content.tagName) { + // requires content element + console.error('Menu: must have a "content" element to listen for drag events on.'); + return; + } + this.contentEl = content; + // add menu's content classes + content.classList.add('menu-content'); + this.typeChanged(this.type, undefined); + this.sideChanged(); + // register this menu with the app's menu controller + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._register(this); + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: document, + gestureName: 'menu-swipe', + gesturePriority: 30, + threshold: 10, + blurOnStart: true, + canStart: ev => this.canStart(ev), + onWillStart: () => this.onWillStart(), + onStart: () => this.onStart(), + onMove: ev => this.onMove(ev), + onEnd: ev => this.onEnd(ev), + }); + this.updateState(); + } + async componentDidLoad() { + this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen }); + this.updateState(); + } + disconnectedCallback() { + this.blocker.destroy(); + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._unregister(this); + if (this.animation) { + this.animation.destroy(); + } + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + this.animation = undefined; + this.contentEl = this.backdropEl = this.menuInnerEl = undefined; + } + onSplitPaneChanged(ev) { + this.isPaneVisible = ev.detail.isPane(this.el); + this.updateState(); + } + onBackdropClick(ev) { + if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) { + const shouldClose = (ev.composedPath) + ? !ev.composedPath().includes(this.menuInnerEl) + : false; + if (shouldClose) { + ev.preventDefault(); + ev.stopPropagation(); + this.close(); + } + } + } + /** + * Returns `true` is the menu is open. + */ + isOpen() { + return Promise.resolve(this._isOpen); + } + /** + * Returns `true` is the menu is active. + * + * A menu is active when it can be opened or closed, meaning it's enabled + * and it's not part of a `ion-split-pane`. + */ + isActive() { + return Promise.resolve(this._isActive()); + } + /** + * Opens the menu. If the menu is already open or it can't be opened, + * it returns `false`. + */ + open(animated = true) { + return this.setOpen(true, animated); + } + /** + * Closes the menu. If the menu is already closed or it can't be closed, + * it returns `false`. + */ + close(animated = true) { + return this.setOpen(false, animated); + } + /** + * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. + * If the operation can't be completed successfully, it returns `false`. + */ + toggle(animated = true) { + return this.setOpen(!this._isOpen, animated); + } + /** + * Opens or closes the button. + * If the operation can't be completed successfully, it returns `false`. + */ + setOpen(shouldOpen, animated = true) { + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._setOpen(this, shouldOpen, animated); + } + async _setOpen(shouldOpen, animated = true) { + // If the menu is disabled or it is currently being animated, let's do nothing + if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) { + return false; + } + this.beforeAnimation(shouldOpen); + await this.loadAnimation(); + await this.startAnimation(shouldOpen, animated); + this.afterAnimation(shouldOpen); + return true; + } + async loadAnimation() { + // Menu swipe animation takes the menu's inner width as parameter, + // If `offsetWidth` changes, we need to create a new animation. + const width = this.menuInnerEl.offsetWidth; + if (width === this.width && this.animation !== undefined) { + return; + } + this.width = width; + // Destroy existing animation + if (this.animation) { + this.animation.destroy(); + this.animation = undefined; + } + // Create new animation + this.animation = await _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._createAnimation(this.type, this); + if (!_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true)) { + this.animation.duration(0); + } + this.animation.fill('both'); + } + async startAnimation(shouldOpen, animated) { + const isReversed = !shouldOpen; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const easing = mode === 'ios' ? iosEasing : mdEasing; + const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse; + const ani = this.animation + .direction((isReversed) ? 'reverse' : 'normal') + .easing((isReversed) ? easingReverse : easing) + .onFinish(() => { + if (ani.getDirection() === 'reverse') { + ani.direction('normal'); + } + }); + if (animated) { + await ani.play(); + } + else { + ani.play({ sync: true }); + } + } + _isActive() { + return !this.disabled && !this.isPaneVisible; + } + canSwipe() { + return this.swipeGesture && !this.isAnimating && this._isActive(); + } + canStart(detail) { + // Do not allow swipe gesture if a modal is open + const isModalPresented = !!document.querySelector('ion-modal.show-modal'); + if (isModalPresented || !this.canSwipe()) { + return false; + } + if (this._isOpen) { + return true; + // TODO error + } + else if (_index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._getOpenSync()) { + return false; + } + return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart); + } + onWillStart() { + this.beforeAnimation(!this._isOpen); + return this.loadAnimation(); + } + onStart() { + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } + // the cloned animation should not use an easing curve during seek + this.animation.progressStart(true, (this._isOpen) ? 1 : 0); + } + onMove(detail) { + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } + const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide); + const stepValue = delta / this.width; + this.animation.progressStep((this._isOpen) ? 1 - stepValue : stepValue); + } + onEnd(detail) { + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } + const isOpen = this._isOpen; + const isEndSide = this.isEndSide; + const delta = computeDelta(detail.deltaX, isOpen, isEndSide); + const width = this.width; + const stepValue = delta / width; + const velocity = detail.velocityX; + const z = width / 2.0; + const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z); + const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z); + const shouldComplete = isOpen + ? isEndSide ? shouldCompleteRight : shouldCompleteLeft + : isEndSide ? shouldCompleteLeft : shouldCompleteRight; + let shouldOpen = !isOpen && shouldComplete; + if (isOpen && !shouldComplete) { + shouldOpen = true; + } + this.lastOnEnd = detail.currentTime; + // Account for rounding errors in JS + let newStepValue = (shouldComplete) ? 0.001 : -0.001; + /** + * TODO: stepValue can sometimes return a negative + * value, but you can't have a negative time value + * for the cubic bezier curve (at least with web animations) + * Not sure if the negative step value is an error or not + */ + const adjustedStepValue = (stepValue < 0) ? 0.01 : stepValue; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.4, 0], [0.6, 1], [1, 1], Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, adjustedStepValue, 0.9999))[0] || 0; + const playTo = (this._isOpen) ? !shouldComplete : shouldComplete; + this.animation + .easing('cubic-bezier(0.4, 0.0, 0.6, 1)') + .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true }) + .progressEnd((playTo) ? 1 : 0, (this._isOpen) ? 1 - newStepValue : newStepValue, 300); + } + beforeAnimation(shouldOpen) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!this.isAnimating, '_before() should not be called while animating'); + // this places the menu into the correct location before it animates in + // this css class doesn't actually kick off any animations + this.el.classList.add(SHOW_MENU); + if (this.backdropEl) { + this.backdropEl.classList.add(SHOW_BACKDROP); + } + this.blocker.block(); + this.isAnimating = true; + if (shouldOpen) { + this.ionWillOpen.emit(); + } + else { + this.ionWillClose.emit(); + } + } + afterAnimation(isOpen) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this.isAnimating, '_before() should be called while animating'); + // keep opening/closing the menu disabled for a touch more yet + // only add listeners/css if it's enabled and isOpen + // and only remove listeners/css if it's not open + // emit opened/closed events + this._isOpen = isOpen; + this.isAnimating = false; + if (!this._isOpen) { + this.blocker.unblock(); + } + if (isOpen) { + // add css class + if (this.contentEl) { + this.contentEl.classList.add(MENU_CONTENT_OPEN); + } + // emit open event + this.ionDidOpen.emit(); + } + else { + // remove css classes + this.el.classList.remove(SHOW_MENU); + if (this.contentEl) { + this.contentEl.classList.remove(MENU_CONTENT_OPEN); + } + if (this.backdropEl) { + this.backdropEl.classList.remove(SHOW_BACKDROP); + } + if (this.animation) { + this.animation.stop(); + } + // emit close event + this.ionDidClose.emit(); + } + } + updateState() { + const isActive = this._isActive(); + if (this.gesture) { + this.gesture.enable(isActive && this.swipeGesture); + } + // Close menu immediately + if (!isActive && this._isOpen) { + // close if this menu is open, and should not be enabled + this.forceClosing(); + } + if (!this.disabled) { + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._setActiveMenu(this); + } + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!this.isAnimating, 'can not be animating'); + } + forceClosing() { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this._isOpen, 'menu cannot be closed'); + this.isAnimating = true; + const ani = this.animation.direction('reverse'); + ani.play({ sync: true }); + this.afterAnimation(false); + } + render() { + const { isEndSide, type, disabled, isPaneVisible } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "navigation", class: { + [mode]: true, + [`menu-type-${type}`]: true, + 'menu-enabled': !disabled, + 'menu-side-end': isEndSide, + 'menu-side-start': !isEndSide, + 'menu-pane-visible': isPaneVisible + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "menu-inner", part: "container", ref: el => this.menuInnerEl = el }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { ref: el => this.backdropEl = el, class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "type": ["typeChanged"], + "disabled": ["disabledChanged"], + "side": ["sideChanged"], + "swipeGesture": ["swipeGestureChanged"] + }; } +}; +const computeDelta = (deltaX, isOpen, isEndSide) => { + return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX); +}; +const checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => { + if (isEndSide) { + return posX >= win.innerWidth - maxEdgeStart; + } + else { + return posX <= maxEdgeStart; + } +}; +const SHOW_MENU = 'show-menu'; +const SHOW_BACKDROP = 'show-backdrop'; +const MENU_CONTENT_OPEN = 'menu-content-open'; +Menu.style = { + ios: menuIosCss, + md: menuMdCss +}; + +// Given a menu, return whether or not the menu toggle should be visible +const updateVisibility = async (menu) => { + const menuEl = await _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].get(menu); + return !!(menuEl && await menuEl.isActive()); +}; + +const menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}"; + +const menuButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}"; + +const MenuButton = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.visible = false; + /** + * If `true`, the user cannot interact with the menu button. + */ + this.disabled = false; + /** + * Automatically hides the menu button when the corresponding menu is not active + */ + this.autoHide = true; + /** + * The type of the button. + */ + this.type = 'button'; + this.onClick = async () => { + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].toggle(this.menu); + }; + } + componentDidLoad() { + this.visibilityChanged(); + } + async visibilityChanged() { + this.visible = await updateVisibility(this.menu); + } + render() { + const { color, disabled } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const menuIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('menuIcon', mode === 'ios' ? 'menu-outline' : 'menu-sharp'); + const hidden = this.autoHide && !this.visible; + const attrs = { + type: this.type + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["c"])(color, { + [mode]: true, + 'button': true, + 'menu-button-hidden': hidden, + 'menu-button-disabled': disabled, + 'in-toolbar': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["h"])('ion-toolbar', this.el), + 'in-toolbar-color': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["h"])('ion-toolbar[color]', this.el), + 'ion-activatable': true, + 'ion-focusable': true + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", Object.assign({}, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": "menu" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", { type: "unbounded" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +MenuButton.style = { + ios: menuButtonIosCss, + md: menuButtonMdCss +}; + +const menuToggleCss = ":host(.menu-toggle-hidden){display:none}"; + +const MenuToggle = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.visible = false; + /** + * Automatically hides the content when the corresponding menu is not active. + * + * By default, it's `true`. Change it to `false` in order to + * keep `ion-menu-toggle` always visible regardless the state of the menu. + */ + this.autoHide = true; + this.onClick = () => { + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].toggle(this.menu); + }; + } + connectedCallback() { + this.visibilityChanged(); + } + async visibilityChanged() { + this.visible = await updateVisibility(this.menu); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const hidden = this.autoHide && !this.visible; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: { + [mode]: true, + 'menu-toggle-hidden': hidden, + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +MenuToggle.style = menuToggleCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=19-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/19-es2015.js.map b/android/app/src/main/assets/public/19-es2015.js.map new file mode 100644 index 000000000..e80d291f2 --- /dev/null +++ b/android/app/src/main/assets/public/19-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AACnC;AACM;AAC/C;AACyC;AACC;AAC/B;AACc;AACsB;;AAEhF,0BAA0B,cAAc,iBAAiB,iBAAiB,cAAc,kBAAkB,kBAAkB,+CAA+C,OAAO,QAAQ,MAAM,SAAS,aAAa,kBAAkB,eAAe,kBAAkB,cAAc,YAAY,OAAO,WAAW,MAAM,SAAS,+CAA+C,uCAAuC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,sBAAsB,8BAA8B,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,eAAe,2DAA2D,WAAW,YAAY,UAAU,QAAQ,2DAA2D,0DAA0D,kDAAkD,oCAAoC,0BAA0B,WAAW,OAAO,kCAAkC,yBAAyB,QAAQ,WAAW,aAAa,aAAa,aAAa,WAAW,0BAA0B,YAAY,eAAe,yBAAyB,UAAU,+CAA+C,yCAAyC,iCAAiC,0BAA0B,aAAa,yCAAyC,cAAc,eAAe,0BAA0B,mBAAmB,2BAA2B,2BAA2B,sCAAsC,OAAO,QAAQ,WAAW,kCAAkC,0BAA0B,mCAAmC,2BAA2B,uCAAuC,2BAA2B,uBAAuB,aAAa,sCAAsC,cAAc;;AAEr8D,yBAAyB,cAAc,iBAAiB,iBAAiB,cAAc,kBAAkB,kBAAkB,+CAA+C,OAAO,QAAQ,MAAM,SAAS,aAAa,kBAAkB,eAAe,kBAAkB,cAAc,YAAY,OAAO,WAAW,MAAM,SAAS,+CAA+C,uCAAuC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,sBAAsB,8BAA8B,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,eAAe,2DAA2D,WAAW,YAAY,UAAU,QAAQ,2DAA2D,0DAA0D,kDAAkD,oCAAoC,0BAA0B,WAAW,OAAO,kCAAkC,yBAAyB,QAAQ,WAAW,aAAa,aAAa,aAAa,WAAW,0BAA0B,YAAY,eAAe,yBAAyB,UAAU,+CAA+C,yCAAyC,iCAAiC,0BAA0B,aAAa,yCAAyC,cAAc,eAAe,0BAA0B,mBAAmB,2BAA2B,2BAA2B,sCAAsC,OAAO,QAAQ,WAAW,kCAAkC,0BAA0B,mCAAmC,2BAA2B,uCAAuC,2BAA2B,sCAAsC,oDAAoD,4CAA4C;;AAEl/D;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4DAAgB;AACpB,uBAAuB,4DAAW;AAClC,wBAAwB,4DAAW;AACnC,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,yBAAyB,4DAAW;AACpC;AACA,mBAAmB,iEAAkB,gBAAgB,sBAAsB;AAC3E;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,mDAAmD,QAAQ;AAC3D;AACA,8CAA8C,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,8DAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oDAAc;AAClB,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6BAA6B,8CAA8C;AAC3E;AACA;AACA;AACA;AACA,IAAI,oDAAc;AAClB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oDAAc;AACzB;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,2BAA2B,oDAAc;AACzC,SAAS,2DAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oDAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAM;AACZ;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,oBAAoB,mEAAuB,qCAAqC,8DAAK;AACrF;AACA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;AACA;AACA,IAAI,8DAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAM;AACV;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,MAAM,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","file":"19-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { l as isEndSide, k as assert, h as clamp } from './helpers-90f46169.js';\nimport './animation-54fe0237.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { G as GESTURE_CONTROLLER } from './gesture-controller-31cb6bb9.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { m as menuController } from './index-3a75d1af.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst menuIosCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}\";\n\nconst menuMdCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}\";\n\nconst iosEasing = 'cubic-bezier(0.32,0.72,0,1)';\nconst mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';\nconst iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';\nconst mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';\nconst Menu = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionWillOpen = createEvent(this, \"ionWillOpen\", 7);\n this.ionWillClose = createEvent(this, \"ionWillClose\", 7);\n this.ionDidOpen = createEvent(this, \"ionDidOpen\", 7);\n this.ionDidClose = createEvent(this, \"ionDidClose\", 7);\n this.ionMenuChange = createEvent(this, \"ionMenuChange\", 7);\n this.lastOnEnd = 0;\n this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });\n this.isAnimating = false;\n this._isOpen = false;\n this.isPaneVisible = false;\n this.isEndSide = false;\n /**\n * If `true`, the menu is disabled.\n */\n this.disabled = false;\n /**\n * Which side of the view the menu should be placed.\n */\n this.side = 'start';\n /**\n * If `true`, swiping the menu is enabled.\n */\n this.swipeGesture = true;\n /**\n * The edge threshold for dragging the menu open.\n * If a drag/swipe happens over this value, the menu is not triggered.\n */\n this.maxEdgeStart = 50;\n }\n typeChanged(type, oldType) {\n const contentEl = this.contentEl;\n if (contentEl) {\n if (oldType !== undefined) {\n contentEl.classList.remove(`menu-content-${oldType}`);\n }\n contentEl.classList.add(`menu-content-${type}`);\n contentEl.removeAttribute('style');\n }\n if (this.menuInnerEl) {\n // Remove effects of previous animations\n this.menuInnerEl.removeAttribute('style');\n }\n this.animation = undefined;\n }\n disabledChanged() {\n this.updateState();\n this.ionMenuChange.emit({\n disabled: this.disabled,\n open: this._isOpen\n });\n }\n sideChanged() {\n this.isEndSide = isEndSide(this.side);\n }\n swipeGestureChanged() {\n this.updateState();\n }\n async connectedCallback() {\n if (this.type === undefined) {\n this.type = config.get('menuType', 'overlay');\n }\n const el = this.el;\n const parent = el.parentNode;\n if (this.contentId === undefined) {\n console.warn(`[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the \"contentId\" property instead:\nBEFORE:\n ...\n
...
\n\nAFTER:\n \n
...
\n`);\n }\n const content = this.contentId !== undefined\n ? document.getElementById(this.contentId)\n : parent && parent.querySelector && parent.querySelector('[main]');\n if (!content || !content.tagName) {\n // requires content element\n console.error('Menu: must have a \"content\" element to listen for drag events on.');\n return;\n }\n this.contentEl = content;\n // add menu's content classes\n content.classList.add('menu-content');\n this.typeChanged(this.type, undefined);\n this.sideChanged();\n // register this menu with the app's menu controller\n menuController._register(this);\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: document,\n gestureName: 'menu-swipe',\n gesturePriority: 30,\n threshold: 10,\n blurOnStart: true,\n canStart: ev => this.canStart(ev),\n onWillStart: () => this.onWillStart(),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.updateState();\n }\n async componentDidLoad() {\n this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });\n this.updateState();\n }\n disconnectedCallback() {\n this.blocker.destroy();\n menuController._unregister(this);\n if (this.animation) {\n this.animation.destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.animation = undefined;\n this.contentEl = this.backdropEl = this.menuInnerEl = undefined;\n }\n onSplitPaneChanged(ev) {\n this.isPaneVisible = ev.detail.isPane(this.el);\n this.updateState();\n }\n onBackdropClick(ev) {\n if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {\n const shouldClose = (ev.composedPath)\n ? !ev.composedPath().includes(this.menuInnerEl)\n : false;\n if (shouldClose) {\n ev.preventDefault();\n ev.stopPropagation();\n this.close();\n }\n }\n }\n /**\n * Returns `true` is the menu is open.\n */\n isOpen() {\n return Promise.resolve(this._isOpen);\n }\n /**\n * Returns `true` is the menu is active.\n *\n * A menu is active when it can be opened or closed, meaning it's enabled\n * and it's not part of a `ion-split-pane`.\n */\n isActive() {\n return Promise.resolve(this._isActive());\n }\n /**\n * Opens the menu. If the menu is already open or it can't be opened,\n * it returns `false`.\n */\n open(animated = true) {\n return this.setOpen(true, animated);\n }\n /**\n * Closes the menu. If the menu is already closed or it can't be closed,\n * it returns `false`.\n */\n close(animated = true) {\n return this.setOpen(false, animated);\n }\n /**\n * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.\n * If the operation can't be completed successfully, it returns `false`.\n */\n toggle(animated = true) {\n return this.setOpen(!this._isOpen, animated);\n }\n /**\n * Opens or closes the button.\n * If the operation can't be completed successfully, it returns `false`.\n */\n setOpen(shouldOpen, animated = true) {\n return menuController._setOpen(this, shouldOpen, animated);\n }\n async _setOpen(shouldOpen, animated = true) {\n // If the menu is disabled or it is currently being animated, let's do nothing\n if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {\n return false;\n }\n this.beforeAnimation(shouldOpen);\n await this.loadAnimation();\n await this.startAnimation(shouldOpen, animated);\n this.afterAnimation(shouldOpen);\n return true;\n }\n async loadAnimation() {\n // Menu swipe animation takes the menu's inner width as parameter,\n // If `offsetWidth` changes, we need to create a new animation.\n const width = this.menuInnerEl.offsetWidth;\n if (width === this.width && this.animation !== undefined) {\n return;\n }\n this.width = width;\n // Destroy existing animation\n if (this.animation) {\n this.animation.destroy();\n this.animation = undefined;\n }\n // Create new animation\n this.animation = await menuController._createAnimation(this.type, this);\n if (!config.getBoolean('animated', true)) {\n this.animation.duration(0);\n }\n this.animation.fill('both');\n }\n async startAnimation(shouldOpen, animated) {\n const isReversed = !shouldOpen;\n const mode = getIonMode(this);\n const easing = mode === 'ios' ? iosEasing : mdEasing;\n const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;\n const ani = this.animation\n .direction((isReversed) ? 'reverse' : 'normal')\n .easing((isReversed) ? easingReverse : easing)\n .onFinish(() => {\n if (ani.getDirection() === 'reverse') {\n ani.direction('normal');\n }\n });\n if (animated) {\n await ani.play();\n }\n else {\n ani.play({ sync: true });\n }\n }\n _isActive() {\n return !this.disabled && !this.isPaneVisible;\n }\n canSwipe() {\n return this.swipeGesture && !this.isAnimating && this._isActive();\n }\n canStart(detail) {\n // Do not allow swipe gesture if a modal is open\n const isModalPresented = !!document.querySelector('ion-modal.show-modal');\n if (isModalPresented || !this.canSwipe()) {\n return false;\n }\n if (this._isOpen) {\n return true;\n // TODO error\n }\n else if (menuController._getOpenSync()) {\n return false;\n }\n return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);\n }\n onWillStart() {\n this.beforeAnimation(!this._isOpen);\n return this.loadAnimation();\n }\n onStart() {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n // the cloned animation should not use an easing curve during seek\n this.animation.progressStart(true, (this._isOpen) ? 1 : 0);\n }\n onMove(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);\n const stepValue = delta / this.width;\n this.animation.progressStep((this._isOpen) ? 1 - stepValue : stepValue);\n }\n onEnd(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const isOpen = this._isOpen;\n const isEndSide = this.isEndSide;\n const delta = computeDelta(detail.deltaX, isOpen, isEndSide);\n const width = this.width;\n const stepValue = delta / width;\n const velocity = detail.velocityX;\n const z = width / 2.0;\n const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);\n const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);\n const shouldComplete = isOpen\n ? isEndSide ? shouldCompleteRight : shouldCompleteLeft\n : isEndSide ? shouldCompleteLeft : shouldCompleteRight;\n let shouldOpen = !isOpen && shouldComplete;\n if (isOpen && !shouldComplete) {\n shouldOpen = true;\n }\n this.lastOnEnd = detail.currentTime;\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? 0.001 : -0.001;\n /**\n * TODO: stepValue can sometimes return a negative\n * value, but you can't have a negative time value\n * for the cubic bezier curve (at least with web animations)\n * Not sure if the negative step value is an error or not\n */\n const adjustedStepValue = (stepValue < 0) ? 0.01 : stepValue;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n newStepValue += getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;\n const playTo = (this._isOpen) ? !shouldComplete : shouldComplete;\n this.animation\n .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')\n .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })\n .progressEnd((playTo) ? 1 : 0, (this._isOpen) ? 1 - newStepValue : newStepValue, 300);\n }\n beforeAnimation(shouldOpen) {\n assert(!this.isAnimating, '_before() should not be called while animating');\n // this places the menu into the correct location before it animates in\n // this css class doesn't actually kick off any animations\n this.el.classList.add(SHOW_MENU);\n if (this.backdropEl) {\n this.backdropEl.classList.add(SHOW_BACKDROP);\n }\n this.blocker.block();\n this.isAnimating = true;\n if (shouldOpen) {\n this.ionWillOpen.emit();\n }\n else {\n this.ionWillClose.emit();\n }\n }\n afterAnimation(isOpen) {\n assert(this.isAnimating, '_before() should be called while animating');\n // keep opening/closing the menu disabled for a touch more yet\n // only add listeners/css if it's enabled and isOpen\n // and only remove listeners/css if it's not open\n // emit opened/closed events\n this._isOpen = isOpen;\n this.isAnimating = false;\n if (!this._isOpen) {\n this.blocker.unblock();\n }\n if (isOpen) {\n // add css class\n if (this.contentEl) {\n this.contentEl.classList.add(MENU_CONTENT_OPEN);\n }\n // emit open event\n this.ionDidOpen.emit();\n }\n else {\n // remove css classes\n this.el.classList.remove(SHOW_MENU);\n if (this.contentEl) {\n this.contentEl.classList.remove(MENU_CONTENT_OPEN);\n }\n if (this.backdropEl) {\n this.backdropEl.classList.remove(SHOW_BACKDROP);\n }\n if (this.animation) {\n this.animation.stop();\n }\n // emit close event\n this.ionDidClose.emit();\n }\n }\n updateState() {\n const isActive = this._isActive();\n if (this.gesture) {\n this.gesture.enable(isActive && this.swipeGesture);\n }\n // Close menu immediately\n if (!isActive && this._isOpen) {\n // close if this menu is open, and should not be enabled\n this.forceClosing();\n }\n if (!this.disabled) {\n menuController._setActiveMenu(this);\n }\n assert(!this.isAnimating, 'can not be animating');\n }\n forceClosing() {\n assert(this._isOpen, 'menu cannot be closed');\n this.isAnimating = true;\n const ani = this.animation.direction('reverse');\n ani.play({ sync: true });\n this.afterAnimation(false);\n }\n render() {\n const { isEndSide, type, disabled, isPaneVisible } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"navigation\", class: {\n [mode]: true,\n [`menu-type-${type}`]: true,\n 'menu-enabled': !disabled,\n 'menu-side-end': isEndSide,\n 'menu-side-start': !isEndSide,\n 'menu-pane-visible': isPaneVisible\n } }, h(\"div\", { class: \"menu-inner\", part: \"container\", ref: el => this.menuInnerEl = el }, h(\"slot\", null)), h(\"ion-backdrop\", { ref: el => this.backdropEl = el, class: \"menu-backdrop\", tappable: false, stopPropagation: false, part: \"backdrop\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"type\": [\"typeChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"side\": [\"sideChanged\"],\n \"swipeGesture\": [\"swipeGestureChanged\"]\n }; }\n};\nconst computeDelta = (deltaX, isOpen, isEndSide) => {\n return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);\n};\nconst checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {\n if (isEndSide) {\n return posX >= win.innerWidth - maxEdgeStart;\n }\n else {\n return posX <= maxEdgeStart;\n }\n};\nconst SHOW_MENU = 'show-menu';\nconst SHOW_BACKDROP = 'show-backdrop';\nconst MENU_CONTENT_OPEN = 'menu-content-open';\nMenu.style = {\n ios: menuIosCss,\n md: menuMdCss\n};\n\n// Given a menu, return whether or not the menu toggle should be visible\nconst updateVisibility = async (menu) => {\n const menuEl = await menuController.get(menu);\n return !!(menuEl && await menuEl.isActive());\n};\n\nconst menuButtonIosCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}\";\n\nconst menuButtonMdCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}\";\n\nconst MenuButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * If `true`, the user cannot interact with the menu button.\n */\n this.disabled = false;\n /**\n * Automatically hides the menu button when the corresponding menu is not active\n */\n this.autoHide = true;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = async () => {\n return menuController.toggle(this.menu);\n };\n }\n componentDidLoad() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const { color, disabled } = this;\n const mode = getIonMode(this);\n const menuIcon = config.get('menuIcon', mode === 'ios' ? 'menu-outline' : 'menu-sharp');\n const hidden = this.autoHide && !this.visible;\n const attrs = {\n type: this.type\n };\n return (h(Host, { onClick: this.onClick, \"aria-disabled\": disabled ? 'true' : null, \"aria-hidden\": hidden ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'button': true,\n 'menu-button-hidden': hidden,\n 'menu-button-disabled': disabled,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'ion-activatable': true,\n 'ion-focusable': true\n }) }, h(\"button\", Object.assign({}, attrs, { disabled: disabled, class: \"button-native\", part: \"native\", \"aria-label\": \"menu\" }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null, h(\"ion-icon\", { part: \"icon\", icon: menuIcon, mode: mode, lazy: false, \"aria-hidden\": \"true\" }))), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nMenuButton.style = {\n ios: menuButtonIosCss,\n md: menuButtonMdCss\n};\n\nconst menuToggleCss = \":host(.menu-toggle-hidden){display:none}\";\n\nconst MenuToggle = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * Automatically hides the content when the corresponding menu is not active.\n *\n * By default, it's `true`. Change it to `false` in order to\n * keep `ion-menu-toggle` always visible regardless the state of the menu.\n */\n this.autoHide = true;\n this.onClick = () => {\n return menuController.toggle(this.menu);\n };\n }\n connectedCallback() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const mode = getIonMode(this);\n const hidden = this.autoHide && !this.visible;\n return (h(Host, { onClick: this.onClick, \"aria-hidden\": hidden ? 'true' : null, class: {\n [mode]: true,\n 'menu-toggle-hidden': hidden,\n } }, h(\"slot\", null)));\n }\n};\nMenuToggle.style = menuToggleCss;\n\nexport { Menu as ion_menu, MenuButton as ion_menu_button, MenuToggle as ion_menu_toggle };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/19-es5.js b/android/app/src/main/assets/public/19-es5.js new file mode 100644 index 000000000..4f3c11c8c --- /dev/null +++ b/android/app/src/main/assets/public/19-es5.js @@ -0,0 +1,1079 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[19], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js": + /*!***************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js ***! + \***************************************************************/ + + /*! exports provided: ion_menu, ion_menu_button, ion_menu_toggle */ + + /***/ + function node_modulesIonicCoreDistEsmIonMenu_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_menu", function () { + return Menu; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_menu_button", function () { + return MenuButton; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_menu_toggle", function () { + return MenuToggle; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./cubic-bezier-eea9a7a9.js */ + "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); + /* harmony import */ + + + var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./gesture-controller-31cb6bb9.js */ + "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./index-3a75d1af.js */ + "./node_modules/@ionic/core/dist/esm/index-3a75d1af.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}"; + var menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}"; + var iosEasing = 'cubic-bezier(0.32,0.72,0,1)'; + var mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)'; + var iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)'; + var mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)'; + + var Menu = /*#__PURE__*/function () { + function Menu(hostRef) { + _classCallCheck(this, Menu); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionWillOpen = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionWillOpen", 7); + this.ionWillClose = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionWillClose", 7); + this.ionDidOpen = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDidOpen", 7); + this.ionDidClose = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionDidClose", 7); + this.ionMenuChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionMenuChange", 7); + this.lastOnEnd = 0; + this.blocker = _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_5__["G"].createBlocker({ + disableScroll: true + }); + this.isAnimating = false; + this._isOpen = false; + this.isPaneVisible = false; + this.isEndSide = false; + /** + * If `true`, the menu is disabled. + */ + + this.disabled = false; + /** + * Which side of the view the menu should be placed. + */ + + this.side = 'start'; + /** + * If `true`, swiping the menu is enabled. + */ + + this.swipeGesture = true; + /** + * The edge threshold for dragging the menu open. + * If a drag/swipe happens over this value, the menu is not triggered. + */ + + this.maxEdgeStart = 50; + } + + _createClass(Menu, [{ + key: "typeChanged", + value: function typeChanged(type, oldType) { + var contentEl = this.contentEl; + + if (contentEl) { + if (oldType !== undefined) { + contentEl.classList.remove("menu-content-".concat(oldType)); + } + + contentEl.classList.add("menu-content-".concat(type)); + contentEl.removeAttribute('style'); + } + + if (this.menuInnerEl) { + // Remove effects of previous animations + this.menuInnerEl.removeAttribute('style'); + } + + this.animation = undefined; + } + }, { + key: "disabledChanged", + value: function disabledChanged() { + this.updateState(); + this.ionMenuChange.emit({ + disabled: this.disabled, + open: this._isOpen + }); + } + }, { + key: "sideChanged", + value: function sideChanged() { + this.isEndSide = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["l"])(this.side); + } + }, { + key: "swipeGestureChanged", + value: function swipeGestureChanged() { + this.updateState(); + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this = this; + + var el, parent, content; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this.type === undefined) { + this.type = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('menuType', 'overlay'); + } + + el = this.el; + parent = el.parentNode; + + if (this.contentId === undefined) { + console.warn("[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the \"contentId\" property instead:\nBEFORE:\n ...\n
...
\n\nAFTER:\n \n
...
\n"); + } + + content = this.contentId !== undefined ? document.getElementById(this.contentId) : parent && parent.querySelector && parent.querySelector('[main]'); + + if (!(!content || !content.tagName)) { + _context.next = 8; + break; + } + + // requires content element + console.error('Menu: must have a "content" element to listen for drag events on.'); + return _context.abrupt("return"); + + case 8: + this.contentEl = content; // add menu's content classes + + content.classList.add('menu-content'); + this.typeChanged(this.type, undefined); + this.sideChanged(); // register this menu with the app's menu controller + + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._register(this); + + _context.next = 15; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 15: + this.gesture = _context.sent.createGesture({ + el: document, + gestureName: 'menu-swipe', + gesturePriority: 30, + threshold: 10, + blurOnStart: true, + canStart: function canStart(ev) { + return _this.canStart(ev); + }, + onWillStart: function onWillStart() { + return _this.onWillStart(); + }, + onStart: function onStart() { + return _this.onStart(); + }, + onMove: function onMove(ev) { + return _this.onMove(ev); + }, + onEnd: function onEnd(ev) { + return _this.onEnd(ev); + } + }); + this.updateState(); + + case 17: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "componentDidLoad", + value: function () { + var _componentDidLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.ionMenuChange.emit({ + disabled: this.disabled, + open: this._isOpen + }); + this.updateState(); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function componentDidLoad() { + return _componentDidLoad.apply(this, arguments); + } + + return componentDidLoad; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.blocker.destroy(); + + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._unregister(this); + + if (this.animation) { + this.animation.destroy(); + } + + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + + this.animation = undefined; + this.contentEl = this.backdropEl = this.menuInnerEl = undefined; + } + }, { + key: "onSplitPaneChanged", + value: function onSplitPaneChanged(ev) { + this.isPaneVisible = ev.detail.isPane(this.el); + this.updateState(); + } + }, { + key: "onBackdropClick", + value: function onBackdropClick(ev) { + if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) { + var shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false; + + if (shouldClose) { + ev.preventDefault(); + ev.stopPropagation(); + this.close(); + } + } + } + /** + * Returns `true` is the menu is open. + */ + + }, { + key: "isOpen", + value: function isOpen() { + return Promise.resolve(this._isOpen); + } + /** + * Returns `true` is the menu is active. + * + * A menu is active when it can be opened or closed, meaning it's enabled + * and it's not part of a `ion-split-pane`. + */ + + }, { + key: "isActive", + value: function isActive() { + return Promise.resolve(this._isActive()); + } + /** + * Opens the menu. If the menu is already open or it can't be opened, + * it returns `false`. + */ + + }, { + key: "open", + value: function open() { + var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + return this.setOpen(true, animated); + } + /** + * Closes the menu. If the menu is already closed or it can't be closed, + * it returns `false`. + */ + + }, { + key: "close", + value: function close() { + var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + return this.setOpen(false, animated); + } + /** + * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. + * If the operation can't be completed successfully, it returns `false`. + */ + + }, { + key: "toggle", + value: function toggle() { + var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + return this.setOpen(!this._isOpen, animated); + } + /** + * Opens or closes the button. + * If the operation can't be completed successfully, it returns `false`. + */ + + }, { + key: "setOpen", + value: function setOpen(shouldOpen) { + var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._setOpen(this, shouldOpen, animated); + } + }, { + key: "_setOpen", + value: function () { + var _setOpen2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(shouldOpen) { + var animated, + _args3 = arguments; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + animated = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : true; + + if (!(!this._isActive() || this.isAnimating || shouldOpen === this._isOpen)) { + _context3.next = 3; + break; + } + + return _context3.abrupt("return", false); + + case 3: + this.beforeAnimation(shouldOpen); + _context3.next = 6; + return this.loadAnimation(); + + case 6: + _context3.next = 8; + return this.startAnimation(shouldOpen, animated); + + case 8: + this.afterAnimation(shouldOpen); + return _context3.abrupt("return", true); + + case 10: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function _setOpen(_x) { + return _setOpen2.apply(this, arguments); + } + + return _setOpen; + }() + }, { + key: "loadAnimation", + value: function () { + var _loadAnimation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { + var width; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + // Menu swipe animation takes the menu's inner width as parameter, + // If `offsetWidth` changes, we need to create a new animation. + width = this.menuInnerEl.offsetWidth; + + if (!(width === this.width && this.animation !== undefined)) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return"); + + case 3: + this.width = width; // Destroy existing animation + + if (this.animation) { + this.animation.destroy(); + this.animation = undefined; + } // Create new animation + + + _context4.next = 7; + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._createAnimation(this.type, this); + + case 7: + this.animation = _context4.sent; + + if (!_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true)) { + this.animation.duration(0); + } + + this.animation.fill('both'); + + case 10: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function loadAnimation() { + return _loadAnimation.apply(this, arguments); + } + + return loadAnimation; + }() + }, { + key: "startAnimation", + value: function () { + var _startAnimation = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(shouldOpen, animated) { + var isReversed, mode, easing, easingReverse, ani; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + isReversed = !shouldOpen; + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + easing = mode === 'ios' ? iosEasing : mdEasing; + easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse; + ani = this.animation.direction(isReversed ? 'reverse' : 'normal').easing(isReversed ? easingReverse : easing).onFinish(function () { + if (ani.getDirection() === 'reverse') { + ani.direction('normal'); + } + }); + + if (!animated) { + _context5.next = 10; + break; + } + + _context5.next = 8; + return ani.play(); + + case 8: + _context5.next = 11; + break; + + case 10: + ani.play({ + sync: true + }); + + case 11: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function startAnimation(_x2, _x3) { + return _startAnimation.apply(this, arguments); + } + + return startAnimation; + }() + }, { + key: "_isActive", + value: function _isActive() { + return !this.disabled && !this.isPaneVisible; + } + }, { + key: "canSwipe", + value: function canSwipe() { + return this.swipeGesture && !this.isAnimating && this._isActive(); + } + }, { + key: "canStart", + value: function canStart(detail) { + // Do not allow swipe gesture if a modal is open + var isModalPresented = !!document.querySelector('ion-modal.show-modal'); + + if (isModalPresented || !this.canSwipe()) { + return false; + } + + if (this._isOpen) { + return true; // TODO error + } else if (_index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._getOpenSync()) { + return false; + } + + return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart); + } + }, { + key: "onWillStart", + value: function onWillStart() { + this.beforeAnimation(!this._isOpen); + return this.loadAnimation(); + } + }, { + key: "onStart", + value: function onStart() { + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } // the cloned animation should not use an easing curve during seek + + + this.animation.progressStart(true, this._isOpen ? 1 : 0); + } + }, { + key: "onMove", + value: function onMove(detail) { + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } + + var delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide); + var stepValue = delta / this.width; + this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue); + } + }, { + key: "onEnd", + value: function onEnd(detail) { + var _this2 = this; + + if (!this.isAnimating || !this.animation) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(false, 'isAnimating has to be true'); + return; + } + + var isOpen = this._isOpen; + var isEndSide = this.isEndSide; + var delta = computeDelta(detail.deltaX, isOpen, isEndSide); + var width = this.width; + var stepValue = delta / width; + var velocity = detail.velocityX; + var z = width / 2.0; + var shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z); + var shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z); + var shouldComplete = isOpen ? isEndSide ? shouldCompleteRight : shouldCompleteLeft : isEndSide ? shouldCompleteLeft : shouldCompleteRight; + var shouldOpen = !isOpen && shouldComplete; + + if (isOpen && !shouldComplete) { + shouldOpen = true; + } + + this.lastOnEnd = detail.currentTime; // Account for rounding errors in JS + + var newStepValue = shouldComplete ? 0.001 : -0.001; + /** + * TODO: stepValue can sometimes return a negative + * value, but you can't have a negative time value + * for the cubic bezier curve (at least with web animations) + * Not sure if the negative step value is an error or not + */ + + var adjustedStepValue = stepValue < 0 ? 0.01 : stepValue; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.4, 0], [0.6, 1], [1, 1], Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, adjustedStepValue, 0.9999))[0] || 0; + var playTo = this._isOpen ? !shouldComplete : shouldComplete; + this.animation.easing('cubic-bezier(0.4, 0.0, 0.6, 1)').onFinish(function () { + return _this2.afterAnimation(shouldOpen); + }, { + oneTimeCallback: true + }).progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300); + } + }, { + key: "beforeAnimation", + value: function beforeAnimation(shouldOpen) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!this.isAnimating, '_before() should not be called while animating'); // this places the menu into the correct location before it animates in + // this css class doesn't actually kick off any animations + + this.el.classList.add(SHOW_MENU); + + if (this.backdropEl) { + this.backdropEl.classList.add(SHOW_BACKDROP); + } + + this.blocker.block(); + this.isAnimating = true; + + if (shouldOpen) { + this.ionWillOpen.emit(); + } else { + this.ionWillClose.emit(); + } + } + }, { + key: "afterAnimation", + value: function afterAnimation(isOpen) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this.isAnimating, '_before() should be called while animating'); // keep opening/closing the menu disabled for a touch more yet + // only add listeners/css if it's enabled and isOpen + // and only remove listeners/css if it's not open + // emit opened/closed events + + this._isOpen = isOpen; + this.isAnimating = false; + + if (!this._isOpen) { + this.blocker.unblock(); + } + + if (isOpen) { + // add css class + if (this.contentEl) { + this.contentEl.classList.add(MENU_CONTENT_OPEN); + } // emit open event + + + this.ionDidOpen.emit(); + } else { + // remove css classes + this.el.classList.remove(SHOW_MENU); + + if (this.contentEl) { + this.contentEl.classList.remove(MENU_CONTENT_OPEN); + } + + if (this.backdropEl) { + this.backdropEl.classList.remove(SHOW_BACKDROP); + } + + if (this.animation) { + this.animation.stop(); + } // emit close event + + + this.ionDidClose.emit(); + } + } + }, { + key: "updateState", + value: function updateState() { + var isActive = this._isActive(); + + if (this.gesture) { + this.gesture.enable(isActive && this.swipeGesture); + } // Close menu immediately + + + if (!isActive && this._isOpen) { + // close if this menu is open, and should not be enabled + this.forceClosing(); + } + + if (!this.disabled) { + _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"]._setActiveMenu(this); + } + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!this.isAnimating, 'can not be animating'); + } + }, { + key: "forceClosing", + value: function forceClosing() { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this._isOpen, 'menu cannot be closed'); + this.isAnimating = true; + var ani = this.animation.direction('reverse'); + ani.play({ + sync: true + }); + this.afterAnimation(false); + } + }, { + key: "render", + value: function render() { + var _class, + _this3 = this; + + var isEndSide = this.isEndSide, + type = this.type, + disabled = this.disabled, + isPaneVisible = this.isPaneVisible; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "navigation", + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "menu-type-".concat(type), true), _defineProperty(_class, 'menu-enabled', !disabled), _defineProperty(_class, 'menu-side-end', isEndSide), _defineProperty(_class, 'menu-side-start', !isEndSide), _defineProperty(_class, 'menu-pane-visible', isPaneVisible), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "menu-inner", + part: "container", + ref: function ref(el) { + return _this3.menuInnerEl = el; + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + ref: function ref(el) { + return _this3.backdropEl = el; + }, + "class": "menu-backdrop", + tappable: false, + stopPropagation: false, + part: "backdrop" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "type": ["typeChanged"], + "disabled": ["disabledChanged"], + "side": ["sideChanged"], + "swipeGesture": ["swipeGestureChanged"] + }; + } + }]); + + return Menu; + }(); + + var computeDelta = function computeDelta(deltaX, isOpen, isEndSide) { + return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX); + }; + + var checkEdgeSide = function checkEdgeSide(win, posX, isEndSide, maxEdgeStart) { + if (isEndSide) { + return posX >= win.innerWidth - maxEdgeStart; + } else { + return posX <= maxEdgeStart; + } + }; + + var SHOW_MENU = 'show-menu'; + var SHOW_BACKDROP = 'show-backdrop'; + var MENU_CONTENT_OPEN = 'menu-content-open'; + Menu.style = { + ios: menuIosCss, + md: menuMdCss + }; // Given a menu, return whether or not the menu toggle should be visible + + var updateVisibility = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(menu) { + var menuEl; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].get(menu); + + case 2: + menuEl = _context6.sent; + _context6.t0 = menuEl; + + if (!_context6.t0) { + _context6.next = 8; + break; + } + + _context6.next = 7; + return menuEl.isActive(); + + case 7: + _context6.t0 = _context6.sent; + + case 8: + return _context6.abrupt("return", !!_context6.t0); + + case 9: + case "end": + return _context6.stop(); + } + } + }, _callee6); + })); + + return function updateVisibility(_x4) { + return _ref.apply(this, arguments); + }; + }(); + + var menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}"; + var menuButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}"; + + var MenuButton = /*#__PURE__*/function () { + function MenuButton(hostRef) { + var _this4 = this; + + _classCallCheck(this, MenuButton); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.visible = false; + /** + * If `true`, the user cannot interact with the menu button. + */ + + this.disabled = false; + /** + * Automatically hides the menu button when the corresponding menu is not active + */ + + this.autoHide = true; + /** + * The type of the button. + */ + + this.type = 'button'; + this.onClick = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + return _context7.abrupt("return", _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].toggle(_this4.menu)); + + case 1: + case "end": + return _context7.stop(); + } + } + }, _callee7); + })); + } + + _createClass(MenuButton, [{ + key: "componentDidLoad", + value: function componentDidLoad() { + this.visibilityChanged(); + } + }, { + key: "visibilityChanged", + value: function () { + var _visibilityChanged = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() { + return regeneratorRuntime.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return updateVisibility(this.menu); + + case 2: + this.visible = _context8.sent; + + case 3: + case "end": + return _context8.stop(); + } + } + }, _callee8, this); + })); + + function visibilityChanged() { + return _visibilityChanged.apply(this, arguments); + } + + return visibilityChanged; + }() + }, { + key: "render", + value: function render() { + var _Object; + + var color = this.color, + disabled = this.disabled; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + var menuIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('menuIcon', mode === 'ios' ? 'menu-outline' : 'menu-sharp'); + + var hidden = this.autoHide && !this.visible; + var attrs = { + type: this.type + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "aria-disabled": disabled ? 'true' : null, + "aria-hidden": hidden ? 'true' : null, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["c"])(color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'button', true), _defineProperty(_Object, 'menu-button-hidden', hidden), _defineProperty(_Object, 'menu-button-disabled', disabled), _defineProperty(_Object, 'in-toolbar', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["h"])('ion-toolbar', this.el)), _defineProperty(_Object, 'in-toolbar-color', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_8__["h"])('ion-toolbar[color]', this.el)), _defineProperty(_Object, 'ion-activatable', true), _defineProperty(_Object, 'ion-focusable', true), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", Object.assign({}, attrs, { + disabled: disabled, + "class": "button-native", + part: "native", + "aria-label": "menu" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + part: "icon", + icon: menuIcon, + mode: mode, + lazy: false, + "aria-hidden": "true" + }))), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", { + type: "unbounded" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return MenuButton; + }(); + + MenuButton.style = { + ios: menuButtonIosCss, + md: menuButtonMdCss + }; + var menuToggleCss = ":host(.menu-toggle-hidden){display:none}"; + + var MenuToggle = /*#__PURE__*/function () { + function MenuToggle(hostRef) { + var _this5 = this; + + _classCallCheck(this, MenuToggle); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.visible = false; + /** + * Automatically hides the content when the corresponding menu is not active. + * + * By default, it's `true`. Change it to `false` in order to + * keep `ion-menu-toggle` always visible regardless the state of the menu. + */ + + this.autoHide = true; + + this.onClick = function () { + return _index_3a75d1af_js__WEBPACK_IMPORTED_MODULE_7__["m"].toggle(_this5.menu); + }; + } + + _createClass(MenuToggle, [{ + key: "connectedCallback", + value: function connectedCallback() { + this.visibilityChanged(); + } + }, { + key: "visibilityChanged", + value: function () { + var _visibilityChanged2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() { + return regeneratorRuntime.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _context9.next = 2; + return updateVisibility(this.menu); + + case 2: + this.visible = _context9.sent; + + case 3: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function visibilityChanged() { + return _visibilityChanged2.apply(this, arguments); + } + + return visibilityChanged; + }() + }, { + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var hidden = this.autoHide && !this.visible; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "aria-hidden": hidden ? 'true' : null, + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'menu-toggle-hidden', hidden), _class2) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return MenuToggle; + }(); + + MenuToggle.style = menuToggleCss; + /***/ + } +}]); +//# sourceMappingURL=19-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/19-es5.js.map b/android/app/src/main/assets/public/19-es5.js.map new file mode 100644 index 000000000..b07f77eb8 --- /dev/null +++ b/android/app/src/main/assets/public/19-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js"],"names":["menuIosCss","menuMdCss","iosEasing","mdEasing","iosEasingReverse","mdEasingReverse","Menu","hostRef","ionWillOpen","ionWillClose","ionDidOpen","ionDidClose","ionMenuChange","lastOnEnd","blocker","createBlocker","disableScroll","isAnimating","_isOpen","isPaneVisible","isEndSide","disabled","side","swipeGesture","maxEdgeStart","type","oldType","contentEl","undefined","classList","remove","add","removeAttribute","menuInnerEl","animation","updateState","emit","open","get","el","parent","parentNode","contentId","console","warn","content","document","getElementById","querySelector","tagName","error","typeChanged","sideChanged","_register","gesture","createGesture","gestureName","gesturePriority","threshold","blurOnStart","canStart","ev","onWillStart","onStart","onMove","onEnd","destroy","_unregister","backdropEl","detail","isPane","timeStamp","shouldClose","composedPath","includes","preventDefault","stopPropagation","close","Promise","resolve","_isActive","animated","setOpen","shouldOpen","_setOpen","beforeAnimation","loadAnimation","startAnimation","afterAnimation","width","offsetWidth","_createAnimation","getBoolean","duration","fill","isReversed","mode","easing","easingReverse","ani","direction","onFinish","getDirection","play","sync","isModalPresented","canSwipe","_getOpenSync","checkEdgeSide","window","currentX","progressStart","delta","computeDelta","deltaX","stepValue","progressStep","isOpen","velocity","velocityX","z","shouldCompleteRight","shouldCompleteLeft","shouldComplete","currentTime","newStepValue","adjustedStepValue","playTo","oneTimeCallback","progressEnd","SHOW_MENU","SHOW_BACKDROP","block","unblock","MENU_CONTENT_OPEN","stop","isActive","enable","forceClosing","_setActiveMenu","role","part","ref","tappable","Math","max","win","posX","innerWidth","style","ios","md","updateVisibility","menu","menuEl","menuButtonIosCss","menuButtonMdCss","MenuButton","visible","autoHide","onClick","toggle","visibilityChanged","color","menuIcon","hidden","attrs","Object","assign","icon","lazy","menuToggleCss","MenuToggle"],"mappings":"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","file":"19-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { l as isEndSide, k as assert, h as clamp } from './helpers-90f46169.js';\nimport './animation-54fe0237.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { G as GESTURE_CONTROLLER } from './gesture-controller-31cb6bb9.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { m as menuController } from './index-3a75d1af.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst menuIosCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}\";\n\nconst menuMdCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translate3d(-9999px, 0, 0);transform:translate3d(-9999px, 0, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{-webkit-transform:translate3d(calc(-1 * -9999px), 0, 0);transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}\";\n\nconst iosEasing = 'cubic-bezier(0.32,0.72,0,1)';\nconst mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';\nconst iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';\nconst mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';\nconst Menu = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionWillOpen = createEvent(this, \"ionWillOpen\", 7);\n this.ionWillClose = createEvent(this, \"ionWillClose\", 7);\n this.ionDidOpen = createEvent(this, \"ionDidOpen\", 7);\n this.ionDidClose = createEvent(this, \"ionDidClose\", 7);\n this.ionMenuChange = createEvent(this, \"ionMenuChange\", 7);\n this.lastOnEnd = 0;\n this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });\n this.isAnimating = false;\n this._isOpen = false;\n this.isPaneVisible = false;\n this.isEndSide = false;\n /**\n * If `true`, the menu is disabled.\n */\n this.disabled = false;\n /**\n * Which side of the view the menu should be placed.\n */\n this.side = 'start';\n /**\n * If `true`, swiping the menu is enabled.\n */\n this.swipeGesture = true;\n /**\n * The edge threshold for dragging the menu open.\n * If a drag/swipe happens over this value, the menu is not triggered.\n */\n this.maxEdgeStart = 50;\n }\n typeChanged(type, oldType) {\n const contentEl = this.contentEl;\n if (contentEl) {\n if (oldType !== undefined) {\n contentEl.classList.remove(`menu-content-${oldType}`);\n }\n contentEl.classList.add(`menu-content-${type}`);\n contentEl.removeAttribute('style');\n }\n if (this.menuInnerEl) {\n // Remove effects of previous animations\n this.menuInnerEl.removeAttribute('style');\n }\n this.animation = undefined;\n }\n disabledChanged() {\n this.updateState();\n this.ionMenuChange.emit({\n disabled: this.disabled,\n open: this._isOpen\n });\n }\n sideChanged() {\n this.isEndSide = isEndSide(this.side);\n }\n swipeGestureChanged() {\n this.updateState();\n }\n async connectedCallback() {\n if (this.type === undefined) {\n this.type = config.get('menuType', 'overlay');\n }\n const el = this.el;\n const parent = el.parentNode;\n if (this.contentId === undefined) {\n console.warn(`[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the \"contentId\" property instead:\nBEFORE:\n ...\n
...
\n\nAFTER:\n \n
...
\n`);\n }\n const content = this.contentId !== undefined\n ? document.getElementById(this.contentId)\n : parent && parent.querySelector && parent.querySelector('[main]');\n if (!content || !content.tagName) {\n // requires content element\n console.error('Menu: must have a \"content\" element to listen for drag events on.');\n return;\n }\n this.contentEl = content;\n // add menu's content classes\n content.classList.add('menu-content');\n this.typeChanged(this.type, undefined);\n this.sideChanged();\n // register this menu with the app's menu controller\n menuController._register(this);\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: document,\n gestureName: 'menu-swipe',\n gesturePriority: 30,\n threshold: 10,\n blurOnStart: true,\n canStart: ev => this.canStart(ev),\n onWillStart: () => this.onWillStart(),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.updateState();\n }\n async componentDidLoad() {\n this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });\n this.updateState();\n }\n disconnectedCallback() {\n this.blocker.destroy();\n menuController._unregister(this);\n if (this.animation) {\n this.animation.destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.animation = undefined;\n this.contentEl = this.backdropEl = this.menuInnerEl = undefined;\n }\n onSplitPaneChanged(ev) {\n this.isPaneVisible = ev.detail.isPane(this.el);\n this.updateState();\n }\n onBackdropClick(ev) {\n if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {\n const shouldClose = (ev.composedPath)\n ? !ev.composedPath().includes(this.menuInnerEl)\n : false;\n if (shouldClose) {\n ev.preventDefault();\n ev.stopPropagation();\n this.close();\n }\n }\n }\n /**\n * Returns `true` is the menu is open.\n */\n isOpen() {\n return Promise.resolve(this._isOpen);\n }\n /**\n * Returns `true` is the menu is active.\n *\n * A menu is active when it can be opened or closed, meaning it's enabled\n * and it's not part of a `ion-split-pane`.\n */\n isActive() {\n return Promise.resolve(this._isActive());\n }\n /**\n * Opens the menu. If the menu is already open or it can't be opened,\n * it returns `false`.\n */\n open(animated = true) {\n return this.setOpen(true, animated);\n }\n /**\n * Closes the menu. If the menu is already closed or it can't be closed,\n * it returns `false`.\n */\n close(animated = true) {\n return this.setOpen(false, animated);\n }\n /**\n * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.\n * If the operation can't be completed successfully, it returns `false`.\n */\n toggle(animated = true) {\n return this.setOpen(!this._isOpen, animated);\n }\n /**\n * Opens or closes the button.\n * If the operation can't be completed successfully, it returns `false`.\n */\n setOpen(shouldOpen, animated = true) {\n return menuController._setOpen(this, shouldOpen, animated);\n }\n async _setOpen(shouldOpen, animated = true) {\n // If the menu is disabled or it is currently being animated, let's do nothing\n if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {\n return false;\n }\n this.beforeAnimation(shouldOpen);\n await this.loadAnimation();\n await this.startAnimation(shouldOpen, animated);\n this.afterAnimation(shouldOpen);\n return true;\n }\n async loadAnimation() {\n // Menu swipe animation takes the menu's inner width as parameter,\n // If `offsetWidth` changes, we need to create a new animation.\n const width = this.menuInnerEl.offsetWidth;\n if (width === this.width && this.animation !== undefined) {\n return;\n }\n this.width = width;\n // Destroy existing animation\n if (this.animation) {\n this.animation.destroy();\n this.animation = undefined;\n }\n // Create new animation\n this.animation = await menuController._createAnimation(this.type, this);\n if (!config.getBoolean('animated', true)) {\n this.animation.duration(0);\n }\n this.animation.fill('both');\n }\n async startAnimation(shouldOpen, animated) {\n const isReversed = !shouldOpen;\n const mode = getIonMode(this);\n const easing = mode === 'ios' ? iosEasing : mdEasing;\n const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;\n const ani = this.animation\n .direction((isReversed) ? 'reverse' : 'normal')\n .easing((isReversed) ? easingReverse : easing)\n .onFinish(() => {\n if (ani.getDirection() === 'reverse') {\n ani.direction('normal');\n }\n });\n if (animated) {\n await ani.play();\n }\n else {\n ani.play({ sync: true });\n }\n }\n _isActive() {\n return !this.disabled && !this.isPaneVisible;\n }\n canSwipe() {\n return this.swipeGesture && !this.isAnimating && this._isActive();\n }\n canStart(detail) {\n // Do not allow swipe gesture if a modal is open\n const isModalPresented = !!document.querySelector('ion-modal.show-modal');\n if (isModalPresented || !this.canSwipe()) {\n return false;\n }\n if (this._isOpen) {\n return true;\n // TODO error\n }\n else if (menuController._getOpenSync()) {\n return false;\n }\n return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);\n }\n onWillStart() {\n this.beforeAnimation(!this._isOpen);\n return this.loadAnimation();\n }\n onStart() {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n // the cloned animation should not use an easing curve during seek\n this.animation.progressStart(true, (this._isOpen) ? 1 : 0);\n }\n onMove(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);\n const stepValue = delta / this.width;\n this.animation.progressStep((this._isOpen) ? 1 - stepValue : stepValue);\n }\n onEnd(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const isOpen = this._isOpen;\n const isEndSide = this.isEndSide;\n const delta = computeDelta(detail.deltaX, isOpen, isEndSide);\n const width = this.width;\n const stepValue = delta / width;\n const velocity = detail.velocityX;\n const z = width / 2.0;\n const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);\n const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);\n const shouldComplete = isOpen\n ? isEndSide ? shouldCompleteRight : shouldCompleteLeft\n : isEndSide ? shouldCompleteLeft : shouldCompleteRight;\n let shouldOpen = !isOpen && shouldComplete;\n if (isOpen && !shouldComplete) {\n shouldOpen = true;\n }\n this.lastOnEnd = detail.currentTime;\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? 0.001 : -0.001;\n /**\n * TODO: stepValue can sometimes return a negative\n * value, but you can't have a negative time value\n * for the cubic bezier curve (at least with web animations)\n * Not sure if the negative step value is an error or not\n */\n const adjustedStepValue = (stepValue < 0) ? 0.01 : stepValue;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n newStepValue += getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;\n const playTo = (this._isOpen) ? !shouldComplete : shouldComplete;\n this.animation\n .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')\n .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })\n .progressEnd((playTo) ? 1 : 0, (this._isOpen) ? 1 - newStepValue : newStepValue, 300);\n }\n beforeAnimation(shouldOpen) {\n assert(!this.isAnimating, '_before() should not be called while animating');\n // this places the menu into the correct location before it animates in\n // this css class doesn't actually kick off any animations\n this.el.classList.add(SHOW_MENU);\n if (this.backdropEl) {\n this.backdropEl.classList.add(SHOW_BACKDROP);\n }\n this.blocker.block();\n this.isAnimating = true;\n if (shouldOpen) {\n this.ionWillOpen.emit();\n }\n else {\n this.ionWillClose.emit();\n }\n }\n afterAnimation(isOpen) {\n assert(this.isAnimating, '_before() should be called while animating');\n // keep opening/closing the menu disabled for a touch more yet\n // only add listeners/css if it's enabled and isOpen\n // and only remove listeners/css if it's not open\n // emit opened/closed events\n this._isOpen = isOpen;\n this.isAnimating = false;\n if (!this._isOpen) {\n this.blocker.unblock();\n }\n if (isOpen) {\n // add css class\n if (this.contentEl) {\n this.contentEl.classList.add(MENU_CONTENT_OPEN);\n }\n // emit open event\n this.ionDidOpen.emit();\n }\n else {\n // remove css classes\n this.el.classList.remove(SHOW_MENU);\n if (this.contentEl) {\n this.contentEl.classList.remove(MENU_CONTENT_OPEN);\n }\n if (this.backdropEl) {\n this.backdropEl.classList.remove(SHOW_BACKDROP);\n }\n if (this.animation) {\n this.animation.stop();\n }\n // emit close event\n this.ionDidClose.emit();\n }\n }\n updateState() {\n const isActive = this._isActive();\n if (this.gesture) {\n this.gesture.enable(isActive && this.swipeGesture);\n }\n // Close menu immediately\n if (!isActive && this._isOpen) {\n // close if this menu is open, and should not be enabled\n this.forceClosing();\n }\n if (!this.disabled) {\n menuController._setActiveMenu(this);\n }\n assert(!this.isAnimating, 'can not be animating');\n }\n forceClosing() {\n assert(this._isOpen, 'menu cannot be closed');\n this.isAnimating = true;\n const ani = this.animation.direction('reverse');\n ani.play({ sync: true });\n this.afterAnimation(false);\n }\n render() {\n const { isEndSide, type, disabled, isPaneVisible } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"navigation\", class: {\n [mode]: true,\n [`menu-type-${type}`]: true,\n 'menu-enabled': !disabled,\n 'menu-side-end': isEndSide,\n 'menu-side-start': !isEndSide,\n 'menu-pane-visible': isPaneVisible\n } }, h(\"div\", { class: \"menu-inner\", part: \"container\", ref: el => this.menuInnerEl = el }, h(\"slot\", null)), h(\"ion-backdrop\", { ref: el => this.backdropEl = el, class: \"menu-backdrop\", tappable: false, stopPropagation: false, part: \"backdrop\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"type\": [\"typeChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"side\": [\"sideChanged\"],\n \"swipeGesture\": [\"swipeGestureChanged\"]\n }; }\n};\nconst computeDelta = (deltaX, isOpen, isEndSide) => {\n return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);\n};\nconst checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {\n if (isEndSide) {\n return posX >= win.innerWidth - maxEdgeStart;\n }\n else {\n return posX <= maxEdgeStart;\n }\n};\nconst SHOW_MENU = 'show-menu';\nconst SHOW_BACKDROP = 'show-backdrop';\nconst MENU_CONTENT_OPEN = 'menu-content-open';\nMenu.style = {\n ios: menuIosCss,\n md: menuMdCss\n};\n\n// Given a menu, return whether or not the menu toggle should be visible\nconst updateVisibility = async (menu) => {\n const menuEl = await menuController.get(menu);\n return !!(menuEl && await menuEl.isActive());\n};\n\nconst menuButtonIosCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}\";\n\nconst menuButtonMdCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}\";\n\nconst MenuButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * If `true`, the user cannot interact with the menu button.\n */\n this.disabled = false;\n /**\n * Automatically hides the menu button when the corresponding menu is not active\n */\n this.autoHide = true;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = async () => {\n return menuController.toggle(this.menu);\n };\n }\n componentDidLoad() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const { color, disabled } = this;\n const mode = getIonMode(this);\n const menuIcon = config.get('menuIcon', mode === 'ios' ? 'menu-outline' : 'menu-sharp');\n const hidden = this.autoHide && !this.visible;\n const attrs = {\n type: this.type\n };\n return (h(Host, { onClick: this.onClick, \"aria-disabled\": disabled ? 'true' : null, \"aria-hidden\": hidden ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'button': true,\n 'menu-button-hidden': hidden,\n 'menu-button-disabled': disabled,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'ion-activatable': true,\n 'ion-focusable': true\n }) }, h(\"button\", Object.assign({}, attrs, { disabled: disabled, class: \"button-native\", part: \"native\", \"aria-label\": \"menu\" }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null, h(\"ion-icon\", { part: \"icon\", icon: menuIcon, mode: mode, lazy: false, \"aria-hidden\": \"true\" }))), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nMenuButton.style = {\n ios: menuButtonIosCss,\n md: menuButtonMdCss\n};\n\nconst menuToggleCss = \":host(.menu-toggle-hidden){display:none}\";\n\nconst MenuToggle = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * Automatically hides the content when the corresponding menu is not active.\n *\n * By default, it's `true`. Change it to `false` in order to\n * keep `ion-menu-toggle` always visible regardless the state of the menu.\n */\n this.autoHide = true;\n this.onClick = () => {\n return menuController.toggle(this.menu);\n };\n }\n connectedCallback() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const mode = getIonMode(this);\n const hidden = this.autoHide && !this.visible;\n return (h(Host, { onClick: this.onClick, \"aria-hidden\": hidden ? 'true' : null, class: {\n [mode]: true,\n 'menu-toggle-hidden': hidden,\n } }, h(\"slot\", null)));\n }\n};\nMenuToggle.style = menuToggleCss;\n\nexport { Menu as ion_menu, MenuButton as ion_menu_button, MenuToggle as ion_menu_toggle };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/2-es2015.js b/android/app/src/main/assets/public/2-es2015.js new file mode 100644 index 000000000..7d5fe4aea --- /dev/null +++ b/android/app/src/main/assets/public/2-es2015.js @@ -0,0 +1,975 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[2],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_app, ion_buttons, ion_content, ion_footer, ion_header, ion_router_outlet, ion_title, ion_toolbar */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_app", function() { return App; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_buttons", function() { return Buttons; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_content", function() { return Content; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_footer", function() { return Footer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_header", function() { return Header; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_router_outlet", function() { return RouterOutlet; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_title", function() { return ToolbarTitle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_toolbar", function() { return Toolbar; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index-d8cfb4a8.js */ "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); +/* harmony import */ var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubic-bezier-eea9a7a9.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); +/* harmony import */ var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./framework-delegate-4584ab5a.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + + + + + + + +const appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}"; + +const App = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + componentDidLoad() { + { + rIC(async () => { + const isHybrid = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'hybrid'); + if (!_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing')) { + __webpack_require__.e(/*! import() | tap-click-71d2324a-js */ "tap-click-71d2324a-js").then(__webpack_require__.bind(null, /*! ./tap-click-71d2324a.js */ "./node_modules/@ionic/core/dist/esm/tap-click-71d2324a.js")).then(module => module.startTapClick(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"])); + } + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('statusTap', isHybrid)) { + __webpack_require__.e(/*! import() | status-tap-b46a1b02-js */ "status-tap-b46a1b02-js").then(__webpack_require__.bind(null, /*! ./status-tap-b46a1b02.js */ "./node_modules/@ionic/core/dist/esm/status-tap-b46a1b02.js")).then(module => module.startStatusTap()); + } + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('inputShims', needInputShims())) { + __webpack_require__.e(/*! import() | input-shims-7a52f98d-js */ "input-shims-7a52f98d-js").then(__webpack_require__.bind(null, /*! ./input-shims-7a52f98d.js */ "./node_modules/@ionic/core/dist/esm/input-shims-7a52f98d.js")).then(module => module.startInputShims(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"])); + } + const hardwareBackButtonModule = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js")); + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('hardwareBackButton', isHybrid)) { + hardwareBackButtonModule.startHardwareBackButton(); + } + else { + hardwareBackButtonModule.blockHardwareBackButton(); + } + if (typeof window !== 'undefined') { + __webpack_require__.e(/*! import() | keyboard-5742b5da-js */ "keyboard-5742b5da-js").then(__webpack_require__.bind(null, /*! ./keyboard-5742b5da.js */ "./node_modules/@ionic/core/dist/esm/keyboard-5742b5da.js")).then(module => module.startKeyboardAssist(window)); + } + __webpack_require__.e(/*! import() | focus-visible-f4ad4f1a-js */ "focus-visible-f4ad4f1a-js").then(__webpack_require__.bind(null, /*! ./focus-visible-f4ad4f1a.js */ "./node_modules/@ionic/core/dist/esm/focus-visible-f4ad4f1a.js")).then(module => module.startFocusVisible()); + }); + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'ion-page': true, + 'force-statusbar-padding': _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_forceStatusbarPadding'), + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const needInputShims = () => { + return Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'ios') && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'mobile'); +}; +const rIC = (callback) => { + if ('requestIdleCallback' in window) { + window.requestIdleCallback(callback); + } + else { + setTimeout(callback, 32); + } +}; +App.style = appCss; + +const buttonsIosCss = ".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}"; + +const buttonsMdCss = ".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}"; + +const Buttons = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If true, buttons will disappear when its + * parent toolbar has fully collapsed if the toolbar + * is not the first toolbar. If the toolbar is the + * first toolbar, the buttons will be hidden and will + * only be shown once all toolbars have fully collapsed. + * + * Only applies in `ios` mode with `collapse` set to + * `true` on `ion-header`. + * + * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles) + */ + this.collapse = false; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + ['buttons-collapse']: this.collapse + } })); + } +}; +Buttons.style = { + ios: buttonsIosCss, + md: buttonsMdCss +}; + +const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{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)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}"; + +const Content = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionScrollStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollStart", 7); + this.ionScroll = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScroll", 7); + this.ionScrollEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollEnd", 7); + this.isScrolling = false; + this.lastScroll = 0; + this.queued = false; + this.cTop = -1; + this.cBottom = -1; + // Detail is used in a hot loop in the scroll event, by allocating it here + // V8 will be able to inline any read/write to it since it's a monomorphic class. + // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html + this.detail = { + scrollTop: 0, + scrollLeft: 0, + type: 'scroll', + event: undefined, + startX: 0, + startY: 0, + startTime: 0, + currentX: 0, + currentY: 0, + velocityX: 0, + velocityY: 0, + deltaX: 0, + deltaY: 0, + currentTime: 0, + data: undefined, + isScrolling: true, + }; + /** + * If `true`, the content will scroll behind the headers + * and footers. This effect can easily be seen by setting the toolbar + * to transparent. + */ + this.fullscreen = false; + /** + * If you want to enable the content scrolling in the X axis, set this property to `true`. + */ + this.scrollX = false; + /** + * If you want to disable the content scrolling in the Y axis, set this property to `false`. + */ + this.scrollY = true; + /** + * Because of performance reasons, ionScroll events are disabled by default, in order to enable them + * and start listening from (ionScroll), set this property to `true`. + */ + this.scrollEvents = false; + } + disconnectedCallback() { + this.onScrollEnd(); + } + onAppLoad() { + this.resize(); + } + onClick(ev) { + if (this.isScrolling) { + ev.preventDefault(); + ev.stopPropagation(); + } + } + shouldForceOverscroll() { + const { forceOverscroll } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return forceOverscroll === undefined + ? mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('ios') + : forceOverscroll; + } + resize() { + if (this.fullscreen) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => this.readDimensions()); + } + else if (this.cTop !== 0 || this.cBottom !== 0) { + this.cTop = this.cBottom = 0; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + readDimensions() { + const page = getPageElement(this.el); + const top = Math.max(this.el.offsetTop, 0); + const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0); + const dirty = top !== this.cTop || bottom !== this.cBottom; + if (dirty) { + this.cTop = top; + this.cBottom = bottom; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + onScroll(ev) { + const timeStamp = Date.now(); + const shouldStart = !this.isScrolling; + this.lastScroll = timeStamp; + if (shouldStart) { + this.onScrollStart(); + } + if (!this.queued && this.scrollEvents) { + this.queued = true; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(ts => { + this.queued = false; + this.detail.event = ev; + updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart); + this.ionScroll.emit(this.detail); + }); + } + } + /** + * Get the element where the actual scrolling takes place. + * This element can be used to subscribe to `scroll` events or manually modify + * `scrollTop`. However, it's recommended to use the API provided by `ion-content`: + * + * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events + * and `scrollToPoint()` to scroll the content into a certain point. + */ + getScrollElement() { + return Promise.resolve(this.scrollEl); + } + /** + * Scroll to the top of the component. + * + * @param duration The amount of time to take scrolling to the top. Defaults to `0`. + */ + scrollToTop(duration = 0) { + return this.scrollToPoint(undefined, 0, duration); + } + /** + * Scroll to the bottom of the component. + * + * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`. + */ + scrollToBottom(duration = 0) { + const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight; + return this.scrollToPoint(undefined, y, duration); + } + /** + * Scroll by a specified X/Y distance in the component. + * + * @param x The amount to scroll by on the horizontal axis. + * @param y The amount to scroll by on the vertical axis. + * @param duration The amount of time to take scrolling by that amount. + */ + scrollByPoint(x, y, duration) { + return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration); + } + /** + * Scroll to a specified X/Y location in the component. + * + * @param x The point to scroll to on the horizontal axis. + * @param y The point to scroll to on the vertical axis. + * @param duration The amount of time to take scrolling to that point. Defaults to `0`. + */ + async scrollToPoint(x, y, duration = 0) { + const el = this.scrollEl; + if (duration < 32) { + if (y != null) { + el.scrollTop = y; + } + if (x != null) { + el.scrollLeft = x; + } + return; + } + let resolve; + let startTime = 0; + const promise = new Promise(r => resolve = r); + const fromY = el.scrollTop; + const fromX = el.scrollLeft; + const deltaY = y != null ? y - fromY : 0; + const deltaX = x != null ? x - fromX : 0; + // scroll loop + const step = (timeStamp) => { + const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1; + const easedT = Math.pow(linearTime, 3) + 1; + if (deltaY !== 0) { + el.scrollTop = Math.floor((easedT * deltaY) + fromY); + } + if (deltaX !== 0) { + el.scrollLeft = Math.floor((easedT * deltaX) + fromX); + } + if (easedT < 1) { + // do not use DomController here + // must use nativeRaf in order to fire in the next frame + // TODO: remove as any + requestAnimationFrame(step); + } + else { + resolve(); + } + }; + // chill out for a frame first + requestAnimationFrame(ts => { + startTime = ts; + step(ts); + }); + return promise; + } + onScrollStart() { + this.isScrolling = true; + this.ionScrollStart.emit({ + isScrolling: true + }); + if (this.watchDog) { + clearInterval(this.watchDog); + } + // watchdog + this.watchDog = setInterval(() => { + if (this.lastScroll < Date.now() - 120) { + this.onScrollEnd(); + } + }, 100); + } + onScrollEnd() { + clearInterval(this.watchDog); + this.watchDog = null; + if (this.isScrolling) { + this.isScrolling = false; + this.ionScrollEnd.emit({ + isScrolling: false + }); + } + } + render() { + const { scrollX, scrollY } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const forceOverscroll = this.shouldForceOverscroll(); + const transitionShadow = (mode === 'ios' && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('experimentalTransitionShadow', true)); + this.resize(); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, { + [mode]: true, + 'content-sizing': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-popover', this.el), + 'overscroll': forceOverscroll, + }), style: { + '--offset-top': `${this.cTop}px`, + '--offset-bottom': `${this.cBottom}px`, + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { id: "background-content", part: "background" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("main", { class: { + 'inner-scroll': true, + 'scroll-x': scrollX, + 'scroll-y': scrollY, + 'overscroll': (scrollX || scrollY) && forceOverscroll + }, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: "scroll" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), transitionShadow ? (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-effect" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-cover" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "transition-shadow" }))) : null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "fixed" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const getParentElement = (el) => { + if (el.parentElement) { + // normal element with a parent element + return el.parentElement; + } + if (el.parentNode && el.parentNode.host) { + // shadow dom's document fragment + return el.parentNode.host; + } + return null; +}; +const getPageElement = (el) => { + const tabs = el.closest('ion-tabs'); + if (tabs) { + return tabs; + } + const page = el.closest('ion-app,ion-page,.ion-page,page-inner'); + if (page) { + return page; + } + return getParentElement(el); +}; +// ******** DOM READ **************** +const updateScrollDetail = (detail, el, timestamp, shouldStart) => { + const prevX = detail.currentX; + const prevY = detail.currentY; + const prevT = detail.currentTime; + const currentX = el.scrollLeft; + const currentY = el.scrollTop; + const timeDelta = timestamp - prevT; + if (shouldStart) { + // remember the start positions + detail.startTime = timestamp; + detail.startX = currentX; + detail.startY = currentY; + detail.velocityX = detail.velocityY = 0; + } + detail.currentTime = timestamp; + detail.currentX = detail.scrollLeft = currentX; + detail.currentY = detail.scrollTop = currentY; + detail.deltaX = currentX - detail.startX; + detail.deltaY = currentY - detail.startY; + if (timeDelta > 0 && timeDelta < 100) { + const velocityX = (currentX - prevX) / timeDelta; + const velocityY = (currentY - prevY) / timeDelta; + detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3; + detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3; + } +}; +Content.style = contentCss; + +const footerIosCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}"; + +const footerMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\");background-repeat:repeat-x;content:\"\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}"; + +const Footer = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the footer will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + * + * Note: In order to scroll content behind the footer, the `fullscreen` + * attribute needs to be set on the content. + */ + this.translucent = false; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const translucent = this.translucent; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "contentinfo", class: { + [mode]: true, + // Used internally for styling + [`footer-${mode}`]: true, + [`footer-translucent`]: translucent, + [`footer-translucent-${mode}`]: translucent, + } }, mode === 'ios' && translucent && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "footer-background" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Footer.style = { + ios: footerIosCss, + md: footerMdCss +}; + +const TRANSITION = 'all 0.2s ease-in-out'; +const cloneElement = (tagName) => { + const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`); + if (getCachedEl !== null) { + return getCachedEl; + } + const clonedEl = document.createElement(tagName); + clonedEl.classList.add('ion-cloned-element'); + clonedEl.style.setProperty('display', 'none'); + document.body.appendChild(clonedEl); + return clonedEl; +}; +const createHeaderIndex = (headerEl) => { + if (!headerEl) { + return; + } + const toolbars = headerEl.querySelectorAll('ion-toolbar'); + return { + el: headerEl, + toolbars: Array.from(toolbars).map((toolbar) => { + const ionTitleEl = toolbar.querySelector('ion-title'); + return { + el: toolbar, + background: toolbar.shadowRoot.querySelector('.toolbar-background'), + ionTitleEl, + innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null, + ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || [] + }; + }) || [] + }; +}; +const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + const scrollTop = scrollEl.scrollTop; + const scale = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(1, 1 + (-scrollTop / 500), 1.1); + // Native refresher should not cause titles to scale + const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native'); + if (nativeRefresher === null) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + scaleLargeTitles(scrollHeaderIndex.toolbars, scale); + }); + } + }); +}; +const setToolbarBackgroundOpacity = (toolbar, opacity) => { + if (opacity === undefined) { + toolbar.background.style.removeProperty('--opacity'); + } + else { + toolbar.background.style.setProperty('--opacity', opacity.toString()); + } +}; +const handleToolbarBorderIntersection = (ev, mainHeaderIndex) => { + if (!ev[0].isIntersecting) { + return; + } + /** + * There is a bug in Safari where overflow scrolling on a non-body element + * does not always reset the scrollTop position to 0 when letting go. It will + * set to 1 once the rubber band effect has ended. This causes the background to + * appear slightly on certain app setups. + */ + const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75; + mainHeaderIndex.toolbars.forEach(toolbar => { + setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale); + }); +}; +/** + * If toolbars are intersecting, hide the scrollable toolbar content + * and show the primary toolbar content. If the toolbars are not intersecting, + * hide the primary toolbar content and show the scrollable toolbar content + */ +const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + handleToolbarBorderIntersection(ev, mainHeaderIndex); + const event = ev[0]; + const intersection = event.intersectionRect; + const intersectionArea = intersection.width * intersection.height; + const rootArea = event.rootBounds.width * event.rootBounds.height; + const isPageHidden = intersectionArea === 0 && rootArea === 0; + const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left); + const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right); + const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5); + if (isPageHidden || isPageTransitioning) { + return; + } + if (event.isIntersecting) { + setHeaderActive(mainHeaderIndex, false); + setHeaderActive(scrollHeaderIndex); + } + else { + /** + * There is a bug with IntersectionObserver on Safari + * where `event.isIntersecting === false` when cancelling + * a swipe to go back gesture. Checking the intersection + * x, y, width, and height provides a workaround. This bug + * does not happen when using Safari + Web Animations, + * only Safari + CSS Animations. + */ + const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0); + if (hasValidIntersection) { + setHeaderActive(mainHeaderIndex); + setHeaderActive(scrollHeaderIndex, false); + setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]); + } + } + }); +}; +const setHeaderActive = (headerIndex, active = true) => { + if (active) { + headerIndex.el.classList.remove('header-collapse-condense-inactive'); + } + else { + headerIndex.el.classList.add('header-collapse-condense-inactive'); + } +}; +const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => { + toolbars.forEach(toolbar => { + const ionTitle = toolbar.ionTitleEl; + const titleDiv = toolbar.innerTitleEl; + if (!ionTitle || ionTitle.size !== 'large') { + return; + } + titleDiv.style.transition = (transition) ? TRANSITION : ''; + titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`; + }); +}; + +const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}"; + +const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}"; + +const Header = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.collapsibleHeaderInitialized = false; + /** + * If `true`, the header will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + * + * Note: In order to scroll content behind the header, the `fullscreen` + * attribute needs to be set on the content. + */ + this.translucent = false; + } + async componentDidLoad() { + await this.checkCollapsibleHeader(); + } + async componentDidUpdate() { + await this.checkCollapsibleHeader(); + } + disconnectedCallback() { + this.destroyCollapsibleHeader(); + } + async checkCollapsibleHeader() { + // Determine if the header can collapse + const hasCollapse = this.collapse === 'condense'; + const canCollapse = (hasCollapse && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios') ? hasCollapse : false; + if (!canCollapse && this.collapsibleHeaderInitialized) { + this.destroyCollapsibleHeader(); + } + else if (canCollapse && !this.collapsibleHeaderInitialized) { + const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner'); + const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null; + // Cloned elements are always needed in iOS transition + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + const title = cloneElement('ion-title'); + title.size = 'large'; + cloneElement('ion-back-button'); + }); + await this.setupCollapsibleHeader(contentEl, pageEl); + } + } + destroyCollapsibleHeader() { + if (this.intersectionObserver) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = undefined; + } + if (this.scrollEl && this.contentScrollCallback) { + this.scrollEl.removeEventListener('scroll', this.contentScrollCallback); + this.contentScrollCallback = undefined; + } + if (this.collapsibleMainHeader) { + this.collapsibleMainHeader.classList.remove('header-collapse-main'); + this.collapsibleMainHeader = undefined; + } + } + async setupCollapsibleHeader(contentEl, pageEl) { + if (!contentEl || !pageEl) { + console.error('ion-header requires a content to collapse, make sure there is an ion-content.'); + return; + } + if (typeof IntersectionObserver === 'undefined') { + return; + } + this.scrollEl = await contentEl.getScrollElement(); + const headers = pageEl.querySelectorAll('ion-header'); + this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense'); + if (!this.collapsibleMainHeader) { + return; + } + const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader); + const scrollHeaderIndex = createHeaderIndex(this.el); + if (!mainHeaderIndex || !scrollHeaderIndex) { + return; + } + setHeaderActive(mainHeaderIndex, false); + mainHeaderIndex.toolbars.forEach(toolbar => { + setToolbarBackgroundOpacity(toolbar, 0); + }); + /** + * Handle interaction between toolbar collapse and + * showing/hiding content in the primary ion-header + * as well as progressively showing/hiding the main header + * border as the top-most toolbar collapses or expands. + */ + const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); }; + this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] }); + this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el); + /** + * Handle scaling of large iOS titles and + * showing/hiding border on last toolbar + * in primary header + */ + this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); }; + this.scrollEl.addEventListener('scroll', this.contentScrollCallback); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + if (this.collapsibleMainHeader !== undefined) { + this.collapsibleMainHeader.classList.add('header-collapse-main'); + } + }); + this.collapsibleHeaderInitialized = true; + } + render() { + const { translucent } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const collapse = this.collapse || 'none'; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "banner", class: { + [mode]: true, + // Used internally for styling + [`header-${mode}`]: true, + [`header-translucent`]: this.translucent, + [`header-collapse-${collapse}`]: true, + [`header-translucent-${mode}`]: this.translucent, + } }, mode === 'ios' && translucent && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "header-background" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +Header.style = { + ios: headerIosCss, + md: headerMdCss +}; + +const routeOutletCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}"; + +const RouterOutlet = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionNavWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillChange", 3); + this.ionNavDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavDidChange", 3); + this.animationEnabled = true; + /** + * The mode determines which platform styles to use. + */ + this.mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + /** + * If `true`, the router-outlet should animate the transition of components. + */ + this.animated = true; + } + swipeHandlerChanged() { + if (this.gesture) { + this.gesture.enable(this.swipeHandler !== undefined); + } + } + async connectedCallback() { + this.gesture = (await __webpack_require__.e(/*! import() | swipe-back-2154c9a7-js */ "swipe-back-2154c9a7-js").then(__webpack_require__.bind(null, /*! ./swipe-back-2154c9a7.js */ "./node_modules/@ionic/core/dist/esm/swipe-back-2154c9a7.js"))).createSwipeBackGesture(this.el, () => !!this.swipeHandler && this.swipeHandler.canStart() && this.animationEnabled, () => this.swipeHandler && this.swipeHandler.onStart(), step => this.ani && this.ani.progressStep(step), (shouldComplete, step, dur) => { + if (this.ani) { + this.animationEnabled = false; + this.ani.onFinish(() => { + this.animationEnabled = true; + if (this.swipeHandler) { + this.swipeHandler.onEnd(shouldComplete); + } + }, { oneTimeCallback: true }); + // Account for rounding errors in JS + let newStepValue = (shouldComplete) ? -0.001 : 0.001; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + if (!shouldComplete) { + this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0]; + } + else { + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0]; + } + this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur); + } + }); + this.swipeHandlerChanged(); + } + componentWillLoad() { + this.ionNavWillLoad.emit(); + } + disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** @internal */ + async commit(enteringEl, leavingEl, opts) { + const unlock = await this.lock(); + let changed = false; + try { + changed = await this.transition(enteringEl, leavingEl, opts); + } + catch (e) { + console.error(e); + } + unlock(); + return changed; + } + /** @internal */ + async setRouteId(id, params, direction, animation) { + const changed = await this.setRoot(id, params, { + duration: direction === 'root' ? 0 : undefined, + direction: direction === 'back' ? 'back' : 'forward', + animationBuilder: animation + }); + return { + changed, + element: this.activeEl + }; + } + /** @internal */ + async getRouteId() { + const active = this.activeEl; + return active ? { + id: active.tagName, + element: active, + } : undefined; + } + async setRoot(component, params, opts) { + if (this.activeComponent === component) { + return false; + } + // attach entering view to DOM + const leavingEl = this.activeEl; + const enteringEl = await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__["a"])(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params); + this.activeComponent = component; + this.activeEl = enteringEl; + // commit animation + await this.commit(enteringEl, leavingEl, opts); + await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this.delegate, leavingEl); + return true; + } + async transition(enteringEl, leavingEl, opts = {}) { + if (leavingEl === enteringEl) { + return false; + } + // emit nav will change event + this.ionNavWillChange.emit(); + const { el, mode } = this; + const animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + const animationBuilder = this.animation || opts.animationBuilder || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('navAnimation'); + await Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["t"])(Object.assign(Object.assign({ mode, + animated, + enteringEl, + leavingEl, baseEl: el, progressCallback: (opts.progressAnimation + ? ani => this.ani = ani + : undefined) }, opts), { animationBuilder })); + // emit nav changed event + this.ionNavDidChange.emit(); + return true; + } + async lock() { + const p = this.waitPromise; + let resolve; + this.waitPromise = new Promise(r => resolve = r); + if (p !== undefined) { + await p; + } + return resolve; + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "swipeHandler": ["swipeHandlerChanged"] + }; } +}; +RouterOutlet.style = routeOutletCss; + +const titleIosCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@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:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host-context([dir=rtl]):host(.title-large),:host-context([dir=rtl]).title-large{-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}"; + +const titleMdCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@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:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}"; + +const ToolbarTitle = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + } + sizeChanged() { + this.emitStyle(); + } + connectedCallback() { + this.emitStyle(); + } + emitStyle() { + const size = this.getSize(); + this.ionStyle.emit({ + [`title-${size}`]: true + }); + } + getSize() { + return (this.size !== undefined) ? this.size : 'default'; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const size = this.getSize(); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, { + [mode]: true, + [`title-${size}`]: true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-title" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "size": ["sizeChanged"] + }; } +}; +ToolbarTitle.style = { + ios: titleIosCss, + md: titleMdCss +}; + +const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}"; + +const toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}"; + +const Toolbar = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.childrenStyles = new Map(); + } + componentWillLoad() { + const buttons = Array.from(this.el.querySelectorAll('ion-buttons')); + const firstButtons = buttons.find(button => { + return button.slot === 'start'; + }); + if (firstButtons) { + firstButtons.classList.add('buttons-first-slot'); + } + const buttonsReversed = buttons.reverse(); + const lastButtons = buttonsReversed.find(button => button.slot === 'end') || + buttonsReversed.find(button => button.slot === 'primary') || + buttonsReversed.find(button => button.slot === 'secondary'); + if (lastButtons) { + lastButtons.classList.add('buttons-last-slot'); + } + } + childrenStyle(ev) { + ev.stopPropagation(); + const tagName = ev.target.tagName; + const updatedStyles = ev.detail; + const newStyles = {}; + const childStyles = this.childrenStyles.get(tagName) || {}; + let hasStyleChange = false; + Object.keys(updatedStyles).forEach(key => { + const childKey = `toolbar-${key}`; + const newValue = updatedStyles[key]; + if (newValue !== childStyles[childKey]) { + hasStyleChange = true; + } + if (newValue) { + newStyles[childKey] = true; + } + }); + if (hasStyleChange) { + this.childrenStyles.set(tagName, newStyles); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const childStyles = {}; + this.childrenStyles.forEach(value => { + Object.assign(childStyles, value); + }); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object.assign(Object.assign({}, childStyles), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, { + [mode]: true, + 'in-toolbar': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-toolbar', this.el), + })) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-background" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "secondary" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "toolbar-content" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "primary" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +Toolbar.style = { + ios: toolbarIosCss, + md: toolbarMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=2-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/2-es2015.js.map b/android/app/src/main/assets/public/2-es2015.js.map new file mode 100644 index 000000000..2e77b1786 --- /dev/null +++ b/android/app/src/main/assets/public/2-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js"],"names":[],"mappings":"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B;AACA,0BAA0B,mEAAU;AACpC;AACA;AACA;AACA;AACA,MAAM,4DAAQ;AACd;AACA;AACA;AACA,MAAM,4DAAW;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAW;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAQ;AACd;AACA;AACA;AACA;AACA,OAAO;AACP;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;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,iBAAiB,mEAAU;AAC3B;AACA,gDAAgD,2DAAM;AACtD;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,4DAAkB;AAC/C;AACA,0BAA0B,4DAAW;AACrC;AACA,OAAO;AACP,2BAA2B,UAAU;AACrC,8BAA8B,aAAa;AAC3C,OAAO,EAAE,EAAE,4DAAC,SAAS,+CAA+C,GAAG,4DAAC,UAAU;AAClF;AACA;AACA;AACA;AACA,OAAO,sHAAsH,EAAE,4DAAC,qCAAqC,4DAAC,SAAS,6BAA6B,EAAE,4DAAC,SAAS,4BAA4B,GAAG,4DAAC,SAAS,6BAA6B,YAAY,4DAAC,UAAU,gBAAgB;AACrU;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;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;;AAEA,iCAAiC,cAAc,kBAAkB,iBAAiB,QAAQ,WAAW,WAAW,oCAAoC,8CAA8C,sCAAsC,0BAA0B,6EAA6E,mBAAmB,OAAO,QAAQ,MAAM,SAAS,kBAAkB,kDAAkD,0CAA0C,oCAAoC,cAAc,oDAAoD,iBAAiB;;AAErmB,gCAAgC,cAAc,kBAAkB,iBAAiB,QAAQ,WAAW,WAAW,oCAAoC,8CAA8C,mBAAmB,OAAO,SAAS,YAAY,iCAAiC,kBAAkB,WAAW,WAAW,sCAAsC,uLAAuL,2BAA2B,aAAa,yEAAyE,WAAW,YAAY,QAAQ,yEAAyE,kCAAkC,iCAAiC,aAAa;;AAE/zB;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,mBAAmB,KAAK;AACxB;AACA,+BAA+B,KAAK;AACpC,OAAO,EAAE;AACT,MAAM,4DAAC,SAAS,6BAA6B,GAAG,4DAAC;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD,QAAQ;AACxD;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,KAAK;AACL;AACA;AACA;AACA,EAAE,4DAAQ;AACV;AACA,kBAAkB,8DAAK;AACvB;AACA;AACA;AACA,MAAM,4DAAS;AACf;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4DAAS;AACX;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,MAAM,IAAI,MAAM;AAC1D,GAAG;AACH;;AAEA,iCAAiC,cAAc,kBAAkB,kBAAkB,SAAS,WAAW,WAAW,qCAAqC,wCAAwC,qCAAqC,0BAA0B,6EAA6E,mBAAmB,OAAO,QAAQ,MAAM,SAAS,kBAAkB,kDAAkD,0CAA0C,oCAAoC,aAAa,sDAAsD,mCAAmC,4BAA4B,mDAAmD,iBAAiB,0BAA0B,UAAU,sCAAsC,wBAAwB,gBAAgB,MAAM,oDAAoD,gBAAgB,UAAU,sCAAsC,+CAA+C,UAAU,oDAAoD,YAAY,gBAAgB,oBAAoB,gHAAgH,wCAAwC,gCAAgC,yNAAyN,UAAU,oBAAoB,6MAA6M,kBAAkB;;AAE3uD,gCAAgC,cAAc,kBAAkB,kBAAkB,SAAS,WAAW,WAAW,qCAAqC,wCAAwC,kBAAkB,OAAO,YAAY,oCAAoC,kBAAkB,WAAW,WAAW,oCAAoC,qLAAqL,2BAA2B,aAAa,uEAAuE,WAAW,YAAY,QAAQ,uEAAuE,qCAAqC,0BAA0B,aAAa,gCAAgC,aAAa;;AAEt1B;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,mEAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mEAAmE;AAC5G,+EAA+E,2EAA2E;AAC1J;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kEAAkE;AAC1G;AACA,IAAI,4DAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,cAAc;AACzB,iBAAiB,mEAAU;AAC3B;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,mBAAmB,KAAK;AACxB;AACA,4BAA4B,SAAS;AACrC,+BAA+B,KAAK;AACpC,OAAO,EAAE;AACT,MAAM,4DAAC,SAAS,6BAA6B,GAAG,4DAAC;AACjD;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,OAAO,QAAQ,MAAM,SAAS,kBAAkB,0BAA0B,gBAAgB,UAAU;;AAElI;AACA;AACA,IAAI,4DAAgB;AACpB,0BAA0B,4DAAW;AACrC,4BAA4B,4DAAW;AACvC,2BAA2B,4DAAW;AACtC;AACA;AACA;AACA;AACA,gBAAgB,mEAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2NAAkC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,GAAG,wBAAwB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mEAAuB;AACjD;AACA;AACA,0BAA0B,mEAAuB;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","file":"2-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent, f as readTask, j as forceUpdate, c as writeTask } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config, i as isPlatform } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { t as transition } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\nconst appCss = \"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}\";\n\nconst App = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentDidLoad() {\n {\n rIC(async () => {\n const isHybrid = isPlatform(window, 'hybrid');\n if (!config.getBoolean('_testing')) {\n import('./tap-click-71d2324a.js').then(module => module.startTapClick(config));\n }\n if (config.getBoolean('statusTap', isHybrid)) {\n import('./status-tap-b46a1b02.js').then(module => module.startStatusTap());\n }\n if (config.getBoolean('inputShims', needInputShims())) {\n import('./input-shims-7a52f98d.js').then(module => module.startInputShims(config));\n }\n const hardwareBackButtonModule = await import('./hardware-back-button-4a6b37fb.js');\n if (config.getBoolean('hardwareBackButton', isHybrid)) {\n hardwareBackButtonModule.startHardwareBackButton();\n }\n else {\n hardwareBackButtonModule.blockHardwareBackButton();\n }\n if (typeof window !== 'undefined') {\n import('./keyboard-5742b5da.js').then(module => module.startKeyboardAssist(window));\n }\n import('./focus-visible-f4ad4f1a.js').then(module => module.startFocusVisible());\n });\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'ion-page': true,\n 'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),\n } }));\n }\n get el() { return getElement(this); }\n};\nconst needInputShims = () => {\n return isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n};\nconst rIC = (callback) => {\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(callback);\n }\n else {\n setTimeout(callback, 32);\n }\n};\nApp.style = appCss;\n\nconst buttonsIosCss = \".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}\";\n\nconst buttonsMdCss = \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\";\n\nconst Buttons = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If true, buttons will disappear when its\n * parent toolbar has fully collapsed if the toolbar\n * is not the first toolbar. If the toolbar is the\n * first toolbar, the buttons will be hidden and will\n * only be shown once all toolbars have fully collapsed.\n *\n * Only applies in `ios` mode with `collapse` set to\n * `true` on `ion-header`.\n *\n * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n */\n this.collapse = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n ['buttons-collapse']: this.collapse\n } }));\n }\n};\nButtons.style = {\n ios: buttonsIosCss,\n md: buttonsMdCss\n};\n\nconst contentCss = \":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{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)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}\";\n\nconst Content = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n this.ionScroll = createEvent(this, \"ionScroll\", 7);\n this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n this.isScrolling = false;\n this.lastScroll = 0;\n this.queued = false;\n this.cTop = -1;\n this.cBottom = -1;\n // Detail is used in a hot loop in the scroll event, by allocating it here\n // V8 will be able to inline any read/write to it since it's a monomorphic class.\n // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n this.detail = {\n scrollTop: 0,\n scrollLeft: 0,\n type: 'scroll',\n event: undefined,\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n data: undefined,\n isScrolling: true,\n };\n /**\n * If `true`, the content will scroll behind the headers\n * and footers. This effect can easily be seen by setting the toolbar\n * to transparent.\n */\n this.fullscreen = false;\n /**\n * If you want to enable the content scrolling in the X axis, set this property to `true`.\n */\n this.scrollX = false;\n /**\n * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n */\n this.scrollY = true;\n /**\n * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n * and start listening from (ionScroll), set this property to `true`.\n */\n this.scrollEvents = false;\n }\n disconnectedCallback() {\n this.onScrollEnd();\n }\n onAppLoad() {\n this.resize();\n }\n onClick(ev) {\n if (this.isScrolling) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n shouldForceOverscroll() {\n const { forceOverscroll } = this;\n const mode = getIonMode(this);\n return forceOverscroll === undefined\n ? mode === 'ios' && isPlatform('ios')\n : forceOverscroll;\n }\n resize() {\n if (this.fullscreen) {\n readTask(() => this.readDimensions());\n }\n else if (this.cTop !== 0 || this.cBottom !== 0) {\n this.cTop = this.cBottom = 0;\n forceUpdate(this);\n }\n }\n readDimensions() {\n const page = getPageElement(this.el);\n const top = Math.max(this.el.offsetTop, 0);\n const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n const dirty = top !== this.cTop || bottom !== this.cBottom;\n if (dirty) {\n this.cTop = top;\n this.cBottom = bottom;\n forceUpdate(this);\n }\n }\n onScroll(ev) {\n const timeStamp = Date.now();\n const shouldStart = !this.isScrolling;\n this.lastScroll = timeStamp;\n if (shouldStart) {\n this.onScrollStart();\n }\n if (!this.queued && this.scrollEvents) {\n this.queued = true;\n readTask(ts => {\n this.queued = false;\n this.detail.event = ev;\n updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);\n this.ionScroll.emit(this.detail);\n });\n }\n }\n /**\n * Get the element where the actual scrolling takes place.\n * This element can be used to subscribe to `scroll` events or manually modify\n * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n *\n * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n * and `scrollToPoint()` to scroll the content into a certain point.\n */\n getScrollElement() {\n return Promise.resolve(this.scrollEl);\n }\n /**\n * Scroll to the top of the component.\n *\n * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n */\n scrollToTop(duration = 0) {\n return this.scrollToPoint(undefined, 0, duration);\n }\n /**\n * Scroll to the bottom of the component.\n *\n * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n */\n scrollToBottom(duration = 0) {\n const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n return this.scrollToPoint(undefined, y, duration);\n }\n /**\n * Scroll by a specified X/Y distance in the component.\n *\n * @param x The amount to scroll by on the horizontal axis.\n * @param y The amount to scroll by on the vertical axis.\n * @param duration The amount of time to take scrolling by that amount.\n */\n scrollByPoint(x, y, duration) {\n return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);\n }\n /**\n * Scroll to a specified X/Y location in the component.\n *\n * @param x The point to scroll to on the horizontal axis.\n * @param y The point to scroll to on the vertical axis.\n * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n */\n async scrollToPoint(x, y, duration = 0) {\n const el = this.scrollEl;\n if (duration < 32) {\n if (y != null) {\n el.scrollTop = y;\n }\n if (x != null) {\n el.scrollLeft = x;\n }\n return;\n }\n let resolve;\n let startTime = 0;\n const promise = new Promise(r => resolve = r);\n const fromY = el.scrollTop;\n const fromX = el.scrollLeft;\n const deltaY = y != null ? y - fromY : 0;\n const deltaX = x != null ? x - fromX : 0;\n // scroll loop\n const step = (timeStamp) => {\n const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;\n const easedT = Math.pow(linearTime, 3) + 1;\n if (deltaY !== 0) {\n el.scrollTop = Math.floor((easedT * deltaY) + fromY);\n }\n if (deltaX !== 0) {\n el.scrollLeft = Math.floor((easedT * deltaX) + fromX);\n }\n if (easedT < 1) {\n // do not use DomController here\n // must use nativeRaf in order to fire in the next frame\n // TODO: remove as any\n requestAnimationFrame(step);\n }\n else {\n resolve();\n }\n };\n // chill out for a frame first\n requestAnimationFrame(ts => {\n startTime = ts;\n step(ts);\n });\n return promise;\n }\n onScrollStart() {\n this.isScrolling = true;\n this.ionScrollStart.emit({\n isScrolling: true\n });\n if (this.watchDog) {\n clearInterval(this.watchDog);\n }\n // watchdog\n this.watchDog = setInterval(() => {\n if (this.lastScroll < Date.now() - 120) {\n this.onScrollEnd();\n }\n }, 100);\n }\n onScrollEnd() {\n clearInterval(this.watchDog);\n this.watchDog = null;\n if (this.isScrolling) {\n this.isScrolling = false;\n this.ionScrollEnd.emit({\n isScrolling: false\n });\n }\n }\n render() {\n const { scrollX, scrollY } = this;\n const mode = getIonMode(this);\n const forceOverscroll = this.shouldForceOverscroll();\n const transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));\n this.resize();\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'content-sizing': hostContext('ion-popover', this.el),\n 'overscroll': forceOverscroll,\n }), style: {\n '--offset-top': `${this.cTop}px`,\n '--offset-bottom': `${this.cBottom}px`,\n } }, h(\"div\", { id: \"background-content\", part: \"background\" }), h(\"main\", { class: {\n 'inner-scroll': true,\n 'scroll-x': scrollX,\n 'scroll-y': scrollY,\n 'overscroll': (scrollX || scrollY) && forceOverscroll\n }, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: \"scroll\" }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n }\n get el() { return getElement(this); }\n};\nconst getParentElement = (el) => {\n if (el.parentElement) {\n // normal element with a parent element\n return el.parentElement;\n }\n if (el.parentNode && el.parentNode.host) {\n // shadow dom's document fragment\n return el.parentNode.host;\n }\n return null;\n};\nconst getPageElement = (el) => {\n const tabs = el.closest('ion-tabs');\n if (tabs) {\n return tabs;\n }\n const page = el.closest('ion-app,ion-page,.ion-page,page-inner');\n if (page) {\n return page;\n }\n return getParentElement(el);\n};\n// ******** DOM READ ****************\nconst updateScrollDetail = (detail, el, timestamp, shouldStart) => {\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n const currentX = el.scrollLeft;\n const currentY = el.scrollTop;\n const timeDelta = timestamp - prevT;\n if (shouldStart) {\n // remember the start positions\n detail.startTime = timestamp;\n detail.startX = currentX;\n detail.startY = currentY;\n detail.velocityX = detail.velocityY = 0;\n }\n detail.currentTime = timestamp;\n detail.currentX = detail.scrollLeft = currentX;\n detail.currentY = detail.scrollTop = currentY;\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n};\nContent.style = contentCss;\n\nconst footerIosCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}\";\n\nconst footerMdCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\\\");background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}\";\n\nconst Footer = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the footer 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 * Note: In order to scroll content behind the footer, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n render() {\n const mode = getIonMode(this);\n const translucent = this.translucent;\n return (h(Host, { role: \"contentinfo\", class: {\n [mode]: true,\n // Used internally for styling\n [`footer-${mode}`]: true,\n [`footer-translucent`]: translucent,\n [`footer-translucent-${mode}`]: translucent,\n } }, mode === 'ios' && translucent &&\n h(\"div\", { class: \"footer-background\" }), h(\"slot\", null)));\n }\n};\nFooter.style = {\n ios: footerIosCss,\n md: footerMdCss\n};\n\nconst TRANSITION = 'all 0.2s ease-in-out';\nconst cloneElement = (tagName) => {\n const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n const clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nconst createHeaderIndex = (headerEl) => {\n if (!headerEl) {\n return;\n }\n const toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map((toolbar) => {\n const ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl,\n innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []\n };\n }) || []\n };\n};\nconst handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const scale = clamp(1, 1 + (-scrollTop / 500), 1.1);\n // Native refresher should not cause titles to scale\n const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n if (nativeRefresher === null) {\n writeTask(() => {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n }\n });\n};\nconst setToolbarBackgroundOpacity = (toolbar, opacity) => {\n if (opacity === undefined) {\n toolbar.background.style.removeProperty('--opacity');\n }\n else {\n toolbar.background.style.setProperty('--opacity', opacity.toString());\n }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {\n if (!ev[0].isIntersecting) {\n return;\n }\n /**\n * There is a bug in Safari where overflow scrolling on a non-body element\n * does not always reset the scrollTop position to 0 when letting go. It will\n * set to 1 once the rubber band effect has ended. This causes the background to\n * appear slightly on certain app setups.\n */\n const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n mainHeaderIndex.toolbars.forEach(toolbar => {\n setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale);\n });\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nconst handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {\n writeTask(() => {\n handleToolbarBorderIntersection(ev, mainHeaderIndex);\n const event = ev[0];\n const intersection = event.intersectionRect;\n const intersectionArea = intersection.width * intersection.height;\n const rootArea = event.rootBounds.width * event.rootBounds.height;\n const isPageHidden = intersectionArea === 0 && rootArea === 0;\n const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]);\n }\n }\n });\n};\nconst setHeaderActive = (headerIndex, active = true) => {\n if (active) {\n headerIndex.el.classList.remove('header-collapse-condense-inactive');\n }\n else {\n headerIndex.el.classList.add('header-collapse-condense-inactive');\n }\n};\nconst scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n toolbars.forEach(toolbar => {\n const ionTitle = toolbar.ionTitleEl;\n const titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transition = (transition) ? TRANSITION : '';\n titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n });\n};\n\nconst headerIosCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}\";\n\nconst headerMdCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}\";\n\nconst Header = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.collapsibleHeaderInitialized = false;\n /**\n * If `true`, the header 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 * Note: In order to scroll content behind the header, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n async componentDidLoad() {\n await this.checkCollapsibleHeader();\n }\n async componentDidUpdate() {\n await this.checkCollapsibleHeader();\n }\n disconnectedCallback() {\n this.destroyCollapsibleHeader();\n }\n async checkCollapsibleHeader() {\n // Determine if the header can collapse\n const hasCollapse = this.collapse === 'condense';\n const canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;\n if (!canCollapse && this.collapsibleHeaderInitialized) {\n this.destroyCollapsibleHeader();\n }\n else if (canCollapse && !this.collapsibleHeaderInitialized) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n // Cloned elements are always needed in iOS transition\n writeTask(() => {\n const title = cloneElement('ion-title');\n title.size = 'large';\n cloneElement('ion-back-button');\n });\n await this.setupCollapsibleHeader(contentEl, pageEl);\n }\n }\n destroyCollapsibleHeader() {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n if (this.collapsibleMainHeader) {\n this.collapsibleMainHeader.classList.remove('header-collapse-main');\n this.collapsibleMainHeader = undefined;\n }\n }\n async setupCollapsibleHeader(contentEl, pageEl) {\n if (!contentEl || !pageEl) {\n console.error('ion-header requires a content to collapse, make sure there is an ion-content.');\n return;\n }\n if (typeof IntersectionObserver === 'undefined') {\n return;\n }\n this.scrollEl = await contentEl.getScrollElement();\n const headers = pageEl.querySelectorAll('ion-header');\n this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n if (!this.collapsibleMainHeader) {\n return;\n }\n const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n const scrollHeaderIndex = createHeaderIndex(this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n mainHeaderIndex.toolbars.forEach(toolbar => {\n setToolbarBackgroundOpacity(toolbar, 0);\n });\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };\n this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });\n this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); };\n this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n writeTask(() => {\n if (this.collapsibleMainHeader !== undefined) {\n this.collapsibleMainHeader.classList.add('header-collapse-main');\n }\n });\n this.collapsibleHeaderInitialized = true;\n }\n render() {\n const { translucent } = this;\n const mode = getIonMode(this);\n const collapse = this.collapse || 'none';\n return (h(Host, { role: \"banner\", class: {\n [mode]: true,\n // Used internally for styling\n [`header-${mode}`]: true,\n [`header-translucent`]: this.translucent,\n [`header-collapse-${collapse}`]: true,\n [`header-translucent-${mode}`]: this.translucent,\n } }, mode === 'ios' && translucent &&\n h(\"div\", { class: \"header-background\" }), h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n};\nHeader.style = {\n ios: headerIosCss,\n md: headerMdCss\n};\n\nconst routeOutletCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nconst RouterOutlet = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n this.animationEnabled = true;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode(this);\n /**\n * If `true`, the router-outlet should animate the transition of components.\n */\n this.animated = true;\n }\n swipeHandlerChanged() {\n if (this.gesture) {\n this.gesture.enable(this.swipeHandler !== undefined);\n }\n }\n async connectedCallback() {\n this.gesture = (await import('./swipe-back-2154c9a7.js')).createSwipeBackGesture(this.el, () => !!this.swipeHandler && this.swipeHandler.canStart() && this.animationEnabled, () => this.swipeHandler && this.swipeHandler.onStart(), step => this.ani && this.ani.progressStep(step), (shouldComplete, step, dur) => {\n if (this.ani) {\n this.animationEnabled = false;\n this.ani.onFinish(() => {\n this.animationEnabled = true;\n if (this.swipeHandler) {\n this.swipeHandler.onEnd(shouldComplete);\n }\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];\n }\n else {\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];\n }\n this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n });\n this.swipeHandlerChanged();\n }\n componentWillLoad() {\n this.ionNavWillLoad.emit();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /** @internal */\n async commit(enteringEl, leavingEl, opts) {\n const unlock = await this.lock();\n let changed = false;\n try {\n changed = await this.transition(enteringEl, leavingEl, opts);\n }\n catch (e) {\n console.error(e);\n }\n unlock();\n return changed;\n }\n /** @internal */\n async setRouteId(id, params, direction, animation) {\n const changed = await this.setRoot(id, params, {\n duration: direction === 'root' ? 0 : undefined,\n direction: direction === 'back' ? 'back' : 'forward',\n animationBuilder: animation\n });\n return {\n changed,\n element: this.activeEl\n };\n }\n /** @internal */\n async getRouteId() {\n const active = this.activeEl;\n return active ? {\n id: active.tagName,\n element: active,\n } : undefined;\n }\n async setRoot(component, params, opts) {\n if (this.activeComponent === component) {\n return false;\n }\n // attach entering view to DOM\n const leavingEl = this.activeEl;\n const enteringEl = await attachComponent(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params);\n this.activeComponent = component;\n this.activeEl = enteringEl;\n // commit animation\n await this.commit(enteringEl, leavingEl, opts);\n await detachComponent(this.delegate, leavingEl);\n return true;\n }\n async transition(enteringEl, leavingEl, opts = {}) {\n if (leavingEl === enteringEl) {\n return false;\n }\n // emit nav will change event\n this.ionNavWillChange.emit();\n const { el, mode } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const animationBuilder = this.animation || opts.animationBuilder || config.get('navAnimation');\n await transition(Object.assign(Object.assign({ mode,\n animated,\n enteringEl,\n leavingEl, baseEl: el, progressCallback: (opts.progressAnimation\n ? ani => this.ani = ani\n : undefined) }, opts), { animationBuilder }));\n // emit nav changed event\n this.ionNavDidChange.emit();\n return true;\n }\n async lock() {\n const p = this.waitPromise;\n let resolve;\n this.waitPromise = new Promise(r => resolve = r);\n if (p !== undefined) {\n await p;\n }\n return resolve;\n }\n render() {\n return (h(\"slot\", null));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeHandler\": [\"swipeHandlerChanged\"]\n }; }\n};\nRouterOutlet.style = routeOutletCss;\n\nconst titleIosCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@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:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host-context([dir=rtl]):host(.title-large),:host-context([dir=rtl]).title-large{-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}\";\n\nconst titleMdCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@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:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}\";\n\nconst ToolbarTitle = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n sizeChanged() {\n this.emitStyle();\n }\n connectedCallback() {\n this.emitStyle();\n }\n emitStyle() {\n const size = this.getSize();\n this.ionStyle.emit({\n [`title-${size}`]: true\n });\n }\n getSize() {\n return (this.size !== undefined) ? this.size : 'default';\n }\n render() {\n const mode = getIonMode(this);\n const size = this.getSize();\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`title-${size}`]: true,\n }) }, h(\"div\", { class: \"toolbar-title\" }, h(\"slot\", null))));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"size\": [\"sizeChanged\"]\n }; }\n};\nToolbarTitle.style = {\n ios: titleIosCss,\n md: titleMdCss\n};\n\nconst toolbarIosCss = \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}\";\n\nconst toolbarMdCss = \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}\";\n\nconst Toolbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.childrenStyles = new Map();\n }\n componentWillLoad() {\n const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));\n const firstButtons = buttons.find(button => {\n return button.slot === 'start';\n });\n if (firstButtons) {\n firstButtons.classList.add('buttons-first-slot');\n }\n const buttonsReversed = buttons.reverse();\n const lastButtons = buttonsReversed.find(button => button.slot === 'end') ||\n buttonsReversed.find(button => button.slot === 'primary') ||\n buttonsReversed.find(button => button.slot === 'secondary');\n if (lastButtons) {\n lastButtons.classList.add('buttons-last-slot');\n }\n }\n childrenStyle(ev) {\n ev.stopPropagation();\n const tagName = ev.target.tagName;\n const updatedStyles = ev.detail;\n const newStyles = {};\n const childStyles = this.childrenStyles.get(tagName) || {};\n let hasStyleChange = false;\n Object.keys(updatedStyles).forEach(key => {\n const childKey = `toolbar-${key}`;\n const newValue = updatedStyles[key];\n if (newValue !== childStyles[childKey]) {\n hasStyleChange = true;\n }\n if (newValue) {\n newStyles[childKey] = true;\n }\n });\n if (hasStyleChange) {\n this.childrenStyles.set(tagName, newStyles);\n forceUpdate(this);\n }\n }\n render() {\n const mode = getIonMode(this);\n const childStyles = {};\n this.childrenStyles.forEach(value => {\n Object.assign(childStyles, value);\n });\n return (h(Host, { class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n })) }, h(\"div\", { class: \"toolbar-background\" }), h(\"div\", { class: \"toolbar-container\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"secondary\" }), h(\"div\", { class: \"toolbar-content\" }, h(\"slot\", null)), h(\"slot\", { name: \"primary\" }), h(\"slot\", { name: \"end\" }))));\n }\n get el() { return getElement(this); }\n};\nToolbar.style = {\n ios: toolbarIosCss,\n md: toolbarMdCss\n};\n\nexport { App as ion_app, Buttons as ion_buttons, Content as ion_content, Footer as ion_footer, Header as ion_header, RouterOutlet as ion_router_outlet, ToolbarTitle as ion_title, Toolbar as ion_toolbar };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/2-es5.js b/android/app/src/main/assets/public/2-es5.js new file mode 100644 index 000000000..0d603c4bf --- /dev/null +++ b/android/app/src/main/assets/public/2-es5.js @@ -0,0 +1,1794 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[2], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_app, ion_buttons, ion_content, ion_footer, ion_header, ion_router_outlet, ion_title, ion_toolbar */ + + /***/ + function node_modulesIonicCoreDistEsmIonApp_8EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_app", function () { + return App; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_buttons", function () { + return Buttons; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_content", function () { + return Content; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_footer", function () { + return Footer; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_header", function () { + return Header; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_router_outlet", function () { + return RouterOutlet; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_title", function () { + return ToolbarTitle; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_toolbar", function () { + return Toolbar; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./index-d8cfb4a8.js */ + "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); + /* harmony import */ + + + var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./cubic-bezier-eea9a7a9.js */ + "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /* harmony import */ + + + var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./framework-delegate-4584ab5a.js */ + "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + var appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}"; + + var App = /*#__PURE__*/function () { + function App(hostRef) { + _classCallCheck(this, App); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(App, [{ + key: "componentDidLoad", + value: function componentDidLoad() { + { + rIC( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var isHybrid, hardwareBackButtonModule; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + isHybrid = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'hybrid'); + + if (!_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing')) { + __webpack_require__.e( + /*! import() | tap-click-71d2324a-js */ + "tap-click-71d2324a-js").then(__webpack_require__.bind(null, + /*! ./tap-click-71d2324a.js */ + "./node_modules/@ionic/core/dist/esm/tap-click-71d2324a.js")).then(function (module) { + return module.startTapClick(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"]); + }); + } + + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('statusTap', isHybrid)) { + __webpack_require__.e( + /*! import() | status-tap-b46a1b02-js */ + "status-tap-b46a1b02-js").then(__webpack_require__.bind(null, + /*! ./status-tap-b46a1b02.js */ + "./node_modules/@ionic/core/dist/esm/status-tap-b46a1b02.js")).then(function (module) { + return module.startStatusTap(); + }); + } + + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('inputShims', needInputShims())) { + __webpack_require__.e( + /*! import() | input-shims-7a52f98d-js */ + "input-shims-7a52f98d-js").then(__webpack_require__.bind(null, + /*! ./input-shims-7a52f98d.js */ + "./node_modules/@ionic/core/dist/esm/input-shims-7a52f98d.js")).then(function (module) { + return module.startInputShims(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"]); + }); + } + + _context.next = 6; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js")); + + case 6: + hardwareBackButtonModule = _context.sent; + + if (_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('hardwareBackButton', isHybrid)) { + hardwareBackButtonModule.startHardwareBackButton(); + } else { + hardwareBackButtonModule.blockHardwareBackButton(); + } + + if (typeof window !== 'undefined') { + __webpack_require__.e( + /*! import() | keyboard-5742b5da-js */ + "keyboard-5742b5da-js").then(__webpack_require__.bind(null, + /*! ./keyboard-5742b5da.js */ + "./node_modules/@ionic/core/dist/esm/keyboard-5742b5da.js")).then(function (module) { + return module.startKeyboardAssist(window); + }); + } + + __webpack_require__.e( + /*! import() | focus-visible-f4ad4f1a-js */ + "focus-visible-f4ad4f1a-js").then(__webpack_require__.bind(null, + /*! ./focus-visible-f4ad4f1a.js */ + "./node_modules/@ionic/core/dist/esm/focus-visible-f4ad4f1a.js")).then(function (module) { + return module.startFocusVisible(); + }); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee); + }))); + } + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'ion-page', true), _defineProperty(_class, 'force-statusbar-padding', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_forceStatusbarPadding')), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return App; + }(); + + var needInputShims = function needInputShims() { + return Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'ios') && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])(window, 'mobile'); + }; + + var rIC = function rIC(callback) { + if ('requestIdleCallback' in window) { + window.requestIdleCallback(callback); + } else { + setTimeout(callback, 32); + } + }; + + App.style = appCss; + var buttonsIosCss = ".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}"; + var buttonsMdCss = ".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}"; + + var Buttons = /*#__PURE__*/function () { + function Buttons(hostRef) { + _classCallCheck(this, Buttons); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If true, buttons will disappear when its + * parent toolbar has fully collapsed if the toolbar + * is not the first toolbar. If the toolbar is the + * first toolbar, the buttons will be hidden and will + * only be shown once all toolbars have fully collapsed. + * + * Only applies in `ios` mode with `collapse` set to + * `true` on `ion-header`. + * + * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles) + */ + + this.collapse = false; + } + + _createClass(Buttons, [{ + key: "render", + value: function render() { + var _class2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, mode, true), _defineProperty(_class2, 'buttons-collapse', this.collapse), _class2) + }); + } + }]); + + return Buttons; + }(); + + Buttons.style = { + ios: buttonsIosCss, + md: buttonsMdCss + }; + var contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{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)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}"; + + var Content = /*#__PURE__*/function () { + function Content(hostRef) { + _classCallCheck(this, Content); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionScrollStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollStart", 7); + this.ionScroll = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScroll", 7); + this.ionScrollEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionScrollEnd", 7); + this.isScrolling = false; + this.lastScroll = 0; + this.queued = false; + this.cTop = -1; + this.cBottom = -1; // Detail is used in a hot loop in the scroll event, by allocating it here + // V8 will be able to inline any read/write to it since it's a monomorphic class. + // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html + + this.detail = { + scrollTop: 0, + scrollLeft: 0, + type: 'scroll', + event: undefined, + startX: 0, + startY: 0, + startTime: 0, + currentX: 0, + currentY: 0, + velocityX: 0, + velocityY: 0, + deltaX: 0, + deltaY: 0, + currentTime: 0, + data: undefined, + isScrolling: true + }; + /** + * If `true`, the content will scroll behind the headers + * and footers. This effect can easily be seen by setting the toolbar + * to transparent. + */ + + this.fullscreen = false; + /** + * If you want to enable the content scrolling in the X axis, set this property to `true`. + */ + + this.scrollX = false; + /** + * If you want to disable the content scrolling in the Y axis, set this property to `false`. + */ + + this.scrollY = true; + /** + * Because of performance reasons, ionScroll events are disabled by default, in order to enable them + * and start listening from (ionScroll), set this property to `true`. + */ + + this.scrollEvents = false; + } + + _createClass(Content, [{ + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.onScrollEnd(); + } + }, { + key: "onAppLoad", + value: function onAppLoad() { + this.resize(); + } + }, { + key: "onClick", + value: function onClick(ev) { + if (this.isScrolling) { + ev.preventDefault(); + ev.stopPropagation(); + } + } + }, { + key: "shouldForceOverscroll", + value: function shouldForceOverscroll() { + var forceOverscroll = this.forceOverscroll; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return forceOverscroll === undefined ? mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('ios') : forceOverscroll; + } + }, { + key: "resize", + value: function resize() { + var _this = this; + + if (this.fullscreen) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + return _this.readDimensions(); + }); + } else if (this.cTop !== 0 || this.cBottom !== 0) { + this.cTop = this.cBottom = 0; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + }, { + key: "readDimensions", + value: function readDimensions() { + var page = getPageElement(this.el); + var top = Math.max(this.el.offsetTop, 0); + var bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0); + var dirty = top !== this.cTop || bottom !== this.cBottom; + + if (dirty) { + this.cTop = top; + this.cBottom = bottom; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + }, { + key: "onScroll", + value: function onScroll(ev) { + var _this2 = this; + + var timeStamp = Date.now(); + var shouldStart = !this.isScrolling; + this.lastScroll = timeStamp; + + if (shouldStart) { + this.onScrollStart(); + } + + if (!this.queued && this.scrollEvents) { + this.queued = true; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function (ts) { + _this2.queued = false; + _this2.detail.event = ev; + updateScrollDetail(_this2.detail, _this2.scrollEl, ts, shouldStart); + + _this2.ionScroll.emit(_this2.detail); + }); + } + } + /** + * Get the element where the actual scrolling takes place. + * This element can be used to subscribe to `scroll` events or manually modify + * `scrollTop`. However, it's recommended to use the API provided by `ion-content`: + * + * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events + * and `scrollToPoint()` to scroll the content into a certain point. + */ + + }, { + key: "getScrollElement", + value: function getScrollElement() { + return Promise.resolve(this.scrollEl); + } + /** + * Scroll to the top of the component. + * + * @param duration The amount of time to take scrolling to the top. Defaults to `0`. + */ + + }, { + key: "scrollToTop", + value: function scrollToTop() { + var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + return this.scrollToPoint(undefined, 0, duration); + } + /** + * Scroll to the bottom of the component. + * + * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`. + */ + + }, { + key: "scrollToBottom", + value: function scrollToBottom() { + var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight; + return this.scrollToPoint(undefined, y, duration); + } + /** + * Scroll by a specified X/Y distance in the component. + * + * @param x The amount to scroll by on the horizontal axis. + * @param y The amount to scroll by on the vertical axis. + * @param duration The amount of time to take scrolling by that amount. + */ + + }, { + key: "scrollByPoint", + value: function scrollByPoint(x, y, duration) { + return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration); + } + /** + * Scroll to a specified X/Y location in the component. + * + * @param x The point to scroll to on the horizontal axis. + * @param y The point to scroll to on the vertical axis. + * @param duration The amount of time to take scrolling to that point. Defaults to `0`. + */ + + }, { + key: "scrollToPoint", + value: function () { + var _scrollToPoint = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(x, y) { + var duration, + el, + resolve, + startTime, + promise, + fromY, + fromX, + deltaY, + deltaX, + step, + _args2 = arguments; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + duration = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 0; + el = this.scrollEl; + + if (!(duration < 32)) { + _context2.next = 6; + break; + } + + if (y != null) { + el.scrollTop = y; + } + + if (x != null) { + el.scrollLeft = x; + } + + return _context2.abrupt("return"); + + case 6: + startTime = 0; + promise = new Promise(function (r) { + return resolve = r; + }); + fromY = el.scrollTop; + fromX = el.scrollLeft; + deltaY = y != null ? y - fromY : 0; + deltaX = x != null ? x - fromX : 0; // scroll loop + + step = function step(timeStamp) { + var linearTime = Math.min(1, (timeStamp - startTime) / duration) - 1; + var easedT = Math.pow(linearTime, 3) + 1; + + if (deltaY !== 0) { + el.scrollTop = Math.floor(easedT * deltaY + fromY); + } + + if (deltaX !== 0) { + el.scrollLeft = Math.floor(easedT * deltaX + fromX); + } + + if (easedT < 1) { + // do not use DomController here + // must use nativeRaf in order to fire in the next frame + // TODO: remove as any + requestAnimationFrame(step); + } else { + resolve(); + } + }; // chill out for a frame first + + + requestAnimationFrame(function (ts) { + startTime = ts; + step(ts); + }); + return _context2.abrupt("return", promise); + + case 15: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function scrollToPoint(_x, _x2) { + return _scrollToPoint.apply(this, arguments); + } + + return scrollToPoint; + }() + }, { + key: "onScrollStart", + value: function onScrollStart() { + var _this3 = this; + + this.isScrolling = true; + this.ionScrollStart.emit({ + isScrolling: true + }); + + if (this.watchDog) { + clearInterval(this.watchDog); + } // watchdog + + + this.watchDog = setInterval(function () { + if (_this3.lastScroll < Date.now() - 120) { + _this3.onScrollEnd(); + } + }, 100); + } + }, { + key: "onScrollEnd", + value: function onScrollEnd() { + clearInterval(this.watchDog); + this.watchDog = null; + + if (this.isScrolling) { + this.isScrolling = false; + this.ionScrollEnd.emit({ + isScrolling: false + }); + } + } + }, { + key: "render", + value: function render() { + var _Object, + _this4 = this; + + var scrollX = this.scrollX, + scrollY = this.scrollY; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var forceOverscroll = this.shouldForceOverscroll(); + + var transitionShadow = mode === 'ios' && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('experimentalTransitionShadow', true); + + this.resize(); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'content-sizing', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-popover', this.el)), _defineProperty(_Object, 'overscroll', forceOverscroll), _Object)), + style: { + '--offset-top': "".concat(this.cTop, "px"), + '--offset-bottom': "".concat(this.cBottom, "px") + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + id: "background-content", + part: "background" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("main", { + "class": { + 'inner-scroll': true, + 'scroll-x': scrollX, + 'scroll-y': scrollY, + 'overscroll': (scrollX || scrollY) && forceOverscroll + }, + ref: function ref(el) { + return _this4.scrollEl = el; + }, + onScroll: this.scrollEvents ? function (ev) { + return _this4.onScroll(ev); + } : undefined, + part: "scroll" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), transitionShadow ? Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "transition-effect" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "transition-cover" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "transition-shadow" + })) : null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "fixed" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Content; + }(); + + var getParentElement = function getParentElement(el) { + if (el.parentElement) { + // normal element with a parent element + return el.parentElement; + } + + if (el.parentNode && el.parentNode.host) { + // shadow dom's document fragment + return el.parentNode.host; + } + + return null; + }; + + var getPageElement = function getPageElement(el) { + var tabs = el.closest('ion-tabs'); + + if (tabs) { + return tabs; + } + + var page = el.closest('ion-app,ion-page,.ion-page,page-inner'); + + if (page) { + return page; + } + + return getParentElement(el); + }; // ******** DOM READ **************** + + + var updateScrollDetail = function updateScrollDetail(detail, el, timestamp, shouldStart) { + var prevX = detail.currentX; + var prevY = detail.currentY; + var prevT = detail.currentTime; + var currentX = el.scrollLeft; + var currentY = el.scrollTop; + var timeDelta = timestamp - prevT; + + if (shouldStart) { + // remember the start positions + detail.startTime = timestamp; + detail.startX = currentX; + detail.startY = currentY; + detail.velocityX = detail.velocityY = 0; + } + + detail.currentTime = timestamp; + detail.currentX = detail.scrollLeft = currentX; + detail.currentY = detail.scrollTop = currentY; + detail.deltaX = currentX - detail.startX; + detail.deltaY = currentY - detail.startY; + + if (timeDelta > 0 && timeDelta < 100) { + var velocityX = (currentX - prevX) / timeDelta; + var velocityY = (currentY - prevY) / timeDelta; + detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3; + detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3; + } + }; + + Content.style = contentCss; + var footerIosCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}"; + var footerMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\");background-repeat:repeat-x;content:\"\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}"; + + var Footer = /*#__PURE__*/function () { + function Footer(hostRef) { + _classCallCheck(this, Footer); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the footer will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + * + * Note: In order to scroll content behind the footer, the `fullscreen` + * attribute needs to be set on the content. + */ + + this.translucent = false; + } + + _createClass(Footer, [{ + key: "render", + value: function render() { + var _class3; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var translucent = this.translucent; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "contentinfo", + "class": (_class3 = {}, _defineProperty(_class3, mode, true), _defineProperty(_class3, "footer-".concat(mode), true), _defineProperty(_class3, "footer-translucent", translucent), _defineProperty(_class3, "footer-translucent-".concat(mode), translucent), _class3) + }, mode === 'ios' && translucent && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "footer-background" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Footer; + }(); + + Footer.style = { + ios: footerIosCss, + md: footerMdCss + }; + var TRANSITION = 'all 0.2s ease-in-out'; + + var cloneElement = function cloneElement(tagName) { + var getCachedEl = document.querySelector("".concat(tagName, ".ion-cloned-element")); + + if (getCachedEl !== null) { + return getCachedEl; + } + + var clonedEl = document.createElement(tagName); + clonedEl.classList.add('ion-cloned-element'); + clonedEl.style.setProperty('display', 'none'); + document.body.appendChild(clonedEl); + return clonedEl; + }; + + var createHeaderIndex = function createHeaderIndex(headerEl) { + if (!headerEl) { + return; + } + + var toolbars = headerEl.querySelectorAll('ion-toolbar'); + return { + el: headerEl, + toolbars: Array.from(toolbars).map(function (toolbar) { + var ionTitleEl = toolbar.querySelector('ion-title'); + return { + el: toolbar, + background: toolbar.shadowRoot.querySelector('.toolbar-background'), + ionTitleEl: ionTitleEl, + innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null, + ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || [] + }; + }) || [] + }; + }; + + var handleContentScroll = function handleContentScroll(scrollEl, scrollHeaderIndex, contentEl) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + var scrollTop = scrollEl.scrollTop; + var scale = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(1, 1 + -scrollTop / 500, 1.1); // Native refresher should not cause titles to scale + + var nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native'); + + if (nativeRefresher === null) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + scaleLargeTitles(scrollHeaderIndex.toolbars, scale); + }); + } + }); + }; + + var setToolbarBackgroundOpacity = function setToolbarBackgroundOpacity(toolbar, opacity) { + if (opacity === undefined) { + toolbar.background.style.removeProperty('--opacity'); + } else { + toolbar.background.style.setProperty('--opacity', opacity.toString()); + } + }; + + var handleToolbarBorderIntersection = function handleToolbarBorderIntersection(ev, mainHeaderIndex) { + if (!ev[0].isIntersecting) { + return; + } + /** + * There is a bug in Safari where overflow scrolling on a non-body element + * does not always reset the scrollTop position to 0 when letting go. It will + * set to 1 once the rubber band effect has ended. This causes the background to + * appear slightly on certain app setups. + */ + + + var scale = ev[0].intersectionRatio > 0.9 ? 0 : (1 - ev[0].intersectionRatio) * 100 / 75; + mainHeaderIndex.toolbars.forEach(function (toolbar) { + setToolbarBackgroundOpacity(toolbar, scale === 1 ? undefined : scale); + }); + }; + /** + * If toolbars are intersecting, hide the scrollable toolbar content + * and show the primary toolbar content. If the toolbars are not intersecting, + * hide the primary toolbar content and show the scrollable toolbar content + */ + + + var handleToolbarIntersection = function handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + handleToolbarBorderIntersection(ev, mainHeaderIndex); + var event = ev[0]; + var intersection = event.intersectionRect; + var intersectionArea = intersection.width * intersection.height; + var rootArea = event.rootBounds.width * event.rootBounds.height; + var isPageHidden = intersectionArea === 0 && rootArea === 0; + var leftDiff = Math.abs(intersection.left - event.boundingClientRect.left); + var rightDiff = Math.abs(intersection.right - event.boundingClientRect.right); + var isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5); + + if (isPageHidden || isPageTransitioning) { + return; + } + + if (event.isIntersecting) { + setHeaderActive(mainHeaderIndex, false); + setHeaderActive(scrollHeaderIndex); + } else { + /** + * There is a bug with IntersectionObserver on Safari + * where `event.isIntersecting === false` when cancelling + * a swipe to go back gesture. Checking the intersection + * x, y, width, and height provides a workaround. This bug + * does not happen when using Safari + Web Animations, + * only Safari + CSS Animations. + */ + var hasValidIntersection = intersection.x === 0 && intersection.y === 0 || intersection.width !== 0 && intersection.height !== 0; + + if (hasValidIntersection) { + setHeaderActive(mainHeaderIndex); + setHeaderActive(scrollHeaderIndex, false); + setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]); + } + } + }); + }; + + var setHeaderActive = function setHeaderActive(headerIndex) { + var active = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + if (active) { + headerIndex.el.classList.remove('header-collapse-condense-inactive'); + } else { + headerIndex.el.classList.add('header-collapse-condense-inactive'); + } + }; + + var scaleLargeTitles = function scaleLargeTitles() { + var toolbars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var scale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var transition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + toolbars.forEach(function (toolbar) { + var ionTitle = toolbar.ionTitleEl; + var titleDiv = toolbar.innerTitleEl; + + if (!ionTitle || ionTitle.size !== 'large') { + return; + } + + titleDiv.style.transition = transition ? TRANSITION : ''; + titleDiv.style.transform = "scale3d(".concat(scale, ", ").concat(scale, ", 1)"); + }); + }; + + var headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}"; + var headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}"; + + var Header = /*#__PURE__*/function () { + function Header(hostRef) { + _classCallCheck(this, Header); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.collapsibleHeaderInitialized = false; + /** + * If `true`, the header will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + * + * Note: In order to scroll content behind the header, the `fullscreen` + * attribute needs to be set on the content. + */ + + this.translucent = false; + } + + _createClass(Header, [{ + key: "componentDidLoad", + value: function () { + var _componentDidLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this.checkCollapsibleHeader(); + + case 2: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function componentDidLoad() { + return _componentDidLoad.apply(this, arguments); + } + + return componentDidLoad; + }() + }, { + key: "componentDidUpdate", + value: function () { + var _componentDidUpdate = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this.checkCollapsibleHeader(); + + case 2: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function componentDidUpdate() { + return _componentDidUpdate.apply(this, arguments); + } + + return componentDidUpdate; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.destroyCollapsibleHeader(); + } + }, { + key: "checkCollapsibleHeader", + value: function () { + var _checkCollapsibleHeader = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { + var hasCollapse, canCollapse, pageEl, contentEl; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + // Determine if the header can collapse + hasCollapse = this.collapse === 'condense'; + canCollapse = hasCollapse && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios' ? hasCollapse : false; + + if (!(!canCollapse && this.collapsibleHeaderInitialized)) { + _context5.next = 6; + break; + } + + this.destroyCollapsibleHeader(); + _context5.next = 12; + break; + + case 6: + if (!(canCollapse && !this.collapsibleHeaderInitialized)) { + _context5.next = 12; + break; + } + + pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner'); + contentEl = pageEl ? pageEl.querySelector('ion-content') : null; // Cloned elements are always needed in iOS transition + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + var title = cloneElement('ion-title'); + title.size = 'large'; + cloneElement('ion-back-button'); + }); + _context5.next = 12; + return this.setupCollapsibleHeader(contentEl, pageEl); + + case 12: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function checkCollapsibleHeader() { + return _checkCollapsibleHeader.apply(this, arguments); + } + + return checkCollapsibleHeader; + }() + }, { + key: "destroyCollapsibleHeader", + value: function destroyCollapsibleHeader() { + if (this.intersectionObserver) { + this.intersectionObserver.disconnect(); + this.intersectionObserver = undefined; + } + + if (this.scrollEl && this.contentScrollCallback) { + this.scrollEl.removeEventListener('scroll', this.contentScrollCallback); + this.contentScrollCallback = undefined; + } + + if (this.collapsibleMainHeader) { + this.collapsibleMainHeader.classList.remove('header-collapse-main'); + this.collapsibleMainHeader = undefined; + } + } + }, { + key: "setupCollapsibleHeader", + value: function () { + var _setupCollapsibleHeader = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(contentEl, pageEl) { + var _this5 = this; + + var headers, mainHeaderIndex, scrollHeaderIndex, toolbarIntersection; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + if (!(!contentEl || !pageEl)) { + _context6.next = 3; + break; + } + + console.error('ion-header requires a content to collapse, make sure there is an ion-content.'); + return _context6.abrupt("return"); + + case 3: + if (!(typeof IntersectionObserver === 'undefined')) { + _context6.next = 5; + break; + } + + return _context6.abrupt("return"); + + case 5: + _context6.next = 7; + return contentEl.getScrollElement(); + + case 7: + this.scrollEl = _context6.sent; + headers = pageEl.querySelectorAll('ion-header'); + this.collapsibleMainHeader = Array.from(headers).find(function (header) { + return header.collapse !== 'condense'; + }); + + if (this.collapsibleMainHeader) { + _context6.next = 12; + break; + } + + return _context6.abrupt("return"); + + case 12: + mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader); + scrollHeaderIndex = createHeaderIndex(this.el); + + if (!(!mainHeaderIndex || !scrollHeaderIndex)) { + _context6.next = 16; + break; + } + + return _context6.abrupt("return"); + + case 16: + setHeaderActive(mainHeaderIndex, false); + mainHeaderIndex.toolbars.forEach(function (toolbar) { + setToolbarBackgroundOpacity(toolbar, 0); + }); + /** + * Handle interaction between toolbar collapse and + * showing/hiding content in the primary ion-header + * as well as progressively showing/hiding the main header + * border as the top-most toolbar collapses or expands. + */ + + toolbarIntersection = function toolbarIntersection(ev) { + handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); + }; + + this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { + root: contentEl, + threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] + }); + this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el); + /** + * Handle scaling of large iOS titles and + * showing/hiding border on last toolbar + * in primary header + */ + + this.contentScrollCallback = function () { + handleContentScroll(_this5.scrollEl, scrollHeaderIndex, contentEl); + }; + + this.scrollEl.addEventListener('scroll', this.contentScrollCallback); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + if (_this5.collapsibleMainHeader !== undefined) { + _this5.collapsibleMainHeader.classList.add('header-collapse-main'); + } + }); + this.collapsibleHeaderInitialized = true; + + case 25: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function setupCollapsibleHeader(_x3, _x4) { + return _setupCollapsibleHeader.apply(this, arguments); + } + + return setupCollapsibleHeader; + }() + }, { + key: "render", + value: function render() { + var _class4; + + var translucent = this.translucent; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var collapse = this.collapse || 'none'; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "banner", + "class": (_class4 = {}, _defineProperty(_class4, mode, true), _defineProperty(_class4, "header-".concat(mode), true), _defineProperty(_class4, "header-translucent", this.translucent), _defineProperty(_class4, "header-collapse-".concat(collapse), true), _defineProperty(_class4, "header-translucent-".concat(mode), this.translucent), _class4) + }, mode === 'ios' && translucent && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "header-background" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Header; + }(); + + Header.style = { + ios: headerIosCss, + md: headerMdCss + }; + var routeOutletCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}"; + + var RouterOutlet = /*#__PURE__*/function () { + function RouterOutlet(hostRef) { + _classCallCheck(this, RouterOutlet); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionNavWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillChange", 3); + this.ionNavDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavDidChange", 3); + this.animationEnabled = true; + /** + * The mode determines which platform styles to use. + */ + + this.mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + /** + * If `true`, the router-outlet should animate the transition of components. + */ + + this.animated = true; + } + + _createClass(RouterOutlet, [{ + key: "swipeHandlerChanged", + value: function swipeHandlerChanged() { + if (this.gesture) { + this.gesture.enable(this.swipeHandler !== undefined); + } + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { + var _this6 = this; + + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + _context7.next = 2; + return __webpack_require__.e( + /*! import() | swipe-back-2154c9a7-js */ + "swipe-back-2154c9a7-js").then(__webpack_require__.bind(null, + /*! ./swipe-back-2154c9a7.js */ + "./node_modules/@ionic/core/dist/esm/swipe-back-2154c9a7.js")); + + case 2: + this.gesture = _context7.sent.createSwipeBackGesture(this.el, function () { + return !!_this6.swipeHandler && _this6.swipeHandler.canStart() && _this6.animationEnabled; + }, function () { + return _this6.swipeHandler && _this6.swipeHandler.onStart(); + }, function (step) { + return _this6.ani && _this6.ani.progressStep(step); + }, function (shouldComplete, step, dur) { + if (_this6.ani) { + _this6.animationEnabled = false; + + _this6.ani.onFinish(function () { + _this6.animationEnabled = true; + + if (_this6.swipeHandler) { + _this6.swipeHandler.onEnd(shouldComplete); + } + }, { + oneTimeCallback: true + }); // Account for rounding errors in JS + + + var newStepValue = shouldComplete ? -0.001 : 0.001; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + + if (!shouldComplete) { + _this6.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0]; + } else { + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0]; + } + + _this6.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur); + } + }); + this.swipeHandlerChanged(); + + case 4: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.ionNavWillLoad.emit(); + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** @internal */ + + }, { + key: "commit", + value: function () { + var _commit = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(enteringEl, leavingEl, opts) { + var unlock, changed; + return regeneratorRuntime.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return this.lock(); + + case 2: + unlock = _context8.sent; + changed = false; + _context8.prev = 4; + _context8.next = 7; + return this.transition(enteringEl, leavingEl, opts); + + case 7: + changed = _context8.sent; + _context8.next = 13; + break; + + case 10: + _context8.prev = 10; + _context8.t0 = _context8["catch"](4); + console.error(_context8.t0); + + case 13: + unlock(); + return _context8.abrupt("return", changed); + + case 15: + case "end": + return _context8.stop(); + } + } + }, _callee8, this, [[4, 10]]); + })); + + function commit(_x5, _x6, _x7) { + return _commit.apply(this, arguments); + } + + return commit; + }() + /** @internal */ + + }, { + key: "setRouteId", + value: function () { + var _setRouteId = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(id, params, direction, animation) { + var changed; + return regeneratorRuntime.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _context9.next = 2; + return this.setRoot(id, params, { + duration: direction === 'root' ? 0 : undefined, + direction: direction === 'back' ? 'back' : 'forward', + animationBuilder: animation + }); + + case 2: + changed = _context9.sent; + return _context9.abrupt("return", { + changed: changed, + element: this.activeEl + }); + + case 4: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function setRouteId(_x8, _x9, _x10, _x11) { + return _setRouteId.apply(this, arguments); + } + + return setRouteId; + }() + /** @internal */ + + }, { + key: "getRouteId", + value: function () { + var _getRouteId = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() { + var active; + return regeneratorRuntime.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + active = this.activeEl; + return _context10.abrupt("return", active ? { + id: active.tagName, + element: active + } : undefined); + + case 2: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function getRouteId() { + return _getRouteId.apply(this, arguments); + } + + return getRouteId; + }() + }, { + key: "setRoot", + value: function () { + var _setRoot = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11(component, params, opts) { + var leavingEl, enteringEl; + return regeneratorRuntime.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + if (!(this.activeComponent === component)) { + _context11.next = 2; + break; + } + + return _context11.abrupt("return", false); + + case 2: + // attach entering view to DOM + leavingEl = this.activeEl; + _context11.next = 5; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__["a"])(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params); + + case 5: + enteringEl = _context11.sent; + this.activeComponent = component; + this.activeEl = enteringEl; // commit animation + + _context11.next = 10; + return this.commit(enteringEl, leavingEl, opts); + + case 10: + _context11.next = 12; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this.delegate, leavingEl); + + case 12: + return _context11.abrupt("return", true); + + case 13: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function setRoot(_x12, _x13, _x14) { + return _setRoot.apply(this, arguments); + } + + return setRoot; + }() + }, { + key: "transition", + value: function () { + var _transition = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12(enteringEl, leavingEl) { + var _this7 = this; + + var opts, + el, + mode, + animated, + animationBuilder, + _args12 = arguments; + return regeneratorRuntime.wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + opts = _args12.length > 2 && _args12[2] !== undefined ? _args12[2] : {}; + + if (!(leavingEl === enteringEl)) { + _context12.next = 3; + break; + } + + return _context12.abrupt("return", false); + + case 3: + // emit nav will change event + this.ionNavWillChange.emit(); + el = this.el, mode = this.mode; + animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + animationBuilder = this.animation || opts.animationBuilder || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('navAnimation'); + _context12.next = 9; + return Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["t"])(Object.assign(Object.assign({ + mode: mode, + animated: animated, + enteringEl: enteringEl, + leavingEl: leavingEl, + baseEl: el, + progressCallback: opts.progressAnimation ? function (ani) { + return _this7.ani = ani; + } : undefined + }, opts), { + animationBuilder: animationBuilder + })); + + case 9: + // emit nav changed event + this.ionNavDidChange.emit(); + return _context12.abrupt("return", true); + + case 11: + case "end": + return _context12.stop(); + } + } + }, _callee12, this); + })); + + function transition(_x15, _x16) { + return _transition.apply(this, arguments); + } + + return transition; + }() + }, { + key: "lock", + value: function () { + var _lock = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() { + var p, resolve; + return regeneratorRuntime.wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + p = this.waitPromise; + this.waitPromise = new Promise(function (r) { + return resolve = r; + }); + + if (!(p !== undefined)) { + _context13.next = 5; + break; + } + + _context13.next = 5; + return p; + + case 5: + return _context13.abrupt("return", resolve); + + case 6: + case "end": + return _context13.stop(); + } + } + }, _callee13, this); + })); + + function lock() { + return _lock.apply(this, arguments); + } + + return lock; + }() + }, { + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "swipeHandler": ["swipeHandlerChanged"] + }; + } + }]); + + return RouterOutlet; + }(); + + RouterOutlet.style = routeOutletCss; + var titleIosCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@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:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host-context([dir=rtl]):host(.title-large),:host-context([dir=rtl]).title-large{-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}"; + var titleMdCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@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:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}"; + + var ToolbarTitle = /*#__PURE__*/function () { + function ToolbarTitle(hostRef) { + _classCallCheck(this, ToolbarTitle); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + } + + _createClass(ToolbarTitle, [{ + key: "sizeChanged", + value: function sizeChanged() { + this.emitStyle(); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.emitStyle(); + } + }, { + key: "emitStyle", + value: function emitStyle() { + var size = this.getSize(); + this.ionStyle.emit(_defineProperty({}, "title-".concat(size), true)); + } + }, { + key: "getSize", + value: function getSize() { + return this.size !== undefined ? this.size : 'default'; + } + }, { + key: "render", + value: function render() { + var _Object2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var size = this.getSize(); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, (_Object2 = {}, _defineProperty(_Object2, mode, true), _defineProperty(_Object2, "title-".concat(size), true), _Object2)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "toolbar-title" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "size": ["sizeChanged"] + }; + } + }]); + + return ToolbarTitle; + }(); + + ToolbarTitle.style = { + ios: titleIosCss, + md: titleMdCss + }; + var toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}"; + var toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}"; + + var Toolbar = /*#__PURE__*/function () { + function Toolbar(hostRef) { + _classCallCheck(this, Toolbar); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.childrenStyles = new Map(); + } + + _createClass(Toolbar, [{ + key: "componentWillLoad", + value: function componentWillLoad() { + var buttons = Array.from(this.el.querySelectorAll('ion-buttons')); + var firstButtons = buttons.find(function (button) { + return button.slot === 'start'; + }); + + if (firstButtons) { + firstButtons.classList.add('buttons-first-slot'); + } + + var buttonsReversed = buttons.reverse(); + var lastButtons = buttonsReversed.find(function (button) { + return button.slot === 'end'; + }) || buttonsReversed.find(function (button) { + return button.slot === 'primary'; + }) || buttonsReversed.find(function (button) { + return button.slot === 'secondary'; + }); + + if (lastButtons) { + lastButtons.classList.add('buttons-last-slot'); + } + } + }, { + key: "childrenStyle", + value: function childrenStyle(ev) { + ev.stopPropagation(); + var tagName = ev.target.tagName; + var updatedStyles = ev.detail; + var newStyles = {}; + var childStyles = this.childrenStyles.get(tagName) || {}; + var hasStyleChange = false; + Object.keys(updatedStyles).forEach(function (key) { + var childKey = "toolbar-".concat(key); + var newValue = updatedStyles[key]; + + if (newValue !== childStyles[childKey]) { + hasStyleChange = true; + } + + if (newValue) { + newStyles[childKey] = true; + } + }); + + if (hasStyleChange) { + this.childrenStyles.set(tagName, newStyles); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + } + } + }, { + key: "render", + value: function render() { + var _Object3; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var childStyles = {}; + this.childrenStyles.forEach(function (value) { + Object.assign(childStyles, value); + }); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object.assign(Object.assign({}, childStyles), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["c"])(this.color, (_Object3 = {}, _defineProperty(_Object3, mode, true), _defineProperty(_Object3, 'in-toolbar', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-toolbar', this.el)), _Object3))) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "toolbar-background" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "toolbar-container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "start" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "secondary" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "toolbar-content" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "primary" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "end" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Toolbar; + }(); + + Toolbar.style = { + ios: toolbarIosCss, + md: toolbarMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=2-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/2-es5.js.map b/android/app/src/main/assets/public/2-es5.js.map new file mode 100644 index 000000000..961746bbc --- /dev/null +++ b/android/app/src/main/assets/public/2-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-app_8.entry.js"],"names":["appCss","App","hostRef","rIC","isHybrid","window","getBoolean","then","module","startTapClick","startStatusTap","needInputShims","startInputShims","hardwareBackButtonModule","startHardwareBackButton","blockHardwareBackButton","startKeyboardAssist","startFocusVisible","mode","callback","requestIdleCallback","setTimeout","style","buttonsIosCss","buttonsMdCss","Buttons","collapse","ios","md","contentCss","Content","ionScrollStart","ionScroll","ionScrollEnd","isScrolling","lastScroll","queued","cTop","cBottom","detail","scrollTop","scrollLeft","type","event","undefined","startX","startY","startTime","currentX","currentY","velocityX","velocityY","deltaX","deltaY","currentTime","data","fullscreen","scrollX","scrollY","scrollEvents","onScrollEnd","resize","ev","preventDefault","stopPropagation","forceOverscroll","readDimensions","page","getPageElement","el","top","Math","max","offsetTop","bottom","offsetHeight","dirty","timeStamp","Date","now","shouldStart","onScrollStart","ts","updateScrollDetail","scrollEl","emit","Promise","resolve","duration","scrollToPoint","y","scrollHeight","clientHeight","x","promise","r","fromY","fromX","step","linearTime","min","easedT","pow","floor","requestAnimationFrame","watchDog","clearInterval","setInterval","shouldForceOverscroll","transitionShadow","color","id","part","ref","onScroll","name","getParentElement","parentElement","parentNode","host","tabs","closest","timestamp","prevX","prevY","prevT","timeDelta","footerIosCss","footerMdCss","Footer","translucent","role","TRANSITION","cloneElement","tagName","getCachedEl","document","querySelector","clonedEl","createElement","classList","add","setProperty","body","appendChild","createHeaderIndex","headerEl","toolbars","querySelectorAll","Array","from","map","toolbar","ionTitleEl","background","shadowRoot","innerTitleEl","ionButtonsEl","handleContentScroll","scrollHeaderIndex","contentEl","scale","nativeRefresher","scaleLargeTitles","setToolbarBackgroundOpacity","opacity","removeProperty","toString","handleToolbarBorderIntersection","mainHeaderIndex","isIntersecting","intersectionRatio","forEach","handleToolbarIntersection","intersection","intersectionRect","intersectionArea","width","height","rootArea","rootBounds","isPageHidden","leftDiff","abs","left","boundingClientRect","rightDiff","right","isPageTransitioning","setHeaderActive","hasValidIntersection","headerIndex","active","remove","transition","ionTitle","titleDiv","size","transform","headerIosCss","headerMdCss","Header","collapsibleHeaderInitialized","checkCollapsibleHeader","destroyCollapsibleHeader","hasCollapse","canCollapse","pageEl","title","setupCollapsibleHeader","intersectionObserver","disconnect","contentScrollCallback","removeEventListener","collapsibleMainHeader","console","error","IntersectionObserver","getScrollElement","headers","find","header","toolbarIntersection","root","threshold","observe","length","addEventListener","routeOutletCss","RouterOutlet","ionNavWillLoad","ionNavWillChange","ionNavDidChange","animationEnabled","animated","gesture","enable","swipeHandler","createSwipeBackGesture","canStart","onStart","ani","progressStep","shouldComplete","dur","onFinish","onEnd","oneTimeCallback","newStepValue","easing","progressEnd","swipeHandlerChanged","destroy","enteringEl","leavingEl","opts","lock","unlock","changed","params","direction","animation","setRoot","animationBuilder","element","activeEl","component","activeComponent","delegate","commit","get","Object","assign","baseEl","progressCallback","progressAnimation","p","waitPromise","titleIosCss","titleMdCss","ToolbarTitle","ionStyle","emitStyle","getSize","toolbarIosCss","toolbarMdCss","Toolbar","childrenStyles","Map","buttons","firstButtons","button","slot","buttonsReversed","reverse","lastButtons","target","updatedStyles","newStyles","childStyles","hasStyleChange","keys","key","childKey","newValue","set","value"],"mappings":"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","file":"2-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent, f as readTask, j as forceUpdate, c as writeTask } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config, i as isPlatform } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { t as transition } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\nconst appCss = \"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}\";\n\nconst App = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentDidLoad() {\n {\n rIC(async () => {\n const isHybrid = isPlatform(window, 'hybrid');\n if (!config.getBoolean('_testing')) {\n import('./tap-click-71d2324a.js').then(module => module.startTapClick(config));\n }\n if (config.getBoolean('statusTap', isHybrid)) {\n import('./status-tap-b46a1b02.js').then(module => module.startStatusTap());\n }\n if (config.getBoolean('inputShims', needInputShims())) {\n import('./input-shims-7a52f98d.js').then(module => module.startInputShims(config));\n }\n const hardwareBackButtonModule = await import('./hardware-back-button-4a6b37fb.js');\n if (config.getBoolean('hardwareBackButton', isHybrid)) {\n hardwareBackButtonModule.startHardwareBackButton();\n }\n else {\n hardwareBackButtonModule.blockHardwareBackButton();\n }\n if (typeof window !== 'undefined') {\n import('./keyboard-5742b5da.js').then(module => module.startKeyboardAssist(window));\n }\n import('./focus-visible-f4ad4f1a.js').then(module => module.startFocusVisible());\n });\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'ion-page': true,\n 'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),\n } }));\n }\n get el() { return getElement(this); }\n};\nconst needInputShims = () => {\n return isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n};\nconst rIC = (callback) => {\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(callback);\n }\n else {\n setTimeout(callback, 32);\n }\n};\nApp.style = appCss;\n\nconst buttonsIosCss = \".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}\";\n\nconst buttonsMdCss = \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\";\n\nconst Buttons = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If true, buttons will disappear when its\n * parent toolbar has fully collapsed if the toolbar\n * is not the first toolbar. If the toolbar is the\n * first toolbar, the buttons will be hidden and will\n * only be shown once all toolbars have fully collapsed.\n *\n * Only applies in `ios` mode with `collapse` set to\n * `true` on `ion-header`.\n *\n * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n */\n this.collapse = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n ['buttons-collapse']: this.collapse\n } }));\n }\n};\nButtons.style = {\n ios: buttonsIosCss,\n md: buttonsMdCss\n};\n\nconst contentCss = \":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{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)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}\";\n\nconst Content = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n this.ionScroll = createEvent(this, \"ionScroll\", 7);\n this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n this.isScrolling = false;\n this.lastScroll = 0;\n this.queued = false;\n this.cTop = -1;\n this.cBottom = -1;\n // Detail is used in a hot loop in the scroll event, by allocating it here\n // V8 will be able to inline any read/write to it since it's a monomorphic class.\n // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n this.detail = {\n scrollTop: 0,\n scrollLeft: 0,\n type: 'scroll',\n event: undefined,\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n data: undefined,\n isScrolling: true,\n };\n /**\n * If `true`, the content will scroll behind the headers\n * and footers. This effect can easily be seen by setting the toolbar\n * to transparent.\n */\n this.fullscreen = false;\n /**\n * If you want to enable the content scrolling in the X axis, set this property to `true`.\n */\n this.scrollX = false;\n /**\n * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n */\n this.scrollY = true;\n /**\n * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n * and start listening from (ionScroll), set this property to `true`.\n */\n this.scrollEvents = false;\n }\n disconnectedCallback() {\n this.onScrollEnd();\n }\n onAppLoad() {\n this.resize();\n }\n onClick(ev) {\n if (this.isScrolling) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n shouldForceOverscroll() {\n const { forceOverscroll } = this;\n const mode = getIonMode(this);\n return forceOverscroll === undefined\n ? mode === 'ios' && isPlatform('ios')\n : forceOverscroll;\n }\n resize() {\n if (this.fullscreen) {\n readTask(() => this.readDimensions());\n }\n else if (this.cTop !== 0 || this.cBottom !== 0) {\n this.cTop = this.cBottom = 0;\n forceUpdate(this);\n }\n }\n readDimensions() {\n const page = getPageElement(this.el);\n const top = Math.max(this.el.offsetTop, 0);\n const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n const dirty = top !== this.cTop || bottom !== this.cBottom;\n if (dirty) {\n this.cTop = top;\n this.cBottom = bottom;\n forceUpdate(this);\n }\n }\n onScroll(ev) {\n const timeStamp = Date.now();\n const shouldStart = !this.isScrolling;\n this.lastScroll = timeStamp;\n if (shouldStart) {\n this.onScrollStart();\n }\n if (!this.queued && this.scrollEvents) {\n this.queued = true;\n readTask(ts => {\n this.queued = false;\n this.detail.event = ev;\n updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);\n this.ionScroll.emit(this.detail);\n });\n }\n }\n /**\n * Get the element where the actual scrolling takes place.\n * This element can be used to subscribe to `scroll` events or manually modify\n * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n *\n * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n * and `scrollToPoint()` to scroll the content into a certain point.\n */\n getScrollElement() {\n return Promise.resolve(this.scrollEl);\n }\n /**\n * Scroll to the top of the component.\n *\n * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n */\n scrollToTop(duration = 0) {\n return this.scrollToPoint(undefined, 0, duration);\n }\n /**\n * Scroll to the bottom of the component.\n *\n * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n */\n scrollToBottom(duration = 0) {\n const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n return this.scrollToPoint(undefined, y, duration);\n }\n /**\n * Scroll by a specified X/Y distance in the component.\n *\n * @param x The amount to scroll by on the horizontal axis.\n * @param y The amount to scroll by on the vertical axis.\n * @param duration The amount of time to take scrolling by that amount.\n */\n scrollByPoint(x, y, duration) {\n return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);\n }\n /**\n * Scroll to a specified X/Y location in the component.\n *\n * @param x The point to scroll to on the horizontal axis.\n * @param y The point to scroll to on the vertical axis.\n * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n */\n async scrollToPoint(x, y, duration = 0) {\n const el = this.scrollEl;\n if (duration < 32) {\n if (y != null) {\n el.scrollTop = y;\n }\n if (x != null) {\n el.scrollLeft = x;\n }\n return;\n }\n let resolve;\n let startTime = 0;\n const promise = new Promise(r => resolve = r);\n const fromY = el.scrollTop;\n const fromX = el.scrollLeft;\n const deltaY = y != null ? y - fromY : 0;\n const deltaX = x != null ? x - fromX : 0;\n // scroll loop\n const step = (timeStamp) => {\n const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;\n const easedT = Math.pow(linearTime, 3) + 1;\n if (deltaY !== 0) {\n el.scrollTop = Math.floor((easedT * deltaY) + fromY);\n }\n if (deltaX !== 0) {\n el.scrollLeft = Math.floor((easedT * deltaX) + fromX);\n }\n if (easedT < 1) {\n // do not use DomController here\n // must use nativeRaf in order to fire in the next frame\n // TODO: remove as any\n requestAnimationFrame(step);\n }\n else {\n resolve();\n }\n };\n // chill out for a frame first\n requestAnimationFrame(ts => {\n startTime = ts;\n step(ts);\n });\n return promise;\n }\n onScrollStart() {\n this.isScrolling = true;\n this.ionScrollStart.emit({\n isScrolling: true\n });\n if (this.watchDog) {\n clearInterval(this.watchDog);\n }\n // watchdog\n this.watchDog = setInterval(() => {\n if (this.lastScroll < Date.now() - 120) {\n this.onScrollEnd();\n }\n }, 100);\n }\n onScrollEnd() {\n clearInterval(this.watchDog);\n this.watchDog = null;\n if (this.isScrolling) {\n this.isScrolling = false;\n this.ionScrollEnd.emit({\n isScrolling: false\n });\n }\n }\n render() {\n const { scrollX, scrollY } = this;\n const mode = getIonMode(this);\n const forceOverscroll = this.shouldForceOverscroll();\n const transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));\n this.resize();\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'content-sizing': hostContext('ion-popover', this.el),\n 'overscroll': forceOverscroll,\n }), style: {\n '--offset-top': `${this.cTop}px`,\n '--offset-bottom': `${this.cBottom}px`,\n } }, h(\"div\", { id: \"background-content\", part: \"background\" }), h(\"main\", { class: {\n 'inner-scroll': true,\n 'scroll-x': scrollX,\n 'scroll-y': scrollY,\n 'overscroll': (scrollX || scrollY) && forceOverscroll\n }, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: \"scroll\" }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n }\n get el() { return getElement(this); }\n};\nconst getParentElement = (el) => {\n if (el.parentElement) {\n // normal element with a parent element\n return el.parentElement;\n }\n if (el.parentNode && el.parentNode.host) {\n // shadow dom's document fragment\n return el.parentNode.host;\n }\n return null;\n};\nconst getPageElement = (el) => {\n const tabs = el.closest('ion-tabs');\n if (tabs) {\n return tabs;\n }\n const page = el.closest('ion-app,ion-page,.ion-page,page-inner');\n if (page) {\n return page;\n }\n return getParentElement(el);\n};\n// ******** DOM READ ****************\nconst updateScrollDetail = (detail, el, timestamp, shouldStart) => {\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n const currentX = el.scrollLeft;\n const currentY = el.scrollTop;\n const timeDelta = timestamp - prevT;\n if (shouldStart) {\n // remember the start positions\n detail.startTime = timestamp;\n detail.startX = currentX;\n detail.startY = currentY;\n detail.velocityX = detail.velocityY = 0;\n }\n detail.currentTime = timestamp;\n detail.currentX = detail.scrollLeft = currentX;\n detail.currentY = detail.scrollTop = currentY;\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n};\nContent.style = contentCss;\n\nconst footerIosCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}\";\n\nconst footerMdCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\\\");background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}\";\n\nconst Footer = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the footer 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 * Note: In order to scroll content behind the footer, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n render() {\n const mode = getIonMode(this);\n const translucent = this.translucent;\n return (h(Host, { role: \"contentinfo\", class: {\n [mode]: true,\n // Used internally for styling\n [`footer-${mode}`]: true,\n [`footer-translucent`]: translucent,\n [`footer-translucent-${mode}`]: translucent,\n } }, mode === 'ios' && translucent &&\n h(\"div\", { class: \"footer-background\" }), h(\"slot\", null)));\n }\n};\nFooter.style = {\n ios: footerIosCss,\n md: footerMdCss\n};\n\nconst TRANSITION = 'all 0.2s ease-in-out';\nconst cloneElement = (tagName) => {\n const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n const clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nconst createHeaderIndex = (headerEl) => {\n if (!headerEl) {\n return;\n }\n const toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map((toolbar) => {\n const ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl,\n innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []\n };\n }) || []\n };\n};\nconst handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const scale = clamp(1, 1 + (-scrollTop / 500), 1.1);\n // Native refresher should not cause titles to scale\n const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n if (nativeRefresher === null) {\n writeTask(() => {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n }\n });\n};\nconst setToolbarBackgroundOpacity = (toolbar, opacity) => {\n if (opacity === undefined) {\n toolbar.background.style.removeProperty('--opacity');\n }\n else {\n toolbar.background.style.setProperty('--opacity', opacity.toString());\n }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {\n if (!ev[0].isIntersecting) {\n return;\n }\n /**\n * There is a bug in Safari where overflow scrolling on a non-body element\n * does not always reset the scrollTop position to 0 when letting go. It will\n * set to 1 once the rubber band effect has ended. This causes the background to\n * appear slightly on certain app setups.\n */\n const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n mainHeaderIndex.toolbars.forEach(toolbar => {\n setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale);\n });\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nconst handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {\n writeTask(() => {\n handleToolbarBorderIntersection(ev, mainHeaderIndex);\n const event = ev[0];\n const intersection = event.intersectionRect;\n const intersectionArea = intersection.width * intersection.height;\n const rootArea = event.rootBounds.width * event.rootBounds.height;\n const isPageHidden = intersectionArea === 0 && rootArea === 0;\n const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]);\n }\n }\n });\n};\nconst setHeaderActive = (headerIndex, active = true) => {\n if (active) {\n headerIndex.el.classList.remove('header-collapse-condense-inactive');\n }\n else {\n headerIndex.el.classList.add('header-collapse-condense-inactive');\n }\n};\nconst scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n toolbars.forEach(toolbar => {\n const ionTitle = toolbar.ionTitleEl;\n const titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transition = (transition) ? TRANSITION : '';\n titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n });\n};\n\nconst headerIosCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}\";\n\nconst headerMdCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}\";\n\nconst Header = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.collapsibleHeaderInitialized = false;\n /**\n * If `true`, the header 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 * Note: In order to scroll content behind the header, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n async componentDidLoad() {\n await this.checkCollapsibleHeader();\n }\n async componentDidUpdate() {\n await this.checkCollapsibleHeader();\n }\n disconnectedCallback() {\n this.destroyCollapsibleHeader();\n }\n async checkCollapsibleHeader() {\n // Determine if the header can collapse\n const hasCollapse = this.collapse === 'condense';\n const canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;\n if (!canCollapse && this.collapsibleHeaderInitialized) {\n this.destroyCollapsibleHeader();\n }\n else if (canCollapse && !this.collapsibleHeaderInitialized) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n // Cloned elements are always needed in iOS transition\n writeTask(() => {\n const title = cloneElement('ion-title');\n title.size = 'large';\n cloneElement('ion-back-button');\n });\n await this.setupCollapsibleHeader(contentEl, pageEl);\n }\n }\n destroyCollapsibleHeader() {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n if (this.collapsibleMainHeader) {\n this.collapsibleMainHeader.classList.remove('header-collapse-main');\n this.collapsibleMainHeader = undefined;\n }\n }\n async setupCollapsibleHeader(contentEl, pageEl) {\n if (!contentEl || !pageEl) {\n console.error('ion-header requires a content to collapse, make sure there is an ion-content.');\n return;\n }\n if (typeof IntersectionObserver === 'undefined') {\n return;\n }\n this.scrollEl = await contentEl.getScrollElement();\n const headers = pageEl.querySelectorAll('ion-header');\n this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n if (!this.collapsibleMainHeader) {\n return;\n }\n const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n const scrollHeaderIndex = createHeaderIndex(this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n mainHeaderIndex.toolbars.forEach(toolbar => {\n setToolbarBackgroundOpacity(toolbar, 0);\n });\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };\n this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });\n this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); };\n this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n writeTask(() => {\n if (this.collapsibleMainHeader !== undefined) {\n this.collapsibleMainHeader.classList.add('header-collapse-main');\n }\n });\n this.collapsibleHeaderInitialized = true;\n }\n render() {\n const { translucent } = this;\n const mode = getIonMode(this);\n const collapse = this.collapse || 'none';\n return (h(Host, { role: \"banner\", class: {\n [mode]: true,\n // Used internally for styling\n [`header-${mode}`]: true,\n [`header-translucent`]: this.translucent,\n [`header-collapse-${collapse}`]: true,\n [`header-translucent-${mode}`]: this.translucent,\n } }, mode === 'ios' && translucent &&\n h(\"div\", { class: \"header-background\" }), h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n};\nHeader.style = {\n ios: headerIosCss,\n md: headerMdCss\n};\n\nconst routeOutletCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nconst RouterOutlet = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n this.animationEnabled = true;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode(this);\n /**\n * If `true`, the router-outlet should animate the transition of components.\n */\n this.animated = true;\n }\n swipeHandlerChanged() {\n if (this.gesture) {\n this.gesture.enable(this.swipeHandler !== undefined);\n }\n }\n async connectedCallback() {\n this.gesture = (await import('./swipe-back-2154c9a7.js')).createSwipeBackGesture(this.el, () => !!this.swipeHandler && this.swipeHandler.canStart() && this.animationEnabled, () => this.swipeHandler && this.swipeHandler.onStart(), step => this.ani && this.ani.progressStep(step), (shouldComplete, step, dur) => {\n if (this.ani) {\n this.animationEnabled = false;\n this.ani.onFinish(() => {\n this.animationEnabled = true;\n if (this.swipeHandler) {\n this.swipeHandler.onEnd(shouldComplete);\n }\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];\n }\n else {\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];\n }\n this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n });\n this.swipeHandlerChanged();\n }\n componentWillLoad() {\n this.ionNavWillLoad.emit();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /** @internal */\n async commit(enteringEl, leavingEl, opts) {\n const unlock = await this.lock();\n let changed = false;\n try {\n changed = await this.transition(enteringEl, leavingEl, opts);\n }\n catch (e) {\n console.error(e);\n }\n unlock();\n return changed;\n }\n /** @internal */\n async setRouteId(id, params, direction, animation) {\n const changed = await this.setRoot(id, params, {\n duration: direction === 'root' ? 0 : undefined,\n direction: direction === 'back' ? 'back' : 'forward',\n animationBuilder: animation\n });\n return {\n changed,\n element: this.activeEl\n };\n }\n /** @internal */\n async getRouteId() {\n const active = this.activeEl;\n return active ? {\n id: active.tagName,\n element: active,\n } : undefined;\n }\n async setRoot(component, params, opts) {\n if (this.activeComponent === component) {\n return false;\n }\n // attach entering view to DOM\n const leavingEl = this.activeEl;\n const enteringEl = await attachComponent(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params);\n this.activeComponent = component;\n this.activeEl = enteringEl;\n // commit animation\n await this.commit(enteringEl, leavingEl, opts);\n await detachComponent(this.delegate, leavingEl);\n return true;\n }\n async transition(enteringEl, leavingEl, opts = {}) {\n if (leavingEl === enteringEl) {\n return false;\n }\n // emit nav will change event\n this.ionNavWillChange.emit();\n const { el, mode } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const animationBuilder = this.animation || opts.animationBuilder || config.get('navAnimation');\n await transition(Object.assign(Object.assign({ mode,\n animated,\n enteringEl,\n leavingEl, baseEl: el, progressCallback: (opts.progressAnimation\n ? ani => this.ani = ani\n : undefined) }, opts), { animationBuilder }));\n // emit nav changed event\n this.ionNavDidChange.emit();\n return true;\n }\n async lock() {\n const p = this.waitPromise;\n let resolve;\n this.waitPromise = new Promise(r => resolve = r);\n if (p !== undefined) {\n await p;\n }\n return resolve;\n }\n render() {\n return (h(\"slot\", null));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeHandler\": [\"swipeHandlerChanged\"]\n }; }\n};\nRouterOutlet.style = routeOutletCss;\n\nconst titleIosCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@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:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host-context([dir=rtl]):host(.title-large),:host-context([dir=rtl]).title-large{-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}\";\n\nconst titleMdCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@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:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}\";\n\nconst ToolbarTitle = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n sizeChanged() {\n this.emitStyle();\n }\n connectedCallback() {\n this.emitStyle();\n }\n emitStyle() {\n const size = this.getSize();\n this.ionStyle.emit({\n [`title-${size}`]: true\n });\n }\n getSize() {\n return (this.size !== undefined) ? this.size : 'default';\n }\n render() {\n const mode = getIonMode(this);\n const size = this.getSize();\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n [`title-${size}`]: true,\n }) }, h(\"div\", { class: \"toolbar-title\" }, h(\"slot\", null))));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"size\": [\"sizeChanged\"]\n }; }\n};\nToolbarTitle.style = {\n ios: titleIosCss,\n md: titleMdCss\n};\n\nconst toolbarIosCss = \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}\";\n\nconst toolbarMdCss = \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-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{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}\";\n\nconst Toolbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.childrenStyles = new Map();\n }\n componentWillLoad() {\n const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));\n const firstButtons = buttons.find(button => {\n return button.slot === 'start';\n });\n if (firstButtons) {\n firstButtons.classList.add('buttons-first-slot');\n }\n const buttonsReversed = buttons.reverse();\n const lastButtons = buttonsReversed.find(button => button.slot === 'end') ||\n buttonsReversed.find(button => button.slot === 'primary') ||\n buttonsReversed.find(button => button.slot === 'secondary');\n if (lastButtons) {\n lastButtons.classList.add('buttons-last-slot');\n }\n }\n childrenStyle(ev) {\n ev.stopPropagation();\n const tagName = ev.target.tagName;\n const updatedStyles = ev.detail;\n const newStyles = {};\n const childStyles = this.childrenStyles.get(tagName) || {};\n let hasStyleChange = false;\n Object.keys(updatedStyles).forEach(key => {\n const childKey = `toolbar-${key}`;\n const newValue = updatedStyles[key];\n if (newValue !== childStyles[childKey]) {\n hasStyleChange = true;\n }\n if (newValue) {\n newStyles[childKey] = true;\n }\n });\n if (hasStyleChange) {\n this.childrenStyles.set(tagName, newStyles);\n forceUpdate(this);\n }\n }\n render() {\n const mode = getIonMode(this);\n const childStyles = {};\n this.childrenStyles.forEach(value => {\n Object.assign(childStyles, value);\n });\n return (h(Host, { class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n })) }, h(\"div\", { class: \"toolbar-background\" }), h(\"div\", { class: \"toolbar-container\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"secondary\" }), h(\"div\", { class: \"toolbar-content\" }, h(\"slot\", null)), h(\"slot\", { name: \"primary\" }), h(\"slot\", { name: \"end\" }))));\n }\n get el() { return getElement(this); }\n};\nToolbar.style = {\n ios: toolbarIosCss,\n md: toolbarMdCss\n};\n\nexport { App as ion_app, Buttons as ion_buttons, Content as ion_content, Footer as ion_footer, Header as ion_header, RouterOutlet as ion_router_outlet, ToolbarTitle as ion_title, Toolbar as ion_toolbar };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/20-es2015.js b/android/app/src/main/assets/public/20-es2015.js new file mode 100644 index 000000000..9f721b652 --- /dev/null +++ b/android/app/src/main/assets/public/20-es2015.js @@ -0,0 +1,510 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[20],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-modal.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-modal.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_modal */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_modal", function() { return Modal; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index-d8cfb4a8.js */ "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); +/* harmony import */ var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cubic-bezier-eea9a7a9.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); +/* harmony import */ var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./gesture-controller-31cb6bb9.js */ "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); +/* harmony import */ var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); +/* harmony import */ var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./framework-delegate-4584ab5a.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + + + + + + + + + + + + +// Defaults for the card swipe animation +const SwipeToCloseDefaults = { + MIN_PRESENTING_SCALE: 0.93, +}; +const createSwipeToCloseGesture = (el, animation, onDismiss) => { + const height = el.offsetHeight; + let isOpen = false; + const canStart = (detail) => { + const target = detail.event.target; + if (target === null || + !target.closest) { + return true; + } + const content = target.closest('ion-content'); + if (content === null) { + return true; + } + // Target is in the content so we don't start the gesture. + // We could be more nuanced here and allow it for content that + // does not need to scroll. + return false; + }; + const onStart = () => { + animation.progressStart(true, (isOpen) ? 1 : 0); + }; + const onMove = (detail) => { + const step = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0.0001, detail.deltaY / height, 0.9999); + animation.progressStep(step); + }; + const onEnd = (detail) => { + const velocity = detail.velocityY; + const step = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0.0001, detail.deltaY / height, 0.9999); + const threshold = (detail.deltaY + velocity * 1000) / height; + const shouldComplete = threshold >= 0.5; + let newStepValue = (shouldComplete) ? -0.001 : 0.001; + if (!shouldComplete) { + animation.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0]; + } + else { + animation.easing('cubic-bezier(0.32, 0.72, 0, 1)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0]; + } + const duration = (shouldComplete) ? computeDuration(step * height, velocity) : computeDuration((1 - step) * height, velocity); + isOpen = shouldComplete; + gesture.enable(false); + animation + .onFinish(() => { + if (!shouldComplete) { + gesture.enable(true); + } + }) + .progressEnd((shouldComplete) ? 1 : 0, newStepValue, duration); + if (shouldComplete) { + onDismiss(); + } + }; + const gesture = Object(_index_f49d994d_js__WEBPACK_IMPORTED_MODULE_7__["createGesture"])({ + el, + gestureName: 'modalSwipeToClose', + gesturePriority: 40, + direction: 'y', + threshold: 10, + canStart, + onStart, + onMove, + onEnd + }); + return gesture; +}; +const computeDuration = (remaining, velocity) => { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(400, remaining / Math.abs(velocity * 1.1), 500); +}; + +/** + * iOS Modal Enter Animation for the Card presentation style + */ +const iosEnterAnimation = (baseEl, presentingEl) => { + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow')) + .beforeStyles({ 'opacity': 1 }) + .fromTo('transform', 'translateY(100vh)', 'translateY(0vh)'); + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl) + .easing('cubic-bezier(0.32,0.72,0,1)') + .duration(500) + .addAnimation(wrapperAnimation); + if (presentingEl) { + const isMobile = window.innerWidth < 768; + const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined); + const presentingAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .beforeStyles({ + 'transform': 'translateY(0)', + 'transform-origin': 'top center', + 'overflow': 'hidden' + }); + const bodyEl = document.body; + if (isMobile) { + /** + * Fallback for browsers that does not support `max()` (ex: Firefox) + * No need to worry about statusbar padding since engines like Gecko + * are not used as the engine for standlone Cordova/Capacitor apps + */ + const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))'; + const modalTransform = hasCardModal ? '-10px' : transformOffset; + const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE; + const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`; + presentingAnimation + .afterStyles({ + 'transform': finalTransform + }) + .beforeAddWrite(() => bodyEl.style.setProperty('background-color', 'black')) + .addElement(presentingEl) + .keyframes([ + { offset: 0, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' }, + { offset: 1, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' } + ]); + baseAnimation.addAnimation(presentingAnimation); + } + else { + baseAnimation.addAnimation(backdropAnimation); + if (!hasCardModal) { + wrapperAnimation.fromTo('opacity', '0', '1'); + } + else { + const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1; + const finalTransform = `translateY(-10px) scale(${toPresentingScale})`; + presentingAnimation + .afterStyles({ + 'transform': finalTransform + }) + .addElement(presentingEl.querySelector('.modal-wrapper')) + .keyframes([ + { offset: 0, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' }, + { offset: 1, filter: 'contrast(0.85)', transform: finalTransform } + ]); + const shadowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .afterStyles({ + 'transform': finalTransform + }) + .addElement(presentingEl.querySelector('.modal-shadow')) + .keyframes([ + { offset: 0, opacity: '1', transform: 'translateY(0) scale(1)' }, + { offset: 1, opacity: '0', transform: finalTransform } + ]); + baseAnimation.addAnimation([presentingAnimation, shadowAnimation]); + } + } + } + else { + baseAnimation.addAnimation(backdropAnimation); + } + return baseAnimation; +}; + +/** + * iOS Modal Leave Animation + */ +const iosLeaveAnimation = (baseEl, presentingEl, duration = 500) => { + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0.0); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow')) + .beforeStyles({ 'opacity': 1 }) + .fromTo('transform', 'translateY(0vh)', 'translateY(100vh)'); + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(baseEl) + .easing('cubic-bezier(0.32,0.72,0,1)') + .duration(duration) + .addAnimation(wrapperAnimation); + if (presentingEl) { + const isMobile = window.innerWidth < 768; + const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined); + const presentingAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .beforeClearStyles(['transform']) + .afterClearStyles(['transform']) + .onFinish(currentStep => { + // only reset background color if this is the last card-style modal + if (currentStep !== 1) { + return; + } + presentingEl.style.setProperty('overflow', ''); + const numModals = Array.from(bodyEl.querySelectorAll('ion-modal')).filter(m => m.presentingElement !== undefined).length; + if (numModals <= 1) { + bodyEl.style.setProperty('background-color', ''); + } + }); + const bodyEl = document.body; + if (isMobile) { + const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))'; + const modalTransform = hasCardModal ? '-10px' : transformOffset; + const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE; + const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`; + presentingAnimation + .addElement(presentingEl) + .keyframes([ + { offset: 0, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' }, + { offset: 1, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' } + ]); + baseAnimation.addAnimation(presentingAnimation); + } + else { + baseAnimation.addAnimation(backdropAnimation); + if (!hasCardModal) { + wrapperAnimation.fromTo('opacity', '1', '0'); + } + else { + const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1; + const finalTransform = `translateY(-10px) scale(${toPresentingScale})`; + presentingAnimation + .addElement(presentingEl.querySelector('.modal-wrapper')) + .afterStyles({ + 'transform': 'translate3d(0, 0, 0)' + }) + .keyframes([ + { offset: 0, filter: 'contrast(0.85)', transform: finalTransform }, + { offset: 1, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' } + ]); + const shadowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(presentingEl.querySelector('.modal-shadow')) + .afterStyles({ + 'transform': 'translateY(0) scale(1)' + }) + .keyframes([ + { offset: 0, opacity: '0', transform: finalTransform }, + { offset: 1, opacity: '1', transform: 'translateY(0) scale(1)' } + ]); + baseAnimation.addAnimation([presentingAnimation, shadowAnimation]); + } + } + } + else { + baseAnimation.addAnimation(backdropAnimation); + } + return baseAnimation; +}; + +/** + * Md Modal Enter Animation + */ +const mdEnterAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.modal-wrapper')) + .keyframes([ + { offset: 0, opacity: 0.01, transform: 'translateY(40px)' }, + { offset: 1, opacity: 1, transform: 'translateY(0px)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(0.36,0.66,0.04,1)') + .duration(280) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Modal Leave Animation + */ +const mdLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperEl = baseEl.querySelector('.modal-wrapper'); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0.0); + wrapperAnimation + .addElement(wrapperEl) + .keyframes([ + { offset: 0, opacity: 0.99, transform: 'translateY(0px)' }, + { offset: 1, opacity: 0, transform: 'translateY(40px)' } + ]); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(0.47,0,0.745,0.715)') + .duration(200) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const modalIosCss = ".sc-ion-modal-ios-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-ios-h{display:none}.modal-wrapper.sc-ion-modal-ios,.modal-shadow.sc-ion-modal-ios{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-ios{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-ios-h{--width:600px;--height:600px}}.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--border-radius:10px}}.modal-wrapper.sc-ion-modal-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - 40px)}}.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}[dir=rtl].sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl].modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{display:none}.modal-card.sc-ion-modal-ios-h ion-backdrop.sc-ion-modal-ios{pointer-events:none}}@media screen and (min-width: 768px){.modal-card.sc-ion-modal-ios-h{--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.modal-card.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:0.18}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{-webkit-box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1)}}"; + +const modalMdCss = ".sc-ion-modal-md-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-md-h{display:none}.modal-wrapper.sc-ion-modal-md,.modal-shadow.sc-ion-modal-md{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-md{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-md-h{--width:600px;--height:600px}}.sc-ion-modal-md-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--border-radius:2px}.sc-ion-modal-md-h:first-of-type{--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper.sc-ion-modal-md{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}"; + +const Modal = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalDidDismiss", 7); + // Whether or not modal is being dismissed via gesture + this.gestureAnimationDismissing = false; + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * If `true`, the modal will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = true; + /** + * If `true`, a backdrop will be displayed behind the modal. + */ + this.showBackdrop = true; + /** + * If `true`, the modal will animate. + */ + this.animated = true; + /** + * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode. + */ + this.swipeToClose = false; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["B"]); + }; + this.onDismiss = (ev) => { + ev.stopPropagation(); + ev.preventDefault(); + this.dismiss(); + }; + this.onLifecycle = (modalEvent) => { + const el = this.usersElement; + const name = LIFECYCLE_MAP[modalEvent.type]; + if (el && name) { + const ev = new CustomEvent(name, { + bubbles: false, + cancelable: false, + detail: modalEvent.detail + }); + el.dispatchEvent(ev); + } + }; + } + swipeToCloseChanged(enable) { + if (this.gesture) { + this.gesture.enable(enable); + } + else if (enable) { + this.initSwipeToClose(); + } + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["e"])(this.el); + } + /** + * Present the modal overlay after it has been created. + */ + async present() { + if (this.presented) { + return; + } + const container = this.el.querySelector(`.modal-wrapper`); + if (!container) { + throw new Error('container is undefined'); + } + const componentProps = Object.assign(Object.assign({}, this.componentProps), { modal: this.el }); + this.usersElement = await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__["a"])(this.delegate, container, this.component, ['ion-page'], componentProps); + await Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__["e"])(this.usersElement); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => this.el.classList.add('show-modal')); + await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["d"])(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, this.presentingElement); + if (this.swipeToClose) { + this.initSwipeToClose(); + } + } + initSwipeToClose() { + if (Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) !== 'ios') { + return; + } + // All of the elements needed for the swipe gesture + // should be in the DOM and referenced by now, except + // for the presenting el + const animationBuilder = this.leaveAnimation || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('modalLeave', iosLeaveAnimation); + const ani = this.animation = animationBuilder(this.el, this.presentingElement); + this.gesture = createSwipeToCloseGesture(this.el, ani, () => { + /** + * While the gesture animation is finishing + * it is possible for a user to tap the backdrop. + * This would result in the dismiss animation + * being played again. Typically this is avoided + * by setting `presented = false` on the overlay + * component; however, we cannot do that here as + * that would prevent the element from being + * removed from the DOM. + */ + this.gestureAnimationDismissing = true; + this.animation.onFinish(async () => { + await this.dismiss(undefined, 'gesture'); + this.gestureAnimationDismissing = false; + }); + }); + this.gesture.enable(true); + } + /** + * Dismiss the modal overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. + */ + async dismiss(data, role) { + if (this.gestureAnimationDismissing && role !== 'gesture') { + return false; + } + const enteringAnimation = _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["h"].get(this) || []; + const dismissed = await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["f"])(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, this.presentingElement); + if (dismissed) { + await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__["d"])(this.delegate, this.usersElement); + if (this.animation) { + this.animation.destroy(); + } + enteringAnimation.forEach(ani => ani.destroy()); + } + this.animation = undefined; + return dismissed; + } + /** + * Returns a promise that resolves when the modal did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["g"])(this.el, 'ionModalDidDismiss'); + } + /** + * Returns a promise that resolves when the modal will dismiss. + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["g"])(this.el, 'ionModalWillDismiss'); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "no-router": true, "aria-modal": "true", tabindex: "-1", class: Object.assign({ [mode]: true, [`modal-card`]: this.presentingElement !== undefined && mode === 'ios' }, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(this.cssClass)), style: { + zIndex: `${20000 + this.overlayIndex}`, + }, onIonBackdropTap: this.onBackdropTap, onIonDismiss: this.onDismiss, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { visible: this.showBackdrop, tappable: this.backdropDismiss }), mode === 'ios' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "modal-shadow" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { role: "dialog", class: "modal-wrapper ion-overlay-wrapper" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "swipeToClose": ["swipeToCloseChanged"] + }; } +}; +const LIFECYCLE_MAP = { + 'ionModalDidPresent': 'ionViewDidEnter', + 'ionModalWillPresent': 'ionViewWillEnter', + 'ionModalWillDismiss': 'ionViewWillLeave', + 'ionModalDidDismiss': 'ionViewDidLeave', +}; +Modal.style = { + ios: modalIosCss, + md: modalMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=20-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/20-es2015.js.map b/android/app/src/main/assets/public/20-es2015.js.map new file mode 100644 index 000000000..23de1b0da --- /dev/null +++ b/android/app/src/main/assets/public/20-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-modal.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6H;AACnD;AACvB;AACY;AACV;AACqB;AAChC;AACU;AACR;AACqG;AAC1F;AACuC;;AAE9F;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,8DAAK;AACtB;AACA;AACA;AACA;AACA,iBAAiB,8DAAK;AACtB;AACA;AACA;AACA;AACA;AACA,sBAAsB,mEAAuB;AAC7C;AACA;AACA;AACA,sBAAsB,mEAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,kBAAkB,wEAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,8DAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gEAAe;AAC3C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,2BAA2B,gEAAe;AAC1C;AACA,mBAAmB,eAAe;AAClC;AACA,wBAAwB,gEAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gEAAe;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe,UAAU,kBAAkB;AACtF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS,+FAA+F;AACxG,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW,wEAAwE;AACnF,WAAW;AACX;AACA,gCAAgC,gEAAe;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW,+DAA+D;AAC1E,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,gEAAe;AAC3C;AACA;AACA,2BAA2B,gEAAe;AAC1C;AACA,mBAAmB,eAAe;AAClC;AACA,wBAAwB,gEAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gEAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2CAA2C,eAAe,UAAU,kBAAkB;AACtF;AACA;AACA;AACA,SAAS,gGAAgG;AACzG,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,iEAAiE;AAC5E,WAAW;AACX;AACA,gCAAgC,gEAAe;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA,WAAW,qDAAqD;AAChE,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK,0DAA0D;AAC/D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,yDAAyD;AAC9D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,aAAa,iBAAiB,iBAAiB,cAAc,kBAAkB,kBAAkB,kBAAkB,kBAAkB,iBAAiB,oBAAoB,2BAA2B,+CAA+C,kBAAkB,qBAAqB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,eAAe,mCAAmC,aAAa,+DAA+D,mCAAmC,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,iCAAiC,iCAAiC,iCAAiC,6BAA6B,qCAAqC,6BAA6B,yBAAyB,WAAW,+BAA+B,kBAAkB,uBAAuB,kEAAkE,oBAAoB,cAAc,eAAe,wBAAwB,2BAA2B,0BAA0B,0BAA0B,kEAAkE,oBAAoB,cAAc,gBAAgB,kCAAkC,oDAAoD,kEAAkE,oBAAoB,sBAAsB,gCAAgC,4CAA4C,oCAAoC,qCAAqC,iCAAiC,+BAA+B,kEAAkE,qCAAqC,+BAA+B,4BAA4B,+DAA+D,4BAA4B,6BAA6B,6BAA6B,4BAA4B,sWAAsW,4BAA4B,6BAA6B,6BAA6B,4BAA4B,+BAA+B,qBAAqB,aAAa,mBAAmB,qBAAqB,8DAA8D,aAAa,6DAA6D,qBAAqB,qCAAqC,+BAA+B,2BAA2B,uFAAuF,kBAAkB,oBAAoB,+BAA+B,qBAAqB,wCAAwC,gCAAgC,6CAA6C,wBAAwB,8DAA8D,wDAAwD,iDAAiD;;AAEx7G,uCAAuC,aAAa,iBAAiB,iBAAiB,cAAc,kBAAkB,kBAAkB,kBAAkB,kBAAkB,iBAAiB,oBAAoB,2BAA2B,+CAA+C,kBAAkB,qBAAqB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,eAAe,kCAAkC,aAAa,6DAA6D,mCAAmC,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,iCAAiC,iCAAiC,iCAAiC,6BAA6B,qCAAqC,6BAA6B,yBAAyB,WAAW,8BAA8B,kBAAkB,uBAAuB,kEAAkE,mBAAmB,cAAc,eAAe,wBAAwB,2BAA2B,0BAA0B,0BAA0B,kEAAkE,mBAAmB,cAAc,gBAAgB,iCAAiC,qDAAqD,kEAAkE,mBAAmB,oBAAoB,iCAAiC,6CAA6C,+BAA+B,4CAA4C,oCAAoC,aAAa;;AAE7yD;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAyB,iBAAiB;AACnG,8BAA8B,0EAAe;AAC7C,UAAU,4DAAS;AACnB,IAAI,4DAAS;AACb,UAAU,+DAAO;AACjB;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAU;AAClB;AACA;AACA;AACA;AACA;AACA,oDAAoD,2DAAM;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uDAAgB;AAC9C,4BAA4B,+DAAO;AACnC;AACA,YAAY,0EAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,gFAAgF,uFAAuF,EAAE,6DAAW;AACzM,mBAAmB,0BAA0B;AAC7C,OAAO,wOAAwO,EAAE,4DAAC,kBAAkB,6DAA6D,qBAAqB,4DAAC,SAAS,wBAAwB,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,6DAA6D,GAAG,4DAAC,SAAS,gBAAgB;AAC5f;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE8B","file":"20-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { e as deepReady } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport './gesture-controller-31cb6bb9.js';\nimport { createGesture } from './index-f49d994d.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, h as activeAnimations, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\n// Defaults for the card swipe animation\nconst SwipeToCloseDefaults = {\n MIN_PRESENTING_SCALE: 0.93,\n};\nconst createSwipeToCloseGesture = (el, animation, onDismiss) => {\n const height = el.offsetHeight;\n let isOpen = false;\n const canStart = (detail) => {\n const target = detail.event.target;\n if (target === null ||\n !target.closest) {\n return true;\n }\n const content = target.closest('ion-content');\n if (content === null) {\n return true;\n }\n // Target is in the content so we don't start the gesture.\n // We could be more nuanced here and allow it for content that\n // does not need to scroll.\n return false;\n };\n const onStart = () => {\n animation.progressStart(true, (isOpen) ? 1 : 0);\n };\n const onMove = (detail) => {\n const step = clamp(0.0001, detail.deltaY / height, 0.9999);\n animation.progressStep(step);\n };\n const onEnd = (detail) => {\n const velocity = detail.velocityY;\n const step = clamp(0.0001, detail.deltaY / height, 0.9999);\n const threshold = (detail.deltaY + velocity * 1000) / height;\n const shouldComplete = threshold >= 0.5;\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n if (!shouldComplete) {\n animation.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];\n }\n else {\n animation.easing('cubic-bezier(0.32, 0.72, 0, 1)');\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];\n }\n const duration = (shouldComplete) ? computeDuration(step * height, velocity) : computeDuration((1 - step) * height, velocity);\n isOpen = shouldComplete;\n gesture.enable(false);\n animation\n .onFinish(() => {\n if (!shouldComplete) {\n gesture.enable(true);\n }\n })\n .progressEnd((shouldComplete) ? 1 : 0, newStepValue, duration);\n if (shouldComplete) {\n onDismiss();\n }\n };\n const gesture = createGesture({\n el,\n gestureName: 'modalSwipeToClose',\n gesturePriority: 40,\n direction: 'y',\n threshold: 10,\n canStart,\n onStart,\n onMove,\n onEnd\n });\n return gesture;\n};\nconst computeDuration = (remaining, velocity) => {\n return clamp(400, remaining / Math.abs(velocity * 1.1), 500);\n};\n\n/**\n * iOS Modal Enter Animation for the Card presentation style\n */\nconst iosEnterAnimation = (baseEl, presentingEl) => {\n const backdropAnimation = createAnimation()\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n const wrapperAnimation = createAnimation()\n .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow'))\n .beforeStyles({ 'opacity': 1 })\n .fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');\n const baseAnimation = createAnimation()\n .addElement(baseEl)\n .easing('cubic-bezier(0.32,0.72,0,1)')\n .duration(500)\n .addAnimation(wrapperAnimation);\n if (presentingEl) {\n const isMobile = window.innerWidth < 768;\n const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined);\n const presentingAnimation = createAnimation()\n .beforeStyles({\n 'transform': 'translateY(0)',\n 'transform-origin': 'top center',\n 'overflow': 'hidden'\n });\n const bodyEl = document.body;\n if (isMobile) {\n /**\n * Fallback for browsers that does not support `max()` (ex: Firefox)\n * No need to worry about statusbar padding since engines like Gecko\n * are not used as the engine for standlone Cordova/Capacitor apps\n */\n const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))';\n const modalTransform = hasCardModal ? '-10px' : transformOffset;\n const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE;\n const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`;\n presentingAnimation\n .afterStyles({\n 'transform': finalTransform\n })\n .beforeAddWrite(() => bodyEl.style.setProperty('background-color', 'black'))\n .addElement(presentingEl)\n .keyframes([\n { offset: 0, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' },\n { offset: 1, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' }\n ]);\n baseAnimation.addAnimation(presentingAnimation);\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n if (!hasCardModal) {\n wrapperAnimation.fromTo('opacity', '0', '1');\n }\n else {\n const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1;\n const finalTransform = `translateY(-10px) scale(${toPresentingScale})`;\n presentingAnimation\n .afterStyles({\n 'transform': finalTransform\n })\n .addElement(presentingEl.querySelector('.modal-wrapper'))\n .keyframes([\n { offset: 0, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' },\n { offset: 1, filter: 'contrast(0.85)', transform: finalTransform }\n ]);\n const shadowAnimation = createAnimation()\n .afterStyles({\n 'transform': finalTransform\n })\n .addElement(presentingEl.querySelector('.modal-shadow'))\n .keyframes([\n { offset: 0, opacity: '1', transform: 'translateY(0) scale(1)' },\n { offset: 1, opacity: '0', transform: finalTransform }\n ]);\n baseAnimation.addAnimation([presentingAnimation, shadowAnimation]);\n }\n }\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n }\n return baseAnimation;\n};\n\n/**\n * iOS Modal Leave Animation\n */\nconst iosLeaveAnimation = (baseEl, presentingEl, duration = 500) => {\n const backdropAnimation = createAnimation()\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.0);\n const wrapperAnimation = createAnimation()\n .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow'))\n .beforeStyles({ 'opacity': 1 })\n .fromTo('transform', 'translateY(0vh)', 'translateY(100vh)');\n const baseAnimation = createAnimation()\n .addElement(baseEl)\n .easing('cubic-bezier(0.32,0.72,0,1)')\n .duration(duration)\n .addAnimation(wrapperAnimation);\n if (presentingEl) {\n const isMobile = window.innerWidth < 768;\n const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined);\n const presentingAnimation = createAnimation()\n .beforeClearStyles(['transform'])\n .afterClearStyles(['transform'])\n .onFinish(currentStep => {\n // only reset background color if this is the last card-style modal\n if (currentStep !== 1) {\n return;\n }\n presentingEl.style.setProperty('overflow', '');\n const numModals = Array.from(bodyEl.querySelectorAll('ion-modal')).filter(m => m.presentingElement !== undefined).length;\n if (numModals <= 1) {\n bodyEl.style.setProperty('background-color', '');\n }\n });\n const bodyEl = document.body;\n if (isMobile) {\n const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))';\n const modalTransform = hasCardModal ? '-10px' : transformOffset;\n const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE;\n const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`;\n presentingAnimation\n .addElement(presentingEl)\n .keyframes([\n { offset: 0, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' },\n { offset: 1, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' }\n ]);\n baseAnimation.addAnimation(presentingAnimation);\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n if (!hasCardModal) {\n wrapperAnimation.fromTo('opacity', '1', '0');\n }\n else {\n const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1;\n const finalTransform = `translateY(-10px) scale(${toPresentingScale})`;\n presentingAnimation\n .addElement(presentingEl.querySelector('.modal-wrapper'))\n .afterStyles({\n 'transform': 'translate3d(0, 0, 0)'\n })\n .keyframes([\n { offset: 0, filter: 'contrast(0.85)', transform: finalTransform },\n { offset: 1, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' }\n ]);\n const shadowAnimation = createAnimation()\n .addElement(presentingEl.querySelector('.modal-shadow'))\n .afterStyles({\n 'transform': 'translateY(0) scale(1)'\n })\n .keyframes([\n { offset: 0, opacity: '0', transform: finalTransform },\n { offset: 1, opacity: '1', transform: 'translateY(0) scale(1)' }\n ]);\n baseAnimation.addAnimation([presentingAnimation, shadowAnimation]);\n }\n }\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n }\n return baseAnimation;\n};\n\n/**\n * Md Modal Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.modal-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },\n { offset: 1, opacity: 1, transform: 'translateY(0px)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(280)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Modal Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const wrapperEl = baseEl.querySelector('.modal-wrapper');\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.0);\n wrapperAnimation\n .addElement(wrapperEl)\n .keyframes([\n { offset: 0, opacity: 0.99, transform: 'translateY(0px)' },\n { offset: 1, opacity: 0, transform: 'translateY(40px)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.47,0,0.745,0.715)')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst modalIosCss = \".sc-ion-modal-ios-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-ios-h{display:none}.modal-wrapper.sc-ion-modal-ios,.modal-shadow.sc-ion-modal-ios{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-ios{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-ios-h{--width:600px;--height:600px}}.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--border-radius:10px}}.modal-wrapper.sc-ion-modal-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - 40px)}}.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}[dir=rtl].sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl].modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{display:none}.modal-card.sc-ion-modal-ios-h ion-backdrop.sc-ion-modal-ios{pointer-events:none}}@media screen and (min-width: 768px){.modal-card.sc-ion-modal-ios-h{--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.modal-card.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:0.18}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{-webkit-box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1)}}\";\n\nconst modalMdCss = \".sc-ion-modal-md-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-md-h{display:none}.modal-wrapper.sc-ion-modal-md,.modal-shadow.sc-ion-modal-md{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-md{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-md-h{--width:600px;--height:600px}}.sc-ion-modal-md-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--border-radius:2px}.sc-ion-modal-md-h:first-of-type{--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper.sc-ion-modal-md{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}\";\n\nconst Modal = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionModalDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionModalWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionModalWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionModalDidDismiss\", 7);\n // Whether or not modal is being dismissed via gesture\n this.gestureAnimationDismissing = false;\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * If `true`, the modal will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, a backdrop will be displayed behind the modal.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the modal will animate.\n */\n this.animated = true;\n /**\n * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode.\n */\n this.swipeToClose = false;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onDismiss = (ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n this.dismiss();\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const ev = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(ev);\n }\n };\n }\n swipeToCloseChanged(enable) {\n if (this.gesture) {\n this.gesture.enable(enable);\n }\n else if (enable) {\n this.initSwipeToClose();\n }\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the modal overlay after it has been created.\n */\n async present() {\n if (this.presented) {\n return;\n }\n const container = this.el.querySelector(`.modal-wrapper`);\n if (!container) {\n throw new Error('container is undefined');\n }\n const componentProps = Object.assign(Object.assign({}, this.componentProps), { modal: this.el });\n this.usersElement = await attachComponent(this.delegate, container, this.component, ['ion-page'], componentProps);\n await deepReady(this.usersElement);\n writeTask(() => this.el.classList.add('show-modal'));\n await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, this.presentingElement);\n if (this.swipeToClose) {\n this.initSwipeToClose();\n }\n }\n initSwipeToClose() {\n if (getIonMode(this) !== 'ios') {\n return;\n }\n // All of the elements needed for the swipe gesture\n // should be in the DOM and referenced by now, except\n // for the presenting el\n const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);\n const ani = this.animation = animationBuilder(this.el, this.presentingElement);\n this.gesture = createSwipeToCloseGesture(this.el, ani, () => {\n /**\n * While the gesture animation is finishing\n * it is possible for a user to tap the backdrop.\n * This would result in the dismiss animation\n * being played again. Typically this is avoided\n * by setting `presented = false` on the overlay\n * component; however, we cannot do that here as\n * that would prevent the element from being\n * removed from the DOM.\n */\n this.gestureAnimationDismissing = true;\n this.animation.onFinish(async () => {\n await this.dismiss(undefined, 'gesture');\n this.gestureAnimationDismissing = false;\n });\n });\n this.gesture.enable(true);\n }\n /**\n * Dismiss the modal 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 modal. For example, 'cancel' or 'backdrop'.\n */\n async dismiss(data, role) {\n if (this.gestureAnimationDismissing && role !== 'gesture') {\n return false;\n }\n const enteringAnimation = activeAnimations.get(this) || [];\n const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, this.presentingElement);\n if (dismissed) {\n await detachComponent(this.delegate, this.usersElement);\n if (this.animation) {\n this.animation.destroy();\n }\n enteringAnimation.forEach(ani => ani.destroy());\n }\n this.animation = undefined;\n return dismissed;\n }\n /**\n * Returns a promise that resolves when the modal did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionModalDidDismiss');\n }\n /**\n * Returns a promise that resolves when the modal will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionModalWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { \"no-router\": true, \"aria-modal\": \"true\", tabindex: \"-1\", class: Object.assign({ [mode]: true, [`modal-card`]: this.presentingElement !== undefined && mode === 'ios' }, getClassMap(this.cssClass)), style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, onIonBackdropTap: this.onBackdropTap, onIonDismiss: this.onDismiss, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), mode === 'ios' && h(\"div\", { class: \"modal-shadow\" }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { role: \"dialog\", class: \"modal-wrapper ion-overlay-wrapper\" }), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeToClose\": [\"swipeToCloseChanged\"]\n }; }\n};\nconst LIFECYCLE_MAP = {\n 'ionModalDidPresent': 'ionViewDidEnter',\n 'ionModalWillPresent': 'ionViewWillEnter',\n 'ionModalWillDismiss': 'ionViewWillLeave',\n 'ionModalDidDismiss': 'ionViewDidLeave',\n};\nModal.style = {\n ios: modalIosCss,\n md: modalMdCss\n};\n\nexport { Modal as ion_modal };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/20-es5.js b/android/app/src/main/assets/public/20-es5.js new file mode 100644 index 000000000..6bb55f733 --- /dev/null +++ b/android/app/src/main/assets/public/20-es5.js @@ -0,0 +1,767 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[20], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-modal.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-modal.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_modal */ + + /***/ + function node_modulesIonicCoreDistEsmIonModalEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_modal", function () { + return Modal; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./index-d8cfb4a8.js */ + "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); + /* harmony import */ + + + var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./cubic-bezier-eea9a7a9.js */ + "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); + /* harmony import */ + + + var _gesture_controller_31cb6bb9_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./gesture-controller-31cb6bb9.js */ + "./node_modules/@ionic/core/dist/esm/gesture-controller-31cb6bb9.js"); + /* harmony import */ + + + var _index_f49d994d_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /* harmony import */ + + + var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( + /*! ./framework-delegate-4584ab5a.js */ + "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); // Defaults for the card swipe animation + + + var SwipeToCloseDefaults = { + MIN_PRESENTING_SCALE: 0.93 + }; + + var createSwipeToCloseGesture = function createSwipeToCloseGesture(el, animation, onDismiss) { + var height = el.offsetHeight; + var isOpen = false; + + var canStart = function canStart(detail) { + var target = detail.event.target; + + if (target === null || !target.closest) { + return true; + } + + var content = target.closest('ion-content'); + + if (content === null) { + return true; + } // Target is in the content so we don't start the gesture. + // We could be more nuanced here and allow it for content that + // does not need to scroll. + + + return false; + }; + + var onStart = function onStart() { + animation.progressStart(true, isOpen ? 1 : 0); + }; + + var onMove = function onMove(detail) { + var step = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0.0001, detail.deltaY / height, 0.9999); + animation.progressStep(step); + }; + + var onEnd = function onEnd(detail) { + var velocity = detail.velocityY; + var step = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0.0001, detail.deltaY / height, 0.9999); + var threshold = (detail.deltaY + velocity * 1000) / height; + var shouldComplete = threshold >= 0.5; + var newStepValue = shouldComplete ? -0.001 : 0.001; + + if (!shouldComplete) { + animation.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0]; + } else { + animation.easing('cubic-bezier(0.32, 0.72, 0, 1)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_5__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0]; + } + + var duration = shouldComplete ? computeDuration(step * height, velocity) : computeDuration((1 - step) * height, velocity); + isOpen = shouldComplete; + gesture.enable(false); + animation.onFinish(function () { + if (!shouldComplete) { + gesture.enable(true); + } + }).progressEnd(shouldComplete ? 1 : 0, newStepValue, duration); + + if (shouldComplete) { + onDismiss(); + } + }; + + var gesture = Object(_index_f49d994d_js__WEBPACK_IMPORTED_MODULE_7__["createGesture"])({ + el: el, + gestureName: 'modalSwipeToClose', + gesturePriority: 40, + direction: 'y', + threshold: 10, + canStart: canStart, + onStart: onStart, + onMove: onMove, + onEnd: onEnd + }); + return gesture; + }; + + var computeDuration = function computeDuration(remaining, velocity) { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(400, remaining / Math.abs(velocity * 1.1), 500); + }; + /** + * iOS Modal Enter Animation for the Card presentation style + */ + + + var iosEnterAnimation = function iosEnterAnimation(baseEl, presentingEl) { + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ + 'opacity': 1 + }).fromTo('transform', 'translateY(100vh)', 'translateY(0vh)'); + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl).easing('cubic-bezier(0.32,0.72,0,1)').duration(500).addAnimation(wrapperAnimation); + + if (presentingEl) { + var isMobile = window.innerWidth < 768; + var hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined; + var presentingAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().beforeStyles({ + 'transform': 'translateY(0)', + 'transform-origin': 'top center', + 'overflow': 'hidden' + }); + var bodyEl = document.body; + + if (isMobile) { + /** + * Fallback for browsers that does not support `max()` (ex: Firefox) + * No need to worry about statusbar padding since engines like Gecko + * are not used as the engine for standlone Cordova/Capacitor apps + */ + var transformOffset = !CSS.supports('width', 'max(0px, 1px)') ? '30px' : 'max(30px, var(--ion-safe-area-top))'; + var modalTransform = hasCardModal ? '-10px' : transformOffset; + var toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE; + var finalTransform = "translateY(".concat(modalTransform, ") scale(").concat(toPresentingScale, ")"); + presentingAnimation.afterStyles({ + 'transform': finalTransform + }).beforeAddWrite(function () { + return bodyEl.style.setProperty('background-color', 'black'); + }).addElement(presentingEl).keyframes([{ + offset: 0, + filter: 'contrast(1)', + transform: 'translateY(0px) scale(1)', + borderRadius: '0px' + }, { + offset: 1, + filter: 'contrast(0.85)', + transform: finalTransform, + borderRadius: '10px 10px 0 0' + }]); + baseAnimation.addAnimation(presentingAnimation); + } else { + baseAnimation.addAnimation(backdropAnimation); + + if (!hasCardModal) { + wrapperAnimation.fromTo('opacity', '0', '1'); + } else { + var _toPresentingScale = hasCardModal ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1; + + var _finalTransform = "translateY(-10px) scale(".concat(_toPresentingScale, ")"); + + presentingAnimation.afterStyles({ + 'transform': _finalTransform + }).addElement(presentingEl.querySelector('.modal-wrapper')).keyframes([{ + offset: 0, + filter: 'contrast(1)', + transform: 'translateY(0) scale(1)' + }, { + offset: 1, + filter: 'contrast(0.85)', + transform: _finalTransform + }]); + var shadowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().afterStyles({ + 'transform': _finalTransform + }).addElement(presentingEl.querySelector('.modal-shadow')).keyframes([{ + offset: 0, + opacity: '1', + transform: 'translateY(0) scale(1)' + }, { + offset: 1, + opacity: '0', + transform: _finalTransform + }]); + baseAnimation.addAnimation([presentingAnimation, shadowAnimation]); + } + } + } else { + baseAnimation.addAnimation(backdropAnimation); + } + + return baseAnimation; + }; + /** + * iOS Modal Leave Animation + */ + + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl, presentingEl) { + var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500; + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0.0); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ + 'opacity': 1 + }).fromTo('transform', 'translateY(0vh)', 'translateY(100vh)'); + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(baseEl).easing('cubic-bezier(0.32,0.72,0,1)').duration(duration).addAnimation(wrapperAnimation); + + if (presentingEl) { + var isMobile = window.innerWidth < 768; + var hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined; + var presentingAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().beforeClearStyles(['transform']).afterClearStyles(['transform']).onFinish(function (currentStep) { + // only reset background color if this is the last card-style modal + if (currentStep !== 1) { + return; + } + + presentingEl.style.setProperty('overflow', ''); + var numModals = Array.from(bodyEl.querySelectorAll('ion-modal')).filter(function (m) { + return m.presentingElement !== undefined; + }).length; + + if (numModals <= 1) { + bodyEl.style.setProperty('background-color', ''); + } + }); + var bodyEl = document.body; + + if (isMobile) { + var transformOffset = !CSS.supports('width', 'max(0px, 1px)') ? '30px' : 'max(30px, var(--ion-safe-area-top))'; + var modalTransform = hasCardModal ? '-10px' : transformOffset; + var toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE; + var finalTransform = "translateY(".concat(modalTransform, ") scale(").concat(toPresentingScale, ")"); + presentingAnimation.addElement(presentingEl).keyframes([{ + offset: 0, + filter: 'contrast(0.85)', + transform: finalTransform, + borderRadius: '10px 10px 0 0' + }, { + offset: 1, + filter: 'contrast(1)', + transform: 'translateY(0px) scale(1)', + borderRadius: '0px' + }]); + baseAnimation.addAnimation(presentingAnimation); + } else { + baseAnimation.addAnimation(backdropAnimation); + + if (!hasCardModal) { + wrapperAnimation.fromTo('opacity', '1', '0'); + } else { + var _toPresentingScale2 = hasCardModal ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1; + + var _finalTransform2 = "translateY(-10px) scale(".concat(_toPresentingScale2, ")"); + + presentingAnimation.addElement(presentingEl.querySelector('.modal-wrapper')).afterStyles({ + 'transform': 'translate3d(0, 0, 0)' + }).keyframes([{ + offset: 0, + filter: 'contrast(0.85)', + transform: _finalTransform2 + }, { + offset: 1, + filter: 'contrast(1)', + transform: 'translateY(0) scale(1)' + }]); + var shadowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(presentingEl.querySelector('.modal-shadow')).afterStyles({ + 'transform': 'translateY(0) scale(1)' + }).keyframes([{ + offset: 0, + opacity: '0', + transform: _finalTransform2 + }, { + offset: 1, + opacity: '1', + transform: 'translateY(0) scale(1)' + }]); + baseAnimation.addAnimation([presentingAnimation, shadowAnimation]); + } + } + } else { + baseAnimation.addAnimation(backdropAnimation); + } + + return baseAnimation; + }; + /** + * Md Modal Enter Animation + */ + + + var mdEnterAnimation = function mdEnterAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.modal-wrapper')).keyframes([{ + offset: 0, + opacity: 0.01, + transform: 'translateY(40px)' + }, { + offset: 1, + opacity: 1, + transform: 'translateY(0px)' + }]); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(0.36,0.66,0.04,1)').duration(280).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Modal Leave Animation + */ + + + var mdLeaveAnimation = function mdLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperEl = baseEl.querySelector('.modal-wrapper'); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0.0); + wrapperAnimation.addElement(wrapperEl).keyframes([{ + offset: 0, + opacity: 0.99, + transform: 'translateY(0px)' + }, { + offset: 1, + opacity: 0, + transform: 'translateY(40px)' + }]); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(0.47,0,0.745,0.715)').duration(200).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var modalIosCss = ".sc-ion-modal-ios-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-ios-h{display:none}.modal-wrapper.sc-ion-modal-ios,.modal-shadow.sc-ion-modal-ios{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-ios{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-ios-h{--width:600px;--height:600px}}.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--border-radius:10px}}.modal-wrapper.sc-ion-modal-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - 40px)}}.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}[dir=rtl].sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl].modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{display:none}.modal-card.sc-ion-modal-ios-h ion-backdrop.sc-ion-modal-ios{pointer-events:none}}@media screen and (min-width: 768px){.modal-card.sc-ion-modal-ios-h{--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.modal-card.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:0.18}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{-webkit-box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1)}}"; + var modalMdCss = ".sc-ion-modal-md-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-md-h{display:none}.modal-wrapper.sc-ion-modal-md,.modal-shadow.sc-ion-modal-md{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-md{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-md-h{--width:600px;--height:600px}}.sc-ion-modal-md-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--border-radius:2px}.sc-ion-modal-md-h:first-of-type{--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper.sc-ion-modal-md{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}"; + + var Modal = /*#__PURE__*/function () { + function Modal(hostRef) { + var _this = this; + + _classCallCheck(this, Modal); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionModalDidDismiss", 7); // Whether or not modal is being dismissed via gesture + + this.gestureAnimationDismissing = false; + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * If `true`, the modal will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = true; + /** + * If `true`, a backdrop will be displayed behind the modal. + */ + + this.showBackdrop = true; + /** + * If `true`, the modal will animate. + */ + + this.animated = true; + /** + * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode. + */ + + this.swipeToClose = false; + + this.onBackdropTap = function () { + _this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["B"]); + }; + + this.onDismiss = function (ev) { + ev.stopPropagation(); + ev.preventDefault(); + + _this.dismiss(); + }; + + this.onLifecycle = function (modalEvent) { + var el = _this.usersElement; + var name = LIFECYCLE_MAP[modalEvent.type]; + + if (el && name) { + var ev = new CustomEvent(name, { + bubbles: false, + cancelable: false, + detail: modalEvent.detail + }); + el.dispatchEvent(ev); + } + }; + } + + _createClass(Modal, [{ + key: "swipeToCloseChanged", + value: function swipeToCloseChanged(enable) { + if (this.gesture) { + this.gesture.enable(enable); + } else if (enable) { + this.initSwipeToClose(); + } + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["e"])(this.el); + } + /** + * Present the modal overlay after it has been created. + */ + + }, { + key: "present", + value: function () { + var _present = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this2 = this; + + var container, componentProps; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this.presented) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + container = this.el.querySelector(".modal-wrapper"); + + if (container) { + _context.next = 5; + break; + } + + throw new Error('container is undefined'); + + case 5: + componentProps = Object.assign(Object.assign({}, this.componentProps), { + modal: this.el + }); + _context.next = 8; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__["a"])(this.delegate, container, this.component, ['ion-page'], componentProps); + + case 8: + this.usersElement = _context.sent; + _context.next = 11; + return Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__["e"])(this.usersElement); + + case 11: + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + return _this2.el.classList.add('show-modal'); + }); + _context.next = 14; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["d"])(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, this.presentingElement); + + case 14: + if (this.swipeToClose) { + this.initSwipeToClose(); + } + + case 15: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function present() { + return _present.apply(this, arguments); + } + + return present; + }() + }, { + key: "initSwipeToClose", + value: function initSwipeToClose() { + var _this3 = this; + + if (Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) !== 'ios') { + return; + } // All of the elements needed for the swipe gesture + // should be in the DOM and referenced by now, except + // for the presenting el + + + var animationBuilder = this.leaveAnimation || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('modalLeave', iosLeaveAnimation); + + var ani = this.animation = animationBuilder(this.el, this.presentingElement); + this.gesture = createSwipeToCloseGesture(this.el, ani, function () { + /** + * While the gesture animation is finishing + * it is possible for a user to tap the backdrop. + * This would result in the dismiss animation + * being played again. Typically this is avoided + * by setting `presented = false` on the overlay + * component; however, we cannot do that here as + * that would prevent the element from being + * removed from the DOM. + */ + _this3.gestureAnimationDismissing = true; + + _this3.animation.onFinish( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return _this3.dismiss(undefined, 'gesture'); + + case 2: + _this3.gestureAnimationDismissing = false; + + case 3: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))); + }); + this.gesture.enable(true); + } + /** + * Dismiss the modal overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'. + */ + + }, { + key: "dismiss", + value: function () { + var _dismiss = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(data, role) { + var enteringAnimation, dismissed; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!(this.gestureAnimationDismissing && role !== 'gesture')) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return", false); + + case 2: + enteringAnimation = _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["h"].get(this) || []; + _context3.next = 5; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["f"])(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, this.presentingElement); + + case 5: + dismissed = _context3.sent; + + if (!dismissed) { + _context3.next = 11; + break; + } + + _context3.next = 9; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_11__["d"])(this.delegate, this.usersElement); + + case 9: + if (this.animation) { + this.animation.destroy(); + } + + enteringAnimation.forEach(function (ani) { + return ani.destroy(); + }); + + case 11: + this.animation = undefined; + return _context3.abrupt("return", dismissed); + + case 13: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function dismiss(_x, _x2) { + return _dismiss.apply(this, arguments); + } + + return dismiss; + }() + /** + * Returns a promise that resolves when the modal did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["g"])(this.el, 'ionModalDidDismiss'); + } + /** + * Returns a promise that resolves when the modal will dismiss. + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_9__["g"])(this.el, 'ionModalWillDismiss'); + } + }, { + key: "render", + value: function render() { + var _Object$assign; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "no-router": true, + "aria-modal": "true", + tabindex: "-1", + "class": Object.assign((_Object$assign = {}, _defineProperty(_Object$assign, mode, true), _defineProperty(_Object$assign, "modal-card", this.presentingElement !== undefined && mode === 'ios'), _Object$assign), Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_10__["g"])(this.cssClass)), + style: { + zIndex: "".concat(20000 + this.overlayIndex) + }, + onIonBackdropTap: this.onBackdropTap, + onIonDismiss: this.onDismiss, + onIonModalDidPresent: this.onLifecycle, + onIonModalWillPresent: this.onLifecycle, + onIonModalWillDismiss: this.onLifecycle, + onIonModalDidDismiss: this.onLifecycle + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + visible: this.showBackdrop, + tappable: this.backdropDismiss + }), mode === 'ios' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "modal-shadow" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + role: "dialog", + "class": "modal-wrapper ion-overlay-wrapper" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "swipeToClose": ["swipeToCloseChanged"] + }; + } + }]); + + return Modal; + }(); + + var LIFECYCLE_MAP = { + 'ionModalDidPresent': 'ionViewDidEnter', + 'ionModalWillPresent': 'ionViewWillEnter', + 'ionModalWillDismiss': 'ionViewWillLeave', + 'ionModalDidDismiss': 'ionViewDidLeave' + }; + Modal.style = { + ios: modalIosCss, + md: modalMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=20-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/20-es5.js.map b/android/app/src/main/assets/public/20-es5.js.map new file mode 100644 index 000000000..a62679262 --- /dev/null +++ b/android/app/src/main/assets/public/20-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-modal.entry.js"],"names":["SwipeToCloseDefaults","MIN_PRESENTING_SCALE","createSwipeToCloseGesture","el","animation","onDismiss","height","offsetHeight","isOpen","canStart","detail","target","event","closest","content","onStart","progressStart","onMove","step","deltaY","progressStep","onEnd","velocity","velocityY","threshold","shouldComplete","newStepValue","easing","duration","computeDuration","gesture","enable","onFinish","progressEnd","gestureName","gesturePriority","direction","remaining","Math","abs","iosEnterAnimation","baseEl","presentingEl","backdropAnimation","addElement","querySelector","fromTo","beforeStyles","afterClearStyles","wrapperAnimation","querySelectorAll","baseAnimation","addAnimation","isMobile","window","innerWidth","hasCardModal","tagName","presentingElement","undefined","presentingAnimation","bodyEl","document","body","transformOffset","CSS","supports","modalTransform","toPresentingScale","finalTransform","afterStyles","beforeAddWrite","style","setProperty","keyframes","offset","filter","transform","borderRadius","shadowAnimation","opacity","iosLeaveAnimation","beforeClearStyles","currentStep","numModals","Array","from","m","length","mdEnterAnimation","mdLeaveAnimation","wrapperEl","modalIosCss","modalMdCss","Modal","hostRef","didPresent","willPresent","willDismiss","didDismiss","gestureAnimationDismissing","presented","keyboardClose","backdropDismiss","showBackdrop","animated","swipeToClose","onBackdropTap","dismiss","ev","stopPropagation","preventDefault","onLifecycle","modalEvent","usersElement","name","LIFECYCLE_MAP","type","CustomEvent","bubbles","cancelable","dispatchEvent","initSwipeToClose","container","Error","componentProps","Object","assign","modal","delegate","component","classList","add","animationBuilder","leaveAnimation","get","ani","data","role","enteringAnimation","dismissed","destroy","forEach","mode","tabindex","cssClass","zIndex","overlayIndex","onIonBackdropTap","onIonDismiss","onIonModalDidPresent","onIonModalWillPresent","onIonModalWillDismiss","onIonModalDidDismiss","visible","tappable","ios","md"],"mappings":"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","file":"20-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { e as deepReady } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport './gesture-controller-31cb6bb9.js';\nimport { createGesture } from './index-f49d994d.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, h as activeAnimations, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\n// Defaults for the card swipe animation\nconst SwipeToCloseDefaults = {\n MIN_PRESENTING_SCALE: 0.93,\n};\nconst createSwipeToCloseGesture = (el, animation, onDismiss) => {\n const height = el.offsetHeight;\n let isOpen = false;\n const canStart = (detail) => {\n const target = detail.event.target;\n if (target === null ||\n !target.closest) {\n return true;\n }\n const content = target.closest('ion-content');\n if (content === null) {\n return true;\n }\n // Target is in the content so we don't start the gesture.\n // We could be more nuanced here and allow it for content that\n // does not need to scroll.\n return false;\n };\n const onStart = () => {\n animation.progressStart(true, (isOpen) ? 1 : 0);\n };\n const onMove = (detail) => {\n const step = clamp(0.0001, detail.deltaY / height, 0.9999);\n animation.progressStep(step);\n };\n const onEnd = (detail) => {\n const velocity = detail.velocityY;\n const step = clamp(0.0001, detail.deltaY / height, 0.9999);\n const threshold = (detail.deltaY + velocity * 1000) / height;\n const shouldComplete = threshold >= 0.5;\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n if (!shouldComplete) {\n animation.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];\n }\n else {\n animation.easing('cubic-bezier(0.32, 0.72, 0, 1)');\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];\n }\n const duration = (shouldComplete) ? computeDuration(step * height, velocity) : computeDuration((1 - step) * height, velocity);\n isOpen = shouldComplete;\n gesture.enable(false);\n animation\n .onFinish(() => {\n if (!shouldComplete) {\n gesture.enable(true);\n }\n })\n .progressEnd((shouldComplete) ? 1 : 0, newStepValue, duration);\n if (shouldComplete) {\n onDismiss();\n }\n };\n const gesture = createGesture({\n el,\n gestureName: 'modalSwipeToClose',\n gesturePriority: 40,\n direction: 'y',\n threshold: 10,\n canStart,\n onStart,\n onMove,\n onEnd\n });\n return gesture;\n};\nconst computeDuration = (remaining, velocity) => {\n return clamp(400, remaining / Math.abs(velocity * 1.1), 500);\n};\n\n/**\n * iOS Modal Enter Animation for the Card presentation style\n */\nconst iosEnterAnimation = (baseEl, presentingEl) => {\n const backdropAnimation = createAnimation()\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n const wrapperAnimation = createAnimation()\n .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow'))\n .beforeStyles({ 'opacity': 1 })\n .fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');\n const baseAnimation = createAnimation()\n .addElement(baseEl)\n .easing('cubic-bezier(0.32,0.72,0,1)')\n .duration(500)\n .addAnimation(wrapperAnimation);\n if (presentingEl) {\n const isMobile = window.innerWidth < 768;\n const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined);\n const presentingAnimation = createAnimation()\n .beforeStyles({\n 'transform': 'translateY(0)',\n 'transform-origin': 'top center',\n 'overflow': 'hidden'\n });\n const bodyEl = document.body;\n if (isMobile) {\n /**\n * Fallback for browsers that does not support `max()` (ex: Firefox)\n * No need to worry about statusbar padding since engines like Gecko\n * are not used as the engine for standlone Cordova/Capacitor apps\n */\n const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))';\n const modalTransform = hasCardModal ? '-10px' : transformOffset;\n const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE;\n const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`;\n presentingAnimation\n .afterStyles({\n 'transform': finalTransform\n })\n .beforeAddWrite(() => bodyEl.style.setProperty('background-color', 'black'))\n .addElement(presentingEl)\n .keyframes([\n { offset: 0, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' },\n { offset: 1, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' }\n ]);\n baseAnimation.addAnimation(presentingAnimation);\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n if (!hasCardModal) {\n wrapperAnimation.fromTo('opacity', '0', '1');\n }\n else {\n const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1;\n const finalTransform = `translateY(-10px) scale(${toPresentingScale})`;\n presentingAnimation\n .afterStyles({\n 'transform': finalTransform\n })\n .addElement(presentingEl.querySelector('.modal-wrapper'))\n .keyframes([\n { offset: 0, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' },\n { offset: 1, filter: 'contrast(0.85)', transform: finalTransform }\n ]);\n const shadowAnimation = createAnimation()\n .afterStyles({\n 'transform': finalTransform\n })\n .addElement(presentingEl.querySelector('.modal-shadow'))\n .keyframes([\n { offset: 0, opacity: '1', transform: 'translateY(0) scale(1)' },\n { offset: 1, opacity: '0', transform: finalTransform }\n ]);\n baseAnimation.addAnimation([presentingAnimation, shadowAnimation]);\n }\n }\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n }\n return baseAnimation;\n};\n\n/**\n * iOS Modal Leave Animation\n */\nconst iosLeaveAnimation = (baseEl, presentingEl, duration = 500) => {\n const backdropAnimation = createAnimation()\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.0);\n const wrapperAnimation = createAnimation()\n .addElement(baseEl.querySelectorAll('.modal-wrapper, .modal-shadow'))\n .beforeStyles({ 'opacity': 1 })\n .fromTo('transform', 'translateY(0vh)', 'translateY(100vh)');\n const baseAnimation = createAnimation()\n .addElement(baseEl)\n .easing('cubic-bezier(0.32,0.72,0,1)')\n .duration(duration)\n .addAnimation(wrapperAnimation);\n if (presentingEl) {\n const isMobile = window.innerWidth < 768;\n const hasCardModal = (presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined);\n const presentingAnimation = createAnimation()\n .beforeClearStyles(['transform'])\n .afterClearStyles(['transform'])\n .onFinish(currentStep => {\n // only reset background color if this is the last card-style modal\n if (currentStep !== 1) {\n return;\n }\n presentingEl.style.setProperty('overflow', '');\n const numModals = Array.from(bodyEl.querySelectorAll('ion-modal')).filter(m => m.presentingElement !== undefined).length;\n if (numModals <= 1) {\n bodyEl.style.setProperty('background-color', '');\n }\n });\n const bodyEl = document.body;\n if (isMobile) {\n const transformOffset = (!CSS.supports('width', 'max(0px, 1px)')) ? '30px' : 'max(30px, var(--ion-safe-area-top))';\n const modalTransform = hasCardModal ? '-10px' : transformOffset;\n const toPresentingScale = SwipeToCloseDefaults.MIN_PRESENTING_SCALE;\n const finalTransform = `translateY(${modalTransform}) scale(${toPresentingScale})`;\n presentingAnimation\n .addElement(presentingEl)\n .keyframes([\n { offset: 0, filter: 'contrast(0.85)', transform: finalTransform, borderRadius: '10px 10px 0 0' },\n { offset: 1, filter: 'contrast(1)', transform: 'translateY(0px) scale(1)', borderRadius: '0px' }\n ]);\n baseAnimation.addAnimation(presentingAnimation);\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n if (!hasCardModal) {\n wrapperAnimation.fromTo('opacity', '1', '0');\n }\n else {\n const toPresentingScale = (hasCardModal) ? SwipeToCloseDefaults.MIN_PRESENTING_SCALE : 1;\n const finalTransform = `translateY(-10px) scale(${toPresentingScale})`;\n presentingAnimation\n .addElement(presentingEl.querySelector('.modal-wrapper'))\n .afterStyles({\n 'transform': 'translate3d(0, 0, 0)'\n })\n .keyframes([\n { offset: 0, filter: 'contrast(0.85)', transform: finalTransform },\n { offset: 1, filter: 'contrast(1)', transform: 'translateY(0) scale(1)' }\n ]);\n const shadowAnimation = createAnimation()\n .addElement(presentingEl.querySelector('.modal-shadow'))\n .afterStyles({\n 'transform': 'translateY(0) scale(1)'\n })\n .keyframes([\n { offset: 0, opacity: '0', transform: finalTransform },\n { offset: 1, opacity: '1', transform: 'translateY(0) scale(1)' }\n ]);\n baseAnimation.addAnimation([presentingAnimation, shadowAnimation]);\n }\n }\n }\n else {\n baseAnimation.addAnimation(backdropAnimation);\n }\n return baseAnimation;\n};\n\n/**\n * Md Modal Enter Animation\n */\nconst mdEnterAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.modal-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },\n { offset: 1, opacity: 1, transform: 'translateY(0px)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(280)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Modal Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const wrapperEl = baseEl.querySelector('.modal-wrapper');\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0.0);\n wrapperAnimation\n .addElement(wrapperEl)\n .keyframes([\n { offset: 0, opacity: 0.99, transform: 'translateY(0px)' },\n { offset: 1, opacity: 0, transform: 'translateY(40px)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.47,0,0.745,0.715)')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst modalIosCss = \".sc-ion-modal-ios-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-ios-h{display:none}.modal-wrapper.sc-ion-modal-ios,.modal-shadow.sc-ion-modal-ios{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-ios{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-ios-h{--width:600px;--height:600px}}.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-ios-h{--border-radius:10px}}.modal-wrapper.sc-ion-modal-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){.modal-card.sc-ion-modal-ios-h{--height:calc(100% - 40px)}}.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}[dir=rtl].sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .sc-ion-modal-ios-h -no-combinator.modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl].modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios,[dir=rtl] .modal-card.sc-ion-modal-ios-h .modal-wrapper.sc-ion-modal-ios{border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{display:none}.modal-card.sc-ion-modal-ios-h ion-backdrop.sc-ion-modal-ios{pointer-events:none}}@media screen and (min-width: 768px){.modal-card.sc-ion-modal-ios-h{--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px}.modal-card.sc-ion-modal-ios-h{--backdrop-opacity:0;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.modal-card.sc-ion-modal-ios-h:first-of-type{--backdrop-opacity:0.18}.modal-card.sc-ion-modal-ios-h .modal-shadow.sc-ion-modal-ios{-webkit-box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1)}}\";\n\nconst modalMdCss = \".sc-ion-modal-md-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-md-h{display:none}.modal-wrapper.sc-ion-modal-md,.modal-shadow.sc-ion-modal-md{border-radius:var(--border-radius);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);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-md{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-md-h{--width:600px;--height:600px}}.sc-ion-modal-md-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--border-radius:2px}.sc-ion-modal-md-h:first-of-type{--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper.sc-ion-modal-md{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}\";\n\nconst Modal = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionModalDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionModalWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionModalWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionModalDidDismiss\", 7);\n // Whether or not modal is being dismissed via gesture\n this.gestureAnimationDismissing = false;\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * If `true`, the modal will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, a backdrop will be displayed behind the modal.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the modal will animate.\n */\n this.animated = true;\n /**\n * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode.\n */\n this.swipeToClose = false;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onDismiss = (ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n this.dismiss();\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const ev = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(ev);\n }\n };\n }\n swipeToCloseChanged(enable) {\n if (this.gesture) {\n this.gesture.enable(enable);\n }\n else if (enable) {\n this.initSwipeToClose();\n }\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the modal overlay after it has been created.\n */\n async present() {\n if (this.presented) {\n return;\n }\n const container = this.el.querySelector(`.modal-wrapper`);\n if (!container) {\n throw new Error('container is undefined');\n }\n const componentProps = Object.assign(Object.assign({}, this.componentProps), { modal: this.el });\n this.usersElement = await attachComponent(this.delegate, container, this.component, ['ion-page'], componentProps);\n await deepReady(this.usersElement);\n writeTask(() => this.el.classList.add('show-modal'));\n await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, this.presentingElement);\n if (this.swipeToClose) {\n this.initSwipeToClose();\n }\n }\n initSwipeToClose() {\n if (getIonMode(this) !== 'ios') {\n return;\n }\n // All of the elements needed for the swipe gesture\n // should be in the DOM and referenced by now, except\n // for the presenting el\n const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation);\n const ani = this.animation = animationBuilder(this.el, this.presentingElement);\n this.gesture = createSwipeToCloseGesture(this.el, ani, () => {\n /**\n * While the gesture animation is finishing\n * it is possible for a user to tap the backdrop.\n * This would result in the dismiss animation\n * being played again. Typically this is avoided\n * by setting `presented = false` on the overlay\n * component; however, we cannot do that here as\n * that would prevent the element from being\n * removed from the DOM.\n */\n this.gestureAnimationDismissing = true;\n this.animation.onFinish(async () => {\n await this.dismiss(undefined, 'gesture');\n this.gestureAnimationDismissing = false;\n });\n });\n this.gesture.enable(true);\n }\n /**\n * Dismiss the modal 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 modal. For example, 'cancel' or 'backdrop'.\n */\n async dismiss(data, role) {\n if (this.gestureAnimationDismissing && role !== 'gesture') {\n return false;\n }\n const enteringAnimation = activeAnimations.get(this) || [];\n const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, this.presentingElement);\n if (dismissed) {\n await detachComponent(this.delegate, this.usersElement);\n if (this.animation) {\n this.animation.destroy();\n }\n enteringAnimation.forEach(ani => ani.destroy());\n }\n this.animation = undefined;\n return dismissed;\n }\n /**\n * Returns a promise that resolves when the modal did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionModalDidDismiss');\n }\n /**\n * Returns a promise that resolves when the modal will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionModalWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { \"no-router\": true, \"aria-modal\": \"true\", tabindex: \"-1\", class: Object.assign({ [mode]: true, [`modal-card`]: this.presentingElement !== undefined && mode === 'ios' }, getClassMap(this.cssClass)), style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, onIonBackdropTap: this.onBackdropTap, onIonDismiss: this.onDismiss, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), mode === 'ios' && h(\"div\", { class: \"modal-shadow\" }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { role: \"dialog\", class: \"modal-wrapper ion-overlay-wrapper\" }), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeToClose\": [\"swipeToCloseChanged\"]\n }; }\n};\nconst LIFECYCLE_MAP = {\n 'ionModalDidPresent': 'ionViewDidEnter',\n 'ionModalWillPresent': 'ionViewWillEnter',\n 'ionModalWillDismiss': 'ionViewWillLeave',\n 'ionModalDidDismiss': 'ionViewDidLeave',\n};\nModal.style = {\n ios: modalIosCss,\n md: modalMdCss\n};\n\nexport { Modal as ion_modal };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/21-es2015.js b/android/app/src/main/assets/public/21-es2015.js new file mode 100644 index 000000000..0c6320078 --- /dev/null +++ b/android/app/src/main/assets/public/21-es2015.js @@ -0,0 +1,917 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[21],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_nav, ion_nav_link */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_nav", function() { return Nav; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_nav_link", function() { return NavLink; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index-d8cfb4a8.js */ "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); +/* harmony import */ var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubic-bezier-eea9a7a9.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); +/* harmony import */ var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./framework-delegate-4584ab5a.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + + + + + + +const VIEW_STATE_NEW = 1; +const VIEW_STATE_ATTACHED = 2; +const VIEW_STATE_DESTROYED = 3; +class ViewController { + constructor(component, params) { + this.component = component; + this.params = params; + this.state = VIEW_STATE_NEW; + } + async init(container) { + this.state = VIEW_STATE_ATTACHED; + if (!this.element) { + const component = this.component; + this.element = await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_5__["a"])(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params); + } + } + /** + * DOM WRITE + */ + _destroy() { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED'); + const element = this.element; + if (element) { + if (this.delegate) { + this.delegate.removeViewFromDom(element.parentElement, element); + } + else { + element.remove(); + } + } + this.nav = undefined; + this.state = VIEW_STATE_DESTROYED; + } +} +const matches = (view, id, params) => { + if (!view) { + return false; + } + if (view.component !== id) { + return false; + } + const currentParams = view.params; + if (currentParams === params) { + return true; + } + if (!currentParams && !params) { + return true; + } + if (!currentParams || !params) { + return false; + } + const keysA = Object.keys(currentParams); + const keysB = Object.keys(params); + if (keysA.length !== keysB.length) { + return false; + } + // Test for A's keys different from B. + for (const key of keysA) { + if (currentParams[key] !== params[key]) { + return false; + } + } + return true; +}; +const convertToView = (page, params) => { + if (!page) { + return null; + } + if (page instanceof ViewController) { + return page; + } + return new ViewController(page, params); +}; +const convertToViews = (pages) => { + return pages.map(page => { + if (page instanceof ViewController) { + return page; + } + if ('component' in page) { + /** + * TODO Ionic 6: + * Consider switching to just using `undefined` here + * as well as on the public interfaces and on + * `NavComponentWithProps`. Previously `pages` was + * of type `any[]` so TypeScript did not catch this. + */ + return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps); + } + return convertToView(page, undefined); + }).filter(v => v !== null); +}; + +const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}"; + +const Nav = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionNavWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillChange", 3); + this.ionNavDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavDidChange", 3); + this.transInstr = []; + this.animationEnabled = true; + this.useRouter = false; + this.isTransitioning = false; + this.destroyed = false; + this.views = []; + /** + * If `true`, the nav should animate the transition of components. + */ + this.animated = true; + } + swipeGestureChanged() { + if (this.gesture) { + this.gesture.enable(this.swipeGesture === true); + } + } + rootChanged() { + if (this.root !== undefined) { + if (!this.useRouter) { + this.setRoot(this.root, this.rootParams); + } + } + } + componentWillLoad() { + this.useRouter = + !!document.querySelector('ion-router') && + !this.el.closest('[no-router]'); + if (this.swipeGesture === undefined) { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.swipeGesture = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('swipeBackEnabled', mode === 'ios'); + } + this.ionNavWillLoad.emit(); + } + async componentDidLoad() { + this.rootChanged(); + this.gesture = (await __webpack_require__.e(/*! import() | swipe-back-2154c9a7-js */ "swipe-back-2154c9a7-js").then(__webpack_require__.bind(null, /*! ./swipe-back-2154c9a7.js */ "./node_modules/@ionic/core/dist/esm/swipe-back-2154c9a7.js"))).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this)); + this.swipeGestureChanged(); + } + disconnectedCallback() { + for (const view of this.views) { + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(view.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + view._destroy(); + } + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + // release swipe back gesture and transition + this.transInstr.length = this.views.length = 0; + this.destroyed = true; + } + /** + * Push a new component onto the current navigation stack. Pass any additional + * information along as an object. This additional information is accessible + * through NavParams. + * + * @param component The component to push onto the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + push(component, componentProps, opts, done) { + return this.queueTrns({ + insertStart: -1, + insertViews: [{ component, componentProps }], + opts + }, done); + } + /** + * Inserts a component into the navigation stack at the specified index. + * This is useful to add a component at any point in the navigation stack. + * + * @param insertIndex The index to insert the component at in the stack. + * @param component The component to insert into the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + insert(insertIndex, component, componentProps, opts, done) { + return this.queueTrns({ + insertStart: insertIndex, + insertViews: [{ component, componentProps }], + opts + }, done); + } + /** + * Inserts an array of components into the navigation stack at the specified index. + * The last component in the array will become instantiated as a view, and animate + * in to become the active view. + * + * @param insertIndex The index to insert the components at in the stack. + * @param insertComponents The components to insert into the navigation stack. + * @param opts The navigation options. + * @param done The transition complete function. + */ + insertPages(insertIndex, insertComponents, opts, done) { + return this.queueTrns({ + insertStart: insertIndex, + insertViews: insertComponents, + opts + }, done); + } + /** + * Pop a component off of the navigation stack. Navigates back from the current + * component. + * + * @param opts The navigation options. + * @param done The transition complete function. + */ + pop(opts, done) { + return this.queueTrns({ + removeStart: -1, + removeCount: 1, + opts + }, done); + } + /** + * Pop to a specific index in the navigation stack. + * + * @param indexOrViewCtrl The index or view controller to pop to. + * @param opts The navigation options. + * @param done The transition complete function. + */ + popTo(indexOrViewCtrl, opts, done) { + const tiConfig = { + removeStart: -1, + removeCount: -1, + opts + }; + if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) { + tiConfig.removeView = indexOrViewCtrl; + tiConfig.removeStart = 1; + } + else if (typeof indexOrViewCtrl === 'number') { + tiConfig.removeStart = indexOrViewCtrl + 1; + } + return this.queueTrns(tiConfig, done); + } + /** + * Navigate back to the root of the stack, no matter how far back that is. + * + * @param opts The navigation options. + * @param done The transition complete function. + */ + popToRoot(opts, done) { + return this.queueTrns({ + removeStart: 1, + removeCount: -1, + opts + }, done); + } + /** + * Removes a component from the navigation stack at the specified index. + * + * @param startIndex The number to begin removal at. + * @param removeCount The number of components to remove. + * @param opts The navigation options. + * @param done The transition complete function. + */ + removeIndex(startIndex, removeCount = 1, opts, done) { + return this.queueTrns({ + removeStart: startIndex, + removeCount, + opts + }, done); + } + /** + * Set the root for the current navigation stack to a component. + * + * @param component The component to set as the root of the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + setRoot(component, componentProps, opts, done) { + return this.setPages([{ component, componentProps }], opts, done); + } + /** + * Set the views of the current navigation stack and navigate to the last view. + * By default animations are disabled, but they can be enabled by passing options + * to the navigation controller. Navigation parameters can also be passed to the + * individual pages in the array. + * + * @param views The list of views to set as the navigation stack. + * @param opts The navigation options. + * @param done The transition complete function. + */ + setPages(views, opts, done) { + if (opts == null) { + opts = {}; + } + // if animation wasn't set to true then default it to NOT animate + if (opts.animated !== true) { + opts.animated = false; + } + return this.queueTrns({ + insertStart: 0, + insertViews: views, + removeStart: 0, + removeCount: -1, + opts + }, done); + } + /** @internal */ + setRouteId(id, params, direction, animation) { + const active = this.getActiveSync(); + if (matches(active, id, params)) { + return Promise.resolve({ + changed: false, + element: active.element + }); + } + let resolve; + const promise = new Promise(r => (resolve = r)); + let finish; + const commonOpts = { + updateURL: false, + viewIsReady: enteringEl => { + let mark; + const p = new Promise(r => (mark = r)); + resolve({ + changed: true, + element: enteringEl, + markVisible: async () => { + mark(); + await finish; + } + }); + return p; + } + }; + if (direction === 'root') { + finish = this.setRoot(id, params, commonOpts); + } + else { + const viewController = this.views.find(v => matches(v, id, params)); + if (viewController) { + finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation })); + } + else if (direction === 'forward') { + finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation })); + } + else if (direction === 'back') { + finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation })); + } + } + return promise; + } + /** @internal */ + async getRouteId() { + const active = this.getActiveSync(); + return active + ? { + id: active.element.tagName, + params: active.params, + element: active.element + } + : undefined; + } + /** + * Get the active view. + */ + getActive() { + return Promise.resolve(this.getActiveSync()); + } + /** + * Get the view at the specified index. + * + * @param index The index of the view. + */ + getByIndex(index) { + return Promise.resolve(this.views[index]); + } + /** + * Returns `true` if the current view can go back. + * + * @param view The view to check. + */ + canGoBack(view) { + return Promise.resolve(this.canGoBackSync(view)); + } + /** + * Get the previous view. + * + * @param view The view to get. + */ + getPrevious(view) { + return Promise.resolve(this.getPreviousSync(view)); + } + getLength() { + return this.views.length; + } + getActiveSync() { + return this.views[this.views.length - 1]; + } + canGoBackSync(view = this.getActiveSync()) { + return !!(view && this.getPreviousSync(view)); + } + getPreviousSync(view = this.getActiveSync()) { + if (!view) { + return undefined; + } + const views = this.views; + const index = views.indexOf(view); + return index > 0 ? views[index - 1] : undefined; + } + // _queueTrns() adds a navigation stack change to the queue and schedules it to run: + // 1. _nextTrns(): consumes the next transition in the queue + // 2. _viewInit(): initializes enteringView if required + // 3. _viewTest(): ensures canLeave/canEnter Returns `true`, so the operation can continue + // 4. _postViewInit(): add/remove the views from the navigation stack + // 5. _transitionInit(): initializes the visual transition if required and schedules it to run + // 6. _viewAttachToDOM(): attaches the enteringView to the DOM + // 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath. + // 8. _transitionFinish(): called once the transition finishes + // 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them. + async queueTrns(ti, done) { + if (this.isTransitioning && ti.opts != null && ti.opts.skipIfBusy) { + return Promise.resolve(false); + } + const promise = new Promise((resolve, reject) => { + ti.resolve = resolve; + ti.reject = reject; + }); + ti.done = done; + /** + * If using router, check to see if navigation hooks + * will allow us to perform this transition. This + * is required in order for hooks to work with + * the ion-back-button or swipe to go back. + */ + if (ti.opts && ti.opts.updateURL !== false && this.useRouter) { + const router = document.querySelector('ion-router'); + if (router) { + const canTransition = await router.canTransition(); + if (canTransition === false) { + return Promise.resolve(false); + } + else if (typeof canTransition === 'string') { + router.push(canTransition, ti.opts.direction || 'back'); + return Promise.resolve(false); + } + } + } + // Normalize empty + if (ti.insertViews && ti.insertViews.length === 0) { + ti.insertViews = undefined; + } + // Enqueue transition instruction + this.transInstr.push(ti); + // if there isn't a transition already happening + // then this will kick off this transition + this.nextTrns(); + return promise; + } + success(result, ti) { + if (this.destroyed) { + this.fireError('nav controller was destroyed', ti); + return; + } + if (ti.done) { + ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction); + } + ti.resolve(result.hasCompleted); + if (ti.opts.updateURL !== false && this.useRouter) { + const router = document.querySelector('ion-router'); + if (router) { + const direction = result.direction === 'back' ? 'back' : 'forward'; + router.navChanged(direction); + } + } + } + failed(rejectReason, ti) { + if (this.destroyed) { + this.fireError('nav controller was destroyed', ti); + return; + } + this.transInstr.length = 0; + this.fireError(rejectReason, ti); + } + fireError(rejectReason, ti) { + if (ti.done) { + ti.done(false, false, rejectReason); + } + if (ti.reject && !this.destroyed) { + ti.reject(rejectReason); + } + else { + ti.resolve(false); + } + } + nextTrns() { + // this is the framework's bread 'n butta function + // only one transition is allowed at any given time + if (this.isTransitioning) { + return false; + } + // there is no transition happening right now + // get the next instruction + const ti = this.transInstr.shift(); + if (!ti) { + return false; + } + this.runTransition(ti); + return true; + } + async runTransition(ti) { + try { + // set that this nav is actively transitioning + this.ionNavWillChange.emit(); + this.isTransitioning = true; + this.prepareTI(ti); + const leavingView = this.getActiveSync(); + const enteringView = this.getEnteringView(ti, leavingView); + if (!leavingView && !enteringView) { + throw new Error('no views in the stack to be removed'); + } + if (enteringView && enteringView.state === VIEW_STATE_NEW) { + await enteringView.init(this.el); + } + this.postViewInit(enteringView, leavingView, ti); + // Needs transition? + const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && + enteringView !== leavingView; + if (requiresTransition && ti.opts && leavingView) { + const isBackDirection = ti.opts.direction === 'back'; + /** + * If heading back, use the entering page's animation + * unless otherwise specified by the developer. + */ + if (isBackDirection) { + ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView && enteringView.animationBuilder); + } + leavingView.animationBuilder = ti.opts.animationBuilder; + } + const result = requiresTransition + ? await this.transition(enteringView, leavingView, ti) + : { + // transition is not required, so we are already done! + // they're inserting/removing the views somewhere in the middle or + // beginning, so visually nothing needs to animate/transition + // resolve immediately because there's no animation that's happening + hasCompleted: true, + requiresTransition: false + }; + this.success(result, ti); + this.ionNavDidChange.emit(); + } + catch (rejectReason) { + this.failed(rejectReason, ti); + } + this.isTransitioning = false; + this.nextTrns(); + } + prepareTI(ti) { + const viewsLength = this.views.length; + ti.opts = ti.opts || {}; + if (ti.opts.delegate === undefined) { + ti.opts.delegate = this.delegate; + } + if (ti.removeView !== undefined) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.removeStart !== undefined, 'removeView needs removeStart'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.removeCount !== undefined, 'removeView needs removeCount'); + const index = this.views.indexOf(ti.removeView); + if (index < 0) { + throw new Error('removeView was not found'); + } + ti.removeStart += index; + } + if (ti.removeStart !== undefined) { + if (ti.removeStart < 0) { + ti.removeStart = viewsLength - 1; + } + if (ti.removeCount < 0) { + ti.removeCount = viewsLength - ti.removeStart; + } + ti.leavingRequiresTransition = + ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength; + } + if (ti.insertViews) { + // allow -1 to be passed in to auto push it on the end + // and clean up the index if it's larger then the size of the stack + if (ti.insertStart < 0 || ti.insertStart > viewsLength) { + ti.insertStart = viewsLength; + } + ti.enteringRequiresTransition = ti.insertStart === viewsLength; + } + const insertViews = ti.insertViews; + if (!insertViews) { + return; + } + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(insertViews.length > 0, 'length can not be zero'); + const viewControllers = convertToViews(insertViews); + if (viewControllers.length === 0) { + throw new Error('invalid views to insert'); + } + // Check all the inserted view are correct + for (const view of viewControllers) { + view.delegate = ti.opts.delegate; + const nav = view.nav; + if (nav && nav !== this) { + throw new Error('inserted view was already inserted'); + } + if (view.state === VIEW_STATE_DESTROYED) { + throw new Error('inserted view was already destroyed'); + } + } + ti.insertViews = viewControllers; + } + getEnteringView(ti, leavingView) { + const insertViews = ti.insertViews; + if (insertViews !== undefined) { + // grab the very last view of the views to be inserted + // and initialize it as the new entering view + return insertViews[insertViews.length - 1]; + } + const removeStart = ti.removeStart; + if (removeStart !== undefined) { + const views = this.views; + const removeEnd = removeStart + ti.removeCount; + for (let i = views.length - 1; i >= 0; i--) { + const view = views[i]; + if ((i < removeStart || i >= removeEnd) && view !== leavingView) { + return view; + } + } + } + return undefined; + } + postViewInit(enteringView, leavingView, ti) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(leavingView || enteringView, 'Both leavingView and enteringView are null'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.resolve, 'resolve must be valid'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.reject, 'reject must be valid'); + const opts = ti.opts; + const insertViews = ti.insertViews; + const removeStart = ti.removeStart; + const removeCount = ti.removeCount; + let destroyQueue; + // there are views to remove + if (removeStart !== undefined && removeCount !== undefined) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(removeStart >= 0, 'removeStart can not be negative'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(removeCount >= 0, 'removeCount can not be negative'); + destroyQueue = []; + for (let i = 0; i < removeCount; i++) { + const view = this.views[i + removeStart]; + if (view && view !== enteringView && view !== leavingView) { + destroyQueue.push(view); + } + } + // default the direction to "back" + opts.direction = opts.direction || 'back'; + } + const finalBalance = this.views.length + + (insertViews !== undefined ? insertViews.length : 0) - + (removeCount !== undefined ? removeCount : 0); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(finalBalance >= 0, 'final balance can not be negative'); + if (finalBalance === 0) { + console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el); + throw new Error('navigation stack needs at least one root page'); + } + // At this point the transition can not be rejected, any throw should be an error + // there are views to insert + if (insertViews) { + // add the views to the + let insertIndex = ti.insertStart; + for (const view of insertViews) { + this.insertViewAt(view, insertIndex); + insertIndex++; + } + if (ti.enteringRequiresTransition) { + // default to forward if not already set + opts.direction = opts.direction || 'forward'; + } + } + // if the views to be removed are in the beginning or middle + // and there is not a view that needs to visually transition out + // then just destroy them and don't transition anything + // batch all of lifecycles together + // let's make sure, callbacks are zoned + if (destroyQueue && destroyQueue.length > 0) { + for (const view of destroyQueue) { + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(view.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["b"]); + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(view.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["c"]); + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(view.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + } + // once all lifecycle events has been delivered, we can safely detroy the views + for (const view of destroyQueue) { + this.destroyView(view); + } + } + } + async transition(enteringView, leavingView, ti) { + // we should animate (duration > 0) if the pushed page is not the first one (startup) + // or if it is a portal (modal, actionsheet, etc.) + const opts = ti.opts; + const progressCallback = opts.progressAnimation + ? (ani) => this.sbAni = ani + : undefined; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const enteringEl = enteringView.element; + const leavingEl = leavingView && leavingView.element; + const animationOpts = Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, animationBuilder: this.animation || opts.animationBuilder || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('navAnimation'), progressCallback, animated: this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true), enteringEl, + leavingEl }, opts); + const { hasCompleted } = await Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["t"])(animationOpts); + return this.transitionFinish(hasCompleted, enteringView, leavingView, opts); + } + transitionFinish(hasCompleted, enteringView, leavingView, opts) { + const cleanupView = hasCompleted ? enteringView : leavingView; + if (cleanupView) { + this.cleanup(cleanupView); + } + return { + hasCompleted, + requiresTransition: true, + enteringView, + leavingView, + direction: opts.direction + }; + } + insertViewAt(view, index) { + const views = this.views; + const existingIndex = views.indexOf(view); + if (existingIndex > -1) { + // this view is already in the stack!! + // move it to its new location + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(view.nav === this, 'view is not part of the nav'); + views.splice(index, 0, views.splice(existingIndex, 1)[0]); + } + else { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!view.nav, 'nav is used'); + // this is a new view to add to the stack + // create the new entering view + view.nav = this; + // insert the entering view into the correct index in the stack + views.splice(index, 0, view); + } + } + removeView(view) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed'); + const views = this.views; + const index = views.indexOf(view); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(index > -1, 'view must be part of the stack'); + if (index >= 0) { + views.splice(index, 1); + } + } + destroyView(view) { + view._destroy(); + this.removeView(view); + } + /** + * DOM WRITE + */ + cleanup(activeView) { + // ok, cleanup time!! Destroy all of the views that are + // INACTIVE and come after the active view + // only do this if the views exist, though + if (this.destroyed) { + return; + } + const views = this.views; + const activeViewIndex = views.indexOf(activeView); + for (let i = views.length - 1; i >= 0; i--) { + const view = views[i]; + /** + * When inserting multiple views via insertPages + * the last page will be transitioned to, but the + * others will not be. As a result, a DOM element + * will only be created for the last page inserted. + * As a result, it is possible to have views in the + * stack that do not have `view.element` yet. + */ + const element = view.element; + if (element) { + if (i > activeViewIndex) { + // this view comes after the active view + // let's unload it + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + this.destroyView(view); + } + else if (i < activeViewIndex) { + // this view comes before the active view + // and it is not a portal then ensure it is hidden + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["s"])(element, true); + } + } + } + } + canStart() { + return (!!this.swipeGesture && + !this.isTransitioning && + this.transInstr.length === 0 && + this.animationEnabled && + this.canGoBackSync()); + } + onStart() { + this.queueTrns({ + removeStart: -1, + removeCount: 1, + opts: { + direction: 'back', + progressAnimation: true + } + }, undefined); + } + onMove(stepValue) { + if (this.sbAni) { + this.sbAni.progressStep(stepValue); + } + } + onEnd(shouldComplete, stepValue, dur) { + if (this.sbAni) { + this.animationEnabled = false; + this.sbAni.onFinish(() => { + this.animationEnabled = true; + }, { oneTimeCallback: true }); + // Account for rounding errors in JS + let newStepValue = (shouldComplete) ? -0.001 : 0.001; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + if (!shouldComplete) { + this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0]; + } + else { + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0]; + } + this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur); + } + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "swipeGesture": ["swipeGestureChanged"], + "root": ["rootChanged"] + }; } +}; +Nav.style = navCss; + +const navLink = (el, routerDirection, component, componentProps, routerAnimation) => { + const nav = el.closest('ion-nav'); + if (nav) { + if (routerDirection === 'forward') { + if (component !== undefined) { + return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation }); + } + } + else if (routerDirection === 'root') { + if (component !== undefined) { + return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation }); + } + } + else if (routerDirection === 'back') { + return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation }); + } + } + return Promise.resolve(false); +}; + +const NavLink = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * The transition direction when navigating to another page. + */ + this.routerDirection = 'forward'; + this.onClick = () => { + return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation); + }; + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=21-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/21-es2015.js.map b/android/app/src/main/assets/public/21-es2015.js.map new file mode 100644 index 000000000..a4549be54 --- /dev/null +++ b/android/app/src/main/assets/public/21-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AACnC;AACtB;AACuH;AACjG;AACF;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAM;AACV;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,sBAAsB,OAAO,QAAQ,MAAM,SAAS,kBAAkB,0BAA0B,gBAAgB,UAAU;;AAE1H;AACA;AACA,IAAI,4DAAgB;AACpB,0BAA0B,4DAAW;AACrC,4BAA4B,4DAAW;AACvC,2BAA2B,4DAAW;AACtC;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,mBAAmB,mEAAU;AAC7B,0BAA0B,2DAAM;AAChC;AACA;AACA;AACA;AACA;AACA,0BAA0B,2NAAkC;AAC5D;AACA;AACA;AACA;AACA,MAAM,4DAAS,eAAe,oDAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,gBAAgB,iDAAiD;AAC3I;AACA;AACA,qEAAqE,gBAAgB,8BAA8B;AACnH;AACA;AACA,wEAAwE,gBAAgB,iEAAiE;AACzJ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;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;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,MAAM,8DAAM;AACZ,MAAM,8DAAM;AACZ;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,IAAI,8DAAM;AACV;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,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAM;AACV,IAAI,8DAAM;AACV,IAAI,8DAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAM;AACZ,MAAM,8DAAM;AACZ;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAM;AACV;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,QAAQ,4DAAS,eAAe,oDAAoB;AACpD,QAAQ,4DAAS,eAAe,oDAAmB;AACnD,QAAQ,4DAAS,eAAe,oDAAqB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA,yCAAyC,mIAAmI,2DAAM,mEAAmE,2DAAM;AAC3P,iBAAiB;AACjB,WAAW,eAAe,SAAS,4DAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8DAAM;AACV;AACA;AACA,IAAI,8DAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,4DAAS,UAAU,oDAAqB;AAClD;AACA;AACA;AACA;AACA;AACA,UAAU,4DAAa;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mEAAuB;AAC/C;AACA;AACA,wBAAwB,mEAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC;AACb;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD,sDAAsD;AAC1G;AACA;AACA;AACA;AACA,uDAAuD,sDAAsD;AAC7G;AACA;AACA;AACA,sBAAsB,sDAAsD;AAC5E;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,wBAAwB;AAC7C;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;;AAEmD","file":"21-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { k as assert } from './helpers-90f46169.js';\nimport { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { a as attachComponent } from './framework-delegate-4584ab5a.js';\n\nconst VIEW_STATE_NEW = 1;\nconst VIEW_STATE_ATTACHED = 2;\nconst VIEW_STATE_DESTROYED = 3;\nclass ViewController {\n constructor(component, params) {\n this.component = component;\n this.params = params;\n this.state = VIEW_STATE_NEW;\n }\n async init(container) {\n this.state = VIEW_STATE_ATTACHED;\n if (!this.element) {\n const component = this.component;\n this.element = await attachComponent(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params);\n }\n }\n /**\n * DOM WRITE\n */\n _destroy() {\n assert(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED');\n const element = this.element;\n if (element) {\n if (this.delegate) {\n this.delegate.removeViewFromDom(element.parentElement, element);\n }\n else {\n element.remove();\n }\n }\n this.nav = undefined;\n this.state = VIEW_STATE_DESTROYED;\n }\n}\nconst matches = (view, id, params) => {\n if (!view) {\n return false;\n }\n if (view.component !== id) {\n return false;\n }\n const currentParams = view.params;\n if (currentParams === params) {\n return true;\n }\n if (!currentParams && !params) {\n return true;\n }\n if (!currentParams || !params) {\n return false;\n }\n const keysA = Object.keys(currentParams);\n const keysB = Object.keys(params);\n if (keysA.length !== keysB.length) {\n return false;\n }\n // Test for A's keys different from B.\n for (const key of keysA) {\n if (currentParams[key] !== params[key]) {\n return false;\n }\n }\n return true;\n};\nconst convertToView = (page, params) => {\n if (!page) {\n return null;\n }\n if (page instanceof ViewController) {\n return page;\n }\n return new ViewController(page, params);\n};\nconst convertToViews = (pages) => {\n return pages.map(page => {\n if (page instanceof ViewController) {\n return page;\n }\n if ('component' in page) {\n /**\n * TODO Ionic 6:\n * Consider switching to just using `undefined` here\n * as well as on the public interfaces and on\n * `NavComponentWithProps`. Previously `pages` was\n * of type `any[]` so TypeScript did not catch this.\n */\n return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps);\n }\n return convertToView(page, undefined);\n }).filter(v => v !== null);\n};\n\nconst navCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nconst Nav = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n this.transInstr = [];\n this.animationEnabled = true;\n this.useRouter = false;\n this.isTransitioning = false;\n this.destroyed = false;\n this.views = [];\n /**\n * If `true`, the nav should animate the transition of components.\n */\n this.animated = true;\n }\n swipeGestureChanged() {\n if (this.gesture) {\n this.gesture.enable(this.swipeGesture === true);\n }\n }\n rootChanged() {\n if (this.root !== undefined) {\n if (!this.useRouter) {\n this.setRoot(this.root, this.rootParams);\n }\n }\n }\n componentWillLoad() {\n this.useRouter =\n !!document.querySelector('ion-router') &&\n !this.el.closest('[no-router]');\n if (this.swipeGesture === undefined) {\n const mode = getIonMode(this);\n this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');\n }\n this.ionNavWillLoad.emit();\n }\n async componentDidLoad() {\n this.rootChanged();\n this.gesture = (await import('./swipe-back-2154c9a7.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));\n this.swipeGestureChanged();\n }\n disconnectedCallback() {\n for (const view of this.views) {\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n view._destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n // release swipe back gesture and transition\n this.transInstr.length = this.views.length = 0;\n this.destroyed = true;\n }\n /**\n * Push a new component onto the current navigation stack. Pass any additional\n * information along as an object. This additional information is accessible\n * through NavParams.\n *\n * @param component The component to push onto the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n push(component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: -1,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts a component into the navigation stack at the specified index.\n * This is useful to add a component at any point in the navigation stack.\n *\n * @param insertIndex The index to insert the component at in the stack.\n * @param component The component to insert into the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insert(insertIndex, component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts an array of components into the navigation stack at the specified index.\n * The last component in the array will become instantiated as a view, and animate\n * in to become the active view.\n *\n * @param insertIndex The index to insert the components at in the stack.\n * @param insertComponents The components to insert into the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insertPages(insertIndex, insertComponents, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: insertComponents,\n opts\n }, done);\n }\n /**\n * Pop a component off of the navigation stack. Navigates back from the current\n * component.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n pop(opts, done) {\n return this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts\n }, done);\n }\n /**\n * Pop to a specific index in the navigation stack.\n *\n * @param indexOrViewCtrl The index or view controller to pop to.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popTo(indexOrViewCtrl, opts, done) {\n const tiConfig = {\n removeStart: -1,\n removeCount: -1,\n opts\n };\n if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {\n tiConfig.removeView = indexOrViewCtrl;\n tiConfig.removeStart = 1;\n }\n else if (typeof indexOrViewCtrl === 'number') {\n tiConfig.removeStart = indexOrViewCtrl + 1;\n }\n return this.queueTrns(tiConfig, done);\n }\n /**\n * Navigate back to the root of the stack, no matter how far back that is.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popToRoot(opts, done) {\n return this.queueTrns({\n removeStart: 1,\n removeCount: -1,\n opts\n }, done);\n }\n /**\n * Removes a component from the navigation stack at the specified index.\n *\n * @param startIndex The number to begin removal at.\n * @param removeCount The number of components to remove.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n removeIndex(startIndex, removeCount = 1, opts, done) {\n return this.queueTrns({\n removeStart: startIndex,\n removeCount,\n opts\n }, done);\n }\n /**\n * Set the root for the current navigation stack to a component.\n *\n * @param component The component to set as the root of the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setRoot(component, componentProps, opts, done) {\n return this.setPages([{ component, componentProps }], opts, done);\n }\n /**\n * Set the views of the current navigation stack and navigate to the last view.\n * By default animations are disabled, but they can be enabled by passing options\n * to the navigation controller. Navigation parameters can also be passed to the\n * individual pages in the array.\n *\n * @param views The list of views to set as the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setPages(views, opts, done) {\n if (opts == null) {\n opts = {};\n }\n // if animation wasn't set to true then default it to NOT animate\n if (opts.animated !== true) {\n opts.animated = false;\n }\n return this.queueTrns({\n insertStart: 0,\n insertViews: views,\n removeStart: 0,\n removeCount: -1,\n opts\n }, done);\n }\n /** @internal */\n setRouteId(id, params, direction, animation) {\n const active = this.getActiveSync();\n if (matches(active, id, params)) {\n return Promise.resolve({\n changed: false,\n element: active.element\n });\n }\n let resolve;\n const promise = new Promise(r => (resolve = r));\n let finish;\n const commonOpts = {\n updateURL: false,\n viewIsReady: enteringEl => {\n let mark;\n const p = new Promise(r => (mark = r));\n resolve({\n changed: true,\n element: enteringEl,\n markVisible: async () => {\n mark();\n await finish;\n }\n });\n return p;\n }\n };\n if (direction === 'root') {\n finish = this.setRoot(id, params, commonOpts);\n }\n else {\n const viewController = this.views.find(v => matches(v, id, params));\n if (viewController) {\n finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));\n }\n else if (direction === 'forward') {\n finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));\n }\n else if (direction === 'back') {\n finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));\n }\n }\n return promise;\n }\n /** @internal */\n async getRouteId() {\n const active = this.getActiveSync();\n return active\n ? {\n id: active.element.tagName,\n params: active.params,\n element: active.element\n }\n : undefined;\n }\n /**\n * Get the active view.\n */\n getActive() {\n return Promise.resolve(this.getActiveSync());\n }\n /**\n * Get the view at the specified index.\n *\n * @param index The index of the view.\n */\n getByIndex(index) {\n return Promise.resolve(this.views[index]);\n }\n /**\n * Returns `true` if the current view can go back.\n *\n * @param view The view to check.\n */\n canGoBack(view) {\n return Promise.resolve(this.canGoBackSync(view));\n }\n /**\n * Get the previous view.\n *\n * @param view The view to get.\n */\n getPrevious(view) {\n return Promise.resolve(this.getPreviousSync(view));\n }\n getLength() {\n return this.views.length;\n }\n getActiveSync() {\n return this.views[this.views.length - 1];\n }\n canGoBackSync(view = this.getActiveSync()) {\n return !!(view && this.getPreviousSync(view));\n }\n getPreviousSync(view = this.getActiveSync()) {\n if (!view) {\n return undefined;\n }\n const views = this.views;\n const index = views.indexOf(view);\n return index > 0 ? views[index - 1] : undefined;\n }\n // _queueTrns() adds a navigation stack change to the queue and schedules it to run:\n // 1. _nextTrns(): consumes the next transition in the queue\n // 2. _viewInit(): initializes enteringView if required\n // 3. _viewTest(): ensures canLeave/canEnter Returns `true`, so the operation can continue\n // 4. _postViewInit(): add/remove the views from the navigation stack\n // 5. _transitionInit(): initializes the visual transition if required and schedules it to run\n // 6. _viewAttachToDOM(): attaches the enteringView to the DOM\n // 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath.\n // 8. _transitionFinish(): called once the transition finishes\n // 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them.\n async queueTrns(ti, done) {\n if (this.isTransitioning && ti.opts != null && ti.opts.skipIfBusy) {\n return Promise.resolve(false);\n }\n const promise = new Promise((resolve, reject) => {\n ti.resolve = resolve;\n ti.reject = reject;\n });\n ti.done = done;\n /**\n * If using router, check to see if navigation hooks\n * will allow us to perform this transition. This\n * is required in order for hooks to work with\n * the ion-back-button or swipe to go back.\n */\n if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const canTransition = await router.canTransition();\n if (canTransition === false) {\n return Promise.resolve(false);\n }\n else if (typeof canTransition === 'string') {\n router.push(canTransition, ti.opts.direction || 'back');\n return Promise.resolve(false);\n }\n }\n }\n // Normalize empty\n if (ti.insertViews && ti.insertViews.length === 0) {\n ti.insertViews = undefined;\n }\n // Enqueue transition instruction\n this.transInstr.push(ti);\n // if there isn't a transition already happening\n // then this will kick off this transition\n this.nextTrns();\n return promise;\n }\n success(result, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n if (ti.done) {\n ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);\n }\n ti.resolve(result.hasCompleted);\n if (ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const direction = result.direction === 'back' ? 'back' : 'forward';\n router.navChanged(direction);\n }\n }\n }\n failed(rejectReason, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n this.transInstr.length = 0;\n this.fireError(rejectReason, ti);\n }\n fireError(rejectReason, ti) {\n if (ti.done) {\n ti.done(false, false, rejectReason);\n }\n if (ti.reject && !this.destroyed) {\n ti.reject(rejectReason);\n }\n else {\n ti.resolve(false);\n }\n }\n nextTrns() {\n // this is the framework's bread 'n butta function\n // only one transition is allowed at any given time\n if (this.isTransitioning) {\n return false;\n }\n // there is no transition happening right now\n // get the next instruction\n const ti = this.transInstr.shift();\n if (!ti) {\n return false;\n }\n this.runTransition(ti);\n return true;\n }\n async runTransition(ti) {\n try {\n // set that this nav is actively transitioning\n this.ionNavWillChange.emit();\n this.isTransitioning = true;\n this.prepareTI(ti);\n const leavingView = this.getActiveSync();\n const enteringView = this.getEnteringView(ti, leavingView);\n if (!leavingView && !enteringView) {\n throw new Error('no views in the stack to be removed');\n }\n if (enteringView && enteringView.state === VIEW_STATE_NEW) {\n await enteringView.init(this.el);\n }\n this.postViewInit(enteringView, leavingView, ti);\n // Needs transition?\n const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) &&\n enteringView !== leavingView;\n if (requiresTransition && ti.opts && leavingView) {\n const isBackDirection = ti.opts.direction === 'back';\n /**\n * If heading back, use the entering page's animation\n * unless otherwise specified by the developer.\n */\n if (isBackDirection) {\n ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView && enteringView.animationBuilder);\n }\n leavingView.animationBuilder = ti.opts.animationBuilder;\n }\n const result = requiresTransition\n ? await this.transition(enteringView, leavingView, ti)\n : {\n // transition is not required, so we are already done!\n // they're inserting/removing the views somewhere in the middle or\n // beginning, so visually nothing needs to animate/transition\n // resolve immediately because there's no animation that's happening\n hasCompleted: true,\n requiresTransition: false\n };\n this.success(result, ti);\n this.ionNavDidChange.emit();\n }\n catch (rejectReason) {\n this.failed(rejectReason, ti);\n }\n this.isTransitioning = false;\n this.nextTrns();\n }\n prepareTI(ti) {\n const viewsLength = this.views.length;\n ti.opts = ti.opts || {};\n if (ti.opts.delegate === undefined) {\n ti.opts.delegate = this.delegate;\n }\n if (ti.removeView !== undefined) {\n assert(ti.removeStart !== undefined, 'removeView needs removeStart');\n assert(ti.removeCount !== undefined, 'removeView needs removeCount');\n const index = this.views.indexOf(ti.removeView);\n if (index < 0) {\n throw new Error('removeView was not found');\n }\n ti.removeStart += index;\n }\n if (ti.removeStart !== undefined) {\n if (ti.removeStart < 0) {\n ti.removeStart = viewsLength - 1;\n }\n if (ti.removeCount < 0) {\n ti.removeCount = viewsLength - ti.removeStart;\n }\n ti.leavingRequiresTransition =\n ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;\n }\n if (ti.insertViews) {\n // allow -1 to be passed in to auto push it on the end\n // and clean up the index if it's larger then the size of the stack\n if (ti.insertStart < 0 || ti.insertStart > viewsLength) {\n ti.insertStart = viewsLength;\n }\n ti.enteringRequiresTransition = ti.insertStart === viewsLength;\n }\n const insertViews = ti.insertViews;\n if (!insertViews) {\n return;\n }\n assert(insertViews.length > 0, 'length can not be zero');\n const viewControllers = convertToViews(insertViews);\n if (viewControllers.length === 0) {\n throw new Error('invalid views to insert');\n }\n // Check all the inserted view are correct\n for (const view of viewControllers) {\n view.delegate = ti.opts.delegate;\n const nav = view.nav;\n if (nav && nav !== this) {\n throw new Error('inserted view was already inserted');\n }\n if (view.state === VIEW_STATE_DESTROYED) {\n throw new Error('inserted view was already destroyed');\n }\n }\n ti.insertViews = viewControllers;\n }\n getEnteringView(ti, leavingView) {\n const insertViews = ti.insertViews;\n if (insertViews !== undefined) {\n // grab the very last view of the views to be inserted\n // and initialize it as the new entering view\n return insertViews[insertViews.length - 1];\n }\n const removeStart = ti.removeStart;\n if (removeStart !== undefined) {\n const views = this.views;\n const removeEnd = removeStart + ti.removeCount;\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n if ((i < removeStart || i >= removeEnd) && view !== leavingView) {\n return view;\n }\n }\n }\n return undefined;\n }\n postViewInit(enteringView, leavingView, ti) {\n assert(leavingView || enteringView, 'Both leavingView and enteringView are null');\n assert(ti.resolve, 'resolve must be valid');\n assert(ti.reject, 'reject must be valid');\n const opts = ti.opts;\n const insertViews = ti.insertViews;\n const removeStart = ti.removeStart;\n const removeCount = ti.removeCount;\n let destroyQueue;\n // there are views to remove\n if (removeStart !== undefined && removeCount !== undefined) {\n assert(removeStart >= 0, 'removeStart can not be negative');\n assert(removeCount >= 0, 'removeCount can not be negative');\n destroyQueue = [];\n for (let i = 0; i < removeCount; i++) {\n const view = this.views[i + removeStart];\n if (view && view !== enteringView && view !== leavingView) {\n destroyQueue.push(view);\n }\n }\n // default the direction to \"back\"\n opts.direction = opts.direction || 'back';\n }\n const finalBalance = this.views.length +\n (insertViews !== undefined ? insertViews.length : 0) -\n (removeCount !== undefined ? removeCount : 0);\n assert(finalBalance >= 0, 'final balance can not be negative');\n if (finalBalance === 0) {\n console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);\n throw new Error('navigation stack needs at least one root page');\n }\n // At this point the transition can not be rejected, any throw should be an error\n // there are views to insert\n if (insertViews) {\n // add the views to the\n let insertIndex = ti.insertStart;\n for (const view of insertViews) {\n this.insertViewAt(view, insertIndex);\n insertIndex++;\n }\n if (ti.enteringRequiresTransition) {\n // default to forward if not already set\n opts.direction = opts.direction || 'forward';\n }\n }\n // if the views to be removed are in the beginning or middle\n // and there is not a view that needs to visually transition out\n // then just destroy them and don't transition anything\n // batch all of lifecycles together\n // let's make sure, callbacks are zoned\n if (destroyQueue && destroyQueue.length > 0) {\n for (const view of destroyQueue) {\n lifecycle(view.element, LIFECYCLE_WILL_LEAVE);\n lifecycle(view.element, LIFECYCLE_DID_LEAVE);\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n }\n // once all lifecycle events has been delivered, we can safely detroy the views\n for (const view of destroyQueue) {\n this.destroyView(view);\n }\n }\n }\n async transition(enteringView, leavingView, ti) {\n // we should animate (duration > 0) if the pushed page is not the first one (startup)\n // or if it is a portal (modal, actionsheet, etc.)\n const opts = ti.opts;\n const progressCallback = opts.progressAnimation\n ? (ani) => this.sbAni = ani\n : undefined;\n const mode = getIonMode(this);\n const enteringEl = enteringView.element;\n const leavingEl = leavingView && leavingView.element;\n const animationOpts = Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, animationBuilder: this.animation || opts.animationBuilder || config.get('navAnimation'), progressCallback, animated: this.animated && config.getBoolean('animated', true), enteringEl,\n leavingEl }, opts);\n const { hasCompleted } = await transition(animationOpts);\n return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);\n }\n transitionFinish(hasCompleted, enteringView, leavingView, opts) {\n const cleanupView = hasCompleted ? enteringView : leavingView;\n if (cleanupView) {\n this.cleanup(cleanupView);\n }\n return {\n hasCompleted,\n requiresTransition: true,\n enteringView,\n leavingView,\n direction: opts.direction\n };\n }\n insertViewAt(view, index) {\n const views = this.views;\n const existingIndex = views.indexOf(view);\n if (existingIndex > -1) {\n // this view is already in the stack!!\n // move it to its new location\n assert(view.nav === this, 'view is not part of the nav');\n views.splice(index, 0, views.splice(existingIndex, 1)[0]);\n }\n else {\n assert(!view.nav, 'nav is used');\n // this is a new view to add to the stack\n // create the new entering view\n view.nav = this;\n // insert the entering view into the correct index in the stack\n views.splice(index, 0, view);\n }\n }\n removeView(view) {\n assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');\n const views = this.views;\n const index = views.indexOf(view);\n assert(index > -1, 'view must be part of the stack');\n if (index >= 0) {\n views.splice(index, 1);\n }\n }\n destroyView(view) {\n view._destroy();\n this.removeView(view);\n }\n /**\n * DOM WRITE\n */\n cleanup(activeView) {\n // ok, cleanup time!! Destroy all of the views that are\n // INACTIVE and come after the active view\n // only do this if the views exist, though\n if (this.destroyed) {\n return;\n }\n const views = this.views;\n const activeViewIndex = views.indexOf(activeView);\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n /**\n * When inserting multiple views via insertPages\n * the last page will be transitioned to, but the\n * others will not be. As a result, a DOM element\n * will only be created for the last page inserted.\n * As a result, it is possible to have views in the\n * stack that do not have `view.element` yet.\n */\n const element = view.element;\n if (element) {\n if (i > activeViewIndex) {\n // this view comes after the active view\n // let's unload it\n lifecycle(element, LIFECYCLE_WILL_UNLOAD);\n this.destroyView(view);\n }\n else if (i < activeViewIndex) {\n // this view comes before the active view\n // and it is not a portal then ensure it is hidden\n setPageHidden(element, true);\n }\n }\n }\n }\n canStart() {\n return (!!this.swipeGesture &&\n !this.isTransitioning &&\n this.transInstr.length === 0 &&\n this.animationEnabled &&\n this.canGoBackSync());\n }\n onStart() {\n this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts: {\n direction: 'back',\n progressAnimation: true\n }\n }, undefined);\n }\n onMove(stepValue) {\n if (this.sbAni) {\n this.sbAni.progressStep(stepValue);\n }\n }\n onEnd(shouldComplete, stepValue, dur) {\n if (this.sbAni) {\n this.animationEnabled = false;\n this.sbAni.onFinish(() => {\n this.animationEnabled = true;\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0];\n }\n else {\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0];\n }\n this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n }\n render() {\n return (h(\"slot\", null));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeGesture\": [\"swipeGestureChanged\"],\n \"root\": [\"rootChanged\"]\n }; }\n};\nNav.style = navCss;\n\nconst navLink = (el, routerDirection, component, componentProps, routerAnimation) => {\n const nav = el.closest('ion-nav');\n if (nav) {\n if (routerDirection === 'forward') {\n if (component !== undefined) {\n return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'root') {\n if (component !== undefined) {\n return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'back') {\n return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n return Promise.resolve(false);\n};\n\nconst NavLink = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * The transition direction when navigating to another page.\n */\n this.routerDirection = 'forward';\n this.onClick = () => {\n return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);\n };\n }\n render() {\n return (h(Host, { onClick: this.onClick }));\n }\n get el() { return getElement(this); }\n};\n\nexport { Nav as ion_nav, NavLink as ion_nav_link };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/21-es5.js b/android/app/src/main/assets/public/21-es5.js new file mode 100644 index 000000000..24136e447 --- /dev/null +++ b/android/app/src/main/assets/public/21-es5.js @@ -0,0 +1,1515 @@ +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[21], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_nav, ion_nav_link */ + + /***/ + function node_modulesIonicCoreDistEsmIonNav_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_nav", function () { + return Nav; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_nav_link", function () { + return NavLink; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./index-d8cfb4a8.js */ + "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); + /* harmony import */ + + + var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./cubic-bezier-eea9a7a9.js */ + "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); + /* harmony import */ + + + var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./framework-delegate-4584ab5a.js */ + "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + var VIEW_STATE_NEW = 1; + var VIEW_STATE_ATTACHED = 2; + var VIEW_STATE_DESTROYED = 3; + + var ViewController = /*#__PURE__*/function () { + function ViewController(component, params) { + _classCallCheck(this, ViewController); + + this.component = component; + this.params = params; + this.state = VIEW_STATE_NEW; + } + + _createClass(ViewController, [{ + key: "init", + value: function () { + var _init = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(container) { + var component; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.state = VIEW_STATE_ATTACHED; + + if (this.element) { + _context.next = 6; + break; + } + + component = this.component; + _context.next = 5; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_5__["a"])(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params); + + case 5: + this.element = _context.sent; + + case 6: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function init(_x) { + return _init.apply(this, arguments); + } + + return init; + }() + /** + * DOM WRITE + */ + + }, { + key: "_destroy", + value: function _destroy() { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED'); + var element = this.element; + + if (element) { + if (this.delegate) { + this.delegate.removeViewFromDom(element.parentElement, element); + } else { + element.remove(); + } + } + + this.nav = undefined; + this.state = VIEW_STATE_DESTROYED; + } + }]); + + return ViewController; + }(); + + var matches = function matches(view, id, params) { + if (!view) { + return false; + } + + if (view.component !== id) { + return false; + } + + var currentParams = view.params; + + if (currentParams === params) { + return true; + } + + if (!currentParams && !params) { + return true; + } + + if (!currentParams || !params) { + return false; + } + + var keysA = Object.keys(currentParams); + var keysB = Object.keys(params); + + if (keysA.length !== keysB.length) { + return false; + } // Test for A's keys different from B. + + + for (var _i = 0, _keysA = keysA; _i < _keysA.length; _i++) { + var key = _keysA[_i]; + + if (currentParams[key] !== params[key]) { + return false; + } + } + + return true; + }; + + var convertToView = function convertToView(page, params) { + if (!page) { + return null; + } + + if (page instanceof ViewController) { + return page; + } + + return new ViewController(page, params); + }; + + var convertToViews = function convertToViews(pages) { + return pages.map(function (page) { + if (page instanceof ViewController) { + return page; + } + + if ('component' in page) { + /** + * TODO Ionic 6: + * Consider switching to just using `undefined` here + * as well as on the public interfaces and on + * `NavComponentWithProps`. Previously `pages` was + * of type `any[]` so TypeScript did not catch this. + */ + return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps); + } + + return convertToView(page, undefined); + }).filter(function (v) { + return v !== null; + }); + }; + + var navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}"; + + var Nav = /*#__PURE__*/function () { + function Nav(hostRef) { + _classCallCheck(this, Nav); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionNavWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillChange", 3); + this.ionNavDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavDidChange", 3); + this.transInstr = []; + this.animationEnabled = true; + this.useRouter = false; + this.isTransitioning = false; + this.destroyed = false; + this.views = []; + /** + * If `true`, the nav should animate the transition of components. + */ + + this.animated = true; + } + + _createClass(Nav, [{ + key: "swipeGestureChanged", + value: function swipeGestureChanged() { + if (this.gesture) { + this.gesture.enable(this.swipeGesture === true); + } + } + }, { + key: "rootChanged", + value: function rootChanged() { + if (this.root !== undefined) { + if (!this.useRouter) { + this.setRoot(this.root, this.rootParams); + } + } + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]'); + + if (this.swipeGesture === undefined) { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.swipeGesture = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('swipeBackEnabled', mode === 'ios'); + } + + this.ionNavWillLoad.emit(); + } + }, { + key: "componentDidLoad", + value: function () { + var _componentDidLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.rootChanged(); + _context2.next = 3; + return __webpack_require__.e( + /*! import() | swipe-back-2154c9a7-js */ + "swipe-back-2154c9a7-js").then(__webpack_require__.bind(null, + /*! ./swipe-back-2154c9a7.js */ + "./node_modules/@ionic/core/dist/esm/swipe-back-2154c9a7.js")); + + case 3: + this.gesture = _context2.sent.createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this)); + this.swipeGestureChanged(); + + case 5: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function componentDidLoad() { + return _componentDidLoad.apply(this, arguments); + } + + return componentDidLoad; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + var _iterator = _createForOfIteratorHelper(this.views), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var view = _step.value; + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(view.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + + view._destroy(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } // release swipe back gesture and transition + + + this.transInstr.length = this.views.length = 0; + this.destroyed = true; + } + /** + * Push a new component onto the current navigation stack. Pass any additional + * information along as an object. This additional information is accessible + * through NavParams. + * + * @param component The component to push onto the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "push", + value: function push(component, componentProps, opts, done) { + return this.queueTrns({ + insertStart: -1, + insertViews: [{ + component: component, + componentProps: componentProps + }], + opts: opts + }, done); + } + /** + * Inserts a component into the navigation stack at the specified index. + * This is useful to add a component at any point in the navigation stack. + * + * @param insertIndex The index to insert the component at in the stack. + * @param component The component to insert into the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "insert", + value: function insert(insertIndex, component, componentProps, opts, done) { + return this.queueTrns({ + insertStart: insertIndex, + insertViews: [{ + component: component, + componentProps: componentProps + }], + opts: opts + }, done); + } + /** + * Inserts an array of components into the navigation stack at the specified index. + * The last component in the array will become instantiated as a view, and animate + * in to become the active view. + * + * @param insertIndex The index to insert the components at in the stack. + * @param insertComponents The components to insert into the navigation stack. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "insertPages", + value: function insertPages(insertIndex, insertComponents, opts, done) { + return this.queueTrns({ + insertStart: insertIndex, + insertViews: insertComponents, + opts: opts + }, done); + } + /** + * Pop a component off of the navigation stack. Navigates back from the current + * component. + * + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "pop", + value: function pop(opts, done) { + return this.queueTrns({ + removeStart: -1, + removeCount: 1, + opts: opts + }, done); + } + /** + * Pop to a specific index in the navigation stack. + * + * @param indexOrViewCtrl The index or view controller to pop to. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "popTo", + value: function popTo(indexOrViewCtrl, opts, done) { + var tiConfig = { + removeStart: -1, + removeCount: -1, + opts: opts + }; + + if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) { + tiConfig.removeView = indexOrViewCtrl; + tiConfig.removeStart = 1; + } else if (typeof indexOrViewCtrl === 'number') { + tiConfig.removeStart = indexOrViewCtrl + 1; + } + + return this.queueTrns(tiConfig, done); + } + /** + * Navigate back to the root of the stack, no matter how far back that is. + * + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "popToRoot", + value: function popToRoot(opts, done) { + return this.queueTrns({ + removeStart: 1, + removeCount: -1, + opts: opts + }, done); + } + /** + * Removes a component from the navigation stack at the specified index. + * + * @param startIndex The number to begin removal at. + * @param removeCount The number of components to remove. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "removeIndex", + value: function removeIndex(startIndex) { + var removeCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var opts = arguments.length > 2 ? arguments[2] : undefined; + var done = arguments.length > 3 ? arguments[3] : undefined; + return this.queueTrns({ + removeStart: startIndex, + removeCount: removeCount, + opts: opts + }, done); + } + /** + * Set the root for the current navigation stack to a component. + * + * @param component The component to set as the root of the navigation stack. + * @param componentProps Any properties of the component. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "setRoot", + value: function setRoot(component, componentProps, opts, done) { + return this.setPages([{ + component: component, + componentProps: componentProps + }], opts, done); + } + /** + * Set the views of the current navigation stack and navigate to the last view. + * By default animations are disabled, but they can be enabled by passing options + * to the navigation controller. Navigation parameters can also be passed to the + * individual pages in the array. + * + * @param views The list of views to set as the navigation stack. + * @param opts The navigation options. + * @param done The transition complete function. + */ + + }, { + key: "setPages", + value: function setPages(views, opts, done) { + if (opts == null) { + opts = {}; + } // if animation wasn't set to true then default it to NOT animate + + + if (opts.animated !== true) { + opts.animated = false; + } + + return this.queueTrns({ + insertStart: 0, + insertViews: views, + removeStart: 0, + removeCount: -1, + opts: opts + }, done); + } + /** @internal */ + + }, { + key: "setRouteId", + value: function setRouteId(id, params, direction, animation) { + var active = this.getActiveSync(); + + if (matches(active, id, params)) { + return Promise.resolve({ + changed: false, + element: active.element + }); + } + + var resolve; + var promise = new Promise(function (r) { + return resolve = r; + }); + var finish; + var commonOpts = { + updateURL: false, + viewIsReady: function viewIsReady(enteringEl) { + var mark; + var p = new Promise(function (r) { + return mark = r; + }); + resolve({ + changed: true, + element: enteringEl, + markVisible: function () { + var _markVisible = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + mark(); + _context3.next = 3; + return finish; + + case 3: + case "end": + return _context3.stop(); + } + } + }, _callee3); + })); + + function markVisible() { + return _markVisible.apply(this, arguments); + } + + return markVisible; + }() + }); + return p; + } + }; + + if (direction === 'root') { + finish = this.setRoot(id, params, commonOpts); + } else { + var viewController = this.views.find(function (v) { + return matches(v, id, params); + }); + + if (viewController) { + finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { + direction: 'back', + animationBuilder: animation + })); + } else if (direction === 'forward') { + finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { + animationBuilder: animation + })); + } else if (direction === 'back') { + finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { + direction: 'back', + animated: true, + animationBuilder: animation + })); + } + } + + return promise; + } + /** @internal */ + + }, { + key: "getRouteId", + value: function () { + var _getRouteId = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { + var active; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + active = this.getActiveSync(); + return _context4.abrupt("return", active ? { + id: active.element.tagName, + params: active.params, + element: active.element + } : undefined); + + case 2: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function getRouteId() { + return _getRouteId.apply(this, arguments); + } + + return getRouteId; + }() + /** + * Get the active view. + */ + + }, { + key: "getActive", + value: function getActive() { + return Promise.resolve(this.getActiveSync()); + } + /** + * Get the view at the specified index. + * + * @param index The index of the view. + */ + + }, { + key: "getByIndex", + value: function getByIndex(index) { + return Promise.resolve(this.views[index]); + } + /** + * Returns `true` if the current view can go back. + * + * @param view The view to check. + */ + + }, { + key: "canGoBack", + value: function canGoBack(view) { + return Promise.resolve(this.canGoBackSync(view)); + } + /** + * Get the previous view. + * + * @param view The view to get. + */ + + }, { + key: "getPrevious", + value: function getPrevious(view) { + return Promise.resolve(this.getPreviousSync(view)); + } + }, { + key: "getLength", + value: function getLength() { + return this.views.length; + } + }, { + key: "getActiveSync", + value: function getActiveSync() { + return this.views[this.views.length - 1]; + } + }, { + key: "canGoBackSync", + value: function canGoBackSync() { + var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getActiveSync(); + return !!(view && this.getPreviousSync(view)); + } + }, { + key: "getPreviousSync", + value: function getPreviousSync() { + var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getActiveSync(); + + if (!view) { + return undefined; + } + + var views = this.views; + var index = views.indexOf(view); + return index > 0 ? views[index - 1] : undefined; + } // _queueTrns() adds a navigation stack change to the queue and schedules it to run: + // 1. _nextTrns(): consumes the next transition in the queue + // 2. _viewInit(): initializes enteringView if required + // 3. _viewTest(): ensures canLeave/canEnter Returns `true`, so the operation can continue + // 4. _postViewInit(): add/remove the views from the navigation stack + // 5. _transitionInit(): initializes the visual transition if required and schedules it to run + // 6. _viewAttachToDOM(): attaches the enteringView to the DOM + // 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath. + // 8. _transitionFinish(): called once the transition finishes + // 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them. + + }, { + key: "queueTrns", + value: function () { + var _queueTrns = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(ti, done) { + var promise, router, canTransition; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + if (!(this.isTransitioning && ti.opts != null && ti.opts.skipIfBusy)) { + _context5.next = 2; + break; + } + + return _context5.abrupt("return", Promise.resolve(false)); + + case 2: + promise = new Promise(function (resolve, reject) { + ti.resolve = resolve; + ti.reject = reject; + }); + ti.done = done; + /** + * If using router, check to see if navigation hooks + * will allow us to perform this transition. This + * is required in order for hooks to work with + * the ion-back-button or swipe to go back. + */ + + if (!(ti.opts && ti.opts.updateURL !== false && this.useRouter)) { + _context5.next = 17; + break; + } + + router = document.querySelector('ion-router'); + + if (!router) { + _context5.next = 17; + break; + } + + _context5.next = 9; + return router.canTransition(); + + case 9: + canTransition = _context5.sent; + + if (!(canTransition === false)) { + _context5.next = 14; + break; + } + + return _context5.abrupt("return", Promise.resolve(false)); + + case 14: + if (!(typeof canTransition === 'string')) { + _context5.next = 17; + break; + } + + router.push(canTransition, ti.opts.direction || 'back'); + return _context5.abrupt("return", Promise.resolve(false)); + + case 17: + // Normalize empty + if (ti.insertViews && ti.insertViews.length === 0) { + ti.insertViews = undefined; + } // Enqueue transition instruction + + + this.transInstr.push(ti); // if there isn't a transition already happening + // then this will kick off this transition + + this.nextTrns(); + return _context5.abrupt("return", promise); + + case 21: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function queueTrns(_x2, _x3) { + return _queueTrns.apply(this, arguments); + } + + return queueTrns; + }() + }, { + key: "success", + value: function success(result, ti) { + if (this.destroyed) { + this.fireError('nav controller was destroyed', ti); + return; + } + + if (ti.done) { + ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction); + } + + ti.resolve(result.hasCompleted); + + if (ti.opts.updateURL !== false && this.useRouter) { + var router = document.querySelector('ion-router'); + + if (router) { + var direction = result.direction === 'back' ? 'back' : 'forward'; + router.navChanged(direction); + } + } + } + }, { + key: "failed", + value: function failed(rejectReason, ti) { + if (this.destroyed) { + this.fireError('nav controller was destroyed', ti); + return; + } + + this.transInstr.length = 0; + this.fireError(rejectReason, ti); + } + }, { + key: "fireError", + value: function fireError(rejectReason, ti) { + if (ti.done) { + ti.done(false, false, rejectReason); + } + + if (ti.reject && !this.destroyed) { + ti.reject(rejectReason); + } else { + ti.resolve(false); + } + } + }, { + key: "nextTrns", + value: function nextTrns() { + // this is the framework's bread 'n butta function + // only one transition is allowed at any given time + if (this.isTransitioning) { + return false; + } // there is no transition happening right now + // get the next instruction + + + var ti = this.transInstr.shift(); + + if (!ti) { + return false; + } + + this.runTransition(ti); + return true; + } + }, { + key: "runTransition", + value: function () { + var _runTransition = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(ti) { + var leavingView, enteringView, requiresTransition, isBackDirection, result; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.prev = 0; + // set that this nav is actively transitioning + this.ionNavWillChange.emit(); + this.isTransitioning = true; + this.prepareTI(ti); + leavingView = this.getActiveSync(); + enteringView = this.getEnteringView(ti, leavingView); + + if (!(!leavingView && !enteringView)) { + _context6.next = 8; + break; + } + + throw new Error('no views in the stack to be removed'); + + case 8: + if (!(enteringView && enteringView.state === VIEW_STATE_NEW)) { + _context6.next = 11; + break; + } + + _context6.next = 11; + return enteringView.init(this.el); + + case 11: + this.postViewInit(enteringView, leavingView, ti); // Needs transition? + + requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView; + + if (requiresTransition && ti.opts && leavingView) { + isBackDirection = ti.opts.direction === 'back'; + /** + * If heading back, use the entering page's animation + * unless otherwise specified by the developer. + */ + + if (isBackDirection) { + ti.opts.animationBuilder = ti.opts.animationBuilder || enteringView && enteringView.animationBuilder; + } + + leavingView.animationBuilder = ti.opts.animationBuilder; + } + + if (!requiresTransition) { + _context6.next = 20; + break; + } + + _context6.next = 17; + return this.transition(enteringView, leavingView, ti); + + case 17: + _context6.t0 = _context6.sent; + _context6.next = 21; + break; + + case 20: + _context6.t0 = { + // transition is not required, so we are already done! + // they're inserting/removing the views somewhere in the middle or + // beginning, so visually nothing needs to animate/transition + // resolve immediately because there's no animation that's happening + hasCompleted: true, + requiresTransition: false + }; + + case 21: + result = _context6.t0; + this.success(result, ti); + this.ionNavDidChange.emit(); + _context6.next = 29; + break; + + case 26: + _context6.prev = 26; + _context6.t1 = _context6["catch"](0); + this.failed(_context6.t1, ti); + + case 29: + this.isTransitioning = false; + this.nextTrns(); + + case 31: + case "end": + return _context6.stop(); + } + } + }, _callee6, this, [[0, 26]]); + })); + + function runTransition(_x4) { + return _runTransition.apply(this, arguments); + } + + return runTransition; + }() + }, { + key: "prepareTI", + value: function prepareTI(ti) { + var viewsLength = this.views.length; + ti.opts = ti.opts || {}; + + if (ti.opts.delegate === undefined) { + ti.opts.delegate = this.delegate; + } + + if (ti.removeView !== undefined) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.removeStart !== undefined, 'removeView needs removeStart'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.removeCount !== undefined, 'removeView needs removeCount'); + var index = this.views.indexOf(ti.removeView); + + if (index < 0) { + throw new Error('removeView was not found'); + } + + ti.removeStart += index; + } + + if (ti.removeStart !== undefined) { + if (ti.removeStart < 0) { + ti.removeStart = viewsLength - 1; + } + + if (ti.removeCount < 0) { + ti.removeCount = viewsLength - ti.removeStart; + } + + ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength; + } + + if (ti.insertViews) { + // allow -1 to be passed in to auto push it on the end + // and clean up the index if it's larger then the size of the stack + if (ti.insertStart < 0 || ti.insertStart > viewsLength) { + ti.insertStart = viewsLength; + } + + ti.enteringRequiresTransition = ti.insertStart === viewsLength; + } + + var insertViews = ti.insertViews; + + if (!insertViews) { + return; + } + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(insertViews.length > 0, 'length can not be zero'); + var viewControllers = convertToViews(insertViews); + + if (viewControllers.length === 0) { + throw new Error('invalid views to insert'); + } // Check all the inserted view are correct + + + var _iterator2 = _createForOfIteratorHelper(viewControllers), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var view = _step2.value; + view.delegate = ti.opts.delegate; + var nav = view.nav; + + if (nav && nav !== this) { + throw new Error('inserted view was already inserted'); + } + + if (view.state === VIEW_STATE_DESTROYED) { + throw new Error('inserted view was already destroyed'); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + ti.insertViews = viewControllers; + } + }, { + key: "getEnteringView", + value: function getEnteringView(ti, leavingView) { + var insertViews = ti.insertViews; + + if (insertViews !== undefined) { + // grab the very last view of the views to be inserted + // and initialize it as the new entering view + return insertViews[insertViews.length - 1]; + } + + var removeStart = ti.removeStart; + + if (removeStart !== undefined) { + var views = this.views; + var removeEnd = removeStart + ti.removeCount; + + for (var i = views.length - 1; i >= 0; i--) { + var view = views[i]; + + if ((i < removeStart || i >= removeEnd) && view !== leavingView) { + return view; + } + } + } + + return undefined; + } + }, { + key: "postViewInit", + value: function postViewInit(enteringView, leavingView, ti) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(leavingView || enteringView, 'Both leavingView and enteringView are null'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.resolve, 'resolve must be valid'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(ti.reject, 'reject must be valid'); + var opts = ti.opts; + var insertViews = ti.insertViews; + var removeStart = ti.removeStart; + var removeCount = ti.removeCount; + var destroyQueue; // there are views to remove + + if (removeStart !== undefined && removeCount !== undefined) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(removeStart >= 0, 'removeStart can not be negative'); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(removeCount >= 0, 'removeCount can not be negative'); + destroyQueue = []; + + for (var i = 0; i < removeCount; i++) { + var view = this.views[i + removeStart]; + + if (view && view !== enteringView && view !== leavingView) { + destroyQueue.push(view); + } + } // default the direction to "back" + + + opts.direction = opts.direction || 'back'; + } + + var finalBalance = this.views.length + (insertViews !== undefined ? insertViews.length : 0) - (removeCount !== undefined ? removeCount : 0); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(finalBalance >= 0, 'final balance can not be negative'); + + if (finalBalance === 0) { + console.warn("You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.", this, this.el); + throw new Error('navigation stack needs at least one root page'); + } // At this point the transition can not be rejected, any throw should be an error + // there are views to insert + + + if (insertViews) { + // add the views to the + var insertIndex = ti.insertStart; + + var _iterator3 = _createForOfIteratorHelper(insertViews), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _view = _step3.value; + this.insertViewAt(_view, insertIndex); + insertIndex++; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + if (ti.enteringRequiresTransition) { + // default to forward if not already set + opts.direction = opts.direction || 'forward'; + } + } // if the views to be removed are in the beginning or middle + // and there is not a view that needs to visually transition out + // then just destroy them and don't transition anything + // batch all of lifecycles together + // let's make sure, callbacks are zoned + + + if (destroyQueue && destroyQueue.length > 0) { + var _iterator4 = _createForOfIteratorHelper(destroyQueue), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _view2 = _step4.value; + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(_view2.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["b"]); + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(_view2.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["c"]); + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(_view2.element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + } // once all lifecycle events has been delivered, we can safely detroy the views + + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + var _iterator5 = _createForOfIteratorHelper(destroyQueue), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _view3 = _step5.value; + this.destroyView(_view3); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + } + } + }, { + key: "transition", + value: function () { + var _transition = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(enteringView, leavingView, ti) { + var _this = this; + + var opts, progressCallback, mode, enteringEl, leavingEl, animationOpts, _yield$Object, hasCompleted; + + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + // we should animate (duration > 0) if the pushed page is not the first one (startup) + // or if it is a portal (modal, actionsheet, etc.) + opts = ti.opts; + progressCallback = opts.progressAnimation ? function (ani) { + return _this.sbAni = ani; + } : undefined; + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + enteringEl = enteringView.element; + leavingEl = leavingView && leavingView.element; + animationOpts = Object.assign({ + mode: mode, + showGoBack: this.canGoBackSync(enteringView), + baseEl: this.el, + animationBuilder: this.animation || opts.animationBuilder || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('navAnimation'), + progressCallback: progressCallback, + animated: this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true), + enteringEl: enteringEl, + leavingEl: leavingEl + }, opts); + _context7.next = 8; + return Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["t"])(animationOpts); + + case 8: + _yield$Object = _context7.sent; + hasCompleted = _yield$Object.hasCompleted; + return _context7.abrupt("return", this.transitionFinish(hasCompleted, enteringView, leavingView, opts)); + + case 11: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function transition(_x5, _x6, _x7) { + return _transition.apply(this, arguments); + } + + return transition; + }() + }, { + key: "transitionFinish", + value: function transitionFinish(hasCompleted, enteringView, leavingView, opts) { + var cleanupView = hasCompleted ? enteringView : leavingView; + + if (cleanupView) { + this.cleanup(cleanupView); + } + + return { + hasCompleted: hasCompleted, + requiresTransition: true, + enteringView: enteringView, + leavingView: leavingView, + direction: opts.direction + }; + } + }, { + key: "insertViewAt", + value: function insertViewAt(view, index) { + var views = this.views; + var existingIndex = views.indexOf(view); + + if (existingIndex > -1) { + // this view is already in the stack!! + // move it to its new location + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(view.nav === this, 'view is not part of the nav'); + views.splice(index, 0, views.splice(existingIndex, 1)[0]); + } else { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(!view.nav, 'nav is used'); // this is a new view to add to the stack + // create the new entering view + + view.nav = this; // insert the entering view into the correct index in the stack + + views.splice(index, 0, view); + } + } + }, { + key: "removeView", + value: function removeView(view) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed'); + var views = this.views; + var index = views.indexOf(view); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["k"])(index > -1, 'view must be part of the stack'); + + if (index >= 0) { + views.splice(index, 1); + } + } + }, { + key: "destroyView", + value: function destroyView(view) { + view._destroy(); + + this.removeView(view); + } + /** + * DOM WRITE + */ + + }, { + key: "cleanup", + value: function cleanup(activeView) { + // ok, cleanup time!! Destroy all of the views that are + // INACTIVE and come after the active view + // only do this if the views exist, though + if (this.destroyed) { + return; + } + + var views = this.views; + var activeViewIndex = views.indexOf(activeView); + + for (var i = views.length - 1; i >= 0; i--) { + var view = views[i]; + /** + * When inserting multiple views via insertPages + * the last page will be transitioned to, but the + * others will not be. As a result, a DOM element + * will only be created for the last page inserted. + * As a result, it is possible to have views in the + * stack that do not have `view.element` yet. + */ + + var element = view.element; + + if (element) { + if (i > activeViewIndex) { + // this view comes after the active view + // let's unload it + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["l"])(element, _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["d"]); + this.destroyView(view); + } else if (i < activeViewIndex) { + // this view comes before the active view + // and it is not a portal then ensure it is hidden + Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_3__["s"])(element, true); + } + } + } + } + }, { + key: "canStart", + value: function canStart() { + return !!this.swipeGesture && !this.isTransitioning && this.transInstr.length === 0 && this.animationEnabled && this.canGoBackSync(); + } + }, { + key: "onStart", + value: function onStart() { + this.queueTrns({ + removeStart: -1, + removeCount: 1, + opts: { + direction: 'back', + progressAnimation: true + } + }, undefined); + } + }, { + key: "onMove", + value: function onMove(stepValue) { + if (this.sbAni) { + this.sbAni.progressStep(stepValue); + } + } + }, { + key: "onEnd", + value: function onEnd(shouldComplete, stepValue, dur) { + var _this2 = this; + + if (this.sbAni) { + this.animationEnabled = false; + this.sbAni.onFinish(function () { + _this2.animationEnabled = true; + }, { + oneTimeCallback: true + }); // Account for rounding errors in JS + + var newStepValue = shouldComplete ? -0.001 : 0.001; + /** + * Animation will be reversed here, so need to + * reverse the easing curve as well + * + * Additionally, we need to account for the time relative + * to the new easing curve, as `stepValue` is going to be given + * in terms of a linear curve. + */ + + if (!shouldComplete) { + this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)'); + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0]; + } else { + newStepValue += Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0]; + } + + this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur); + } + } + }, { + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "swipeGesture": ["swipeGestureChanged"], + "root": ["rootChanged"] + }; + } + }]); + + return Nav; + }(); + + Nav.style = navCss; + + var navLink = function navLink(el, routerDirection, component, componentProps, routerAnimation) { + var nav = el.closest('ion-nav'); + + if (nav) { + if (routerDirection === 'forward') { + if (component !== undefined) { + return nav.push(component, componentProps, { + skipIfBusy: true, + animationBuilder: routerAnimation + }); + } + } else if (routerDirection === 'root') { + if (component !== undefined) { + return nav.setRoot(component, componentProps, { + skipIfBusy: true, + animationBuilder: routerAnimation + }); + } + } else if (routerDirection === 'back') { + return nav.pop({ + skipIfBusy: true, + animationBuilder: routerAnimation + }); + } + } + + return Promise.resolve(false); + }; + + var NavLink = /*#__PURE__*/function () { + function NavLink(hostRef) { + var _this3 = this; + + _classCallCheck(this, NavLink); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * The transition direction when navigating to another page. + */ + + this.routerDirection = 'forward'; + + this.onClick = function () { + return navLink(_this3.el, _this3.routerDirection, _this3.component, _this3.componentProps, _this3.routerAnimation); + }; + } + + _createClass(NavLink, [{ + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return NavLink; + }(); + /***/ + + } +}]); +//# sourceMappingURL=21-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/21-es5.js.map b/android/app/src/main/assets/public/21-es5.js.map new file mode 100644 index 000000000..bacb3017d --- /dev/null +++ b/android/app/src/main/assets/public/21-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js"],"names":["VIEW_STATE_NEW","VIEW_STATE_ATTACHED","VIEW_STATE_DESTROYED","ViewController","component","params","state","container","element","delegate","removeViewFromDom","parentElement","remove","nav","undefined","matches","view","id","currentParams","keysA","Object","keys","keysB","length","key","convertToView","page","convertToViews","pages","map","componentProps","filter","v","navCss","Nav","hostRef","ionNavWillLoad","ionNavWillChange","ionNavDidChange","transInstr","animationEnabled","useRouter","isTransitioning","destroyed","views","animated","gesture","enable","swipeGesture","root","setRoot","rootParams","document","querySelector","el","closest","mode","getBoolean","emit","rootChanged","createSwipeBackGesture","canStart","bind","onStart","onMove","onEnd","swipeGestureChanged","_destroy","destroy","opts","done","queueTrns","insertStart","insertViews","insertIndex","insertComponents","removeStart","removeCount","indexOrViewCtrl","tiConfig","removeView","startIndex","setPages","direction","animation","active","getActiveSync","Promise","resolve","changed","promise","r","finish","commonOpts","updateURL","viewIsReady","enteringEl","mark","p","markVisible","viewController","find","popTo","assign","animationBuilder","push","tagName","index","canGoBackSync","getPreviousSync","indexOf","ti","skipIfBusy","reject","router","canTransition","nextTrns","result","fireError","hasCompleted","requiresTransition","enteringView","leavingView","navChanged","rejectReason","shift","runTransition","prepareTI","getEnteringView","Error","init","postViewInit","enteringRequiresTransition","leavingRequiresTransition","isBackDirection","transition","success","failed","viewsLength","viewControllers","removeEnd","i","destroyQueue","finalBalance","console","warn","insertViewAt","destroyView","progressCallback","progressAnimation","ani","sbAni","leavingEl","animationOpts","showGoBack","baseEl","get","transitionFinish","cleanupView","cleanup","existingIndex","splice","activeView","activeViewIndex","stepValue","progressStep","shouldComplete","dur","onFinish","oneTimeCallback","newStepValue","easing","progressEnd","style","navLink","routerDirection","routerAnimation","pop","NavLink","onClick"],"mappings":"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","file":"21-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { k as assert } from './helpers-90f46169.js';\nimport { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-d8cfb4a8.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { a as attachComponent } from './framework-delegate-4584ab5a.js';\n\nconst VIEW_STATE_NEW = 1;\nconst VIEW_STATE_ATTACHED = 2;\nconst VIEW_STATE_DESTROYED = 3;\nclass ViewController {\n constructor(component, params) {\n this.component = component;\n this.params = params;\n this.state = VIEW_STATE_NEW;\n }\n async init(container) {\n this.state = VIEW_STATE_ATTACHED;\n if (!this.element) {\n const component = this.component;\n this.element = await attachComponent(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params);\n }\n }\n /**\n * DOM WRITE\n */\n _destroy() {\n assert(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED');\n const element = this.element;\n if (element) {\n if (this.delegate) {\n this.delegate.removeViewFromDom(element.parentElement, element);\n }\n else {\n element.remove();\n }\n }\n this.nav = undefined;\n this.state = VIEW_STATE_DESTROYED;\n }\n}\nconst matches = (view, id, params) => {\n if (!view) {\n return false;\n }\n if (view.component !== id) {\n return false;\n }\n const currentParams = view.params;\n if (currentParams === params) {\n return true;\n }\n if (!currentParams && !params) {\n return true;\n }\n if (!currentParams || !params) {\n return false;\n }\n const keysA = Object.keys(currentParams);\n const keysB = Object.keys(params);\n if (keysA.length !== keysB.length) {\n return false;\n }\n // Test for A's keys different from B.\n for (const key of keysA) {\n if (currentParams[key] !== params[key]) {\n return false;\n }\n }\n return true;\n};\nconst convertToView = (page, params) => {\n if (!page) {\n return null;\n }\n if (page instanceof ViewController) {\n return page;\n }\n return new ViewController(page, params);\n};\nconst convertToViews = (pages) => {\n return pages.map(page => {\n if (page instanceof ViewController) {\n return page;\n }\n if ('component' in page) {\n /**\n * TODO Ionic 6:\n * Consider switching to just using `undefined` here\n * as well as on the public interfaces and on\n * `NavComponentWithProps`. Previously `pages` was\n * of type `any[]` so TypeScript did not catch this.\n */\n return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps);\n }\n return convertToView(page, undefined);\n }).filter(v => v !== null);\n};\n\nconst navCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nconst Nav = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n this.transInstr = [];\n this.animationEnabled = true;\n this.useRouter = false;\n this.isTransitioning = false;\n this.destroyed = false;\n this.views = [];\n /**\n * If `true`, the nav should animate the transition of components.\n */\n this.animated = true;\n }\n swipeGestureChanged() {\n if (this.gesture) {\n this.gesture.enable(this.swipeGesture === true);\n }\n }\n rootChanged() {\n if (this.root !== undefined) {\n if (!this.useRouter) {\n this.setRoot(this.root, this.rootParams);\n }\n }\n }\n componentWillLoad() {\n this.useRouter =\n !!document.querySelector('ion-router') &&\n !this.el.closest('[no-router]');\n if (this.swipeGesture === undefined) {\n const mode = getIonMode(this);\n this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');\n }\n this.ionNavWillLoad.emit();\n }\n async componentDidLoad() {\n this.rootChanged();\n this.gesture = (await import('./swipe-back-2154c9a7.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));\n this.swipeGestureChanged();\n }\n disconnectedCallback() {\n for (const view of this.views) {\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n view._destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n // release swipe back gesture and transition\n this.transInstr.length = this.views.length = 0;\n this.destroyed = true;\n }\n /**\n * Push a new component onto the current navigation stack. Pass any additional\n * information along as an object. This additional information is accessible\n * through NavParams.\n *\n * @param component The component to push onto the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n push(component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: -1,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts a component into the navigation stack at the specified index.\n * This is useful to add a component at any point in the navigation stack.\n *\n * @param insertIndex The index to insert the component at in the stack.\n * @param component The component to insert into the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insert(insertIndex, component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts an array of components into the navigation stack at the specified index.\n * The last component in the array will become instantiated as a view, and animate\n * in to become the active view.\n *\n * @param insertIndex The index to insert the components at in the stack.\n * @param insertComponents The components to insert into the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insertPages(insertIndex, insertComponents, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: insertComponents,\n opts\n }, done);\n }\n /**\n * Pop a component off of the navigation stack. Navigates back from the current\n * component.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n pop(opts, done) {\n return this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts\n }, done);\n }\n /**\n * Pop to a specific index in the navigation stack.\n *\n * @param indexOrViewCtrl The index or view controller to pop to.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popTo(indexOrViewCtrl, opts, done) {\n const tiConfig = {\n removeStart: -1,\n removeCount: -1,\n opts\n };\n if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {\n tiConfig.removeView = indexOrViewCtrl;\n tiConfig.removeStart = 1;\n }\n else if (typeof indexOrViewCtrl === 'number') {\n tiConfig.removeStart = indexOrViewCtrl + 1;\n }\n return this.queueTrns(tiConfig, done);\n }\n /**\n * Navigate back to the root of the stack, no matter how far back that is.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popToRoot(opts, done) {\n return this.queueTrns({\n removeStart: 1,\n removeCount: -1,\n opts\n }, done);\n }\n /**\n * Removes a component from the navigation stack at the specified index.\n *\n * @param startIndex The number to begin removal at.\n * @param removeCount The number of components to remove.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n removeIndex(startIndex, removeCount = 1, opts, done) {\n return this.queueTrns({\n removeStart: startIndex,\n removeCount,\n opts\n }, done);\n }\n /**\n * Set the root for the current navigation stack to a component.\n *\n * @param component The component to set as the root of the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setRoot(component, componentProps, opts, done) {\n return this.setPages([{ component, componentProps }], opts, done);\n }\n /**\n * Set the views of the current navigation stack and navigate to the last view.\n * By default animations are disabled, but they can be enabled by passing options\n * to the navigation controller. Navigation parameters can also be passed to the\n * individual pages in the array.\n *\n * @param views The list of views to set as the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setPages(views, opts, done) {\n if (opts == null) {\n opts = {};\n }\n // if animation wasn't set to true then default it to NOT animate\n if (opts.animated !== true) {\n opts.animated = false;\n }\n return this.queueTrns({\n insertStart: 0,\n insertViews: views,\n removeStart: 0,\n removeCount: -1,\n opts\n }, done);\n }\n /** @internal */\n setRouteId(id, params, direction, animation) {\n const active = this.getActiveSync();\n if (matches(active, id, params)) {\n return Promise.resolve({\n changed: false,\n element: active.element\n });\n }\n let resolve;\n const promise = new Promise(r => (resolve = r));\n let finish;\n const commonOpts = {\n updateURL: false,\n viewIsReady: enteringEl => {\n let mark;\n const p = new Promise(r => (mark = r));\n resolve({\n changed: true,\n element: enteringEl,\n markVisible: async () => {\n mark();\n await finish;\n }\n });\n return p;\n }\n };\n if (direction === 'root') {\n finish = this.setRoot(id, params, commonOpts);\n }\n else {\n const viewController = this.views.find(v => matches(v, id, params));\n if (viewController) {\n finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));\n }\n else if (direction === 'forward') {\n finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));\n }\n else if (direction === 'back') {\n finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));\n }\n }\n return promise;\n }\n /** @internal */\n async getRouteId() {\n const active = this.getActiveSync();\n return active\n ? {\n id: active.element.tagName,\n params: active.params,\n element: active.element\n }\n : undefined;\n }\n /**\n * Get the active view.\n */\n getActive() {\n return Promise.resolve(this.getActiveSync());\n }\n /**\n * Get the view at the specified index.\n *\n * @param index The index of the view.\n */\n getByIndex(index) {\n return Promise.resolve(this.views[index]);\n }\n /**\n * Returns `true` if the current view can go back.\n *\n * @param view The view to check.\n */\n canGoBack(view) {\n return Promise.resolve(this.canGoBackSync(view));\n }\n /**\n * Get the previous view.\n *\n * @param view The view to get.\n */\n getPrevious(view) {\n return Promise.resolve(this.getPreviousSync(view));\n }\n getLength() {\n return this.views.length;\n }\n getActiveSync() {\n return this.views[this.views.length - 1];\n }\n canGoBackSync(view = this.getActiveSync()) {\n return !!(view && this.getPreviousSync(view));\n }\n getPreviousSync(view = this.getActiveSync()) {\n if (!view) {\n return undefined;\n }\n const views = this.views;\n const index = views.indexOf(view);\n return index > 0 ? views[index - 1] : undefined;\n }\n // _queueTrns() adds a navigation stack change to the queue and schedules it to run:\n // 1. _nextTrns(): consumes the next transition in the queue\n // 2. _viewInit(): initializes enteringView if required\n // 3. _viewTest(): ensures canLeave/canEnter Returns `true`, so the operation can continue\n // 4. _postViewInit(): add/remove the views from the navigation stack\n // 5. _transitionInit(): initializes the visual transition if required and schedules it to run\n // 6. _viewAttachToDOM(): attaches the enteringView to the DOM\n // 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath.\n // 8. _transitionFinish(): called once the transition finishes\n // 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them.\n async queueTrns(ti, done) {\n if (this.isTransitioning && ti.opts != null && ti.opts.skipIfBusy) {\n return Promise.resolve(false);\n }\n const promise = new Promise((resolve, reject) => {\n ti.resolve = resolve;\n ti.reject = reject;\n });\n ti.done = done;\n /**\n * If using router, check to see if navigation hooks\n * will allow us to perform this transition. This\n * is required in order for hooks to work with\n * the ion-back-button or swipe to go back.\n */\n if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const canTransition = await router.canTransition();\n if (canTransition === false) {\n return Promise.resolve(false);\n }\n else if (typeof canTransition === 'string') {\n router.push(canTransition, ti.opts.direction || 'back');\n return Promise.resolve(false);\n }\n }\n }\n // Normalize empty\n if (ti.insertViews && ti.insertViews.length === 0) {\n ti.insertViews = undefined;\n }\n // Enqueue transition instruction\n this.transInstr.push(ti);\n // if there isn't a transition already happening\n // then this will kick off this transition\n this.nextTrns();\n return promise;\n }\n success(result, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n if (ti.done) {\n ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);\n }\n ti.resolve(result.hasCompleted);\n if (ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const direction = result.direction === 'back' ? 'back' : 'forward';\n router.navChanged(direction);\n }\n }\n }\n failed(rejectReason, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n this.transInstr.length = 0;\n this.fireError(rejectReason, ti);\n }\n fireError(rejectReason, ti) {\n if (ti.done) {\n ti.done(false, false, rejectReason);\n }\n if (ti.reject && !this.destroyed) {\n ti.reject(rejectReason);\n }\n else {\n ti.resolve(false);\n }\n }\n nextTrns() {\n // this is the framework's bread 'n butta function\n // only one transition is allowed at any given time\n if (this.isTransitioning) {\n return false;\n }\n // there is no transition happening right now\n // get the next instruction\n const ti = this.transInstr.shift();\n if (!ti) {\n return false;\n }\n this.runTransition(ti);\n return true;\n }\n async runTransition(ti) {\n try {\n // set that this nav is actively transitioning\n this.ionNavWillChange.emit();\n this.isTransitioning = true;\n this.prepareTI(ti);\n const leavingView = this.getActiveSync();\n const enteringView = this.getEnteringView(ti, leavingView);\n if (!leavingView && !enteringView) {\n throw new Error('no views in the stack to be removed');\n }\n if (enteringView && enteringView.state === VIEW_STATE_NEW) {\n await enteringView.init(this.el);\n }\n this.postViewInit(enteringView, leavingView, ti);\n // Needs transition?\n const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) &&\n enteringView !== leavingView;\n if (requiresTransition && ti.opts && leavingView) {\n const isBackDirection = ti.opts.direction === 'back';\n /**\n * If heading back, use the entering page's animation\n * unless otherwise specified by the developer.\n */\n if (isBackDirection) {\n ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView && enteringView.animationBuilder);\n }\n leavingView.animationBuilder = ti.opts.animationBuilder;\n }\n const result = requiresTransition\n ? await this.transition(enteringView, leavingView, ti)\n : {\n // transition is not required, so we are already done!\n // they're inserting/removing the views somewhere in the middle or\n // beginning, so visually nothing needs to animate/transition\n // resolve immediately because there's no animation that's happening\n hasCompleted: true,\n requiresTransition: false\n };\n this.success(result, ti);\n this.ionNavDidChange.emit();\n }\n catch (rejectReason) {\n this.failed(rejectReason, ti);\n }\n this.isTransitioning = false;\n this.nextTrns();\n }\n prepareTI(ti) {\n const viewsLength = this.views.length;\n ti.opts = ti.opts || {};\n if (ti.opts.delegate === undefined) {\n ti.opts.delegate = this.delegate;\n }\n if (ti.removeView !== undefined) {\n assert(ti.removeStart !== undefined, 'removeView needs removeStart');\n assert(ti.removeCount !== undefined, 'removeView needs removeCount');\n const index = this.views.indexOf(ti.removeView);\n if (index < 0) {\n throw new Error('removeView was not found');\n }\n ti.removeStart += index;\n }\n if (ti.removeStart !== undefined) {\n if (ti.removeStart < 0) {\n ti.removeStart = viewsLength - 1;\n }\n if (ti.removeCount < 0) {\n ti.removeCount = viewsLength - ti.removeStart;\n }\n ti.leavingRequiresTransition =\n ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;\n }\n if (ti.insertViews) {\n // allow -1 to be passed in to auto push it on the end\n // and clean up the index if it's larger then the size of the stack\n if (ti.insertStart < 0 || ti.insertStart > viewsLength) {\n ti.insertStart = viewsLength;\n }\n ti.enteringRequiresTransition = ti.insertStart === viewsLength;\n }\n const insertViews = ti.insertViews;\n if (!insertViews) {\n return;\n }\n assert(insertViews.length > 0, 'length can not be zero');\n const viewControllers = convertToViews(insertViews);\n if (viewControllers.length === 0) {\n throw new Error('invalid views to insert');\n }\n // Check all the inserted view are correct\n for (const view of viewControllers) {\n view.delegate = ti.opts.delegate;\n const nav = view.nav;\n if (nav && nav !== this) {\n throw new Error('inserted view was already inserted');\n }\n if (view.state === VIEW_STATE_DESTROYED) {\n throw new Error('inserted view was already destroyed');\n }\n }\n ti.insertViews = viewControllers;\n }\n getEnteringView(ti, leavingView) {\n const insertViews = ti.insertViews;\n if (insertViews !== undefined) {\n // grab the very last view of the views to be inserted\n // and initialize it as the new entering view\n return insertViews[insertViews.length - 1];\n }\n const removeStart = ti.removeStart;\n if (removeStart !== undefined) {\n const views = this.views;\n const removeEnd = removeStart + ti.removeCount;\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n if ((i < removeStart || i >= removeEnd) && view !== leavingView) {\n return view;\n }\n }\n }\n return undefined;\n }\n postViewInit(enteringView, leavingView, ti) {\n assert(leavingView || enteringView, 'Both leavingView and enteringView are null');\n assert(ti.resolve, 'resolve must be valid');\n assert(ti.reject, 'reject must be valid');\n const opts = ti.opts;\n const insertViews = ti.insertViews;\n const removeStart = ti.removeStart;\n const removeCount = ti.removeCount;\n let destroyQueue;\n // there are views to remove\n if (removeStart !== undefined && removeCount !== undefined) {\n assert(removeStart >= 0, 'removeStart can not be negative');\n assert(removeCount >= 0, 'removeCount can not be negative');\n destroyQueue = [];\n for (let i = 0; i < removeCount; i++) {\n const view = this.views[i + removeStart];\n if (view && view !== enteringView && view !== leavingView) {\n destroyQueue.push(view);\n }\n }\n // default the direction to \"back\"\n opts.direction = opts.direction || 'back';\n }\n const finalBalance = this.views.length +\n (insertViews !== undefined ? insertViews.length : 0) -\n (removeCount !== undefined ? removeCount : 0);\n assert(finalBalance >= 0, 'final balance can not be negative');\n if (finalBalance === 0) {\n console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);\n throw new Error('navigation stack needs at least one root page');\n }\n // At this point the transition can not be rejected, any throw should be an error\n // there are views to insert\n if (insertViews) {\n // add the views to the\n let insertIndex = ti.insertStart;\n for (const view of insertViews) {\n this.insertViewAt(view, insertIndex);\n insertIndex++;\n }\n if (ti.enteringRequiresTransition) {\n // default to forward if not already set\n opts.direction = opts.direction || 'forward';\n }\n }\n // if the views to be removed are in the beginning or middle\n // and there is not a view that needs to visually transition out\n // then just destroy them and don't transition anything\n // batch all of lifecycles together\n // let's make sure, callbacks are zoned\n if (destroyQueue && destroyQueue.length > 0) {\n for (const view of destroyQueue) {\n lifecycle(view.element, LIFECYCLE_WILL_LEAVE);\n lifecycle(view.element, LIFECYCLE_DID_LEAVE);\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n }\n // once all lifecycle events has been delivered, we can safely detroy the views\n for (const view of destroyQueue) {\n this.destroyView(view);\n }\n }\n }\n async transition(enteringView, leavingView, ti) {\n // we should animate (duration > 0) if the pushed page is not the first one (startup)\n // or if it is a portal (modal, actionsheet, etc.)\n const opts = ti.opts;\n const progressCallback = opts.progressAnimation\n ? (ani) => this.sbAni = ani\n : undefined;\n const mode = getIonMode(this);\n const enteringEl = enteringView.element;\n const leavingEl = leavingView && leavingView.element;\n const animationOpts = Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, animationBuilder: this.animation || opts.animationBuilder || config.get('navAnimation'), progressCallback, animated: this.animated && config.getBoolean('animated', true), enteringEl,\n leavingEl }, opts);\n const { hasCompleted } = await transition(animationOpts);\n return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);\n }\n transitionFinish(hasCompleted, enteringView, leavingView, opts) {\n const cleanupView = hasCompleted ? enteringView : leavingView;\n if (cleanupView) {\n this.cleanup(cleanupView);\n }\n return {\n hasCompleted,\n requiresTransition: true,\n enteringView,\n leavingView,\n direction: opts.direction\n };\n }\n insertViewAt(view, index) {\n const views = this.views;\n const existingIndex = views.indexOf(view);\n if (existingIndex > -1) {\n // this view is already in the stack!!\n // move it to its new location\n assert(view.nav === this, 'view is not part of the nav');\n views.splice(index, 0, views.splice(existingIndex, 1)[0]);\n }\n else {\n assert(!view.nav, 'nav is used');\n // this is a new view to add to the stack\n // create the new entering view\n view.nav = this;\n // insert the entering view into the correct index in the stack\n views.splice(index, 0, view);\n }\n }\n removeView(view) {\n assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');\n const views = this.views;\n const index = views.indexOf(view);\n assert(index > -1, 'view must be part of the stack');\n if (index >= 0) {\n views.splice(index, 1);\n }\n }\n destroyView(view) {\n view._destroy();\n this.removeView(view);\n }\n /**\n * DOM WRITE\n */\n cleanup(activeView) {\n // ok, cleanup time!! Destroy all of the views that are\n // INACTIVE and come after the active view\n // only do this if the views exist, though\n if (this.destroyed) {\n return;\n }\n const views = this.views;\n const activeViewIndex = views.indexOf(activeView);\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n /**\n * When inserting multiple views via insertPages\n * the last page will be transitioned to, but the\n * others will not be. As a result, a DOM element\n * will only be created for the last page inserted.\n * As a result, it is possible to have views in the\n * stack that do not have `view.element` yet.\n */\n const element = view.element;\n if (element) {\n if (i > activeViewIndex) {\n // this view comes after the active view\n // let's unload it\n lifecycle(element, LIFECYCLE_WILL_UNLOAD);\n this.destroyView(view);\n }\n else if (i < activeViewIndex) {\n // this view comes before the active view\n // and it is not a portal then ensure it is hidden\n setPageHidden(element, true);\n }\n }\n }\n }\n canStart() {\n return (!!this.swipeGesture &&\n !this.isTransitioning &&\n this.transInstr.length === 0 &&\n this.animationEnabled &&\n this.canGoBackSync());\n }\n onStart() {\n this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts: {\n direction: 'back',\n progressAnimation: true\n }\n }, undefined);\n }\n onMove(stepValue) {\n if (this.sbAni) {\n this.sbAni.progressStep(stepValue);\n }\n }\n onEnd(shouldComplete, stepValue, dur) {\n if (this.sbAni) {\n this.animationEnabled = false;\n this.sbAni.onFinish(() => {\n this.animationEnabled = true;\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0];\n }\n else {\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0];\n }\n this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n }\n render() {\n return (h(\"slot\", null));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeGesture\": [\"swipeGestureChanged\"],\n \"root\": [\"rootChanged\"]\n }; }\n};\nNav.style = navCss;\n\nconst navLink = (el, routerDirection, component, componentProps, routerAnimation) => {\n const nav = el.closest('ion-nav');\n if (nav) {\n if (routerDirection === 'forward') {\n if (component !== undefined) {\n return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'root') {\n if (component !== undefined) {\n return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'back') {\n return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n return Promise.resolve(false);\n};\n\nconst NavLink = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * The transition direction when navigating to another page.\n */\n this.routerDirection = 'forward';\n this.onClick = () => {\n return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);\n };\n }\n render() {\n return (h(Host, { onClick: this.onClick }));\n }\n get el() { return getElement(this); }\n};\n\nexport { Nav as ion_nav, NavLink as ion_nav_link };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/22-es2015.js b/android/app/src/main/assets/public/22-es2015.js new file mode 100644 index 000000000..ce57076dd --- /dev/null +++ b/android/app/src/main/assets/public/22-es2015.js @@ -0,0 +1,388 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[22],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-popover.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-popover.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_popover */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_popover", function() { return Popover; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index-d8cfb4a8.js */ "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); +/* harmony import */ var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./framework-delegate-4584ab5a.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + + + + + + + + + +/** + * iOS Popover Enter Animation + */ +const iosEnterAnimation = (baseEl, ev) => { + let originY = 'top'; + let originX = 'left'; + const contentEl = baseEl.querySelector('.popover-content'); + const contentDimentions = contentEl.getBoundingClientRect(); + const contentWidth = contentDimentions.width; + const contentHeight = contentDimentions.height; + const bodyWidth = baseEl.ownerDocument.defaultView.innerWidth; + const bodyHeight = baseEl.ownerDocument.defaultView.innerHeight; + // If ev was passed, use that for target element + const targetDim = ev && ev.target && ev.target.getBoundingClientRect(); + const targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2; + const targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2; + const targetWidth = (targetDim && targetDim.width) || 0; + const targetHeight = (targetDim && targetDim.height) || 0; + const arrowEl = baseEl.querySelector('.popover-arrow'); + const arrowDim = arrowEl.getBoundingClientRect(); + const arrowWidth = arrowDim.width; + const arrowHeight = arrowDim.height; + if (targetDim == null) { + arrowEl.style.display = 'none'; + } + const arrowCSS = { + top: targetTop + targetHeight, + left: targetLeft + targetWidth / 2 - arrowWidth / 2 + }; + const popoverCSS = { + top: targetTop + targetHeight + (arrowHeight - 1), + left: targetLeft + targetWidth / 2 - contentWidth / 2 + }; + // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + // + let checkSafeAreaLeft = false; + let checkSafeAreaRight = false; + // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + // 25 is a random/arbitrary number. It seems to work fine for ios11 + // and iPhoneX. Is it perfect? No. Does it work? Yes. + if (popoverCSS.left < POPOVER_IOS_BODY_PADDING + 25) { + checkSafeAreaLeft = true; + popoverCSS.left = POPOVER_IOS_BODY_PADDING; + } + else if (contentWidth + POPOVER_IOS_BODY_PADDING + popoverCSS.left + 25 > bodyWidth) { + // Ok, so we're on the right side of the screen, + // but now we need to make sure we're still a bit further right + // cus....notchurally... Again, 25 is random. It works tho + checkSafeAreaRight = true; + popoverCSS.left = bodyWidth - contentWidth - POPOVER_IOS_BODY_PADDING; + originX = 'right'; + } + // make it pop up if there's room above + if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) { + arrowCSS.top = targetTop - (arrowHeight + 1); + popoverCSS.top = targetTop - contentHeight - (arrowHeight - 1); + baseEl.className = baseEl.className + ' popover-bottom'; + originY = 'bottom'; + // If there isn't room for it to pop up above the target cut it off + } + else if (targetTop + targetHeight + contentHeight > bodyHeight) { + contentEl.style.bottom = POPOVER_IOS_BODY_PADDING + '%'; + } + arrowEl.style.top = arrowCSS.top + 'px'; + arrowEl.style.left = arrowCSS.left + 'px'; + contentEl.style.top = popoverCSS.top + 'px'; + contentEl.style.left = popoverCSS.left + 'px'; + if (checkSafeAreaLeft) { + contentEl.style.left = `calc(${popoverCSS.left}px + var(--ion-safe-area-left, 0px))`; + } + if (checkSafeAreaRight) { + contentEl.style.left = `calc(${popoverCSS.left}px - var(--ion-safe-area-right, 0px))`; + } + contentEl.style.transformOrigin = originY + ' ' + originX; + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.popover-wrapper')) + .fromTo('opacity', 0.01, 1); + return baseAnimation + .addElement(baseEl) + .easing('ease') + .duration(100) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; +const POPOVER_IOS_BODY_PADDING = 5; + +/** + * iOS Popover Leave Animation + */ +const iosLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.popover-wrapper')) + .fromTo('opacity', 0.99, 0); + return baseAnimation + .addElement(baseEl) + .easing('ease') + .duration(500) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +/** + * Md Popover Enter Animation + */ +const mdEnterAnimation = (baseEl, ev) => { + const POPOVER_MD_BODY_PADDING = 12; + const doc = baseEl.ownerDocument; + const isRTL = doc.dir === 'rtl'; + let originY = 'top'; + let originX = isRTL ? 'right' : 'left'; + const contentEl = baseEl.querySelector('.popover-content'); + const contentDimentions = contentEl.getBoundingClientRect(); + const contentWidth = contentDimentions.width; + const contentHeight = contentDimentions.height; + const bodyWidth = doc.defaultView.innerWidth; + const bodyHeight = doc.defaultView.innerHeight; + // If ev was passed, use that for target element + const targetDim = ev && ev.target && ev.target.getBoundingClientRect(); + // As per MD spec, by default position the popover below the target (trigger) element + const targetTop = targetDim != null && 'bottom' in targetDim + ? targetDim.bottom + : bodyHeight / 2 - contentHeight / 2; + const targetLeft = targetDim != null && 'left' in targetDim + ? isRTL + ? targetDim.left - contentWidth + targetDim.width + : targetDim.left + : bodyWidth / 2 - contentWidth / 2; + const targetHeight = (targetDim && targetDim.height) || 0; + const popoverCSS = { + top: targetTop, + left: targetLeft + }; + // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + if (popoverCSS.left < POPOVER_MD_BODY_PADDING) { + popoverCSS.left = POPOVER_MD_BODY_PADDING; + // Same origin in this case for both LTR & RTL + // Note: in LTR, originX is already 'left' + originX = 'left'; + } + else if (contentWidth + POPOVER_MD_BODY_PADDING + popoverCSS.left > + bodyWidth) { + popoverCSS.left = bodyWidth - contentWidth - POPOVER_MD_BODY_PADDING; + // Same origin in this case for both LTR & RTL + // Note: in RTL, originX is already 'right' + originX = 'right'; + } + // If the popover when popped down stretches past bottom of screen, + // make it pop up if there's room above + if (targetTop + targetHeight + contentHeight > bodyHeight && + targetTop - contentHeight > 0) { + popoverCSS.top = targetTop - contentHeight - targetHeight; + baseEl.className = baseEl.className + ' popover-bottom'; + originY = 'bottom'; + // If there isn't room for it to pop up above the target cut it off + } + else if (targetTop + targetHeight + contentHeight > bodyHeight) { + contentEl.style.bottom = POPOVER_MD_BODY_PADDING + 'px'; + } + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const contentAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const viewportAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 0.01, 'var(--backdrop-opacity)') + .beforeStyles({ + 'pointer-events': 'none' + }) + .afterClearStyles(['pointer-events']); + wrapperAnimation + .addElement(baseEl.querySelector('.popover-wrapper')) + .fromTo('opacity', 0.01, 1); + contentAnimation + .addElement(contentEl) + .beforeStyles({ + 'top': `${popoverCSS.top}px`, + 'left': `${popoverCSS.left}px`, + 'transform-origin': `${originY} ${originX}` + }) + .fromTo('transform', 'scale(0.001)', 'scale(1)'); + viewportAnimation + .addElement(baseEl.querySelector('.popover-viewport')) + .fromTo('opacity', 0.01, 1); + return baseAnimation + .addElement(baseEl) + .easing('cubic-bezier(0.36,0.66,0.04,1)') + .duration(300) + .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]); +}; + +/** + * Md Popover Leave Animation + */ +const mdLeaveAnimation = (baseEl) => { + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + const wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation + .addElement(baseEl.querySelector('ion-backdrop')) + .fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation + .addElement(baseEl.querySelector('.popover-wrapper')) + .fromTo('opacity', 0.99, 0); + return baseAnimation + .addElement(baseEl) + .easing('ease') + .duration(500) + .addAnimation([backdropAnimation, wrapperAnimation]); +}; + +const popoverIosCss = ".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}"; + +const popoverMdCss = ".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}"; + +const Popover = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + this.keyboardClose = true; + /** + * If `true`, the popover will be dismissed when the backdrop is clicked. + */ + this.backdropDismiss = true; + /** + * If `true`, a backdrop will be displayed behind the popover. + */ + this.showBackdrop = true; + /** + * If `true`, the popover will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + /** + * If `true`, the popover will animate. + */ + this.animated = true; + this.onDismiss = (ev) => { + ev.stopPropagation(); + ev.preventDefault(); + this.dismiss(); + }; + this.onBackdropTap = () => { + this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["B"]); + }; + this.onLifecycle = (modalEvent) => { + const el = this.usersElement; + const name = LIFECYCLE_MAP[modalEvent.type]; + if (el && name) { + const event = new CustomEvent(name, { + bubbles: false, + cancelable: false, + detail: modalEvent.detail + }); + el.dispatchEvent(event); + } + }; + } + connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["e"])(this.el); + } + /** + * Present the popover overlay after it has been created. + */ + async present() { + if (this.presented) { + return; + } + const container = this.el.querySelector('.popover-content'); + if (!container) { + throw new Error('container is undefined'); + } + const data = Object.assign(Object.assign({}, this.componentProps), { popover: this.el }); + this.usersElement = await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__["a"])(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data); + await Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__["e"])(this.usersElement); + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event); + } + /** + * Dismiss the popover overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'. + */ + async dismiss(data, role) { + const shouldDismiss = await Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["f"])(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event); + if (shouldDismiss) { + await Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__["d"])(this.delegate, this.usersElement); + } + return shouldDismiss; + } + /** + * Returns a promise that resolves when the popover did dismiss. + */ + onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionPopoverDidDismiss'); + } + /** + * Returns a promise that resolves when the popover will dismiss. + */ + onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionPopoverWillDismiss'); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const { onLifecycle } = this; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-modal": "true", "no-router": true, tabindex: "-1", style: { + zIndex: `${20000 + this.overlayIndex}`, + }, class: Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonDismiss: this.onDismiss, onIonBackdropTap: this.onBackdropTap }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "popover-wrapper ion-overlay-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "popover-arrow" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "popover-content" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { tabindex: "0" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const LIFECYCLE_MAP = { + 'ionPopoverDidPresent': 'ionViewDidEnter', + 'ionPopoverWillPresent': 'ionViewWillEnter', + 'ionPopoverWillDismiss': 'ionViewWillLeave', + 'ionPopoverDidDismiss': 'ionViewDidLeave', +}; +Popover.style = { + ios: popoverIosCss, + md: popoverMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=22-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/22-es2015.js.map b/android/app/src/main/assets/public/22-es2015.js.map new file mode 100644 index 000000000..630008c47 --- /dev/null +++ b/android/app/src/main/assets/public/22-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-popover.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;AAC9B;AACgC;AACV;AACT;AAC8E;AACnE;AACuC;;AAE9F;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C,2BAA2B,gEAAe;AAC1C,4BAA4B,gEAAe;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,eAAe,gBAAgB;AAC/B,2BAA2B,QAAQ,GAAG,QAAQ;AAC9C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,+CAA+C,cAAc,eAAe,iBAAiB,cAAc,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,eAAe,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,kCAAkC,aAAa,qCAAqC,aAAa,oCAAoC,UAAU,WAAW,oCAAoC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,qCAAqC,6BAA6B,cAAc,WAAW,qCAAqC,wBAAwB,0BAA0B,2BAA2B,yBAAyB,sBAAsB,cAAc,iBAAiB,kBAAkB,qDAAqD,oCAAoC,mBAAmB,kCAAkC,cAAc,kBAAkB,WAAW,YAAY,gBAAgB,yCAAyC,SAAS,QAAQ,kBAAkB,kBAAkB,WAAW,YAAY,gCAAgC,wBAAwB,6BAA6B,aAAa,WAAW,uNAAuN,WAAW,YAAY,UAAU,uEAAuE,SAAS,aAAa,8EAA8E,SAAS,6EAA6E,iKAAiK,qEAAqE,kDAAkD,2CAA2C;;AAE9zE,2CAA2C,+CAA+C,cAAc,eAAe,iBAAiB,cAAc,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,eAAe,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,kCAAkC,aAAa,oCAAoC,aAAa,mCAAmC,UAAU,WAAW,mCAAmC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,qCAAqC,6BAA6B,cAAc,WAAW,oCAAoC,wBAAwB,0BAA0B,2BAA2B,yBAAyB,qBAAqB,cAAc,iBAAiB,uHAAuH,qDAAqD,mCAAmC,kBAAkB,kCAAkC,0BAA0B,kMAAkM,mCAAmC,2BAA2B,oCAAoC,+BAA+B,uBAAuB;;AAEzqD;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;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,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,yBAAyB,mBAAmB;AAC3F,8BAA8B,yEAAe;AAC7C,UAAU,4DAAS;AACnB,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+DAAO;AACvC;AACA,YAAY,yEAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA,iBAAiB,mEAAU;AAC3B,WAAW,cAAc;AACzB,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB,mBAAmB,0BAA0B;AAC7C,OAAO,uCAAuC,EAAE,4DAAW,mBAAmB,wDAAwD,6NAA6N,EAAE,4DAAC,kBAAkB,6DAA6D,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,+CAA+C,EAAE,4DAAC,SAAS,yBAAyB,GAAG,4DAAC,SAAS,2BAA2B,IAAI,4DAAC,SAAS,gBAAgB;AACznB;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEkC","file":"22-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { e as deepReady } from './index-d8cfb4a8.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\n/**\n * iOS Popover Enter Animation\n */\nconst iosEnterAnimation = (baseEl, ev) => {\n let originY = 'top';\n let originX = 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = baseEl.ownerDocument.defaultView.innerWidth;\n const bodyHeight = baseEl.ownerDocument.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n const targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2;\n const targetWidth = (targetDim && targetDim.width) || 0;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const arrowEl = baseEl.querySelector('.popover-arrow');\n const arrowDim = arrowEl.getBoundingClientRect();\n const arrowWidth = arrowDim.width;\n const arrowHeight = arrowDim.height;\n if (targetDim == null) {\n arrowEl.style.display = 'none';\n }\n const arrowCSS = {\n top: targetTop + targetHeight,\n left: targetLeft + targetWidth / 2 - arrowWidth / 2\n };\n const popoverCSS = {\n top: targetTop + targetHeight + (arrowHeight - 1),\n left: targetLeft + targetWidth / 2 - contentWidth / 2\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n //\n let checkSafeAreaLeft = false;\n let checkSafeAreaRight = false;\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n // 25 is a random/arbitrary number. It seems to work fine for ios11\n // and iPhoneX. Is it perfect? No. Does it work? Yes.\n if (popoverCSS.left < POPOVER_IOS_BODY_PADDING + 25) {\n checkSafeAreaLeft = true;\n popoverCSS.left = POPOVER_IOS_BODY_PADDING;\n }\n else if (contentWidth + POPOVER_IOS_BODY_PADDING + popoverCSS.left + 25 > bodyWidth) {\n // Ok, so we're on the right side of the screen,\n // but now we need to make sure we're still a bit further right\n // cus....notchurally... Again, 25 is random. It works tho\n checkSafeAreaRight = true;\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_IOS_BODY_PADDING;\n originX = 'right';\n }\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) {\n arrowCSS.top = targetTop - (arrowHeight + 1);\n popoverCSS.top = targetTop - contentHeight - (arrowHeight - 1);\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_IOS_BODY_PADDING + '%';\n }\n arrowEl.style.top = arrowCSS.top + 'px';\n arrowEl.style.left = arrowCSS.left + 'px';\n contentEl.style.top = popoverCSS.top + 'px';\n contentEl.style.left = popoverCSS.left + 'px';\n if (checkSafeAreaLeft) {\n contentEl.style.left = `calc(${popoverCSS.left}px + var(--ion-safe-area-left, 0px))`;\n }\n if (checkSafeAreaRight) {\n contentEl.style.left = `calc(${popoverCSS.left}px - var(--ion-safe-area-right, 0px))`;\n }\n contentEl.style.transformOrigin = originY + ' ' + originX;\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(100)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\nconst POPOVER_IOS_BODY_PADDING = 5;\n\n/**\n * iOS Popover Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Popover Enter Animation\n */\nconst mdEnterAnimation = (baseEl, ev) => {\n const POPOVER_MD_BODY_PADDING = 12;\n const doc = baseEl.ownerDocument;\n const isRTL = doc.dir === 'rtl';\n let originY = 'top';\n let originX = isRTL ? 'right' : 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = doc.defaultView.innerWidth;\n const bodyHeight = doc.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n // As per MD spec, by default position the popover below the target (trigger) element\n const targetTop = targetDim != null && 'bottom' in targetDim\n ? targetDim.bottom\n : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim\n ? isRTL\n ? targetDim.left - contentWidth + targetDim.width\n : targetDim.left\n : bodyWidth / 2 - contentWidth / 2;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const popoverCSS = {\n top: targetTop,\n left: targetLeft\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n if (popoverCSS.left < POPOVER_MD_BODY_PADDING) {\n popoverCSS.left = POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in LTR, originX is already 'left'\n originX = 'left';\n }\n else if (contentWidth + POPOVER_MD_BODY_PADDING + popoverCSS.left >\n bodyWidth) {\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in RTL, originX is already 'right'\n originX = 'right';\n }\n // If the popover when popped down stretches past bottom of screen,\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight &&\n targetTop - contentHeight > 0) {\n popoverCSS.top = targetTop - contentHeight - targetHeight;\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_MD_BODY_PADDING + 'px';\n }\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const contentAnimation = createAnimation();\n const viewportAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n contentAnimation\n .addElement(contentEl)\n .beforeStyles({\n 'top': `${popoverCSS.top}px`,\n 'left': `${popoverCSS.left}px`,\n 'transform-origin': `${originY} ${originX}`\n })\n .fromTo('transform', 'scale(0.001)', 'scale(1)');\n viewportAnimation\n .addElement(baseEl.querySelector('.popover-viewport'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(300)\n .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]);\n};\n\n/**\n * Md Popover Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst popoverIosCss = \".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\\\"\\\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}\";\n\nconst popoverMdCss = \".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}\";\n\nconst Popover = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionPopoverDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPopoverWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPopoverWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPopoverDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * If `true`, the popover will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, a backdrop will be displayed behind the popover.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the popover 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 popover will animate.\n */\n this.animated = true;\n this.onDismiss = (ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n this.dismiss();\n };\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(event);\n }\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the popover overlay after it has been created.\n */\n async present() {\n if (this.presented) {\n return;\n }\n const container = this.el.querySelector('.popover-content');\n if (!container) {\n throw new Error('container is undefined');\n }\n const data = Object.assign(Object.assign({}, this.componentProps), { popover: this.el });\n this.usersElement = await attachComponent(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data);\n await deepReady(this.usersElement);\n return present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event);\n }\n /**\n * Dismiss the popover 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 popover. For example, 'cancel' or 'backdrop'.\n */\n async dismiss(data, role) {\n const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);\n if (shouldDismiss) {\n await detachComponent(this.delegate, this.usersElement);\n }\n return shouldDismiss;\n }\n /**\n * Returns a promise that resolves when the popover did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPopoverDidDismiss');\n }\n /**\n * Returns a promise that resolves when the popover will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPopoverWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n const { onLifecycle } = this;\n return (h(Host, { \"aria-modal\": \"true\", \"no-router\": true, tabindex: \"-1\", style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonDismiss: this.onDismiss, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss, visible: this.showBackdrop }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"popover-wrapper ion-overlay-wrapper\" }, h(\"div\", { class: \"popover-arrow\" }), h(\"div\", { class: \"popover-content\" })), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst LIFECYCLE_MAP = {\n 'ionPopoverDidPresent': 'ionViewDidEnter',\n 'ionPopoverWillPresent': 'ionViewWillEnter',\n 'ionPopoverWillDismiss': 'ionViewWillLeave',\n 'ionPopoverDidDismiss': 'ionViewDidLeave',\n};\nPopover.style = {\n ios: popoverIosCss,\n md: popoverMdCss\n};\n\nexport { Popover as ion_popover };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/22-es5.js b/android/app/src/main/assets/public/22-es5.js new file mode 100644 index 000000000..b96fd2b17 --- /dev/null +++ b/android/app/src/main/assets/public/22-es5.js @@ -0,0 +1,534 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[22], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-popover.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-popover.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_popover */ + + /***/ + function node_modulesIonicCoreDistEsmIonPopoverEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_popover", function () { + return Popover; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./index-d8cfb4a8.js */ + "./node_modules/@ionic/core/dist/esm/index-d8cfb4a8.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /* harmony import */ + + + var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( + /*! ./framework-delegate-4584ab5a.js */ + "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + /** + * iOS Popover Enter Animation + */ + + + var iosEnterAnimation = function iosEnterAnimation(baseEl, ev) { + var originY = 'top'; + var originX = 'left'; + var contentEl = baseEl.querySelector('.popover-content'); + var contentDimentions = contentEl.getBoundingClientRect(); + var contentWidth = contentDimentions.width; + var contentHeight = contentDimentions.height; + var bodyWidth = baseEl.ownerDocument.defaultView.innerWidth; + var bodyHeight = baseEl.ownerDocument.defaultView.innerHeight; // If ev was passed, use that for target element + + var targetDim = ev && ev.target && ev.target.getBoundingClientRect(); + var targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2; + var targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2; + var targetWidth = targetDim && targetDim.width || 0; + var targetHeight = targetDim && targetDim.height || 0; + var arrowEl = baseEl.querySelector('.popover-arrow'); + var arrowDim = arrowEl.getBoundingClientRect(); + var arrowWidth = arrowDim.width; + var arrowHeight = arrowDim.height; + + if (targetDim == null) { + arrowEl.style.display = 'none'; + } + + var arrowCSS = { + top: targetTop + targetHeight, + left: targetLeft + targetWidth / 2 - arrowWidth / 2 + }; + var popoverCSS = { + top: targetTop + targetHeight + (arrowHeight - 1), + left: targetLeft + targetWidth / 2 - contentWidth / 2 + }; // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + // + + var checkSafeAreaLeft = false; + var checkSafeAreaRight = false; // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + // 25 is a random/arbitrary number. It seems to work fine for ios11 + // and iPhoneX. Is it perfect? No. Does it work? Yes. + + if (popoverCSS.left < POPOVER_IOS_BODY_PADDING + 25) { + checkSafeAreaLeft = true; + popoverCSS.left = POPOVER_IOS_BODY_PADDING; + } else if (contentWidth + POPOVER_IOS_BODY_PADDING + popoverCSS.left + 25 > bodyWidth) { + // Ok, so we're on the right side of the screen, + // but now we need to make sure we're still a bit further right + // cus....notchurally... Again, 25 is random. It works tho + checkSafeAreaRight = true; + popoverCSS.left = bodyWidth - contentWidth - POPOVER_IOS_BODY_PADDING; + originX = 'right'; + } // make it pop up if there's room above + + + if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) { + arrowCSS.top = targetTop - (arrowHeight + 1); + popoverCSS.top = targetTop - contentHeight - (arrowHeight - 1); + baseEl.className = baseEl.className + ' popover-bottom'; + originY = 'bottom'; // If there isn't room for it to pop up above the target cut it off + } else if (targetTop + targetHeight + contentHeight > bodyHeight) { + contentEl.style.bottom = POPOVER_IOS_BODY_PADDING + '%'; + } + + arrowEl.style.top = arrowCSS.top + 'px'; + arrowEl.style.left = arrowCSS.left + 'px'; + contentEl.style.top = popoverCSS.top + 'px'; + contentEl.style.left = popoverCSS.left + 'px'; + + if (checkSafeAreaLeft) { + contentEl.style.left = "calc(".concat(popoverCSS.left, "px + var(--ion-safe-area-left, 0px))"); + } + + if (checkSafeAreaRight) { + contentEl.style.left = "calc(".concat(popoverCSS.left, "px - var(--ion-safe-area-right, 0px))"); + } + + contentEl.style.transformOrigin = originY + ' ' + originX; + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.popover-wrapper')).fromTo('opacity', 0.01, 1); + return baseAnimation.addElement(baseEl).easing('ease').duration(100).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var POPOVER_IOS_BODY_PADDING = 5; + /** + * iOS Popover Leave Animation + */ + + var iosLeaveAnimation = function iosLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0); + return baseAnimation.addElement(baseEl).easing('ease').duration(500).addAnimation([backdropAnimation, wrapperAnimation]); + }; + /** + * Md Popover Enter Animation + */ + + + var mdEnterAnimation = function mdEnterAnimation(baseEl, ev) { + var POPOVER_MD_BODY_PADDING = 12; + var doc = baseEl.ownerDocument; + var isRTL = doc.dir === 'rtl'; + var originY = 'top'; + var originX = isRTL ? 'right' : 'left'; + var contentEl = baseEl.querySelector('.popover-content'); + var contentDimentions = contentEl.getBoundingClientRect(); + var contentWidth = contentDimentions.width; + var contentHeight = contentDimentions.height; + var bodyWidth = doc.defaultView.innerWidth; + var bodyHeight = doc.defaultView.innerHeight; // If ev was passed, use that for target element + + var targetDim = ev && ev.target && ev.target.getBoundingClientRect(); // As per MD spec, by default position the popover below the target (trigger) element + + var targetTop = targetDim != null && 'bottom' in targetDim ? targetDim.bottom : bodyHeight / 2 - contentHeight / 2; + var targetLeft = targetDim != null && 'left' in targetDim ? isRTL ? targetDim.left - contentWidth + targetDim.width : targetDim.left : bodyWidth / 2 - contentWidth / 2; + var targetHeight = targetDim && targetDim.height || 0; + var popoverCSS = { + top: targetTop, + left: targetLeft + }; // If the popover left is less than the padding it is off screen + // to the left so adjust it, else if the width of the popover + // exceeds the body width it is off screen to the right so adjust + + if (popoverCSS.left < POPOVER_MD_BODY_PADDING) { + popoverCSS.left = POPOVER_MD_BODY_PADDING; // Same origin in this case for both LTR & RTL + // Note: in LTR, originX is already 'left' + + originX = 'left'; + } else if (contentWidth + POPOVER_MD_BODY_PADDING + popoverCSS.left > bodyWidth) { + popoverCSS.left = bodyWidth - contentWidth - POPOVER_MD_BODY_PADDING; // Same origin in this case for both LTR & RTL + // Note: in RTL, originX is already 'right' + + originX = 'right'; + } // If the popover when popped down stretches past bottom of screen, + // make it pop up if there's room above + + + if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) { + popoverCSS.top = targetTop - contentHeight - targetHeight; + baseEl.className = baseEl.className + ' popover-bottom'; + originY = 'bottom'; // If there isn't room for it to pop up above the target cut it off + } else if (targetTop + targetHeight + contentHeight > bodyHeight) { + contentEl.style.bottom = POPOVER_MD_BODY_PADDING + 'px'; + } + + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var contentAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var viewportAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({ + 'pointer-events': 'none' + }).afterClearStyles(['pointer-events']); + wrapperAnimation.addElement(baseEl.querySelector('.popover-wrapper')).fromTo('opacity', 0.01, 1); + contentAnimation.addElement(contentEl).beforeStyles({ + 'top': "".concat(popoverCSS.top, "px"), + 'left': "".concat(popoverCSS.left, "px"), + 'transform-origin': "".concat(originY, " ").concat(originX) + }).fromTo('transform', 'scale(0.001)', 'scale(1)'); + viewportAnimation.addElement(baseEl.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1); + return baseAnimation.addElement(baseEl).easing('cubic-bezier(0.36,0.66,0.04,1)').duration(300).addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]); + }; + /** + * Md Popover Leave Animation + */ + + + var mdLeaveAnimation = function mdLeaveAnimation(baseEl) { + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var backdropAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + var wrapperAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])(); + backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0); + wrapperAnimation.addElement(baseEl.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0); + return baseAnimation.addElement(baseEl).easing('ease').duration(500).addAnimation([backdropAnimation, wrapperAnimation]); + }; + + var popoverIosCss = ".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}"; + var popoverMdCss = ".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}"; + + var Popover = /*#__PURE__*/function () { + function Popover(hostRef) { + var _this = this; + + _classCallCheck(this, Popover); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.didPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverDidPresent", 7); + this.willPresent = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverWillPresent", 7); + this.willDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverWillDismiss", 7); + this.didDismiss = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPopoverDidDismiss", 7); + this.presented = false; + /** + * If `true`, the keyboard will be automatically dismissed when the overlay is presented. + */ + + this.keyboardClose = true; + /** + * If `true`, the popover will be dismissed when the backdrop is clicked. + */ + + this.backdropDismiss = true; + /** + * If `true`, a backdrop will be displayed behind the popover. + */ + + this.showBackdrop = true; + /** + * If `true`, the popover will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + /** + * If `true`, the popover will animate. + */ + + this.animated = true; + + this.onDismiss = function (ev) { + ev.stopPropagation(); + ev.preventDefault(); + + _this.dismiss(); + }; + + this.onBackdropTap = function () { + _this.dismiss(undefined, _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["B"]); + }; + + this.onLifecycle = function (modalEvent) { + var el = _this.usersElement; + var name = LIFECYCLE_MAP[modalEvent.type]; + + if (el && name) { + var event = new CustomEvent(name, { + bubbles: false, + cancelable: false, + detail: modalEvent.detail + }); + el.dispatchEvent(event); + } + }; + } + + _createClass(Popover, [{ + key: "connectedCallback", + value: function connectedCallback() { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["e"])(this.el); + } + /** + * Present the popover overlay after it has been created. + */ + + }, { + key: "present", + value: function () { + var _present = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var container, data; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this.presented) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + container = this.el.querySelector('.popover-content'); + + if (container) { + _context.next = 5; + break; + } + + throw new Error('container is undefined'); + + case 5: + data = Object.assign(Object.assign({}, this.componentProps), { + popover: this.el + }); + _context.next = 8; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__["a"])(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data); + + case 8: + this.usersElement = _context.sent; + _context.next = 11; + return Object(_index_d8cfb4a8_js__WEBPACK_IMPORTED_MODULE_4__["e"])(this.usersElement); + + case 11: + return _context.abrupt("return", Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["d"])(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event)); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function present() { + return _present.apply(this, arguments); + } + + return present; + }() + /** + * Dismiss the popover overlay after it has been presented. + * + * @param data Any data to emit in the dismiss events. + * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'. + */ + + }, { + key: "dismiss", + value: function () { + var _dismiss = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(data, role) { + var shouldDismiss; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["f"])(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event); + + case 2: + shouldDismiss = _context2.sent; + + if (!shouldDismiss) { + _context2.next = 6; + break; + } + + _context2.next = 6; + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_8__["d"])(this.delegate, this.usersElement); + + case 6: + return _context2.abrupt("return", shouldDismiss); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function dismiss(_x, _x2) { + return _dismiss.apply(this, arguments); + } + + return dismiss; + }() + /** + * Returns a promise that resolves when the popover did dismiss. + */ + + }, { + key: "onDidDismiss", + value: function onDidDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionPopoverDidDismiss'); + } + /** + * Returns a promise that resolves when the popover will dismiss. + */ + + }, { + key: "onWillDismiss", + value: function onWillDismiss() { + return Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_6__["g"])(this.el, 'ionPopoverWillDismiss'); + } + }, { + key: "render", + value: function render() { + var _Object$assign; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var onLifecycle = this.onLifecycle; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-modal": "true", + "no-router": true, + tabindex: "-1", + style: { + zIndex: "".concat(20000 + this.overlayIndex) + }, + "class": Object.assign(Object.assign({}, Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_7__["g"])(this.cssClass)), (_Object$assign = {}, _defineProperty(_Object$assign, mode, true), _defineProperty(_Object$assign, 'popover-translucent', this.translucent), _Object$assign)), + onIonPopoverDidPresent: onLifecycle, + onIonPopoverWillPresent: onLifecycle, + onIonPopoverWillDismiss: onLifecycle, + onIonPopoverDidDismiss: onLifecycle, + onIonDismiss: this.onDismiss, + onIonBackdropTap: this.onBackdropTap + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-backdrop", { + tappable: this.backdropDismiss, + visible: this.showBackdrop + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "popover-wrapper ion-overlay-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "popover-arrow" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "popover-content" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + tabindex: "0" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Popover; + }(); + + var LIFECYCLE_MAP = { + 'ionPopoverDidPresent': 'ionViewDidEnter', + 'ionPopoverWillPresent': 'ionViewWillEnter', + 'ionPopoverWillDismiss': 'ionViewWillLeave', + 'ionPopoverDidDismiss': 'ionViewDidLeave' + }; + Popover.style = { + ios: popoverIosCss, + md: popoverMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=22-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/22-es5.js.map b/android/app/src/main/assets/public/22-es5.js.map new file mode 100644 index 000000000..63203bcf5 --- /dev/null +++ b/android/app/src/main/assets/public/22-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-popover.entry.js"],"names":["iosEnterAnimation","baseEl","ev","originY","originX","contentEl","querySelector","contentDimentions","getBoundingClientRect","contentWidth","width","contentHeight","height","bodyWidth","ownerDocument","defaultView","innerWidth","bodyHeight","innerHeight","targetDim","target","targetTop","top","targetLeft","left","targetWidth","targetHeight","arrowEl","arrowDim","arrowWidth","arrowHeight","style","display","arrowCSS","popoverCSS","checkSafeAreaLeft","checkSafeAreaRight","POPOVER_IOS_BODY_PADDING","className","bottom","transformOrigin","baseAnimation","backdropAnimation","wrapperAnimation","addElement","fromTo","beforeStyles","afterClearStyles","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","POPOVER_MD_BODY_PADDING","doc","isRTL","dir","contentAnimation","viewportAnimation","mdLeaveAnimation","popoverIosCss","popoverMdCss","Popover","hostRef","didPresent","willPresent","willDismiss","didDismiss","presented","keyboardClose","backdropDismiss","showBackdrop","translucent","animated","onDismiss","stopPropagation","preventDefault","dismiss","onBackdropTap","undefined","onLifecycle","modalEvent","el","usersElement","name","LIFECYCLE_MAP","type","event","CustomEvent","bubbles","cancelable","detail","dispatchEvent","container","Error","data","Object","assign","componentProps","popover","delegate","component","role","shouldDismiss","mode","tabindex","zIndex","overlayIndex","cssClass","onIonPopoverDidPresent","onIonPopoverWillPresent","onIonPopoverWillDismiss","onIonPopoverDidDismiss","onIonDismiss","onIonBackdropTap","tappable","visible","ios","md"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAUA;;;;;AAGA,QAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAASC,EAAT,EAAgB;AACxC,UAAIC,OAAO,GAAG,KAAd;AACA,UAAIC,OAAO,GAAG,MAAd;AACA,UAAMC,SAAS,GAAGJ,MAAM,CAACK,aAAP,CAAqB,kBAArB,CAAlB;AACA,UAAMC,iBAAiB,GAAGF,SAAS,CAACG,qBAAV,EAA1B;AACA,UAAMC,YAAY,GAAGF,iBAAiB,CAACG,KAAvC;AACA,UAAMC,aAAa,GAAGJ,iBAAiB,CAACK,MAAxC;AACA,UAAMC,SAAS,GAAGZ,MAAM,CAACa,aAAP,CAAqBC,WAArB,CAAiCC,UAAnD;AACA,UAAMC,UAAU,GAAGhB,MAAM,CAACa,aAAP,CAAqBC,WAArB,CAAiCG,WAApD,CARwC,CASxC;;AACA,UAAMC,SAAS,GAAGjB,EAAE,IAAIA,EAAE,CAACkB,MAAT,IAAmBlB,EAAE,CAACkB,MAAH,CAAUZ,qBAAV,EAArC;AACA,UAAMa,SAAS,GAAGF,SAAS,IAAI,IAAb,IAAqB,SAASA,SAA9B,GAA0CA,SAAS,CAACG,GAApD,GAA0DL,UAAU,GAAG,CAAb,GAAiBN,aAAa,GAAG,CAA7G;AACA,UAAMY,UAAU,GAAGJ,SAAS,IAAI,IAAb,IAAqB,UAAUA,SAA/B,GAA2CA,SAAS,CAACK,IAArD,GAA4DX,SAAS,GAAG,CAA3F;AACA,UAAMY,WAAW,GAAIN,SAAS,IAAIA,SAAS,CAACT,KAAxB,IAAkC,CAAtD;AACA,UAAMgB,YAAY,GAAIP,SAAS,IAAIA,SAAS,CAACP,MAAxB,IAAmC,CAAxD;AACA,UAAMe,OAAO,GAAG1B,MAAM,CAACK,aAAP,CAAqB,gBAArB,CAAhB;AACA,UAAMsB,QAAQ,GAAGD,OAAO,CAACnB,qBAAR,EAAjB;AACA,UAAMqB,UAAU,GAAGD,QAAQ,CAAClB,KAA5B;AACA,UAAMoB,WAAW,GAAGF,QAAQ,CAAChB,MAA7B;;AACA,UAAIO,SAAS,IAAI,IAAjB,EAAuB;AACrBQ,eAAO,CAACI,KAAR,CAAcC,OAAd,GAAwB,MAAxB;AACD;;AACD,UAAMC,QAAQ,GAAG;AACfX,WAAG,EAAED,SAAS,GAAGK,YADF;AAEfF,YAAI,EAAED,UAAU,GAAGE,WAAW,GAAG,CAA3B,GAA+BI,UAAU,GAAG;AAFnC,OAAjB;AAIA,UAAMK,UAAU,GAAG;AACjBZ,WAAG,EAAED,SAAS,GAAGK,YAAZ,IAA4BI,WAAW,GAAG,CAA1C,CADY;AAEjBN,YAAI,EAAED,UAAU,GAAGE,WAAW,GAAG,CAA3B,GAA+BhB,YAAY,GAAG;AAFnC,OAAnB,CA1BwC,CA8BxC;AACA;AACA;AACA;;AACA,UAAI0B,iBAAiB,GAAG,KAAxB;AACA,UAAIC,kBAAkB,GAAG,KAAzB,CAnCwC,CAoCxC;AACA;AACA;AACA;AACA;;AACA,UAAIF,UAAU,CAACV,IAAX,GAAkBa,wBAAwB,GAAG,EAAjD,EAAqD;AACnDF,yBAAiB,GAAG,IAApB;AACAD,kBAAU,CAACV,IAAX,GAAkBa,wBAAlB;AACD,OAHD,MAIK,IAAI5B,YAAY,GAAG4B,wBAAf,GAA0CH,UAAU,CAACV,IAArD,GAA4D,EAA5D,GAAiEX,SAArE,EAAgF;AACnF;AACA;AACA;AACAuB,0BAAkB,GAAG,IAArB;AACAF,kBAAU,CAACV,IAAX,GAAkBX,SAAS,GAAGJ,YAAZ,GAA2B4B,wBAA7C;AACAjC,eAAO,GAAG,OAAV;AACD,OApDuC,CAqDxC;;;AACA,UAAIiB,SAAS,GAAGK,YAAZ,GAA2Bf,aAA3B,GAA2CM,UAA3C,IAAyDI,SAAS,GAAGV,aAAZ,GAA4B,CAAzF,EAA4F;AAC1FsB,gBAAQ,CAACX,GAAT,GAAeD,SAAS,IAAIS,WAAW,GAAG,CAAlB,CAAxB;AACAI,kBAAU,CAACZ,GAAX,GAAiBD,SAAS,GAAGV,aAAZ,IAA6BmB,WAAW,GAAG,CAA3C,CAAjB;AACA7B,cAAM,CAACqC,SAAP,GAAmBrC,MAAM,CAACqC,SAAP,GAAmB,iBAAtC;AACAnC,eAAO,GAAG,QAAV,CAJ0F,CAK1F;AACD,OAND,MAOK,IAAIkB,SAAS,GAAGK,YAAZ,GAA2Bf,aAA3B,GAA2CM,UAA/C,EAA2D;AAC9DZ,iBAAS,CAAC0B,KAAV,CAAgBQ,MAAhB,GAAyBF,wBAAwB,GAAG,GAApD;AACD;;AACDV,aAAO,CAACI,KAAR,CAAcT,GAAd,GAAoBW,QAAQ,CAACX,GAAT,GAAe,IAAnC;AACAK,aAAO,CAACI,KAAR,CAAcP,IAAd,GAAqBS,QAAQ,CAACT,IAAT,GAAgB,IAArC;AACAnB,eAAS,CAAC0B,KAAV,CAAgBT,GAAhB,GAAsBY,UAAU,CAACZ,GAAX,GAAiB,IAAvC;AACAjB,eAAS,CAAC0B,KAAV,CAAgBP,IAAhB,GAAuBU,UAAU,CAACV,IAAX,GAAkB,IAAzC;;AACA,UAAIW,iBAAJ,EAAuB;AACrB9B,iBAAS,CAAC0B,KAAV,CAAgBP,IAAhB,kBAA+BU,UAAU,CAACV,IAA1C;AACD;;AACD,UAAIY,kBAAJ,EAAwB;AACtB/B,iBAAS,CAAC0B,KAAV,CAAgBP,IAAhB,kBAA+BU,UAAU,CAACV,IAA1C;AACD;;AACDnB,eAAS,CAAC0B,KAAV,CAAgBS,eAAhB,GAAkCrC,OAAO,GAAG,GAAV,GAAgBC,OAAlD;AACA,UAAMqC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,yBAF3B,EAGGC,YAHH,CAGgB;AACd,0BAAkB;AADJ,OAHhB,EAMGC,gBANH,CAMoB,CAAC,gBAAD,CANpB;AAOAJ,sBAAgB,CACbC,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,kBAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGA,aAAOJ,aAAa,CACjBG,UADI,CACO3C,MADP,EAEJ+C,MAFI,CAEG,MAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACR,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KA7FD;;AA8FA,QAAMN,wBAAwB,GAAG,CAAjC;AAEA;;;;AAGA,QAAMc,iBAAiB,GAAG,SAApBA,iBAAoB,CAAClD,MAAD,EAAY;AACpC,UAAMwC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,yBAFrB,EAEgD,CAFhD;AAGAF,sBAAgB,CACbC,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,kBAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGA,aAAOJ,aAAa,CACjBG,UADI,CACO3C,MADP,EAEJ+C,MAFI,CAEG,MAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACR,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAfD;AAiBA;;;;;AAGA,QAAMS,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACnD,MAAD,EAASC,EAAT,EAAgB;AACvC,UAAMmD,uBAAuB,GAAG,EAAhC;AACA,UAAMC,GAAG,GAAGrD,MAAM,CAACa,aAAnB;AACA,UAAMyC,KAAK,GAAGD,GAAG,CAACE,GAAJ,KAAY,KAA1B;AACA,UAAIrD,OAAO,GAAG,KAAd;AACA,UAAIC,OAAO,GAAGmD,KAAK,GAAG,OAAH,GAAa,MAAhC;AACA,UAAMlD,SAAS,GAAGJ,MAAM,CAACK,aAAP,CAAqB,kBAArB,CAAlB;AACA,UAAMC,iBAAiB,GAAGF,SAAS,CAACG,qBAAV,EAA1B;AACA,UAAMC,YAAY,GAAGF,iBAAiB,CAACG,KAAvC;AACA,UAAMC,aAAa,GAAGJ,iBAAiB,CAACK,MAAxC;AACA,UAAMC,SAAS,GAAGyC,GAAG,CAACvC,WAAJ,CAAgBC,UAAlC;AACA,UAAMC,UAAU,GAAGqC,GAAG,CAACvC,WAAJ,CAAgBG,WAAnC,CAXuC,CAYvC;;AACA,UAAMC,SAAS,GAAGjB,EAAE,IAAIA,EAAE,CAACkB,MAAT,IAAmBlB,EAAE,CAACkB,MAAH,CAAUZ,qBAAV,EAArC,CAbuC,CAcvC;;AACA,UAAMa,SAAS,GAAGF,SAAS,IAAI,IAAb,IAAqB,YAAYA,SAAjC,GACdA,SAAS,CAACoB,MADI,GAEdtB,UAAU,GAAG,CAAb,GAAiBN,aAAa,GAAG,CAFrC;AAGA,UAAMY,UAAU,GAAGJ,SAAS,IAAI,IAAb,IAAqB,UAAUA,SAA/B,GACfoC,KAAK,GACHpC,SAAS,CAACK,IAAV,GAAiBf,YAAjB,GAAgCU,SAAS,CAACT,KADvC,GAEHS,SAAS,CAACK,IAHG,GAIfX,SAAS,GAAG,CAAZ,GAAgBJ,YAAY,GAAG,CAJnC;AAKA,UAAMiB,YAAY,GAAIP,SAAS,IAAIA,SAAS,CAACP,MAAxB,IAAmC,CAAxD;AACA,UAAMsB,UAAU,GAAG;AACjBZ,WAAG,EAAED,SADY;AAEjBG,YAAI,EAAED;AAFW,OAAnB,CAxBuC,CA4BvC;AACA;AACA;;AACA,UAAIW,UAAU,CAACV,IAAX,GAAkB6B,uBAAtB,EAA+C;AAC7CnB,kBAAU,CAACV,IAAX,GAAkB6B,uBAAlB,CAD6C,CAE7C;AACA;;AACAjD,eAAO,GAAG,MAAV;AACD,OALD,MAMK,IAAIK,YAAY,GAAG4C,uBAAf,GAAyCnB,UAAU,CAACV,IAApD,GACPX,SADG,EACQ;AACXqB,kBAAU,CAACV,IAAX,GAAkBX,SAAS,GAAGJ,YAAZ,GAA2B4C,uBAA7C,CADW,CAEX;AACA;;AACAjD,eAAO,GAAG,OAAV;AACD,OA3CsC,CA4CvC;AACA;;;AACA,UAAIiB,SAAS,GAAGK,YAAZ,GAA2Bf,aAA3B,GAA2CM,UAA3C,IACFI,SAAS,GAAGV,aAAZ,GAA4B,CAD9B,EACiC;AAC/BuB,kBAAU,CAACZ,GAAX,GAAiBD,SAAS,GAAGV,aAAZ,GAA4Be,YAA7C;AACAzB,cAAM,CAACqC,SAAP,GAAmBrC,MAAM,CAACqC,SAAP,GAAmB,iBAAtC;AACAnC,eAAO,GAAG,QAAV,CAH+B,CAI/B;AACD,OAND,MAOK,IAAIkB,SAAS,GAAGK,YAAZ,GAA2Bf,aAA3B,GAA2CM,UAA/C,EAA2D;AAC9DZ,iBAAS,CAAC0B,KAAV,CAAgBQ,MAAhB,GAAyBc,uBAAuB,GAAG,IAAnD;AACD;;AACD,UAAMZ,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACA,UAAMc,gBAAgB,GAAG,kEAAzB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACAhB,uBAAiB,CACdE,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,yBAF3B,EAGGC,YAHH,CAGgB;AACd,0BAAkB;AADJ,OAHhB,EAMGC,gBANH,CAMoB,CAAC,gBAAD,CANpB;AAOAJ,sBAAgB,CACbC,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,kBAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGAY,sBAAgB,CACbb,UADH,CACcvC,SADd,EAEGyC,YAFH,CAEgB;AACd,yBAAUZ,UAAU,CAACZ,GAArB,OADc;AAEd,0BAAWY,UAAU,CAACV,IAAtB,OAFc;AAGd,sCAAuBrB,OAAvB,cAAkCC,OAAlC;AAHc,OAFhB,EAOGyC,MAPH,CAOU,WAPV,EAOuB,cAPvB,EAOuC,UAPvC;AAQAa,uBAAiB,CACdd,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,mBAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGA,aAAOJ,aAAa,CACjBG,UADI,CACO3C,MADP,EAEJ+C,MAFI,CAEG,gCAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACR,iBAAD,EAAoBC,gBAApB,EAAsCc,gBAAtC,EAAwDC,iBAAxD,CAJT,CAAP;AAKD,KAvFD;AAyFA;;;;;AAGA,QAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC1D,MAAD,EAAY;AACnC,UAAMwC,aAAa,GAAG,kEAAtB;AACA,UAAMC,iBAAiB,GAAG,kEAA1B;AACA,UAAMC,gBAAgB,GAAG,kEAAzB;AACAD,uBAAiB,CACdE,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,cAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,yBAFrB,EAEgD,CAFhD;AAGAF,sBAAgB,CACbC,UADH,CACc3C,MAAM,CAACK,aAAP,CAAqB,kBAArB,CADd,EAEGuC,MAFH,CAEU,SAFV,EAEqB,IAFrB,EAE2B,CAF3B;AAGA,aAAOJ,aAAa,CACjBG,UADI,CACO3C,MADP,EAEJ+C,MAFI,CAEG,MAFH,EAGJC,QAHI,CAGK,GAHL,EAIJC,YAJI,CAIS,CAACR,iBAAD,EAAoBC,gBAApB,CAJT,CAAP;AAKD,KAfD;;AAiBA,QAAMiB,aAAa,GAAG,yyEAAtB;AAEA,QAAMC,YAAY,GAAG,qpDAArB;;AAEA,QAAMC,OAAO;AACX,uBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKC,UAAL,GAAkB,6DAAY,IAAZ,EAAkB,sBAAlB,EAA0C,CAA1C,CAAlB;AACA,aAAKC,WAAL,GAAmB,6DAAY,IAAZ,EAAkB,uBAAlB,EAA2C,CAA3C,CAAnB;AACA,aAAKC,WAAL,GAAmB,6DAAY,IAAZ,EAAkB,uBAAlB,EAA2C,CAA3C,CAAnB;AACA,aAAKC,UAAL,GAAkB,6DAAY,IAAZ,EAAkB,sBAAlB,EAA0C,CAA1C,CAAlB;AACA,aAAKC,SAAL,GAAiB,KAAjB;AACA;;;;AAGA,aAAKC,aAAL,GAAqB,IAArB;AACA;;;;AAGA,aAAKC,eAAL,GAAuB,IAAvB;AACA;;;;AAGA,aAAKC,YAAL,GAAoB,IAApB;AACA;;;;;;AAKA,aAAKC,WAAL,GAAmB,KAAnB;AACA;;;;AAGA,aAAKC,QAAL,GAAgB,IAAhB;;AACA,aAAKC,SAAL,GAAiB,UAACxE,EAAD,EAAQ;AACvBA,YAAE,CAACyE,eAAH;AACAzE,YAAE,CAAC0E,cAAH;;AACA,eAAI,CAACC,OAAL;AACD,SAJD;;AAKA,aAAKC,aAAL,GAAqB,YAAM;AACzB,eAAI,CAACD,OAAL,CAAaE,SAAb,EAAwB,uDAAxB;AACD,SAFD;;AAGA,aAAKC,WAAL,GAAmB,UAACC,UAAD,EAAgB;AACjC,cAAMC,EAAE,GAAG,KAAI,CAACC,YAAhB;AACA,cAAMC,IAAI,GAAGC,aAAa,CAACJ,UAAU,CAACK,IAAZ,CAA1B;;AACA,cAAIJ,EAAE,IAAIE,IAAV,EAAgB;AACd,gBAAMG,KAAK,GAAG,IAAIC,WAAJ,CAAgBJ,IAAhB,EAAsB;AAClCK,qBAAO,EAAE,KADyB;AAElCC,wBAAU,EAAE,KAFsB;AAGlCC,oBAAM,EAAEV,UAAU,CAACU;AAHe,aAAtB,CAAd;AAKAT,cAAE,CAACU,aAAH,CAAiBL,KAAjB;AACD;AACF,SAXD;AAYD;;AAlDU;AAAA;AAAA,eAmDX,6BAAoB;AAClB,0EAAe,KAAKL,EAApB;AACD;AACD;;;;AAtDW;AAAA;AAAA;AAAA,iFAyDX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBACM,KAAKd,SADX;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAIQyB,6BAJR,GAIoB,KAAKX,EAAL,CAAQ5E,aAAR,CAAsB,kBAAtB,CAJpB;;AAAA,wBAKOuF,SALP;AAAA;AAAA;AAAA;;AAAA,0BAMU,IAAIC,KAAJ,CAAU,wBAAV,CANV;;AAAA;AAQQC,wBARR,GAQeC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKC,cAAvB,CAAd,EAAsD;AAAEC,6BAAO,EAAE,KAAKjB;AAAhB,qBAAtD,CARf;AAAA;AAAA,2BAS4B,0EAAgB,KAAKkB,QAArB,EAA+BP,SAA/B,EAA0C,KAAKQ,SAA/C,EAA0D,CAAC,kBAAD,EAAqB,KAAKnB,EAAL,CAAQ,MAAR,CAArB,CAA1D,EAAiGa,IAAjG,CAT5B;;AAAA;AASE,yBAAKZ,YATP;AAAA;AAAA,2BAUQ,6DAAU,KAAKA,YAAf,CAVR;;AAAA;AAAA,qDAWS,gEAAQ,IAAR,EAAc,cAAd,EAA8BnF,iBAA9B,EAAiDoD,gBAAjD,EAAmE,KAAKmC,KAAxE,CAXT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAzDW;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAsEX;;;;;;;AAtEW;AAAA;AAAA;AAAA,iFA4EX,kBAAcQ,IAAd,EAAoBO,IAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAC8B,gEAAQ,IAAR,EAAcP,IAAd,EAAoBO,IAApB,EAA0B,cAA1B,EAA0CnD,iBAA1C,EAA6DQ,gBAA7D,EAA+E,KAAK4B,KAApF,CAD9B;;AAAA;AACQgB,iCADR;;AAAA,yBAEMA,aAFN;AAAA;AAAA;AAAA;;AAAA;AAAA,2BAGU,0EAAgB,KAAKH,QAArB,EAA+B,KAAKjB,YAApC,CAHV;;AAAA;AAAA,sDAKSoB,aALT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA5EW;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAmFX;;;;AAnFW;AAAA;AAAA,eAsFX,wBAAe;AACb,iBAAO,gEAAY,KAAKrB,EAAjB,EAAqB,sBAArB,CAAP;AACD;AACD;;;;AAzFW;AAAA;AAAA,eA4FX,yBAAgB;AACd,iBAAO,gEAAY,KAAKA,EAAjB,EAAqB,uBAArB,CAAP;AACD;AA9FU;AAAA;AAAA,eA+FX,kBAAS;AAAA;;AACP,cAAMsB,IAAI,GAAG,oEAAW,IAAX,CAAb;AADO,cAECxB,WAFD,GAEiB,IAFjB,CAECA,WAFD;AAGP,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,0BAAc,MAAhB;AAAwB,yBAAa,IAArC;AAA2CyB,oBAAQ,EAAE,IAArD;AAA2D1E,iBAAK,EAAE;AAC9E2E,oBAAM,YAAK,QAAQ,KAAKC,YAAlB;AADwE,aAAlE;AAEX,qBAAOX,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,6DAAY,KAAKW,QAAjB,CAAlB,CAAd,wDAAgEJ,IAAhE,EAAuE,IAAvE,mCAA6E,qBAA7E,EAAoG,KAAKhC,WAAzG,mBAFI;AAEqHqC,kCAAsB,EAAE7B,WAF7I;AAE0J8B,mCAAuB,EAAE9B,WAFnL;AAEgM+B,mCAAuB,EAAE/B,WAFzN;AAEsOgC,kCAAsB,EAAEhC,WAF9P;AAE2QiC,wBAAY,EAAE,KAAKvC,SAF9R;AAEySwC,4BAAgB,EAAE,KAAKpC;AAFhU,WAAR,EAEyV,6DAAE,cAAF,EAAkB;AAAEqC,oBAAQ,EAAE,KAAK7C,eAAjB;AAAkC8C,mBAAO,EAAE,KAAK7C;AAAhD,WAAlB,CAFzV,EAE4a,6DAAE,KAAF,EAAS;AAAEkC,oBAAQ,EAAE;AAAZ,WAAT,CAF5a,EAEyc,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAA2D,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,CAA3D,EAAiG,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,CAAjG,CAFzc,EAEmlB,6DAAE,KAAF,EAAS;AAAEA,oBAAQ,EAAE;AAAZ,WAAT,CAFnlB,CAAR;AAGD;AArGU;AAAA;AAAA,aAsGX,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AAtG1B;;AAAA;AAAA,OAAb;;AAwGA,QAAMpB,aAAa,GAAG;AACpB,8BAAwB,iBADJ;AAEpB,+BAAyB,kBAFL;AAGpB,+BAAyB,kBAHL;AAIpB,8BAAwB;AAJJ,KAAtB;AAMAvB,WAAO,CAAC/B,KAAR,GAAgB;AACdsF,SAAG,EAAEzD,aADS;AAEd0D,QAAE,EAAEzD;AAFU,KAAhB","file":"22-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { e as deepReady } from './index-d8cfb4a8.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, f as dismiss, g as eventMethod } from './overlays-12c20431.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\n/**\n * iOS Popover Enter Animation\n */\nconst iosEnterAnimation = (baseEl, ev) => {\n let originY = 'top';\n let originX = 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = baseEl.ownerDocument.defaultView.innerWidth;\n const bodyHeight = baseEl.ownerDocument.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n const targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2;\n const targetWidth = (targetDim && targetDim.width) || 0;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const arrowEl = baseEl.querySelector('.popover-arrow');\n const arrowDim = arrowEl.getBoundingClientRect();\n const arrowWidth = arrowDim.width;\n const arrowHeight = arrowDim.height;\n if (targetDim == null) {\n arrowEl.style.display = 'none';\n }\n const arrowCSS = {\n top: targetTop + targetHeight,\n left: targetLeft + targetWidth / 2 - arrowWidth / 2\n };\n const popoverCSS = {\n top: targetTop + targetHeight + (arrowHeight - 1),\n left: targetLeft + targetWidth / 2 - contentWidth / 2\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n //\n let checkSafeAreaLeft = false;\n let checkSafeAreaRight = false;\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n // 25 is a random/arbitrary number. It seems to work fine for ios11\n // and iPhoneX. Is it perfect? No. Does it work? Yes.\n if (popoverCSS.left < POPOVER_IOS_BODY_PADDING + 25) {\n checkSafeAreaLeft = true;\n popoverCSS.left = POPOVER_IOS_BODY_PADDING;\n }\n else if (contentWidth + POPOVER_IOS_BODY_PADDING + popoverCSS.left + 25 > bodyWidth) {\n // Ok, so we're on the right side of the screen,\n // but now we need to make sure we're still a bit further right\n // cus....notchurally... Again, 25 is random. It works tho\n checkSafeAreaRight = true;\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_IOS_BODY_PADDING;\n originX = 'right';\n }\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) {\n arrowCSS.top = targetTop - (arrowHeight + 1);\n popoverCSS.top = targetTop - contentHeight - (arrowHeight - 1);\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_IOS_BODY_PADDING + '%';\n }\n arrowEl.style.top = arrowCSS.top + 'px';\n arrowEl.style.left = arrowCSS.left + 'px';\n contentEl.style.top = popoverCSS.top + 'px';\n contentEl.style.left = popoverCSS.left + 'px';\n if (checkSafeAreaLeft) {\n contentEl.style.left = `calc(${popoverCSS.left}px + var(--ion-safe-area-left, 0px))`;\n }\n if (checkSafeAreaRight) {\n contentEl.style.left = `calc(${popoverCSS.left}px - var(--ion-safe-area-right, 0px))`;\n }\n contentEl.style.transformOrigin = originY + ' ' + originX;\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(100)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\nconst POPOVER_IOS_BODY_PADDING = 5;\n\n/**\n * iOS Popover Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\n/**\n * Md Popover Enter Animation\n */\nconst mdEnterAnimation = (baseEl, ev) => {\n const POPOVER_MD_BODY_PADDING = 12;\n const doc = baseEl.ownerDocument;\n const isRTL = doc.dir === 'rtl';\n let originY = 'top';\n let originX = isRTL ? 'right' : 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = doc.defaultView.innerWidth;\n const bodyHeight = doc.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n // As per MD spec, by default position the popover below the target (trigger) element\n const targetTop = targetDim != null && 'bottom' in targetDim\n ? targetDim.bottom\n : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim\n ? isRTL\n ? targetDim.left - contentWidth + targetDim.width\n : targetDim.left\n : bodyWidth / 2 - contentWidth / 2;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const popoverCSS = {\n top: targetTop,\n left: targetLeft\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n if (popoverCSS.left < POPOVER_MD_BODY_PADDING) {\n popoverCSS.left = POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in LTR, originX is already 'left'\n originX = 'left';\n }\n else if (contentWidth + POPOVER_MD_BODY_PADDING + popoverCSS.left >\n bodyWidth) {\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in RTL, originX is already 'right'\n originX = 'right';\n }\n // If the popover when popped down stretches past bottom of screen,\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight &&\n targetTop - contentHeight > 0) {\n popoverCSS.top = targetTop - contentHeight - targetHeight;\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_MD_BODY_PADDING + 'px';\n }\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const contentAnimation = createAnimation();\n const viewportAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n contentAnimation\n .addElement(contentEl)\n .beforeStyles({\n 'top': `${popoverCSS.top}px`,\n 'left': `${popoverCSS.left}px`,\n 'transform-origin': `${originY} ${originX}`\n })\n .fromTo('transform', 'scale(0.001)', 'scale(1)');\n viewportAnimation\n .addElement(baseEl.querySelector('.popover-viewport'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(300)\n .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]);\n};\n\n/**\n * Md Popover Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n\nconst popoverIosCss = \".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\\\"\\\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}\";\n\nconst popoverMdCss = \".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}\";\n\nconst Popover = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.didPresent = createEvent(this, \"ionPopoverDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPopoverWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPopoverWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPopoverDidDismiss\", 7);\n this.presented = false;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * If `true`, the popover will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, a backdrop will be displayed behind the popover.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the popover 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 popover will animate.\n */\n this.animated = true;\n this.onDismiss = (ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n this.dismiss();\n };\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(event);\n }\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the popover overlay after it has been created.\n */\n async present() {\n if (this.presented) {\n return;\n }\n const container = this.el.querySelector('.popover-content');\n if (!container) {\n throw new Error('container is undefined');\n }\n const data = Object.assign(Object.assign({}, this.componentProps), { popover: this.el });\n this.usersElement = await attachComponent(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data);\n await deepReady(this.usersElement);\n return present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event);\n }\n /**\n * Dismiss the popover 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 popover. For example, 'cancel' or 'backdrop'.\n */\n async dismiss(data, role) {\n const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);\n if (shouldDismiss) {\n await detachComponent(this.delegate, this.usersElement);\n }\n return shouldDismiss;\n }\n /**\n * Returns a promise that resolves when the popover did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPopoverDidDismiss');\n }\n /**\n * Returns a promise that resolves when the popover will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPopoverWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n const { onLifecycle } = this;\n return (h(Host, { \"aria-modal\": \"true\", \"no-router\": true, tabindex: \"-1\", style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonDismiss: this.onDismiss, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss, visible: this.showBackdrop }), h(\"div\", { tabindex: \"0\" }), h(\"div\", { class: \"popover-wrapper ion-overlay-wrapper\" }, h(\"div\", { class: \"popover-arrow\" }), h(\"div\", { class: \"popover-content\" })), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst LIFECYCLE_MAP = {\n 'ionPopoverDidPresent': 'ionViewDidEnter',\n 'ionPopoverWillPresent': 'ionViewWillEnter',\n 'ionPopoverWillDismiss': 'ionViewWillLeave',\n 'ionPopoverDidDismiss': 'ionViewDidLeave',\n};\nPopover.style = {\n ios: popoverIosCss,\n md: popoverMdCss\n};\n\nexport { Popover as ion_popover };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/23-es2015.js b/android/app/src/main/assets/public/23-es2015.js new file mode 100644 index 000000000..3791a8c10 --- /dev/null +++ b/android/app/src/main/assets/public/23-es2015.js @@ -0,0 +1,90 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[23],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js ***! + \*********************************************************************/ +/*! exports provided: ion_progress_bar */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_progress_bar", function() { return ProgressBar; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const progressBarIosCss = ":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\"\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:3px}"; + +const progressBarMdCss = ":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\"\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:4px}"; + +const ProgressBar = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * The state of the progress bar, based on if the time the process takes is known or not. + * Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right). + */ + this.type = 'determinate'; + /** + * If true, reverse the progress bar direction. + */ + this.reversed = false; + /** + * The value determines how much of the active bar should display when the + * `type` is `"determinate"`. + * The value should be between [0, 1]. + */ + this.value = 0; + /** + * If the buffer and value are smaller than 1, the buffer circles will show. + * The buffer should be between [0, 1]. + */ + this.buffer = 1; + } + render() { + const { color, type, reversed, value, buffer } = this; + const paused = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing'); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(color, { + [mode]: true, + [`progress-bar-${type}`]: true, + 'progress-paused': paused, + 'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed + }) }, type === 'indeterminate' + ? renderIndeterminate() + : renderProgress(value, buffer))); + } +}; +const renderIndeterminate = () => { + return [ + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "indeterminate-bar-primary" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "progress-indeterminate" })), + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "indeterminate-bar-secondary" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "progress-indeterminate" })) + ]; +}; +const renderProgress = (value, buffer) => { + const finalValue = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, value, 1); + const finalBuffer = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, buffer, 1); + return [ + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "progress", style: { transform: `scaleX(${finalValue})` } }), + finalBuffer !== 1 && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "buffer-circles" }), + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "progress-buffer-bar", style: { transform: `scaleX(${finalBuffer})` } }), + ]; +}; +ProgressBar.style = { + ios: progressBarIosCss, + md: progressBarMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=23-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/23-es2015.js.map b/android/app/src/main/assets/public/23-es2015.js.map new file mode 100644 index 000000000..7f05f8e0a --- /dev/null +++ b/android/app/src/main/assets/public/23-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js"],"names":[],"mappings":"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","file":"23-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst progressBarIosCss = \":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\\\"\\\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:3px}\";\n\nconst progressBarMdCss = \":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\\\"\\\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:4px}\";\n\nconst ProgressBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * The state of the progress bar, based on if the time the process takes is known or not.\n * Default options are: `\"determinate\"` (no animation), `\"indeterminate\"` (animate from left to right).\n */\n this.type = 'determinate';\n /**\n * If true, reverse the progress bar direction.\n */\n this.reversed = false;\n /**\n * The value determines how much of the active bar should display when the\n * `type` is `\"determinate\"`.\n * The value should be between [0, 1].\n */\n this.value = 0;\n /**\n * If the buffer and value are smaller than 1, the buffer circles will show.\n * The buffer should be between [0, 1].\n */\n this.buffer = 1;\n }\n render() {\n const { color, type, reversed, value, buffer } = this;\n const paused = config.getBoolean('_testing');\n const mode = getIonMode(this);\n return (h(Host, { role: \"progressbar\", \"aria-valuenow\": type === 'determinate' ? value : null, \"aria-valuemin\": \"0\", \"aria-valuemax\": \"1\", class: createColorClasses(color, {\n [mode]: true,\n [`progress-bar-${type}`]: true,\n 'progress-paused': paused,\n 'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed\n }) }, type === 'indeterminate'\n ? renderIndeterminate()\n : renderProgress(value, buffer)));\n }\n};\nconst renderIndeterminate = () => {\n return [\n h(\"div\", { class: \"indeterminate-bar-primary\" }, h(\"span\", { class: \"progress-indeterminate\" })),\n h(\"div\", { class: \"indeterminate-bar-secondary\" }, h(\"span\", { class: \"progress-indeterminate\" }))\n ];\n};\nconst renderProgress = (value, buffer) => {\n const finalValue = clamp(0, value, 1);\n const finalBuffer = clamp(0, buffer, 1);\n return [\n h(\"div\", { class: \"progress\", style: { transform: `scaleX(${finalValue})` } }),\n finalBuffer !== 1 && h(\"div\", { class: \"buffer-circles\" }),\n h(\"div\", { class: \"progress-buffer-bar\", style: { transform: `scaleX(${finalBuffer})` } }),\n ];\n};\nProgressBar.style = {\n ios: progressBarIosCss,\n md: progressBarMdCss\n};\n\nexport { ProgressBar as ion_progress_bar };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/23-es5.js b/android/app/src/main/assets/public/23-es5.js new file mode 100644 index 000000000..04405082d --- /dev/null +++ b/android/app/src/main/assets/public/23-es5.js @@ -0,0 +1,152 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[23], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js": + /*!*********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js ***! + \*********************************************************************/ + + /*! exports provided: ion_progress_bar */ + + /***/ + function node_modulesIonicCoreDistEsmIonProgressBarEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_progress_bar", function () { + return ProgressBar; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var progressBarIosCss = ":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\"\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:3px}"; + var progressBarMdCss = ":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\"\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:4px}"; + + var ProgressBar = /*#__PURE__*/function () { + function ProgressBar(hostRef) { + _classCallCheck(this, ProgressBar); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * The state of the progress bar, based on if the time the process takes is known or not. + * Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right). + */ + + this.type = 'determinate'; + /** + * If true, reverse the progress bar direction. + */ + + this.reversed = false; + /** + * The value determines how much of the active bar should display when the + * `type` is `"determinate"`. + * The value should be between [0, 1]. + */ + + this.value = 0; + /** + * If the buffer and value are smaller than 1, the buffer circles will show. + * The buffer should be between [0, 1]. + */ + + this.buffer = 1; + } + + _createClass(ProgressBar, [{ + key: "render", + value: function render() { + var _Object; + + var color = this.color, + type = this.type, + reversed = this.reversed, + value = this.value, + buffer = this.buffer; + + var paused = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing'); + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "progressbar", + "aria-valuenow": type === 'determinate' ? value : null, + "aria-valuemin": "0", + "aria-valuemax": "1", + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, "progress-bar-".concat(type), true), _defineProperty(_Object, 'progress-paused', paused), _defineProperty(_Object, 'progress-bar-reversed', document.dir === 'rtl' ? !reversed : reversed), _Object)) + }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)); + } + }]); + + return ProgressBar; + }(); + + var renderIndeterminate = function renderIndeterminate() { + return [Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "indeterminate-bar-primary" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "progress-indeterminate" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "indeterminate-bar-secondary" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "progress-indeterminate" + }))]; + }; + + var renderProgress = function renderProgress(value, buffer) { + var finalValue = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, value, 1); + var finalBuffer = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, buffer, 1); + return [Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "progress", + style: { + transform: "scaleX(".concat(finalValue, ")") + } + }), finalBuffer !== 1 && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "buffer-circles" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "progress-buffer-bar", + style: { + transform: "scaleX(".concat(finalBuffer, ")") + } + })]; + }; + + ProgressBar.style = { + ios: progressBarIosCss, + md: progressBarMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=23-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/23-es5.js.map b/android/app/src/main/assets/public/23-es5.js.map new file mode 100644 index 000000000..663fe03cf --- /dev/null +++ b/android/app/src/main/assets/public/23-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js"],"names":["progressBarIosCss","progressBarMdCss","ProgressBar","hostRef","type","reversed","value","buffer","color","paused","getBoolean","mode","role","document","dir","renderIndeterminate","renderProgress","finalValue","finalBuffer","style","transform","ios","md"],"mappings":"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","file":"23-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst progressBarIosCss = \":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\\\"\\\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:3px}\";\n\nconst progressBarMdCss = \":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.2);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}:host(.ion-color){--progress-background:var(--ion-color-base);--buffer-background:rgba(var(--ion-color-base-rgb), 0.2)}:host(.progress-bar-indeterminate){background:var(--buffer-background)}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar,.progress-buffer-bar:before,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.progress,.progress-buffer-bar{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:#fff;z-index:1}.progress-buffer-bar:before{background:var(--buffer-background);content:\\\"\\\"}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%) repeat-x 5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed) .progress,:host(.progress-bar-reversed) .progress-buffer-bar{-webkit-transform-origin:right top;transform-origin:right top}:host(.progress-bar-reversed) .buffer-circles,:host(.progress-bar-reversed) .indeterminate-bar-primary,:host(.progress-bar-reversed) .indeterminate-bar-secondary,:host(.progress-bar-reversed) .progress-indeterminate{animation-direction:reverse}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{height:4px}\";\n\nconst ProgressBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * The state of the progress bar, based on if the time the process takes is known or not.\n * Default options are: `\"determinate\"` (no animation), `\"indeterminate\"` (animate from left to right).\n */\n this.type = 'determinate';\n /**\n * If true, reverse the progress bar direction.\n */\n this.reversed = false;\n /**\n * The value determines how much of the active bar should display when the\n * `type` is `\"determinate\"`.\n * The value should be between [0, 1].\n */\n this.value = 0;\n /**\n * If the buffer and value are smaller than 1, the buffer circles will show.\n * The buffer should be between [0, 1].\n */\n this.buffer = 1;\n }\n render() {\n const { color, type, reversed, value, buffer } = this;\n const paused = config.getBoolean('_testing');\n const mode = getIonMode(this);\n return (h(Host, { role: \"progressbar\", \"aria-valuenow\": type === 'determinate' ? value : null, \"aria-valuemin\": \"0\", \"aria-valuemax\": \"1\", class: createColorClasses(color, {\n [mode]: true,\n [`progress-bar-${type}`]: true,\n 'progress-paused': paused,\n 'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed\n }) }, type === 'indeterminate'\n ? renderIndeterminate()\n : renderProgress(value, buffer)));\n }\n};\nconst renderIndeterminate = () => {\n return [\n h(\"div\", { class: \"indeterminate-bar-primary\" }, h(\"span\", { class: \"progress-indeterminate\" })),\n h(\"div\", { class: \"indeterminate-bar-secondary\" }, h(\"span\", { class: \"progress-indeterminate\" }))\n ];\n};\nconst renderProgress = (value, buffer) => {\n const finalValue = clamp(0, value, 1);\n const finalBuffer = clamp(0, buffer, 1);\n return [\n h(\"div\", { class: \"progress\", style: { transform: `scaleX(${finalValue})` } }),\n finalBuffer !== 1 && h(\"div\", { class: \"buffer-circles\" }),\n h(\"div\", { class: \"progress-buffer-bar\", style: { transform: `scaleX(${finalBuffer})` } }),\n ];\n};\nProgressBar.style = {\n ios: progressBarIosCss,\n md: progressBarMdCss\n};\n\nexport { ProgressBar as ion_progress_bar };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/24-es2015.js b/android/app/src/main/assets/public/24-es2015.js new file mode 100644 index 000000000..8154cfb97 --- /dev/null +++ b/android/app/src/main/assets/public/24-es2015.js @@ -0,0 +1,250 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[24],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_radio, ion_radio_group */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_radio", function() { return Radio; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_radio_group", function() { return RadioGroup; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\"\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}"; + +const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\"\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}"; + +const Radio = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.inputId = `ion-rb-${radioButtonIds++}`; + this.radioGroup = null; + /** + * If `true`, the radio is selected. + */ + this.checked = false; + /** + * The tabindex of the radio button. + * @internal + */ + this.buttonTabindex = -1; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + /** + * If `true`, the user cannot interact with the radio. + */ + this.disabled = false; + this.updateState = () => { + if (this.radioGroup) { + this.checked = this.radioGroup.value === this.value; + } + }; + this.onFocus = () => { + this.ionFocus.emit(); + }; + this.onBlur = () => { + this.ionBlur.emit(); + }; + } + /** @internal */ + async setFocus(ev) { + ev.stopPropagation(); + ev.preventDefault(); + this.el.focus(); + } + /** @internal */ + async setButtonTabindex(value) { + this.buttonTabindex = value; + } + connectedCallback() { + if (this.value === undefined) { + this.value = this.inputId; + } + const radioGroup = this.radioGroup = this.el.closest('ion-radio-group'); + if (radioGroup) { + this.updateState(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(radioGroup, 'ionChange', this.updateState); + } + } + disconnectedCallback() { + const radioGroup = this.radioGroup; + if (radioGroup) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(radioGroup, 'ionChange', this.updateState); + this.radioGroup = null; + } + } + componentWillLoad() { + this.emitStyle(); + } + emitStyle() { + this.ionStyle.emit({ + 'radio-checked': this.checked, + 'interactive-disabled': this.disabled, + }); + } + render() { + const { inputId, disabled, checked, color, el, buttonTabindex } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const { label, labelId, labelText } = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["c"])(el, inputId); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-checked": `${checked}`, "aria-hidden": disabled ? 'true' : null, "aria-labelledby": label ? labelId : null, role: "radio", tabindex: buttonTabindex, onFocus: this.onFocus, onBlur: this.onBlur, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(color, { + [mode]: true, + 'in-item': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-item', el), + 'interactive': true, + 'radio-checked': checked, + 'radio-disabled': disabled, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "radio-icon", part: "container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "radio-inner", part: "mark" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "radio-ripple" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("label", { htmlFor: inputId }, labelText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", { type: "radio", checked: checked, disabled: disabled, tabindex: "-1", id: inputId }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "color": ["emitStyle"], + "checked": ["emitStyle"], + "disabled": ["emitStyle"] + }; } +}; +let radioButtonIds = 0; +Radio.style = { + ios: radioIosCss, + md: radioMdCss +}; + +const RadioGroup = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.inputId = `ion-rg-${radioGroupIds++}`; + this.labelId = `${this.inputId}-lbl`; + /** + * If `true`, the radios can be deselected. + */ + this.allowEmptySelection = false; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + this.setRadioTabindex = (value) => { + const radios = this.getRadios(); + // Get the first radio that is not disabled and the checked one + const first = radios.find(radio => !radio.disabled); + const checked = radios.find(radio => (radio.value === value && !radio.disabled)); + if (!first && !checked) { + return; + } + // If an enabled checked radio exists, set it to be the focusable radio + // otherwise we default to focus the first radio + const focusable = checked || first; + for (const radio of radios) { + const tabindex = radio === focusable ? 0 : -1; + radio.setButtonTabindex(tabindex); + } + }; + this.onClick = (ev) => { + ev.preventDefault(); + const selectedRadio = ev.target && ev.target.closest('ion-radio'); + if (selectedRadio) { + const currentValue = this.value; + const newValue = selectedRadio.value; + if (newValue !== currentValue) { + this.value = newValue; + } + else if (this.allowEmptySelection) { + this.value = undefined; + } + } + }; + } + valueChanged(value) { + this.setRadioTabindex(value); + this.ionChange.emit({ value }); + } + componentDidLoad() { + this.setRadioTabindex(this.value); + } + async connectedCallback() { + // Get the list header if it exists and set the id + // this is used to set aria-labelledby + const header = this.el.querySelector('ion-list-header') || this.el.querySelector('ion-item-divider'); + if (header) { + const label = this.label = header.querySelector('ion-label'); + if (label) { + this.labelId = label.id = this.name + '-lbl'; + } + } + } + getRadios() { + return Array.from(this.el.querySelectorAll('ion-radio')); + } + onKeydown(ev) { + const inSelectPopover = !!this.el.closest('ion-select-popover'); + if (ev.target && !this.el.contains(ev.target)) { + return; + } + // Get all radios inside of the radio group and then + // filter out disabled radios since we need to skip those + const radios = Array.from(this.el.querySelectorAll('ion-radio')).filter(radio => !radio.disabled); + // Only move the radio if the current focus is in the radio group + if (ev.target && radios.includes(ev.target)) { + const index = radios.findIndex(radio => radio === ev.target); + const current = radios[index]; + let next; + // If hitting arrow down or arrow right, move to the next radio + // If we're on the last radio, move to the first radio + if (['ArrowDown', 'ArrowRight'].includes(ev.code)) { + next = (index === radios.length - 1) + ? radios[0] + : radios[index + 1]; + } + // If hitting arrow up or arrow left, move to the previous radio + // If we're on the first radio, move to the last radio + if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) { + next = (index === 0) + ? radios[radios.length - 1] + : radios[index - 1]; + } + if (next && radios.includes(next)) { + next.setFocus(ev); + if (!inSelectPopover) { + this.value = next.value; + } + } + // Update the radio group value when a user presses the + // space bar on top of a selected radio (only applies + // to radios in a select popover) + if (['Space'].includes(ev.code)) { + this.value = current.value; + } + } + } + render() { + const { label, labelId } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "value": ["valueChanged"] + }; } +}; +let radioGroupIds = 0; + + + + +/***/ }) + +}]); +//# sourceMappingURL=24-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/24-es2015.js.map b/android/app/src/main/assets/public/24-es2015.js.map new file mode 100644 index 000000000..d7712edbc --- /dev/null +++ b/android/app/src/main/assets/public/24-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js"],"names":[],"mappings":"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4B,GAAG,8DAAY;AACtD,YAAY,4DAAC,CAAC,oDAAI,GAAG,oBAAoB,QAAQ,mLAAmL,4DAAkB;AACtP;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA,OAAO,GAAG,EAAE,4DAAC,SAAS,yCAAyC,EAAE,4DAAC,SAAS,qCAAqC,GAAG,4DAAC,SAAS,wBAAwB,IAAI,4DAAC,WAAW,mBAAmB,cAAc,4DAAC,WAAW,mFAAmF;AACrS;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,4DAAgB;AACpB,qBAAqB,4DAAW;AAChC,6BAA6B,gBAAgB;AAC7C,sBAAsB,aAAa;AACnC;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,QAAQ;AACjC;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,WAAW,iBAAiB;AAC5B,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,oGAAoG;AACzH;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;;AAE6D","file":"24-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as addEventListener, b as removeEventListener, c as getAriaLabel } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst radioIosCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}\";\n\nconst radioMdCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}\";\n\nconst Radio = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.inputId = `ion-rb-${radioButtonIds++}`;\n this.radioGroup = null;\n /**\n * If `true`, the radio is selected.\n */\n this.checked = false;\n /**\n * The tabindex of the radio button.\n * @internal\n */\n this.buttonTabindex = -1;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot interact with the radio.\n */\n this.disabled = false;\n this.updateState = () => {\n if (this.radioGroup) {\n this.checked = this.radioGroup.value === this.value;\n }\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n /** @internal */\n async setFocus(ev) {\n ev.stopPropagation();\n ev.preventDefault();\n this.el.focus();\n }\n /** @internal */\n async setButtonTabindex(value) {\n this.buttonTabindex = value;\n }\n connectedCallback() {\n if (this.value === undefined) {\n this.value = this.inputId;\n }\n const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');\n if (radioGroup) {\n this.updateState();\n addEventListener(radioGroup, 'ionChange', this.updateState);\n }\n }\n disconnectedCallback() {\n const radioGroup = this.radioGroup;\n if (radioGroup) {\n removeEventListener(radioGroup, 'ionChange', this.updateState);\n this.radioGroup = null;\n }\n }\n componentWillLoad() {\n this.emitStyle();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'radio-checked': this.checked,\n 'interactive-disabled': this.disabled,\n });\n }\n render() {\n const { inputId, disabled, checked, color, el, buttonTabindex } = this;\n const mode = getIonMode(this);\n const { label, labelId, labelText } = getAriaLabel(el, inputId);\n return (h(Host, { \"aria-checked\": `${checked}`, \"aria-hidden\": disabled ? 'true' : null, \"aria-labelledby\": label ? labelId : null, role: \"radio\", tabindex: buttonTabindex, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'interactive': true,\n 'radio-checked': checked,\n 'radio-disabled': disabled,\n }) }, h(\"div\", { class: \"radio-icon\", part: \"container\" }, h(\"div\", { class: \"radio-inner\", part: \"mark\" }), h(\"div\", { class: \"radio-ripple\" })), h(\"label\", { htmlFor: inputId }, labelText), h(\"input\", { type: \"radio\", checked: checked, disabled: disabled, tabindex: \"-1\", id: inputId })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"emitStyle\"],\n \"checked\": [\"emitStyle\"],\n \"disabled\": [\"emitStyle\"]\n }; }\n};\nlet radioButtonIds = 0;\nRadio.style = {\n ios: radioIosCss,\n md: radioMdCss\n};\n\nconst RadioGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.inputId = `ion-rg-${radioGroupIds++}`;\n this.labelId = `${this.inputId}-lbl`;\n /**\n * If `true`, the radios can be deselected.\n */\n this.allowEmptySelection = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n this.setRadioTabindex = (value) => {\n const radios = this.getRadios();\n // Get the first radio that is not disabled and the checked one\n const first = radios.find(radio => !radio.disabled);\n const checked = radios.find(radio => (radio.value === value && !radio.disabled));\n if (!first && !checked) {\n return;\n }\n // If an enabled checked radio exists, set it to be the focusable radio\n // otherwise we default to focus the first radio\n const focusable = checked || first;\n for (const radio of radios) {\n const tabindex = radio === focusable ? 0 : -1;\n radio.setButtonTabindex(tabindex);\n }\n };\n this.onClick = (ev) => {\n ev.preventDefault();\n const selectedRadio = ev.target && ev.target.closest('ion-radio');\n if (selectedRadio) {\n const currentValue = this.value;\n const newValue = selectedRadio.value;\n if (newValue !== currentValue) {\n this.value = newValue;\n }\n else if (this.allowEmptySelection) {\n this.value = undefined;\n }\n }\n };\n }\n valueChanged(value) {\n this.setRadioTabindex(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setRadioTabindex(this.value);\n }\n async connectedCallback() {\n // Get the list header if it exists and set the id\n // this is used to set aria-labelledby\n const header = this.el.querySelector('ion-list-header') || this.el.querySelector('ion-item-divider');\n if (header) {\n const label = this.label = header.querySelector('ion-label');\n if (label) {\n this.labelId = label.id = this.name + '-lbl';\n }\n }\n }\n getRadios() {\n return Array.from(this.el.querySelectorAll('ion-radio'));\n }\n onKeydown(ev) {\n const inSelectPopover = !!this.el.closest('ion-select-popover');\n if (ev.target && !this.el.contains(ev.target)) {\n return;\n }\n // Get all radios inside of the radio group and then\n // filter out disabled radios since we need to skip those\n const radios = Array.from(this.el.querySelectorAll('ion-radio')).filter(radio => !radio.disabled);\n // Only move the radio if the current focus is in the radio group\n if (ev.target && radios.includes(ev.target)) {\n const index = radios.findIndex(radio => radio === ev.target);\n const current = radios[index];\n let next;\n // If hitting arrow down or arrow right, move to the next radio\n // If we're on the last radio, move to the first radio\n if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {\n next = (index === radios.length - 1)\n ? radios[0]\n : radios[index + 1];\n }\n // If hitting arrow up or arrow left, move to the previous radio\n // If we're on the first radio, move to the last radio\n if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {\n next = (index === 0)\n ? radios[radios.length - 1]\n : radios[index - 1];\n }\n if (next && radios.includes(next)) {\n next.setFocus(ev);\n if (!inSelectPopover) {\n this.value = next.value;\n }\n }\n // Update the radio group value when a user presses the\n // space bar on top of a selected radio (only applies\n // to radios in a select popover)\n if (['Space'].includes(ev.code)) {\n this.value = current.value;\n }\n }\n }\n render() {\n const { label, labelId } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"radiogroup\", \"aria-labelledby\": label ? labelId : null, onClick: this.onClick, class: mode }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"value\": [\"valueChanged\"]\n }; }\n};\nlet radioGroupIds = 0;\n\nexport { Radio as ion_radio, RadioGroup as ion_radio_group };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/24-es5.js b/android/app/src/main/assets/public/24-es5.js new file mode 100644 index 000000000..39ede9c47 --- /dev/null +++ b/android/app/src/main/assets/public/24-es5.js @@ -0,0 +1,492 @@ +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[24], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_radio, ion_radio_group */ + + /***/ + function node_modulesIonicCoreDistEsmIonRadio_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_radio", function () { + return Radio; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_radio_group", function () { + return RadioGroup; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\"\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}"; + var radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\"\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}"; + + var Radio = /*#__PURE__*/function () { + function Radio(hostRef) { + var _this = this; + + _classCallCheck(this, Radio); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.inputId = "ion-rb-".concat(radioButtonIds++); + this.radioGroup = null; + /** + * If `true`, the radio is selected. + */ + + this.checked = false; + /** + * The tabindex of the radio button. + * @internal + */ + + this.buttonTabindex = -1; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = this.inputId; + /** + * If `true`, the user cannot interact with the radio. + */ + + this.disabled = false; + + this.updateState = function () { + if (_this.radioGroup) { + _this.checked = _this.radioGroup.value === _this.value; + } + }; + + this.onFocus = function () { + _this.ionFocus.emit(); + }; + + this.onBlur = function () { + _this.ionBlur.emit(); + }; + } + /** @internal */ + + + _createClass(Radio, [{ + key: "setFocus", + value: function () { + var _setFocus = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(ev) { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + ev.stopPropagation(); + ev.preventDefault(); + this.el.focus(); + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function setFocus(_x) { + return _setFocus.apply(this, arguments); + } + + return setFocus; + }() + /** @internal */ + + }, { + key: "setButtonTabindex", + value: function () { + var _setButtonTabindex = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(value) { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.buttonTabindex = value; + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function setButtonTabindex(_x2) { + return _setButtonTabindex.apply(this, arguments); + } + + return setButtonTabindex; + }() + }, { + key: "connectedCallback", + value: function connectedCallback() { + if (this.value === undefined) { + this.value = this.inputId; + } + + var radioGroup = this.radioGroup = this.el.closest('ion-radio-group'); + + if (radioGroup) { + this.updateState(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(radioGroup, 'ionChange', this.updateState); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + var radioGroup = this.radioGroup; + + if (radioGroup) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(radioGroup, 'ionChange', this.updateState); + this.radioGroup = null; + } + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.emitStyle(); + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'radio-checked': this.checked, + 'interactive-disabled': this.disabled + }); + } + }, { + key: "render", + value: function render() { + var _Object2; + + var inputId = this.inputId, + disabled = this.disabled, + checked = this.checked, + color = this.color, + el = this.el, + buttonTabindex = this.buttonTabindex; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + var _Object = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["c"])(el, inputId), + label = _Object.label, + labelId = _Object.labelId, + labelText = _Object.labelText; + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-checked": "".concat(checked), + "aria-hidden": disabled ? 'true' : null, + "aria-labelledby": label ? labelId : null, + role: "radio", + tabindex: buttonTabindex, + onFocus: this.onFocus, + onBlur: this.onBlur, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(color, (_Object2 = {}, _defineProperty(_Object2, mode, true), _defineProperty(_Object2, 'in-item', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-item', el)), _defineProperty(_Object2, 'interactive', true), _defineProperty(_Object2, 'radio-checked', checked), _defineProperty(_Object2, 'radio-disabled', disabled), _Object2)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "radio-icon", + part: "container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "radio-inner", + part: "mark" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "radio-ripple" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("label", { + htmlFor: inputId + }, labelText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", { + type: "radio", + checked: checked, + disabled: disabled, + tabindex: "-1", + id: inputId + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "color": ["emitStyle"], + "checked": ["emitStyle"], + "disabled": ["emitStyle"] + }; + } + }]); + + return Radio; + }(); + + var radioButtonIds = 0; + Radio.style = { + ios: radioIosCss, + md: radioMdCss + }; + + var RadioGroup = /*#__PURE__*/function () { + function RadioGroup(hostRef) { + var _this2 = this; + + _classCallCheck(this, RadioGroup); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.inputId = "ion-rg-".concat(radioGroupIds++); + this.labelId = "".concat(this.inputId, "-lbl"); + /** + * If `true`, the radios can be deselected. + */ + + this.allowEmptySelection = false; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = this.inputId; + + this.setRadioTabindex = function (value) { + var radios = _this2.getRadios(); // Get the first radio that is not disabled and the checked one + + + var first = radios.find(function (radio) { + return !radio.disabled; + }); + var checked = radios.find(function (radio) { + return radio.value === value && !radio.disabled; + }); + + if (!first && !checked) { + return; + } // If an enabled checked radio exists, set it to be the focusable radio + // otherwise we default to focus the first radio + + + var focusable = checked || first; + + var _iterator = _createForOfIteratorHelper(radios), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var radio = _step.value; + var tabindex = radio === focusable ? 0 : -1; + radio.setButtonTabindex(tabindex); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + }; + + this.onClick = function (ev) { + ev.preventDefault(); + var selectedRadio = ev.target && ev.target.closest('ion-radio'); + + if (selectedRadio) { + var currentValue = _this2.value; + var newValue = selectedRadio.value; + + if (newValue !== currentValue) { + _this2.value = newValue; + } else if (_this2.allowEmptySelection) { + _this2.value = undefined; + } + } + }; + } + + _createClass(RadioGroup, [{ + key: "valueChanged", + value: function valueChanged(value) { + this.setRadioTabindex(value); + this.ionChange.emit({ + value: value + }); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + this.setRadioTabindex(this.value); + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + var header, label; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + // Get the list header if it exists and set the id + // this is used to set aria-labelledby + header = this.el.querySelector('ion-list-header') || this.el.querySelector('ion-item-divider'); + + if (header) { + label = this.label = header.querySelector('ion-label'); + + if (label) { + this.labelId = label.id = this.name + '-lbl'; + } + } + + case 2: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "getRadios", + value: function getRadios() { + return Array.from(this.el.querySelectorAll('ion-radio')); + } + }, { + key: "onKeydown", + value: function onKeydown(ev) { + var inSelectPopover = !!this.el.closest('ion-select-popover'); + + if (ev.target && !this.el.contains(ev.target)) { + return; + } // Get all radios inside of the radio group and then + // filter out disabled radios since we need to skip those + + + var radios = Array.from(this.el.querySelectorAll('ion-radio')).filter(function (radio) { + return !radio.disabled; + }); // Only move the radio if the current focus is in the radio group + + if (ev.target && radios.includes(ev.target)) { + var index = radios.findIndex(function (radio) { + return radio === ev.target; + }); + var current = radios[index]; + var next; // If hitting arrow down or arrow right, move to the next radio + // If we're on the last radio, move to the first radio + + if (['ArrowDown', 'ArrowRight'].includes(ev.code)) { + next = index === radios.length - 1 ? radios[0] : radios[index + 1]; + } // If hitting arrow up or arrow left, move to the previous radio + // If we're on the first radio, move to the last radio + + + if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) { + next = index === 0 ? radios[radios.length - 1] : radios[index - 1]; + } + + if (next && radios.includes(next)) { + next.setFocus(ev); + + if (!inSelectPopover) { + this.value = next.value; + } + } // Update the radio group value when a user presses the + // space bar on top of a selected radio (only applies + // to radios in a select popover) + + + if (['Space'].includes(ev.code)) { + this.value = current.value; + } + } + } + }, { + key: "render", + value: function render() { + var label = this.label, + labelId = this.labelId; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "radiogroup", + "aria-labelledby": label ? labelId : null, + onClick: this.onClick, + "class": mode + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "value": ["valueChanged"] + }; + } + }]); + + return RadioGroup; + }(); + + var radioGroupIds = 0; + /***/ + } +}]); +//# sourceMappingURL=24-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/24-es5.js.map b/android/app/src/main/assets/public/24-es5.js.map new file mode 100644 index 000000000..78d273870 --- /dev/null +++ b/android/app/src/main/assets/public/24-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js"],"names":["radioIosCss","radioMdCss","Radio","hostRef","ionStyle","ionFocus","ionBlur","inputId","radioButtonIds","radioGroup","checked","buttonTabindex","name","disabled","updateState","value","onFocus","emit","onBlur","ev","stopPropagation","preventDefault","el","focus","undefined","closest","emitStyle","color","mode","label","labelId","labelText","role","tabindex","part","htmlFor","type","id","style","ios","md","RadioGroup","ionChange","radioGroupIds","allowEmptySelection","setRadioTabindex","radios","getRadios","first","find","radio","focusable","setButtonTabindex","onClick","selectedRadio","target","currentValue","newValue","header","querySelector","Array","from","querySelectorAll","inSelectPopover","contains","filter","includes","index","findIndex","current","next","code","length","setFocus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,QAAMA,WAAW,GAAG,+3FAApB;AAEA,QAAMC,UAAU,GAAG,itGAAnB;;AAEA,QAAMC,KAAK;AACT,qBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,OAAL,GAAe,6DAAY,IAAZ,EAAkB,SAAlB,EAA6B,CAA7B,CAAf;AACA,aAAKC,OAAL,oBAAyBC,cAAc,EAAvC;AACA,aAAKC,UAAL,GAAkB,IAAlB;AACA;;;;AAGA,aAAKC,OAAL,GAAe,KAAf;AACA;;;;;AAIA,aAAKC,cAAL,GAAsB,CAAC,CAAvB;AACA;;;;AAGA,aAAKC,IAAL,GAAY,KAAKL,OAAjB;AACA;;;;AAGA,aAAKM,QAAL,GAAgB,KAAhB;;AACA,aAAKC,WAAL,GAAmB,YAAM;AACvB,cAAI,KAAI,CAACL,UAAT,EAAqB;AACnB,iBAAI,CAACC,OAAL,GAAe,KAAI,CAACD,UAAL,CAAgBM,KAAhB,KAA0B,KAAI,CAACA,KAA9C;AACD;AACF,SAJD;;AAKA,aAAKC,OAAL,GAAe,YAAM;AACnB,eAAI,CAACX,QAAL,CAAcY,IAAd;AACD,SAFD;;AAGA,aAAKC,MAAL,GAAc,YAAM;AAClB,eAAI,CAACZ,OAAL,CAAaW,IAAb;AACD,SAFD;AAGD;AACD;;;AArCS;AAAA;AAAA;AAAA,kFAsCT,iBAAeE,EAAf;AAAA;AAAA;AAAA;AAAA;AACEA,sBAAE,CAACC,eAAH;AACAD,sBAAE,CAACE,cAAH;AACA,yBAAKC,EAAL,CAAQC,KAAR;;AAHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAtCS;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA2CT;;AA3CS;AAAA;AAAA;AAAA,2FA4CT,kBAAwBR,KAAxB;AAAA;AAAA;AAAA;AAAA;AACE,yBAAKJ,cAAL,GAAsBI,KAAtB;;AADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA5CS;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,eA+CT,6BAAoB;AAClB,cAAI,KAAKA,KAAL,KAAeS,SAAnB,EAA8B;AAC5B,iBAAKT,KAAL,GAAa,KAAKR,OAAlB;AACD;;AACD,cAAME,UAAU,GAAG,KAAKA,UAAL,GAAkB,KAAKa,EAAL,CAAQG,OAAR,CAAgB,iBAAhB,CAArC;;AACA,cAAIhB,UAAJ,EAAgB;AACd,iBAAKK,WAAL;AACA,2EAAiBL,UAAjB,EAA6B,WAA7B,EAA0C,KAAKK,WAA/C;AACD;AACF;AAxDQ;AAAA;AAAA,eAyDT,gCAAuB;AACrB,cAAML,UAAU,GAAG,KAAKA,UAAxB;;AACA,cAAIA,UAAJ,EAAgB;AACd,2EAAoBA,UAApB,EAAgC,WAAhC,EAA6C,KAAKK,WAAlD;AACA,iBAAKL,UAAL,GAAkB,IAAlB;AACD;AACF;AA/DQ;AAAA;AAAA,eAgET,6BAAoB;AAClB,eAAKiB,SAAL;AACD;AAlEQ;AAAA;AAAA,eAmET,qBAAY;AACV,eAAKtB,QAAL,CAAca,IAAd,CAAmB;AACjB,6BAAiB,KAAKP,OADL;AAEjB,oCAAwB,KAAKG;AAFZ,WAAnB;AAID;AAxEQ;AAAA;AAAA,eAyET,kBAAS;AAAA;;AAAA,cACCN,OADD,GAC2D,IAD3D,CACCA,OADD;AAAA,cACUM,QADV,GAC2D,IAD3D,CACUA,QADV;AAAA,cACoBH,OADpB,GAC2D,IAD3D,CACoBA,OADpB;AAAA,cAC6BiB,KAD7B,GAC2D,IAD3D,CAC6BA,KAD7B;AAAA,cACoCL,EADpC,GAC2D,IAD3D,CACoCA,EADpC;AAAA,cACwCX,cADxC,GAC2D,IAD3D,CACwCA,cADxC;AAEP,cAAMiB,IAAI,GAAG,oEAAW,IAAX,CAAb;;AAFO,wBAG+B,+DAAaN,EAAb,EAAiBf,OAAjB,CAH/B;AAAA,cAGCsB,KAHD,WAGCA,KAHD;AAAA,cAGQC,OAHR,WAGQA,OAHR;AAAA,cAGiBC,SAHjB,WAGiBA,SAHjB;;AAIP,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,sCAAmBrB,OAAnB,CAAF;AAAgC,2BAAeG,QAAQ,GAAG,MAAH,GAAY,IAAnE;AAAyE,+BAAmBgB,KAAK,GAAGC,OAAH,GAAa,IAA9G;AAAoHE,gBAAI,EAAE,OAA1H;AAAmIC,oBAAQ,EAAEtB,cAA7I;AAA6JK,mBAAO,EAAE,KAAKA,OAA3K;AAAoLE,kBAAM,EAAE,KAAKA,MAAjM;AAAyM,qBAAO,6DAAmBS,KAAnB,4CAC3NC,IAD2N,EACpN,IADoN,6BAE5N,SAF4N,EAEjN,6DAAY,UAAZ,EAAwBN,EAAxB,CAFiN,6BAG5N,aAH4N,EAG7M,IAH6M,6BAI5N,eAJ4N,EAI3MZ,OAJ2M,6BAK5N,gBAL4N,EAK1MG,QAL0M;AAAhN,WAAR,EAMA,6DAAE,KAAF,EAAS;AAAE,qBAAO,YAAT;AAAuBqB,gBAAI,EAAE;AAA7B,WAAT,EAAqD,6DAAE,KAAF,EAAS;AAAE,qBAAO,aAAT;AAAwBA,gBAAI,EAAE;AAA9B,WAAT,CAArD,EAAuG,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,CAAvG,CANA,EAM6I,6DAAE,OAAF,EAAW;AAAEC,mBAAO,EAAE5B;AAAX,WAAX,EAAiCwB,SAAjC,CAN7I,EAM0L,6DAAE,OAAF,EAAW;AAAEK,gBAAI,EAAE,OAAR;AAAiB1B,mBAAO,EAAEA,OAA1B;AAAmCG,oBAAQ,EAAEA,QAA7C;AAAuDoB,oBAAQ,EAAE,IAAjE;AAAuEI,cAAE,EAAE9B;AAA3E,WAAX,CAN1L,CAAR;AAOD;AApFQ;AAAA;AAAA,aAqFT,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AArF5B;AAAA;AAAA,aAsFT,eAAsB;AAAE,iBAAO;AAC7B,qBAAS,CAAC,WAAD,CADoB;AAE7B,uBAAW,CAAC,WAAD,CAFkB;AAG7B,wBAAY,CAAC,WAAD;AAHiB,WAAP;AAIpB;AA1FK;;AAAA;AAAA,OAAX;;AA4FA,QAAIC,cAAc,GAAG,CAArB;AACAN,SAAK,CAACoC,KAAN,GAAc;AACZC,SAAG,EAAEvC,WADO;AAEZwC,QAAE,EAAEvC;AAFQ,KAAd;;AAKA,QAAMwC,UAAU;AACd,0BAAYtC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKuC,SAAL,GAAiB,6DAAY,IAAZ,EAAkB,WAAlB,EAA+B,CAA/B,CAAjB;AACA,aAAKnC,OAAL,oBAAyBoC,aAAa,EAAtC;AACA,aAAKb,OAAL,aAAkB,KAAKvB,OAAvB;AACA;;;;AAGA,aAAKqC,mBAAL,GAA2B,KAA3B;AACA;;;;AAGA,aAAKhC,IAAL,GAAY,KAAKL,OAAjB;;AACA,aAAKsC,gBAAL,GAAwB,UAAC9B,KAAD,EAAW;AACjC,cAAM+B,MAAM,GAAG,MAAI,CAACC,SAAL,EAAf,CADiC,CAEjC;;;AACA,cAAMC,KAAK,GAAGF,MAAM,CAACG,IAAP,CAAY,UAAAC,KAAK;AAAA,mBAAI,CAACA,KAAK,CAACrC,QAAX;AAAA,WAAjB,CAAd;AACA,cAAMH,OAAO,GAAGoC,MAAM,CAACG,IAAP,CAAY,UAAAC,KAAK;AAAA,mBAAKA,KAAK,CAACnC,KAAN,KAAgBA,KAAhB,IAAyB,CAACmC,KAAK,CAACrC,QAArC;AAAA,WAAjB,CAAhB;;AACA,cAAI,CAACmC,KAAD,IAAU,CAACtC,OAAf,EAAwB;AACtB;AACD,WAPgC,CAQjC;AACA;;;AACA,cAAMyC,SAAS,GAAGzC,OAAO,IAAIsC,KAA7B;;AAViC,qDAWbF,MAXa;AAAA;;AAAA;AAWjC,gEAA4B;AAAA,kBAAjBI,KAAiB;AAC1B,kBAAMjB,QAAQ,GAAGiB,KAAK,KAAKC,SAAV,GAAsB,CAAtB,GAA0B,CAAC,CAA5C;AACAD,mBAAK,CAACE,iBAAN,CAAwBnB,QAAxB;AACD;AAdgC;AAAA;AAAA;AAAA;AAAA;AAelC,SAfD;;AAgBA,aAAKoB,OAAL,GAAe,UAAClC,EAAD,EAAQ;AACrBA,YAAE,CAACE,cAAH;AACA,cAAMiC,aAAa,GAAGnC,EAAE,CAACoC,MAAH,IAAapC,EAAE,CAACoC,MAAH,CAAU9B,OAAV,CAAkB,WAAlB,CAAnC;;AACA,cAAI6B,aAAJ,EAAmB;AACjB,gBAAME,YAAY,GAAG,MAAI,CAACzC,KAA1B;AACA,gBAAM0C,QAAQ,GAAGH,aAAa,CAACvC,KAA/B;;AACA,gBAAI0C,QAAQ,KAAKD,YAAjB,EAA+B;AAC7B,oBAAI,CAACzC,KAAL,GAAa0C,QAAb;AACD,aAFD,MAGK,IAAI,MAAI,CAACb,mBAAT,EAA8B;AACjC,oBAAI,CAAC7B,KAAL,GAAaS,SAAb;AACD;AACF;AACF,SAbD;AAcD;;AA5Ca;AAAA;AAAA,eA6Cd,sBAAaT,KAAb,EAAoB;AAClB,eAAK8B,gBAAL,CAAsB9B,KAAtB;AACA,eAAK2B,SAAL,CAAezB,IAAf,CAAoB;AAAEF,iBAAK,EAALA;AAAF,WAApB;AACD;AAhDa;AAAA;AAAA,eAiDd,4BAAmB;AACjB,eAAK8B,gBAAL,CAAsB,KAAK9B,KAA3B;AACD;AAnDa;AAAA;AAAA;AAAA,2FAoDd;AAAA;AAAA;AAAA;AAAA;AAAA;AACE;AACA;AACM2C,0BAHR,GAGiB,KAAKpC,EAAL,CAAQqC,aAAR,CAAsB,iBAAtB,KAA4C,KAAKrC,EAAL,CAAQqC,aAAR,CAAsB,kBAAtB,CAH7D;;AAIE,wBAAID,MAAJ,EAAY;AACJ7B,2BADI,GACI,KAAKA,KAAL,GAAa6B,MAAM,CAACC,aAAP,CAAqB,WAArB,CADjB;;AAEV,0BAAI9B,KAAJ,EAAW;AACT,6BAAKC,OAAL,GAAeD,KAAK,CAACQ,EAAN,GAAW,KAAKzB,IAAL,GAAY,MAAtC;AACD;AACF;;AATH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WApDc;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,eA+Dd,qBAAY;AACV,iBAAOgD,KAAK,CAACC,IAAN,CAAW,KAAKvC,EAAL,CAAQwC,gBAAR,CAAyB,WAAzB,CAAX,CAAP;AACD;AAjEa;AAAA;AAAA,eAkEd,mBAAU3C,EAAV,EAAc;AACZ,cAAM4C,eAAe,GAAG,CAAC,CAAC,KAAKzC,EAAL,CAAQG,OAAR,CAAgB,oBAAhB,CAA1B;;AACA,cAAIN,EAAE,CAACoC,MAAH,IAAa,CAAC,KAAKjC,EAAL,CAAQ0C,QAAR,CAAiB7C,EAAE,CAACoC,MAApB,CAAlB,EAA+C;AAC7C;AACD,WAJW,CAKZ;AACA;;;AACA,cAAMT,MAAM,GAAGc,KAAK,CAACC,IAAN,CAAW,KAAKvC,EAAL,CAAQwC,gBAAR,CAAyB,WAAzB,CAAX,EAAkDG,MAAlD,CAAyD,UAAAf,KAAK;AAAA,mBAAI,CAACA,KAAK,CAACrC,QAAX;AAAA,WAA9D,CAAf,CAPY,CAQZ;;AACA,cAAIM,EAAE,CAACoC,MAAH,IAAaT,MAAM,CAACoB,QAAP,CAAgB/C,EAAE,CAACoC,MAAnB,CAAjB,EAA6C;AAC3C,gBAAMY,KAAK,GAAGrB,MAAM,CAACsB,SAAP,CAAiB,UAAAlB,KAAK;AAAA,qBAAIA,KAAK,KAAK/B,EAAE,CAACoC,MAAjB;AAAA,aAAtB,CAAd;AACA,gBAAMc,OAAO,GAAGvB,MAAM,CAACqB,KAAD,CAAtB;AACA,gBAAIG,IAAJ,CAH2C,CAI3C;AACA;;AACA,gBAAI,CAAC,WAAD,EAAc,YAAd,EAA4BJ,QAA5B,CAAqC/C,EAAE,CAACoD,IAAxC,CAAJ,EAAmD;AACjDD,kBAAI,GAAIH,KAAK,KAAKrB,MAAM,CAAC0B,MAAP,GAAgB,CAA3B,GACH1B,MAAM,CAAC,CAAD,CADH,GAEHA,MAAM,CAACqB,KAAK,GAAG,CAAT,CAFV;AAGD,aAV0C,CAW3C;AACA;;;AACA,gBAAI,CAAC,SAAD,EAAY,WAAZ,EAAyBD,QAAzB,CAAkC/C,EAAE,CAACoD,IAArC,CAAJ,EAAgD;AAC9CD,kBAAI,GAAIH,KAAK,KAAK,CAAX,GACHrB,MAAM,CAACA,MAAM,CAAC0B,MAAP,GAAgB,CAAjB,CADH,GAEH1B,MAAM,CAACqB,KAAK,GAAG,CAAT,CAFV;AAGD;;AACD,gBAAIG,IAAI,IAAIxB,MAAM,CAACoB,QAAP,CAAgBI,IAAhB,CAAZ,EAAmC;AACjCA,kBAAI,CAACG,QAAL,CAActD,EAAd;;AACA,kBAAI,CAAC4C,eAAL,EAAsB;AACpB,qBAAKhD,KAAL,GAAauD,IAAI,CAACvD,KAAlB;AACD;AACF,aAvB0C,CAwB3C;AACA;AACA;;;AACA,gBAAI,CAAC,OAAD,EAAUmD,QAAV,CAAmB/C,EAAE,CAACoD,IAAtB,CAAJ,EAAiC;AAC/B,mBAAKxD,KAAL,GAAasD,OAAO,CAACtD,KAArB;AACD;AACF;AACF;AA1Ga;AAAA;AAAA,eA2Gd,kBAAS;AAAA,cACCc,KADD,GACoB,IADpB,CACCA,KADD;AAAA,cACQC,OADR,GACoB,IADpB,CACQA,OADR;AAEP,cAAMF,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAEI,gBAAI,EAAE,YAAR;AAAsB,+BAAmBH,KAAK,GAAGC,OAAH,GAAa,IAA3D;AAAiEuB,mBAAO,EAAE,KAAKA,OAA/E;AAAwF,qBAAOzB;AAA/F,WAAR,CAAR;AACD;AA/Ga;AAAA;AAAA,aAgHd,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AAhHvB;AAAA;AAAA,aAiHd,eAAsB;AAAE,iBAAO;AAC7B,qBAAS,CAAC,cAAD;AADoB,WAAP;AAEpB;AAnHU;;AAAA;AAAA,OAAhB;;AAqHA,QAAIe,aAAa,GAAG,CAApB","file":"24-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as addEventListener, b as removeEventListener, c as getAriaLabel } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst radioIosCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}\";\n\nconst radioMdCss = \":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\\\"\\\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}\";\n\nconst Radio = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.inputId = `ion-rb-${radioButtonIds++}`;\n this.radioGroup = null;\n /**\n * If `true`, the radio is selected.\n */\n this.checked = false;\n /**\n * The tabindex of the radio button.\n * @internal\n */\n this.buttonTabindex = -1;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot interact with the radio.\n */\n this.disabled = false;\n this.updateState = () => {\n if (this.radioGroup) {\n this.checked = this.radioGroup.value === this.value;\n }\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n /** @internal */\n async setFocus(ev) {\n ev.stopPropagation();\n ev.preventDefault();\n this.el.focus();\n }\n /** @internal */\n async setButtonTabindex(value) {\n this.buttonTabindex = value;\n }\n connectedCallback() {\n if (this.value === undefined) {\n this.value = this.inputId;\n }\n const radioGroup = this.radioGroup = this.el.closest('ion-radio-group');\n if (radioGroup) {\n this.updateState();\n addEventListener(radioGroup, 'ionChange', this.updateState);\n }\n }\n disconnectedCallback() {\n const radioGroup = this.radioGroup;\n if (radioGroup) {\n removeEventListener(radioGroup, 'ionChange', this.updateState);\n this.radioGroup = null;\n }\n }\n componentWillLoad() {\n this.emitStyle();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'radio-checked': this.checked,\n 'interactive-disabled': this.disabled,\n });\n }\n render() {\n const { inputId, disabled, checked, color, el, buttonTabindex } = this;\n const mode = getIonMode(this);\n const { label, labelId, labelText } = getAriaLabel(el, inputId);\n return (h(Host, { \"aria-checked\": `${checked}`, \"aria-hidden\": disabled ? 'true' : null, \"aria-labelledby\": label ? labelId : null, role: \"radio\", tabindex: buttonTabindex, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'interactive': true,\n 'radio-checked': checked,\n 'radio-disabled': disabled,\n }) }, h(\"div\", { class: \"radio-icon\", part: \"container\" }, h(\"div\", { class: \"radio-inner\", part: \"mark\" }), h(\"div\", { class: \"radio-ripple\" })), h(\"label\", { htmlFor: inputId }, labelText), h(\"input\", { type: \"radio\", checked: checked, disabled: disabled, tabindex: \"-1\", id: inputId })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"emitStyle\"],\n \"checked\": [\"emitStyle\"],\n \"disabled\": [\"emitStyle\"]\n }; }\n};\nlet radioButtonIds = 0;\nRadio.style = {\n ios: radioIosCss,\n md: radioMdCss\n};\n\nconst RadioGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.inputId = `ion-rg-${radioGroupIds++}`;\n this.labelId = `${this.inputId}-lbl`;\n /**\n * If `true`, the radios can be deselected.\n */\n this.allowEmptySelection = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n this.setRadioTabindex = (value) => {\n const radios = this.getRadios();\n // Get the first radio that is not disabled and the checked one\n const first = radios.find(radio => !radio.disabled);\n const checked = radios.find(radio => (radio.value === value && !radio.disabled));\n if (!first && !checked) {\n return;\n }\n // If an enabled checked radio exists, set it to be the focusable radio\n // otherwise we default to focus the first radio\n const focusable = checked || first;\n for (const radio of radios) {\n const tabindex = radio === focusable ? 0 : -1;\n radio.setButtonTabindex(tabindex);\n }\n };\n this.onClick = (ev) => {\n ev.preventDefault();\n const selectedRadio = ev.target && ev.target.closest('ion-radio');\n if (selectedRadio) {\n const currentValue = this.value;\n const newValue = selectedRadio.value;\n if (newValue !== currentValue) {\n this.value = newValue;\n }\n else if (this.allowEmptySelection) {\n this.value = undefined;\n }\n }\n };\n }\n valueChanged(value) {\n this.setRadioTabindex(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setRadioTabindex(this.value);\n }\n async connectedCallback() {\n // Get the list header if it exists and set the id\n // this is used to set aria-labelledby\n const header = this.el.querySelector('ion-list-header') || this.el.querySelector('ion-item-divider');\n if (header) {\n const label = this.label = header.querySelector('ion-label');\n if (label) {\n this.labelId = label.id = this.name + '-lbl';\n }\n }\n }\n getRadios() {\n return Array.from(this.el.querySelectorAll('ion-radio'));\n }\n onKeydown(ev) {\n const inSelectPopover = !!this.el.closest('ion-select-popover');\n if (ev.target && !this.el.contains(ev.target)) {\n return;\n }\n // Get all radios inside of the radio group and then\n // filter out disabled radios since we need to skip those\n const radios = Array.from(this.el.querySelectorAll('ion-radio')).filter(radio => !radio.disabled);\n // Only move the radio if the current focus is in the radio group\n if (ev.target && radios.includes(ev.target)) {\n const index = radios.findIndex(radio => radio === ev.target);\n const current = radios[index];\n let next;\n // If hitting arrow down or arrow right, move to the next radio\n // If we're on the last radio, move to the first radio\n if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {\n next = (index === radios.length - 1)\n ? radios[0]\n : radios[index + 1];\n }\n // If hitting arrow up or arrow left, move to the previous radio\n // If we're on the first radio, move to the last radio\n if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {\n next = (index === 0)\n ? radios[radios.length - 1]\n : radios[index - 1];\n }\n if (next && radios.includes(next)) {\n next.setFocus(ev);\n if (!inSelectPopover) {\n this.value = next.value;\n }\n }\n // Update the radio group value when a user presses the\n // space bar on top of a selected radio (only applies\n // to radios in a select popover)\n if (['Space'].includes(ev.code)) {\n this.value = current.value;\n }\n }\n }\n render() {\n const { label, labelId } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"radiogroup\", \"aria-labelledby\": label ? labelId : null, onClick: this.onClick, class: mode }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"value\": [\"valueChanged\"]\n }; }\n};\nlet radioGroupIds = 0;\n\nexport { Radio as ion_radio, RadioGroup as ion_radio_group };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/25-es2015.js b/android/app/src/main/assets/public/25-es2015.js new file mode 100644 index 000000000..a20e480f2 --- /dev/null +++ b/android/app/src/main/assets/public/25-es2015.js @@ -0,0 +1,434 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[25],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-range.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-range.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_range */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_range", function() { return Range; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}"; + +const rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@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:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}"; + +const Range = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.didLoad = false; + this.noUpdate = false; + this.hasFocus = false; + this.ratioA = 0; + this.ratioB = 0; + /** + * How long, in milliseconds, to wait to trigger the + * `ionChange` event after each change in the range value. + * This also impacts form bindings such as `ngModel` or `v-model`. + */ + this.debounce = 0; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = ''; + /** + * Show two knobs. + */ + this.dualKnobs = false; + /** + * Minimum integer value of the range. + */ + this.min = 0; + /** + * Maximum integer value of the range. + */ + this.max = 100; + /** + * If `true`, a pin with integer value is shown when the knob + * is pressed. + */ + this.pin = false; + /** + * If `true`, the knob snaps to tick marks evenly spaced based + * on the step property value. + */ + this.snaps = false; + /** + * Specifies the value granularity. + */ + this.step = 1; + /** + * If `true`, tick marks are displayed based on the step value. + * Only applies when `snaps` is `true`. + */ + this.ticks = true; + /** + * If `true`, the user cannot interact with the range. + */ + this.disabled = false; + /** + * the value of the range. + */ + this.value = 0; + this.clampBounds = (value) => { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(this.min, value, this.max); + }; + this.ensureValueInBounds = (value) => { + if (this.dualKnobs) { + return { + lower: this.clampBounds(value.lower), + upper: this.clampBounds(value.upper) + }; + } + else { + return this.clampBounds(value); + } + }; + this.setupGesture = async () => { + const rangeSlider = this.rangeSlider; + if (rangeSlider) { + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: rangeSlider, + gestureName: 'range', + gesturePriority: 100, + threshold: 0, + onStart: ev => this.onStart(ev), + onMove: ev => this.onMove(ev), + onEnd: ev => this.onEnd(ev), + }); + this.gesture.enable(!this.disabled); + } + }; + this.handleKeyboard = (knob, isIncrease) => { + let step = this.step; + step = step > 0 ? step : 1; + step = step / (this.max - this.min); + if (!isIncrease) { + step *= -1; + } + if (knob === 'A') { + this.ratioA = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, this.ratioA + step, 1); + } + else { + this.ratioB = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, this.ratioB + step, 1); + } + this.updateValue(); + }; + this.onBlur = () => { + if (this.hasFocus) { + this.hasFocus = false; + this.ionBlur.emit(); + this.emitStyle(); + } + }; + this.onFocus = () => { + if (!this.hasFocus) { + this.hasFocus = true; + this.ionFocus.emit(); + this.emitStyle(); + } + }; + } + debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + minChanged() { + if (!this.noUpdate) { + this.updateRatio(); + } + } + maxChanged() { + if (!this.noUpdate) { + this.updateRatio(); + } + } + disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + this.emitStyle(); + } + valueChanged(value) { + if (!this.noUpdate) { + this.updateRatio(); + } + value = this.ensureValueInBounds(value); + this.ionChange.emit({ value }); + } + componentDidLoad() { + this.setupGesture(); + this.didLoad = true; + } + connectedCallback() { + this.updateRatio(); + this.debounceChanged(); + this.disabledChanged(); + /** + * If we have not yet rendered + * ion-range, then rangeSlider is not defined. + * But if we are moving ion-range via appendChild, + * then rangeSlider will be defined. + */ + if (this.didLoad) { + this.setupGesture(); + } + } + disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + getValue() { + const value = this.value || 0; + if (this.dualKnobs) { + if (typeof value === 'object') { + return value; + } + return { + lower: 0, + upper: value + }; + } + else { + if (typeof value === 'object') { + return value.upper; + } + return value; + } + } + emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'interactive-disabled': this.disabled + }); + } + onStart(detail) { + const rect = this.rect = this.rangeSlider.getBoundingClientRect(); + const currentX = detail.currentX; + // figure out which knob they started closer to + let ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (currentX - rect.left) / rect.width, 1); + if (document.dir === 'rtl') { + ratio = 1 - ratio; + } + this.pressedKnob = + !this.dualKnobs || + Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) + ? 'A' + : 'B'; + this.setFocus(this.pressedKnob); + // update the active knob's position + this.update(currentX); + } + onMove(detail) { + this.update(detail.currentX); + } + onEnd(detail) { + this.update(detail.currentX); + this.pressedKnob = undefined; + } + update(currentX) { + // figure out where the pointer is currently at + // update the knob being interacted with + const rect = this.rect; + let ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (currentX - rect.left) / rect.width, 1); + if (document.dir === 'rtl') { + ratio = 1 - ratio; + } + if (this.snaps) { + // snaps the ratio to the current value + ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max); + } + // update which knob is pressed + if (this.pressedKnob === 'A') { + this.ratioA = ratio; + } + else { + this.ratioB = ratio; + } + // Update input value + this.updateValue(); + } + get valA() { + return ratioToValue(this.ratioA, this.min, this.max, this.step); + } + get valB() { + return ratioToValue(this.ratioB, this.min, this.max, this.step); + } + get ratioLower() { + if (this.dualKnobs) { + return Math.min(this.ratioA, this.ratioB); + } + return 0; + } + get ratioUpper() { + if (this.dualKnobs) { + return Math.max(this.ratioA, this.ratioB); + } + return this.ratioA; + } + updateRatio() { + const value = this.getValue(); + const { min, max } = this; + if (this.dualKnobs) { + this.ratioA = valueToRatio(value.lower, min, max); + this.ratioB = valueToRatio(value.upper, min, max); + } + else { + this.ratioA = valueToRatio(value, min, max); + } + } + updateValue() { + this.noUpdate = true; + const { valA, valB } = this; + this.value = !this.dualKnobs + ? valA + : { + lower: Math.min(valA, valB), + upper: Math.max(valA, valB) + }; + this.noUpdate = false; + } + setFocus(knob) { + if (this.el.shadowRoot) { + const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b'); + if (knobEl) { + knobEl.focus(); + } + } + } + render() { + const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const barStart = `${ratioLower * 100}%`; + const barEnd = `${100 - ratioUpper * 100}%`; + const doc = document; + const isRTL = doc.dir === 'rtl'; + const start = isRTL ? 'right' : 'left'; + const end = isRTL ? 'left' : 'right'; + const tickStyle = (tick) => { + return { + [start]: tick[start] + }; + }; + const barStyle = { + [start]: barStart, + [end]: barEnd + }; + const ticks = []; + if (this.snaps && this.ticks) { + for (let value = min; value <= max; value += step) { + const ratio = valueToRatio(value, min, max); + const tick = { + ratio, + active: ratio >= ratioLower && ratio <= ratioUpper, + }; + tick[start] = `${ratio * 100}%`; + ticks.push(tick); + } + } + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, this.name, JSON.stringify(this.getValue()), disabled); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onFocusin: this.onFocus, onFocusout: this.onBlur, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'in-item': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-item', el), + 'range-disabled': disabled, + 'range-pressed': pressedKnob !== undefined, + 'range-has-pin': pin + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "start" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "range-slider", ref: rangeEl => this.rangeSlider = rangeEl }, ticks.map(tick => (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { style: tickStyle(tick), role: "presentation", class: { + 'range-tick': true, + 'range-tick-active': tick.active + }, part: tick.active ? 'tick-active' : 'tick' }))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "range-bar", role: "presentation", part: "bar" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "range-bar range-bar-active", role: "presentation", style: barStyle, part: "bar-active" }), renderKnob(isRTL, { + knob: 'A', + pressed: pressedKnob === 'A', + value: this.valA, + ratio: this.ratioA, + pin, + disabled, + handleKeyboard, + min, + max + }), this.dualKnobs && renderKnob(isRTL, { + knob: 'B', + pressed: pressedKnob === 'B', + value: this.valB, + ratio: this.ratioB, + pin, + disabled, + handleKeyboard, + min, + max + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "end" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "debounce": ["debounceChanged"], + "min": ["minChanged"], + "max": ["maxChanged"], + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; } +}; +const renderKnob = (isRTL, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard }) => { + const start = isRTL ? 'right' : 'left'; + const knobStyle = () => { + const style = {}; + style[start] = `${ratio * 100}%`; + return style; + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { onKeyDown: (ev) => { + const key = ev.key; + if (key === 'ArrowLeft' || key === 'ArrowDown') { + handleKeyboard(knob, false); + ev.preventDefault(); + ev.stopPropagation(); + } + else if (key === 'ArrowRight' || key === 'ArrowUp') { + handleKeyboard(knob, true); + ev.preventDefault(); + ev.stopPropagation(); + } + }, class: { + 'range-knob-handle': true, + 'range-knob-a': knob === 'A', + 'range-knob-b': knob === 'B', + 'range-knob-pressed': pressed, + 'range-knob-min': value === min, + 'range-knob-max': value === max + }, style: knobStyle(), role: "slider", tabindex: disabled ? -1 : 0, "aria-valuemin": min, "aria-valuemax": max, "aria-disabled": disabled ? 'true' : null, "aria-valuenow": value }, pin && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "range-pin", role: "presentation", part: "pin" }, Math.round(value)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "range-knob", role: "presentation", part: "knob" }))); +}; +const ratioToValue = (ratio, min, max, step) => { + let value = (max - min) * ratio; + if (step > 0) { + value = Math.round(value / step) * step + min; + } + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(min, value, max); +}; +const valueToRatio = (value, min, max) => { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (value - min) / (max - min), 1); +}; +Range.style = { + ios: rangeIosCss, + md: rangeMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=25-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/25-es2015.js.map b/android/app/src/main/assets/public/25-es2015.js.map new file mode 100644 index 000000000..b0017929b --- /dev/null +++ b/android/app/src/main/assets/public/25-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-range.entry.js"],"names":[],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8DAAK;AAC3B;AACA;AACA,sBAAsB,8DAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8DAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gBAAgB,8DAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,8DAAK;AACrB;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,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yFAAyF;AACpG,iBAAiB,mEAAU;AAC3B,wBAAwB,iBAAiB;AACzC,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA,IAAI,8DAAiB;AACrB,YAAY,4DAAC,CAAC,oDAAI,GAAG,0DAA0D,4DAAkB;AACjG;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA,OAAO,GAAG,EAAE,4DAAC,UAAU,gBAAgB,GAAG,4DAAC,SAAS,oEAAoE,qBAAqB,4DAAC,SAAS;AACvJ;AACA;AACA,OAAO,8CAA8C,KAAK,4DAAC,SAAS,wDAAwD,GAAG,4DAAC,SAAS,iGAAiG;AAC1O;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,4DAAC,UAAU,cAAc;AAClC;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,4BAA4B,uEAAuE;AACnG;AACA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA,UAAU,4DAAC,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,kLAAkL,SAAS,4DAAC,SAAS,wDAAwD,sBAAsB,4DAAC,SAAS,0DAA0D;AAC5V;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,8DAAK;AACd;AACA;AACA,SAAS,8DAAK;AACd;AACA;AACA;AACA;AACA;;AAE8B","file":"25-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp, e as debounceEvent, d as renderHiddenInput } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst rangeIosCss = \":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}\";\n\nconst rangeMdCss = \":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@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:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\\\"\\\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}\";\n\nconst Range = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.didLoad = false;\n this.noUpdate = false;\n this.hasFocus = false;\n this.ratioA = 0;\n this.ratioB = 0;\n /**\n * How long, in milliseconds, to wait to trigger the\n * `ionChange` event after each change in the range value.\n * This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 0;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = '';\n /**\n * Show two knobs.\n */\n this.dualKnobs = false;\n /**\n * Minimum integer value of the range.\n */\n this.min = 0;\n /**\n * Maximum integer value of the range.\n */\n this.max = 100;\n /**\n * If `true`, a pin with integer value is shown when the knob\n * is pressed.\n */\n this.pin = false;\n /**\n * If `true`, the knob snaps to tick marks evenly spaced based\n * on the step property value.\n */\n this.snaps = false;\n /**\n * Specifies the value granularity.\n */\n this.step = 1;\n /**\n * If `true`, tick marks are displayed based on the step value.\n * Only applies when `snaps` is `true`.\n */\n this.ticks = true;\n /**\n * If `true`, the user cannot interact with the range.\n */\n this.disabled = false;\n /**\n * the value of the range.\n */\n this.value = 0;\n this.clampBounds = (value) => {\n return clamp(this.min, value, this.max);\n };\n this.ensureValueInBounds = (value) => {\n if (this.dualKnobs) {\n return {\n lower: this.clampBounds(value.lower),\n upper: this.clampBounds(value.upper)\n };\n }\n else {\n return this.clampBounds(value);\n }\n };\n this.setupGesture = async () => {\n const rangeSlider = this.rangeSlider;\n if (rangeSlider) {\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: rangeSlider,\n gestureName: 'range',\n gesturePriority: 100,\n threshold: 0,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gesture.enable(!this.disabled);\n }\n };\n this.handleKeyboard = (knob, isIncrease) => {\n let step = this.step;\n step = step > 0 ? step : 1;\n step = step / (this.max - this.min);\n if (!isIncrease) {\n step *= -1;\n }\n if (knob === 'A') {\n this.ratioA = clamp(0, this.ratioA + step, 1);\n }\n else {\n this.ratioB = clamp(0, this.ratioB + step, 1);\n }\n this.updateValue();\n };\n this.onBlur = () => {\n if (this.hasFocus) {\n this.hasFocus = false;\n this.ionBlur.emit();\n this.emitStyle();\n }\n };\n this.onFocus = () => {\n if (!this.hasFocus) {\n this.hasFocus = true;\n this.ionFocus.emit();\n this.emitStyle();\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n minChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n maxChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n this.emitStyle();\n }\n valueChanged(value) {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n value = this.ensureValueInBounds(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setupGesture();\n this.didLoad = true;\n }\n connectedCallback() {\n this.updateRatio();\n this.debounceChanged();\n this.disabledChanged();\n /**\n * If we have not yet rendered\n * ion-range, then rangeSlider is not defined.\n * But if we are moving ion-range via appendChild,\n * then rangeSlider will be defined.\n */\n if (this.didLoad) {\n this.setupGesture();\n }\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n getValue() {\n const value = this.value || 0;\n if (this.dualKnobs) {\n if (typeof value === 'object') {\n return value;\n }\n return {\n lower: 0,\n upper: value\n };\n }\n else {\n if (typeof value === 'object') {\n return value.upper;\n }\n return value;\n }\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'interactive-disabled': this.disabled\n });\n }\n onStart(detail) {\n const rect = this.rect = this.rangeSlider.getBoundingClientRect();\n const currentX = detail.currentX;\n // figure out which knob they started closer to\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n this.pressedKnob =\n !this.dualKnobs ||\n Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio)\n ? 'A'\n : 'B';\n this.setFocus(this.pressedKnob);\n // update the active knob's position\n this.update(currentX);\n }\n onMove(detail) {\n this.update(detail.currentX);\n }\n onEnd(detail) {\n this.update(detail.currentX);\n this.pressedKnob = undefined;\n }\n update(currentX) {\n // figure out where the pointer is currently at\n // update the knob being interacted with\n const rect = this.rect;\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n if (this.snaps) {\n // snaps the ratio to the current value\n ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);\n }\n // update which knob is pressed\n if (this.pressedKnob === 'A') {\n this.ratioA = ratio;\n }\n else {\n this.ratioB = ratio;\n }\n // Update input value\n this.updateValue();\n }\n get valA() {\n return ratioToValue(this.ratioA, this.min, this.max, this.step);\n }\n get valB() {\n return ratioToValue(this.ratioB, this.min, this.max, this.step);\n }\n get ratioLower() {\n if (this.dualKnobs) {\n return Math.min(this.ratioA, this.ratioB);\n }\n return 0;\n }\n get ratioUpper() {\n if (this.dualKnobs) {\n return Math.max(this.ratioA, this.ratioB);\n }\n return this.ratioA;\n }\n updateRatio() {\n const value = this.getValue();\n const { min, max } = this;\n if (this.dualKnobs) {\n this.ratioA = valueToRatio(value.lower, min, max);\n this.ratioB = valueToRatio(value.upper, min, max);\n }\n else {\n this.ratioA = valueToRatio(value, min, max);\n }\n }\n updateValue() {\n this.noUpdate = true;\n const { valA, valB } = this;\n this.value = !this.dualKnobs\n ? valA\n : {\n lower: Math.min(valA, valB),\n upper: Math.max(valA, valB)\n };\n this.noUpdate = false;\n }\n setFocus(knob) {\n if (this.el.shadowRoot) {\n const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');\n if (knobEl) {\n knobEl.focus();\n }\n }\n }\n render() {\n const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper } = this;\n const mode = getIonMode(this);\n const barStart = `${ratioLower * 100}%`;\n const barEnd = `${100 - ratioUpper * 100}%`;\n const doc = document;\n const isRTL = doc.dir === 'rtl';\n const start = isRTL ? 'right' : 'left';\n const end = isRTL ? 'left' : 'right';\n const tickStyle = (tick) => {\n return {\n [start]: tick[start]\n };\n };\n const barStyle = {\n [start]: barStart,\n [end]: barEnd\n };\n const ticks = [];\n if (this.snaps && this.ticks) {\n for (let value = min; value <= max; value += step) {\n const ratio = valueToRatio(value, min, max);\n const tick = {\n ratio,\n active: ratio >= ratioLower && ratio <= ratioUpper,\n };\n tick[start] = `${ratio * 100}%`;\n ticks.push(tick);\n }\n }\n renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);\n return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'range-disabled': disabled,\n 'range-pressed': pressedKnob !== undefined,\n 'range-has-pin': pin\n }) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"range-slider\", ref: rangeEl => this.rangeSlider = rangeEl }, ticks.map(tick => (h(\"div\", { style: tickStyle(tick), role: \"presentation\", class: {\n 'range-tick': true,\n 'range-tick-active': tick.active\n }, part: tick.active ? 'tick-active' : 'tick' }))), h(\"div\", { class: \"range-bar\", role: \"presentation\", part: \"bar\" }), h(\"div\", { class: \"range-bar range-bar-active\", role: \"presentation\", style: barStyle, part: \"bar-active\" }), renderKnob(isRTL, {\n knob: 'A',\n pressed: pressedKnob === 'A',\n value: this.valA,\n ratio: this.ratioA,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n }), this.dualKnobs && renderKnob(isRTL, {\n knob: 'B',\n pressed: pressedKnob === 'B',\n value: this.valB,\n ratio: this.ratioB,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n })), h(\"slot\", { name: \"end\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"min\": [\"minChanged\"],\n \"max\": [\"maxChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst renderKnob = (isRTL, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard }) => {\n const start = isRTL ? 'right' : 'left';\n const knobStyle = () => {\n const style = {};\n style[start] = `${ratio * 100}%`;\n return style;\n };\n return (h(\"div\", { onKeyDown: (ev) => {\n const key = ev.key;\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n handleKeyboard(knob, false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (key === 'ArrowRight' || key === 'ArrowUp') {\n handleKeyboard(knob, true);\n ev.preventDefault();\n ev.stopPropagation();\n }\n }, class: {\n 'range-knob-handle': true,\n 'range-knob-a': knob === 'A',\n 'range-knob-b': knob === 'B',\n 'range-knob-pressed': pressed,\n 'range-knob-min': value === min,\n 'range-knob-max': value === max\n }, style: knobStyle(), role: \"slider\", tabindex: disabled ? -1 : 0, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-disabled\": disabled ? 'true' : null, \"aria-valuenow\": value }, pin && h(\"div\", { class: \"range-pin\", role: \"presentation\", part: \"pin\" }, Math.round(value)), h(\"div\", { class: \"range-knob\", role: \"presentation\", part: \"knob\" })));\n};\nconst ratioToValue = (ratio, min, max, step) => {\n let value = (max - min) * ratio;\n if (step > 0) {\n value = Math.round(value / step) * step + min;\n }\n return clamp(min, value, max);\n};\nconst valueToRatio = (value, min, max) => {\n return clamp(0, (value - min) / (max - min), 1);\n};\nRange.style = {\n ios: rangeIosCss,\n md: rangeMdCss\n};\n\nexport { Range as ion_range };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/25-es5.js b/android/app/src/main/assets/public/25-es5.js new file mode 100644 index 000000000..e5c9f116e --- /dev/null +++ b/android/app/src/main/assets/public/25-es5.js @@ -0,0 +1,657 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[25], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-range.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-range.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_range */ + + /***/ + function node_modulesIonicCoreDistEsmIonRangeEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_range", function () { + return Range; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}"; + var rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@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:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}"; + + var Range = /*#__PURE__*/function () { + function Range(hostRef) { + var _this = this; + + _classCallCheck(this, Range); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.didLoad = false; + this.noUpdate = false; + this.hasFocus = false; + this.ratioA = 0; + this.ratioB = 0; + /** + * How long, in milliseconds, to wait to trigger the + * `ionChange` event after each change in the range value. + * This also impacts form bindings such as `ngModel` or `v-model`. + */ + + this.debounce = 0; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = ''; + /** + * Show two knobs. + */ + + this.dualKnobs = false; + /** + * Minimum integer value of the range. + */ + + this.min = 0; + /** + * Maximum integer value of the range. + */ + + this.max = 100; + /** + * If `true`, a pin with integer value is shown when the knob + * is pressed. + */ + + this.pin = false; + /** + * If `true`, the knob snaps to tick marks evenly spaced based + * on the step property value. + */ + + this.snaps = false; + /** + * Specifies the value granularity. + */ + + this.step = 1; + /** + * If `true`, tick marks are displayed based on the step value. + * Only applies when `snaps` is `true`. + */ + + this.ticks = true; + /** + * If `true`, the user cannot interact with the range. + */ + + this.disabled = false; + /** + * the value of the range. + */ + + this.value = 0; + + this.clampBounds = function (value) { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(_this.min, value, _this.max); + }; + + this.ensureValueInBounds = function (value) { + if (_this.dualKnobs) { + return { + lower: _this.clampBounds(value.lower), + upper: _this.clampBounds(value.upper) + }; + } else { + return _this.clampBounds(value); + } + }; + + this.setupGesture = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var rangeSlider; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + rangeSlider = _this.rangeSlider; + + if (!rangeSlider) { + _context.next = 6; + break; + } + + _context.next = 4; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 4: + _this.gesture = _context.sent.createGesture({ + el: rangeSlider, + gestureName: 'range', + gesturePriority: 100, + threshold: 0, + onStart: function onStart(ev) { + return _this.onStart(ev); + }, + onMove: function onMove(ev) { + return _this.onMove(ev); + }, + onEnd: function onEnd(ev) { + return _this.onEnd(ev); + } + }); + + _this.gesture.enable(!_this.disabled); + + case 6: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + this.handleKeyboard = function (knob, isIncrease) { + var step = _this.step; + step = step > 0 ? step : 1; + step = step / (_this.max - _this.min); + + if (!isIncrease) { + step *= -1; + } + + if (knob === 'A') { + _this.ratioA = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, _this.ratioA + step, 1); + } else { + _this.ratioB = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, _this.ratioB + step, 1); + } + + _this.updateValue(); + }; + + this.onBlur = function () { + if (_this.hasFocus) { + _this.hasFocus = false; + + _this.ionBlur.emit(); + + _this.emitStyle(); + } + }; + + this.onFocus = function () { + if (!_this.hasFocus) { + _this.hasFocus = true; + + _this.ionFocus.emit(); + + _this.emitStyle(); + } + }; + } + + _createClass(Range, [{ + key: "debounceChanged", + value: function debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + }, { + key: "minChanged", + value: function minChanged() { + if (!this.noUpdate) { + this.updateRatio(); + } + } + }, { + key: "maxChanged", + value: function maxChanged() { + if (!this.noUpdate) { + this.updateRatio(); + } + } + }, { + key: "disabledChanged", + value: function disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + + this.emitStyle(); + } + }, { + key: "valueChanged", + value: function valueChanged(value) { + if (!this.noUpdate) { + this.updateRatio(); + } + + value = this.ensureValueInBounds(value); + this.ionChange.emit({ + value: value + }); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + this.setupGesture(); + this.didLoad = true; + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.updateRatio(); + this.debounceChanged(); + this.disabledChanged(); + /** + * If we have not yet rendered + * ion-range, then rangeSlider is not defined. + * But if we are moving ion-range via appendChild, + * then rangeSlider will be defined. + */ + + if (this.didLoad) { + this.setupGesture(); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + }, { + key: "getValue", + value: function getValue() { + var value = this.value || 0; + + if (this.dualKnobs) { + if (typeof value === 'object') { + return value; + } + + return { + lower: 0, + upper: value + }; + } else { + if (typeof value === 'object') { + return value.upper; + } + + return value; + } + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'interactive-disabled': this.disabled + }); + } + }, { + key: "onStart", + value: function onStart(detail) { + var rect = this.rect = this.rangeSlider.getBoundingClientRect(); + var currentX = detail.currentX; // figure out which knob they started closer to + + var ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (currentX - rect.left) / rect.width, 1); + + if (document.dir === 'rtl') { + ratio = 1 - ratio; + } + + this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B'; + this.setFocus(this.pressedKnob); // update the active knob's position + + this.update(currentX); + } + }, { + key: "onMove", + value: function onMove(detail) { + this.update(detail.currentX); + } + }, { + key: "onEnd", + value: function onEnd(detail) { + this.update(detail.currentX); + this.pressedKnob = undefined; + } + }, { + key: "update", + value: function update(currentX) { + // figure out where the pointer is currently at + // update the knob being interacted with + var rect = this.rect; + var ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (currentX - rect.left) / rect.width, 1); + + if (document.dir === 'rtl') { + ratio = 1 - ratio; + } + + if (this.snaps) { + // snaps the ratio to the current value + ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max); + } // update which knob is pressed + + + if (this.pressedKnob === 'A') { + this.ratioA = ratio; + } else { + this.ratioB = ratio; + } // Update input value + + + this.updateValue(); + } + }, { + key: "valA", + get: function get() { + return ratioToValue(this.ratioA, this.min, this.max, this.step); + } + }, { + key: "valB", + get: function get() { + return ratioToValue(this.ratioB, this.min, this.max, this.step); + } + }, { + key: "ratioLower", + get: function get() { + if (this.dualKnobs) { + return Math.min(this.ratioA, this.ratioB); + } + + return 0; + } + }, { + key: "ratioUpper", + get: function get() { + if (this.dualKnobs) { + return Math.max(this.ratioA, this.ratioB); + } + + return this.ratioA; + } + }, { + key: "updateRatio", + value: function updateRatio() { + var value = this.getValue(); + var min = this.min, + max = this.max; + + if (this.dualKnobs) { + this.ratioA = valueToRatio(value.lower, min, max); + this.ratioB = valueToRatio(value.upper, min, max); + } else { + this.ratioA = valueToRatio(value, min, max); + } + } + }, { + key: "updateValue", + value: function updateValue() { + this.noUpdate = true; + var valA = this.valA, + valB = this.valB; + this.value = !this.dualKnobs ? valA : { + lower: Math.min(valA, valB), + upper: Math.max(valA, valB) + }; + this.noUpdate = false; + } + }, { + key: "setFocus", + value: function setFocus(knob) { + if (this.el.shadowRoot) { + var knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b'); + + if (knobEl) { + knobEl.focus(); + } + } + } + }, { + key: "render", + value: function render() { + var _barStyle, + _Object, + _this2 = this; + + var min = this.min, + max = this.max, + step = this.step, + el = this.el, + handleKeyboard = this.handleKeyboard, + pressedKnob = this.pressedKnob, + disabled = this.disabled, + pin = this.pin, + ratioLower = this.ratioLower, + ratioUpper = this.ratioUpper; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var barStart = "".concat(ratioLower * 100, "%"); + var barEnd = "".concat(100 - ratioUpper * 100, "%"); + var doc = document; + var isRTL = doc.dir === 'rtl'; + var start = isRTL ? 'right' : 'left'; + var end = isRTL ? 'left' : 'right'; + + var tickStyle = function tickStyle(tick) { + return _defineProperty({}, start, tick[start]); + }; + + var barStyle = (_barStyle = {}, _defineProperty(_barStyle, start, barStart), _defineProperty(_barStyle, end, barEnd), _barStyle); + var ticks = []; + + if (this.snaps && this.ticks) { + for (var value = min; value <= max; value += step) { + var ratio = valueToRatio(value, min, max); + var tick = { + ratio: ratio, + active: ratio >= ratioLower && ratio <= ratioUpper + }; + tick[start] = "".concat(ratio * 100, "%"); + ticks.push(tick); + } + } + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, this.name, JSON.stringify(this.getValue()), disabled); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onFocusin: this.onFocus, + onFocusout: this.onBlur, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'in-item', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-item', el)), _defineProperty(_Object, 'range-disabled', disabled), _defineProperty(_Object, 'range-pressed', pressedKnob !== undefined), _defineProperty(_Object, 'range-has-pin', pin), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "start" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "range-slider", + ref: function ref(rangeEl) { + return _this2.rangeSlider = rangeEl; + } + }, ticks.map(function (tick) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + style: tickStyle(tick), + role: "presentation", + "class": { + 'range-tick': true, + 'range-tick-active': tick.active + }, + part: tick.active ? 'tick-active' : 'tick' + }); + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "range-bar", + role: "presentation", + part: "bar" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "range-bar range-bar-active", + role: "presentation", + style: barStyle, + part: "bar-active" + }), renderKnob(isRTL, { + knob: 'A', + pressed: pressedKnob === 'A', + value: this.valA, + ratio: this.ratioA, + pin: pin, + disabled: disabled, + handleKeyboard: handleKeyboard, + min: min, + max: max + }), this.dualKnobs && renderKnob(isRTL, { + knob: 'B', + pressed: pressedKnob === 'B', + value: this.valB, + ratio: this.ratioB, + pin: pin, + disabled: disabled, + handleKeyboard: handleKeyboard, + min: min, + max: max + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "end" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "debounce": ["debounceChanged"], + "min": ["minChanged"], + "max": ["maxChanged"], + "disabled": ["disabledChanged"], + "value": ["valueChanged"] + }; + } + }]); + + return Range; + }(); + + var renderKnob = function renderKnob(isRTL, _ref3) { + var knob = _ref3.knob, + value = _ref3.value, + ratio = _ref3.ratio, + min = _ref3.min, + max = _ref3.max, + disabled = _ref3.disabled, + pressed = _ref3.pressed, + pin = _ref3.pin, + handleKeyboard = _ref3.handleKeyboard; + var start = isRTL ? 'right' : 'left'; + + var knobStyle = function knobStyle() { + var style = {}; + style[start] = "".concat(ratio * 100, "%"); + return style; + }; + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + onKeyDown: function onKeyDown(ev) { + var key = ev.key; + + if (key === 'ArrowLeft' || key === 'ArrowDown') { + handleKeyboard(knob, false); + ev.preventDefault(); + ev.stopPropagation(); + } else if (key === 'ArrowRight' || key === 'ArrowUp') { + handleKeyboard(knob, true); + ev.preventDefault(); + ev.stopPropagation(); + } + }, + "class": { + 'range-knob-handle': true, + 'range-knob-a': knob === 'A', + 'range-knob-b': knob === 'B', + 'range-knob-pressed': pressed, + 'range-knob-min': value === min, + 'range-knob-max': value === max + }, + style: knobStyle(), + role: "slider", + tabindex: disabled ? -1 : 0, + "aria-valuemin": min, + "aria-valuemax": max, + "aria-disabled": disabled ? 'true' : null, + "aria-valuenow": value + }, pin && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "range-pin", + role: "presentation", + part: "pin" + }, Math.round(value)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "range-knob", + role: "presentation", + part: "knob" + })); + }; + + var ratioToValue = function ratioToValue(ratio, min, max, step) { + var value = (max - min) * ratio; + + if (step > 0) { + value = Math.round(value / step) * step + min; + } + + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(min, value, max); + }; + + var valueToRatio = function valueToRatio(value, min, max) { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (value - min) / (max - min), 1); + }; + + Range.style = { + ios: rangeIosCss, + md: rangeMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=25-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/25-es5.js.map b/android/app/src/main/assets/public/25-es5.js.map new file mode 100644 index 000000000..66e67bcbc --- /dev/null +++ b/android/app/src/main/assets/public/25-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-range.entry.js"],"names":["rangeIosCss","rangeMdCss","Range","hostRef","ionChange","ionStyle","ionFocus","ionBlur","didLoad","noUpdate","hasFocus","ratioA","ratioB","debounce","name","dualKnobs","min","max","pin","snaps","step","ticks","disabled","value","clampBounds","ensureValueInBounds","lower","upper","setupGesture","rangeSlider","gesture","createGesture","el","gestureName","gesturePriority","threshold","onStart","ev","onMove","onEnd","enable","handleKeyboard","knob","isIncrease","updateValue","onBlur","emit","emitStyle","onFocus","updateRatio","debounceChanged","disabledChanged","destroy","undefined","detail","rect","getBoundingClientRect","currentX","ratio","left","width","document","dir","pressedKnob","Math","abs","setFocus","update","valueToRatio","ratioToValue","getValue","valA","valB","shadowRoot","knobEl","querySelector","focus","ratioLower","ratioUpper","mode","barStart","barEnd","doc","isRTL","start","end","tickStyle","tick","barStyle","active","push","JSON","stringify","onFocusin","onFocusout","color","ref","rangeEl","map","style","role","part","renderKnob","pressed","knobStyle","onKeyDown","key","preventDefault","stopPropagation","tabindex","round","ios","md"],"mappings":"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","file":"25-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp, e as debounceEvent, d as renderHiddenInput } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst rangeIosCss = \":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}\";\n\nconst rangeMdCss = \":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@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:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\\\"\\\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}\";\n\nconst Range = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.didLoad = false;\n this.noUpdate = false;\n this.hasFocus = false;\n this.ratioA = 0;\n this.ratioB = 0;\n /**\n * How long, in milliseconds, to wait to trigger the\n * `ionChange` event after each change in the range value.\n * This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 0;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = '';\n /**\n * Show two knobs.\n */\n this.dualKnobs = false;\n /**\n * Minimum integer value of the range.\n */\n this.min = 0;\n /**\n * Maximum integer value of the range.\n */\n this.max = 100;\n /**\n * If `true`, a pin with integer value is shown when the knob\n * is pressed.\n */\n this.pin = false;\n /**\n * If `true`, the knob snaps to tick marks evenly spaced based\n * on the step property value.\n */\n this.snaps = false;\n /**\n * Specifies the value granularity.\n */\n this.step = 1;\n /**\n * If `true`, tick marks are displayed based on the step value.\n * Only applies when `snaps` is `true`.\n */\n this.ticks = true;\n /**\n * If `true`, the user cannot interact with the range.\n */\n this.disabled = false;\n /**\n * the value of the range.\n */\n this.value = 0;\n this.clampBounds = (value) => {\n return clamp(this.min, value, this.max);\n };\n this.ensureValueInBounds = (value) => {\n if (this.dualKnobs) {\n return {\n lower: this.clampBounds(value.lower),\n upper: this.clampBounds(value.upper)\n };\n }\n else {\n return this.clampBounds(value);\n }\n };\n this.setupGesture = async () => {\n const rangeSlider = this.rangeSlider;\n if (rangeSlider) {\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: rangeSlider,\n gestureName: 'range',\n gesturePriority: 100,\n threshold: 0,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gesture.enable(!this.disabled);\n }\n };\n this.handleKeyboard = (knob, isIncrease) => {\n let step = this.step;\n step = step > 0 ? step : 1;\n step = step / (this.max - this.min);\n if (!isIncrease) {\n step *= -1;\n }\n if (knob === 'A') {\n this.ratioA = clamp(0, this.ratioA + step, 1);\n }\n else {\n this.ratioB = clamp(0, this.ratioB + step, 1);\n }\n this.updateValue();\n };\n this.onBlur = () => {\n if (this.hasFocus) {\n this.hasFocus = false;\n this.ionBlur.emit();\n this.emitStyle();\n }\n };\n this.onFocus = () => {\n if (!this.hasFocus) {\n this.hasFocus = true;\n this.ionFocus.emit();\n this.emitStyle();\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n minChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n maxChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n this.emitStyle();\n }\n valueChanged(value) {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n value = this.ensureValueInBounds(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setupGesture();\n this.didLoad = true;\n }\n connectedCallback() {\n this.updateRatio();\n this.debounceChanged();\n this.disabledChanged();\n /**\n * If we have not yet rendered\n * ion-range, then rangeSlider is not defined.\n * But if we are moving ion-range via appendChild,\n * then rangeSlider will be defined.\n */\n if (this.didLoad) {\n this.setupGesture();\n }\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n getValue() {\n const value = this.value || 0;\n if (this.dualKnobs) {\n if (typeof value === 'object') {\n return value;\n }\n return {\n lower: 0,\n upper: value\n };\n }\n else {\n if (typeof value === 'object') {\n return value.upper;\n }\n return value;\n }\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'interactive-disabled': this.disabled\n });\n }\n onStart(detail) {\n const rect = this.rect = this.rangeSlider.getBoundingClientRect();\n const currentX = detail.currentX;\n // figure out which knob they started closer to\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n this.pressedKnob =\n !this.dualKnobs ||\n Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio)\n ? 'A'\n : 'B';\n this.setFocus(this.pressedKnob);\n // update the active knob's position\n this.update(currentX);\n }\n onMove(detail) {\n this.update(detail.currentX);\n }\n onEnd(detail) {\n this.update(detail.currentX);\n this.pressedKnob = undefined;\n }\n update(currentX) {\n // figure out where the pointer is currently at\n // update the knob being interacted with\n const rect = this.rect;\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n if (this.snaps) {\n // snaps the ratio to the current value\n ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);\n }\n // update which knob is pressed\n if (this.pressedKnob === 'A') {\n this.ratioA = ratio;\n }\n else {\n this.ratioB = ratio;\n }\n // Update input value\n this.updateValue();\n }\n get valA() {\n return ratioToValue(this.ratioA, this.min, this.max, this.step);\n }\n get valB() {\n return ratioToValue(this.ratioB, this.min, this.max, this.step);\n }\n get ratioLower() {\n if (this.dualKnobs) {\n return Math.min(this.ratioA, this.ratioB);\n }\n return 0;\n }\n get ratioUpper() {\n if (this.dualKnobs) {\n return Math.max(this.ratioA, this.ratioB);\n }\n return this.ratioA;\n }\n updateRatio() {\n const value = this.getValue();\n const { min, max } = this;\n if (this.dualKnobs) {\n this.ratioA = valueToRatio(value.lower, min, max);\n this.ratioB = valueToRatio(value.upper, min, max);\n }\n else {\n this.ratioA = valueToRatio(value, min, max);\n }\n }\n updateValue() {\n this.noUpdate = true;\n const { valA, valB } = this;\n this.value = !this.dualKnobs\n ? valA\n : {\n lower: Math.min(valA, valB),\n upper: Math.max(valA, valB)\n };\n this.noUpdate = false;\n }\n setFocus(knob) {\n if (this.el.shadowRoot) {\n const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');\n if (knobEl) {\n knobEl.focus();\n }\n }\n }\n render() {\n const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper } = this;\n const mode = getIonMode(this);\n const barStart = `${ratioLower * 100}%`;\n const barEnd = `${100 - ratioUpper * 100}%`;\n const doc = document;\n const isRTL = doc.dir === 'rtl';\n const start = isRTL ? 'right' : 'left';\n const end = isRTL ? 'left' : 'right';\n const tickStyle = (tick) => {\n return {\n [start]: tick[start]\n };\n };\n const barStyle = {\n [start]: barStart,\n [end]: barEnd\n };\n const ticks = [];\n if (this.snaps && this.ticks) {\n for (let value = min; value <= max; value += step) {\n const ratio = valueToRatio(value, min, max);\n const tick = {\n ratio,\n active: ratio >= ratioLower && ratio <= ratioUpper,\n };\n tick[start] = `${ratio * 100}%`;\n ticks.push(tick);\n }\n }\n renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);\n return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'range-disabled': disabled,\n 'range-pressed': pressedKnob !== undefined,\n 'range-has-pin': pin\n }) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"range-slider\", ref: rangeEl => this.rangeSlider = rangeEl }, ticks.map(tick => (h(\"div\", { style: tickStyle(tick), role: \"presentation\", class: {\n 'range-tick': true,\n 'range-tick-active': tick.active\n }, part: tick.active ? 'tick-active' : 'tick' }))), h(\"div\", { class: \"range-bar\", role: \"presentation\", part: \"bar\" }), h(\"div\", { class: \"range-bar range-bar-active\", role: \"presentation\", style: barStyle, part: \"bar-active\" }), renderKnob(isRTL, {\n knob: 'A',\n pressed: pressedKnob === 'A',\n value: this.valA,\n ratio: this.ratioA,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n }), this.dualKnobs && renderKnob(isRTL, {\n knob: 'B',\n pressed: pressedKnob === 'B',\n value: this.valB,\n ratio: this.ratioB,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n })), h(\"slot\", { name: \"end\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"min\": [\"minChanged\"],\n \"max\": [\"maxChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst renderKnob = (isRTL, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard }) => {\n const start = isRTL ? 'right' : 'left';\n const knobStyle = () => {\n const style = {};\n style[start] = `${ratio * 100}%`;\n return style;\n };\n return (h(\"div\", { onKeyDown: (ev) => {\n const key = ev.key;\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n handleKeyboard(knob, false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (key === 'ArrowRight' || key === 'ArrowUp') {\n handleKeyboard(knob, true);\n ev.preventDefault();\n ev.stopPropagation();\n }\n }, class: {\n 'range-knob-handle': true,\n 'range-knob-a': knob === 'A',\n 'range-knob-b': knob === 'B',\n 'range-knob-pressed': pressed,\n 'range-knob-min': value === min,\n 'range-knob-max': value === max\n }, style: knobStyle(), role: \"slider\", tabindex: disabled ? -1 : 0, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-disabled\": disabled ? 'true' : null, \"aria-valuenow\": value }, pin && h(\"div\", { class: \"range-pin\", role: \"presentation\", part: \"pin\" }, Math.round(value)), h(\"div\", { class: \"range-knob\", role: \"presentation\", part: \"knob\" })));\n};\nconst ratioToValue = (ratio, min, max, step) => {\n let value = (max - min) * ratio;\n if (step > 0) {\n value = Math.round(value / step) * step + min;\n }\n return clamp(min, value, max);\n};\nconst valueToRatio = (value, min, max) => {\n return clamp(0, (value - min) / (max - min), 1);\n};\nRange.style = {\n ios: rangeIosCss,\n md: rangeMdCss\n};\n\nexport { Range as ion_range };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/26-es2015.js b/android/app/src/main/assets/public/26-es2015.js new file mode 100644 index 000000000..4f07e0bbe --- /dev/null +++ b/android/app/src/main/assets/public/26-es2015.js @@ -0,0 +1,840 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[26],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js": +/*!********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js ***! + \********************************************************************/ +/*! exports provided: ion_refresher, ion_refresher_content */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_refresher", function() { return Refresher; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_refresher_content", function() { return RefresherContent; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./animation-54fe0237.js */ "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); +/* harmony import */ var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cubic-bezier-eea9a7a9.js */ "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); +/* harmony import */ var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index-9e3fe806.js */ "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); +/* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); +/* harmony import */ var _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./spinner-configs-cd7845af.js */ "./node_modules/@ionic/core/dist/esm/spinner-configs-cd7845af.js"); + + + + + + + + + +const getRefresherAnimationType = (contentEl) => { + const previousSibling = contentEl.previousElementSibling; + const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER'; + return hasHeader ? 'translate' : 'scale'; +}; +const createPullingAnimation = (type, pullingSpinner) => { + return type === 'scale' ? createScaleAnimation(pullingSpinner) : createTranslateAnimation(pullingSpinner); +}; +const createBaseAnimation = (pullingRefresherIcon) => { + const spinner = pullingRefresherIcon.querySelector('ion-spinner'); + const circle = spinner.shadowRoot.querySelector('circle'); + const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container'); + const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container'); + const arrow = (arrowContainer) ? arrowContainer.querySelector('ion-icon') : null; + const baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .duration(1000) + .easing('ease-out'); + const spinnerArrowContainerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(spinnerArrowContainer) + .keyframes([ + { offset: 0, opacity: '0.3' }, + { offset: 0.45, opacity: '0.3' }, + { offset: 0.55, opacity: '1' }, + { offset: 1, opacity: '1' } + ]); + const circleInnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(circle) + .keyframes([ + { offset: 0, strokeDasharray: '1px, 200px' }, + { offset: 0.20, strokeDasharray: '1px, 200px' }, + { offset: 0.55, strokeDasharray: '100px, 200px' }, + { offset: 1, strokeDasharray: '100px, 200px' } + ]); + const circleOuterAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(spinner) + .keyframes([ + { offset: 0, transform: 'rotate(-90deg)' }, + { offset: 1, transform: 'rotate(210deg)' } + ]); + /** + * Only add arrow animation if present + * this allows users to customize the spinners + * without errors being thrown + */ + if (arrowContainer && arrow) { + const arrowContainerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(arrowContainer) + .keyframes([ + { offset: 0, transform: 'rotate(0deg)' }, + { offset: 0.30, transform: 'rotate(0deg)' }, + { offset: 0.55, transform: 'rotate(280deg)' }, + { offset: 1, transform: 'rotate(400deg)' } + ]); + const arrowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(arrow) + .keyframes([ + { offset: 0, transform: 'translateX(2px) scale(0)' }, + { offset: 0.30, transform: 'translateX(2px) scale(0)' }, + { offset: 0.55, transform: 'translateX(-1.5px) scale(1)' }, + { offset: 1, transform: 'translateX(-1.5px) scale(1)' } + ]); + baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]); + } + return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]); +}; +const createScaleAnimation = (pullingRefresherIcon) => { + const height = pullingRefresherIcon.clientHeight; + const spinnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(pullingRefresherIcon) + .keyframes([ + { offset: 0, transform: `scale(0) translateY(-${height + 20}px)` }, + { offset: 1, transform: 'scale(1) translateY(100px)' } + ]); + return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]); +}; +const createTranslateAnimation = (pullingRefresherIcon) => { + const height = pullingRefresherIcon.clientHeight; + const spinnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .addElement(pullingRefresherIcon) + .keyframes([ + { offset: 0, transform: `translateY(-${height + 20}px)` }, + { offset: 1, transform: 'translateY(100px)' } + ]); + return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]); +}; +const createSnapBackAnimation = (pullingRefresherIcon) => { + return Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])() + .duration(125) + .addElement(pullingRefresherIcon) + .fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)'); +}; +// iOS Native Refresher +// ----------------------------- +const setSpinnerOpacity = (spinner, opacity) => { + spinner.style.setProperty('opacity', opacity.toString()); +}; +const handleScrollWhilePulling = (spinner, ticks, opacity, currentTickToShow) => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + setSpinnerOpacity(spinner, opacity); + ticks.forEach((el, i) => el.style.setProperty('opacity', (i <= currentTickToShow) ? '0.99' : '0')); + }); +}; +const handleScrollWhileRefreshing = (spinner, lastVelocityY) => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + // If user pulls down quickly, the spinner should spin faster + spinner.style.setProperty('--refreshing-rotation-duration', (lastVelocityY >= 1.0) ? '0.5s' : '2s'); + spinner.style.setProperty('opacity', '1'); + }); +}; +const translateElement = (el, value) => { + if (!el) { + return Promise.resolve(); + } + const trans = transitionEndAsync(el, 200); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + el.style.setProperty('transition', '0.2s all ease-out'); + if (value === undefined) { + el.style.removeProperty('transform'); + } + else { + el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`); + } + }); + return trans; +}; +// Utils +// ----------------------------- +const shouldUseNativeRefresher = async (referenceEl, mode) => { + const refresherContent = referenceEl.querySelector('ion-refresher-content'); + if (!refresherContent) { + return Promise.resolve(false); + } + await refresherContent.componentOnReady(); + const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner'); + const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner'); + return (pullingSpinner !== null && + refreshingSpinner !== null && + ((mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) || + mode === 'md')); +}; +const transitionEndAsync = (el, expectedDuration = 0) => { + return new Promise(resolve => { + transitionEnd(el, expectedDuration, resolve); + }); +}; +const transitionEnd = (el, expectedDuration = 0, callback) => { + let unRegTrans; + let animationTimeout; + const opts = { passive: true }; + const ANIMATION_FALLBACK_TIMEOUT = 500; + const unregister = () => { + if (unRegTrans) { + unRegTrans(); + } + }; + const onTransitionEnd = (ev) => { + if (ev === undefined || el === ev.target) { + unregister(); + callback(ev); + } + }; + if (el) { + el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts); + el.addEventListener('transitionend', onTransitionEnd, opts); + animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT); + unRegTrans = () => { + if (animationTimeout) { + clearTimeout(animationTimeout); + animationTimeout = undefined; + } + el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts); + el.removeEventListener('transitionend', onTransitionEnd, opts); + }; + } + return unregister; +}; + +const refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}"; + +const refresherMdCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid #ececec;background:white;-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}"; + +const Refresher = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRefresh = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRefresh", 7); + this.ionPull = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPull", 7); + this.ionStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStart", 7); + this.appliedStyles = false; + this.didStart = false; + this.progress = 0; + this.pointerDown = false; + this.needsCompletion = false; + this.didRefresh = false; + this.lastVelocityY = 0; + this.animations = []; + this.nativeRefresher = false; + /** + * The current state which the refresher is in. The refresher's states include: + * + * - `inactive` - The refresher is not being pulled down or refreshing and is currently hidden. + * - `pulling` - The user is actively pulling down the refresher, but has not reached the point yet that if the user lets go, it'll refresh. + * - `cancelling` - The user pulled down the refresher and let go, but did not pull down far enough to kick off the `refreshing` state. After letting go, the refresher is in the `cancelling` state while it is closing, and will go back to the `inactive` state once closed. + * - `ready` - The user has pulled down the refresher far enough that if they let go, it'll begin the `refreshing` state. + * - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state. + * - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state. + */ + this.state = 1 /* Inactive */; + /** + * The minimum distance the user must pull down until the + * refresher will go into the `refreshing` state. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + this.pullMin = 60; + /** + * The maximum distance of the pull until the refresher + * will automatically go into the `refreshing` state. + * Defaults to the result of `pullMin + 60`. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + this.pullMax = this.pullMin + 60; + /** + * Time it takes to close the refresher. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + this.closeDuration = '280ms'; + /** + * Time it takes the refresher to to snap back to the `refreshing` state. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + this.snapbackDuration = '280ms'; + /** + * How much to multiply the pull speed by. To slow the pull animation down, + * pass a number less than `1`. To speed up the pull, pass a number greater + * than `1`. The default value is `1` which is equal to the speed of the cursor. + * If a negative value is passed in, the factor will be `1` instead. + * + * For example: If the value passed is `1.2` and the content is dragged by + * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels + * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount + * will be `8` pixels, less than the amount the cursor has moved. + * + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + this.pullFactor = 1; + /** + * If `true`, the refresher will be hidden. + */ + this.disabled = false; + } + disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + async checkNativeRefresher() { + const useNativeRefresher = await shouldUseNativeRefresher(this.el, Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this)); + if (useNativeRefresher && !this.nativeRefresher) { + const contentEl = this.el.closest('ion-content'); + this.setupNativeRefresher(contentEl); + } + else if (!useNativeRefresher) { + this.destroyNativeRefresher(); + } + } + destroyNativeRefresher() { + if (this.scrollEl && this.scrollListenerCallback) { + this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback); + this.scrollListenerCallback = undefined; + } + this.nativeRefresher = false; + } + async resetNativeRefresher(el, state) { + this.state = state; + if (Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios') { + await translateElement(el, undefined); + } + else { + await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200); + } + this.didRefresh = false; + this.needsCompletion = false; + this.pointerDown = false; + this.animations.forEach(ani => ani.destroy()); + this.animations = []; + this.progress = 0; + this.state = 1 /* Inactive */; + } + async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) { + this.elementToTransform = this.scrollEl; + const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg'); + let MAX_PULL = this.scrollEl.clientHeight * 0.16; + const NUM_TICKS = ticks.length; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => ticks.forEach(el => el.style.setProperty('animation', 'none'))); + this.scrollListenerCallback = () => { + // If pointer is not on screen or refresher is not active, ignore scroll + if (!this.pointerDown && this.state === 1 /* Inactive */) { + return; + } + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + // PTR should only be active when overflow scrolling at the top + const scrollTop = this.scrollEl.scrollTop; + const refresherHeight = this.el.clientHeight; + if (scrollTop > 0) { + /** + * If refresher is refreshing and user tries to scroll + * progressively fade refresher out/in + */ + if (this.state === 8 /* Refreshing */) { + const ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, scrollTop / (refresherHeight * 0.5), 1); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio)); + return; + } + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => setSpinnerOpacity(pullingSpinner, 0)); + return; + } + if (this.pointerDown) { + if (!this.didStart) { + this.didStart = true; + this.ionStart.emit(); + } + // emit "pulling" on every move + if (this.pointerDown) { + this.ionPull.emit(); + } + } + // delay showing the next tick marks until user has pulled 30px + const opacity = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, Math.abs(scrollTop) / refresherHeight, 0.99); + const pullAmount = this.progress = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (Math.abs(scrollTop) - 30) / MAX_PULL, 1); + const currentTickToShow = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, Math.floor(pullAmount * NUM_TICKS), NUM_TICKS - 1); + const shouldShowRefreshingSpinner = this.state === 8 /* Refreshing */ || currentTickToShow === NUM_TICKS - 1; + if (shouldShowRefreshingSpinner) { + if (this.pointerDown) { + handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY); + } + if (!this.didRefresh) { + this.beginRefresh(); + this.didRefresh = true; + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["d"])({ style: 'light' }); + /** + * Translate the content element otherwise when pointer is removed + * from screen the scroll content will bounce back over the refresher + */ + if (!this.pointerDown) { + translateElement(this.elementToTransform, `${refresherHeight}px`); + } + } + } + else { + this.state = 2 /* Pulling */; + handleScrollWhilePulling(pullingSpinner, ticks, opacity, currentTickToShow); + } + }); + }; + this.scrollEl.addEventListener('scroll', this.scrollListenerCallback); + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.scrollEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 5, + onStart: () => { + this.pointerDown = true; + if (!this.didRefresh) { + translateElement(this.elementToTransform, '0px'); + } + /** + * If the content had `display: none` when + * the refresher was initialized, its clientHeight + * will be 0. When the gesture starts, the content + * will be visible, so try to get the correct + * client height again. This is most common when + * using the refresher in an ion-menu. + */ + if (MAX_PULL === 0) { + MAX_PULL = this.scrollEl.clientHeight * 0.16; + } + }, + onMove: ev => { + this.lastVelocityY = ev.velocityY; + }, + onEnd: () => { + this.pointerDown = false; + this.didStart = false; + if (this.needsCompletion) { + this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */); + this.needsCompletion = false; + } + else if (this.didRefresh) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`)); + } + }, + }); + this.disabledChanged(); + } + async setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner) { + const circle = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(pullingSpinner).querySelector('circle'); + const pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon'); + const refreshingCircle = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(refreshingSpinner).querySelector('circle'); + if (circle !== null && refreshingCircle !== null) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + circle.style.setProperty('animation', 'none'); + // This lines up the animation on the refreshing spinner with the pulling spinner + refreshingSpinner.style.setProperty('animation-delay', '-655ms'); + refreshingCircle.style.setProperty('animation-delay', '-655ms'); + }); + } + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.scrollEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 5, + canStart: () => this.state !== 8 /* Refreshing */ && this.state !== 32 /* Completing */ && this.scrollEl.scrollTop === 0, + onStart: (ev) => { + ev.data = { animation: undefined, didStart: false, cancelled: false }; + }, + onMove: (ev) => { + if ((ev.velocityY < 0 && this.progress === 0 && !ev.data.didStart) || ev.data.cancelled) { + ev.data.cancelled = true; + return; + } + if (!ev.data.didStart) { + ev.data.didStart = true; + this.state = 2 /* Pulling */; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + const animationType = getRefresherAnimationType(contentEl); + const animation = createPullingAnimation(animationType, pullingRefresherIcon); + ev.data.animation = animation; + this.scrollEl.style.setProperty('--overflow', 'hidden'); + animation.progressStart(false, 0); + this.ionStart.emit(); + this.animations.push(animation); + }); + return; + } + // Since we are using an easing curve, slow the gesture tracking down a bit + this.progress = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (ev.deltaY / 180) * 0.5, 1); + ev.data.animation.progressStep(this.progress); + this.ionPull.emit(); + }, + onEnd: (ev) => { + if (!ev.data.didStart) { + return; + } + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => this.scrollEl.style.removeProperty('--overflow')); + if (this.progress <= 0.4) { + this.gesture.enable(false); + ev.data.animation + .progressEnd(0, this.progress, 500) + .onFinish(() => { + this.animations.forEach(ani => ani.destroy()); + this.animations = []; + this.gesture.enable(true); + this.state = 1 /* Inactive */; + }); + return; + } + const progress = Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0, 0], [1, 1], [1, 1], this.progress)[0]; + const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon); + this.animations.push(snapBackAnimation); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(async () => { + pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${(progress * 100)}px`); + ev.data.animation.progressEnd(); + await snapBackAnimation.play(); + this.beginRefresh(); + ev.data.animation.destroy(); + }); + } + }); + this.disabledChanged(); + } + async setupNativeRefresher(contentEl) { + if (this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl) { + return; + } + /** + * If using non-native refresher before make sure + * we clean up any old CSS. This can happen when + * a user manually calls the refresh method in a + * component create callback before the native + * refresher is setup. + */ + this.setCss(0, '', false, ''); + this.nativeRefresher = true; + const pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner'); + const refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner'); + if (Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios') { + this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner); + } + else { + this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner); + } + } + componentDidUpdate() { + this.checkNativeRefresher(); + } + async connectedCallback() { + if (this.el.getAttribute('slot') !== 'fixed') { + console.error('Make sure you use: '); + return; + } + const contentEl = this.el.closest('ion-content'); + if (!contentEl) { + console.error(' must be used inside an '); + return; + } + await contentEl.componentOnReady(); + this.scrollEl = await contentEl.getScrollElement(); + this.backgroundContentEl = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(contentEl).querySelector('#background-content'); + if (await shouldUseNativeRefresher(this.el, Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this))) { + this.setupNativeRefresher(contentEl); + } + else { + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: contentEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 20, + passive: false, + canStart: () => this.canStart(), + onStart: () => this.onStart(), + onMove: ev => this.onMove(ev), + onEnd: () => this.onEnd(), + }); + this.disabledChanged(); + } + } + disconnectedCallback() { + this.destroyNativeRefresher(); + this.scrollEl = undefined; + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** + * Call `complete()` when your async operation has completed. + * For example, the `refreshing` state is while the app is performing + * an asynchronous operation, such as receiving more data from an + * AJAX request. Once the data has been received, you then call this + * method to signify that the refreshing has completed and to close + * the refresher. This method also changes the refresher's state from + * `refreshing` to `completing`. + */ + async complete() { + if (this.nativeRefresher) { + this.needsCompletion = true; + // Do not reset scroll el until user removes pointer from screen + if (!this.pointerDown) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */))); + } + } + else { + this.close(32 /* Completing */, '120ms'); + } + } + /** + * Changes the refresher's state from `refreshing` to `cancelling`. + */ + async cancel() { + if (this.nativeRefresher) { + // Do not reset scroll el until user removes pointer from screen + if (!this.pointerDown) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => this.resetNativeRefresher(this.elementToTransform, 16 /* Cancelling */))); + } + } + else { + this.close(16 /* Cancelling */, ''); + } + } + /** + * A number representing how far down the user has pulled. + * The number `0` represents the user hasn't pulled down at all. The + * number `1`, and anything greater than `1`, represents that the user + * has pulled far enough down that when they let go then the refresh will + * happen. If they let go and the number is less than `1`, then the + * refresh will not happen, and the content will return to it's original + * position. + */ + getProgress() { + return Promise.resolve(this.progress); + } + canStart() { + if (!this.scrollEl) { + return false; + } + if (this.state !== 1 /* Inactive */) { + return false; + } + // if the scrollTop is greater than zero then it's + // not possible to pull the content down yet + if (this.scrollEl.scrollTop > 0) { + return false; + } + return true; + } + onStart() { + this.progress = 0; + this.state = 1 /* Inactive */; + } + onMove(detail) { + if (!this.scrollEl) { + return; + } + // this method can get called like a bazillion times per second, + // so it's built to be as efficient as possible, and does its + // best to do any DOM read/writes only when absolutely necessary + // if multi-touch then get out immediately + const ev = detail.event; + if (ev.touches && ev.touches.length > 1) { + return; + } + // do nothing if it's actively refreshing + // or it's in the way of closing + // or this was never a startY + if ((this.state & 56 /* _BUSY_ */) !== 0) { + return; + } + const pullFactor = (Number.isNaN(this.pullFactor) || this.pullFactor < 0) ? 1 : this.pullFactor; + const deltaY = detail.deltaY * pullFactor; + // don't bother if they're scrolling up + // and have not already started dragging + if (deltaY <= 0) { + // the current Y is higher than the starting Y + // so they scrolled up enough to be ignored + this.progress = 0; + this.state = 1 /* Inactive */; + if (this.appliedStyles) { + // reset the styles only if they were applied + this.setCss(0, '', false, ''); + return; + } + return; + } + if (this.state === 1 /* Inactive */) { + // this refresh is not already actively pulling down + // get the content's scrollTop + const scrollHostScrollTop = this.scrollEl.scrollTop; + // if the scrollTop is greater than zero then it's + // not possible to pull the content down yet + if (scrollHostScrollTop > 0) { + this.progress = 0; + return; + } + // content scrolled all the way to the top, and dragging down + this.state = 2 /* Pulling */; + } + // prevent native scroll events + if (ev.cancelable) { + ev.preventDefault(); + } + // the refresher is actively pulling at this point + // move the scroll element within the content element + this.setCss(deltaY, '0ms', true, ''); + if (deltaY === 0) { + // don't continue if there's no delta yet + this.progress = 0; + return; + } + const pullMin = this.pullMin; + // set pull progress + this.progress = deltaY / pullMin; + // emit "start" if it hasn't started yet + if (!this.didStart) { + this.didStart = true; + this.ionStart.emit(); + } + // emit "pulling" on every move + this.ionPull.emit(); + // do nothing if the delta is less than the pull threshold + if (deltaY < pullMin) { + // ensure it stays in the pulling state, cuz its not ready yet + this.state = 2 /* Pulling */; + return; + } + if (deltaY > this.pullMax) { + // they pulled farther than the max, so kick off the refresh + this.beginRefresh(); + return; + } + // pulled farther than the pull min!! + // it is now in the `ready` state!! + // if they let go then it'll refresh, kerpow!! + this.state = 4 /* Ready */; + return; + } + onEnd() { + // only run in a zone when absolutely necessary + if (this.state === 4 /* Ready */) { + // they pulled down far enough, so it's ready to refresh + this.beginRefresh(); + } + else if (this.state === 2 /* Pulling */) { + // they were pulling down, but didn't pull down far enough + // set the content back to it's original location + // and close the refresher + // set that the refresh is actively cancelling + this.cancel(); + } + } + beginRefresh() { + // assumes we're already back in a zone + // they pulled down far enough, so it's ready to refresh + this.state = 8 /* Refreshing */; + // place the content in a hangout position while it thinks + this.setCss(this.pullMin, this.snapbackDuration, true, ''); + // emit "refresh" because it was pulled down far enough + // and they let go to begin refreshing + this.ionRefresh.emit({ + complete: this.complete.bind(this) + }); + } + close(state, delay) { + // create fallback timer incase something goes wrong with transitionEnd event + setTimeout(() => { + this.state = 1 /* Inactive */; + this.progress = 0; + this.didStart = false; + this.setCss(0, '0ms', false, ''); + }, 600); + // reset set the styles on the scroll element + // set that the refresh is actively cancelling/completing + this.state = state; + this.setCss(0, this.closeDuration, true, delay); + // TODO: stop gesture + } + setCss(y, duration, overflowVisible, delay) { + if (this.nativeRefresher) { + return; + } + this.appliedStyles = (y > 0); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + if (this.scrollEl && this.backgroundContentEl) { + const scrollStyle = this.scrollEl.style; + const backgroundStyle = this.backgroundContentEl.style; + scrollStyle.transform = backgroundStyle.transform = ((y > 0) ? `translateY(${y}px) translateZ(0px)` : ''); + scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration; + scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay; + scrollStyle.overflow = (overflowVisible ? 'hidden' : ''); + } + }); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { slot: "fixed", class: { + [mode]: true, + // Used internally for styling + [`refresher-${mode}`]: true, + 'refresher-native': this.nativeRefresher, + 'refresher-active': this.state !== 1 /* Inactive */, + 'refresher-pulling': this.state === 2 /* Pulling */, + 'refresher-ready': this.state === 4 /* Ready */, + 'refresher-refreshing': this.state === 8 /* Refreshing */, + 'refresher-cancelling': this.state === 16 /* Cancelling */, + 'refresher-completing': this.state === 32 /* Completing */, + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "disabled": ["disabledChanged"] + }; } +}; +Refresher.style = { + ios: refresherIosCss, + md: refresherMdCss +}; + +const RefresherContent = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + componentWillLoad() { + if (this.pullingIcon === undefined) { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : 'arrow-down'; + this.pullingIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('refreshingIcon', mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('mobile') ? _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', overflowRefresher) : 'circular'); + } + if (this.refreshingSpinner === undefined) { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + this.refreshingSpinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('refreshingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', mode === 'ios' ? 'lines' : 'circular')); + } + } + render() { + const pullingIcon = this.pullingIcon; + const hasSpinner = pullingIcon != null && _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_7__["S"][pullingIcon] !== undefined; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: mode }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-pulling" }, this.pullingIcon && hasSpinner && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-pulling-icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "spinner-arrow-container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "arrow-container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { name: "caret-back-sharp" })))), this.pullingIcon && !hasSpinner && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-pulling-icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { icon: this.pullingIcon, lazy: false })), this.pullingText && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-pulling-text", innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__["s"])(this.pullingText) })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-refreshing" }, this.refreshingSpinner && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-refreshing-icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { name: this.refreshingSpinner })), this.refreshingText && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "refresher-refreshing-text", innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__["s"])(this.refreshingText) })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=26-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/26-es2015.js.map b/android/app/src/main/assets/public/26-es2015.js.map new file mode 100644 index 000000000..4146cd8ef --- /dev/null +++ b/android/app/src/main/assets/public/26-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4I;AACjD;AACT;AACnB;AACW;AACb;AACJ;AACK;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC;AACA;AACA,yCAAyC,gEAAe;AACxD;AACA;AACA,KAAK,4BAA4B;AACjC,KAAK,+BAA+B;AACpC,KAAK,6BAA6B;AAClC,KAAK;AACL;AACA,+BAA+B,gEAAe;AAC9C;AACA;AACA,KAAK,2CAA2C;AAChD,KAAK,8CAA8C;AACnD,KAAK,gDAAgD;AACrD,KAAK;AACL;AACA,+BAA+B,gEAAe;AAC9C;AACA;AACA,KAAK,yCAAyC;AAC9C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gEAAe;AACnD;AACA;AACA,OAAO,uCAAuC;AAC9C,OAAO,0CAA0C;AACjD,OAAO,4CAA4C;AACnD,OAAO;AACP;AACA,2BAA2B,gEAAe;AAC1C;AACA;AACA,OAAO,mDAAmD;AAC1D,OAAO,sDAAsD;AAC7D,OAAO,yDAAyD;AAChE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gEAAe;AAC1C;AACA;AACA,KAAK,+CAA+C,YAAY,MAAM;AACtE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2BAA2B,gEAAe;AAC1C;AACA;AACA,KAAK,sCAAsC,YAAY,MAAM;AAC7D,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS,gEAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4DAAS;AACX;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE,4DAAS;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4DAAS;AACX;AACA;AACA;AACA;AACA;AACA,4DAA4D,MAAM;AAClE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A;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,uEAAuE,mEAAU;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4DAAS;AACb;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8DAAK;AAC/B,YAAY,4DAAS;AACrB;AACA;AACA,UAAU,4DAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8DAAK;AAC7B,2CAA2C,8DAAK;AAChD,kCAAkC,8DAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6DAAY,EAAE,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,4DAAQ,oDAAoD,qBAAqB;AAC3F;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,mBAAmB,8DAAc;AACjC;AACA,6BAA6B,8DAAc;AAC3C;AACA,MAAM,4DAAS;AACf;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,4DAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,wBAAwB,8DAAK;AAC7B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,QAAQ,4DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,yBAAyB,mEAAuB;AAChD;AACA;AACA,QAAQ,4DAAS;AACjB,yFAAyF,iBAAiB;AAC1G;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mEAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8DAAc;AAC7C,gDAAgD,mEAAU;AAC1D;AACA;AACA;AACA,4BAA4B,yJAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,QAAQ,8DAAG,OAAO,8DAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,8DAAG,OAAO,8DAAG;AACrB;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;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;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4DAAS;AACb;AACA;AACA;AACA,qFAAqF,EAAE;AACvF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA,mBAAmB,mEAAU;AAC7B;AACA,yBAAyB,2DAAM,yCAAyC,mEAAU,aAAa,2DAAM;AACrG;AACA;AACA,mBAAmB,mEAAU;AAC7B,+BAA+B,2DAAM,0BAA0B,2DAAM;AACrE;AACA;AACA;AACA;AACA,8CAA8C,8DAAQ;AACtD,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,cAAc,EAAE,4DAAC,SAAS,6BAA6B;AAC5E,MAAM,4DAAC,SAAS,kCAAkC,EAAE,4DAAC,SAAS,mCAAmC,EAAE,4DAAC,iBAAiB,uCAAuC;AAC5J,QAAQ,4DAAC,SAAS,2BAA2B,EAAE,4DAAC,cAAc,2BAA2B;AACzF,MAAM,4DAAC,SAAS,kCAAkC,EAAE,4DAAC,cAAc,sCAAsC;AACzG,MAAM,4DAAC,SAAS,6CAA6C,4DAAiB,oBAAoB,IAAI,4DAAC,SAAS,gCAAgC;AAChJ,MAAM,4DAAC,SAAS,qCAAqC,EAAE,4DAAC,iBAAiB,+BAA+B;AACxG,MAAM,4DAAC,SAAS,gDAAgD,4DAAiB,uBAAuB;AACxG;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;;AAEiF","file":"26-es2015.js","sourcesContent":["import { c as writeTask, r as registerInstance, e as createEvent, f as readTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { i as isPlatform, b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp, g as getElementRoot, r as raf } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport { d as hapticImpact } from './haptic-27b3f981.js';\nimport { S as SPINNERS } from './spinner-configs-cd7845af.js';\n\nconst getRefresherAnimationType = (contentEl) => {\n const previousSibling = contentEl.previousElementSibling;\n const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';\n return hasHeader ? 'translate' : 'scale';\n};\nconst createPullingAnimation = (type, pullingSpinner) => {\n return type === 'scale' ? createScaleAnimation(pullingSpinner) : createTranslateAnimation(pullingSpinner);\n};\nconst createBaseAnimation = (pullingRefresherIcon) => {\n const spinner = pullingRefresherIcon.querySelector('ion-spinner');\n const circle = spinner.shadowRoot.querySelector('circle');\n const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');\n const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');\n const arrow = (arrowContainer) ? arrowContainer.querySelector('ion-icon') : null;\n const baseAnimation = createAnimation()\n .duration(1000)\n .easing('ease-out');\n const spinnerArrowContainerAnimation = createAnimation()\n .addElement(spinnerArrowContainer)\n .keyframes([\n { offset: 0, opacity: '0.3' },\n { offset: 0.45, opacity: '0.3' },\n { offset: 0.55, opacity: '1' },\n { offset: 1, opacity: '1' }\n ]);\n const circleInnerAnimation = createAnimation()\n .addElement(circle)\n .keyframes([\n { offset: 0, strokeDasharray: '1px, 200px' },\n { offset: 0.20, strokeDasharray: '1px, 200px' },\n { offset: 0.55, strokeDasharray: '100px, 200px' },\n { offset: 1, strokeDasharray: '100px, 200px' }\n ]);\n const circleOuterAnimation = createAnimation()\n .addElement(spinner)\n .keyframes([\n { offset: 0, transform: 'rotate(-90deg)' },\n { offset: 1, transform: 'rotate(210deg)' }\n ]);\n /**\n * Only add arrow animation if present\n * this allows users to customize the spinners\n * without errors being thrown\n */\n if (arrowContainer && arrow) {\n const arrowContainerAnimation = createAnimation()\n .addElement(arrowContainer)\n .keyframes([\n { offset: 0, transform: 'rotate(0deg)' },\n { offset: 0.30, transform: 'rotate(0deg)' },\n { offset: 0.55, transform: 'rotate(280deg)' },\n { offset: 1, transform: 'rotate(400deg)' }\n ]);\n const arrowAnimation = createAnimation()\n .addElement(arrow)\n .keyframes([\n { offset: 0, transform: 'translateX(2px) scale(0)' },\n { offset: 0.30, transform: 'translateX(2px) scale(0)' },\n { offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },\n { offset: 1, transform: 'translateX(-1.5px) scale(1)' }\n ]);\n baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);\n }\n return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]);\n};\nconst createScaleAnimation = (pullingRefresherIcon) => {\n const height = pullingRefresherIcon.clientHeight;\n const spinnerAnimation = createAnimation()\n .addElement(pullingRefresherIcon)\n .keyframes([\n { offset: 0, transform: `scale(0) translateY(-${height + 20}px)` },\n { offset: 1, transform: 'scale(1) translateY(100px)' }\n ]);\n return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);\n};\nconst createTranslateAnimation = (pullingRefresherIcon) => {\n const height = pullingRefresherIcon.clientHeight;\n const spinnerAnimation = createAnimation()\n .addElement(pullingRefresherIcon)\n .keyframes([\n { offset: 0, transform: `translateY(-${height + 20}px)` },\n { offset: 1, transform: 'translateY(100px)' }\n ]);\n return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);\n};\nconst createSnapBackAnimation = (pullingRefresherIcon) => {\n return createAnimation()\n .duration(125)\n .addElement(pullingRefresherIcon)\n .fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)');\n};\n// iOS Native Refresher\n// -----------------------------\nconst setSpinnerOpacity = (spinner, opacity) => {\n spinner.style.setProperty('opacity', opacity.toString());\n};\nconst handleScrollWhilePulling = (spinner, ticks, opacity, currentTickToShow) => {\n writeTask(() => {\n setSpinnerOpacity(spinner, opacity);\n ticks.forEach((el, i) => el.style.setProperty('opacity', (i <= currentTickToShow) ? '0.99' : '0'));\n });\n};\nconst handleScrollWhileRefreshing = (spinner, lastVelocityY) => {\n writeTask(() => {\n // If user pulls down quickly, the spinner should spin faster\n spinner.style.setProperty('--refreshing-rotation-duration', (lastVelocityY >= 1.0) ? '0.5s' : '2s');\n spinner.style.setProperty('opacity', '1');\n });\n};\nconst translateElement = (el, value) => {\n if (!el) {\n return Promise.resolve();\n }\n const trans = transitionEndAsync(el, 200);\n writeTask(() => {\n el.style.setProperty('transition', '0.2s all ease-out');\n if (value === undefined) {\n el.style.removeProperty('transform');\n }\n else {\n el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`);\n }\n });\n return trans;\n};\n// Utils\n// -----------------------------\nconst shouldUseNativeRefresher = async (referenceEl, mode) => {\n const refresherContent = referenceEl.querySelector('ion-refresher-content');\n if (!refresherContent) {\n return Promise.resolve(false);\n }\n await refresherContent.componentOnReady();\n const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');\n const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');\n return (pullingSpinner !== null &&\n refreshingSpinner !== null &&\n ((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||\n mode === 'md'));\n};\nconst transitionEndAsync = (el, expectedDuration = 0) => {\n return new Promise(resolve => {\n transitionEnd(el, expectedDuration, resolve);\n });\n};\nconst transitionEnd = (el, expectedDuration = 0, callback) => {\n let unRegTrans;\n let animationTimeout;\n const opts = { passive: true };\n const ANIMATION_FALLBACK_TIMEOUT = 500;\n const unregister = () => {\n if (unRegTrans) {\n unRegTrans();\n }\n };\n const onTransitionEnd = (ev) => {\n if (ev === undefined || el === ev.target) {\n unregister();\n callback(ev);\n }\n };\n if (el) {\n el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.addEventListener('transitionend', onTransitionEnd, opts);\n animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);\n unRegTrans = () => {\n if (animationTimeout) {\n clearTimeout(animationTimeout);\n animationTimeout = undefined;\n }\n el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.removeEventListener('transitionend', onTransitionEnd, opts);\n };\n }\n return unregister;\n};\n\nconst refresherIosCss = \"ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}\";\n\nconst refresherMdCss = \"ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid #ececec;background:white;-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}\";\n\nconst Refresher = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRefresh = createEvent(this, \"ionRefresh\", 7);\n this.ionPull = createEvent(this, \"ionPull\", 7);\n this.ionStart = createEvent(this, \"ionStart\", 7);\n this.appliedStyles = false;\n this.didStart = false;\n this.progress = 0;\n this.pointerDown = false;\n this.needsCompletion = false;\n this.didRefresh = false;\n this.lastVelocityY = 0;\n this.animations = [];\n this.nativeRefresher = false;\n /**\n * The current state which the refresher is in. The refresher's states include:\n *\n * - `inactive` - The refresher is not being pulled down or refreshing and is currently hidden.\n * - `pulling` - The user is actively pulling down the refresher, but has not reached the point yet that if the user lets go, it'll refresh.\n * - `cancelling` - The user pulled down the refresher and let go, but did not pull down far enough to kick off the `refreshing` state. After letting go, the refresher is in the `cancelling` state while it is closing, and will go back to the `inactive` state once closed.\n * - `ready` - The user has pulled down the refresher far enough that if they let go, it'll begin the `refreshing` state.\n * - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state.\n * - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state.\n */\n this.state = 1 /* Inactive */;\n /**\n * The minimum distance the user must pull down until the\n * refresher will go into the `refreshing` state.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullMin = 60;\n /**\n * The maximum distance of the pull until the refresher\n * will automatically go into the `refreshing` state.\n * Defaults to the result of `pullMin + 60`.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullMax = this.pullMin + 60;\n /**\n * Time it takes to close the refresher.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.closeDuration = '280ms';\n /**\n * Time it takes the refresher to to snap back to the `refreshing` state.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.snapbackDuration = '280ms';\n /**\n * How much to multiply the pull speed by. To slow the pull animation down,\n * pass a number less than `1`. To speed up the pull, pass a number greater\n * than `1`. The default value is `1` which is equal to the speed of the cursor.\n * If a negative value is passed in, the factor will be `1` instead.\n *\n * For example: If the value passed is `1.2` and the content is dragged by\n * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels\n * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount\n * will be `8` pixels, less than the amount the cursor has moved.\n *\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullFactor = 1;\n /**\n * If `true`, the refresher will be hidden.\n */\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async checkNativeRefresher() {\n const useNativeRefresher = await shouldUseNativeRefresher(this.el, getIonMode(this));\n if (useNativeRefresher && !this.nativeRefresher) {\n const contentEl = this.el.closest('ion-content');\n this.setupNativeRefresher(contentEl);\n }\n else if (!useNativeRefresher) {\n this.destroyNativeRefresher();\n }\n }\n destroyNativeRefresher() {\n if (this.scrollEl && this.scrollListenerCallback) {\n this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback);\n this.scrollListenerCallback = undefined;\n }\n this.nativeRefresher = false;\n }\n async resetNativeRefresher(el, state) {\n this.state = state;\n if (getIonMode(this) === 'ios') {\n await translateElement(el, undefined);\n }\n else {\n await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200);\n }\n this.didRefresh = false;\n this.needsCompletion = false;\n this.pointerDown = false;\n this.animations.forEach(ani => ani.destroy());\n this.animations = [];\n this.progress = 0;\n this.state = 1 /* Inactive */;\n }\n async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {\n this.elementToTransform = this.scrollEl;\n const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg');\n let MAX_PULL = this.scrollEl.clientHeight * 0.16;\n const NUM_TICKS = ticks.length;\n writeTask(() => ticks.forEach(el => el.style.setProperty('animation', 'none')));\n this.scrollListenerCallback = () => {\n // If pointer is not on screen or refresher is not active, ignore scroll\n if (!this.pointerDown && this.state === 1 /* Inactive */) {\n return;\n }\n readTask(() => {\n // PTR should only be active when overflow scrolling at the top\n const scrollTop = this.scrollEl.scrollTop;\n const refresherHeight = this.el.clientHeight;\n if (scrollTop > 0) {\n /**\n * If refresher is refreshing and user tries to scroll\n * progressively fade refresher out/in\n */\n if (this.state === 8 /* Refreshing */) {\n const ratio = clamp(0, scrollTop / (refresherHeight * 0.5), 1);\n writeTask(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio));\n return;\n }\n writeTask(() => setSpinnerOpacity(pullingSpinner, 0));\n return;\n }\n if (this.pointerDown) {\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n if (this.pointerDown) {\n this.ionPull.emit();\n }\n }\n // delay showing the next tick marks until user has pulled 30px\n const opacity = clamp(0, Math.abs(scrollTop) / refresherHeight, 0.99);\n const pullAmount = this.progress = clamp(0, (Math.abs(scrollTop) - 30) / MAX_PULL, 1);\n const currentTickToShow = clamp(0, Math.floor(pullAmount * NUM_TICKS), NUM_TICKS - 1);\n const shouldShowRefreshingSpinner = this.state === 8 /* Refreshing */ || currentTickToShow === NUM_TICKS - 1;\n if (shouldShowRefreshingSpinner) {\n if (this.pointerDown) {\n handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY);\n }\n if (!this.didRefresh) {\n this.beginRefresh();\n this.didRefresh = true;\n hapticImpact({ style: 'light' });\n /**\n * Translate the content element otherwise when pointer is removed\n * from screen the scroll content will bounce back over the refresher\n */\n if (!this.pointerDown) {\n translateElement(this.elementToTransform, `${refresherHeight}px`);\n }\n }\n }\n else {\n this.state = 2 /* Pulling */;\n handleScrollWhilePulling(pullingSpinner, ticks, opacity, currentTickToShow);\n }\n });\n };\n this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n onStart: () => {\n this.pointerDown = true;\n if (!this.didRefresh) {\n translateElement(this.elementToTransform, '0px');\n }\n /**\n * If the content had `display: none` when\n * the refresher was initialized, its clientHeight\n * will be 0. When the gesture starts, the content\n * will be visible, so try to get the correct\n * client height again. This is most common when\n * using the refresher in an ion-menu.\n */\n if (MAX_PULL === 0) {\n MAX_PULL = this.scrollEl.clientHeight * 0.16;\n }\n },\n onMove: ev => {\n this.lastVelocityY = ev.velocityY;\n },\n onEnd: () => {\n this.pointerDown = false;\n this.didStart = false;\n if (this.needsCompletion) {\n this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */);\n this.needsCompletion = false;\n }\n else if (this.didRefresh) {\n readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));\n }\n },\n });\n this.disabledChanged();\n }\n async setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner) {\n const circle = getElementRoot(pullingSpinner).querySelector('circle');\n const pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon');\n const refreshingCircle = getElementRoot(refreshingSpinner).querySelector('circle');\n if (circle !== null && refreshingCircle !== null) {\n writeTask(() => {\n circle.style.setProperty('animation', 'none');\n // This lines up the animation on the refreshing spinner with the pulling spinner\n refreshingSpinner.style.setProperty('animation-delay', '-655ms');\n refreshingCircle.style.setProperty('animation-delay', '-655ms');\n });\n }\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n canStart: () => this.state !== 8 /* Refreshing */ && this.state !== 32 /* Completing */ && this.scrollEl.scrollTop === 0,\n onStart: (ev) => {\n ev.data = { animation: undefined, didStart: false, cancelled: false };\n },\n onMove: (ev) => {\n if ((ev.velocityY < 0 && this.progress === 0 && !ev.data.didStart) || ev.data.cancelled) {\n ev.data.cancelled = true;\n return;\n }\n if (!ev.data.didStart) {\n ev.data.didStart = true;\n this.state = 2 /* Pulling */;\n writeTask(() => {\n const animationType = getRefresherAnimationType(contentEl);\n const animation = createPullingAnimation(animationType, pullingRefresherIcon);\n ev.data.animation = animation;\n this.scrollEl.style.setProperty('--overflow', 'hidden');\n animation.progressStart(false, 0);\n this.ionStart.emit();\n this.animations.push(animation);\n });\n return;\n }\n // Since we are using an easing curve, slow the gesture tracking down a bit\n this.progress = clamp(0, (ev.deltaY / 180) * 0.5, 1);\n ev.data.animation.progressStep(this.progress);\n this.ionPull.emit();\n },\n onEnd: (ev) => {\n if (!ev.data.didStart) {\n return;\n }\n writeTask(() => this.scrollEl.style.removeProperty('--overflow'));\n if (this.progress <= 0.4) {\n this.gesture.enable(false);\n ev.data.animation\n .progressEnd(0, this.progress, 500)\n .onFinish(() => {\n this.animations.forEach(ani => ani.destroy());\n this.animations = [];\n this.gesture.enable(true);\n this.state = 1 /* Inactive */;\n });\n return;\n }\n const progress = getTimeGivenProgression([0, 0], [0, 0], [1, 1], [1, 1], this.progress)[0];\n const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon);\n this.animations.push(snapBackAnimation);\n writeTask(async () => {\n pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${(progress * 100)}px`);\n ev.data.animation.progressEnd();\n await snapBackAnimation.play();\n this.beginRefresh();\n ev.data.animation.destroy();\n });\n }\n });\n this.disabledChanged();\n }\n async setupNativeRefresher(contentEl) {\n if (this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl) {\n return;\n }\n /**\n * If using non-native refresher before make sure\n * we clean up any old CSS. This can happen when\n * a user manually calls the refresh method in a\n * component create callback before the native\n * refresher is setup.\n */\n this.setCss(0, '', false, '');\n this.nativeRefresher = true;\n const pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner');\n const refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');\n if (getIonMode(this) === 'ios') {\n this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner);\n }\n else {\n this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner);\n }\n }\n componentDidUpdate() {\n this.checkNativeRefresher();\n }\n async connectedCallback() {\n if (this.el.getAttribute('slot') !== 'fixed') {\n console.error('Make sure you use: ');\n return;\n }\n const contentEl = this.el.closest('ion-content');\n if (!contentEl) {\n console.error(' must be used inside an ');\n return;\n }\n await contentEl.componentOnReady();\n this.scrollEl = await contentEl.getScrollElement();\n this.backgroundContentEl = getElementRoot(contentEl).querySelector('#background-content');\n if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {\n this.setupNativeRefresher(contentEl);\n }\n else {\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: contentEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 20,\n passive: false,\n canStart: () => this.canStart(),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n }\n disconnectedCallback() {\n this.destroyNativeRefresher();\n this.scrollEl = undefined;\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Call `complete()` when your async operation has completed.\n * For example, the `refreshing` state is while the app is performing\n * an asynchronous operation, such as receiving more data from an\n * AJAX request. Once the data has been received, you then call this\n * method to signify that the refreshing has completed and to close\n * the refresher. This method also changes the refresher's state from\n * `refreshing` to `completing`.\n */\n async complete() {\n if (this.nativeRefresher) {\n this.needsCompletion = true;\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */)));\n }\n }\n else {\n this.close(32 /* Completing */, '120ms');\n }\n }\n /**\n * Changes the refresher's state from `refreshing` to `cancelling`.\n */\n async cancel() {\n if (this.nativeRefresher) {\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* Cancelling */)));\n }\n }\n else {\n this.close(16 /* Cancelling */, '');\n }\n }\n /**\n * A number representing how far down the user has pulled.\n * The number `0` represents the user hasn't pulled down at all. The\n * number `1`, and anything greater than `1`, represents that the user\n * has pulled far enough down that when they let go then the refresh will\n * happen. If they let go and the number is less than `1`, then the\n * refresh will not happen, and the content will return to it's original\n * position.\n */\n getProgress() {\n return Promise.resolve(this.progress);\n }\n canStart() {\n if (!this.scrollEl) {\n return false;\n }\n if (this.state !== 1 /* Inactive */) {\n return false;\n }\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (this.scrollEl.scrollTop > 0) {\n return false;\n }\n return true;\n }\n onStart() {\n this.progress = 0;\n this.state = 1 /* Inactive */;\n }\n onMove(detail) {\n if (!this.scrollEl) {\n return;\n }\n // this method can get called like a bazillion times per second,\n // so it's built to be as efficient as possible, and does its\n // best to do any DOM read/writes only when absolutely necessary\n // if multi-touch then get out immediately\n const ev = detail.event;\n if (ev.touches && ev.touches.length > 1) {\n return;\n }\n // do nothing if it's actively refreshing\n // or it's in the way of closing\n // or this was never a startY\n if ((this.state & 56 /* _BUSY_ */) !== 0) {\n return;\n }\n const pullFactor = (Number.isNaN(this.pullFactor) || this.pullFactor < 0) ? 1 : this.pullFactor;\n const deltaY = detail.deltaY * pullFactor;\n // don't bother if they're scrolling up\n // and have not already started dragging\n if (deltaY <= 0) {\n // the current Y is higher than the starting Y\n // so they scrolled up enough to be ignored\n this.progress = 0;\n this.state = 1 /* Inactive */;\n if (this.appliedStyles) {\n // reset the styles only if they were applied\n this.setCss(0, '', false, '');\n return;\n }\n return;\n }\n if (this.state === 1 /* Inactive */) {\n // this refresh is not already actively pulling down\n // get the content's scrollTop\n const scrollHostScrollTop = this.scrollEl.scrollTop;\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (scrollHostScrollTop > 0) {\n this.progress = 0;\n return;\n }\n // content scrolled all the way to the top, and dragging down\n this.state = 2 /* Pulling */;\n }\n // prevent native scroll events\n if (ev.cancelable) {\n ev.preventDefault();\n }\n // the refresher is actively pulling at this point\n // move the scroll element within the content element\n this.setCss(deltaY, '0ms', true, '');\n if (deltaY === 0) {\n // don't continue if there's no delta yet\n this.progress = 0;\n return;\n }\n const pullMin = this.pullMin;\n // set pull progress\n this.progress = deltaY / pullMin;\n // emit \"start\" if it hasn't started yet\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n this.ionPull.emit();\n // do nothing if the delta is less than the pull threshold\n if (deltaY < pullMin) {\n // ensure it stays in the pulling state, cuz its not ready yet\n this.state = 2 /* Pulling */;\n return;\n }\n if (deltaY > this.pullMax) {\n // they pulled farther than the max, so kick off the refresh\n this.beginRefresh();\n return;\n }\n // pulled farther than the pull min!!\n // it is now in the `ready` state!!\n // if they let go then it'll refresh, kerpow!!\n this.state = 4 /* Ready */;\n return;\n }\n onEnd() {\n // only run in a zone when absolutely necessary\n if (this.state === 4 /* Ready */) {\n // they pulled down far enough, so it's ready to refresh\n this.beginRefresh();\n }\n else if (this.state === 2 /* Pulling */) {\n // they were pulling down, but didn't pull down far enough\n // set the content back to it's original location\n // and close the refresher\n // set that the refresh is actively cancelling\n this.cancel();\n }\n }\n beginRefresh() {\n // assumes we're already back in a zone\n // they pulled down far enough, so it's ready to refresh\n this.state = 8 /* Refreshing */;\n // place the content in a hangout position while it thinks\n this.setCss(this.pullMin, this.snapbackDuration, true, '');\n // emit \"refresh\" because it was pulled down far enough\n // and they let go to begin refreshing\n this.ionRefresh.emit({\n complete: this.complete.bind(this)\n });\n }\n close(state, delay) {\n // create fallback timer incase something goes wrong with transitionEnd event\n setTimeout(() => {\n this.state = 1 /* Inactive */;\n this.progress = 0;\n this.didStart = false;\n this.setCss(0, '0ms', false, '');\n }, 600);\n // reset set the styles on the scroll element\n // set that the refresh is actively cancelling/completing\n this.state = state;\n this.setCss(0, this.closeDuration, true, delay);\n // TODO: stop gesture\n }\n setCss(y, duration, overflowVisible, delay) {\n if (this.nativeRefresher) {\n return;\n }\n this.appliedStyles = (y > 0);\n writeTask(() => {\n if (this.scrollEl && this.backgroundContentEl) {\n const scrollStyle = this.scrollEl.style;\n const backgroundStyle = this.backgroundContentEl.style;\n scrollStyle.transform = backgroundStyle.transform = ((y > 0) ? `translateY(${y}px) translateZ(0px)` : '');\n scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration;\n scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay;\n scrollStyle.overflow = (overflowVisible ? 'hidden' : '');\n }\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { slot: \"fixed\", class: {\n [mode]: true,\n // Used internally for styling\n [`refresher-${mode}`]: true,\n 'refresher-native': this.nativeRefresher,\n 'refresher-active': this.state !== 1 /* Inactive */,\n 'refresher-pulling': this.state === 2 /* Pulling */,\n 'refresher-ready': this.state === 4 /* Ready */,\n 'refresher-refreshing': this.state === 8 /* Refreshing */,\n 'refresher-cancelling': this.state === 16 /* Cancelling */,\n 'refresher-completing': this.state === 32 /* Completing */,\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nRefresher.style = {\n ios: refresherIosCss,\n md: refresherMdCss\n};\n\nconst RefresherContent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentWillLoad() {\n if (this.pullingIcon === undefined) {\n const mode = getIonMode(this);\n const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : 'arrow-down';\n this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && isPlatform('mobile') ? config.get('spinner', overflowRefresher) : 'circular');\n }\n if (this.refreshingSpinner === undefined) {\n const mode = getIonMode(this);\n this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'circular'));\n }\n }\n render() {\n const pullingIcon = this.pullingIcon;\n const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;\n const mode = getIonMode(this);\n return (h(Host, { class: mode }, h(\"div\", { class: \"refresher-pulling\" }, this.pullingIcon && hasSpinner &&\n h(\"div\", { class: \"refresher-pulling-icon\" }, h(\"div\", { class: \"spinner-arrow-container\" }, h(\"ion-spinner\", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' &&\n h(\"div\", { class: \"arrow-container\" }, h(\"ion-icon\", { name: \"caret-back-sharp\" })))), this.pullingIcon && !hasSpinner &&\n h(\"div\", { class: \"refresher-pulling-icon\" }, h(\"ion-icon\", { icon: this.pullingIcon, lazy: false })), this.pullingText &&\n h(\"div\", { class: \"refresher-pulling-text\", innerHTML: sanitizeDOMString(this.pullingText) })), h(\"div\", { class: \"refresher-refreshing\" }, this.refreshingSpinner &&\n h(\"div\", { class: \"refresher-refreshing-icon\" }, h(\"ion-spinner\", { name: this.refreshingSpinner })), this.refreshingText &&\n h(\"div\", { class: \"refresher-refreshing-text\", innerHTML: sanitizeDOMString(this.refreshingText) }))));\n }\n get el() { return getElement(this); }\n};\n\nexport { Refresher as ion_refresher, RefresherContent as ion_refresher_content };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/26-es5.js b/android/app/src/main/assets/public/26-es5.js new file mode 100644 index 000000000..7c1eab408 --- /dev/null +++ b/android/app/src/main/assets/public/26-es5.js @@ -0,0 +1,1462 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[26], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js": + /*!********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js ***! + \********************************************************************/ + + /*! exports provided: ion_refresher, ion_refresher_content */ + + /***/ + function node_modulesIonicCoreDistEsmIonRefresher_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_refresher", function () { + return Refresher; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_refresher_content", function () { + return RefresherContent; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./animation-54fe0237.js */ + "./node_modules/@ionic/core/dist/esm/animation-54fe0237.js"); + /* harmony import */ + + + var _cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./cubic-bezier-eea9a7a9.js */ + "./node_modules/@ionic/core/dist/esm/cubic-bezier-eea9a7a9.js"); + /* harmony import */ + + + var _index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./index-9e3fe806.js */ + "./node_modules/@ionic/core/dist/esm/index-9e3fe806.js"); + /* harmony import */ + + + var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! ./haptic-27b3f981.js */ + "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + /* harmony import */ + + + var _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( + /*! ./spinner-configs-cd7845af.js */ + "./node_modules/@ionic/core/dist/esm/spinner-configs-cd7845af.js"); + + var getRefresherAnimationType = function getRefresherAnimationType(contentEl) { + var previousSibling = contentEl.previousElementSibling; + var hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER'; + return hasHeader ? 'translate' : 'scale'; + }; + + var createPullingAnimation = function createPullingAnimation(type, pullingSpinner) { + return type === 'scale' ? createScaleAnimation(pullingSpinner) : createTranslateAnimation(pullingSpinner); + }; + + var createBaseAnimation = function createBaseAnimation(pullingRefresherIcon) { + var spinner = pullingRefresherIcon.querySelector('ion-spinner'); + var circle = spinner.shadowRoot.querySelector('circle'); + var spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container'); + var arrowContainer = pullingRefresherIcon.querySelector('.arrow-container'); + var arrow = arrowContainer ? arrowContainer.querySelector('ion-icon') : null; + var baseAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().duration(1000).easing('ease-out'); + var spinnerArrowContainerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(spinnerArrowContainer).keyframes([{ + offset: 0, + opacity: '0.3' + }, { + offset: 0.45, + opacity: '0.3' + }, { + offset: 0.55, + opacity: '1' + }, { + offset: 1, + opacity: '1' + }]); + var circleInnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(circle).keyframes([{ + offset: 0, + strokeDasharray: '1px, 200px' + }, { + offset: 0.20, + strokeDasharray: '1px, 200px' + }, { + offset: 0.55, + strokeDasharray: '100px, 200px' + }, { + offset: 1, + strokeDasharray: '100px, 200px' + }]); + var circleOuterAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(spinner).keyframes([{ + offset: 0, + transform: 'rotate(-90deg)' + }, { + offset: 1, + transform: 'rotate(210deg)' + }]); + /** + * Only add arrow animation if present + * this allows users to customize the spinners + * without errors being thrown + */ + + if (arrowContainer && arrow) { + var arrowContainerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(arrowContainer).keyframes([{ + offset: 0, + transform: 'rotate(0deg)' + }, { + offset: 0.30, + transform: 'rotate(0deg)' + }, { + offset: 0.55, + transform: 'rotate(280deg)' + }, { + offset: 1, + transform: 'rotate(400deg)' + }]); + var arrowAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(arrow).keyframes([{ + offset: 0, + transform: 'translateX(2px) scale(0)' + }, { + offset: 0.30, + transform: 'translateX(2px) scale(0)' + }, { + offset: 0.55, + transform: 'translateX(-1.5px) scale(1)' + }, { + offset: 1, + transform: 'translateX(-1.5px) scale(1)' + }]); + baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]); + } + + return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]); + }; + + var createScaleAnimation = function createScaleAnimation(pullingRefresherIcon) { + var height = pullingRefresherIcon.clientHeight; + var spinnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(pullingRefresherIcon).keyframes([{ + offset: 0, + transform: "scale(0) translateY(-".concat(height + 20, "px)") + }, { + offset: 1, + transform: 'scale(1) translateY(100px)' + }]); + return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]); + }; + + var createTranslateAnimation = function createTranslateAnimation(pullingRefresherIcon) { + var height = pullingRefresherIcon.clientHeight; + var spinnerAnimation = Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().addElement(pullingRefresherIcon).keyframes([{ + offset: 0, + transform: "translateY(-".concat(height + 20, "px)") + }, { + offset: 1, + transform: 'translateY(100px)' + }]); + return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]); + }; + + var createSnapBackAnimation = function createSnapBackAnimation(pullingRefresherIcon) { + return Object(_animation_54fe0237_js__WEBPACK_IMPORTED_MODULE_3__["c"])().duration(125).addElement(pullingRefresherIcon).fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)'); + }; // iOS Native Refresher + // ----------------------------- + + + var setSpinnerOpacity = function setSpinnerOpacity(spinner, opacity) { + spinner.style.setProperty('opacity', opacity.toString()); + }; + + var handleScrollWhilePulling = function handleScrollWhilePulling(spinner, ticks, opacity, currentTickToShow) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + setSpinnerOpacity(spinner, opacity); + ticks.forEach(function (el, i) { + return el.style.setProperty('opacity', i <= currentTickToShow ? '0.99' : '0'); + }); + }); + }; + + var handleScrollWhileRefreshing = function handleScrollWhileRefreshing(spinner, lastVelocityY) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + // If user pulls down quickly, the spinner should spin faster + spinner.style.setProperty('--refreshing-rotation-duration', lastVelocityY >= 1.0 ? '0.5s' : '2s'); + spinner.style.setProperty('opacity', '1'); + }); + }; + + var translateElement = function translateElement(el, value) { + if (!el) { + return Promise.resolve(); + } + + var trans = transitionEndAsync(el, 200); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + el.style.setProperty('transition', '0.2s all ease-out'); + + if (value === undefined) { + el.style.removeProperty('transform'); + } else { + el.style.setProperty('transform', "translate3d(0px, ".concat(value, ", 0px)")); + } + }); + return trans; + }; // Utils + // ----------------------------- + + + var shouldUseNativeRefresher = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(referenceEl, mode) { + var refresherContent, pullingSpinner, refreshingSpinner; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + refresherContent = referenceEl.querySelector('ion-refresher-content'); + + if (refresherContent) { + _context.next = 3; + break; + } + + return _context.abrupt("return", Promise.resolve(false)); + + case 3: + _context.next = 5; + return refresherContent.componentOnReady(); + + case 5: + pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner'); + refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner'); + return _context.abrupt("return", pullingSpinner !== null && refreshingSpinner !== null && (mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined || mode === 'md')); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function shouldUseNativeRefresher(_x, _x2) { + return _ref.apply(this, arguments); + }; + }(); + + var transitionEndAsync = function transitionEndAsync(el) { + var expectedDuration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + return new Promise(function (resolve) { + transitionEnd(el, expectedDuration, resolve); + }); + }; + + var transitionEnd = function transitionEnd(el) { + var expectedDuration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + var callback = arguments.length > 2 ? arguments[2] : undefined; + var unRegTrans; + var animationTimeout; + var opts = { + passive: true + }; + var ANIMATION_FALLBACK_TIMEOUT = 500; + + var unregister = function unregister() { + if (unRegTrans) { + unRegTrans(); + } + }; + + var onTransitionEnd = function onTransitionEnd(ev) { + if (ev === undefined || el === ev.target) { + unregister(); + callback(ev); + } + }; + + if (el) { + el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts); + el.addEventListener('transitionend', onTransitionEnd, opts); + animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT); + + unRegTrans = function unRegTrans() { + if (animationTimeout) { + clearTimeout(animationTimeout); + animationTimeout = undefined; + } + + el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts); + el.removeEventListener('transitionend', onTransitionEnd, opts); + }; + } + + return unregister; + }; + + var refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}"; + var refresherMdCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid #ececec;background:white;-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}"; + + var Refresher = /*#__PURE__*/function () { + function Refresher(hostRef) { + _classCallCheck(this, Refresher); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRefresh = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRefresh", 7); + this.ionPull = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionPull", 7); + this.ionStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStart", 7); + this.appliedStyles = false; + this.didStart = false; + this.progress = 0; + this.pointerDown = false; + this.needsCompletion = false; + this.didRefresh = false; + this.lastVelocityY = 0; + this.animations = []; + this.nativeRefresher = false; + /** + * The current state which the refresher is in. The refresher's states include: + * + * - `inactive` - The refresher is not being pulled down or refreshing and is currently hidden. + * - `pulling` - The user is actively pulling down the refresher, but has not reached the point yet that if the user lets go, it'll refresh. + * - `cancelling` - The user pulled down the refresher and let go, but did not pull down far enough to kick off the `refreshing` state. After letting go, the refresher is in the `cancelling` state while it is closing, and will go back to the `inactive` state once closed. + * - `ready` - The user has pulled down the refresher far enough that if they let go, it'll begin the `refreshing` state. + * - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state. + * - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state. + */ + + this.state = 1 + /* Inactive */ + ; + /** + * The minimum distance the user must pull down until the + * refresher will go into the `refreshing` state. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + + this.pullMin = 60; + /** + * The maximum distance of the pull until the refresher + * will automatically go into the `refreshing` state. + * Defaults to the result of `pullMin + 60`. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + + this.pullMax = this.pullMin + 60; + /** + * Time it takes to close the refresher. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + + this.closeDuration = '280ms'; + /** + * Time it takes the refresher to to snap back to the `refreshing` state. + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + + this.snapbackDuration = '280ms'; + /** + * How much to multiply the pull speed by. To slow the pull animation down, + * pass a number less than `1`. To speed up the pull, pass a number greater + * than `1`. The default value is `1` which is equal to the speed of the cursor. + * If a negative value is passed in, the factor will be `1` instead. + * + * For example: If the value passed is `1.2` and the content is dragged by + * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels + * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount + * will be `8` pixels, less than the amount the cursor has moved. + * + * Does not apply when the refresher content uses a spinner, + * enabling the native refresher. + */ + + this.pullFactor = 1; + /** + * If `true`, the refresher will be hidden. + */ + + this.disabled = false; + } + + _createClass(Refresher, [{ + key: "disabledChanged", + value: function disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + }, { + key: "checkNativeRefresher", + value: function () { + var _checkNativeRefresher = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var useNativeRefresher, contentEl; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return shouldUseNativeRefresher(this.el, Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this)); + + case 2: + useNativeRefresher = _context2.sent; + + if (useNativeRefresher && !this.nativeRefresher) { + contentEl = this.el.closest('ion-content'); + this.setupNativeRefresher(contentEl); + } else if (!useNativeRefresher) { + this.destroyNativeRefresher(); + } + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function checkNativeRefresher() { + return _checkNativeRefresher.apply(this, arguments); + } + + return checkNativeRefresher; + }() + }, { + key: "destroyNativeRefresher", + value: function destroyNativeRefresher() { + if (this.scrollEl && this.scrollListenerCallback) { + this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback); + this.scrollListenerCallback = undefined; + } + + this.nativeRefresher = false; + } + }, { + key: "resetNativeRefresher", + value: function () { + var _resetNativeRefresher = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(el, state) { + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + this.state = state; + + if (!(Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios')) { + _context3.next = 6; + break; + } + + _context3.next = 4; + return translateElement(el, undefined); + + case 4: + _context3.next = 8; + break; + + case 6: + _context3.next = 8; + return transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200); + + case 8: + this.didRefresh = false; + this.needsCompletion = false; + this.pointerDown = false; + this.animations.forEach(function (ani) { + return ani.destroy(); + }); + this.animations = []; + this.progress = 0; + this.state = 1 + /* Inactive */ + ; + + case 15: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function resetNativeRefresher(_x3, _x4) { + return _resetNativeRefresher.apply(this, arguments); + } + + return resetNativeRefresher; + }() + }, { + key: "setupiOSNativeRefresher", + value: function () { + var _setupiOSNativeRefresher = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(pullingSpinner, refreshingSpinner) { + var _this = this; + + var ticks, MAX_PULL, NUM_TICKS; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + this.elementToTransform = this.scrollEl; + ticks = pullingSpinner.shadowRoot.querySelectorAll('svg'); + MAX_PULL = this.scrollEl.clientHeight * 0.16; + NUM_TICKS = ticks.length; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + return ticks.forEach(function (el) { + return el.style.setProperty('animation', 'none'); + }); + }); + + this.scrollListenerCallback = function () { + // If pointer is not on screen or refresher is not active, ignore scroll + if (!_this.pointerDown && _this.state === 1 + /* Inactive */ + ) { + return; + } + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + // PTR should only be active when overflow scrolling at the top + var scrollTop = _this.scrollEl.scrollTop; + var refresherHeight = _this.el.clientHeight; + + if (scrollTop > 0) { + /** + * If refresher is refreshing and user tries to scroll + * progressively fade refresher out/in + */ + if (_this.state === 8 + /* Refreshing */ + ) { + var ratio = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, scrollTop / (refresherHeight * 0.5), 1); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + return setSpinnerOpacity(refreshingSpinner, 1 - ratio); + }); + return; + } + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + return setSpinnerOpacity(pullingSpinner, 0); + }); + return; + } + + if (_this.pointerDown) { + if (!_this.didStart) { + _this.didStart = true; + + _this.ionStart.emit(); + } // emit "pulling" on every move + + + if (_this.pointerDown) { + _this.ionPull.emit(); + } + } // delay showing the next tick marks until user has pulled 30px + + + var opacity = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, Math.abs(scrollTop) / refresherHeight, 0.99); + var pullAmount = _this.progress = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, (Math.abs(scrollTop) - 30) / MAX_PULL, 1); + var currentTickToShow = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, Math.floor(pullAmount * NUM_TICKS), NUM_TICKS - 1); + var shouldShowRefreshingSpinner = _this.state === 8 + /* Refreshing */ + || currentTickToShow === NUM_TICKS - 1; + + if (shouldShowRefreshingSpinner) { + if (_this.pointerDown) { + handleScrollWhileRefreshing(refreshingSpinner, _this.lastVelocityY); + } + + if (!_this.didRefresh) { + _this.beginRefresh(); + + _this.didRefresh = true; + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_6__["d"])({ + style: 'light' + }); + /** + * Translate the content element otherwise when pointer is removed + * from screen the scroll content will bounce back over the refresher + */ + + if (!_this.pointerDown) { + translateElement(_this.elementToTransform, "".concat(refresherHeight, "px")); + } + } + } else { + _this.state = 2 + /* Pulling */ + ; + handleScrollWhilePulling(pullingSpinner, ticks, opacity, currentTickToShow); + } + }); + }; + + this.scrollEl.addEventListener('scroll', this.scrollListenerCallback); + _context4.next = 9; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 9: + this.gesture = _context4.sent.createGesture({ + el: this.scrollEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 5, + onStart: function onStart() { + _this.pointerDown = true; + + if (!_this.didRefresh) { + translateElement(_this.elementToTransform, '0px'); + } + /** + * If the content had `display: none` when + * the refresher was initialized, its clientHeight + * will be 0. When the gesture starts, the content + * will be visible, so try to get the correct + * client height again. This is most common when + * using the refresher in an ion-menu. + */ + + + if (MAX_PULL === 0) { + MAX_PULL = _this.scrollEl.clientHeight * 0.16; + } + }, + onMove: function onMove(ev) { + _this.lastVelocityY = ev.velocityY; + }, + onEnd: function onEnd() { + _this.pointerDown = false; + _this.didStart = false; + + if (_this.needsCompletion) { + _this.resetNativeRefresher(_this.elementToTransform, 32 + /* Completing */ + ); + + _this.needsCompletion = false; + } else if (_this.didRefresh) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + return translateElement(_this.elementToTransform, "".concat(_this.el.clientHeight, "px")); + }); + } + } + }); + this.disabledChanged(); + + case 11: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function setupiOSNativeRefresher(_x5, _x6) { + return _setupiOSNativeRefresher.apply(this, arguments); + } + + return setupiOSNativeRefresher; + }() + }, { + key: "setupMDNativeRefresher", + value: function () { + var _setupMDNativeRefresher = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(contentEl, pullingSpinner, refreshingSpinner) { + var _this2 = this; + + var circle, pullingRefresherIcon, refreshingCircle; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + circle = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(pullingSpinner).querySelector('circle'); + pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon'); + refreshingCircle = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(refreshingSpinner).querySelector('circle'); + + if (circle !== null && refreshingCircle !== null) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + circle.style.setProperty('animation', 'none'); // This lines up the animation on the refreshing spinner with the pulling spinner + + refreshingSpinner.style.setProperty('animation-delay', '-655ms'); + refreshingCircle.style.setProperty('animation-delay', '-655ms'); + }); + } + + _context6.next = 6; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 6: + this.gesture = _context6.sent.createGesture({ + el: this.scrollEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 5, + canStart: function canStart() { + return _this2.state !== 8 + /* Refreshing */ + && _this2.state !== 32 + /* Completing */ + && _this2.scrollEl.scrollTop === 0; + }, + onStart: function onStart(ev) { + ev.data = { + animation: undefined, + didStart: false, + cancelled: false + }; + }, + onMove: function onMove(ev) { + if (ev.velocityY < 0 && _this2.progress === 0 && !ev.data.didStart || ev.data.cancelled) { + ev.data.cancelled = true; + return; + } + + if (!ev.data.didStart) { + ev.data.didStart = true; + _this2.state = 2 + /* Pulling */ + ; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + var animationType = getRefresherAnimationType(contentEl); + var animation = createPullingAnimation(animationType, pullingRefresherIcon); + ev.data.animation = animation; + + _this2.scrollEl.style.setProperty('--overflow', 'hidden'); + + animation.progressStart(false, 0); + + _this2.ionStart.emit(); + + _this2.animations.push(animation); + }); + return; + } // Since we are using an easing curve, slow the gesture tracking down a bit + + + _this2.progress = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["h"])(0, ev.deltaY / 180 * 0.5, 1); + ev.data.animation.progressStep(_this2.progress); + + _this2.ionPull.emit(); + }, + onEnd: function onEnd(ev) { + if (!ev.data.didStart) { + return; + } + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + return _this2.scrollEl.style.removeProperty('--overflow'); + }); + + if (_this2.progress <= 0.4) { + _this2.gesture.enable(false); + + ev.data.animation.progressEnd(0, _this2.progress, 500).onFinish(function () { + _this2.animations.forEach(function (ani) { + return ani.destroy(); + }); + + _this2.animations = []; + + _this2.gesture.enable(true); + + _this2.state = 1 + /* Inactive */ + ; + }); + return; + } + + var progress = Object(_cubic_bezier_eea9a7a9_js__WEBPACK_IMPORTED_MODULE_4__["g"])([0, 0], [0, 0], [1, 1], [1, 1], _this2.progress)[0]; + var snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon); + + _this2.animations.push(snapBackAnimation); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', "".concat(progress * 100, "px")); + ev.data.animation.progressEnd(); + _context5.next = 4; + return snapBackAnimation.play(); + + case 4: + _this2.beginRefresh(); + + ev.data.animation.destroy(); + + case 6: + case "end": + return _context5.stop(); + } + } + }, _callee5); + }))); + } + }); + this.disabledChanged(); + + case 8: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function setupMDNativeRefresher(_x7, _x8, _x9) { + return _setupMDNativeRefresher.apply(this, arguments); + } + + return setupMDNativeRefresher; + }() + }, { + key: "setupNativeRefresher", + value: function () { + var _setupNativeRefresher = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(contentEl) { + var pullingSpinner, refreshingSpinner; + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + if (!(this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl)) { + _context7.next = 2; + break; + } + + return _context7.abrupt("return"); + + case 2: + /** + * If using non-native refresher before make sure + * we clean up any old CSS. This can happen when + * a user manually calls the refresh method in a + * component create callback before the native + * refresher is setup. + */ + this.setCss(0, '', false, ''); + this.nativeRefresher = true; + pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner'); + refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner'); + + if (Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) === 'ios') { + this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner); + } else { + this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner); + } + + case 7: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function setupNativeRefresher(_x10) { + return _setupNativeRefresher.apply(this, arguments); + } + + return setupNativeRefresher; + }() + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.checkNativeRefresher(); + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() { + var _this3 = this; + + var contentEl; + return regeneratorRuntime.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + if (!(this.el.getAttribute('slot') !== 'fixed')) { + _context8.next = 3; + break; + } + + console.error('Make sure you use: '); + return _context8.abrupt("return"); + + case 3: + contentEl = this.el.closest('ion-content'); + + if (contentEl) { + _context8.next = 7; + break; + } + + console.error(' must be used inside an '); + return _context8.abrupt("return"); + + case 7: + _context8.next = 9; + return contentEl.componentOnReady(); + + case 9: + _context8.next = 11; + return contentEl.getScrollElement(); + + case 11: + this.scrollEl = _context8.sent; + this.backgroundContentEl = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["g"])(contentEl).querySelector('#background-content'); + _context8.next = 15; + return shouldUseNativeRefresher(this.el, Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this)); + + case 15: + if (!_context8.sent) { + _context8.next = 19; + break; + } + + this.setupNativeRefresher(contentEl); + _context8.next = 23; + break; + + case 19: + _context8.next = 21; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 21: + this.gesture = _context8.sent.createGesture({ + el: contentEl, + gestureName: 'refresher', + gesturePriority: 31, + direction: 'y', + threshold: 20, + passive: false, + canStart: function canStart() { + return _this3.canStart(); + }, + onStart: function onStart() { + return _this3.onStart(); + }, + onMove: function onMove(ev) { + return _this3.onMove(ev); + }, + onEnd: function onEnd() { + return _this3.onEnd(); + } + }); + this.disabledChanged(); + + case 23: + case "end": + return _context8.stop(); + } + } + }, _callee8, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.destroyNativeRefresher(); + this.scrollEl = undefined; + + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** + * Call `complete()` when your async operation has completed. + * For example, the `refreshing` state is while the app is performing + * an asynchronous operation, such as receiving more data from an + * AJAX request. Once the data has been received, you then call this + * method to signify that the refreshing has completed and to close + * the refresher. This method also changes the refresher's state from + * `refreshing` to `completing`. + */ + + }, { + key: "complete", + value: function () { + var _complete = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() { + var _this4 = this; + + return regeneratorRuntime.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + if (this.nativeRefresher) { + this.needsCompletion = true; // Do not reset scroll el until user removes pointer from screen + + if (!this.pointerDown) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + return _this4.resetNativeRefresher(_this4.elementToTransform, 32 + /* Completing */ + ); + }); + }); + } + } else { + this.close(32 + /* Completing */ + , '120ms'); + } + + case 1: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function complete() { + return _complete.apply(this, arguments); + } + + return complete; + }() + /** + * Changes the refresher's state from `refreshing` to `cancelling`. + */ + + }, { + key: "cancel", + value: function () { + var _cancel = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() { + var _this5 = this; + + return regeneratorRuntime.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + if (this.nativeRefresher) { + // Do not reset scroll el until user removes pointer from screen + if (!this.pointerDown) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + return _this5.resetNativeRefresher(_this5.elementToTransform, 16 + /* Cancelling */ + ); + }); + }); + } + } else { + this.close(16 + /* Cancelling */ + , ''); + } + + case 1: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function cancel() { + return _cancel.apply(this, arguments); + } + + return cancel; + }() + /** + * A number representing how far down the user has pulled. + * The number `0` represents the user hasn't pulled down at all. The + * number `1`, and anything greater than `1`, represents that the user + * has pulled far enough down that when they let go then the refresh will + * happen. If they let go and the number is less than `1`, then the + * refresh will not happen, and the content will return to it's original + * position. + */ + + }, { + key: "getProgress", + value: function getProgress() { + return Promise.resolve(this.progress); + } + }, { + key: "canStart", + value: function canStart() { + if (!this.scrollEl) { + return false; + } + + if (this.state !== 1 + /* Inactive */ + ) { + return false; + } // if the scrollTop is greater than zero then it's + // not possible to pull the content down yet + + + if (this.scrollEl.scrollTop > 0) { + return false; + } + + return true; + } + }, { + key: "onStart", + value: function onStart() { + this.progress = 0; + this.state = 1 + /* Inactive */ + ; + } + }, { + key: "onMove", + value: function onMove(detail) { + if (!this.scrollEl) { + return; + } // this method can get called like a bazillion times per second, + // so it's built to be as efficient as possible, and does its + // best to do any DOM read/writes only when absolutely necessary + // if multi-touch then get out immediately + + + var ev = detail.event; + + if (ev.touches && ev.touches.length > 1) { + return; + } // do nothing if it's actively refreshing + // or it's in the way of closing + // or this was never a startY + + + if ((this.state & 56 + /* _BUSY_ */ + ) !== 0) { + return; + } + + var pullFactor = Number.isNaN(this.pullFactor) || this.pullFactor < 0 ? 1 : this.pullFactor; + var deltaY = detail.deltaY * pullFactor; // don't bother if they're scrolling up + // and have not already started dragging + + if (deltaY <= 0) { + // the current Y is higher than the starting Y + // so they scrolled up enough to be ignored + this.progress = 0; + this.state = 1 + /* Inactive */ + ; + + if (this.appliedStyles) { + // reset the styles only if they were applied + this.setCss(0, '', false, ''); + return; + } + + return; + } + + if (this.state === 1 + /* Inactive */ + ) { + // this refresh is not already actively pulling down + // get the content's scrollTop + var scrollHostScrollTop = this.scrollEl.scrollTop; // if the scrollTop is greater than zero then it's + // not possible to pull the content down yet + + if (scrollHostScrollTop > 0) { + this.progress = 0; + return; + } // content scrolled all the way to the top, and dragging down + + + this.state = 2 + /* Pulling */ + ; + } // prevent native scroll events + + + if (ev.cancelable) { + ev.preventDefault(); + } // the refresher is actively pulling at this point + // move the scroll element within the content element + + + this.setCss(deltaY, '0ms', true, ''); + + if (deltaY === 0) { + // don't continue if there's no delta yet + this.progress = 0; + return; + } + + var pullMin = this.pullMin; // set pull progress + + this.progress = deltaY / pullMin; // emit "start" if it hasn't started yet + + if (!this.didStart) { + this.didStart = true; + this.ionStart.emit(); + } // emit "pulling" on every move + + + this.ionPull.emit(); // do nothing if the delta is less than the pull threshold + + if (deltaY < pullMin) { + // ensure it stays in the pulling state, cuz its not ready yet + this.state = 2 + /* Pulling */ + ; + return; + } + + if (deltaY > this.pullMax) { + // they pulled farther than the max, so kick off the refresh + this.beginRefresh(); + return; + } // pulled farther than the pull min!! + // it is now in the `ready` state!! + // if they let go then it'll refresh, kerpow!! + + + this.state = 4 + /* Ready */ + ; + return; + } + }, { + key: "onEnd", + value: function onEnd() { + // only run in a zone when absolutely necessary + if (this.state === 4 + /* Ready */ + ) { + // they pulled down far enough, so it's ready to refresh + this.beginRefresh(); + } else if (this.state === 2 + /* Pulling */ + ) { + // they were pulling down, but didn't pull down far enough + // set the content back to it's original location + // and close the refresher + // set that the refresh is actively cancelling + this.cancel(); + } + } + }, { + key: "beginRefresh", + value: function beginRefresh() { + // assumes we're already back in a zone + // they pulled down far enough, so it's ready to refresh + this.state = 8 + /* Refreshing */ + ; // place the content in a hangout position while it thinks + + this.setCss(this.pullMin, this.snapbackDuration, true, ''); // emit "refresh" because it was pulled down far enough + // and they let go to begin refreshing + + this.ionRefresh.emit({ + complete: this.complete.bind(this) + }); + } + }, { + key: "close", + value: function close(state, delay) { + var _this6 = this; + + // create fallback timer incase something goes wrong with transitionEnd event + setTimeout(function () { + _this6.state = 1 + /* Inactive */ + ; + _this6.progress = 0; + _this6.didStart = false; + + _this6.setCss(0, '0ms', false, ''); + }, 600); // reset set the styles on the scroll element + // set that the refresh is actively cancelling/completing + + this.state = state; + this.setCss(0, this.closeDuration, true, delay); // TODO: stop gesture + } + }, { + key: "setCss", + value: function setCss(y, duration, overflowVisible, delay) { + var _this7 = this; + + if (this.nativeRefresher) { + return; + } + + this.appliedStyles = y > 0; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + if (_this7.scrollEl && _this7.backgroundContentEl) { + var scrollStyle = _this7.scrollEl.style; + var backgroundStyle = _this7.backgroundContentEl.style; + scrollStyle.transform = backgroundStyle.transform = y > 0 ? "translateY(".concat(y, "px) translateZ(0px)") : ''; + scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration; + scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay; + scrollStyle.overflow = overflowVisible ? 'hidden' : ''; + } + }); + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + slot: "fixed", + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "refresher-".concat(mode), true), _defineProperty(_class, 'refresher-native', this.nativeRefresher), _defineProperty(_class, 'refresher-active', this.state !== 1), _defineProperty(_class, 'refresher-pulling', this.state === 2), _defineProperty(_class, 'refresher-ready', this.state === 4), _defineProperty(_class, 'refresher-refreshing', this.state === 8), _defineProperty(_class, 'refresher-cancelling', this.state === 16), _defineProperty(_class, 'refresher-completing', this.state === 32), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "disabled": ["disabledChanged"] + }; + } + }]); + + return Refresher; + }(); + + Refresher.style = { + ios: refresherIosCss, + md: refresherMdCss + }; + + var RefresherContent = /*#__PURE__*/function () { + function RefresherContent(hostRef) { + _classCallCheck(this, RefresherContent); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(RefresherContent, [{ + key: "componentWillLoad", + value: function componentWillLoad() { + if (this.pullingIcon === undefined) { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : 'arrow-down'; + this.pullingIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('refreshingIcon', mode === 'ios' && Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["i"])('mobile') ? _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', overflowRefresher) : 'circular'); + } + + if (this.refreshingSpinner === undefined) { + var _mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + this.refreshingSpinner = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('refreshingSpinner', _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner', _mode === 'ios' ? 'lines' : 'circular')); + } + } + }, { + key: "render", + value: function render() { + var pullingIcon = this.pullingIcon; + var hasSpinner = pullingIcon != null && _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_7__["S"][pullingIcon] !== undefined; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": mode + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-pulling" + }, this.pullingIcon && hasSpinner && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-pulling-icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "spinner-arrow-container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { + name: this.pullingIcon, + paused: true + }), mode === 'md' && this.pullingIcon === 'circular' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "arrow-container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + name: "caret-back-sharp" + })))), this.pullingIcon && !hasSpinner && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-pulling-icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + icon: this.pullingIcon, + lazy: false + })), this.pullingText && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-pulling-text", + innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__["s"])(this.pullingText) + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-refreshing" + }, this.refreshingSpinner && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-refreshing-icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-spinner", { + name: this.refreshingSpinner + })), this.refreshingText && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "refresher-refreshing-text", + innerHTML: Object(_index_9e3fe806_js__WEBPACK_IMPORTED_MODULE_5__["s"])(this.refreshingText) + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return RefresherContent; + }(); + /***/ + + } +}]); +//# sourceMappingURL=26-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/26-es5.js.map b/android/app/src/main/assets/public/26-es5.js.map new file mode 100644 index 000000000..79e1a4941 --- /dev/null +++ b/android/app/src/main/assets/public/26-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js"],"names":["getRefresherAnimationType","contentEl","previousSibling","previousElementSibling","hasHeader","tagName","createPullingAnimation","type","pullingSpinner","createScaleAnimation","createTranslateAnimation","createBaseAnimation","pullingRefresherIcon","spinner","querySelector","circle","shadowRoot","spinnerArrowContainer","arrowContainer","arrow","baseAnimation","duration","easing","spinnerArrowContainerAnimation","addElement","keyframes","offset","opacity","circleInnerAnimation","strokeDasharray","circleOuterAnimation","transform","arrowContainerAnimation","arrowAnimation","addAnimation","height","clientHeight","spinnerAnimation","createSnapBackAnimation","fromTo","setSpinnerOpacity","style","setProperty","toString","handleScrollWhilePulling","ticks","currentTickToShow","forEach","el","i","handleScrollWhileRefreshing","lastVelocityY","translateElement","value","Promise","resolve","trans","transitionEndAsync","undefined","removeProperty","shouldUseNativeRefresher","referenceEl","mode","refresherContent","componentOnReady","refreshingSpinner","webkitOverflowScrolling","expectedDuration","transitionEnd","callback","unRegTrans","animationTimeout","opts","passive","ANIMATION_FALLBACK_TIMEOUT","unregister","onTransitionEnd","ev","target","addEventListener","setTimeout","clearTimeout","removeEventListener","refresherIosCss","refresherMdCss","Refresher","hostRef","ionRefresh","ionPull","ionStart","appliedStyles","didStart","progress","pointerDown","needsCompletion","didRefresh","animations","nativeRefresher","state","pullMin","pullMax","closeDuration","snapbackDuration","pullFactor","disabled","gesture","enable","useNativeRefresher","closest","setupNativeRefresher","destroyNativeRefresher","scrollEl","scrollListenerCallback","ani","destroy","elementToTransform","querySelectorAll","MAX_PULL","NUM_TICKS","length","scrollTop","refresherHeight","ratio","emit","Math","abs","pullAmount","floor","shouldShowRefreshingSpinner","beginRefresh","createGesture","gestureName","gesturePriority","direction","threshold","onStart","onMove","velocityY","onEnd","resetNativeRefresher","disabledChanged","refreshingCircle","canStart","data","animation","cancelled","animationType","progressStart","push","deltaY","progressStep","progressEnd","onFinish","snapBackAnimation","play","setCss","setupiOSNativeRefresher","setupMDNativeRefresher","checkNativeRefresher","getAttribute","console","error","getScrollElement","backgroundContentEl","close","detail","event","touches","Number","isNaN","scrollHostScrollTop","cancelable","preventDefault","cancel","complete","bind","delay","y","overflowVisible","scrollStyle","backgroundStyle","transitionDuration","transitionDelay","overflow","slot","ios","md","RefresherContent","pullingIcon","overflowRefresher","get","hasSpinner","name","paused","icon","lazy","pullingText","innerHTML","refreshingText"],"mappings":"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","file":"26-es5.js","sourcesContent":["import { c as writeTask, r as registerInstance, e as createEvent, f as readTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { i as isPlatform, b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp, g as getElementRoot, r as raf } from './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-eea9a7a9.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nimport { d as hapticImpact } from './haptic-27b3f981.js';\nimport { S as SPINNERS } from './spinner-configs-cd7845af.js';\n\nconst getRefresherAnimationType = (contentEl) => {\n const previousSibling = contentEl.previousElementSibling;\n const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';\n return hasHeader ? 'translate' : 'scale';\n};\nconst createPullingAnimation = (type, pullingSpinner) => {\n return type === 'scale' ? createScaleAnimation(pullingSpinner) : createTranslateAnimation(pullingSpinner);\n};\nconst createBaseAnimation = (pullingRefresherIcon) => {\n const spinner = pullingRefresherIcon.querySelector('ion-spinner');\n const circle = spinner.shadowRoot.querySelector('circle');\n const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');\n const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');\n const arrow = (arrowContainer) ? arrowContainer.querySelector('ion-icon') : null;\n const baseAnimation = createAnimation()\n .duration(1000)\n .easing('ease-out');\n const spinnerArrowContainerAnimation = createAnimation()\n .addElement(spinnerArrowContainer)\n .keyframes([\n { offset: 0, opacity: '0.3' },\n { offset: 0.45, opacity: '0.3' },\n { offset: 0.55, opacity: '1' },\n { offset: 1, opacity: '1' }\n ]);\n const circleInnerAnimation = createAnimation()\n .addElement(circle)\n .keyframes([\n { offset: 0, strokeDasharray: '1px, 200px' },\n { offset: 0.20, strokeDasharray: '1px, 200px' },\n { offset: 0.55, strokeDasharray: '100px, 200px' },\n { offset: 1, strokeDasharray: '100px, 200px' }\n ]);\n const circleOuterAnimation = createAnimation()\n .addElement(spinner)\n .keyframes([\n { offset: 0, transform: 'rotate(-90deg)' },\n { offset: 1, transform: 'rotate(210deg)' }\n ]);\n /**\n * Only add arrow animation if present\n * this allows users to customize the spinners\n * without errors being thrown\n */\n if (arrowContainer && arrow) {\n const arrowContainerAnimation = createAnimation()\n .addElement(arrowContainer)\n .keyframes([\n { offset: 0, transform: 'rotate(0deg)' },\n { offset: 0.30, transform: 'rotate(0deg)' },\n { offset: 0.55, transform: 'rotate(280deg)' },\n { offset: 1, transform: 'rotate(400deg)' }\n ]);\n const arrowAnimation = createAnimation()\n .addElement(arrow)\n .keyframes([\n { offset: 0, transform: 'translateX(2px) scale(0)' },\n { offset: 0.30, transform: 'translateX(2px) scale(0)' },\n { offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },\n { offset: 1, transform: 'translateX(-1.5px) scale(1)' }\n ]);\n baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);\n }\n return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]);\n};\nconst createScaleAnimation = (pullingRefresherIcon) => {\n const height = pullingRefresherIcon.clientHeight;\n const spinnerAnimation = createAnimation()\n .addElement(pullingRefresherIcon)\n .keyframes([\n { offset: 0, transform: `scale(0) translateY(-${height + 20}px)` },\n { offset: 1, transform: 'scale(1) translateY(100px)' }\n ]);\n return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);\n};\nconst createTranslateAnimation = (pullingRefresherIcon) => {\n const height = pullingRefresherIcon.clientHeight;\n const spinnerAnimation = createAnimation()\n .addElement(pullingRefresherIcon)\n .keyframes([\n { offset: 0, transform: `translateY(-${height + 20}px)` },\n { offset: 1, transform: 'translateY(100px)' }\n ]);\n return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);\n};\nconst createSnapBackAnimation = (pullingRefresherIcon) => {\n return createAnimation()\n .duration(125)\n .addElement(pullingRefresherIcon)\n .fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)');\n};\n// iOS Native Refresher\n// -----------------------------\nconst setSpinnerOpacity = (spinner, opacity) => {\n spinner.style.setProperty('opacity', opacity.toString());\n};\nconst handleScrollWhilePulling = (spinner, ticks, opacity, currentTickToShow) => {\n writeTask(() => {\n setSpinnerOpacity(spinner, opacity);\n ticks.forEach((el, i) => el.style.setProperty('opacity', (i <= currentTickToShow) ? '0.99' : '0'));\n });\n};\nconst handleScrollWhileRefreshing = (spinner, lastVelocityY) => {\n writeTask(() => {\n // If user pulls down quickly, the spinner should spin faster\n spinner.style.setProperty('--refreshing-rotation-duration', (lastVelocityY >= 1.0) ? '0.5s' : '2s');\n spinner.style.setProperty('opacity', '1');\n });\n};\nconst translateElement = (el, value) => {\n if (!el) {\n return Promise.resolve();\n }\n const trans = transitionEndAsync(el, 200);\n writeTask(() => {\n el.style.setProperty('transition', '0.2s all ease-out');\n if (value === undefined) {\n el.style.removeProperty('transform');\n }\n else {\n el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`);\n }\n });\n return trans;\n};\n// Utils\n// -----------------------------\nconst shouldUseNativeRefresher = async (referenceEl, mode) => {\n const refresherContent = referenceEl.querySelector('ion-refresher-content');\n if (!refresherContent) {\n return Promise.resolve(false);\n }\n await refresherContent.componentOnReady();\n const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');\n const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');\n return (pullingSpinner !== null &&\n refreshingSpinner !== null &&\n ((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||\n mode === 'md'));\n};\nconst transitionEndAsync = (el, expectedDuration = 0) => {\n return new Promise(resolve => {\n transitionEnd(el, expectedDuration, resolve);\n });\n};\nconst transitionEnd = (el, expectedDuration = 0, callback) => {\n let unRegTrans;\n let animationTimeout;\n const opts = { passive: true };\n const ANIMATION_FALLBACK_TIMEOUT = 500;\n const unregister = () => {\n if (unRegTrans) {\n unRegTrans();\n }\n };\n const onTransitionEnd = (ev) => {\n if (ev === undefined || el === ev.target) {\n unregister();\n callback(ev);\n }\n };\n if (el) {\n el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.addEventListener('transitionend', onTransitionEnd, opts);\n animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);\n unRegTrans = () => {\n if (animationTimeout) {\n clearTimeout(animationTimeout);\n animationTimeout = undefined;\n }\n el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.removeEventListener('transitionend', onTransitionEnd, opts);\n };\n }\n return unregister;\n};\n\nconst refresherIosCss = \"ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}\";\n\nconst refresherMdCss = \"ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid #ececec;background:white;-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}\";\n\nconst Refresher = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRefresh = createEvent(this, \"ionRefresh\", 7);\n this.ionPull = createEvent(this, \"ionPull\", 7);\n this.ionStart = createEvent(this, \"ionStart\", 7);\n this.appliedStyles = false;\n this.didStart = false;\n this.progress = 0;\n this.pointerDown = false;\n this.needsCompletion = false;\n this.didRefresh = false;\n this.lastVelocityY = 0;\n this.animations = [];\n this.nativeRefresher = false;\n /**\n * The current state which the refresher is in. The refresher's states include:\n *\n * - `inactive` - The refresher is not being pulled down or refreshing and is currently hidden.\n * - `pulling` - The user is actively pulling down the refresher, but has not reached the point yet that if the user lets go, it'll refresh.\n * - `cancelling` - The user pulled down the refresher and let go, but did not pull down far enough to kick off the `refreshing` state. After letting go, the refresher is in the `cancelling` state while it is closing, and will go back to the `inactive` state once closed.\n * - `ready` - The user has pulled down the refresher far enough that if they let go, it'll begin the `refreshing` state.\n * - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state.\n * - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state.\n */\n this.state = 1 /* Inactive */;\n /**\n * The minimum distance the user must pull down until the\n * refresher will go into the `refreshing` state.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullMin = 60;\n /**\n * The maximum distance of the pull until the refresher\n * will automatically go into the `refreshing` state.\n * Defaults to the result of `pullMin + 60`.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullMax = this.pullMin + 60;\n /**\n * Time it takes to close the refresher.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.closeDuration = '280ms';\n /**\n * Time it takes the refresher to to snap back to the `refreshing` state.\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.snapbackDuration = '280ms';\n /**\n * How much to multiply the pull speed by. To slow the pull animation down,\n * pass a number less than `1`. To speed up the pull, pass a number greater\n * than `1`. The default value is `1` which is equal to the speed of the cursor.\n * If a negative value is passed in, the factor will be `1` instead.\n *\n * For example: If the value passed is `1.2` and the content is dragged by\n * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels\n * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount\n * will be `8` pixels, less than the amount the cursor has moved.\n *\n * Does not apply when the refresher content uses a spinner,\n * enabling the native refresher.\n */\n this.pullFactor = 1;\n /**\n * If `true`, the refresher will be hidden.\n */\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async checkNativeRefresher() {\n const useNativeRefresher = await shouldUseNativeRefresher(this.el, getIonMode(this));\n if (useNativeRefresher && !this.nativeRefresher) {\n const contentEl = this.el.closest('ion-content');\n this.setupNativeRefresher(contentEl);\n }\n else if (!useNativeRefresher) {\n this.destroyNativeRefresher();\n }\n }\n destroyNativeRefresher() {\n if (this.scrollEl && this.scrollListenerCallback) {\n this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback);\n this.scrollListenerCallback = undefined;\n }\n this.nativeRefresher = false;\n }\n async resetNativeRefresher(el, state) {\n this.state = state;\n if (getIonMode(this) === 'ios') {\n await translateElement(el, undefined);\n }\n else {\n await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200);\n }\n this.didRefresh = false;\n this.needsCompletion = false;\n this.pointerDown = false;\n this.animations.forEach(ani => ani.destroy());\n this.animations = [];\n this.progress = 0;\n this.state = 1 /* Inactive */;\n }\n async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {\n this.elementToTransform = this.scrollEl;\n const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg');\n let MAX_PULL = this.scrollEl.clientHeight * 0.16;\n const NUM_TICKS = ticks.length;\n writeTask(() => ticks.forEach(el => el.style.setProperty('animation', 'none')));\n this.scrollListenerCallback = () => {\n // If pointer is not on screen or refresher is not active, ignore scroll\n if (!this.pointerDown && this.state === 1 /* Inactive */) {\n return;\n }\n readTask(() => {\n // PTR should only be active when overflow scrolling at the top\n const scrollTop = this.scrollEl.scrollTop;\n const refresherHeight = this.el.clientHeight;\n if (scrollTop > 0) {\n /**\n * If refresher is refreshing and user tries to scroll\n * progressively fade refresher out/in\n */\n if (this.state === 8 /* Refreshing */) {\n const ratio = clamp(0, scrollTop / (refresherHeight * 0.5), 1);\n writeTask(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio));\n return;\n }\n writeTask(() => setSpinnerOpacity(pullingSpinner, 0));\n return;\n }\n if (this.pointerDown) {\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n if (this.pointerDown) {\n this.ionPull.emit();\n }\n }\n // delay showing the next tick marks until user has pulled 30px\n const opacity = clamp(0, Math.abs(scrollTop) / refresherHeight, 0.99);\n const pullAmount = this.progress = clamp(0, (Math.abs(scrollTop) - 30) / MAX_PULL, 1);\n const currentTickToShow = clamp(0, Math.floor(pullAmount * NUM_TICKS), NUM_TICKS - 1);\n const shouldShowRefreshingSpinner = this.state === 8 /* Refreshing */ || currentTickToShow === NUM_TICKS - 1;\n if (shouldShowRefreshingSpinner) {\n if (this.pointerDown) {\n handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY);\n }\n if (!this.didRefresh) {\n this.beginRefresh();\n this.didRefresh = true;\n hapticImpact({ style: 'light' });\n /**\n * Translate the content element otherwise when pointer is removed\n * from screen the scroll content will bounce back over the refresher\n */\n if (!this.pointerDown) {\n translateElement(this.elementToTransform, `${refresherHeight}px`);\n }\n }\n }\n else {\n this.state = 2 /* Pulling */;\n handleScrollWhilePulling(pullingSpinner, ticks, opacity, currentTickToShow);\n }\n });\n };\n this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n onStart: () => {\n this.pointerDown = true;\n if (!this.didRefresh) {\n translateElement(this.elementToTransform, '0px');\n }\n /**\n * If the content had `display: none` when\n * the refresher was initialized, its clientHeight\n * will be 0. When the gesture starts, the content\n * will be visible, so try to get the correct\n * client height again. This is most common when\n * using the refresher in an ion-menu.\n */\n if (MAX_PULL === 0) {\n MAX_PULL = this.scrollEl.clientHeight * 0.16;\n }\n },\n onMove: ev => {\n this.lastVelocityY = ev.velocityY;\n },\n onEnd: () => {\n this.pointerDown = false;\n this.didStart = false;\n if (this.needsCompletion) {\n this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */);\n this.needsCompletion = false;\n }\n else if (this.didRefresh) {\n readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));\n }\n },\n });\n this.disabledChanged();\n }\n async setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner) {\n const circle = getElementRoot(pullingSpinner).querySelector('circle');\n const pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon');\n const refreshingCircle = getElementRoot(refreshingSpinner).querySelector('circle');\n if (circle !== null && refreshingCircle !== null) {\n writeTask(() => {\n circle.style.setProperty('animation', 'none');\n // This lines up the animation on the refreshing spinner with the pulling spinner\n refreshingSpinner.style.setProperty('animation-delay', '-655ms');\n refreshingCircle.style.setProperty('animation-delay', '-655ms');\n });\n }\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n canStart: () => this.state !== 8 /* Refreshing */ && this.state !== 32 /* Completing */ && this.scrollEl.scrollTop === 0,\n onStart: (ev) => {\n ev.data = { animation: undefined, didStart: false, cancelled: false };\n },\n onMove: (ev) => {\n if ((ev.velocityY < 0 && this.progress === 0 && !ev.data.didStart) || ev.data.cancelled) {\n ev.data.cancelled = true;\n return;\n }\n if (!ev.data.didStart) {\n ev.data.didStart = true;\n this.state = 2 /* Pulling */;\n writeTask(() => {\n const animationType = getRefresherAnimationType(contentEl);\n const animation = createPullingAnimation(animationType, pullingRefresherIcon);\n ev.data.animation = animation;\n this.scrollEl.style.setProperty('--overflow', 'hidden');\n animation.progressStart(false, 0);\n this.ionStart.emit();\n this.animations.push(animation);\n });\n return;\n }\n // Since we are using an easing curve, slow the gesture tracking down a bit\n this.progress = clamp(0, (ev.deltaY / 180) * 0.5, 1);\n ev.data.animation.progressStep(this.progress);\n this.ionPull.emit();\n },\n onEnd: (ev) => {\n if (!ev.data.didStart) {\n return;\n }\n writeTask(() => this.scrollEl.style.removeProperty('--overflow'));\n if (this.progress <= 0.4) {\n this.gesture.enable(false);\n ev.data.animation\n .progressEnd(0, this.progress, 500)\n .onFinish(() => {\n this.animations.forEach(ani => ani.destroy());\n this.animations = [];\n this.gesture.enable(true);\n this.state = 1 /* Inactive */;\n });\n return;\n }\n const progress = getTimeGivenProgression([0, 0], [0, 0], [1, 1], [1, 1], this.progress)[0];\n const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon);\n this.animations.push(snapBackAnimation);\n writeTask(async () => {\n pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${(progress * 100)}px`);\n ev.data.animation.progressEnd();\n await snapBackAnimation.play();\n this.beginRefresh();\n ev.data.animation.destroy();\n });\n }\n });\n this.disabledChanged();\n }\n async setupNativeRefresher(contentEl) {\n if (this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl) {\n return;\n }\n /**\n * If using non-native refresher before make sure\n * we clean up any old CSS. This can happen when\n * a user manually calls the refresh method in a\n * component create callback before the native\n * refresher is setup.\n */\n this.setCss(0, '', false, '');\n this.nativeRefresher = true;\n const pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner');\n const refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');\n if (getIonMode(this) === 'ios') {\n this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner);\n }\n else {\n this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner);\n }\n }\n componentDidUpdate() {\n this.checkNativeRefresher();\n }\n async connectedCallback() {\n if (this.el.getAttribute('slot') !== 'fixed') {\n console.error('Make sure you use: ');\n return;\n }\n const contentEl = this.el.closest('ion-content');\n if (!contentEl) {\n console.error(' must be used inside an ');\n return;\n }\n await contentEl.componentOnReady();\n this.scrollEl = await contentEl.getScrollElement();\n this.backgroundContentEl = getElementRoot(contentEl).querySelector('#background-content');\n if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {\n this.setupNativeRefresher(contentEl);\n }\n else {\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: contentEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 20,\n passive: false,\n canStart: () => this.canStart(),\n onStart: () => this.onStart(),\n onMove: ev => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n }\n disconnectedCallback() {\n this.destroyNativeRefresher();\n this.scrollEl = undefined;\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Call `complete()` when your async operation has completed.\n * For example, the `refreshing` state is while the app is performing\n * an asynchronous operation, such as receiving more data from an\n * AJAX request. Once the data has been received, you then call this\n * method to signify that the refreshing has completed and to close\n * the refresher. This method also changes the refresher's state from\n * `refreshing` to `completing`.\n */\n async complete() {\n if (this.nativeRefresher) {\n this.needsCompletion = true;\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */)));\n }\n }\n else {\n this.close(32 /* Completing */, '120ms');\n }\n }\n /**\n * Changes the refresher's state from `refreshing` to `cancelling`.\n */\n async cancel() {\n if (this.nativeRefresher) {\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* Cancelling */)));\n }\n }\n else {\n this.close(16 /* Cancelling */, '');\n }\n }\n /**\n * A number representing how far down the user has pulled.\n * The number `0` represents the user hasn't pulled down at all. The\n * number `1`, and anything greater than `1`, represents that the user\n * has pulled far enough down that when they let go then the refresh will\n * happen. If they let go and the number is less than `1`, then the\n * refresh will not happen, and the content will return to it's original\n * position.\n */\n getProgress() {\n return Promise.resolve(this.progress);\n }\n canStart() {\n if (!this.scrollEl) {\n return false;\n }\n if (this.state !== 1 /* Inactive */) {\n return false;\n }\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (this.scrollEl.scrollTop > 0) {\n return false;\n }\n return true;\n }\n onStart() {\n this.progress = 0;\n this.state = 1 /* Inactive */;\n }\n onMove(detail) {\n if (!this.scrollEl) {\n return;\n }\n // this method can get called like a bazillion times per second,\n // so it's built to be as efficient as possible, and does its\n // best to do any DOM read/writes only when absolutely necessary\n // if multi-touch then get out immediately\n const ev = detail.event;\n if (ev.touches && ev.touches.length > 1) {\n return;\n }\n // do nothing if it's actively refreshing\n // or it's in the way of closing\n // or this was never a startY\n if ((this.state & 56 /* _BUSY_ */) !== 0) {\n return;\n }\n const pullFactor = (Number.isNaN(this.pullFactor) || this.pullFactor < 0) ? 1 : this.pullFactor;\n const deltaY = detail.deltaY * pullFactor;\n // don't bother if they're scrolling up\n // and have not already started dragging\n if (deltaY <= 0) {\n // the current Y is higher than the starting Y\n // so they scrolled up enough to be ignored\n this.progress = 0;\n this.state = 1 /* Inactive */;\n if (this.appliedStyles) {\n // reset the styles only if they were applied\n this.setCss(0, '', false, '');\n return;\n }\n return;\n }\n if (this.state === 1 /* Inactive */) {\n // this refresh is not already actively pulling down\n // get the content's scrollTop\n const scrollHostScrollTop = this.scrollEl.scrollTop;\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (scrollHostScrollTop > 0) {\n this.progress = 0;\n return;\n }\n // content scrolled all the way to the top, and dragging down\n this.state = 2 /* Pulling */;\n }\n // prevent native scroll events\n if (ev.cancelable) {\n ev.preventDefault();\n }\n // the refresher is actively pulling at this point\n // move the scroll element within the content element\n this.setCss(deltaY, '0ms', true, '');\n if (deltaY === 0) {\n // don't continue if there's no delta yet\n this.progress = 0;\n return;\n }\n const pullMin = this.pullMin;\n // set pull progress\n this.progress = deltaY / pullMin;\n // emit \"start\" if it hasn't started yet\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n this.ionPull.emit();\n // do nothing if the delta is less than the pull threshold\n if (deltaY < pullMin) {\n // ensure it stays in the pulling state, cuz its not ready yet\n this.state = 2 /* Pulling */;\n return;\n }\n if (deltaY > this.pullMax) {\n // they pulled farther than the max, so kick off the refresh\n this.beginRefresh();\n return;\n }\n // pulled farther than the pull min!!\n // it is now in the `ready` state!!\n // if they let go then it'll refresh, kerpow!!\n this.state = 4 /* Ready */;\n return;\n }\n onEnd() {\n // only run in a zone when absolutely necessary\n if (this.state === 4 /* Ready */) {\n // they pulled down far enough, so it's ready to refresh\n this.beginRefresh();\n }\n else if (this.state === 2 /* Pulling */) {\n // they were pulling down, but didn't pull down far enough\n // set the content back to it's original location\n // and close the refresher\n // set that the refresh is actively cancelling\n this.cancel();\n }\n }\n beginRefresh() {\n // assumes we're already back in a zone\n // they pulled down far enough, so it's ready to refresh\n this.state = 8 /* Refreshing */;\n // place the content in a hangout position while it thinks\n this.setCss(this.pullMin, this.snapbackDuration, true, '');\n // emit \"refresh\" because it was pulled down far enough\n // and they let go to begin refreshing\n this.ionRefresh.emit({\n complete: this.complete.bind(this)\n });\n }\n close(state, delay) {\n // create fallback timer incase something goes wrong with transitionEnd event\n setTimeout(() => {\n this.state = 1 /* Inactive */;\n this.progress = 0;\n this.didStart = false;\n this.setCss(0, '0ms', false, '');\n }, 600);\n // reset set the styles on the scroll element\n // set that the refresh is actively cancelling/completing\n this.state = state;\n this.setCss(0, this.closeDuration, true, delay);\n // TODO: stop gesture\n }\n setCss(y, duration, overflowVisible, delay) {\n if (this.nativeRefresher) {\n return;\n }\n this.appliedStyles = (y > 0);\n writeTask(() => {\n if (this.scrollEl && this.backgroundContentEl) {\n const scrollStyle = this.scrollEl.style;\n const backgroundStyle = this.backgroundContentEl.style;\n scrollStyle.transform = backgroundStyle.transform = ((y > 0) ? `translateY(${y}px) translateZ(0px)` : '');\n scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration;\n scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay;\n scrollStyle.overflow = (overflowVisible ? 'hidden' : '');\n }\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { slot: \"fixed\", class: {\n [mode]: true,\n // Used internally for styling\n [`refresher-${mode}`]: true,\n 'refresher-native': this.nativeRefresher,\n 'refresher-active': this.state !== 1 /* Inactive */,\n 'refresher-pulling': this.state === 2 /* Pulling */,\n 'refresher-ready': this.state === 4 /* Ready */,\n 'refresher-refreshing': this.state === 8 /* Refreshing */,\n 'refresher-cancelling': this.state === 16 /* Cancelling */,\n 'refresher-completing': this.state === 32 /* Completing */,\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nRefresher.style = {\n ios: refresherIosCss,\n md: refresherMdCss\n};\n\nconst RefresherContent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n componentWillLoad() {\n if (this.pullingIcon === undefined) {\n const mode = getIonMode(this);\n const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : 'arrow-down';\n this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && isPlatform('mobile') ? config.get('spinner', overflowRefresher) : 'circular');\n }\n if (this.refreshingSpinner === undefined) {\n const mode = getIonMode(this);\n this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'circular'));\n }\n }\n render() {\n const pullingIcon = this.pullingIcon;\n const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;\n const mode = getIonMode(this);\n return (h(Host, { class: mode }, h(\"div\", { class: \"refresher-pulling\" }, this.pullingIcon && hasSpinner &&\n h(\"div\", { class: \"refresher-pulling-icon\" }, h(\"div\", { class: \"spinner-arrow-container\" }, h(\"ion-spinner\", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' &&\n h(\"div\", { class: \"arrow-container\" }, h(\"ion-icon\", { name: \"caret-back-sharp\" })))), this.pullingIcon && !hasSpinner &&\n h(\"div\", { class: \"refresher-pulling-icon\" }, h(\"ion-icon\", { icon: this.pullingIcon, lazy: false })), this.pullingText &&\n h(\"div\", { class: \"refresher-pulling-text\", innerHTML: sanitizeDOMString(this.pullingText) })), h(\"div\", { class: \"refresher-refreshing\" }, this.refreshingSpinner &&\n h(\"div\", { class: \"refresher-refreshing-icon\" }, h(\"ion-spinner\", { name: this.refreshingSpinner })), this.refreshingText &&\n h(\"div\", { class: \"refresher-refreshing-text\", innerHTML: sanitizeDOMString(this.refreshingText) }))));\n }\n get el() { return getElement(this); }\n};\n\nexport { Refresher as ion_refresher, RefresherContent as ion_refresher_content };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/27-es2015.js b/android/app/src/main/assets/public/27-es2015.js new file mode 100644 index 000000000..8d51ab8ee --- /dev/null +++ b/android/app/src/main/assets/public/27-es2015.js @@ -0,0 +1,328 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[27],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js": +/*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js ***! + \******************************************************************/ +/*! exports provided: ion_reorder, ion_reorder_group */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_reorder", function() { return Reorder; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_reorder_group", function() { return ReorderGroup; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + + + + +const reorderIosCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:34px;opacity:0.4}"; + +const reorderMdCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:31px;opacity:0.3}"; + +const Reorder = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + onClick(ev) { + const reorderGroup = this.el.closest('ion-reorder-group'); + ev.preventDefault(); + // Only stop event propagation if the reorder is inside of an enabled + // reorder group. This allows interaction with clickable children components. + if (!reorderGroup || !reorderGroup.disabled) { + ev.stopImmediatePropagation(); + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const reorderIcon = mode === 'ios' ? 'reorder-three-outline' : 'reorder-two-sharp'; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: mode }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { name: reorderIcon, lazy: false, class: "reorder-icon", part: "icon" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +Reorder.style = { + ios: reorderIosCss, + md: reorderMdCss +}; + +const reorderGroupCss = ".reorder-list-active>*{-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}"; + +const ReorderGroup = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionItemReorder = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionItemReorder", 7); + this.lastToIndex = -1; + this.cachedHeights = []; + this.scrollElTop = 0; + this.scrollElBottom = 0; + this.scrollElInitial = 0; + this.containerTop = 0; + this.containerBottom = 0; + this.state = 0 /* Idle */; + /** + * If `true`, the reorder will be hidden. + */ + this.disabled = true; + } + disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + async connectedCallback() { + const contentEl = this.el.closest('ion-content'); + if (contentEl) { + this.scrollEl = await contentEl.getScrollElement(); + } + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.el, + gestureName: 'reorder', + gesturePriority: 110, + threshold: 0, + direction: 'y', + passive: false, + canStart: detail => this.canStart(detail), + onStart: ev => this.onStart(ev), + onMove: ev => this.onMove(ev), + onEnd: () => this.onEnd(), + }); + this.disabledChanged(); + } + disconnectedCallback() { + this.onEnd(); + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** + * Completes the reorder operation. Must be called by the `ionItemReorder` event. + * + * If a list of items is passed, the list will be reordered and returned in the + * proper order. + * + * If no parameters are passed or if `true` is passed in, the reorder will complete + * and the item will remain in the position it was dragged to. If `false` is passed, + * the reorder will complete and the item will bounce back to its original position. + * + * @param listOrReorder A list of items to be sorted and returned in the new order or a + * boolean of whether or not the reorder should reposition the item. + */ + complete(listOrReorder) { + return Promise.resolve(this.completeSync(listOrReorder)); + } + canStart(ev) { + if (this.selectedItemEl || this.state !== 0 /* Idle */) { + return false; + } + const target = ev.event.target; + const reorderEl = target.closest('ion-reorder'); + if (!reorderEl) { + return false; + } + const item = findReorderItem(reorderEl, this.el); + if (!item) { + return false; + } + ev.data = item; + return true; + } + onStart(ev) { + ev.event.preventDefault(); + const item = this.selectedItemEl = ev.data; + const heights = this.cachedHeights; + heights.length = 0; + const el = this.el; + const children = el.children; + if (!children || children.length === 0) { + return; + } + let sum = 0; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + sum += child.offsetHeight; + heights.push(sum); + child.$ionIndex = i; + } + const box = el.getBoundingClientRect(); + this.containerTop = box.top; + this.containerBottom = box.bottom; + if (this.scrollEl) { + const scrollBox = this.scrollEl.getBoundingClientRect(); + this.scrollElInitial = this.scrollEl.scrollTop; + this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN; + this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN; + } + else { + this.scrollElInitial = 0; + this.scrollElTop = 0; + this.scrollElBottom = 0; + } + this.lastToIndex = indexForItem(item); + this.selectedItemHeight = item.offsetHeight; + this.state = 1 /* Active */; + item.classList.add(ITEM_REORDER_SELECTED); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["a"])(); + } + onMove(ev) { + const selectedItem = this.selectedItemEl; + if (!selectedItem) { + return; + } + // Scroll if we reach the scroll margins + const scroll = this.autoscroll(ev.currentY); + // // Get coordinate + const top = this.containerTop - scroll; + const bottom = this.containerBottom - scroll; + const currentY = Math.max(top, Math.min(ev.currentY, bottom)); + const deltaY = scroll + currentY - ev.startY; + const normalizedY = currentY - top; + const toIndex = this.itemIndexForTop(normalizedY); + if (toIndex !== this.lastToIndex) { + const fromIndex = indexForItem(selectedItem); + this.lastToIndex = toIndex; + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["b"])(); + this.reorderMove(fromIndex, toIndex); + } + // Update selected item position + selectedItem.style.transform = `translateY(${deltaY}px)`; + } + onEnd() { + const selectedItemEl = this.selectedItemEl; + this.state = 2 /* Complete */; + if (!selectedItemEl) { + this.state = 0 /* Idle */; + return; + } + const toIndex = this.lastToIndex; + const fromIndex = indexForItem(selectedItemEl); + if (toIndex === fromIndex) { + this.completeSync(); + } + else { + this.ionItemReorder.emit({ + from: fromIndex, + to: toIndex, + complete: this.completeSync.bind(this) + }); + } + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["h"])(); + } + completeSync(listOrReorder) { + const selectedItemEl = this.selectedItemEl; + if (selectedItemEl && this.state === 2 /* Complete */) { + const children = this.el.children; + const len = children.length; + const toIndex = this.lastToIndex; + const fromIndex = indexForItem(selectedItemEl); + if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) { + const ref = (fromIndex < toIndex) + ? children[toIndex + 1] + : children[toIndex]; + this.el.insertBefore(selectedItemEl, ref); + } + if (Array.isArray(listOrReorder)) { + listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex); + } + for (let i = 0; i < len; i++) { + children[i].style['transform'] = ''; + } + selectedItemEl.style.transition = ''; + selectedItemEl.classList.remove(ITEM_REORDER_SELECTED); + this.selectedItemEl = undefined; + this.state = 0 /* Idle */; + } + return listOrReorder; + } + itemIndexForTop(deltaY) { + const heights = this.cachedHeights; + let i = 0; + // TODO: since heights is a sorted array of integers, we can do + // speed up the search using binary search. Remember that linear-search is still + // faster than binary-search for small arrays (<64) due CPU branch misprediction. + for (i = 0; i < heights.length; i++) { + if (heights[i] > deltaY) { + break; + } + } + return i; + } + /********* DOM WRITE ********* */ + reorderMove(fromIndex, toIndex) { + const itemHeight = this.selectedItemHeight; + const children = this.el.children; + for (let i = 0; i < children.length; i++) { + const style = children[i].style; + let value = ''; + if (i > fromIndex && i <= toIndex) { + value = `translateY(${-itemHeight}px)`; + } + else if (i < fromIndex && i >= toIndex) { + value = `translateY(${itemHeight}px)`; + } + style['transform'] = value; + } + } + autoscroll(posY) { + if (!this.scrollEl) { + return 0; + } + let amount = 0; + if (posY < this.scrollElTop) { + amount = -SCROLL_JUMP; + } + else if (posY > this.scrollElBottom) { + amount = SCROLL_JUMP; + } + if (amount !== 0) { + this.scrollEl.scrollBy(0, amount); + } + return this.scrollEl.scrollTop - this.scrollElInitial; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'reorder-enabled': !this.disabled, + 'reorder-list-active': this.state !== 0 /* Idle */, + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "disabled": ["disabledChanged"] + }; } +}; +const indexForItem = (element) => { + return element['$ionIndex']; +}; +const findReorderItem = (node, container) => { + let parent; + while (node) { + parent = node.parentElement; + if (parent === container) { + return node; + } + node = parent; + } + return undefined; +}; +const AUTO_SCROLL_MARGIN = 60; +const SCROLL_JUMP = 10; +const ITEM_REORDER_SELECTED = 'reorder-selected'; +const reorderArray = (array, from, to) => { + const element = array[from]; + array.splice(from, 1); + array.splice(to, 0, element); + return array.slice(); +}; +ReorderGroup.style = reorderGroupCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=27-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/27-es2015.js.map b/android/app/src/main/assets/public/27-es2015.js.map new file mode 100644 index 000000000..067a3799a --- /dev/null +++ b/android/app/src/main/assets/public/27-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;AAC0D;;AAEvH,qCAAqC,aAAa,cAAc,YAAY,cAAc,cAAc,eAAe,cAAc,eAAe,YAAY;;AAEhK,oCAAoC,aAAa,cAAc,YAAY,cAAc,cAAc,eAAe,cAAc,eAAe,YAAY;;AAE/J;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,cAAc,EAAE,4DAAC,eAAe,4DAAC,cAAc,sEAAsE;AAC1I;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;;AAEA,gDAAgD,2CAA2C,mCAAmC,2BAA2B,oDAAoD,sBAAsB,iBAAiB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,6BAA6B,cAAc,oBAAoB,YAAY,mBAAmB,sBAAsB,kBAAkB,gDAAgD,wBAAwB,gBAAgB,kBAAkB,kBAAkB,mCAAmC,2BAA2B,+CAA+C,uCAAuC,YAAY,YAAY,2CAA2C,yCAAyC,iCAAiC;;AAE52B;AACA;AACA,IAAI,4DAAgB;AACpB,0BAA0B,4DAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6DAAoB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,6DAAsB;AAC5B;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI,6DAAkB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqE","file":"27-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-27b3f981.js';\n\nconst reorderIosCss = \":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:34px;opacity:0.4}\";\n\nconst reorderMdCss = \":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:31px;opacity:0.3}\";\n\nconst Reorder = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n onClick(ev) {\n const reorderGroup = this.el.closest('ion-reorder-group');\n ev.preventDefault();\n // Only stop event propagation if the reorder is inside of an enabled\n // reorder group. This allows interaction with clickable children components.\n if (!reorderGroup || !reorderGroup.disabled) {\n ev.stopImmediatePropagation();\n }\n }\n render() {\n const mode = getIonMode(this);\n const reorderIcon = mode === 'ios' ? 'reorder-three-outline' : 'reorder-two-sharp';\n return (h(Host, { class: mode }, h(\"slot\", null, h(\"ion-icon\", { name: reorderIcon, lazy: false, class: \"reorder-icon\", part: \"icon\" }))));\n }\n get el() { return getElement(this); }\n};\nReorder.style = {\n ios: reorderIosCss,\n md: reorderMdCss\n};\n\nconst reorderGroupCss = \".reorder-list-active>*{-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}\";\n\nconst ReorderGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionItemReorder = createEvent(this, \"ionItemReorder\", 7);\n this.lastToIndex = -1;\n this.cachedHeights = [];\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n this.scrollElInitial = 0;\n this.containerTop = 0;\n this.containerBottom = 0;\n this.state = 0 /* Idle */;\n /**\n * If `true`, the reorder will be hidden.\n */\n this.disabled = true;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n const contentEl = this.el.closest('ion-content');\n if (contentEl) {\n this.scrollEl = await contentEl.getScrollElement();\n }\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'reorder',\n gesturePriority: 110,\n threshold: 0,\n direction: 'y',\n passive: false,\n canStart: detail => this.canStart(detail),\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n this.onEnd();\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Completes the reorder operation. Must be called by the `ionItemReorder` event.\n *\n * If a list of items is passed, the list will be reordered and returned in the\n * proper order.\n *\n * If no parameters are passed or if `true` is passed in, the reorder will complete\n * and the item will remain in the position it was dragged to. If `false` is passed,\n * the reorder will complete and the item will bounce back to its original position.\n *\n * @param listOrReorder A list of items to be sorted and returned in the new order or a\n * boolean of whether or not the reorder should reposition the item.\n */\n complete(listOrReorder) {\n return Promise.resolve(this.completeSync(listOrReorder));\n }\n canStart(ev) {\n if (this.selectedItemEl || this.state !== 0 /* Idle */) {\n return false;\n }\n const target = ev.event.target;\n const reorderEl = target.closest('ion-reorder');\n if (!reorderEl) {\n return false;\n }\n const item = findReorderItem(reorderEl, this.el);\n if (!item) {\n return false;\n }\n ev.data = item;\n return true;\n }\n onStart(ev) {\n ev.event.preventDefault();\n const item = this.selectedItemEl = ev.data;\n const heights = this.cachedHeights;\n heights.length = 0;\n const el = this.el;\n const children = el.children;\n if (!children || children.length === 0) {\n return;\n }\n let sum = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n sum += child.offsetHeight;\n heights.push(sum);\n child.$ionIndex = i;\n }\n const box = el.getBoundingClientRect();\n this.containerTop = box.top;\n this.containerBottom = box.bottom;\n if (this.scrollEl) {\n const scrollBox = this.scrollEl.getBoundingClientRect();\n this.scrollElInitial = this.scrollEl.scrollTop;\n this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN;\n this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN;\n }\n else {\n this.scrollElInitial = 0;\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n }\n this.lastToIndex = indexForItem(item);\n this.selectedItemHeight = item.offsetHeight;\n this.state = 1 /* Active */;\n item.classList.add(ITEM_REORDER_SELECTED);\n hapticSelectionStart();\n }\n onMove(ev) {\n const selectedItem = this.selectedItemEl;\n if (!selectedItem) {\n return;\n }\n // Scroll if we reach the scroll margins\n const scroll = this.autoscroll(ev.currentY);\n // // Get coordinate\n const top = this.containerTop - scroll;\n const bottom = this.containerBottom - scroll;\n const currentY = Math.max(top, Math.min(ev.currentY, bottom));\n const deltaY = scroll + currentY - ev.startY;\n const normalizedY = currentY - top;\n const toIndex = this.itemIndexForTop(normalizedY);\n if (toIndex !== this.lastToIndex) {\n const fromIndex = indexForItem(selectedItem);\n this.lastToIndex = toIndex;\n hapticSelectionChanged();\n this.reorderMove(fromIndex, toIndex);\n }\n // Update selected item position\n selectedItem.style.transform = `translateY(${deltaY}px)`;\n }\n onEnd() {\n const selectedItemEl = this.selectedItemEl;\n this.state = 2 /* Complete */;\n if (!selectedItemEl) {\n this.state = 0 /* Idle */;\n return;\n }\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex === fromIndex) {\n this.completeSync();\n }\n else {\n this.ionItemReorder.emit({\n from: fromIndex,\n to: toIndex,\n complete: this.completeSync.bind(this)\n });\n }\n hapticSelectionEnd();\n }\n completeSync(listOrReorder) {\n const selectedItemEl = this.selectedItemEl;\n if (selectedItemEl && this.state === 2 /* Complete */) {\n const children = this.el.children;\n const len = children.length;\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) {\n const ref = (fromIndex < toIndex)\n ? children[toIndex + 1]\n : children[toIndex];\n this.el.insertBefore(selectedItemEl, ref);\n }\n if (Array.isArray(listOrReorder)) {\n listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex);\n }\n for (let i = 0; i < len; i++) {\n children[i].style['transform'] = '';\n }\n selectedItemEl.style.transition = '';\n selectedItemEl.classList.remove(ITEM_REORDER_SELECTED);\n this.selectedItemEl = undefined;\n this.state = 0 /* Idle */;\n }\n return listOrReorder;\n }\n itemIndexForTop(deltaY) {\n const heights = this.cachedHeights;\n let i = 0;\n // TODO: since heights is a sorted array of integers, we can do\n // speed up the search using binary search. Remember that linear-search is still\n // faster than binary-search for small arrays (<64) due CPU branch misprediction.\n for (i = 0; i < heights.length; i++) {\n if (heights[i] > deltaY) {\n break;\n }\n }\n return i;\n }\n /********* DOM WRITE ********* */\n reorderMove(fromIndex, toIndex) {\n const itemHeight = this.selectedItemHeight;\n const children = this.el.children;\n for (let i = 0; i < children.length; i++) {\n const style = children[i].style;\n let value = '';\n if (i > fromIndex && i <= toIndex) {\n value = `translateY(${-itemHeight}px)`;\n }\n else if (i < fromIndex && i >= toIndex) {\n value = `translateY(${itemHeight}px)`;\n }\n style['transform'] = value;\n }\n }\n autoscroll(posY) {\n if (!this.scrollEl) {\n return 0;\n }\n let amount = 0;\n if (posY < this.scrollElTop) {\n amount = -SCROLL_JUMP;\n }\n else if (posY > this.scrollElBottom) {\n amount = SCROLL_JUMP;\n }\n if (amount !== 0) {\n this.scrollEl.scrollBy(0, amount);\n }\n return this.scrollEl.scrollTop - this.scrollElInitial;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'reorder-enabled': !this.disabled,\n 'reorder-list-active': this.state !== 0 /* Idle */,\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nconst indexForItem = (element) => {\n return element['$ionIndex'];\n};\nconst findReorderItem = (node, container) => {\n let parent;\n while (node) {\n parent = node.parentElement;\n if (parent === container) {\n return node;\n }\n node = parent;\n }\n return undefined;\n};\nconst AUTO_SCROLL_MARGIN = 60;\nconst SCROLL_JUMP = 10;\nconst ITEM_REORDER_SELECTED = 'reorder-selected';\nconst reorderArray = (array, from, to) => {\n const element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n};\nReorderGroup.style = reorderGroupCss;\n\nexport { Reorder as ion_reorder, ReorderGroup as ion_reorder_group };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/27-es5.js b/android/app/src/main/assets/public/27-es5.js new file mode 100644 index 000000000..11934e515 --- /dev/null +++ b/android/app/src/main/assets/public/27-es5.js @@ -0,0 +1,521 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[27], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js": + /*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js ***! + \******************************************************************/ + + /*! exports provided: ion_reorder, ion_reorder_group */ + + /***/ + function node_modulesIonicCoreDistEsmIonReorder_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_reorder", function () { + return Reorder; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_reorder_group", function () { + return ReorderGroup; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./haptic-27b3f981.js */ + "./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js"); + + var reorderIosCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:34px;opacity:0.4}"; + var reorderMdCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:31px;opacity:0.3}"; + + var Reorder = /*#__PURE__*/function () { + function Reorder(hostRef) { + _classCallCheck(this, Reorder); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Reorder, [{ + key: "onClick", + value: function onClick(ev) { + var reorderGroup = this.el.closest('ion-reorder-group'); + ev.preventDefault(); // Only stop event propagation if the reorder is inside of an enabled + // reorder group. This allows interaction with clickable children components. + + if (!reorderGroup || !reorderGroup.disabled) { + ev.stopImmediatePropagation(); + } + } + }, { + key: "render", + value: function render() { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var reorderIcon = mode === 'ios' ? 'reorder-three-outline' : 'reorder-two-sharp'; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": mode + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + name: reorderIcon, + lazy: false, + "class": "reorder-icon", + part: "icon" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Reorder; + }(); + + Reorder.style = { + ios: reorderIosCss, + md: reorderMdCss + }; + var reorderGroupCss = ".reorder-list-active>*{-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}"; + + var ReorderGroup = /*#__PURE__*/function () { + function ReorderGroup(hostRef) { + _classCallCheck(this, ReorderGroup); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionItemReorder = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionItemReorder", 7); + this.lastToIndex = -1; + this.cachedHeights = []; + this.scrollElTop = 0; + this.scrollElBottom = 0; + this.scrollElInitial = 0; + this.containerTop = 0; + this.containerBottom = 0; + this.state = 0 + /* Idle */ + ; + /** + * If `true`, the reorder will be hidden. + */ + + this.disabled = true; + } + + _createClass(ReorderGroup, [{ + key: "disabledChanged", + value: function disabledChanged() { + if (this.gesture) { + this.gesture.enable(!this.disabled); + } + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this = this; + + var contentEl; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + contentEl = this.el.closest('ion-content'); + + if (!contentEl) { + _context.next = 5; + break; + } + + _context.next = 4; + return contentEl.getScrollElement(); + + case 4: + this.scrollEl = _context.sent; + + case 5: + _context.next = 7; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 7: + this.gesture = _context.sent.createGesture({ + el: this.el, + gestureName: 'reorder', + gesturePriority: 110, + threshold: 0, + direction: 'y', + passive: false, + canStart: function canStart(detail) { + return _this.canStart(detail); + }, + onStart: function onStart(ev) { + return _this.onStart(ev); + }, + onMove: function onMove(ev) { + return _this.onMove(ev); + }, + onEnd: function onEnd() { + return _this.onEnd(); + } + }); + this.disabledChanged(); + + case 9: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.onEnd(); + + if (this.gesture) { + this.gesture.destroy(); + this.gesture = undefined; + } + } + /** + * Completes the reorder operation. Must be called by the `ionItemReorder` event. + * + * If a list of items is passed, the list will be reordered and returned in the + * proper order. + * + * If no parameters are passed or if `true` is passed in, the reorder will complete + * and the item will remain in the position it was dragged to. If `false` is passed, + * the reorder will complete and the item will bounce back to its original position. + * + * @param listOrReorder A list of items to be sorted and returned in the new order or a + * boolean of whether or not the reorder should reposition the item. + */ + + }, { + key: "complete", + value: function complete(listOrReorder) { + return Promise.resolve(this.completeSync(listOrReorder)); + } + }, { + key: "canStart", + value: function canStart(ev) { + if (this.selectedItemEl || this.state !== 0 + /* Idle */ + ) { + return false; + } + + var target = ev.event.target; + var reorderEl = target.closest('ion-reorder'); + + if (!reorderEl) { + return false; + } + + var item = findReorderItem(reorderEl, this.el); + + if (!item) { + return false; + } + + ev.data = item; + return true; + } + }, { + key: "onStart", + value: function onStart(ev) { + ev.event.preventDefault(); + var item = this.selectedItemEl = ev.data; + var heights = this.cachedHeights; + heights.length = 0; + var el = this.el; + var children = el.children; + + if (!children || children.length === 0) { + return; + } + + var sum = 0; + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + sum += child.offsetHeight; + heights.push(sum); + child.$ionIndex = i; + } + + var box = el.getBoundingClientRect(); + this.containerTop = box.top; + this.containerBottom = box.bottom; + + if (this.scrollEl) { + var scrollBox = this.scrollEl.getBoundingClientRect(); + this.scrollElInitial = this.scrollEl.scrollTop; + this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN; + this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN; + } else { + this.scrollElInitial = 0; + this.scrollElTop = 0; + this.scrollElBottom = 0; + } + + this.lastToIndex = indexForItem(item); + this.selectedItemHeight = item.offsetHeight; + this.state = 1 + /* Active */ + ; + item.classList.add(ITEM_REORDER_SELECTED); + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["a"])(); + } + }, { + key: "onMove", + value: function onMove(ev) { + var selectedItem = this.selectedItemEl; + + if (!selectedItem) { + return; + } // Scroll if we reach the scroll margins + + + var scroll = this.autoscroll(ev.currentY); // // Get coordinate + + var top = this.containerTop - scroll; + var bottom = this.containerBottom - scroll; + var currentY = Math.max(top, Math.min(ev.currentY, bottom)); + var deltaY = scroll + currentY - ev.startY; + var normalizedY = currentY - top; + var toIndex = this.itemIndexForTop(normalizedY); + + if (toIndex !== this.lastToIndex) { + var fromIndex = indexForItem(selectedItem); + this.lastToIndex = toIndex; + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["b"])(); + this.reorderMove(fromIndex, toIndex); + } // Update selected item position + + + selectedItem.style.transform = "translateY(".concat(deltaY, "px)"); + } + }, { + key: "onEnd", + value: function onEnd() { + var selectedItemEl = this.selectedItemEl; + this.state = 2 + /* Complete */ + ; + + if (!selectedItemEl) { + this.state = 0 + /* Idle */ + ; + return; + } + + var toIndex = this.lastToIndex; + var fromIndex = indexForItem(selectedItemEl); + + if (toIndex === fromIndex) { + this.completeSync(); + } else { + this.ionItemReorder.emit({ + from: fromIndex, + to: toIndex, + complete: this.completeSync.bind(this) + }); + } + + Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_2__["h"])(); + } + }, { + key: "completeSync", + value: function completeSync(listOrReorder) { + var selectedItemEl = this.selectedItemEl; + + if (selectedItemEl && this.state === 2 + /* Complete */ + ) { + var children = this.el.children; + var len = children.length; + var toIndex = this.lastToIndex; + var fromIndex = indexForItem(selectedItemEl); + + if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) { + var ref = fromIndex < toIndex ? children[toIndex + 1] : children[toIndex]; + this.el.insertBefore(selectedItemEl, ref); + } + + if (Array.isArray(listOrReorder)) { + listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex); + } + + for (var i = 0; i < len; i++) { + children[i].style['transform'] = ''; + } + + selectedItemEl.style.transition = ''; + selectedItemEl.classList.remove(ITEM_REORDER_SELECTED); + this.selectedItemEl = undefined; + this.state = 0 + /* Idle */ + ; + } + + return listOrReorder; + } + }, { + key: "itemIndexForTop", + value: function itemIndexForTop(deltaY) { + var heights = this.cachedHeights; + var i = 0; // TODO: since heights is a sorted array of integers, we can do + // speed up the search using binary search. Remember that linear-search is still + // faster than binary-search for small arrays (<64) due CPU branch misprediction. + + for (i = 0; i < heights.length; i++) { + if (heights[i] > deltaY) { + break; + } + } + + return i; + } + /********* DOM WRITE ********* */ + + }, { + key: "reorderMove", + value: function reorderMove(fromIndex, toIndex) { + var itemHeight = this.selectedItemHeight; + var children = this.el.children; + + for (var i = 0; i < children.length; i++) { + var style = children[i].style; + var value = ''; + + if (i > fromIndex && i <= toIndex) { + value = "translateY(".concat(-itemHeight, "px)"); + } else if (i < fromIndex && i >= toIndex) { + value = "translateY(".concat(itemHeight, "px)"); + } + + style['transform'] = value; + } + } + }, { + key: "autoscroll", + value: function autoscroll(posY) { + if (!this.scrollEl) { + return 0; + } + + var amount = 0; + + if (posY < this.scrollElTop) { + amount = -SCROLL_JUMP; + } else if (posY > this.scrollElBottom) { + amount = SCROLL_JUMP; + } + + if (amount !== 0) { + this.scrollEl.scrollBy(0, amount); + } + + return this.scrollEl.scrollTop - this.scrollElInitial; + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'reorder-enabled', !this.disabled), _defineProperty(_class, 'reorder-list-active', this.state !== 0), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "disabled": ["disabledChanged"] + }; + } + }]); + + return ReorderGroup; + }(); + + var indexForItem = function indexForItem(element) { + return element['$ionIndex']; + }; + + var findReorderItem = function findReorderItem(node, container) { + var parent; + + while (node) { + parent = node.parentElement; + + if (parent === container) { + return node; + } + + node = parent; + } + + return undefined; + }; + + var AUTO_SCROLL_MARGIN = 60; + var SCROLL_JUMP = 10; + var ITEM_REORDER_SELECTED = 'reorder-selected'; + + var reorderArray = function reorderArray(array, from, to) { + var element = array[from]; + array.splice(from, 1); + array.splice(to, 0, element); + return array.slice(); + }; + + ReorderGroup.style = reorderGroupCss; + /***/ + } +}]); +//# sourceMappingURL=27-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/27-es5.js.map b/android/app/src/main/assets/public/27-es5.js.map new file mode 100644 index 000000000..22a198e4c --- /dev/null +++ b/android/app/src/main/assets/public/27-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js"],"names":["reorderIosCss","reorderMdCss","Reorder","hostRef","ev","reorderGroup","el","closest","preventDefault","disabled","stopImmediatePropagation","mode","reorderIcon","name","lazy","part","style","ios","md","reorderGroupCss","ReorderGroup","ionItemReorder","lastToIndex","cachedHeights","scrollElTop","scrollElBottom","scrollElInitial","containerTop","containerBottom","state","gesture","enable","contentEl","getScrollElement","scrollEl","createGesture","gestureName","gesturePriority","threshold","direction","passive","canStart","detail","onStart","onMove","onEnd","disabledChanged","destroy","undefined","listOrReorder","Promise","resolve","completeSync","selectedItemEl","target","event","reorderEl","item","findReorderItem","data","heights","length","children","sum","i","child","offsetHeight","push","$ionIndex","box","getBoundingClientRect","top","bottom","scrollBox","scrollTop","AUTO_SCROLL_MARGIN","indexForItem","selectedItemHeight","classList","add","ITEM_REORDER_SELECTED","selectedItem","scroll","autoscroll","currentY","Math","max","min","deltaY","startY","normalizedY","toIndex","itemIndexForTop","fromIndex","reorderMove","transform","emit","from","to","complete","bind","len","ref","insertBefore","Array","isArray","reorderArray","transition","remove","itemHeight","value","posY","amount","SCROLL_JUMP","scrollBy","element","node","container","parent","parentElement","array","splice","slice"],"mappings":"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","file":"27-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-27b3f981.js';\n\nconst reorderIosCss = \":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:34px;opacity:0.4}\";\n\nconst reorderMdCss = \":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:31px;opacity:0.3}\";\n\nconst Reorder = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n onClick(ev) {\n const reorderGroup = this.el.closest('ion-reorder-group');\n ev.preventDefault();\n // Only stop event propagation if the reorder is inside of an enabled\n // reorder group. This allows interaction with clickable children components.\n if (!reorderGroup || !reorderGroup.disabled) {\n ev.stopImmediatePropagation();\n }\n }\n render() {\n const mode = getIonMode(this);\n const reorderIcon = mode === 'ios' ? 'reorder-three-outline' : 'reorder-two-sharp';\n return (h(Host, { class: mode }, h(\"slot\", null, h(\"ion-icon\", { name: reorderIcon, lazy: false, class: \"reorder-icon\", part: \"icon\" }))));\n }\n get el() { return getElement(this); }\n};\nReorder.style = {\n ios: reorderIosCss,\n md: reorderMdCss\n};\n\nconst reorderGroupCss = \".reorder-list-active>*{-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}\";\n\nconst ReorderGroup = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionItemReorder = createEvent(this, \"ionItemReorder\", 7);\n this.lastToIndex = -1;\n this.cachedHeights = [];\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n this.scrollElInitial = 0;\n this.containerTop = 0;\n this.containerBottom = 0;\n this.state = 0 /* Idle */;\n /**\n * If `true`, the reorder will be hidden.\n */\n this.disabled = true;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n const contentEl = this.el.closest('ion-content');\n if (contentEl) {\n this.scrollEl = await contentEl.getScrollElement();\n }\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'reorder',\n gesturePriority: 110,\n threshold: 0,\n direction: 'y',\n passive: false,\n canStart: detail => this.canStart(detail),\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n this.onEnd();\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Completes the reorder operation. Must be called by the `ionItemReorder` event.\n *\n * If a list of items is passed, the list will be reordered and returned in the\n * proper order.\n *\n * If no parameters are passed or if `true` is passed in, the reorder will complete\n * and the item will remain in the position it was dragged to. If `false` is passed,\n * the reorder will complete and the item will bounce back to its original position.\n *\n * @param listOrReorder A list of items to be sorted and returned in the new order or a\n * boolean of whether or not the reorder should reposition the item.\n */\n complete(listOrReorder) {\n return Promise.resolve(this.completeSync(listOrReorder));\n }\n canStart(ev) {\n if (this.selectedItemEl || this.state !== 0 /* Idle */) {\n return false;\n }\n const target = ev.event.target;\n const reorderEl = target.closest('ion-reorder');\n if (!reorderEl) {\n return false;\n }\n const item = findReorderItem(reorderEl, this.el);\n if (!item) {\n return false;\n }\n ev.data = item;\n return true;\n }\n onStart(ev) {\n ev.event.preventDefault();\n const item = this.selectedItemEl = ev.data;\n const heights = this.cachedHeights;\n heights.length = 0;\n const el = this.el;\n const children = el.children;\n if (!children || children.length === 0) {\n return;\n }\n let sum = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n sum += child.offsetHeight;\n heights.push(sum);\n child.$ionIndex = i;\n }\n const box = el.getBoundingClientRect();\n this.containerTop = box.top;\n this.containerBottom = box.bottom;\n if (this.scrollEl) {\n const scrollBox = this.scrollEl.getBoundingClientRect();\n this.scrollElInitial = this.scrollEl.scrollTop;\n this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN;\n this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN;\n }\n else {\n this.scrollElInitial = 0;\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n }\n this.lastToIndex = indexForItem(item);\n this.selectedItemHeight = item.offsetHeight;\n this.state = 1 /* Active */;\n item.classList.add(ITEM_REORDER_SELECTED);\n hapticSelectionStart();\n }\n onMove(ev) {\n const selectedItem = this.selectedItemEl;\n if (!selectedItem) {\n return;\n }\n // Scroll if we reach the scroll margins\n const scroll = this.autoscroll(ev.currentY);\n // // Get coordinate\n const top = this.containerTop - scroll;\n const bottom = this.containerBottom - scroll;\n const currentY = Math.max(top, Math.min(ev.currentY, bottom));\n const deltaY = scroll + currentY - ev.startY;\n const normalizedY = currentY - top;\n const toIndex = this.itemIndexForTop(normalizedY);\n if (toIndex !== this.lastToIndex) {\n const fromIndex = indexForItem(selectedItem);\n this.lastToIndex = toIndex;\n hapticSelectionChanged();\n this.reorderMove(fromIndex, toIndex);\n }\n // Update selected item position\n selectedItem.style.transform = `translateY(${deltaY}px)`;\n }\n onEnd() {\n const selectedItemEl = this.selectedItemEl;\n this.state = 2 /* Complete */;\n if (!selectedItemEl) {\n this.state = 0 /* Idle */;\n return;\n }\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex === fromIndex) {\n this.completeSync();\n }\n else {\n this.ionItemReorder.emit({\n from: fromIndex,\n to: toIndex,\n complete: this.completeSync.bind(this)\n });\n }\n hapticSelectionEnd();\n }\n completeSync(listOrReorder) {\n const selectedItemEl = this.selectedItemEl;\n if (selectedItemEl && this.state === 2 /* Complete */) {\n const children = this.el.children;\n const len = children.length;\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) {\n const ref = (fromIndex < toIndex)\n ? children[toIndex + 1]\n : children[toIndex];\n this.el.insertBefore(selectedItemEl, ref);\n }\n if (Array.isArray(listOrReorder)) {\n listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex);\n }\n for (let i = 0; i < len; i++) {\n children[i].style['transform'] = '';\n }\n selectedItemEl.style.transition = '';\n selectedItemEl.classList.remove(ITEM_REORDER_SELECTED);\n this.selectedItemEl = undefined;\n this.state = 0 /* Idle */;\n }\n return listOrReorder;\n }\n itemIndexForTop(deltaY) {\n const heights = this.cachedHeights;\n let i = 0;\n // TODO: since heights is a sorted array of integers, we can do\n // speed up the search using binary search. Remember that linear-search is still\n // faster than binary-search for small arrays (<64) due CPU branch misprediction.\n for (i = 0; i < heights.length; i++) {\n if (heights[i] > deltaY) {\n break;\n }\n }\n return i;\n }\n /********* DOM WRITE ********* */\n reorderMove(fromIndex, toIndex) {\n const itemHeight = this.selectedItemHeight;\n const children = this.el.children;\n for (let i = 0; i < children.length; i++) {\n const style = children[i].style;\n let value = '';\n if (i > fromIndex && i <= toIndex) {\n value = `translateY(${-itemHeight}px)`;\n }\n else if (i < fromIndex && i >= toIndex) {\n value = `translateY(${itemHeight}px)`;\n }\n style['transform'] = value;\n }\n }\n autoscroll(posY) {\n if (!this.scrollEl) {\n return 0;\n }\n let amount = 0;\n if (posY < this.scrollElTop) {\n amount = -SCROLL_JUMP;\n }\n else if (posY > this.scrollElBottom) {\n amount = SCROLL_JUMP;\n }\n if (amount !== 0) {\n this.scrollEl.scrollBy(0, amount);\n }\n return this.scrollEl.scrollTop - this.scrollElInitial;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'reorder-enabled': !this.disabled,\n 'reorder-list-active': this.state !== 0 /* Idle */,\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nconst indexForItem = (element) => {\n return element['$ionIndex'];\n};\nconst findReorderItem = (node, container) => {\n let parent;\n while (node) {\n parent = node.parentElement;\n if (parent === container) {\n return node;\n }\n node = parent;\n }\n return undefined;\n};\nconst AUTO_SCROLL_MARGIN = 60;\nconst SCROLL_JUMP = 10;\nconst ITEM_REORDER_SELECTED = 'reorder-selected';\nconst reorderArray = (array, from, to) => {\n const element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n};\nReorderGroup.style = reorderGroupCss;\n\nexport { Reorder as ion_reorder, ReorderGroup as ion_reorder_group };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/28-es2015.js b/android/app/src/main/assets/public/28-es2015.js new file mode 100644 index 000000000..43a25d991 --- /dev/null +++ b/android/app/src/main/assets/public/28-es2015.js @@ -0,0 +1,109 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[28],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js ***! + \**********************************************************************/ +/*! exports provided: ion_ripple_effect */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_ripple_effect", function() { return RippleEffect; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + + +const rippleEffectCss = ":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:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation 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:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}"; + +const RippleEffect = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * Sets the type of ripple-effect: + * + * - `bounded`: the ripple effect expands from the user's click position + * - `unbounded`: the ripple effect expands from the center of the button and overflows the container. + * + * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, + * while surfaces for unbounded ripples should have it set to visible. + */ + this.type = 'bounded'; + } + /** + * Adds the ripple effect to the parent element. + * + * @param x The horizontal coordinate of where the ripple should start. + * @param y The vertical coordinate of where the ripple should start. + */ + async addRipple(x, y) { + return new Promise(resolve => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + const rect = this.el.getBoundingClientRect(); + const width = rect.width; + const height = rect.height; + const hypotenuse = Math.sqrt(width * width + height * height); + const maxDim = Math.max(height, width); + const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING; + const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE); + const finalScale = maxRadius / initialSize; + let posX = x - rect.left; + let posY = y - rect.top; + if (this.unbounded) { + posX = width * 0.5; + posY = height * 0.5; + } + const styleX = posX - initialSize * 0.5; + const styleY = posY - initialSize * 0.5; + const moveX = width * 0.5 - posX; + const moveY = height * 0.5 - posY; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + const div = document.createElement('div'); + div.classList.add('ripple-effect'); + const style = div.style; + style.top = styleY + 'px'; + style.left = styleX + 'px'; + style.width = style.height = initialSize + 'px'; + style.setProperty('--final-scale', `${finalScale}`); + style.setProperty('--translate-end', `${moveX}px, ${moveY}px`); + const container = this.el.shadowRoot || this.el; + container.appendChild(div); + setTimeout(() => { + resolve(() => { + removeRipple(div); + }); + }, 225 + 100); + }); + }); + }); + } + get unbounded() { + return this.type === 'unbounded'; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "presentation", class: { + [mode]: true, + 'unbounded': this.unbounded + } })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const removeRipple = (ripple) => { + ripple.classList.add('fade-out'); + setTimeout(() => { + ripple.remove(); + }, 200); +}; +const PADDING = 10; +const INITIAL_ORIGIN_SCALE = 0.5; +RippleEffect.style = rippleEffectCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=28-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/28-es2015.js.map b/android/app/src/main/assets/public/28-es2015.js.map new file mode 100644 index 000000000..070b16ebb --- /dev/null +++ b/android/app/src/main/assets/public/28-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAA0H;AAC7D;;AAE7D,+BAA+B,OAAO,QAAQ,MAAM,SAAS,kBAAkB,eAAe,oBAAoB,kBAAkB,0BAA0B,eAAe,kBAAkB,kBAAkB,8BAA8B,cAAc,eAAe,UAAU,gFAAgF,wEAAwE,+BAA+B,oBAAoB,UAAU,+EAA+E,uEAAuE,kDAAkD,0CAA0C,mCAAmC,KAAK,+DAA+D,uDAAuD,2BAA2B,mBAAmB,GAAG,+EAA+E,wEAAwE,2BAA2B,KAAK,+DAA+D,uDAAuD,2BAA2B,mBAAmB,GAAG,+EAA+E,wEAAwE,mCAAmC,KAAK,yCAAyC,iCAAiC,UAAU,GAAG,cAAc,2BAA2B,KAAK,yCAAyC,iCAAiC,UAAU,GAAG,cAAc,oCAAoC,KAAK,yCAAyC,iCAAiC,aAAa,GAAG,WAAW,4BAA4B,KAAK,yCAAyC,iCAAiC,aAAa,GAAG,WAAW;;AAEv8D;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D,kDAAkD,MAAM,MAAM,MAAM;AACpE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,OAAO,EAAE;AACT;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAE6C","file":"28-es2015.js","sourcesContent":["import { r as registerInstance, f as readTask, c as writeTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst rippleEffectCss = \":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:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation 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:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}\";\n\nconst RippleEffect = class {\n constructor(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 async addRipple(x, y) {\n return new Promise(resolve => {\n readTask(() => {\n const rect = this.el.getBoundingClientRect();\n const width = rect.width;\n const height = rect.height;\n const hypotenuse = Math.sqrt(width * width + height * height);\n const maxDim = Math.max(height, width);\n const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING;\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const finalScale = maxRadius / initialSize;\n let posX = x - rect.left;\n let posY = y - rect.top;\n if (this.unbounded) {\n posX = width * 0.5;\n posY = height * 0.5;\n }\n const styleX = posX - initialSize * 0.5;\n const styleY = posY - initialSize * 0.5;\n const moveX = width * 0.5 - posX;\n const moveY = height * 0.5 - posY;\n writeTask(() => {\n const div = document.createElement('div');\n div.classList.add('ripple-effect');\n const 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 const container = this.el.shadowRoot || this.el;\n container.appendChild(div);\n setTimeout(() => {\n resolve(() => {\n removeRipple(div);\n });\n }, 225 + 100);\n });\n });\n });\n }\n get unbounded() {\n return this.type === 'unbounded';\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"presentation\", class: {\n [mode]: true,\n 'unbounded': this.unbounded\n } }));\n }\n get el() { return getElement(this); }\n};\nconst removeRipple = (ripple) => {\n ripple.classList.add('fade-out');\n setTimeout(() => {\n ripple.remove();\n }, 200);\n};\nconst PADDING = 10;\nconst INITIAL_ORIGIN_SCALE = 0.5;\nRippleEffect.style = rippleEffectCss;\n\nexport { RippleEffect as ion_ripple_effect };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/28-es5.js b/android/app/src/main/assets/public/28-es5.js new file mode 100644 index 000000000..8a59f450f --- /dev/null +++ b/android/app/src/main/assets/public/28-es5.js @@ -0,0 +1,179 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[28], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js": + /*!**********************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js ***! + \**********************************************************************/ + + /*! exports provided: ion_ripple_effect */ + + /***/ + function node_modulesIonicCoreDistEsmIonRippleEffectEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_ripple_effect", function () { + return RippleEffect; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + var rippleEffectCss = ":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:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation 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:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}"; + + var RippleEffect = /*#__PURE__*/function () { + function RippleEffect(hostRef) { + _classCallCheck(this, RippleEffect); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * Sets the type of ripple-effect: + * + * - `bounded`: the ripple effect expands from the user's click position + * - `unbounded`: the ripple effect expands from the center of the button and overflows the container. + * + * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, + * while surfaces for unbounded ripples should have it set to visible. + */ + + this.type = 'bounded'; + } + /** + * Adds the ripple effect to the parent element. + * + * @param x The horizontal coordinate of where the ripple should start. + * @param y The vertical coordinate of where the ripple should start. + */ + + + _createClass(RippleEffect, [{ + key: "addRipple", + value: function () { + var _addRipple = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(x, y) { + var _this = this; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", new Promise(function (resolve) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(function () { + var rect = _this.el.getBoundingClientRect(); + + var width = rect.width; + var height = rect.height; + var hypotenuse = Math.sqrt(width * width + height * height); + var maxDim = Math.max(height, width); + var maxRadius = _this.unbounded ? maxDim : hypotenuse + PADDING; + var initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE); + var finalScale = maxRadius / initialSize; + var posX = x - rect.left; + var posY = y - rect.top; + + if (_this.unbounded) { + posX = width * 0.5; + posY = height * 0.5; + } + + var styleX = posX - initialSize * 0.5; + var styleY = posY - initialSize * 0.5; + var moveX = width * 0.5 - posX; + var moveY = height * 0.5 - posY; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + var div = document.createElement('div'); + div.classList.add('ripple-effect'); + var style = div.style; + style.top = styleY + 'px'; + style.left = styleX + 'px'; + style.width = style.height = initialSize + 'px'; + style.setProperty('--final-scale', "".concat(finalScale)); + style.setProperty('--translate-end', "".concat(moveX, "px, ").concat(moveY, "px")); + var container = _this.el.shadowRoot || _this.el; + container.appendChild(div); + setTimeout(function () { + resolve(function () { + removeRipple(div); + }); + }, 225 + 100); + }); + }); + })); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function addRipple(_x, _x2) { + return _addRipple.apply(this, arguments); + } + + return addRipple; + }() + }, { + key: "unbounded", + get: function get() { + return this.type === 'unbounded'; + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "presentation", + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'unbounded', this.unbounded), _class) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return RippleEffect; + }(); + + var removeRipple = function removeRipple(ripple) { + ripple.classList.add('fade-out'); + setTimeout(function () { + ripple.remove(); + }, 200); + }; + + var PADDING = 10; + var INITIAL_ORIGIN_SCALE = 0.5; + RippleEffect.style = rippleEffectCss; + /***/ + } +}]); +//# sourceMappingURL=28-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/28-es5.js.map b/android/app/src/main/assets/public/28-es5.js.map new file mode 100644 index 000000000..f804a5d64 --- /dev/null +++ b/android/app/src/main/assets/public/28-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js"],"names":["rippleEffectCss","RippleEffect","hostRef","type","x","y","Promise","resolve","rect","el","getBoundingClientRect","width","height","hypotenuse","Math","sqrt","maxDim","max","maxRadius","unbounded","PADDING","initialSize","floor","INITIAL_ORIGIN_SCALE","finalScale","posX","left","posY","top","styleX","styleY","moveX","moveY","div","document","createElement","classList","add","style","setProperty","container","shadowRoot","appendChild","setTimeout","removeRipple","mode","role","ripple","remove"],"mappings":"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","file":"28-es5.js","sourcesContent":["import { r as registerInstance, f as readTask, c as writeTask, h, i as getElement, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst rippleEffectCss = \":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:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation 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:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 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{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}\";\n\nconst RippleEffect = class {\n constructor(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 async addRipple(x, y) {\n return new Promise(resolve => {\n readTask(() => {\n const rect = this.el.getBoundingClientRect();\n const width = rect.width;\n const height = rect.height;\n const hypotenuse = Math.sqrt(width * width + height * height);\n const maxDim = Math.max(height, width);\n const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING;\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const finalScale = maxRadius / initialSize;\n let posX = x - rect.left;\n let posY = y - rect.top;\n if (this.unbounded) {\n posX = width * 0.5;\n posY = height * 0.5;\n }\n const styleX = posX - initialSize * 0.5;\n const styleY = posY - initialSize * 0.5;\n const moveX = width * 0.5 - posX;\n const moveY = height * 0.5 - posY;\n writeTask(() => {\n const div = document.createElement('div');\n div.classList.add('ripple-effect');\n const 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 const container = this.el.shadowRoot || this.el;\n container.appendChild(div);\n setTimeout(() => {\n resolve(() => {\n removeRipple(div);\n });\n }, 225 + 100);\n });\n });\n });\n }\n get unbounded() {\n return this.type === 'unbounded';\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"presentation\", class: {\n [mode]: true,\n 'unbounded': this.unbounded\n } }));\n }\n get el() { return getElement(this); }\n};\nconst removeRipple = (ripple) => {\n ripple.classList.add('fade-out');\n setTimeout(() => {\n ripple.remove();\n }, 200);\n};\nconst PADDING = 10;\nconst INITIAL_ORIGIN_SCALE = 0.5;\nRippleEffect.style = rippleEffectCss;\n\nexport { RippleEffect as ion_ripple_effect };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/29-es2015.js b/android/app/src/main/assets/public/29-es2015.js new file mode 100644 index 000000000..5b3600539 --- /dev/null +++ b/android/app/src/main/assets/public/29-es2015.js @@ -0,0 +1,797 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[29],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_route, ion_route_redirect, ion_router, ion_router_link */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_route", function() { return Route; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_route_redirect", function() { return RouteRedirect; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_router", function() { return Router; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_router_link", function() { return RouterLink; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const Route = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteDataChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteDataChanged", 7); + /** + * Relative path that needs to match in order for this route to apply. + * + * Accepts paths similar to expressjs so that you can define parameters + * in the url /foo/:bar where bar would be available in incoming props. + */ + this.url = ''; + } + onUpdate(newValue) { + this.ionRouteDataChanged.emit(newValue); + } + onComponentProps(newValue, oldValue) { + if (newValue === oldValue) { + return; + } + const keys1 = newValue ? Object.keys(newValue) : []; + const keys2 = oldValue ? Object.keys(oldValue) : []; + if (keys1.length !== keys2.length) { + this.onUpdate(newValue); + return; + } + for (const key of keys1) { + if (newValue[key] !== oldValue[key]) { + this.onUpdate(newValue); + return; + } + } + } + connectedCallback() { + this.ionRouteDataChanged.emit(); + } + static get watchers() { return { + "url": ["onUpdate"], + "component": ["onUpdate"], + "componentProps": ["onComponentProps"] + }; } +}; + +const RouteRedirect = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteRedirectChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteRedirectChanged", 7); + } + propDidChange() { + this.ionRouteRedirectChanged.emit(); + } + connectedCallback() { + this.ionRouteRedirectChanged.emit(); + } + static get watchers() { return { + "from": ["propDidChange"], + "to": ["propDidChange"] + }; } +}; + +const ROUTER_INTENT_NONE = 'root'; +const ROUTER_INTENT_FORWARD = 'forward'; +const ROUTER_INTENT_BACK = 'back'; + +const generatePath = (segments) => { + const path = segments + .filter(s => s.length > 0) + .join('/'); + return '/' + path; +}; +const chainToPath = (chain) => { + const path = []; + for (const route of chain) { + for (const segment of route.path) { + if (segment[0] === ':') { + const param = route.params && route.params[segment.slice(1)]; + if (!param) { + return null; + } + path.push(param); + } + else if (segment !== '') { + path.push(segment); + } + } + } + return path; +}; +const writePath = (history, root, useHash, path, direction, state, queryString) => { + let url = generatePath([ + ...parsePath(root), + ...path + ]); + if (useHash) { + url = '#' + url; + } + if (queryString !== undefined) { + url = url + '?' + queryString; + } + if (direction === ROUTER_INTENT_FORWARD) { + history.pushState(state, '', url); + } + else { + history.replaceState(state, '', url); + } +}; +const removePrefix = (prefix, path) => { + if (prefix.length > path.length) { + return null; + } + if (prefix.length <= 1 && prefix[0] === '') { + return path; + } + for (let i = 0; i < prefix.length; i++) { + if (prefix[i].length > 0 && prefix[i] !== path[i]) { + return null; + } + } + if (path.length === prefix.length) { + return ['']; + } + return path.slice(prefix.length); +}; +const readPath = (loc, root, useHash) => { + let pathname = loc.pathname; + if (useHash) { + const hash = loc.hash; + pathname = (hash[0] === '#') + ? hash.slice(1) + : ''; + } + const prefix = parsePath(root); + const path = parsePath(pathname); + return removePrefix(prefix, path); +}; +const parsePath = (path) => { + if (path == null) { + return ['']; + } + const removeQueryString = path.split('?')[0]; + const segments = removeQueryString.split('/') + .map(s => s.trim()) + .filter(s => s.length > 0); + if (segments.length === 0) { + return ['']; + } + else { + return segments; + } +}; + +const printRoutes = (routes) => { + console.group(`[ion-core] ROUTES[${routes.length}]`); + for (const chain of routes) { + const path = []; + chain.forEach(r => path.push(...r.path)); + const ids = chain.map(r => r.id); + console.debug(`%c ${generatePath(path)}`, 'font-weight: bold; padding-left: 20px', '=>\t', `(${ids.join(', ')})`); + } + console.groupEnd(); +}; +const printRedirects = (redirects) => { + console.group(`[ion-core] REDIRECTS[${redirects.length}]`); + for (const redirect of redirects) { + if (redirect.to) { + console.debug('FROM: ', `$c ${generatePath(redirect.from)}`, 'font-weight: bold', ' TO: ', `$c ${generatePath(redirect.to)}`, 'font-weight: bold'); + } + } + console.groupEnd(); +}; + +const writeNavState = async (root, chain, direction, index, changed = false, animation) => { + try { + // find next navigation outlet in the DOM + const outlet = searchNavNode(root); + // make sure we can continue interacting the DOM, otherwise abort + if (index >= chain.length || !outlet) { + return changed; + } + await outlet.componentOnReady(); + const route = chain[index]; + const result = await outlet.setRouteId(route.id, route.params, direction, animation); + // if the outlet changed the page, reset navigation to neutral (no direction) + // this means nested outlets will not animate + if (result.changed) { + direction = ROUTER_INTENT_NONE; + changed = true; + } + // recursively set nested outlets + changed = await writeNavState(result.element, chain, direction, index + 1, changed, animation); + // once all nested outlets are visible let's make the parent visible too, + // using markVisible prevents flickering + if (result.markVisible) { + await result.markVisible(); + } + return changed; + } + catch (e) { + console.error(e); + return false; + } +}; +const readNavState = async (root) => { + const ids = []; + let outlet; + let node = root; + // tslint:disable-next-line:no-constant-condition + while (true) { + outlet = searchNavNode(node); + if (outlet) { + const id = await outlet.getRouteId(); + if (id) { + node = id.element; + id.element = undefined; + ids.push(id); + } + else { + break; + } + } + else { + break; + } + } + return { ids, outlet }; +}; +const waitUntilNavNode = () => { + if (searchNavNode(document.body)) { + return Promise.resolve(); + } + return new Promise(resolve => { + window.addEventListener('ionNavWillLoad', resolve, { once: true }); + }); +}; +const QUERY = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet'; +const searchNavNode = (root) => { + if (!root) { + return undefined; + } + if (root.matches(QUERY)) { + return root; + } + const outlet = root.querySelector(QUERY); + return outlet ? outlet : undefined; +}; + +const matchesRedirect = (input, route) => { + const { from, to } = route; + if (to === undefined) { + return false; + } + if (from.length > input.length) { + return false; + } + for (let i = 0; i < from.length; i++) { + const expected = from[i]; + if (expected === '*') { + return true; + } + if (expected !== input[i]) { + return false; + } + } + return from.length === input.length; +}; +const routeRedirect = (path, routes) => { + return routes.find(route => matchesRedirect(path, route)); +}; +const matchesIDs = (ids, chain) => { + const len = Math.min(ids.length, chain.length); + let i = 0; + for (; i < len; i++) { + if (ids[i].toLowerCase() !== chain[i].id) { + break; + } + } + return i; +}; +const matchesPath = (inputPath, chain) => { + const segments = new RouterSegments(inputPath); + let matchesDefault = false; + let allparams; + for (let i = 0; i < chain.length; i++) { + const path = chain[i].path; + if (path[0] === '') { + matchesDefault = true; + } + else { + for (const segment of path) { + const data = segments.next(); + // data param + if (segment[0] === ':') { + if (data === '') { + return null; + } + allparams = allparams || []; + const params = allparams[i] || (allparams[i] = {}); + params[segment.slice(1)] = data; + } + else if (data !== segment) { + return null; + } + } + matchesDefault = false; + } + } + const matches = (matchesDefault) + ? matchesDefault === (segments.next() === '') + : true; + if (!matches) { + return null; + } + if (allparams) { + return chain.map((route, i) => ({ + id: route.id, + path: route.path, + params: mergeParams(route.params, allparams[i]), + beforeEnter: route.beforeEnter, + beforeLeave: route.beforeLeave + })); + } + return chain; +}; +const mergeParams = (a, b) => { + if (!a && b) { + return b; + } + else if (a && !b) { + return a; + } + else if (a && b) { + return Object.assign(Object.assign({}, a), b); + } + return undefined; +}; +const routerIDsToChain = (ids, chains) => { + let match = null; + let maxMatches = 0; + const plainIDs = ids.map(i => i.id); + for (const chain of chains) { + const score = matchesIDs(plainIDs, chain); + if (score > maxMatches) { + match = chain; + maxMatches = score; + } + } + if (match) { + return match.map((route, i) => ({ + id: route.id, + path: route.path, + params: mergeParams(route.params, ids[i] && ids[i].params) + })); + } + return null; +}; +const routerPathToChain = (path, chains) => { + let match = null; + let matches = 0; + for (const chain of chains) { + const matchedChain = matchesPath(path, chain); + if (matchedChain !== null) { + const score = computePriority(matchedChain); + if (score > matches) { + matches = score; + match = matchedChain; + } + } + } + return match; +}; +const computePriority = (chain) => { + let score = 1; + let level = 1; + for (const route of chain) { + for (const path of route.path) { + if (path[0] === ':') { + score += Math.pow(1, level); + } + else if (path !== '') { + score += Math.pow(2, level); + } + level++; + } + } + return score; +}; +class RouterSegments { + constructor(path) { + this.path = path.slice(); + } + next() { + if (this.path.length > 0) { + return this.path.shift(); + } + return ''; + } +} + +const readRedirects = (root) => { + return Array.from(root.children) + .filter(el => el.tagName === 'ION-ROUTE-REDIRECT') + .map(el => { + const to = readProp(el, 'to'); + return { + from: parsePath(readProp(el, 'from')), + to: to == null ? undefined : parsePath(to), + }; + }); +}; +const readRoutes = (root) => { + return flattenRouterTree(readRouteNodes(root)); +}; +const readRouteNodes = (root, node = root) => { + return Array.from(node.children) + .filter(el => el.tagName === 'ION-ROUTE' && el.component) + .map(el => { + const component = readProp(el, 'component'); + if (component == null) { + throw new Error('component missing in ion-route'); + } + return { + path: parsePath(readProp(el, 'url')), + id: component.toLowerCase(), + params: el.componentProps, + beforeLeave: el.beforeLeave, + beforeEnter: el.beforeEnter, + children: readRouteNodes(root, el) + }; + }); +}; +const readProp = (el, prop) => { + if (prop in el) { + return el[prop]; + } + if (el.hasAttribute(prop)) { + return el.getAttribute(prop); + } + return null; +}; +const flattenRouterTree = (nodes) => { + const routes = []; + for (const node of nodes) { + flattenNode([], routes, node); + } + return routes; +}; +const flattenNode = (chain, routes, node) => { + const s = chain.slice(); + s.push({ + id: node.id, + path: node.path, + params: node.params, + beforeLeave: node.beforeLeave, + beforeEnter: node.beforeEnter + }); + if (node.children.length === 0) { + routes.push(s); + return; + } + for (const sub of node.children) { + flattenNode(s, routes, sub); + } +}; + +const Router = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteWillChange", 7); + this.ionRouteDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteDidChange", 7); + this.previousPath = null; + this.busy = false; + this.state = 0; + this.lastState = 0; + /** + * By default `ion-router` will match the routes at the root path ("/"). + * That can be changed when + * + */ + this.root = '/'; + /** + * The router can work in two "modes": + * - With hash: `/index.html#/path/to/page` + * - Without hash: `/path/to/page` + * + * Using one or another might depend in the requirements of your app and/or where it's deployed. + * + * Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might + * requires additional server-side configuration in order to properly work. + * + * On the otherside hash-navigation is much easier to deploy, it even works over the file protocol. + * + * By default, this property is `true`, change to `false` to allow hash-less URLs. + */ + this.useHash = true; + } + async componentWillLoad() { + console.debug('[ion-router] router will load'); + await waitUntilNavNode(); + console.debug('[ion-router] found nav'); + await this.onRoutesChanged(); + } + componentDidLoad() { + window.addEventListener('ionRouteRedirectChanged', Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["m"])(this.onRedirectChanged.bind(this), 10)); + window.addEventListener('ionRouteDataChanged', Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["m"])(this.onRoutesChanged.bind(this), 100)); + } + async onPopState() { + const direction = this.historyDirection(); + let path = this.getPath(); + const canProceed = await this.runGuards(path); + if (canProceed !== true) { + if (typeof canProceed === 'object') { + path = parsePath(canProceed.redirect); + } + return false; + } + console.debug('[ion-router] URL changed -> update nav', path, direction); + return this.writeNavStateRoot(path, direction); + } + onBackButton(ev) { + ev.detail.register(0, processNextHandler => { + this.back(); + processNextHandler(); + }); + } + /** @internal */ + async canTransition() { + const canProceed = await this.runGuards(); + if (canProceed !== true) { + if (typeof canProceed === 'object') { + return canProceed.redirect; + } + else { + return false; + } + } + return true; + } + /** + * Navigate to the specified URL. + * + * @param url The url to navigate to. + * @param direction The direction of the animation. Defaults to `"forward"`. + */ + async push(url, direction = 'forward', animation) { + if (url.startsWith('.')) { + url = (new URL(url, window.location.href)).pathname; + } + console.debug('[ion-router] URL pushed -> updating nav', url, direction); + let path = parsePath(url); + let queryString = url.split('?')[1]; + const canProceed = await this.runGuards(path); + if (canProceed !== true) { + if (typeof canProceed === 'object') { + path = parsePath(canProceed.redirect); + queryString = canProceed.redirect.split('?')[1]; + } + else { + return false; + } + } + this.setPath(path, direction, queryString); + return this.writeNavStateRoot(path, direction, animation); + } + /** + * Go back to previous page in the window.history. + */ + back() { + window.history.back(); + return Promise.resolve(this.waitPromise); + } + /** @internal */ + async printDebug() { + console.debug('CURRENT PATH', this.getPath()); + console.debug('PREVIOUS PATH', this.previousPath); + printRoutes(readRoutes(this.el)); + printRedirects(readRedirects(this.el)); + } + /** @internal */ + async navChanged(direction) { + if (this.busy) { + console.warn('[ion-router] router is busy, navChanged was cancelled'); + return false; + } + const { ids, outlet } = await readNavState(window.document.body); + const routes = readRoutes(this.el); + const chain = routerIDsToChain(ids, routes); + if (!chain) { + console.warn('[ion-router] no matching URL for ', ids.map(i => i.id)); + return false; + } + const path = chainToPath(chain); + if (!path) { + console.warn('[ion-router] router could not match path because some required param is missing'); + return false; + } + console.debug('[ion-router] nav changed -> update URL', ids, path); + this.setPath(path, direction); + await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, path, null, ids.length); + return true; + } + onRedirectChanged() { + const path = this.getPath(); + if (path && routeRedirect(path, readRedirects(this.el))) { + this.writeNavStateRoot(path, ROUTER_INTENT_NONE); + } + } + onRoutesChanged() { + return this.writeNavStateRoot(this.getPath(), ROUTER_INTENT_NONE); + } + historyDirection() { + const win = window; + if (win.history.state === null) { + this.state++; + win.history.replaceState(this.state, win.document.title, win.document.location && win.document.location.href); + } + const state = win.history.state; + const lastState = this.lastState; + this.lastState = state; + if (state > lastState || (state >= lastState && lastState > 0)) { + return ROUTER_INTENT_FORWARD; + } + else if (state < lastState) { + return ROUTER_INTENT_BACK; + } + else { + return ROUTER_INTENT_NONE; + } + } + async writeNavStateRoot(path, direction, animation) { + if (!path) { + console.error('[ion-router] URL is not part of the routing set'); + return false; + } + // lookup redirect rule + const redirects = readRedirects(this.el); + const redirect = routeRedirect(path, redirects); + let redirectFrom = null; + if (redirect) { + this.setPath(redirect.to, direction); + redirectFrom = redirect.from; + path = redirect.to; + } + // lookup route chain + const routes = readRoutes(this.el); + const chain = routerPathToChain(path, routes); + if (!chain) { + console.error('[ion-router] the path does not match any route'); + return false; + } + // write DOM give + return this.safeWriteNavState(document.body, chain, direction, path, redirectFrom, 0, animation); + } + async safeWriteNavState(node, chain, direction, path, redirectFrom, index = 0, animation) { + const unlock = await this.lock(); + let changed = false; + try { + changed = await this.writeNavState(node, chain, direction, path, redirectFrom, index, animation); + } + catch (e) { + console.error(e); + } + unlock(); + return changed; + } + async lock() { + const p = this.waitPromise; + let resolve; + this.waitPromise = new Promise(r => resolve = r); + if (p !== undefined) { + await p; + } + return resolve; + } + async runGuards(to = this.getPath(), from = parsePath(this.previousPath)) { + if (!to || !from) { + return true; + } + const routes = readRoutes(this.el); + const toChain = routerPathToChain(to, routes); + const fromChain = routerPathToChain(from, routes); + const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter; + const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave; + const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true; + if (canLeave === false || typeof canLeave === 'object') { + return canLeave; + } + const canEnter = beforeEnterHook ? await beforeEnterHook() : true; + if (canEnter === false || typeof canEnter === 'object') { + return canEnter; + } + return true; + } + async writeNavState(node, chain, direction, path, redirectFrom, index = 0, animation) { + if (this.busy) { + console.warn('[ion-router] router is busy, transition was cancelled'); + return false; + } + this.busy = true; + // generate route event and emit will change + const routeEvent = this.routeChangeEvent(path, redirectFrom); + if (routeEvent) { + this.ionRouteWillChange.emit(routeEvent); + } + const changed = await writeNavState(node, chain, direction, index, false, animation); + this.busy = false; + if (changed) { + console.debug('[ion-router] route changed', path); + } + // emit did change + if (routeEvent) { + this.ionRouteDidChange.emit(routeEvent); + } + return changed; + } + setPath(path, direction, queryString) { + this.state++; + writePath(window.history, this.root, this.useHash, path, direction, this.state, queryString); + } + getPath() { + return readPath(window.location, this.root, this.useHash); + } + routeChangeEvent(path, redirectFromPath) { + const from = this.previousPath; + const to = generatePath(path); + this.previousPath = to; + if (to === from) { + return null; + } + const redirectedFrom = redirectFromPath ? generatePath(redirectFromPath) : null; + return { + from, + redirectedFrom, + to, + }; + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; + +const routerLinkCss = ":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}"; + +const RouterLink = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + this.routerDirection = 'forward'; + this.onClick = (ev) => { + Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["o"])(this.href, ev, this.routerDirection, this.routerAnimation); + }; + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const attrs = { + href: this.href, + rel: this.rel, + target: this.target + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'ion-activatable': true + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("a", Object.assign({}, attrs), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)))); + } +}; +RouterLink.style = routerLinkCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=29-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/29-es2015.js.map b/android/app/src/main/assets/public/29-es2015.js.map new file mode 100644 index 000000000..5b372ef98 --- /dev/null +++ b/android/app/src/main/assets/public/29-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;AACP;AACsB;;AAE5E;AACA;AACA,IAAI,4DAAgB;AACpB,+BAA+B,4DAAW;AAC1C;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;AACzB;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI,4DAAgB;AACpB,mCAAmC,4DAAW;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;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,iBAAiB,mBAAmB;AACpC;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;;AAEA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB,sBAAsB,kCAAkC,eAAe;AAClH;AACA;AACA;AACA;AACA,wCAAwC,iBAAiB;AACzD;AACA;AACA,oCAAoC,4BAA4B,uCAAuC,0BAA0B;AACjI;AACA;AACA;AACA;;AAEA;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,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,aAAa;AACrE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,4DAAgB;AACpB,8BAA8B,4DAAW;AACzC,6BAA6B,4DAAW;AACxC;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,uDAAuD,8DAAQ;AAC/D,mDAAmD,8DAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;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,WAAW,cAAc;AACzB;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;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;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,YAAY,QAAQ,4DAAU,OAAO;AACrC;;AAEA,6BAA6B,yBAAyB,0CAA0C,6BAA6B,mBAAmB,kBAAkB,4BAA4B,EAAE,oBAAoB,kBAAkB,mBAAmB,oBAAoB,uBAAuB,wBAAwB,oBAAoB,sBAAsB,uBAAuB,mBAAmB,oBAAoB,cAAc;;AAElb;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAO;AACb;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,+BAA+B,4DAAkB;AACtE;AACA;AACA,OAAO,GAAG,EAAE,4DAAC,sBAAsB,UAAU,4DAAC;AAC9C;AACA;AACA;;AAEwH","file":"29-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, i as getElement, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { m as debounce } from './helpers-90f46169.js';\nimport { o as openURL, c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst Route = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteDataChanged = createEvent(this, \"ionRouteDataChanged\", 7);\n /**\n * Relative path that needs to match in order for this route to apply.\n *\n * Accepts paths similar to expressjs so that you can define parameters\n * in the url /foo/:bar where bar would be available in incoming props.\n */\n this.url = '';\n }\n onUpdate(newValue) {\n this.ionRouteDataChanged.emit(newValue);\n }\n onComponentProps(newValue, oldValue) {\n if (newValue === oldValue) {\n return;\n }\n const keys1 = newValue ? Object.keys(newValue) : [];\n const keys2 = oldValue ? Object.keys(oldValue) : [];\n if (keys1.length !== keys2.length) {\n this.onUpdate(newValue);\n return;\n }\n for (const key of keys1) {\n if (newValue[key] !== oldValue[key]) {\n this.onUpdate(newValue);\n return;\n }\n }\n }\n connectedCallback() {\n this.ionRouteDataChanged.emit();\n }\n static get watchers() { return {\n \"url\": [\"onUpdate\"],\n \"component\": [\"onUpdate\"],\n \"componentProps\": [\"onComponentProps\"]\n }; }\n};\n\nconst RouteRedirect = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteRedirectChanged = createEvent(this, \"ionRouteRedirectChanged\", 7);\n }\n propDidChange() {\n this.ionRouteRedirectChanged.emit();\n }\n connectedCallback() {\n this.ionRouteRedirectChanged.emit();\n }\n static get watchers() { return {\n \"from\": [\"propDidChange\"],\n \"to\": [\"propDidChange\"]\n }; }\n};\n\nconst ROUTER_INTENT_NONE = 'root';\nconst ROUTER_INTENT_FORWARD = 'forward';\nconst ROUTER_INTENT_BACK = 'back';\n\nconst generatePath = (segments) => {\n const path = segments\n .filter(s => s.length > 0)\n .join('/');\n return '/' + path;\n};\nconst chainToPath = (chain) => {\n const path = [];\n for (const route of chain) {\n for (const segment of route.path) {\n if (segment[0] === ':') {\n const param = route.params && route.params[segment.slice(1)];\n if (!param) {\n return null;\n }\n path.push(param);\n }\n else if (segment !== '') {\n path.push(segment);\n }\n }\n }\n return path;\n};\nconst writePath = (history, root, useHash, path, direction, state, queryString) => {\n let url = generatePath([\n ...parsePath(root),\n ...path\n ]);\n if (useHash) {\n url = '#' + url;\n }\n if (queryString !== undefined) {\n url = url + '?' + queryString;\n }\n if (direction === ROUTER_INTENT_FORWARD) {\n history.pushState(state, '', url);\n }\n else {\n history.replaceState(state, '', url);\n }\n};\nconst removePrefix = (prefix, path) => {\n if (prefix.length > path.length) {\n return null;\n }\n if (prefix.length <= 1 && prefix[0] === '') {\n return path;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (prefix[i].length > 0 && prefix[i] !== path[i]) {\n return null;\n }\n }\n if (path.length === prefix.length) {\n return [''];\n }\n return path.slice(prefix.length);\n};\nconst readPath = (loc, root, useHash) => {\n let pathname = loc.pathname;\n if (useHash) {\n const hash = loc.hash;\n pathname = (hash[0] === '#')\n ? hash.slice(1)\n : '';\n }\n const prefix = parsePath(root);\n const path = parsePath(pathname);\n return removePrefix(prefix, path);\n};\nconst parsePath = (path) => {\n if (path == null) {\n return [''];\n }\n const removeQueryString = path.split('?')[0];\n const segments = removeQueryString.split('/')\n .map(s => s.trim())\n .filter(s => s.length > 0);\n if (segments.length === 0) {\n return [''];\n }\n else {\n return segments;\n }\n};\n\nconst printRoutes = (routes) => {\n console.group(`[ion-core] ROUTES[${routes.length}]`);\n for (const chain of routes) {\n const path = [];\n chain.forEach(r => path.push(...r.path));\n const ids = chain.map(r => r.id);\n console.debug(`%c ${generatePath(path)}`, 'font-weight: bold; padding-left: 20px', '=>\\t', `(${ids.join(', ')})`);\n }\n console.groupEnd();\n};\nconst printRedirects = (redirects) => {\n console.group(`[ion-core] REDIRECTS[${redirects.length}]`);\n for (const redirect of redirects) {\n if (redirect.to) {\n console.debug('FROM: ', `$c ${generatePath(redirect.from)}`, 'font-weight: bold', ' TO: ', `$c ${generatePath(redirect.to)}`, 'font-weight: bold');\n }\n }\n console.groupEnd();\n};\n\nconst writeNavState = async (root, chain, direction, index, changed = false, animation) => {\n try {\n // find next navigation outlet in the DOM\n const outlet = searchNavNode(root);\n // make sure we can continue interacting the DOM, otherwise abort\n if (index >= chain.length || !outlet) {\n return changed;\n }\n await outlet.componentOnReady();\n const route = chain[index];\n const result = await outlet.setRouteId(route.id, route.params, direction, animation);\n // if the outlet changed the page, reset navigation to neutral (no direction)\n // this means nested outlets will not animate\n if (result.changed) {\n direction = ROUTER_INTENT_NONE;\n changed = true;\n }\n // recursively set nested outlets\n changed = await writeNavState(result.element, chain, direction, index + 1, changed, animation);\n // once all nested outlets are visible let's make the parent visible too,\n // using markVisible prevents flickering\n if (result.markVisible) {\n await result.markVisible();\n }\n return changed;\n }\n catch (e) {\n console.error(e);\n return false;\n }\n};\nconst readNavState = async (root) => {\n const ids = [];\n let outlet;\n let node = root;\n // tslint:disable-next-line:no-constant-condition\n while (true) {\n outlet = searchNavNode(node);\n if (outlet) {\n const id = await outlet.getRouteId();\n if (id) {\n node = id.element;\n id.element = undefined;\n ids.push(id);\n }\n else {\n break;\n }\n }\n else {\n break;\n }\n }\n return { ids, outlet };\n};\nconst waitUntilNavNode = () => {\n if (searchNavNode(document.body)) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n window.addEventListener('ionNavWillLoad', resolve, { once: true });\n });\n};\nconst QUERY = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';\nconst searchNavNode = (root) => {\n if (!root) {\n return undefined;\n }\n if (root.matches(QUERY)) {\n return root;\n }\n const outlet = root.querySelector(QUERY);\n return outlet ? outlet : undefined;\n};\n\nconst matchesRedirect = (input, route) => {\n const { from, to } = route;\n if (to === undefined) {\n return false;\n }\n if (from.length > input.length) {\n return false;\n }\n for (let i = 0; i < from.length; i++) {\n const expected = from[i];\n if (expected === '*') {\n return true;\n }\n if (expected !== input[i]) {\n return false;\n }\n }\n return from.length === input.length;\n};\nconst routeRedirect = (path, routes) => {\n return routes.find(route => matchesRedirect(path, route));\n};\nconst matchesIDs = (ids, chain) => {\n const len = Math.min(ids.length, chain.length);\n let i = 0;\n for (; i < len; i++) {\n if (ids[i].toLowerCase() !== chain[i].id) {\n break;\n }\n }\n return i;\n};\nconst matchesPath = (inputPath, chain) => {\n const segments = new RouterSegments(inputPath);\n let matchesDefault = false;\n let allparams;\n for (let i = 0; i < chain.length; i++) {\n const path = chain[i].path;\n if (path[0] === '') {\n matchesDefault = true;\n }\n else {\n for (const segment of path) {\n const data = segments.next();\n // data param\n if (segment[0] === ':') {\n if (data === '') {\n return null;\n }\n allparams = allparams || [];\n const params = allparams[i] || (allparams[i] = {});\n params[segment.slice(1)] = data;\n }\n else if (data !== segment) {\n return null;\n }\n }\n matchesDefault = false;\n }\n }\n const matches = (matchesDefault)\n ? matchesDefault === (segments.next() === '')\n : true;\n if (!matches) {\n return null;\n }\n if (allparams) {\n return chain.map((route, i) => ({\n id: route.id,\n path: route.path,\n params: mergeParams(route.params, allparams[i]),\n beforeEnter: route.beforeEnter,\n beforeLeave: route.beforeLeave\n }));\n }\n return chain;\n};\nconst mergeParams = (a, b) => {\n if (!a && b) {\n return b;\n }\n else if (a && !b) {\n return a;\n }\n else if (a && b) {\n return Object.assign(Object.assign({}, a), b);\n }\n return undefined;\n};\nconst routerIDsToChain = (ids, chains) => {\n let match = null;\n let maxMatches = 0;\n const plainIDs = ids.map(i => i.id);\n for (const chain of chains) {\n const score = matchesIDs(plainIDs, chain);\n if (score > maxMatches) {\n match = chain;\n maxMatches = score;\n }\n }\n if (match) {\n return match.map((route, i) => ({\n id: route.id,\n path: route.path,\n params: mergeParams(route.params, ids[i] && ids[i].params)\n }));\n }\n return null;\n};\nconst routerPathToChain = (path, chains) => {\n let match = null;\n let matches = 0;\n for (const chain of chains) {\n const matchedChain = matchesPath(path, chain);\n if (matchedChain !== null) {\n const score = computePriority(matchedChain);\n if (score > matches) {\n matches = score;\n match = matchedChain;\n }\n }\n }\n return match;\n};\nconst computePriority = (chain) => {\n let score = 1;\n let level = 1;\n for (const route of chain) {\n for (const path of route.path) {\n if (path[0] === ':') {\n score += Math.pow(1, level);\n }\n else if (path !== '') {\n score += Math.pow(2, level);\n }\n level++;\n }\n }\n return score;\n};\nclass RouterSegments {\n constructor(path) {\n this.path = path.slice();\n }\n next() {\n if (this.path.length > 0) {\n return this.path.shift();\n }\n return '';\n }\n}\n\nconst readRedirects = (root) => {\n return Array.from(root.children)\n .filter(el => el.tagName === 'ION-ROUTE-REDIRECT')\n .map(el => {\n const to = readProp(el, 'to');\n return {\n from: parsePath(readProp(el, 'from')),\n to: to == null ? undefined : parsePath(to),\n };\n });\n};\nconst readRoutes = (root) => {\n return flattenRouterTree(readRouteNodes(root));\n};\nconst readRouteNodes = (root, node = root) => {\n return Array.from(node.children)\n .filter(el => el.tagName === 'ION-ROUTE' && el.component)\n .map(el => {\n const component = readProp(el, 'component');\n if (component == null) {\n throw new Error('component missing in ion-route');\n }\n return {\n path: parsePath(readProp(el, 'url')),\n id: component.toLowerCase(),\n params: el.componentProps,\n beforeLeave: el.beforeLeave,\n beforeEnter: el.beforeEnter,\n children: readRouteNodes(root, el)\n };\n });\n};\nconst readProp = (el, prop) => {\n if (prop in el) {\n return el[prop];\n }\n if (el.hasAttribute(prop)) {\n return el.getAttribute(prop);\n }\n return null;\n};\nconst flattenRouterTree = (nodes) => {\n const routes = [];\n for (const node of nodes) {\n flattenNode([], routes, node);\n }\n return routes;\n};\nconst flattenNode = (chain, routes, node) => {\n const s = chain.slice();\n s.push({\n id: node.id,\n path: node.path,\n params: node.params,\n beforeLeave: node.beforeLeave,\n beforeEnter: node.beforeEnter\n });\n if (node.children.length === 0) {\n routes.push(s);\n return;\n }\n for (const sub of node.children) {\n flattenNode(s, routes, sub);\n }\n};\n\nconst Router = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteWillChange = createEvent(this, \"ionRouteWillChange\", 7);\n this.ionRouteDidChange = createEvent(this, \"ionRouteDidChange\", 7);\n this.previousPath = null;\n this.busy = false;\n this.state = 0;\n this.lastState = 0;\n /**\n * By default `ion-router` will match the routes at the root path (\"/\").\n * That can be changed when\n *\n */\n this.root = '/';\n /**\n * The router can work in two \"modes\":\n * - With hash: `/index.html#/path/to/page`\n * - Without hash: `/path/to/page`\n *\n * Using one or another might depend in the requirements of your app and/or where it's deployed.\n *\n * Usually \"hash-less\" navigation works better for SEO and it's more user friendly too, but it might\n * requires additional server-side configuration in order to properly work.\n *\n * On the otherside hash-navigation is much easier to deploy, it even works over the file protocol.\n *\n * By default, this property is `true`, change to `false` to allow hash-less URLs.\n */\n this.useHash = true;\n }\n async componentWillLoad() {\n console.debug('[ion-router] router will load');\n await waitUntilNavNode();\n console.debug('[ion-router] found nav');\n await this.onRoutesChanged();\n }\n componentDidLoad() {\n window.addEventListener('ionRouteRedirectChanged', debounce(this.onRedirectChanged.bind(this), 10));\n window.addEventListener('ionRouteDataChanged', debounce(this.onRoutesChanged.bind(this), 100));\n }\n async onPopState() {\n const direction = this.historyDirection();\n let path = this.getPath();\n const canProceed = await this.runGuards(path);\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n path = parsePath(canProceed.redirect);\n }\n return false;\n }\n console.debug('[ion-router] URL changed -> update nav', path, direction);\n return this.writeNavStateRoot(path, direction);\n }\n onBackButton(ev) {\n ev.detail.register(0, processNextHandler => {\n this.back();\n processNextHandler();\n });\n }\n /** @internal */\n async canTransition() {\n const canProceed = await this.runGuards();\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n return canProceed.redirect;\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Navigate to the specified URL.\n *\n * @param url The url to navigate to.\n * @param direction The direction of the animation. Defaults to `\"forward\"`.\n */\n async push(url, direction = 'forward', animation) {\n if (url.startsWith('.')) {\n url = (new URL(url, window.location.href)).pathname;\n }\n console.debug('[ion-router] URL pushed -> updating nav', url, direction);\n let path = parsePath(url);\n let queryString = url.split('?')[1];\n const canProceed = await this.runGuards(path);\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n path = parsePath(canProceed.redirect);\n queryString = canProceed.redirect.split('?')[1];\n }\n else {\n return false;\n }\n }\n this.setPath(path, direction, queryString);\n return this.writeNavStateRoot(path, direction, animation);\n }\n /**\n * Go back to previous page in the window.history.\n */\n back() {\n window.history.back();\n return Promise.resolve(this.waitPromise);\n }\n /** @internal */\n async printDebug() {\n console.debug('CURRENT PATH', this.getPath());\n console.debug('PREVIOUS PATH', this.previousPath);\n printRoutes(readRoutes(this.el));\n printRedirects(readRedirects(this.el));\n }\n /** @internal */\n async navChanged(direction) {\n if (this.busy) {\n console.warn('[ion-router] router is busy, navChanged was cancelled');\n return false;\n }\n const { ids, outlet } = await readNavState(window.document.body);\n const routes = readRoutes(this.el);\n const chain = routerIDsToChain(ids, routes);\n if (!chain) {\n console.warn('[ion-router] no matching URL for ', ids.map(i => i.id));\n return false;\n }\n const path = chainToPath(chain);\n if (!path) {\n console.warn('[ion-router] router could not match path because some required param is missing');\n return false;\n }\n console.debug('[ion-router] nav changed -> update URL', ids, path);\n this.setPath(path, direction);\n await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, path, null, ids.length);\n return true;\n }\n onRedirectChanged() {\n const path = this.getPath();\n if (path && routeRedirect(path, readRedirects(this.el))) {\n this.writeNavStateRoot(path, ROUTER_INTENT_NONE);\n }\n }\n onRoutesChanged() {\n return this.writeNavStateRoot(this.getPath(), ROUTER_INTENT_NONE);\n }\n historyDirection() {\n const win = window;\n if (win.history.state === null) {\n this.state++;\n win.history.replaceState(this.state, win.document.title, win.document.location && win.document.location.href);\n }\n const state = win.history.state;\n const lastState = this.lastState;\n this.lastState = state;\n if (state > lastState || (state >= lastState && lastState > 0)) {\n return ROUTER_INTENT_FORWARD;\n }\n else if (state < lastState) {\n return ROUTER_INTENT_BACK;\n }\n else {\n return ROUTER_INTENT_NONE;\n }\n }\n async writeNavStateRoot(path, direction, animation) {\n if (!path) {\n console.error('[ion-router] URL is not part of the routing set');\n return false;\n }\n // lookup redirect rule\n const redirects = readRedirects(this.el);\n const redirect = routeRedirect(path, redirects);\n let redirectFrom = null;\n if (redirect) {\n this.setPath(redirect.to, direction);\n redirectFrom = redirect.from;\n path = redirect.to;\n }\n // lookup route chain\n const routes = readRoutes(this.el);\n const chain = routerPathToChain(path, routes);\n if (!chain) {\n console.error('[ion-router] the path does not match any route');\n return false;\n }\n // write DOM give\n return this.safeWriteNavState(document.body, chain, direction, path, redirectFrom, 0, animation);\n }\n async safeWriteNavState(node, chain, direction, path, redirectFrom, index = 0, animation) {\n const unlock = await this.lock();\n let changed = false;\n try {\n changed = await this.writeNavState(node, chain, direction, path, redirectFrom, index, animation);\n }\n catch (e) {\n console.error(e);\n }\n unlock();\n return changed;\n }\n async lock() {\n const p = this.waitPromise;\n let resolve;\n this.waitPromise = new Promise(r => resolve = r);\n if (p !== undefined) {\n await p;\n }\n return resolve;\n }\n async runGuards(to = this.getPath(), from = parsePath(this.previousPath)) {\n if (!to || !from) {\n return true;\n }\n const routes = readRoutes(this.el);\n const toChain = routerPathToChain(to, routes);\n const fromChain = routerPathToChain(from, routes);\n const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;\n const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;\n const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;\n if (canLeave === false || typeof canLeave === 'object') {\n return canLeave;\n }\n const canEnter = beforeEnterHook ? await beforeEnterHook() : true;\n if (canEnter === false || typeof canEnter === 'object') {\n return canEnter;\n }\n return true;\n }\n async writeNavState(node, chain, direction, path, redirectFrom, index = 0, animation) {\n if (this.busy) {\n console.warn('[ion-router] router is busy, transition was cancelled');\n return false;\n }\n this.busy = true;\n // generate route event and emit will change\n const routeEvent = this.routeChangeEvent(path, redirectFrom);\n if (routeEvent) {\n this.ionRouteWillChange.emit(routeEvent);\n }\n const changed = await writeNavState(node, chain, direction, index, false, animation);\n this.busy = false;\n if (changed) {\n console.debug('[ion-router] route changed', path);\n }\n // emit did change\n if (routeEvent) {\n this.ionRouteDidChange.emit(routeEvent);\n }\n return changed;\n }\n setPath(path, direction, queryString) {\n this.state++;\n writePath(window.history, this.root, this.useHash, path, direction, this.state, queryString);\n }\n getPath() {\n return readPath(window.location, this.root, this.useHash);\n }\n routeChangeEvent(path, redirectFromPath) {\n const from = this.previousPath;\n const to = generatePath(path);\n this.previousPath = to;\n if (to === from) {\n return null;\n }\n const redirectedFrom = redirectFromPath ? generatePath(redirectFromPath) : null;\n return {\n from,\n redirectedFrom,\n to,\n };\n }\n get el() { return getElement(this); }\n};\n\nconst routerLinkCss = \":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}\";\n\nconst RouterLink = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n this.onClick = (ev) => {\n openURL(this.href, ev, this.routerDirection, this.routerAnimation);\n };\n }\n render() {\n const mode = getIonMode(this);\n const attrs = {\n href: this.href,\n rel: this.rel,\n target: this.target\n };\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'ion-activatable': true\n }) }, h(\"a\", Object.assign({}, attrs), h(\"slot\", null))));\n }\n};\nRouterLink.style = routerLinkCss;\n\nexport { Route as ion_route, RouteRedirect as ion_route_redirect, Router as ion_router, RouterLink as ion_router_link };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/29-es5.js b/android/app/src/main/assets/public/29-es5.js new file mode 100644 index 000000000..16236b1be --- /dev/null +++ b/android/app/src/main/assets/public/29-es5.js @@ -0,0 +1,1714 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[29], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_route, ion_route_redirect, ion_router, ion_router_link */ + + /***/ + function node_modulesIonicCoreDistEsmIonRoute_4EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_route", function () { + return Route; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_route_redirect", function () { + return RouteRedirect; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_router", function () { + return Router; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_router_link", function () { + return RouterLink; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var Route = /*#__PURE__*/function () { + function Route(hostRef) { + _classCallCheck(this, Route); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteDataChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteDataChanged", 7); + /** + * Relative path that needs to match in order for this route to apply. + * + * Accepts paths similar to expressjs so that you can define parameters + * in the url /foo/:bar where bar would be available in incoming props. + */ + + this.url = ''; + } + + _createClass(Route, [{ + key: "onUpdate", + value: function onUpdate(newValue) { + this.ionRouteDataChanged.emit(newValue); + } + }, { + key: "onComponentProps", + value: function onComponentProps(newValue, oldValue) { + if (newValue === oldValue) { + return; + } + + var keys1 = newValue ? Object.keys(newValue) : []; + var keys2 = oldValue ? Object.keys(oldValue) : []; + + if (keys1.length !== keys2.length) { + this.onUpdate(newValue); + return; + } + + var _iterator = _createForOfIteratorHelper(keys1), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var key = _step.value; + + if (newValue[key] !== oldValue[key]) { + this.onUpdate(newValue); + return; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.ionRouteDataChanged.emit(); + } + }], [{ + key: "watchers", + get: function get() { + return { + "url": ["onUpdate"], + "component": ["onUpdate"], + "componentProps": ["onComponentProps"] + }; + } + }]); + + return Route; + }(); + + var RouteRedirect = /*#__PURE__*/function () { + function RouteRedirect(hostRef) { + _classCallCheck(this, RouteRedirect); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteRedirectChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteRedirectChanged", 7); + } + + _createClass(RouteRedirect, [{ + key: "propDidChange", + value: function propDidChange() { + this.ionRouteRedirectChanged.emit(); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.ionRouteRedirectChanged.emit(); + } + }], [{ + key: "watchers", + get: function get() { + return { + "from": ["propDidChange"], + "to": ["propDidChange"] + }; + } + }]); + + return RouteRedirect; + }(); + + var ROUTER_INTENT_NONE = 'root'; + var ROUTER_INTENT_FORWARD = 'forward'; + var ROUTER_INTENT_BACK = 'back'; + + var generatePath = function generatePath(segments) { + var path = segments.filter(function (s) { + return s.length > 0; + }).join('/'); + return '/' + path; + }; + + var chainToPath = function chainToPath(chain) { + var path = []; + + var _iterator2 = _createForOfIteratorHelper(chain), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var route = _step2.value; + + var _iterator3 = _createForOfIteratorHelper(route.path), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var segment = _step3.value; + + if (segment[0] === ':') { + var param = route.params && route.params[segment.slice(1)]; + + if (!param) { + return null; + } + + path.push(param); + } else if (segment !== '') { + path.push(segment); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return path; + }; + + var writePath = function writePath(history, root, useHash, path, direction, state, queryString) { + var url = generatePath([].concat(_toConsumableArray(parsePath(root)), _toConsumableArray(path))); + + if (useHash) { + url = '#' + url; + } + + if (queryString !== undefined) { + url = url + '?' + queryString; + } + + if (direction === ROUTER_INTENT_FORWARD) { + history.pushState(state, '', url); + } else { + history.replaceState(state, '', url); + } + }; + + var removePrefix = function removePrefix(prefix, path) { + if (prefix.length > path.length) { + return null; + } + + if (prefix.length <= 1 && prefix[0] === '') { + return path; + } + + for (var i = 0; i < prefix.length; i++) { + if (prefix[i].length > 0 && prefix[i] !== path[i]) { + return null; + } + } + + if (path.length === prefix.length) { + return ['']; + } + + return path.slice(prefix.length); + }; + + var readPath = function readPath(loc, root, useHash) { + var pathname = loc.pathname; + + if (useHash) { + var hash = loc.hash; + pathname = hash[0] === '#' ? hash.slice(1) : ''; + } + + var prefix = parsePath(root); + var path = parsePath(pathname); + return removePrefix(prefix, path); + }; + + var parsePath = function parsePath(path) { + if (path == null) { + return ['']; + } + + var removeQueryString = path.split('?')[0]; + var segments = removeQueryString.split('/').map(function (s) { + return s.trim(); + }).filter(function (s) { + return s.length > 0; + }); + + if (segments.length === 0) { + return ['']; + } else { + return segments; + } + }; + + var printRoutes = function printRoutes(routes) { + console.group("[ion-core] ROUTES[".concat(routes.length, "]")); + + var _iterator4 = _createForOfIteratorHelper(routes), + _step4; + + try { + var _loop = function _loop() { + var chain = _step4.value; + var path = []; + chain.forEach(function (r) { + return path.push.apply(path, _toConsumableArray(r.path)); + }); + var ids = chain.map(function (r) { + return r.id; + }); + console.debug("%c ".concat(generatePath(path)), 'font-weight: bold; padding-left: 20px', '=>\t', "(".concat(ids.join(', '), ")")); + }; + + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + _loop(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + console.groupEnd(); + }; + + var printRedirects = function printRedirects(redirects) { + console.group("[ion-core] REDIRECTS[".concat(redirects.length, "]")); + + var _iterator5 = _createForOfIteratorHelper(redirects), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var redirect = _step5.value; + + if (redirect.to) { + console.debug('FROM: ', "$c ".concat(generatePath(redirect.from)), 'font-weight: bold', ' TO: ', "$c ".concat(generatePath(redirect.to)), 'font-weight: bold'); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + console.groupEnd(); + }; + + var _writeNavState = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(root, chain, direction, index) { + var changed, + animation, + outlet, + route, + result, + _args = arguments; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + changed = _args.length > 4 && _args[4] !== undefined ? _args[4] : false; + animation = _args.length > 5 ? _args[5] : undefined; + _context.prev = 2; + // find next navigation outlet in the DOM + outlet = searchNavNode(root); // make sure we can continue interacting the DOM, otherwise abort + + if (!(index >= chain.length || !outlet)) { + _context.next = 6; + break; + } + + return _context.abrupt("return", changed); + + case 6: + _context.next = 8; + return outlet.componentOnReady(); + + case 8: + route = chain[index]; + _context.next = 11; + return outlet.setRouteId(route.id, route.params, direction, animation); + + case 11: + result = _context.sent; + + // if the outlet changed the page, reset navigation to neutral (no direction) + // this means nested outlets will not animate + if (result.changed) { + direction = ROUTER_INTENT_NONE; + changed = true; + } // recursively set nested outlets + + + _context.next = 15; + return _writeNavState(result.element, chain, direction, index + 1, changed, animation); + + case 15: + changed = _context.sent; + + if (!result.markVisible) { + _context.next = 19; + break; + } + + _context.next = 19; + return result.markVisible(); + + case 19: + return _context.abrupt("return", changed); + + case 22: + _context.prev = 22; + _context.t0 = _context["catch"](2); + console.error(_context.t0); + return _context.abrupt("return", false); + + case 26: + case "end": + return _context.stop(); + } + } + }, _callee, null, [[2, 22]]); + })); + + return function writeNavState(_x, _x2, _x3, _x4) { + return _ref.apply(this, arguments); + }; + }(); + + var readNavState = /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(root) { + var ids, outlet, node, id; + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + ids = []; + node = root; // tslint:disable-next-line:no-constant-condition + + case 2: + if (!true) { + _context2.next = 20; + break; + } + + outlet = searchNavNode(node); + + if (!outlet) { + _context2.next = 17; + break; + } + + _context2.next = 7; + return outlet.getRouteId(); + + case 7: + id = _context2.sent; + + if (!id) { + _context2.next = 14; + break; + } + + node = id.element; + id.element = undefined; + ids.push(id); + _context2.next = 15; + break; + + case 14: + return _context2.abrupt("break", 20); + + case 15: + _context2.next = 18; + break; + + case 17: + return _context2.abrupt("break", 20); + + case 18: + _context2.next = 2; + break; + + case 20: + return _context2.abrupt("return", { + ids: ids, + outlet: outlet + }); + + case 21: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + return function readNavState(_x5) { + return _ref2.apply(this, arguments); + }; + }(); + + var waitUntilNavNode = function waitUntilNavNode() { + if (searchNavNode(document.body)) { + return Promise.resolve(); + } + + return new Promise(function (resolve) { + window.addEventListener('ionNavWillLoad', resolve, { + once: true + }); + }); + }; + + var QUERY = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet'; + + var searchNavNode = function searchNavNode(root) { + if (!root) { + return undefined; + } + + if (root.matches(QUERY)) { + return root; + } + + var outlet = root.querySelector(QUERY); + return outlet ? outlet : undefined; + }; + + var matchesRedirect = function matchesRedirect(input, route) { + var from = route.from, + to = route.to; + + if (to === undefined) { + return false; + } + + if (from.length > input.length) { + return false; + } + + for (var i = 0; i < from.length; i++) { + var expected = from[i]; + + if (expected === '*') { + return true; + } + + if (expected !== input[i]) { + return false; + } + } + + return from.length === input.length; + }; + + var routeRedirect = function routeRedirect(path, routes) { + return routes.find(function (route) { + return matchesRedirect(path, route); + }); + }; + + var matchesIDs = function matchesIDs(ids, chain) { + var len = Math.min(ids.length, chain.length); + var i = 0; + + for (; i < len; i++) { + if (ids[i].toLowerCase() !== chain[i].id) { + break; + } + } + + return i; + }; + + var matchesPath = function matchesPath(inputPath, chain) { + var segments = new RouterSegments(inputPath); + var matchesDefault = false; + var allparams; + + for (var i = 0; i < chain.length; i++) { + var path = chain[i].path; + + if (path[0] === '') { + matchesDefault = true; + } else { + var _iterator6 = _createForOfIteratorHelper(path), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var segment = _step6.value; + var data = segments.next(); // data param + + if (segment[0] === ':') { + if (data === '') { + return null; + } + + allparams = allparams || []; + var params = allparams[i] || (allparams[i] = {}); + params[segment.slice(1)] = data; + } else if (data !== segment) { + return null; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + matchesDefault = false; + } + } + + var matches = matchesDefault ? matchesDefault === (segments.next() === '') : true; + + if (!matches) { + return null; + } + + if (allparams) { + return chain.map(function (route, i) { + return { + id: route.id, + path: route.path, + params: mergeParams(route.params, allparams[i]), + beforeEnter: route.beforeEnter, + beforeLeave: route.beforeLeave + }; + }); + } + + return chain; + }; + + var mergeParams = function mergeParams(a, b) { + if (!a && b) { + return b; + } else if (a && !b) { + return a; + } else if (a && b) { + return Object.assign(Object.assign({}, a), b); + } + + return undefined; + }; + + var routerIDsToChain = function routerIDsToChain(ids, chains) { + var match = null; + var maxMatches = 0; + var plainIDs = ids.map(function (i) { + return i.id; + }); + + var _iterator7 = _createForOfIteratorHelper(chains), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var chain = _step7.value; + var score = matchesIDs(plainIDs, chain); + + if (score > maxMatches) { + match = chain; + maxMatches = score; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + if (match) { + return match.map(function (route, i) { + return { + id: route.id, + path: route.path, + params: mergeParams(route.params, ids[i] && ids[i].params) + }; + }); + } + + return null; + }; + + var routerPathToChain = function routerPathToChain(path, chains) { + var match = null; + var matches = 0; + + var _iterator8 = _createForOfIteratorHelper(chains), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var chain = _step8.value; + var matchedChain = matchesPath(path, chain); + + if (matchedChain !== null) { + var score = computePriority(matchedChain); + + if (score > matches) { + matches = score; + match = matchedChain; + } + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + return match; + }; + + var computePriority = function computePriority(chain) { + var score = 1; + var level = 1; + + var _iterator9 = _createForOfIteratorHelper(chain), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var route = _step9.value; + + var _iterator10 = _createForOfIteratorHelper(route.path), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var path = _step10.value; + + if (path[0] === ':') { + score += Math.pow(1, level); + } else if (path !== '') { + score += Math.pow(2, level); + } + + level++; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + return score; + }; + + var RouterSegments = /*#__PURE__*/function () { + function RouterSegments(path) { + _classCallCheck(this, RouterSegments); + + this.path = path.slice(); + } + + _createClass(RouterSegments, [{ + key: "next", + value: function next() { + if (this.path.length > 0) { + return this.path.shift(); + } + + return ''; + } + }]); + + return RouterSegments; + }(); + + var readRedirects = function readRedirects(root) { + return Array.from(root.children).filter(function (el) { + return el.tagName === 'ION-ROUTE-REDIRECT'; + }).map(function (el) { + var to = readProp(el, 'to'); + return { + from: parsePath(readProp(el, 'from')), + to: to == null ? undefined : parsePath(to) + }; + }); + }; + + var readRoutes = function readRoutes(root) { + return flattenRouterTree(readRouteNodes(root)); + }; + + var readRouteNodes = function readRouteNodes(root) { + var node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : root; + return Array.from(node.children).filter(function (el) { + return el.tagName === 'ION-ROUTE' && el.component; + }).map(function (el) { + var component = readProp(el, 'component'); + + if (component == null) { + throw new Error('component missing in ion-route'); + } + + return { + path: parsePath(readProp(el, 'url')), + id: component.toLowerCase(), + params: el.componentProps, + beforeLeave: el.beforeLeave, + beforeEnter: el.beforeEnter, + children: readRouteNodes(root, el) + }; + }); + }; + + var readProp = function readProp(el, prop) { + if (prop in el) { + return el[prop]; + } + + if (el.hasAttribute(prop)) { + return el.getAttribute(prop); + } + + return null; + }; + + var flattenRouterTree = function flattenRouterTree(nodes) { + var routes = []; + + var _iterator11 = _createForOfIteratorHelper(nodes), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var node = _step11.value; + flattenNode([], routes, node); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + return routes; + }; + + var flattenNode = function flattenNode(chain, routes, node) { + var s = chain.slice(); + s.push({ + id: node.id, + path: node.path, + params: node.params, + beforeLeave: node.beforeLeave, + beforeEnter: node.beforeEnter + }); + + if (node.children.length === 0) { + routes.push(s); + return; + } + + var _iterator12 = _createForOfIteratorHelper(node.children), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var sub = _step12.value; + flattenNode(s, routes, sub); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + }; + + var Router = /*#__PURE__*/function () { + function Router(hostRef) { + _classCallCheck(this, Router); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionRouteWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteWillChange", 7); + this.ionRouteDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionRouteDidChange", 7); + this.previousPath = null; + this.busy = false; + this.state = 0; + this.lastState = 0; + /** + * By default `ion-router` will match the routes at the root path ("/"). + * That can be changed when + * + */ + + this.root = '/'; + /** + * The router can work in two "modes": + * - With hash: `/index.html#/path/to/page` + * - Without hash: `/path/to/page` + * + * Using one or another might depend in the requirements of your app and/or where it's deployed. + * + * Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might + * requires additional server-side configuration in order to properly work. + * + * On the otherside hash-navigation is much easier to deploy, it even works over the file protocol. + * + * By default, this property is `true`, change to `false` to allow hash-less URLs. + */ + + this.useHash = true; + } + + _createClass(Router, [{ + key: "componentWillLoad", + value: function () { + var _componentWillLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + console.debug('[ion-router] router will load'); + _context3.next = 3; + return waitUntilNavNode(); + + case 3: + console.debug('[ion-router] found nav'); + _context3.next = 6; + return this.onRoutesChanged(); + + case 6: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function componentWillLoad() { + return _componentWillLoad.apply(this, arguments); + } + + return componentWillLoad; + }() + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + window.addEventListener('ionRouteRedirectChanged', Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["m"])(this.onRedirectChanged.bind(this), 10)); + window.addEventListener('ionRouteDataChanged', Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["m"])(this.onRoutesChanged.bind(this), 100)); + } + }, { + key: "onPopState", + value: function () { + var _onPopState = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { + var direction, path, canProceed; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + direction = this.historyDirection(); + path = this.getPath(); + _context4.next = 4; + return this.runGuards(path); + + case 4: + canProceed = _context4.sent; + + if (!(canProceed !== true)) { + _context4.next = 8; + break; + } + + if (typeof canProceed === 'object') { + path = parsePath(canProceed.redirect); + } + + return _context4.abrupt("return", false); + + case 8: + console.debug('[ion-router] URL changed -> update nav', path, direction); + return _context4.abrupt("return", this.writeNavStateRoot(path, direction)); + + case 10: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function onPopState() { + return _onPopState.apply(this, arguments); + } + + return onPopState; + }() + }, { + key: "onBackButton", + value: function onBackButton(ev) { + var _this = this; + + ev.detail.register(0, function (processNextHandler) { + _this.back(); + + processNextHandler(); + }); + } + /** @internal */ + + }, { + key: "canTransition", + value: function () { + var _canTransition = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { + var canProceed; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this.runGuards(); + + case 2: + canProceed = _context5.sent; + + if (!(canProceed !== true)) { + _context5.next = 9; + break; + } + + if (!(typeof canProceed === 'object')) { + _context5.next = 8; + break; + } + + return _context5.abrupt("return", canProceed.redirect); + + case 8: + return _context5.abrupt("return", false); + + case 9: + return _context5.abrupt("return", true); + + case 10: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function canTransition() { + return _canTransition.apply(this, arguments); + } + + return canTransition; + }() + /** + * Navigate to the specified URL. + * + * @param url The url to navigate to. + * @param direction The direction of the animation. Defaults to `"forward"`. + */ + + }, { + key: "push", + value: function () { + var _push = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(url) { + var direction, + animation, + path, + queryString, + canProceed, + _args6 = arguments; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + direction = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : 'forward'; + animation = _args6.length > 2 ? _args6[2] : undefined; + + if (url.startsWith('.')) { + url = new URL(url, window.location.href).pathname; + } + + console.debug('[ion-router] URL pushed -> updating nav', url, direction); + path = parsePath(url); + queryString = url.split('?')[1]; + _context6.next = 8; + return this.runGuards(path); + + case 8: + canProceed = _context6.sent; + + if (!(canProceed !== true)) { + _context6.next = 16; + break; + } + + if (!(typeof canProceed === 'object')) { + _context6.next = 15; + break; + } + + path = parsePath(canProceed.redirect); + queryString = canProceed.redirect.split('?')[1]; + _context6.next = 16; + break; + + case 15: + return _context6.abrupt("return", false); + + case 16: + this.setPath(path, direction, queryString); + return _context6.abrupt("return", this.writeNavStateRoot(path, direction, animation)); + + case 18: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function push(_x6) { + return _push.apply(this, arguments); + } + + return push; + }() + /** + * Go back to previous page in the window.history. + */ + + }, { + key: "back", + value: function back() { + window.history.back(); + return Promise.resolve(this.waitPromise); + } + /** @internal */ + + }, { + key: "printDebug", + value: function () { + var _printDebug = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + console.debug('CURRENT PATH', this.getPath()); + console.debug('PREVIOUS PATH', this.previousPath); + printRoutes(readRoutes(this.el)); + printRedirects(readRedirects(this.el)); + + case 4: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function printDebug() { + return _printDebug.apply(this, arguments); + } + + return printDebug; + }() + /** @internal */ + + }, { + key: "navChanged", + value: function () { + var _navChanged = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(direction) { + var _yield$readNavState, ids, outlet, routes, chain, path; + + return regeneratorRuntime.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + if (!this.busy) { + _context8.next = 3; + break; + } + + console.warn('[ion-router] router is busy, navChanged was cancelled'); + return _context8.abrupt("return", false); + + case 3: + _context8.next = 5; + return readNavState(window.document.body); + + case 5: + _yield$readNavState = _context8.sent; + ids = _yield$readNavState.ids; + outlet = _yield$readNavState.outlet; + routes = readRoutes(this.el); + chain = routerIDsToChain(ids, routes); + + if (chain) { + _context8.next = 13; + break; + } + + console.warn('[ion-router] no matching URL for ', ids.map(function (i) { + return i.id; + })); + return _context8.abrupt("return", false); + + case 13: + path = chainToPath(chain); + + if (path) { + _context8.next = 17; + break; + } + + console.warn('[ion-router] router could not match path because some required param is missing'); + return _context8.abrupt("return", false); + + case 17: + console.debug('[ion-router] nav changed -> update URL', ids, path); + this.setPath(path, direction); + _context8.next = 21; + return this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, path, null, ids.length); + + case 21: + return _context8.abrupt("return", true); + + case 22: + case "end": + return _context8.stop(); + } + } + }, _callee8, this); + })); + + function navChanged(_x7) { + return _navChanged.apply(this, arguments); + } + + return navChanged; + }() + }, { + key: "onRedirectChanged", + value: function onRedirectChanged() { + var path = this.getPath(); + + if (path && routeRedirect(path, readRedirects(this.el))) { + this.writeNavStateRoot(path, ROUTER_INTENT_NONE); + } + } + }, { + key: "onRoutesChanged", + value: function onRoutesChanged() { + return this.writeNavStateRoot(this.getPath(), ROUTER_INTENT_NONE); + } + }, { + key: "historyDirection", + value: function historyDirection() { + var win = window; + + if (win.history.state === null) { + this.state++; + win.history.replaceState(this.state, win.document.title, win.document.location && win.document.location.href); + } + + var state = win.history.state; + var lastState = this.lastState; + this.lastState = state; + + if (state > lastState || state >= lastState && lastState > 0) { + return ROUTER_INTENT_FORWARD; + } else if (state < lastState) { + return ROUTER_INTENT_BACK; + } else { + return ROUTER_INTENT_NONE; + } + } + }, { + key: "writeNavStateRoot", + value: function () { + var _writeNavStateRoot = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(path, direction, animation) { + var redirects, redirect, redirectFrom, routes, chain; + return regeneratorRuntime.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + if (path) { + _context9.next = 3; + break; + } + + console.error('[ion-router] URL is not part of the routing set'); + return _context9.abrupt("return", false); + + case 3: + // lookup redirect rule + redirects = readRedirects(this.el); + redirect = routeRedirect(path, redirects); + redirectFrom = null; + + if (redirect) { + this.setPath(redirect.to, direction); + redirectFrom = redirect.from; + path = redirect.to; + } // lookup route chain + + + routes = readRoutes(this.el); + chain = routerPathToChain(path, routes); + + if (chain) { + _context9.next = 12; + break; + } + + console.error('[ion-router] the path does not match any route'); + return _context9.abrupt("return", false); + + case 12: + return _context9.abrupt("return", this.safeWriteNavState(document.body, chain, direction, path, redirectFrom, 0, animation)); + + case 13: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function writeNavStateRoot(_x8, _x9, _x10) { + return _writeNavStateRoot.apply(this, arguments); + } + + return writeNavStateRoot; + }() + }, { + key: "safeWriteNavState", + value: function () { + var _safeWriteNavState = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10(node, chain, direction, path, redirectFrom) { + var index, + animation, + unlock, + changed, + _args10 = arguments; + return regeneratorRuntime.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + index = _args10.length > 5 && _args10[5] !== undefined ? _args10[5] : 0; + animation = _args10.length > 6 ? _args10[6] : undefined; + _context10.next = 4; + return this.lock(); + + case 4: + unlock = _context10.sent; + changed = false; + _context10.prev = 6; + _context10.next = 9; + return this.writeNavState(node, chain, direction, path, redirectFrom, index, animation); + + case 9: + changed = _context10.sent; + _context10.next = 15; + break; + + case 12: + _context10.prev = 12; + _context10.t0 = _context10["catch"](6); + console.error(_context10.t0); + + case 15: + unlock(); + return _context10.abrupt("return", changed); + + case 17: + case "end": + return _context10.stop(); + } + } + }, _callee10, this, [[6, 12]]); + })); + + function safeWriteNavState(_x11, _x12, _x13, _x14, _x15) { + return _safeWriteNavState.apply(this, arguments); + } + + return safeWriteNavState; + }() + }, { + key: "lock", + value: function () { + var _lock = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() { + var p, resolve; + return regeneratorRuntime.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + p = this.waitPromise; + this.waitPromise = new Promise(function (r) { + return resolve = r; + }); + + if (!(p !== undefined)) { + _context11.next = 5; + break; + } + + _context11.next = 5; + return p; + + case 5: + return _context11.abrupt("return", resolve); + + case 6: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function lock() { + return _lock.apply(this, arguments); + } + + return lock; + }() + }, { + key: "runGuards", + value: function () { + var _runGuards = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() { + var to, + from, + routes, + toChain, + fromChain, + beforeEnterHook, + beforeLeaveHook, + canLeave, + canEnter, + _args12 = arguments; + return regeneratorRuntime.wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + to = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : this.getPath(); + from = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : parsePath(this.previousPath); + + if (!(!to || !from)) { + _context12.next = 4; + break; + } + + return _context12.abrupt("return", true); + + case 4: + routes = readRoutes(this.el); + toChain = routerPathToChain(to, routes); + fromChain = routerPathToChain(from, routes); + beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter; + beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave; + + if (!beforeLeaveHook) { + _context12.next = 15; + break; + } + + _context12.next = 12; + return beforeLeaveHook(); + + case 12: + _context12.t0 = _context12.sent; + _context12.next = 16; + break; + + case 15: + _context12.t0 = true; + + case 16: + canLeave = _context12.t0; + + if (!(canLeave === false || typeof canLeave === 'object')) { + _context12.next = 19; + break; + } + + return _context12.abrupt("return", canLeave); + + case 19: + if (!beforeEnterHook) { + _context12.next = 25; + break; + } + + _context12.next = 22; + return beforeEnterHook(); + + case 22: + _context12.t1 = _context12.sent; + _context12.next = 26; + break; + + case 25: + _context12.t1 = true; + + case 26: + canEnter = _context12.t1; + + if (!(canEnter === false || typeof canEnter === 'object')) { + _context12.next = 29; + break; + } + + return _context12.abrupt("return", canEnter); + + case 29: + return _context12.abrupt("return", true); + + case 30: + case "end": + return _context12.stop(); + } + } + }, _callee12, this); + })); + + function runGuards() { + return _runGuards.apply(this, arguments); + } + + return runGuards; + }() + }, { + key: "writeNavState", + value: function () { + var _writeNavState2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13(node, chain, direction, path, redirectFrom) { + var index, + animation, + routeEvent, + changed, + _args13 = arguments; + return regeneratorRuntime.wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + index = _args13.length > 5 && _args13[5] !== undefined ? _args13[5] : 0; + animation = _args13.length > 6 ? _args13[6] : undefined; + + if (!this.busy) { + _context13.next = 5; + break; + } + + console.warn('[ion-router] router is busy, transition was cancelled'); + return _context13.abrupt("return", false); + + case 5: + this.busy = true; // generate route event and emit will change + + routeEvent = this.routeChangeEvent(path, redirectFrom); + + if (routeEvent) { + this.ionRouteWillChange.emit(routeEvent); + } + + _context13.next = 10; + return _writeNavState(node, chain, direction, index, false, animation); + + case 10: + changed = _context13.sent; + this.busy = false; + + if (changed) { + console.debug('[ion-router] route changed', path); + } // emit did change + + + if (routeEvent) { + this.ionRouteDidChange.emit(routeEvent); + } + + return _context13.abrupt("return", changed); + + case 15: + case "end": + return _context13.stop(); + } + } + }, _callee13, this); + })); + + function writeNavState(_x16, _x17, _x18, _x19, _x20) { + return _writeNavState2.apply(this, arguments); + } + + return writeNavState; + }() + }, { + key: "setPath", + value: function setPath(path, direction, queryString) { + this.state++; + writePath(window.history, this.root, this.useHash, path, direction, this.state, queryString); + } + }, { + key: "getPath", + value: function getPath() { + return readPath(window.location, this.root, this.useHash); + } + }, { + key: "routeChangeEvent", + value: function routeChangeEvent(path, redirectFromPath) { + var from = this.previousPath; + var to = generatePath(path); + this.previousPath = to; + + if (to === from) { + return null; + } + + var redirectedFrom = redirectFromPath ? generatePath(redirectFromPath) : null; + return { + from: from, + redirectedFrom: redirectedFrom, + to: to + }; + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Router; + }(); + + var routerLinkCss = ":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}"; + + var RouterLink = /*#__PURE__*/function () { + function RouterLink(hostRef) { + var _this2 = this; + + _classCallCheck(this, RouterLink); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * When using a router, it specifies the transition direction when navigating to + * another page using `href`. + */ + + this.routerDirection = 'forward'; + + this.onClick = function (ev) { + Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["o"])(_this2.href, ev, _this2.routerDirection, _this2.routerAnimation); + }; + } + + _createClass(RouterLink, [{ + key: "render", + value: function render() { + var _Object; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var attrs = { + href: this.href, + rel: this.rel, + target: this.target + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'ion-activatable', true), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("a", Object.assign({}, attrs), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + }]); + + return RouterLink; + }(); + + RouterLink.style = routerLinkCss; + /***/ + } +}]); +//# sourceMappingURL=29-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/29-es5.js.map b/android/app/src/main/assets/public/29-es5.js.map new file mode 100644 index 000000000..1ce9f874d --- /dev/null +++ b/android/app/src/main/assets/public/29-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-route_4.entry.js"],"names":["Route","hostRef","ionRouteDataChanged","url","newValue","emit","oldValue","keys1","Object","keys","keys2","length","onUpdate","key","RouteRedirect","ionRouteRedirectChanged","ROUTER_INTENT_NONE","ROUTER_INTENT_FORWARD","ROUTER_INTENT_BACK","generatePath","segments","path","filter","s","join","chainToPath","chain","route","segment","param","params","slice","push","writePath","history","root","useHash","direction","state","queryString","parsePath","undefined","pushState","replaceState","removePrefix","prefix","i","readPath","loc","pathname","hash","removeQueryString","split","map","trim","printRoutes","routes","console","group","forEach","r","ids","id","debug","groupEnd","printRedirects","redirects","redirect","to","from","writeNavState","index","changed","animation","outlet","searchNavNode","componentOnReady","setRouteId","result","element","markVisible","error","readNavState","node","getRouteId","waitUntilNavNode","document","body","Promise","resolve","window","addEventListener","once","QUERY","matches","querySelector","matchesRedirect","input","expected","routeRedirect","find","matchesIDs","len","Math","min","toLowerCase","matchesPath","inputPath","RouterSegments","matchesDefault","allparams","data","next","mergeParams","beforeEnter","beforeLeave","a","b","assign","routerIDsToChain","chains","match","maxMatches","plainIDs","score","routerPathToChain","matchedChain","computePriority","level","pow","shift","readRedirects","Array","children","el","tagName","readProp","readRoutes","flattenRouterTree","readRouteNodes","component","Error","componentProps","prop","hasAttribute","getAttribute","nodes","flattenNode","sub","Router","ionRouteWillChange","ionRouteDidChange","previousPath","busy","lastState","onRoutesChanged","onRedirectChanged","bind","historyDirection","getPath","runGuards","canProceed","writeNavStateRoot","ev","detail","register","processNextHandler","back","startsWith","URL","location","href","setPath","waitPromise","warn","safeWriteNavState","win","title","redirectFrom","lock","unlock","p","toChain","fromChain","beforeEnterHook","beforeLeaveHook","canLeave","canEnter","routeEvent","routeChangeEvent","redirectFromPath","redirectedFrom","routerLinkCss","RouterLink","routerDirection","onClick","routerAnimation","mode","attrs","rel","target","color","style"],"mappings":"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","file":"29-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, i as getElement, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { m as debounce } from './helpers-90f46169.js';\nimport { o as openURL, c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst Route = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteDataChanged = createEvent(this, \"ionRouteDataChanged\", 7);\n /**\n * Relative path that needs to match in order for this route to apply.\n *\n * Accepts paths similar to expressjs so that you can define parameters\n * in the url /foo/:bar where bar would be available in incoming props.\n */\n this.url = '';\n }\n onUpdate(newValue) {\n this.ionRouteDataChanged.emit(newValue);\n }\n onComponentProps(newValue, oldValue) {\n if (newValue === oldValue) {\n return;\n }\n const keys1 = newValue ? Object.keys(newValue) : [];\n const keys2 = oldValue ? Object.keys(oldValue) : [];\n if (keys1.length !== keys2.length) {\n this.onUpdate(newValue);\n return;\n }\n for (const key of keys1) {\n if (newValue[key] !== oldValue[key]) {\n this.onUpdate(newValue);\n return;\n }\n }\n }\n connectedCallback() {\n this.ionRouteDataChanged.emit();\n }\n static get watchers() { return {\n \"url\": [\"onUpdate\"],\n \"component\": [\"onUpdate\"],\n \"componentProps\": [\"onComponentProps\"]\n }; }\n};\n\nconst RouteRedirect = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteRedirectChanged = createEvent(this, \"ionRouteRedirectChanged\", 7);\n }\n propDidChange() {\n this.ionRouteRedirectChanged.emit();\n }\n connectedCallback() {\n this.ionRouteRedirectChanged.emit();\n }\n static get watchers() { return {\n \"from\": [\"propDidChange\"],\n \"to\": [\"propDidChange\"]\n }; }\n};\n\nconst ROUTER_INTENT_NONE = 'root';\nconst ROUTER_INTENT_FORWARD = 'forward';\nconst ROUTER_INTENT_BACK = 'back';\n\nconst generatePath = (segments) => {\n const path = segments\n .filter(s => s.length > 0)\n .join('/');\n return '/' + path;\n};\nconst chainToPath = (chain) => {\n const path = [];\n for (const route of chain) {\n for (const segment of route.path) {\n if (segment[0] === ':') {\n const param = route.params && route.params[segment.slice(1)];\n if (!param) {\n return null;\n }\n path.push(param);\n }\n else if (segment !== '') {\n path.push(segment);\n }\n }\n }\n return path;\n};\nconst writePath = (history, root, useHash, path, direction, state, queryString) => {\n let url = generatePath([\n ...parsePath(root),\n ...path\n ]);\n if (useHash) {\n url = '#' + url;\n }\n if (queryString !== undefined) {\n url = url + '?' + queryString;\n }\n if (direction === ROUTER_INTENT_FORWARD) {\n history.pushState(state, '', url);\n }\n else {\n history.replaceState(state, '', url);\n }\n};\nconst removePrefix = (prefix, path) => {\n if (prefix.length > path.length) {\n return null;\n }\n if (prefix.length <= 1 && prefix[0] === '') {\n return path;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (prefix[i].length > 0 && prefix[i] !== path[i]) {\n return null;\n }\n }\n if (path.length === prefix.length) {\n return [''];\n }\n return path.slice(prefix.length);\n};\nconst readPath = (loc, root, useHash) => {\n let pathname = loc.pathname;\n if (useHash) {\n const hash = loc.hash;\n pathname = (hash[0] === '#')\n ? hash.slice(1)\n : '';\n }\n const prefix = parsePath(root);\n const path = parsePath(pathname);\n return removePrefix(prefix, path);\n};\nconst parsePath = (path) => {\n if (path == null) {\n return [''];\n }\n const removeQueryString = path.split('?')[0];\n const segments = removeQueryString.split('/')\n .map(s => s.trim())\n .filter(s => s.length > 0);\n if (segments.length === 0) {\n return [''];\n }\n else {\n return segments;\n }\n};\n\nconst printRoutes = (routes) => {\n console.group(`[ion-core] ROUTES[${routes.length}]`);\n for (const chain of routes) {\n const path = [];\n chain.forEach(r => path.push(...r.path));\n const ids = chain.map(r => r.id);\n console.debug(`%c ${generatePath(path)}`, 'font-weight: bold; padding-left: 20px', '=>\\t', `(${ids.join(', ')})`);\n }\n console.groupEnd();\n};\nconst printRedirects = (redirects) => {\n console.group(`[ion-core] REDIRECTS[${redirects.length}]`);\n for (const redirect of redirects) {\n if (redirect.to) {\n console.debug('FROM: ', `$c ${generatePath(redirect.from)}`, 'font-weight: bold', ' TO: ', `$c ${generatePath(redirect.to)}`, 'font-weight: bold');\n }\n }\n console.groupEnd();\n};\n\nconst writeNavState = async (root, chain, direction, index, changed = false, animation) => {\n try {\n // find next navigation outlet in the DOM\n const outlet = searchNavNode(root);\n // make sure we can continue interacting the DOM, otherwise abort\n if (index >= chain.length || !outlet) {\n return changed;\n }\n await outlet.componentOnReady();\n const route = chain[index];\n const result = await outlet.setRouteId(route.id, route.params, direction, animation);\n // if the outlet changed the page, reset navigation to neutral (no direction)\n // this means nested outlets will not animate\n if (result.changed) {\n direction = ROUTER_INTENT_NONE;\n changed = true;\n }\n // recursively set nested outlets\n changed = await writeNavState(result.element, chain, direction, index + 1, changed, animation);\n // once all nested outlets are visible let's make the parent visible too,\n // using markVisible prevents flickering\n if (result.markVisible) {\n await result.markVisible();\n }\n return changed;\n }\n catch (e) {\n console.error(e);\n return false;\n }\n};\nconst readNavState = async (root) => {\n const ids = [];\n let outlet;\n let node = root;\n // tslint:disable-next-line:no-constant-condition\n while (true) {\n outlet = searchNavNode(node);\n if (outlet) {\n const id = await outlet.getRouteId();\n if (id) {\n node = id.element;\n id.element = undefined;\n ids.push(id);\n }\n else {\n break;\n }\n }\n else {\n break;\n }\n }\n return { ids, outlet };\n};\nconst waitUntilNavNode = () => {\n if (searchNavNode(document.body)) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n window.addEventListener('ionNavWillLoad', resolve, { once: true });\n });\n};\nconst QUERY = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';\nconst searchNavNode = (root) => {\n if (!root) {\n return undefined;\n }\n if (root.matches(QUERY)) {\n return root;\n }\n const outlet = root.querySelector(QUERY);\n return outlet ? outlet : undefined;\n};\n\nconst matchesRedirect = (input, route) => {\n const { from, to } = route;\n if (to === undefined) {\n return false;\n }\n if (from.length > input.length) {\n return false;\n }\n for (let i = 0; i < from.length; i++) {\n const expected = from[i];\n if (expected === '*') {\n return true;\n }\n if (expected !== input[i]) {\n return false;\n }\n }\n return from.length === input.length;\n};\nconst routeRedirect = (path, routes) => {\n return routes.find(route => matchesRedirect(path, route));\n};\nconst matchesIDs = (ids, chain) => {\n const len = Math.min(ids.length, chain.length);\n let i = 0;\n for (; i < len; i++) {\n if (ids[i].toLowerCase() !== chain[i].id) {\n break;\n }\n }\n return i;\n};\nconst matchesPath = (inputPath, chain) => {\n const segments = new RouterSegments(inputPath);\n let matchesDefault = false;\n let allparams;\n for (let i = 0; i < chain.length; i++) {\n const path = chain[i].path;\n if (path[0] === '') {\n matchesDefault = true;\n }\n else {\n for (const segment of path) {\n const data = segments.next();\n // data param\n if (segment[0] === ':') {\n if (data === '') {\n return null;\n }\n allparams = allparams || [];\n const params = allparams[i] || (allparams[i] = {});\n params[segment.slice(1)] = data;\n }\n else if (data !== segment) {\n return null;\n }\n }\n matchesDefault = false;\n }\n }\n const matches = (matchesDefault)\n ? matchesDefault === (segments.next() === '')\n : true;\n if (!matches) {\n return null;\n }\n if (allparams) {\n return chain.map((route, i) => ({\n id: route.id,\n path: route.path,\n params: mergeParams(route.params, allparams[i]),\n beforeEnter: route.beforeEnter,\n beforeLeave: route.beforeLeave\n }));\n }\n return chain;\n};\nconst mergeParams = (a, b) => {\n if (!a && b) {\n return b;\n }\n else if (a && !b) {\n return a;\n }\n else if (a && b) {\n return Object.assign(Object.assign({}, a), b);\n }\n return undefined;\n};\nconst routerIDsToChain = (ids, chains) => {\n let match = null;\n let maxMatches = 0;\n const plainIDs = ids.map(i => i.id);\n for (const chain of chains) {\n const score = matchesIDs(plainIDs, chain);\n if (score > maxMatches) {\n match = chain;\n maxMatches = score;\n }\n }\n if (match) {\n return match.map((route, i) => ({\n id: route.id,\n path: route.path,\n params: mergeParams(route.params, ids[i] && ids[i].params)\n }));\n }\n return null;\n};\nconst routerPathToChain = (path, chains) => {\n let match = null;\n let matches = 0;\n for (const chain of chains) {\n const matchedChain = matchesPath(path, chain);\n if (matchedChain !== null) {\n const score = computePriority(matchedChain);\n if (score > matches) {\n matches = score;\n match = matchedChain;\n }\n }\n }\n return match;\n};\nconst computePriority = (chain) => {\n let score = 1;\n let level = 1;\n for (const route of chain) {\n for (const path of route.path) {\n if (path[0] === ':') {\n score += Math.pow(1, level);\n }\n else if (path !== '') {\n score += Math.pow(2, level);\n }\n level++;\n }\n }\n return score;\n};\nclass RouterSegments {\n constructor(path) {\n this.path = path.slice();\n }\n next() {\n if (this.path.length > 0) {\n return this.path.shift();\n }\n return '';\n }\n}\n\nconst readRedirects = (root) => {\n return Array.from(root.children)\n .filter(el => el.tagName === 'ION-ROUTE-REDIRECT')\n .map(el => {\n const to = readProp(el, 'to');\n return {\n from: parsePath(readProp(el, 'from')),\n to: to == null ? undefined : parsePath(to),\n };\n });\n};\nconst readRoutes = (root) => {\n return flattenRouterTree(readRouteNodes(root));\n};\nconst readRouteNodes = (root, node = root) => {\n return Array.from(node.children)\n .filter(el => el.tagName === 'ION-ROUTE' && el.component)\n .map(el => {\n const component = readProp(el, 'component');\n if (component == null) {\n throw new Error('component missing in ion-route');\n }\n return {\n path: parsePath(readProp(el, 'url')),\n id: component.toLowerCase(),\n params: el.componentProps,\n beforeLeave: el.beforeLeave,\n beforeEnter: el.beforeEnter,\n children: readRouteNodes(root, el)\n };\n });\n};\nconst readProp = (el, prop) => {\n if (prop in el) {\n return el[prop];\n }\n if (el.hasAttribute(prop)) {\n return el.getAttribute(prop);\n }\n return null;\n};\nconst flattenRouterTree = (nodes) => {\n const routes = [];\n for (const node of nodes) {\n flattenNode([], routes, node);\n }\n return routes;\n};\nconst flattenNode = (chain, routes, node) => {\n const s = chain.slice();\n s.push({\n id: node.id,\n path: node.path,\n params: node.params,\n beforeLeave: node.beforeLeave,\n beforeEnter: node.beforeEnter\n });\n if (node.children.length === 0) {\n routes.push(s);\n return;\n }\n for (const sub of node.children) {\n flattenNode(s, routes, sub);\n }\n};\n\nconst Router = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionRouteWillChange = createEvent(this, \"ionRouteWillChange\", 7);\n this.ionRouteDidChange = createEvent(this, \"ionRouteDidChange\", 7);\n this.previousPath = null;\n this.busy = false;\n this.state = 0;\n this.lastState = 0;\n /**\n * By default `ion-router` will match the routes at the root path (\"/\").\n * That can be changed when\n *\n */\n this.root = '/';\n /**\n * The router can work in two \"modes\":\n * - With hash: `/index.html#/path/to/page`\n * - Without hash: `/path/to/page`\n *\n * Using one or another might depend in the requirements of your app and/or where it's deployed.\n *\n * Usually \"hash-less\" navigation works better for SEO and it's more user friendly too, but it might\n * requires additional server-side configuration in order to properly work.\n *\n * On the otherside hash-navigation is much easier to deploy, it even works over the file protocol.\n *\n * By default, this property is `true`, change to `false` to allow hash-less URLs.\n */\n this.useHash = true;\n }\n async componentWillLoad() {\n console.debug('[ion-router] router will load');\n await waitUntilNavNode();\n console.debug('[ion-router] found nav');\n await this.onRoutesChanged();\n }\n componentDidLoad() {\n window.addEventListener('ionRouteRedirectChanged', debounce(this.onRedirectChanged.bind(this), 10));\n window.addEventListener('ionRouteDataChanged', debounce(this.onRoutesChanged.bind(this), 100));\n }\n async onPopState() {\n const direction = this.historyDirection();\n let path = this.getPath();\n const canProceed = await this.runGuards(path);\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n path = parsePath(canProceed.redirect);\n }\n return false;\n }\n console.debug('[ion-router] URL changed -> update nav', path, direction);\n return this.writeNavStateRoot(path, direction);\n }\n onBackButton(ev) {\n ev.detail.register(0, processNextHandler => {\n this.back();\n processNextHandler();\n });\n }\n /** @internal */\n async canTransition() {\n const canProceed = await this.runGuards();\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n return canProceed.redirect;\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Navigate to the specified URL.\n *\n * @param url The url to navigate to.\n * @param direction The direction of the animation. Defaults to `\"forward\"`.\n */\n async push(url, direction = 'forward', animation) {\n if (url.startsWith('.')) {\n url = (new URL(url, window.location.href)).pathname;\n }\n console.debug('[ion-router] URL pushed -> updating nav', url, direction);\n let path = parsePath(url);\n let queryString = url.split('?')[1];\n const canProceed = await this.runGuards(path);\n if (canProceed !== true) {\n if (typeof canProceed === 'object') {\n path = parsePath(canProceed.redirect);\n queryString = canProceed.redirect.split('?')[1];\n }\n else {\n return false;\n }\n }\n this.setPath(path, direction, queryString);\n return this.writeNavStateRoot(path, direction, animation);\n }\n /**\n * Go back to previous page in the window.history.\n */\n back() {\n window.history.back();\n return Promise.resolve(this.waitPromise);\n }\n /** @internal */\n async printDebug() {\n console.debug('CURRENT PATH', this.getPath());\n console.debug('PREVIOUS PATH', this.previousPath);\n printRoutes(readRoutes(this.el));\n printRedirects(readRedirects(this.el));\n }\n /** @internal */\n async navChanged(direction) {\n if (this.busy) {\n console.warn('[ion-router] router is busy, navChanged was cancelled');\n return false;\n }\n const { ids, outlet } = await readNavState(window.document.body);\n const routes = readRoutes(this.el);\n const chain = routerIDsToChain(ids, routes);\n if (!chain) {\n console.warn('[ion-router] no matching URL for ', ids.map(i => i.id));\n return false;\n }\n const path = chainToPath(chain);\n if (!path) {\n console.warn('[ion-router] router could not match path because some required param is missing');\n return false;\n }\n console.debug('[ion-router] nav changed -> update URL', ids, path);\n this.setPath(path, direction);\n await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, path, null, ids.length);\n return true;\n }\n onRedirectChanged() {\n const path = this.getPath();\n if (path && routeRedirect(path, readRedirects(this.el))) {\n this.writeNavStateRoot(path, ROUTER_INTENT_NONE);\n }\n }\n onRoutesChanged() {\n return this.writeNavStateRoot(this.getPath(), ROUTER_INTENT_NONE);\n }\n historyDirection() {\n const win = window;\n if (win.history.state === null) {\n this.state++;\n win.history.replaceState(this.state, win.document.title, win.document.location && win.document.location.href);\n }\n const state = win.history.state;\n const lastState = this.lastState;\n this.lastState = state;\n if (state > lastState || (state >= lastState && lastState > 0)) {\n return ROUTER_INTENT_FORWARD;\n }\n else if (state < lastState) {\n return ROUTER_INTENT_BACK;\n }\n else {\n return ROUTER_INTENT_NONE;\n }\n }\n async writeNavStateRoot(path, direction, animation) {\n if (!path) {\n console.error('[ion-router] URL is not part of the routing set');\n return false;\n }\n // lookup redirect rule\n const redirects = readRedirects(this.el);\n const redirect = routeRedirect(path, redirects);\n let redirectFrom = null;\n if (redirect) {\n this.setPath(redirect.to, direction);\n redirectFrom = redirect.from;\n path = redirect.to;\n }\n // lookup route chain\n const routes = readRoutes(this.el);\n const chain = routerPathToChain(path, routes);\n if (!chain) {\n console.error('[ion-router] the path does not match any route');\n return false;\n }\n // write DOM give\n return this.safeWriteNavState(document.body, chain, direction, path, redirectFrom, 0, animation);\n }\n async safeWriteNavState(node, chain, direction, path, redirectFrom, index = 0, animation) {\n const unlock = await this.lock();\n let changed = false;\n try {\n changed = await this.writeNavState(node, chain, direction, path, redirectFrom, index, animation);\n }\n catch (e) {\n console.error(e);\n }\n unlock();\n return changed;\n }\n async lock() {\n const p = this.waitPromise;\n let resolve;\n this.waitPromise = new Promise(r => resolve = r);\n if (p !== undefined) {\n await p;\n }\n return resolve;\n }\n async runGuards(to = this.getPath(), from = parsePath(this.previousPath)) {\n if (!to || !from) {\n return true;\n }\n const routes = readRoutes(this.el);\n const toChain = routerPathToChain(to, routes);\n const fromChain = routerPathToChain(from, routes);\n const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;\n const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;\n const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;\n if (canLeave === false || typeof canLeave === 'object') {\n return canLeave;\n }\n const canEnter = beforeEnterHook ? await beforeEnterHook() : true;\n if (canEnter === false || typeof canEnter === 'object') {\n return canEnter;\n }\n return true;\n }\n async writeNavState(node, chain, direction, path, redirectFrom, index = 0, animation) {\n if (this.busy) {\n console.warn('[ion-router] router is busy, transition was cancelled');\n return false;\n }\n this.busy = true;\n // generate route event and emit will change\n const routeEvent = this.routeChangeEvent(path, redirectFrom);\n if (routeEvent) {\n this.ionRouteWillChange.emit(routeEvent);\n }\n const changed = await writeNavState(node, chain, direction, index, false, animation);\n this.busy = false;\n if (changed) {\n console.debug('[ion-router] route changed', path);\n }\n // emit did change\n if (routeEvent) {\n this.ionRouteDidChange.emit(routeEvent);\n }\n return changed;\n }\n setPath(path, direction, queryString) {\n this.state++;\n writePath(window.history, this.root, this.useHash, path, direction, this.state, queryString);\n }\n getPath() {\n return readPath(window.location, this.root, this.useHash);\n }\n routeChangeEvent(path, redirectFromPath) {\n const from = this.previousPath;\n const to = generatePath(path);\n this.previousPath = to;\n if (to === from) {\n return null;\n }\n const redirectedFrom = redirectFromPath ? generatePath(redirectFromPath) : null;\n return {\n from,\n redirectedFrom,\n to,\n };\n }\n get el() { return getElement(this); }\n};\n\nconst routerLinkCss = \":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}\";\n\nconst RouterLink = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n this.onClick = (ev) => {\n openURL(this.href, ev, this.routerDirection, this.routerAnimation);\n };\n }\n render() {\n const mode = getIonMode(this);\n const attrs = {\n href: this.href,\n rel: this.rel,\n target: this.target\n };\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'ion-activatable': true\n }) }, h(\"a\", Object.assign({}, attrs), h(\"slot\", null))));\n }\n};\nRouterLink.style = routerLinkCss;\n\nexport { Route as ion_route, RouteRedirect as ion_route_redirect, Router as ion_router, RouterLink as ion_router_link };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/3-es2015.js b/android/app/src/main/assets/public/3-es2015.js new file mode 100644 index 000000000..2fa474ad1 --- /dev/null +++ b/android/app/src/main/assets/public/3-es2015.js @@ -0,0 +1,77 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js ***! + \*****************************************************************/ +/*! exports provided: ion_avatar, ion_badge, ion_thumbnail */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_avatar", function() { return Avatar; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_badge", function() { return Badge; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_thumbnail", function() { return Thumbnail; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + +const avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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}"; + +const avatarMdCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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}"; + +const Avatar = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Avatar.style = { + ios: avatarIosCss, + md: avatarMdCss +}; + +const badgeIosCss = ":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:bold;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}"; + +const badgeMdCss = ":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:bold;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}"; + +const Badge = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(this.color, { + [mode]: true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Badge.style = { + ios: badgeIosCss, + md: badgeMdCss +}; + +const thumbnailCss = ":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}"; + +const Thumbnail = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Thumbnail.style = thumbnailCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=3-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/3-es2015.js.map b/android/app/src/main/assets/public/3-es2015.js.map new file mode 100644 index 000000000..6371b3d12 --- /dev/null +++ b/android/app/src/main/assets/public/3-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AACb;AACC;;AAE9D,4BAA4B,mCAAmC,cAAc,kCAAkC,mCAAmC,WAAW,YAAY,oBAAoB,iBAAiB,gBAAgB,MAAM,oBAAoB,WAAW,YAAY;;AAE/Q,2BAA2B,mCAAmC,cAAc,kCAAkC,mCAAmC,WAAW,YAAY,oBAAoB,iBAAiB,gBAAgB,MAAM,oBAAoB,WAAW,YAAY;;AAE9Q;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,mEAAU,QAAQ,EAAE,4DAAC;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,+CAA+C,gDAAgD,kBAAkB,kBAAkB,qBAAqB,oBAAoB,kCAAkC,mCAAmC,kCAAkC,iCAAiC,+BAA+B,qCAAqC,qBAAqB,eAAe,6BAA6B,mBAAmB,4CAA4C,eAAe,iBAAiB,cAAc,kBAAkB,mBAAmB,gBAAgB,wBAAwB,+FAA+F,MAAM,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,kBAAkB,iCAAiC,gCAAgC,cAAc,aAAa,MAAM,mBAAmB;;AAEpkC,0BAA0B,+CAA+C,gDAAgD,kBAAkB,kBAAkB,qBAAqB,oBAAoB,kCAAkC,mCAAmC,kCAAkC,iCAAiC,+BAA+B,qCAAqC,qBAAqB,eAAe,6BAA6B,mBAAmB,4CAA4C,eAAe,iBAAiB,cAAc,kBAAkB,mBAAmB,gBAAgB,wBAAwB,+FAA+F,MAAM,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,kBAAkB,iCAAiC,gCAAgC,cAAc,aAAa,MAAM,kBAAkB,kBAAkB,qBAAqB,oBAAoB,kBAAkB;;AAE/oC;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,4DAAkB;AAC/C;AACA,OAAO,GAAG,EAAE,4DAAC;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,YAAY,kBAAkB,mCAAmC,cAAc,kBAAkB,mBAAmB,kCAAkC,mCAAmC,WAAW,YAAY,oBAAoB,iBAAiB,gBAAgB;;AAEjS;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,mEAAU,QAAQ,EAAE,4DAAC;AAClD;AACA;AACA;;AAEgF","file":"3-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst avatarIosCss = \":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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\nconst avatarMdCss = \":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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\nconst Avatar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nAvatar.style = {\n ios: avatarIosCss,\n md: avatarMdCss\n};\n\nconst badgeIosCss = \":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:bold;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\nconst badgeMdCss = \":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:bold;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\nconst Badge = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nBadge.style = {\n ios: badgeIosCss,\n md: badgeMdCss\n};\n\nconst thumbnailCss = \":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}\";\n\nconst Thumbnail = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nThumbnail.style = thumbnailCss;\n\nexport { Avatar as ion_avatar, Badge as ion_badge, Thumbnail as ion_thumbnail };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/3-es5.js b/android/app/src/main/assets/public/3-es5.js new file mode 100644 index 000000000..1d150403f --- /dev/null +++ b/android/app/src/main/assets/public/3-es5.js @@ -0,0 +1,138 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js": + /*!*****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js ***! + \*****************************************************************/ + + /*! exports provided: ion_avatar, ion_badge, ion_thumbnail */ + + /***/ + function node_modulesIonicCoreDistEsmIonAvatar_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_avatar", function () { + return Avatar; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_badge", function () { + return Badge; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_thumbnail", function () { + return Thumbnail; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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}"; + var avatarMdCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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}"; + + var Avatar = /*#__PURE__*/function () { + function Avatar(hostRef) { + _classCallCheck(this, Avatar); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Avatar, [{ + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Avatar; + }(); + + Avatar.style = { + ios: avatarIosCss, + md: avatarMdCss + }; + var badgeIosCss = ":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:bold;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}"; + var badgeMdCss = ":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:bold;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}"; + + var Badge = /*#__PURE__*/function () { + function Badge(hostRef) { + _classCallCheck(this, Badge); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Badge, [{ + key: "render", + value: function render() { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(this.color, _defineProperty({}, mode, true)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Badge; + }(); + + Badge.style = { + ios: badgeIosCss, + md: badgeMdCss + }; + var thumbnailCss = ":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}"; + + var Thumbnail = /*#__PURE__*/function () { + function Thumbnail(hostRef) { + _classCallCheck(this, Thumbnail); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Thumbnail, [{ + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Thumbnail; + }(); + + Thumbnail.style = thumbnailCss; + /***/ + } +}]); +//# sourceMappingURL=3-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/3-es5.js.map b/android/app/src/main/assets/public/3-es5.js.map new file mode 100644 index 000000000..cc230dc28 --- /dev/null +++ b/android/app/src/main/assets/public/3-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js"],"names":["avatarIosCss","avatarMdCss","Avatar","hostRef","style","ios","md","badgeIosCss","badgeMdCss","Badge","mode","color","thumbnailCss","Thumbnail"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAIA,QAAMA,YAAY,GAAG,2PAArB;AAEA,QAAMC,WAAW,GAAG,2PAApB;;AAEA,QAAMC,MAAM;AACV,sBAAYC,OAAZ,EAAqB;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACD;;AAHS;AAAA;AAAA,eAIV,kBAAS;AACP,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,qBAAO,oEAAW,IAAX;AAAT,WAAR,EAAqC,6DAAE,MAAF,EAAU,IAAV,CAArC,CAAR;AACD;AANS;;AAAA;AAAA,OAAZ;;AAQAD,UAAM,CAACE,KAAP,GAAe;AACbC,SAAG,EAAEL,YADQ;AAEbM,QAAE,EAAEL;AAFS,KAAf;AAKA,QAAMM,WAAW,GAAG,ijCAApB;AAEA,QAAMC,UAAU,GAAG,6nCAAnB;;AAEA,QAAMC,KAAK;AACT,qBAAYN,OAAZ,EAAqB;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACD;;AAHQ;AAAA;AAAA,eAIT,kBAAS;AACP,cAAMO,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,qBAAO,6DAAmB,KAAKC,KAAxB,sBACpBD,IADoB,EACb,IADa;AAAT,WAAR,EAEA,6DAAE,MAAF,EAAU,IAAV,CAFA,CAAR;AAGD;AATQ;;AAAA;AAAA,OAAX;;AAWAD,SAAK,CAACL,KAAN,GAAc;AACZC,SAAG,EAAEE,WADO;AAEZD,QAAE,EAAEE;AAFQ,KAAd;AAKA,QAAMI,YAAY,GAAG,6QAArB;;AAEA,QAAMC,SAAS;AACb,yBAAYV,OAAZ,EAAqB;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACD;;AAHY;AAAA;AAAA,eAIb,kBAAS;AACP,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,qBAAO,oEAAW,IAAX;AAAT,WAAR,EAAqC,6DAAE,MAAF,EAAU,IAAV,CAArC,CAAR;AACD;AANY;;AAAA;AAAA,OAAf;;AAQAU,aAAS,CAACT,KAAV,GAAkBQ,YAAlB","file":"3-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst avatarIosCss = \":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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\nconst avatarMdCss = \":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(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\nconst Avatar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nAvatar.style = {\n ios: avatarIosCss,\n md: avatarMdCss\n};\n\nconst badgeIosCss = \":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:bold;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\nconst badgeMdCss = \":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:bold;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\nconst Badge = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nBadge.style = {\n ios: badgeIosCss,\n md: badgeMdCss\n};\n\nconst thumbnailCss = \":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}\";\n\nconst Thumbnail = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null)));\n }\n};\nThumbnail.style = thumbnailCss;\n\nexport { Avatar as ion_avatar, Badge as ion_badge, Thumbnail as ion_thumbnail };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/30-es2015.js b/android/app/src/main/assets/public/30-es2015.js new file mode 100644 index 000000000..9e02fd01d --- /dev/null +++ b/android/app/src/main/assets/public/30-es2015.js @@ -0,0 +1,357 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[30],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js": +/*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js ***! + \******************************************************************/ +/*! exports provided: ion_searchbar */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_searchbar", function() { return Searchbar; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}"; + +const searchbarMdCss = ".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}"; + +const Searchbar = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInput = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInput", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionClear = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionClear", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.isCancelVisible = false; + this.shouldAlignLeft = true; + this.focused = false; + this.noAnimate = true; + /** + * If `true`, enable searchbar animation. + */ + this.animated = false; + /** + * Set the input's autocomplete property. + */ + this.autocomplete = 'off'; + /** + * Set the input's autocorrect property. + */ + this.autocorrect = 'off'; + /** + * Set the cancel button icon. Only applies to `md` mode. + * Defaults to `"arrow-back-sharp"`. + */ + this.cancelButtonIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('backButtonIcon', 'arrow-back-sharp'); + /** + * Set the the cancel button text. Only applies to `ios` mode. + */ + this.cancelButtonText = 'Cancel'; + /** + * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`. + */ + this.debounce = 250; + /** + * If `true`, the user cannot interact with the input. + */ + this.disabled = false; + /** + * Set the input's placeholder. + * `placeholder` can accept either plaintext or HTML as a string. + * To display characters normally reserved for HTML, they + * must be escaped. For example `` would become + * `<Ionic>` + * + * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) + */ + this.placeholder = 'Search'; + /** + * Sets the behavior for the cancel button. Defaults to `"never"`. + * Setting to `"focus"` shows the cancel button on focus. + * Setting to `"never"` hides the cancel button. + * Setting to `"always"` shows the cancel button regardless + * of focus state. + */ + this.showCancelButton = 'never'; + /** + * If `true`, enable spellcheck on the input. + */ + this.spellcheck = false; + /** + * Set the type of the input. + */ + this.type = 'search'; + /** + * the value of the searchbar. + */ + this.value = ''; + /** + * Clears the input field and triggers the control change. + */ + this.onClearInput = (ev) => { + this.ionClear.emit(); + if (ev) { + ev.preventDefault(); + ev.stopPropagation(); + } + // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527 + // wait for 4 frames + setTimeout(() => { + const value = this.getValue(); + if (value !== '') { + this.value = ''; + this.ionInput.emit(); + } + }, 16 * 4); + }; + /** + * Clears the input field and tells the input to blur since + * the clearInput function doesn't want the input to blur + * then calls the custom cancel function if the user passed one in. + */ + this.onCancelSearchbar = (ev) => { + if (ev) { + ev.preventDefault(); + ev.stopPropagation(); + } + this.ionCancel.emit(); + this.onClearInput(); + if (this.nativeInput) { + this.nativeInput.blur(); + } + }; + /** + * Update the Searchbar input value when the input changes + */ + this.onInput = (ev) => { + const input = ev.target; + if (input) { + this.value = input.value; + } + this.ionInput.emit(ev); + }; + /** + * Sets the Searchbar to not focused and checks if it should align left + * based on whether there is a value in the searchbar or not. + */ + this.onBlur = () => { + this.focused = false; + this.ionBlur.emit(); + this.positionElements(); + }; + /** + * Sets the Searchbar to focused and active on input focus. + */ + this.onFocus = () => { + this.focused = true; + this.ionFocus.emit(); + this.positionElements(); + }; + } + debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + valueChanged() { + const inputEl = this.nativeInput; + const value = this.getValue(); + if (inputEl && inputEl.value !== value) { + inputEl.value = value; + } + this.ionChange.emit({ value }); + } + showCancelButtonChanged() { + requestAnimationFrame(() => { + this.positionElements(); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + }); + } + connectedCallback() { + this.emitStyle(); + } + componentDidLoad() { + this.positionElements(); + this.debounceChanged(); + setTimeout(() => { + this.noAnimate = false; + }, 300); + } + emitStyle() { + this.ionStyle.emit({ + 'searchbar': true + }); + } + /** + * Sets focus on the specified `ion-searchbar`. Use this method instead of the global + * `input.focus()`. + */ + async setFocus() { + if (this.nativeInput) { + this.nativeInput.focus(); + } + } + /** + * Returns the native `` element used under the hood. + */ + getInputElement() { + return Promise.resolve(this.nativeInput); + } + /** + * Positions the input search icon, placeholder, and the cancel button + * based on the input value and if it is focused. (ios only) + */ + positionElements() { + const value = this.getValue(); + const prevAlignLeft = this.shouldAlignLeft; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const shouldAlignLeft = (!this.animated || value.trim() !== '' || !!this.focused); + this.shouldAlignLeft = shouldAlignLeft; + if (mode !== 'ios') { + return; + } + if (prevAlignLeft !== shouldAlignLeft) { + this.positionPlaceholder(); + } + if (this.animated) { + this.positionCancelButton(); + } + } + /** + * Positions the input placeholder + */ + positionPlaceholder() { + const inputEl = this.nativeInput; + if (!inputEl) { + return; + } + const isRTL = document.dir === 'rtl'; + const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon'); + if (this.shouldAlignLeft) { + inputEl.removeAttribute('style'); + iconEl.removeAttribute('style'); + } + else { + // Create a dummy span to get the placeholder width + const doc = document; + const tempSpan = doc.createElement('span'); + tempSpan.innerText = this.placeholder || ''; + doc.body.appendChild(tempSpan); + // Get the width of the span then remove it + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => { + const textWidth = tempSpan.offsetWidth; + tempSpan.remove(); + // Calculate the input padding + const inputLeft = 'calc(50% - ' + (textWidth / 2) + 'px)'; + // Calculate the icon margin + const iconLeft = 'calc(50% - ' + ((textWidth / 2) + 30) + 'px)'; + // Set the input padding start and icon margin start + if (isRTL) { + inputEl.style.paddingRight = inputLeft; + iconEl.style.marginRight = iconLeft; + } + else { + inputEl.style.paddingLeft = inputLeft; + iconEl.style.marginLeft = iconLeft; + } + }); + } + } + /** + * Show the iOS Cancel button on focus, hide it offscreen otherwise + */ + positionCancelButton() { + const isRTL = document.dir === 'rtl'; + const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button'); + const shouldShowCancel = this.shouldShowCancelButton(); + if (cancelButton && shouldShowCancel !== this.isCancelVisible) { + const cancelStyle = cancelButton.style; + this.isCancelVisible = shouldShowCancel; + if (shouldShowCancel) { + if (isRTL) { + cancelStyle.marginLeft = '0'; + } + else { + cancelStyle.marginRight = '0'; + } + } + else { + const offset = cancelButton.offsetWidth; + if (offset > 0) { + if (isRTL) { + cancelStyle.marginLeft = -offset + 'px'; + } + else { + cancelStyle.marginRight = -offset + 'px'; + } + } + } + } + } + getValue() { + return this.value || ''; + } + hasValue() { + return this.getValue() !== ''; + } + /** + * Determines whether or not the cancel button should be visible onscreen. + * Cancel button should be shown if one of two conditions applies: + * 1. `showCancelButton` is set to `always`. + * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused. + */ + shouldShowCancelButton() { + if ((this.showCancelButton === 'never') || (this.showCancelButton === 'focus' && !this.focused)) { + return false; + } + return true; + } + render() { + const { cancelButtonText } = this; + const animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const clearIcon = this.clearIcon || (mode === 'ios' ? 'close-circle' : 'close-sharp'); + const searchIcon = this.searchIcon || (mode === 'ios' ? 'search-outline' : 'search-sharp'); + const shouldShowCancelButton = this.shouldShowCancelButton(); + const cancelButton = (this.showCancelButton !== 'never') && (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { "aria-hidden": "true" }, mode === 'md' + ? Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false }) + : cancelButtonText))); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "search", "aria-disabled": this.disabled ? 'true' : null, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'searchbar-animated': animated, + 'searchbar-disabled': this.disabled, + 'searchbar-no-animate': animated && this.noAnimate, + 'searchbar-has-value': this.hasValue(), + 'searchbar-left-aligned': this.shouldAlignLeft, + 'searchbar-has-focus': this.focused, + 'searchbar-should-show-cancel': this.shouldShowCancelButton() + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "searchbar-input-container" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", { "aria-label": "search text", disabled: this.disabled, ref: el => this.nativeInput = el, class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onMouseDown: this.onClearInput, onTouchStart: this.onClearInput }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton)); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "debounce": ["debounceChanged"], + "value": ["valueChanged"], + "showCancelButton": ["showCancelButtonChanged"] + }; } +}; +Searchbar.style = { + ios: searchbarIosCss, + md: searchbarMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=30-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/30-es2015.js.map b/android/app/src/main/assets/public/30-es2015.js.map new file mode 100644 index 000000000..2fab6780f --- /dev/null +++ b/android/app/src/main/assets/public/30-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js"],"names":[],"mappings":"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mBAAmB,4DAAW;AAC9B,oBAAoB,4DAAW;AAC/B,oBAAoB,4DAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,2DAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;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,OAAO;AACP;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,qBAAqB,8DAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,MAAM,4DAAW;AACjB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,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,iBAAiB,mEAAU;AAC3B;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,MAAM,8DAAG;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,WAAW,mBAAmB;AAC9B,sCAAsC,2DAAM;AAC5C,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA,iEAAiE,4DAAC,YAAY,gSAAgS,EAAE,4DAAC,SAAS,wBAAwB;AAClZ,QAAQ,4DAAC,cAAc,8EAA8E;AACrG;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,wEAAwE,4DAAkB;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG,EAAE,4DAAC,SAAS,qCAAqC,EAAE,4DAAC,WAAW,uZAAuZ,kCAAkC,4DAAC,cAAc,mGAAmG,GAAG,4DAAC,YAAY,2JAA2J,EAAE,4DAAC,cAAc,iGAAiG;AACj5B;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEsC","file":"30-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, j as forceUpdate, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { e as debounceEvent, r as raf } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst searchbarIosCss = \".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}\";\n\nconst searchbarMdCss = \".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}\";\n\nconst Searchbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionClear = createEvent(this, \"ionClear\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.isCancelVisible = false;\n this.shouldAlignLeft = true;\n this.focused = false;\n this.noAnimate = true;\n /**\n * If `true`, enable searchbar animation.\n */\n this.animated = false;\n /**\n * Set the input's autocomplete property.\n */\n this.autocomplete = 'off';\n /**\n * Set the input's autocorrect property.\n */\n this.autocorrect = 'off';\n /**\n * Set the cancel button icon. Only applies to `md` mode.\n * Defaults to `\"arrow-back-sharp\"`.\n */\n this.cancelButtonIcon = config.get('backButtonIcon', 'arrow-back-sharp');\n /**\n * Set the the cancel button text. Only applies to `ios` mode.\n */\n this.cancelButtonText = 'Cancel';\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 250;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * Set the input's placeholder.\n * `placeholder` can accept either plaintext or HTML as a string.\n * To display characters normally reserved for HTML, they\n * must be escaped. For example `` would become\n * `<Ionic>`\n *\n * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)\n */\n this.placeholder = 'Search';\n /**\n * Sets the behavior for the cancel button. Defaults to `\"never\"`.\n * Setting to `\"focus\"` shows the cancel button on focus.\n * Setting to `\"never\"` hides the cancel button.\n * Setting to `\"always\"` shows the cancel button regardless\n * of focus state.\n */\n this.showCancelButton = 'never';\n /**\n * If `true`, enable spellcheck on the input.\n */\n this.spellcheck = false;\n /**\n * Set the type of the input.\n */\n this.type = 'search';\n /**\n * the value of the searchbar.\n */\n this.value = '';\n /**\n * Clears the input field and triggers the control change.\n */\n this.onClearInput = (ev) => {\n this.ionClear.emit();\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527\n // wait for 4 frames\n setTimeout(() => {\n const value = this.getValue();\n if (value !== '') {\n this.value = '';\n this.ionInput.emit();\n }\n }, 16 * 4);\n };\n /**\n * Clears the input field and tells the input to blur since\n * the clearInput function doesn't want the input to blur\n * then calls the custom cancel function if the user passed one in.\n */\n this.onCancelSearchbar = (ev) => {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.ionCancel.emit();\n this.onClearInput();\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n };\n /**\n * Update the Searchbar input value when the input changes\n */\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value;\n }\n this.ionInput.emit(ev);\n };\n /**\n * Sets the Searchbar to not focused and checks if it should align left\n * based on whether there is a value in the searchbar or not.\n */\n this.onBlur = () => {\n this.focused = false;\n this.ionBlur.emit();\n this.positionElements();\n };\n /**\n * Sets the Searchbar to focused and active on input focus.\n */\n this.onFocus = () => {\n this.focused = true;\n this.ionFocus.emit();\n this.positionElements();\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n valueChanged() {\n const inputEl = this.nativeInput;\n const value = this.getValue();\n if (inputEl && inputEl.value !== value) {\n inputEl.value = value;\n }\n this.ionChange.emit({ value });\n }\n showCancelButtonChanged() {\n requestAnimationFrame(() => {\n this.positionElements();\n forceUpdate(this);\n });\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentDidLoad() {\n this.positionElements();\n this.debounceChanged();\n setTimeout(() => {\n this.noAnimate = false;\n }, 300);\n }\n emitStyle() {\n this.ionStyle.emit({\n 'searchbar': true\n });\n }\n /**\n * Sets focus on the specified `ion-searchbar`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n /**\n * Positions the input search icon, placeholder, and the cancel button\n * based on the input value and if it is focused. (ios only)\n */\n positionElements() {\n const value = this.getValue();\n const prevAlignLeft = this.shouldAlignLeft;\n const mode = getIonMode(this);\n const shouldAlignLeft = (!this.animated || value.trim() !== '' || !!this.focused);\n this.shouldAlignLeft = shouldAlignLeft;\n if (mode !== 'ios') {\n return;\n }\n if (prevAlignLeft !== shouldAlignLeft) {\n this.positionPlaceholder();\n }\n if (this.animated) {\n this.positionCancelButton();\n }\n }\n /**\n * Positions the input placeholder\n */\n positionPlaceholder() {\n const inputEl = this.nativeInput;\n if (!inputEl) {\n return;\n }\n const isRTL = document.dir === 'rtl';\n const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');\n if (this.shouldAlignLeft) {\n inputEl.removeAttribute('style');\n iconEl.removeAttribute('style');\n }\n else {\n // Create a dummy span to get the placeholder width\n const doc = document;\n const tempSpan = doc.createElement('span');\n tempSpan.innerText = this.placeholder || '';\n doc.body.appendChild(tempSpan);\n // Get the width of the span then remove it\n raf(() => {\n const textWidth = tempSpan.offsetWidth;\n tempSpan.remove();\n // Calculate the input padding\n const inputLeft = 'calc(50% - ' + (textWidth / 2) + 'px)';\n // Calculate the icon margin\n const iconLeft = 'calc(50% - ' + ((textWidth / 2) + 30) + 'px)';\n // Set the input padding start and icon margin start\n if (isRTL) {\n inputEl.style.paddingRight = inputLeft;\n iconEl.style.marginRight = iconLeft;\n }\n else {\n inputEl.style.paddingLeft = inputLeft;\n iconEl.style.marginLeft = iconLeft;\n }\n });\n }\n }\n /**\n * Show the iOS Cancel button on focus, hide it offscreen otherwise\n */\n positionCancelButton() {\n const isRTL = document.dir === 'rtl';\n const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');\n const shouldShowCancel = this.shouldShowCancelButton();\n if (cancelButton && shouldShowCancel !== this.isCancelVisible) {\n const cancelStyle = cancelButton.style;\n this.isCancelVisible = shouldShowCancel;\n if (shouldShowCancel) {\n if (isRTL) {\n cancelStyle.marginLeft = '0';\n }\n else {\n cancelStyle.marginRight = '0';\n }\n }\n else {\n const offset = cancelButton.offsetWidth;\n if (offset > 0) {\n if (isRTL) {\n cancelStyle.marginLeft = -offset + 'px';\n }\n else {\n cancelStyle.marginRight = -offset + 'px';\n }\n }\n }\n }\n }\n getValue() {\n return this.value || '';\n }\n hasValue() {\n return this.getValue() !== '';\n }\n /**\n * Determines whether or not the cancel button should be visible onscreen.\n * Cancel button should be shown if one of two conditions applies:\n * 1. `showCancelButton` is set to `always`.\n * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowCancelButton() {\n if ((this.showCancelButton === 'never') || (this.showCancelButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n render() {\n const { cancelButtonText } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const mode = getIonMode(this);\n const clearIcon = this.clearIcon || (mode === 'ios' ? 'close-circle' : 'close-sharp');\n const searchIcon = this.searchIcon || (mode === 'ios' ? 'search-outline' : 'search-sharp');\n const shouldShowCancelButton = this.shouldShowCancelButton();\n const cancelButton = (this.showCancelButton !== 'never') && (h(\"button\", { \"aria-label\": cancelButtonText, \"aria-hidden\": shouldShowCancelButton ? undefined : 'true', type: \"button\", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: \"searchbar-cancel-button\" }, h(\"div\", { \"aria-hidden\": \"true\" }, mode === 'md'\n ? h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: this.cancelButtonIcon, lazy: false })\n : cancelButtonText)));\n return (h(Host, { role: \"search\", \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'searchbar-animated': animated,\n 'searchbar-disabled': this.disabled,\n 'searchbar-no-animate': animated && this.noAnimate,\n 'searchbar-has-value': this.hasValue(),\n 'searchbar-left-aligned': this.shouldAlignLeft,\n 'searchbar-has-focus': this.focused,\n 'searchbar-should-show-cancel': this.shouldShowCancelButton()\n }) }, h(\"div\", { class: \"searchbar-input-container\" }, h(\"input\", { \"aria-label\": \"search text\", disabled: this.disabled, ref: el => this.nativeInput = el, class: \"searchbar-input\", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: searchIcon, lazy: false, class: \"searchbar-search-icon\" }), h(\"button\", { \"aria-label\": \"reset\", type: \"button\", \"no-blur\": true, class: \"searchbar-clear-button\", onMouseDown: this.onClearInput, onTouchStart: this.onClearInput }, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: clearIcon, lazy: false, class: \"searchbar-clear-icon\" }))), mode === 'ios' && cancelButton));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"value\": [\"valueChanged\"],\n \"showCancelButton\": [\"showCancelButtonChanged\"]\n }; }\n};\nSearchbar.style = {\n ios: searchbarIosCss,\n md: searchbarMdCss\n};\n\nexport { Searchbar as ion_searchbar };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/30-es5.js b/android/app/src/main/assets/public/30-es5.js new file mode 100644 index 000000000..5845bac8a --- /dev/null +++ b/android/app/src/main/assets/public/30-es5.js @@ -0,0 +1,560 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[30], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js": + /*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js ***! + \******************************************************************/ + + /*! exports provided: ion_searchbar */ + + /***/ + function node_modulesIonicCoreDistEsmIonSearchbarEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_searchbar", function () { + return Searchbar; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}"; + var searchbarMdCss = ".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}"; + + var Searchbar = /*#__PURE__*/function () { + function Searchbar(hostRef) { + var _this = this; + + _classCallCheck(this, Searchbar); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionInput = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInput", 7); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionClear = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionClear", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.isCancelVisible = false; + this.shouldAlignLeft = true; + this.focused = false; + this.noAnimate = true; + /** + * If `true`, enable searchbar animation. + */ + + this.animated = false; + /** + * Set the input's autocomplete property. + */ + + this.autocomplete = 'off'; + /** + * Set the input's autocorrect property. + */ + + this.autocorrect = 'off'; + /** + * Set the cancel button icon. Only applies to `md` mode. + * Defaults to `"arrow-back-sharp"`. + */ + + this.cancelButtonIcon = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('backButtonIcon', 'arrow-back-sharp'); + /** + * Set the the cancel button text. Only applies to `ios` mode. + */ + + this.cancelButtonText = 'Cancel'; + /** + * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`. + */ + + this.debounce = 250; + /** + * If `true`, the user cannot interact with the input. + */ + + this.disabled = false; + /** + * Set the input's placeholder. + * `placeholder` can accept either plaintext or HTML as a string. + * To display characters normally reserved for HTML, they + * must be escaped. For example `` would become + * `<Ionic>` + * + * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security) + */ + + this.placeholder = 'Search'; + /** + * Sets the behavior for the cancel button. Defaults to `"never"`. + * Setting to `"focus"` shows the cancel button on focus. + * Setting to `"never"` hides the cancel button. + * Setting to `"always"` shows the cancel button regardless + * of focus state. + */ + + this.showCancelButton = 'never'; + /** + * If `true`, enable spellcheck on the input. + */ + + this.spellcheck = false; + /** + * Set the type of the input. + */ + + this.type = 'search'; + /** + * the value of the searchbar. + */ + + this.value = ''; + /** + * Clears the input field and triggers the control change. + */ + + this.onClearInput = function (ev) { + _this.ionClear.emit(); + + if (ev) { + ev.preventDefault(); + ev.stopPropagation(); + } // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527 + // wait for 4 frames + + + setTimeout(function () { + var value = _this.getValue(); + + if (value !== '') { + _this.value = ''; + + _this.ionInput.emit(); + } + }, 16 * 4); + }; + /** + * Clears the input field and tells the input to blur since + * the clearInput function doesn't want the input to blur + * then calls the custom cancel function if the user passed one in. + */ + + + this.onCancelSearchbar = function (ev) { + if (ev) { + ev.preventDefault(); + ev.stopPropagation(); + } + + _this.ionCancel.emit(); + + _this.onClearInput(); + + if (_this.nativeInput) { + _this.nativeInput.blur(); + } + }; + /** + * Update the Searchbar input value when the input changes + */ + + + this.onInput = function (ev) { + var input = ev.target; + + if (input) { + _this.value = input.value; + } + + _this.ionInput.emit(ev); + }; + /** + * Sets the Searchbar to not focused and checks if it should align left + * based on whether there is a value in the searchbar or not. + */ + + + this.onBlur = function () { + _this.focused = false; + + _this.ionBlur.emit(); + + _this.positionElements(); + }; + /** + * Sets the Searchbar to focused and active on input focus. + */ + + + this.onFocus = function () { + _this.focused = true; + + _this.ionFocus.emit(); + + _this.positionElements(); + }; + } + + _createClass(Searchbar, [{ + key: "debounceChanged", + value: function debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + }, { + key: "valueChanged", + value: function valueChanged() { + var inputEl = this.nativeInput; + var value = this.getValue(); + + if (inputEl && inputEl.value !== value) { + inputEl.value = value; + } + + this.ionChange.emit({ + value: value + }); + } + }, { + key: "showCancelButtonChanged", + value: function showCancelButtonChanged() { + var _this2 = this; + + requestAnimationFrame(function () { + _this2.positionElements(); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(_this2); + }); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.emitStyle(); + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + var _this3 = this; + + this.positionElements(); + this.debounceChanged(); + setTimeout(function () { + _this3.noAnimate = false; + }, 300); + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'searchbar': true + }); + } + /** + * Sets focus on the specified `ion-searchbar`. Use this method instead of the global + * `input.focus()`. + */ + + }, { + key: "setFocus", + value: function () { + var _setFocus = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this.nativeInput) { + this.nativeInput.focus(); + } + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function setFocus() { + return _setFocus.apply(this, arguments); + } + + return setFocus; + }() + /** + * Returns the native `` element used under the hood. + */ + + }, { + key: "getInputElement", + value: function getInputElement() { + return Promise.resolve(this.nativeInput); + } + /** + * Positions the input search icon, placeholder, and the cancel button + * based on the input value and if it is focused. (ios only) + */ + + }, { + key: "positionElements", + value: function positionElements() { + var value = this.getValue(); + var prevAlignLeft = this.shouldAlignLeft; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused; + this.shouldAlignLeft = shouldAlignLeft; + + if (mode !== 'ios') { + return; + } + + if (prevAlignLeft !== shouldAlignLeft) { + this.positionPlaceholder(); + } + + if (this.animated) { + this.positionCancelButton(); + } + } + /** + * Positions the input placeholder + */ + + }, { + key: "positionPlaceholder", + value: function positionPlaceholder() { + var inputEl = this.nativeInput; + + if (!inputEl) { + return; + } + + var isRTL = document.dir === 'rtl'; + var iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon'); + + if (this.shouldAlignLeft) { + inputEl.removeAttribute('style'); + iconEl.removeAttribute('style'); + } else { + // Create a dummy span to get the placeholder width + var doc = document; + var tempSpan = doc.createElement('span'); + tempSpan.innerText = this.placeholder || ''; + doc.body.appendChild(tempSpan); // Get the width of the span then remove it + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(function () { + var textWidth = tempSpan.offsetWidth; + tempSpan.remove(); // Calculate the input padding + + var inputLeft = 'calc(50% - ' + textWidth / 2 + 'px)'; // Calculate the icon margin + + var iconLeft = 'calc(50% - ' + (textWidth / 2 + 30) + 'px)'; // Set the input padding start and icon margin start + + if (isRTL) { + inputEl.style.paddingRight = inputLeft; + iconEl.style.marginRight = iconLeft; + } else { + inputEl.style.paddingLeft = inputLeft; + iconEl.style.marginLeft = iconLeft; + } + }); + } + } + /** + * Show the iOS Cancel button on focus, hide it offscreen otherwise + */ + + }, { + key: "positionCancelButton", + value: function positionCancelButton() { + var isRTL = document.dir === 'rtl'; + var cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button'); + var shouldShowCancel = this.shouldShowCancelButton(); + + if (cancelButton && shouldShowCancel !== this.isCancelVisible) { + var cancelStyle = cancelButton.style; + this.isCancelVisible = shouldShowCancel; + + if (shouldShowCancel) { + if (isRTL) { + cancelStyle.marginLeft = '0'; + } else { + cancelStyle.marginRight = '0'; + } + } else { + var offset = cancelButton.offsetWidth; + + if (offset > 0) { + if (isRTL) { + cancelStyle.marginLeft = -offset + 'px'; + } else { + cancelStyle.marginRight = -offset + 'px'; + } + } + } + } + } + }, { + key: "getValue", + value: function getValue() { + return this.value || ''; + } + }, { + key: "hasValue", + value: function hasValue() { + return this.getValue() !== ''; + } + /** + * Determines whether or not the cancel button should be visible onscreen. + * Cancel button should be shown if one of two conditions applies: + * 1. `showCancelButton` is set to `always`. + * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused. + */ + + }, { + key: "shouldShowCancelButton", + value: function shouldShowCancelButton() { + if (this.showCancelButton === 'never' || this.showCancelButton === 'focus' && !this.focused) { + return false; + } + + return true; + } + }, { + key: "render", + value: function render() { + var _Object, + _this4 = this; + + var cancelButtonText = this.cancelButtonText; + + var animated = this.animated && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true); + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var clearIcon = this.clearIcon || (mode === 'ios' ? 'close-circle' : 'close-sharp'); + var searchIcon = this.searchIcon || (mode === 'ios' ? 'search-outline' : 'search-sharp'); + var shouldShowCancelButton = this.shouldShowCancelButton(); + var cancelButton = this.showCancelButton !== 'never' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + "aria-label": cancelButtonText, + "aria-hidden": shouldShowCancelButton ? undefined : 'true', + type: "button", + tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, + onMouseDown: this.onCancelSearchbar, + onTouchStart: this.onCancelSearchbar, + "class": "searchbar-cancel-button" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "aria-hidden": "true" + }, mode === 'md' ? Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + "aria-hidden": "true", + mode: mode, + icon: this.cancelButtonIcon, + lazy: false + }) : cancelButtonText)); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "search", + "aria-disabled": this.disabled ? 'true' : null, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'searchbar-animated', animated), _defineProperty(_Object, 'searchbar-disabled', this.disabled), _defineProperty(_Object, 'searchbar-no-animate', animated && this.noAnimate), _defineProperty(_Object, 'searchbar-has-value', this.hasValue()), _defineProperty(_Object, 'searchbar-left-aligned', this.shouldAlignLeft), _defineProperty(_Object, 'searchbar-has-focus', this.focused), _defineProperty(_Object, 'searchbar-should-show-cancel', this.shouldShowCancelButton()), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "searchbar-input-container" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("input", { + "aria-label": "search text", + disabled: this.disabled, + ref: function ref(el) { + return _this4.nativeInput = el; + }, + "class": "searchbar-input", + inputMode: this.inputmode, + enterKeyHint: this.enterkeyhint, + onInput: this.onInput, + onBlur: this.onBlur, + onFocus: this.onFocus, + placeholder: this.placeholder, + type: this.type, + value: this.getValue(), + autoComplete: this.autocomplete, + autoCorrect: this.autocorrect, + spellcheck: this.spellcheck + }), mode === 'md' && cancelButton, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + "aria-hidden": "true", + mode: mode, + icon: searchIcon, + lazy: false, + "class": "searchbar-search-icon" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + "aria-label": "reset", + type: "button", + "no-blur": true, + "class": "searchbar-clear-button", + onMouseDown: this.onClearInput, + onTouchStart: this.onClearInput + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-icon", { + "aria-hidden": "true", + mode: mode, + icon: clearIcon, + lazy: false, + "class": "searchbar-clear-icon" + }))), mode === 'ios' && cancelButton); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "debounce": ["debounceChanged"], + "value": ["valueChanged"], + "showCancelButton": ["showCancelButtonChanged"] + }; + } + }]); + + return Searchbar; + }(); + + Searchbar.style = { + ios: searchbarIosCss, + md: searchbarMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=30-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/30-es5.js.map b/android/app/src/main/assets/public/30-es5.js.map new file mode 100644 index 000000000..494aaaca5 --- /dev/null +++ b/android/app/src/main/assets/public/30-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js"],"names":["searchbarIosCss","searchbarMdCss","Searchbar","hostRef","ionInput","ionChange","ionCancel","ionClear","ionBlur","ionFocus","ionStyle","isCancelVisible","shouldAlignLeft","focused","noAnimate","animated","autocomplete","autocorrect","cancelButtonIcon","get","cancelButtonText","debounce","disabled","placeholder","showCancelButton","spellcheck","type","value","onClearInput","ev","emit","preventDefault","stopPropagation","setTimeout","getValue","onCancelSearchbar","nativeInput","blur","onInput","input","target","onBlur","positionElements","onFocus","inputEl","requestAnimationFrame","emitStyle","debounceChanged","focus","Promise","resolve","prevAlignLeft","mode","trim","positionPlaceholder","positionCancelButton","isRTL","document","dir","iconEl","el","shadowRoot","querySelector","removeAttribute","doc","tempSpan","createElement","innerText","body","appendChild","textWidth","offsetWidth","remove","inputLeft","iconLeft","style","paddingRight","marginRight","paddingLeft","marginLeft","cancelButton","shouldShowCancel","shouldShowCancelButton","cancelStyle","offset","getBoolean","clearIcon","searchIcon","undefined","tabIndex","onMouseDown","onTouchStart","icon","lazy","role","color","hasValue","ref","inputMode","inputmode","enterKeyHint","enterkeyhint","autoComplete","autoCorrect","ios","md"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,QAAMA,eAAe,GAAG,svUAAxB;AAEA,QAAMC,cAAc,GAAG,kvPAAvB;;AAEA,QAAMC,SAAS;AACb,yBAAYC,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,SAAL,GAAiB,6DAAY,IAAZ,EAAkB,WAAlB,EAA+B,CAA/B,CAAjB;AACA,aAAKC,SAAL,GAAiB,6DAAY,IAAZ,EAAkB,WAAlB,EAA+B,CAA/B,CAAjB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,OAAL,GAAe,6DAAY,IAAZ,EAAkB,SAAlB,EAA6B,CAA7B,CAAf;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,QAAL,GAAgB,6DAAY,IAAZ,EAAkB,UAAlB,EAA8B,CAA9B,CAAhB;AACA,aAAKC,eAAL,GAAuB,KAAvB;AACA,aAAKC,eAAL,GAAuB,IAAvB;AACA,aAAKC,OAAL,GAAe,KAAf;AACA,aAAKC,SAAL,GAAiB,IAAjB;AACA;;;;AAGA,aAAKC,QAAL,GAAgB,KAAhB;AACA;;;;AAGA,aAAKC,YAAL,GAAoB,KAApB;AACA;;;;AAGA,aAAKC,WAAL,GAAmB,KAAnB;AACA;;;;;AAIA,aAAKC,gBAAL,GAAwB,4DAAOC,GAAP,CAAW,gBAAX,EAA6B,kBAA7B,CAAxB;AACA;;;;AAGA,aAAKC,gBAAL,GAAwB,QAAxB;AACA;;;;AAGA,aAAKC,QAAL,GAAgB,GAAhB;AACA;;;;AAGA,aAAKC,QAAL,GAAgB,KAAhB;AACA;;;;;;;;;;AASA,aAAKC,WAAL,GAAmB,QAAnB;AACA;;;;;;;;AAOA,aAAKC,gBAAL,GAAwB,OAAxB;AACA;;;;AAGA,aAAKC,UAAL,GAAkB,KAAlB;AACA;;;;AAGA,aAAKC,IAAL,GAAY,QAAZ;AACA;;;;AAGA,aAAKC,KAAL,GAAa,EAAb;AACA;;;;AAGA,aAAKC,YAAL,GAAoB,UAACC,EAAD,EAAQ;AAC1B,eAAI,CAACtB,QAAL,CAAcuB,IAAd;;AACA,cAAID,EAAJ,EAAQ;AACNA,cAAE,CAACE,cAAH;AACAF,cAAE,CAACG,eAAH;AACD,WALyB,CAM1B;AACA;;;AACAC,oBAAU,CAAC,YAAM;AACf,gBAAMN,KAAK,GAAG,KAAI,CAACO,QAAL,EAAd;;AACA,gBAAIP,KAAK,KAAK,EAAd,EAAkB;AAChB,mBAAI,CAACA,KAAL,GAAa,EAAb;;AACA,mBAAI,CAACvB,QAAL,CAAc0B,IAAd;AACD;AACF,WANS,EAMP,KAAK,CANE,CAAV;AAOD,SAfD;AAgBA;;;;;;;AAKA,aAAKK,iBAAL,GAAyB,UAACN,EAAD,EAAQ;AAC/B,cAAIA,EAAJ,EAAQ;AACNA,cAAE,CAACE,cAAH;AACAF,cAAE,CAACG,eAAH;AACD;;AACD,eAAI,CAAC1B,SAAL,CAAewB,IAAf;;AACA,eAAI,CAACF,YAAL;;AACA,cAAI,KAAI,CAACQ,WAAT,EAAsB;AACpB,iBAAI,CAACA,WAAL,CAAiBC,IAAjB;AACD;AACF,SAVD;AAWA;;;;;AAGA,aAAKC,OAAL,GAAe,UAACT,EAAD,EAAQ;AACrB,cAAMU,KAAK,GAAGV,EAAE,CAACW,MAAjB;;AACA,cAAID,KAAJ,EAAW;AACT,iBAAI,CAACZ,KAAL,GAAaY,KAAK,CAACZ,KAAnB;AACD;;AACD,eAAI,CAACvB,QAAL,CAAc0B,IAAd,CAAmBD,EAAnB;AACD,SAND;AAOA;;;;;;AAIA,aAAKY,MAAL,GAAc,YAAM;AAClB,eAAI,CAAC5B,OAAL,GAAe,KAAf;;AACA,eAAI,CAACL,OAAL,CAAasB,IAAb;;AACA,eAAI,CAACY,gBAAL;AACD,SAJD;AAKA;;;;;AAGA,aAAKC,OAAL,GAAe,YAAM;AACnB,eAAI,CAAC9B,OAAL,GAAe,IAAf;;AACA,eAAI,CAACJ,QAAL,CAAcqB,IAAd;;AACA,eAAI,CAACY,gBAAL;AACD,SAJD;AAKD;;AAvIY;AAAA;AAAA,eAwIb,2BAAkB;AAChB,eAAKrC,SAAL,GAAiB,+DAAc,KAAKA,SAAnB,EAA8B,KAAKgB,QAAnC,CAAjB;AACD;AA1IY;AAAA;AAAA,eA2Ib,wBAAe;AACb,cAAMuB,OAAO,GAAG,KAAKR,WAArB;AACA,cAAMT,KAAK,GAAG,KAAKO,QAAL,EAAd;;AACA,cAAIU,OAAO,IAAIA,OAAO,CAACjB,KAAR,KAAkBA,KAAjC,EAAwC;AACtCiB,mBAAO,CAACjB,KAAR,GAAgBA,KAAhB;AACD;;AACD,eAAKtB,SAAL,CAAeyB,IAAf,CAAoB;AAAEH,iBAAK,EAALA;AAAF,WAApB;AACD;AAlJY;AAAA;AAAA,eAmJb,mCAA0B;AAAA;;AACxBkB,+BAAqB,CAAC,YAAM;AAC1B,kBAAI,CAACH,gBAAL;;AACA,yEAAY,MAAZ;AACD,WAHoB,CAArB;AAID;AAxJY;AAAA;AAAA,eAyJb,6BAAoB;AAClB,eAAKI,SAAL;AACD;AA3JY;AAAA;AAAA,eA4Jb,4BAAmB;AAAA;;AACjB,eAAKJ,gBAAL;AACA,eAAKK,eAAL;AACAd,oBAAU,CAAC,YAAM;AACf,kBAAI,CAACnB,SAAL,GAAiB,KAAjB;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;AAlKY;AAAA;AAAA,eAmKb,qBAAY;AACV,eAAKJ,QAAL,CAAcoB,IAAd,CAAmB;AACjB,yBAAa;AADI,WAAnB;AAGD;AACD;;;;;AAxKa;AAAA;AAAA;AAAA,kFA4Kb;AAAA;AAAA;AAAA;AAAA;AACE,wBAAI,KAAKM,WAAT,EAAsB;AACpB,2BAAKA,WAAL,CAAiBY,KAAjB;AACD;;AAHH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA5Ka;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAiLb;;;;AAjLa;AAAA;AAAA,eAoLb,2BAAkB;AAChB,iBAAOC,OAAO,CAACC,OAAR,CAAgB,KAAKd,WAArB,CAAP;AACD;AACD;;;;;AAvLa;AAAA;AAAA,eA2Lb,4BAAmB;AACjB,cAAMT,KAAK,GAAG,KAAKO,QAAL,EAAd;AACA,cAAMiB,aAAa,GAAG,KAAKvC,eAA3B;AACA,cAAMwC,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,cAAMxC,eAAe,GAAI,CAAC,KAAKG,QAAN,IAAkBY,KAAK,CAAC0B,IAAN,OAAiB,EAAnC,IAAyC,CAAC,CAAC,KAAKxC,OAAzE;AACA,eAAKD,eAAL,GAAuBA,eAAvB;;AACA,cAAIwC,IAAI,KAAK,KAAb,EAAoB;AAClB;AACD;;AACD,cAAID,aAAa,KAAKvC,eAAtB,EAAuC;AACrC,iBAAK0C,mBAAL;AACD;;AACD,cAAI,KAAKvC,QAAT,EAAmB;AACjB,iBAAKwC,oBAAL;AACD;AACF;AACD;;;;AA3Ma;AAAA;AAAA,eA8Mb,+BAAsB;AACpB,cAAMX,OAAO,GAAG,KAAKR,WAArB;;AACA,cAAI,CAACQ,OAAL,EAAc;AACZ;AACD;;AACD,cAAMY,KAAK,GAAGC,QAAQ,CAACC,GAAT,KAAiB,KAA/B;AACA,cAAMC,MAAM,GAAG,CAAC,KAAKC,EAAL,CAAQC,UAAR,IAAsB,KAAKD,EAA5B,EAAgCE,aAAhC,CAA8C,wBAA9C,CAAf;;AACA,cAAI,KAAKlD,eAAT,EAA0B;AACxBgC,mBAAO,CAACmB,eAAR,CAAwB,OAAxB;AACAJ,kBAAM,CAACI,eAAP,CAAuB,OAAvB;AACD,WAHD,MAIK;AACH;AACA,gBAAMC,GAAG,GAAGP,QAAZ;AACA,gBAAMQ,QAAQ,GAAGD,GAAG,CAACE,aAAJ,CAAkB,MAAlB,CAAjB;AACAD,oBAAQ,CAACE,SAAT,GAAqB,KAAK5C,WAAL,IAAoB,EAAzC;AACAyC,eAAG,CAACI,IAAJ,CAASC,WAAT,CAAqBJ,QAArB,EALG,CAMH;;AACA,2EAAI,YAAM;AACR,kBAAMK,SAAS,GAAGL,QAAQ,CAACM,WAA3B;AACAN,sBAAQ,CAACO,MAAT,GAFQ,CAGR;;AACA,kBAAMC,SAAS,GAAG,gBAAiBH,SAAS,GAAG,CAA7B,GAAkC,KAApD,CAJQ,CAKR;;AACA,kBAAMI,QAAQ,GAAG,iBAAkBJ,SAAS,GAAG,CAAb,GAAkB,EAAnC,IAAyC,KAA1D,CANQ,CAOR;;AACA,kBAAId,KAAJ,EAAW;AACTZ,uBAAO,CAAC+B,KAAR,CAAcC,YAAd,GAA6BH,SAA7B;AACAd,sBAAM,CAACgB,KAAP,CAAaE,WAAb,GAA2BH,QAA3B;AACD,eAHD,MAIK;AACH9B,uBAAO,CAAC+B,KAAR,CAAcG,WAAd,GAA4BL,SAA5B;AACAd,sBAAM,CAACgB,KAAP,CAAaI,UAAb,GAA0BL,QAA1B;AACD;AACF,aAhBD;AAiBD;AACF;AACD;;;;AAnPa;AAAA;AAAA,eAsPb,gCAAuB;AACrB,cAAMlB,KAAK,GAAGC,QAAQ,CAACC,GAAT,KAAiB,KAA/B;AACA,cAAMsB,YAAY,GAAG,CAAC,KAAKpB,EAAL,CAAQC,UAAR,IAAsB,KAAKD,EAA5B,EAAgCE,aAAhC,CAA8C,0BAA9C,CAArB;AACA,cAAMmB,gBAAgB,GAAG,KAAKC,sBAAL,EAAzB;;AACA,cAAIF,YAAY,IAAIC,gBAAgB,KAAK,KAAKtE,eAA9C,EAA+D;AAC7D,gBAAMwE,WAAW,GAAGH,YAAY,CAACL,KAAjC;AACA,iBAAKhE,eAAL,GAAuBsE,gBAAvB;;AACA,gBAAIA,gBAAJ,EAAsB;AACpB,kBAAIzB,KAAJ,EAAW;AACT2B,2BAAW,CAACJ,UAAZ,GAAyB,GAAzB;AACD,eAFD,MAGK;AACHI,2BAAW,CAACN,WAAZ,GAA0B,GAA1B;AACD;AACF,aAPD,MAQK;AACH,kBAAMO,MAAM,GAAGJ,YAAY,CAACT,WAA5B;;AACA,kBAAIa,MAAM,GAAG,CAAb,EAAgB;AACd,oBAAI5B,KAAJ,EAAW;AACT2B,6BAAW,CAACJ,UAAZ,GAAyB,CAACK,MAAD,GAAU,IAAnC;AACD,iBAFD,MAGK;AACHD,6BAAW,CAACN,WAAZ,GAA0B,CAACO,MAAD,GAAU,IAApC;AACD;AACF;AACF;AACF;AACF;AAjRY;AAAA;AAAA,eAkRb,oBAAW;AACT,iBAAO,KAAKzD,KAAL,IAAc,EAArB;AACD;AApRY;AAAA;AAAA,eAqRb,oBAAW;AACT,iBAAO,KAAKO,QAAL,OAAoB,EAA3B;AACD;AACD;;;;;;;AAxRa;AAAA;AAAA,eA8Rb,kCAAyB;AACvB,cAAK,KAAKV,gBAAL,KAA0B,OAA3B,IAAwC,KAAKA,gBAAL,KAA0B,OAA1B,IAAqC,CAAC,KAAKX,OAAvF,EAAiG;AAC/F,mBAAO,KAAP;AACD;;AACD,iBAAO,IAAP;AACD;AAnSY;AAAA;AAAA,eAoSb,kBAAS;AAAA;AAAA;;AAAA,cACCO,gBADD,GACsB,IADtB,CACCA,gBADD;;AAEP,cAAML,QAAQ,GAAG,KAAKA,QAAL,IAAiB,4DAAOsE,UAAP,CAAkB,UAAlB,EAA8B,IAA9B,CAAlC;;AACA,cAAMjC,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,cAAMkC,SAAS,GAAG,KAAKA,SAAL,KAAmBlC,IAAI,KAAK,KAAT,GAAiB,cAAjB,GAAkC,aAArD,CAAlB;AACA,cAAMmC,UAAU,GAAG,KAAKA,UAAL,KAAoBnC,IAAI,KAAK,KAAT,GAAiB,gBAAjB,GAAoC,cAAxD,CAAnB;AACA,cAAM8B,sBAAsB,GAAG,KAAKA,sBAAL,EAA/B;AACA,cAAMF,YAAY,GAAI,KAAKxD,gBAAL,KAA0B,OAA3B,IAAwC,6DAAE,QAAF,EAAY;AAAE,0BAAcJ,gBAAhB;AAAkC,2BAAe8D,sBAAsB,GAAGM,SAAH,GAAe,MAAtF;AAA8F9D,gBAAI,EAAE,QAApG;AAA8G+D,oBAAQ,EAAErC,IAAI,KAAK,KAAT,IAAkB,CAAC8B,sBAAnB,GAA4C,CAAC,CAA7C,GAAiDM,SAAzK;AAAoLE,uBAAW,EAAE,KAAKvD,iBAAtM;AAAyNwD,wBAAY,EAAE,KAAKxD,iBAA5O;AAA+P,qBAAO;AAAtQ,WAAZ,EAA+S,6DAAE,KAAF,EAAS;AAAE,2BAAe;AAAjB,WAAT,EAAoCiB,IAAI,KAAK,IAAT,GAC5Y,6DAAE,UAAF,EAAc;AAAE,2BAAe,MAAjB;AAAyBA,gBAAI,EAAEA,IAA/B;AAAqCwC,gBAAI,EAAE,KAAK1E,gBAAhD;AAAkE2E,gBAAI,EAAE;AAAxE,WAAd,CAD4Y,GAE5YzE,gBAFwW,CAA/S,CAA7D;AAGA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE0E,gBAAI,EAAE,QAAR;AAAkB,6BAAiB,KAAKxE,QAAL,GAAgB,MAAhB,GAAyB,IAA5D;AAAkE,qBAAO,6DAAmB,KAAKyE,KAAxB,0CACpF3C,IADoF,EAC7E,IAD6E,4BAErF,oBAFqF,EAE/DrC,QAF+D,4BAGrF,oBAHqF,EAG/D,KAAKO,QAH0D,4BAIrF,sBAJqF,EAI7DP,QAAQ,IAAI,KAAKD,SAJ4C,4BAKrF,qBALqF,EAK9D,KAAKkF,QAAL,EAL8D,4BAMrF,wBANqF,EAM3D,KAAKpF,eANsD,4BAOrF,qBAPqF,EAO9D,KAAKC,OAPyD,4BAQrF,8BARqF,EAQrD,KAAKqE,sBAAL,EARqD;AAAzE,WAAR,EASA,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAAiD,6DAAE,OAAF,EAAW;AAAE,0BAAc,aAAhB;AAA+B5D,oBAAQ,EAAE,KAAKA,QAA9C;AAAwD2E,eAAG,EAAE,aAAArC,EAAE;AAAA,qBAAI,MAAI,CAACxB,WAAL,GAAmBwB,EAAvB;AAAA,aAA/D;AAA0F,qBAAO,iBAAjG;AAAoHsC,qBAAS,EAAE,KAAKC,SAApI;AAA+IC,wBAAY,EAAE,KAAKC,YAAlK;AAAgL/D,mBAAO,EAAE,KAAKA,OAA9L;AAAuMG,kBAAM,EAAE,KAAKA,MAApN;AAA4NE,mBAAO,EAAE,KAAKA,OAA1O;AAAmPpB,uBAAW,EAAE,KAAKA,WAArQ;AAAkRG,gBAAI,EAAE,KAAKA,IAA7R;AAAmSC,iBAAK,EAAE,KAAKO,QAAL,EAA1S;AAA2ToE,wBAAY,EAAE,KAAKtF,YAA9U;AAA4VuF,uBAAW,EAAE,KAAKtF,WAA9W;AAA2XQ,sBAAU,EAAE,KAAKA;AAA5Y,WAAX,CAAjD,EAAud2B,IAAI,KAAK,IAAT,IAAiB4B,YAAxe,EAAsf,6DAAE,UAAF,EAAc;AAAE,2BAAe,MAAjB;AAAyB5B,gBAAI,EAAEA,IAA/B;AAAqCwC,gBAAI,EAAEL,UAA3C;AAAuDM,gBAAI,EAAE,KAA7D;AAAoE,qBAAO;AAA3E,WAAd,CAAtf,EAA2mB,6DAAE,QAAF,EAAY;AAAE,0BAAc,OAAhB;AAAyBnE,gBAAI,EAAE,QAA/B;AAAyC,uBAAW,IAApD;AAA0D,qBAAO,wBAAjE;AAA2FgE,uBAAW,EAAE,KAAK9D,YAA7G;AAA2H+D,wBAAY,EAAE,KAAK/D;AAA9I,WAAZ,EAA0K,6DAAE,UAAF,EAAc;AAAE,2BAAe,MAAjB;AAAyBwB,gBAAI,EAAEA,IAA/B;AAAqCwC,gBAAI,EAAEN,SAA3C;AAAsDO,gBAAI,EAAE,KAA5D;AAAmE,qBAAO;AAA1E,WAAd,CAA1K,CAA3mB,CATA,EAS04BzC,IAAI,KAAK,KAAT,IAAkB4B,YAT55B,CAAR;AAUD;AAxTY;AAAA;AAAA,aAyTb,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AAzTxB;AAAA;AAAA,aA0Tb,eAAsB;AAAE,iBAAO;AAC7B,wBAAY,CAAC,iBAAD,CADiB;AAE7B,qBAAS,CAAC,cAAD,CAFoB;AAG7B,gCAAoB,CAAC,yBAAD;AAHS,WAAP;AAIpB;AA9TS;;AAAA;AAAA,OAAf;;AAgUA9E,aAAS,CAACyE,KAAV,GAAkB;AAChB6B,SAAG,EAAExG,eADW;AAEhByG,QAAE,EAAExG;AAFY,KAAlB","file":"30-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, j as forceUpdate, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { e as debounceEvent, r as raf } from './helpers-90f46169.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst searchbarIosCss = \".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}\";\n\nconst searchbarMdCss = \".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}\";\n\nconst Searchbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionClear = createEvent(this, \"ionClear\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.isCancelVisible = false;\n this.shouldAlignLeft = true;\n this.focused = false;\n this.noAnimate = true;\n /**\n * If `true`, enable searchbar animation.\n */\n this.animated = false;\n /**\n * Set the input's autocomplete property.\n */\n this.autocomplete = 'off';\n /**\n * Set the input's autocorrect property.\n */\n this.autocorrect = 'off';\n /**\n * Set the cancel button icon. Only applies to `md` mode.\n * Defaults to `\"arrow-back-sharp\"`.\n */\n this.cancelButtonIcon = config.get('backButtonIcon', 'arrow-back-sharp');\n /**\n * Set the the cancel button text. Only applies to `ios` mode.\n */\n this.cancelButtonText = 'Cancel';\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 250;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * Set the input's placeholder.\n * `placeholder` can accept either plaintext or HTML as a string.\n * To display characters normally reserved for HTML, they\n * must be escaped. For example `` would become\n * `<Ionic>`\n *\n * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)\n */\n this.placeholder = 'Search';\n /**\n * Sets the behavior for the cancel button. Defaults to `\"never\"`.\n * Setting to `\"focus\"` shows the cancel button on focus.\n * Setting to `\"never\"` hides the cancel button.\n * Setting to `\"always\"` shows the cancel button regardless\n * of focus state.\n */\n this.showCancelButton = 'never';\n /**\n * If `true`, enable spellcheck on the input.\n */\n this.spellcheck = false;\n /**\n * Set the type of the input.\n */\n this.type = 'search';\n /**\n * the value of the searchbar.\n */\n this.value = '';\n /**\n * Clears the input field and triggers the control change.\n */\n this.onClearInput = (ev) => {\n this.ionClear.emit();\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527\n // wait for 4 frames\n setTimeout(() => {\n const value = this.getValue();\n if (value !== '') {\n this.value = '';\n this.ionInput.emit();\n }\n }, 16 * 4);\n };\n /**\n * Clears the input field and tells the input to blur since\n * the clearInput function doesn't want the input to blur\n * then calls the custom cancel function if the user passed one in.\n */\n this.onCancelSearchbar = (ev) => {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.ionCancel.emit();\n this.onClearInput();\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n };\n /**\n * Update the Searchbar input value when the input changes\n */\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value;\n }\n this.ionInput.emit(ev);\n };\n /**\n * Sets the Searchbar to not focused and checks if it should align left\n * based on whether there is a value in the searchbar or not.\n */\n this.onBlur = () => {\n this.focused = false;\n this.ionBlur.emit();\n this.positionElements();\n };\n /**\n * Sets the Searchbar to focused and active on input focus.\n */\n this.onFocus = () => {\n this.focused = true;\n this.ionFocus.emit();\n this.positionElements();\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n valueChanged() {\n const inputEl = this.nativeInput;\n const value = this.getValue();\n if (inputEl && inputEl.value !== value) {\n inputEl.value = value;\n }\n this.ionChange.emit({ value });\n }\n showCancelButtonChanged() {\n requestAnimationFrame(() => {\n this.positionElements();\n forceUpdate(this);\n });\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentDidLoad() {\n this.positionElements();\n this.debounceChanged();\n setTimeout(() => {\n this.noAnimate = false;\n }, 300);\n }\n emitStyle() {\n this.ionStyle.emit({\n 'searchbar': true\n });\n }\n /**\n * Sets focus on the specified `ion-searchbar`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n /**\n * Positions the input search icon, placeholder, and the cancel button\n * based on the input value and if it is focused. (ios only)\n */\n positionElements() {\n const value = this.getValue();\n const prevAlignLeft = this.shouldAlignLeft;\n const mode = getIonMode(this);\n const shouldAlignLeft = (!this.animated || value.trim() !== '' || !!this.focused);\n this.shouldAlignLeft = shouldAlignLeft;\n if (mode !== 'ios') {\n return;\n }\n if (prevAlignLeft !== shouldAlignLeft) {\n this.positionPlaceholder();\n }\n if (this.animated) {\n this.positionCancelButton();\n }\n }\n /**\n * Positions the input placeholder\n */\n positionPlaceholder() {\n const inputEl = this.nativeInput;\n if (!inputEl) {\n return;\n }\n const isRTL = document.dir === 'rtl';\n const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');\n if (this.shouldAlignLeft) {\n inputEl.removeAttribute('style');\n iconEl.removeAttribute('style');\n }\n else {\n // Create a dummy span to get the placeholder width\n const doc = document;\n const tempSpan = doc.createElement('span');\n tempSpan.innerText = this.placeholder || '';\n doc.body.appendChild(tempSpan);\n // Get the width of the span then remove it\n raf(() => {\n const textWidth = tempSpan.offsetWidth;\n tempSpan.remove();\n // Calculate the input padding\n const inputLeft = 'calc(50% - ' + (textWidth / 2) + 'px)';\n // Calculate the icon margin\n const iconLeft = 'calc(50% - ' + ((textWidth / 2) + 30) + 'px)';\n // Set the input padding start and icon margin start\n if (isRTL) {\n inputEl.style.paddingRight = inputLeft;\n iconEl.style.marginRight = iconLeft;\n }\n else {\n inputEl.style.paddingLeft = inputLeft;\n iconEl.style.marginLeft = iconLeft;\n }\n });\n }\n }\n /**\n * Show the iOS Cancel button on focus, hide it offscreen otherwise\n */\n positionCancelButton() {\n const isRTL = document.dir === 'rtl';\n const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');\n const shouldShowCancel = this.shouldShowCancelButton();\n if (cancelButton && shouldShowCancel !== this.isCancelVisible) {\n const cancelStyle = cancelButton.style;\n this.isCancelVisible = shouldShowCancel;\n if (shouldShowCancel) {\n if (isRTL) {\n cancelStyle.marginLeft = '0';\n }\n else {\n cancelStyle.marginRight = '0';\n }\n }\n else {\n const offset = cancelButton.offsetWidth;\n if (offset > 0) {\n if (isRTL) {\n cancelStyle.marginLeft = -offset + 'px';\n }\n else {\n cancelStyle.marginRight = -offset + 'px';\n }\n }\n }\n }\n }\n getValue() {\n return this.value || '';\n }\n hasValue() {\n return this.getValue() !== '';\n }\n /**\n * Determines whether or not the cancel button should be visible onscreen.\n * Cancel button should be shown if one of two conditions applies:\n * 1. `showCancelButton` is set to `always`.\n * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowCancelButton() {\n if ((this.showCancelButton === 'never') || (this.showCancelButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n render() {\n const { cancelButtonText } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const mode = getIonMode(this);\n const clearIcon = this.clearIcon || (mode === 'ios' ? 'close-circle' : 'close-sharp');\n const searchIcon = this.searchIcon || (mode === 'ios' ? 'search-outline' : 'search-sharp');\n const shouldShowCancelButton = this.shouldShowCancelButton();\n const cancelButton = (this.showCancelButton !== 'never') && (h(\"button\", { \"aria-label\": cancelButtonText, \"aria-hidden\": shouldShowCancelButton ? undefined : 'true', type: \"button\", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: \"searchbar-cancel-button\" }, h(\"div\", { \"aria-hidden\": \"true\" }, mode === 'md'\n ? h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: this.cancelButtonIcon, lazy: false })\n : cancelButtonText)));\n return (h(Host, { role: \"search\", \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'searchbar-animated': animated,\n 'searchbar-disabled': this.disabled,\n 'searchbar-no-animate': animated && this.noAnimate,\n 'searchbar-has-value': this.hasValue(),\n 'searchbar-left-aligned': this.shouldAlignLeft,\n 'searchbar-has-focus': this.focused,\n 'searchbar-should-show-cancel': this.shouldShowCancelButton()\n }) }, h(\"div\", { class: \"searchbar-input-container\" }, h(\"input\", { \"aria-label\": \"search text\", disabled: this.disabled, ref: el => this.nativeInput = el, class: \"searchbar-input\", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: searchIcon, lazy: false, class: \"searchbar-search-icon\" }), h(\"button\", { \"aria-label\": \"reset\", type: \"button\", \"no-blur\": true, class: \"searchbar-clear-button\", onMouseDown: this.onClearInput, onTouchStart: this.onClearInput }, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: clearIcon, lazy: false, class: \"searchbar-clear-icon\" }))), mode === 'ios' && cancelButton));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"value\": [\"valueChanged\"],\n \"showCancelButton\": [\"showCancelButtonChanged\"]\n }; }\n};\nSearchbar.style = {\n ios: searchbarIosCss,\n md: searchbarMdCss\n};\n\nexport { Searchbar as ion_searchbar };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/31-es2015.js b/android/app/src/main/assets/public/31-es2015.js new file mode 100644 index 000000000..d3d050592 --- /dev/null +++ b/android/app/src/main/assets/public/31-es2015.js @@ -0,0 +1,448 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[31],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js": +/*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js ***! + \******************************************************************/ +/*! exports provided: ion_segment, ion_segment_button */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_segment", function() { return Segment; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_segment_button", function() { return SegmentButton; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}"; + +const segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}"; + +const Segment = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionSelect = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSelect", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.didInit = false; + this.activated = false; + /** + * If `true`, the user cannot interact with the segment. + */ + this.disabled = false; + /** + * If `true`, the segment buttons will overflow and the user can swipe to see them. + * In addition, this will disable the gesture to drag the indicator between the buttons + * in order to swipe to see hidden buttons. + */ + this.scrollable = false; + /** + * If `true`, users will be able to swipe between segment buttons to activate them. + */ + this.swipeGesture = true; + this.onClick = (ev) => { + const current = ev.target; + const previous = this.checked; + // If the current element is a segment then that means + // the user tried to swipe to a segment button and + // click a segment button at the same time so we should + // not update the checked segment button + if (current.tagName === 'ION-SEGMENT') { + return; + } + this.value = current.value; + if (this.scrollable || !this.swipeGesture) { + if (previous) { + this.checkButton(previous, current); + } + else { + this.setCheckedClasses(); + } + } + this.checked = current; + }; + } + colorChanged(value, oldValue) { + /** + * If color is set after not having + * previously been set (or vice versa), + * we need to emit style so the segment-buttons + * can apply their color classes properly. + */ + if ((oldValue === undefined && value !== undefined) || + (oldValue !== undefined && value === undefined)) { + this.emitStyle(); + } + } + swipeGestureChanged() { + this.gestureChanged(); + } + valueChanged(value, oldValue) { + this.ionSelect.emit({ value }); + if (oldValue !== '' || this.didInit) { + if (!this.activated) { + this.ionChange.emit({ value }); + } + else { + this.valueAfterGesture = value; + } + } + } + disabledChanged() { + this.gestureChanged(); + const buttons = this.getButtons(); + for (const button of buttons) { + button.disabled = this.disabled; + } + } + gestureChanged() { + if (this.gesture) { + this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture); + } + } + connectedCallback() { + this.emitStyle(); + } + componentWillLoad() { + this.emitStyle(); + } + async componentDidLoad() { + this.setCheckedClasses(); + this.gesture = (await Promise.resolve(/*! import() */).then(__webpack_require__.bind(null, /*! ./index-f49d994d.js */ "./node_modules/@ionic/core/dist/esm/index-f49d994d.js"))).createGesture({ + el: this.el, + gestureName: 'segment', + gesturePriority: 100, + threshold: 0, + passive: false, + onStart: ev => this.onStart(ev), + onMove: ev => this.onMove(ev), + onEnd: ev => this.onEnd(ev), + }); + this.gestureChanged(); + if (this.disabled) { + this.disabledChanged(); + } + this.didInit = true; + } + onStart(detail) { + this.activate(detail); + } + onMove(detail) { + this.setNextIndex(detail); + } + onEnd(detail) { + this.setActivated(false); + const checkedValidButton = this.setNextIndex(detail, true); + detail.event.stopImmediatePropagation(); + if (checkedValidButton) { + this.addRipple(detail); + } + const value = this.valueAfterGesture; + if (value !== undefined) { + this.ionChange.emit({ value }); + this.valueAfterGesture = undefined; + } + } + getButtons() { + return Array.from(this.el.querySelectorAll('ion-segment-button')); + } + /** + * The gesture blocks the segment button ripple. This + * function adds the ripple based on the checked segment + * and where the cursor ended. + */ + addRipple(detail) { + const useRippleEffect = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true) && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('rippleEffect', true); + if (!useRippleEffect) { + return; + } + const buttons = this.getButtons(); + const checked = buttons.find(button => button.value === this.value); + const root = checked.shadowRoot || checked; + const ripple = root.querySelector('ion-ripple-effect'); + if (!ripple) { + return; + } + const { x, y } = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["p"])(detail.event); + ripple.addRipple(x, y).then(remove => remove()); + } + /* + * Activate both the segment and the buttons + * due to a bug with ::slotted in Safari + */ + setActivated(activated) { + const buttons = this.getButtons(); + buttons.forEach(button => { + if (activated) { + button.classList.add('segment-button-activated'); + } + else { + button.classList.remove('segment-button-activated'); + } + }); + this.activated = activated; + } + activate(detail) { + const clicked = detail.event.target; + const buttons = this.getButtons(); + const checked = buttons.find(button => button.value === this.value); + // Make sure we are only checking for activation on a segment button + // since disabled buttons will get the click on the segment + if (clicked.tagName !== 'ION-SEGMENT-BUTTON') { + return; + } + // If there are no checked buttons, set the current button to checked + if (!checked) { + this.value = clicked.value; + this.setCheckedClasses(); + } + // If the gesture began on the clicked button with the indicator + // then we should activate the indicator + if (this.value === clicked.value) { + this.setActivated(true); + } + } + getIndicator(button) { + const root = button.shadowRoot || button; + return root.querySelector('.segment-button-indicator'); + } + checkButton(previous, current) { + const previousIndicator = this.getIndicator(previous); + const currentIndicator = this.getIndicator(current); + if (previousIndicator === null || currentIndicator === null) { + return; + } + const previousClientRect = previousIndicator.getBoundingClientRect(); + const currentClientRect = currentIndicator.getBoundingClientRect(); + const widthDelta = previousClientRect.width / currentClientRect.width; + const xPosition = previousClientRect.left - currentClientRect.left; + // Scale the indicator width to match the previous indicator width + // and translate it on top of the previous indicator + const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`; + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(() => { + // Remove the transition before positioning on top of the previous indicator + currentIndicator.classList.remove('segment-button-indicator-animated'); + currentIndicator.style.setProperty('transform', transform); + // Force a repaint to ensure the transform happens + currentIndicator.getBoundingClientRect(); + // Add the transition to move the indicator into place + currentIndicator.classList.add('segment-button-indicator-animated'); + // Remove the transform to slide the indicator back to the button clicked + currentIndicator.style.setProperty('transform', ''); + }); + this.value = current.value; + this.setCheckedClasses(); + } + setCheckedClasses() { + const buttons = this.getButtons(); + const index = buttons.findIndex(button => button.value === this.value); + const next = index + 1; + // Keep track of the currently checked button + this.checked = buttons.find(button => button.value === this.value); + for (const button of buttons) { + button.classList.remove('segment-button-after-checked'); + } + if (next < buttons.length) { + buttons[next].classList.add('segment-button-after-checked'); + } + } + setNextIndex(detail, isEnd = false) { + const isRTL = document.dir === 'rtl'; + const activated = this.activated; + const buttons = this.getButtons(); + const index = buttons.findIndex(button => button.value === this.value); + const previous = buttons[index]; + let current; + let nextIndex; + if (index === -1) { + return; + } + // Get the element that the touch event started on in case + // it was the checked button, then we will move the indicator + const rect = previous.getBoundingClientRect(); + const left = rect.left; + const width = rect.width; + // Get the element that the gesture is on top of based on the currentX of the + // gesture event and the Y coordinate of the starting element, since the gesture + // can move up and down off of the segment + const currentX = detail.currentX; + const previousY = rect.top + (rect.height / 2); + const nextEl = document.elementFromPoint(currentX, previousY); + const decreaseIndex = isRTL ? currentX > (left + width) : currentX < left; + const increaseIndex = isRTL ? currentX < left : currentX > (left + width); + // If the indicator is currently activated then we have started the gesture + // on top of the checked button so we need to slide the indicator + // by checking the button next to it as we move + if (activated && !isEnd) { + // Decrease index, move left in LTR & right in RTL + if (decreaseIndex) { + const newIndex = index - 1; + if (newIndex >= 0) { + nextIndex = newIndex; + } + // Increase index, moves right in LTR & left in RTL + } + else if (increaseIndex) { + if (activated && !isEnd) { + const newIndex = index + 1; + if (newIndex < buttons.length) { + nextIndex = newIndex; + } + } + } + if (nextIndex !== undefined && !buttons[nextIndex].disabled) { + current = buttons[nextIndex]; + } + } + // If the indicator is not activated then we will just set the indicator + // to the element where the gesture ended + if (!activated && isEnd) { + current = nextEl; + } + /* tslint:disable-next-line */ + if (current != null) { + /** + * If current element is ion-segment then that means + * user tried to select a disabled ion-segment-button, + * and we should not update the ripple. + */ + if (current.tagName === 'ION-SEGMENT') { + return false; + } + if (previous !== current) { + this.checkButton(previous, current); + } + } + return true; + } + emitStyle() { + this.ionStyle.emit({ + 'segment': true + }); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, { + [mode]: true, + 'in-toolbar': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar', this.el), + 'in-toolbar-color': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar[color]', this.el), + 'segment-activated': this.activated, + 'segment-disabled': this.disabled, + 'segment-scrollable': this.scrollable + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "color": ["colorChanged"], + "swipeGesture": ["swipeGestureChanged"], + "value": ["valueChanged"], + "disabled": ["disabledChanged"] + }; } +}; +Segment.style = { + ios: segmentIosCss, + md: segmentMdCss +}; + +const segmentButtonIosCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color, #fff));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\"\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:2px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}}.segment-button-indicator{padding-left:2px;padding-right:2px;left:0;right:0;top:0;bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.segment-button-indicator{padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color, #fff))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color, #fff)))}:host(.in-toolbar-color) .segment-button-indicator-background{background:#fff}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}"; + +const segmentButtonMdCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}"; + +let ids = 0; +const SegmentButton = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.segmentEl = null; + this.checked = false; + /** + * If `true`, the user cannot interact with the segment button. + */ + this.disabled = false; + /** + * Set the layout of the text and icon in the segment. + */ + this.layout = 'icon-top'; + /** + * The type of the button. + */ + this.type = 'button'; + /** + * The value of the segment button. + */ + this.value = 'ion-sb-' + (ids++); + this.updateStyle = () => { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(this); + }; + this.updateState = () => { + if (this.segmentEl) { + this.checked = this.segmentEl.value === this.value; + } + }; + } + connectedCallback() { + const segmentEl = this.segmentEl = this.el.closest('ion-segment'); + if (segmentEl) { + this.updateState(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(segmentEl, 'ionSelect', this.updateState); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(segmentEl, 'ionStyle', this.updateStyle); + } + } + disconnectedCallback() { + const segmentEl = this.segmentEl; + if (segmentEl) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(segmentEl, 'ionSelect', this.updateState); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(segmentEl, 'ionStyle', this.updateStyle); + this.segmentEl = null; + } + } + get hasLabel() { + return !!this.el.querySelector('ion-label'); + } + get hasIcon() { + return !!this.el.querySelector('ion-icon'); + } + render() { + const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const hasSegmentColor = () => segmentEl !== null && segmentEl.color !== undefined; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { "aria-disabled": disabled ? 'true' : null, class: { + [mode]: true, + 'in-toolbar': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar', this.el), + 'in-toolbar-color': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar[color]', this.el), + 'in-segment': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-segment', this.el), + 'in-segment-color': hasSegmentColor(), + 'segment-button-has-label': hasLabel, + 'segment-button-has-icon': hasIcon, + 'segment-button-has-label-only': hasLabel && !hasIcon, + 'segment-button-has-icon-only': hasIcon && !hasLabel, + 'segment-button-disabled': disabled, + 'segment-button-checked': checked, + [`segment-button-layout-${layout}`]: true, + 'ion-activatable': true, + 'ion-activatable-instant': true, + 'ion-focusable': true, + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: type, "aria-pressed": checked ? 'true' : 'false', class: "button-native", part: "native", disabled: disabled }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { part: "indicator", class: { + 'segment-button-indicator': true, + 'segment-button-indicator-animated': true + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { part: "indicator-background", class: "segment-button-indicator-background" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +SegmentButton.style = { + ios: segmentButtonIosCss, + md: segmentButtonMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=31-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/31-es2015.js.map b/android/app/src/main/assets/public/31-es2015.js.map new file mode 100644 index 000000000..56519f9e9 --- /dev/null +++ b/android/app/src/main/assets/public/31-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+I;AACrE;AACiC;AAC3B;;AAEhF,6BAA6B,4BAA4B,kCAAkC,mCAAmC,oBAAoB,aAAa,kBAAkB,uBAAuB,oBAAoB,qBAAqB,uBAAuB,WAAW,6BAA6B,4CAA4C,kBAAkB,cAAc,yBAAyB,sBAAsB,qBAAqB,iBAAiB,2BAA2B,oBAAoB,sBAAsB,WAAW,gBAAgB,8CAA8C,aAAa,MAAM,6DAA6D,kBAAkB,gBAAgB,UAAU,kBAAkB,kDAAkD,mBAAmB,iBAAiB,kBAAkB,aAAa,gBAAgB,WAAW,+FAA+F,mBAAmB,kBAAkB,mBAAmB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,mCAAmC,oEAAoE,yCAAyC,qDAAqD;;AAE5zC,4BAA4B,4BAA4B,kCAAkC,mCAAmC,oBAAoB,aAAa,kBAAkB,uBAAuB,oBAAoB,qBAAqB,uBAAuB,WAAW,6BAA6B,4CAA4C,kBAAkB,cAAc,yBAAyB,sBAAsB,qBAAqB,iBAAiB,2BAA2B,oBAAoB,sBAAsB,WAAW,gBAAgB,8CAA8C,aAAa,MAAM,yBAAyB,yDAAyD,eAAe;;AAEltB;AACA;AACA,IAAI,4DAAgB;AACpB,qBAAqB,4DAAW;AAChC,qBAAqB,4DAAW;AAChC,oBAAoB,4DAAW;AAC/B;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,QAAQ;AACjC;AACA;AACA,6BAA6B,QAAQ;AACrC;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,0BAA0B,yJAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,2DAAM,iCAAiC,2DAAM;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO,GAAG,8DAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,UAAU,mBAAmB,WAAW;AAC7E,IAAI,4DAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;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,KAAK;AACL;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,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","file":"31-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, h, H as Host, i as getElement, j as forceUpdate } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { p as pointerCoord, a as addEventListener, b as removeEventListener } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst segmentIosCss = \":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}\";\n\nconst segmentMdCss = \":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}\";\n\nconst Segment = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionSelect = createEvent(this, \"ionSelect\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.didInit = false;\n this.activated = false;\n /**\n * If `true`, the user cannot interact with the segment.\n */\n this.disabled = false;\n /**\n * If `true`, the segment buttons will overflow and the user can swipe to see them.\n * In addition, this will disable the gesture to drag the indicator between the buttons\n * in order to swipe to see hidden buttons.\n */\n this.scrollable = false;\n /**\n * If `true`, users will be able to swipe between segment buttons to activate them.\n */\n this.swipeGesture = true;\n this.onClick = (ev) => {\n const current = ev.target;\n const previous = this.checked;\n // If the current element is a segment then that means\n // the user tried to swipe to a segment button and\n // click a segment button at the same time so we should\n // not update the checked segment button\n if (current.tagName === 'ION-SEGMENT') {\n return;\n }\n this.value = current.value;\n if (this.scrollable || !this.swipeGesture) {\n if (previous) {\n this.checkButton(previous, current);\n }\n else {\n this.setCheckedClasses();\n }\n }\n this.checked = current;\n };\n }\n colorChanged(value, oldValue) {\n /**\n * If color is set after not having\n * previously been set (or vice versa),\n * we need to emit style so the segment-buttons\n * can apply their color classes properly.\n */\n if ((oldValue === undefined && value !== undefined) ||\n (oldValue !== undefined && value === undefined)) {\n this.emitStyle();\n }\n }\n swipeGestureChanged() {\n this.gestureChanged();\n }\n valueChanged(value, oldValue) {\n this.ionSelect.emit({ value });\n if (oldValue !== '' || this.didInit) {\n if (!this.activated) {\n this.ionChange.emit({ value });\n }\n else {\n this.valueAfterGesture = value;\n }\n }\n }\n disabledChanged() {\n this.gestureChanged();\n const buttons = this.getButtons();\n for (const button of buttons) {\n button.disabled = this.disabled;\n }\n }\n gestureChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture);\n }\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentWillLoad() {\n this.emitStyle();\n }\n async componentDidLoad() {\n this.setCheckedClasses();\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'segment',\n gesturePriority: 100,\n threshold: 0,\n passive: false,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gestureChanged();\n if (this.disabled) {\n this.disabledChanged();\n }\n this.didInit = true;\n }\n onStart(detail) {\n this.activate(detail);\n }\n onMove(detail) {\n this.setNextIndex(detail);\n }\n onEnd(detail) {\n this.setActivated(false);\n const checkedValidButton = this.setNextIndex(detail, true);\n detail.event.stopImmediatePropagation();\n if (checkedValidButton) {\n this.addRipple(detail);\n }\n const value = this.valueAfterGesture;\n if (value !== undefined) {\n this.ionChange.emit({ value });\n this.valueAfterGesture = undefined;\n }\n }\n getButtons() {\n return Array.from(this.el.querySelectorAll('ion-segment-button'));\n }\n /**\n * The gesture blocks the segment button ripple. This\n * function adds the ripple based on the checked segment\n * and where the cursor ended.\n */\n addRipple(detail) {\n const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);\n if (!useRippleEffect) {\n return;\n }\n const buttons = this.getButtons();\n const checked = buttons.find(button => button.value === this.value);\n const root = checked.shadowRoot || checked;\n const ripple = root.querySelector('ion-ripple-effect');\n if (!ripple) {\n return;\n }\n const { x, y } = pointerCoord(detail.event);\n ripple.addRipple(x, y).then(remove => remove());\n }\n /*\n * Activate both the segment and the buttons\n * due to a bug with ::slotted in Safari\n */\n setActivated(activated) {\n const buttons = this.getButtons();\n buttons.forEach(button => {\n if (activated) {\n button.classList.add('segment-button-activated');\n }\n else {\n button.classList.remove('segment-button-activated');\n }\n });\n this.activated = activated;\n }\n activate(detail) {\n const clicked = detail.event.target;\n const buttons = this.getButtons();\n const checked = buttons.find(button => button.value === this.value);\n // Make sure we are only checking for activation on a segment button\n // since disabled buttons will get the click on the segment\n if (clicked.tagName !== 'ION-SEGMENT-BUTTON') {\n return;\n }\n // If there are no checked buttons, set the current button to checked\n if (!checked) {\n this.value = clicked.value;\n this.setCheckedClasses();\n }\n // If the gesture began on the clicked button with the indicator\n // then we should activate the indicator\n if (this.value === clicked.value) {\n this.setActivated(true);\n }\n }\n getIndicator(button) {\n const root = button.shadowRoot || button;\n return root.querySelector('.segment-button-indicator');\n }\n checkButton(previous, current) {\n const previousIndicator = this.getIndicator(previous);\n const currentIndicator = this.getIndicator(current);\n if (previousIndicator === null || currentIndicator === null) {\n return;\n }\n const previousClientRect = previousIndicator.getBoundingClientRect();\n const currentClientRect = currentIndicator.getBoundingClientRect();\n const widthDelta = previousClientRect.width / currentClientRect.width;\n const xPosition = previousClientRect.left - currentClientRect.left;\n // Scale the indicator width to match the previous indicator width\n // and translate it on top of the previous indicator\n const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`;\n writeTask(() => {\n // Remove the transition before positioning on top of the previous indicator\n currentIndicator.classList.remove('segment-button-indicator-animated');\n currentIndicator.style.setProperty('transform', transform);\n // Force a repaint to ensure the transform happens\n currentIndicator.getBoundingClientRect();\n // Add the transition to move the indicator into place\n currentIndicator.classList.add('segment-button-indicator-animated');\n // Remove the transform to slide the indicator back to the button clicked\n currentIndicator.style.setProperty('transform', '');\n });\n this.value = current.value;\n this.setCheckedClasses();\n }\n setCheckedClasses() {\n const buttons = this.getButtons();\n const index = buttons.findIndex(button => button.value === this.value);\n const next = index + 1;\n // Keep track of the currently checked button\n this.checked = buttons.find(button => button.value === this.value);\n for (const button of buttons) {\n button.classList.remove('segment-button-after-checked');\n }\n if (next < buttons.length) {\n buttons[next].classList.add('segment-button-after-checked');\n }\n }\n setNextIndex(detail, isEnd = false) {\n const isRTL = document.dir === 'rtl';\n const activated = this.activated;\n const buttons = this.getButtons();\n const index = buttons.findIndex(button => button.value === this.value);\n const previous = buttons[index];\n let current;\n let nextIndex;\n if (index === -1) {\n return;\n }\n // Get the element that the touch event started on in case\n // it was the checked button, then we will move the indicator\n const rect = previous.getBoundingClientRect();\n const left = rect.left;\n const width = rect.width;\n // Get the element that the gesture is on top of based on the currentX of the\n // gesture event and the Y coordinate of the starting element, since the gesture\n // can move up and down off of the segment\n const currentX = detail.currentX;\n const previousY = rect.top + (rect.height / 2);\n const nextEl = document.elementFromPoint(currentX, previousY);\n const decreaseIndex = isRTL ? currentX > (left + width) : currentX < left;\n const increaseIndex = isRTL ? currentX < left : currentX > (left + width);\n // If the indicator is currently activated then we have started the gesture\n // on top of the checked button so we need to slide the indicator\n // by checking the button next to it as we move\n if (activated && !isEnd) {\n // Decrease index, move left in LTR & right in RTL\n if (decreaseIndex) {\n const newIndex = index - 1;\n if (newIndex >= 0) {\n nextIndex = newIndex;\n }\n // Increase index, moves right in LTR & left in RTL\n }\n else if (increaseIndex) {\n if (activated && !isEnd) {\n const newIndex = index + 1;\n if (newIndex < buttons.length) {\n nextIndex = newIndex;\n }\n }\n }\n if (nextIndex !== undefined && !buttons[nextIndex].disabled) {\n current = buttons[nextIndex];\n }\n }\n // If the indicator is not activated then we will just set the indicator\n // to the element where the gesture ended\n if (!activated && isEnd) {\n current = nextEl;\n }\n /* tslint:disable-next-line */\n if (current != null) {\n /**\n * If current element is ion-segment then that means\n * user tried to select a disabled ion-segment-button,\n * and we should not update the ripple.\n */\n if (current.tagName === 'ION-SEGMENT') {\n return false;\n }\n if (previous !== current) {\n this.checkButton(previous, current);\n }\n }\n return true;\n }\n emitStyle() {\n this.ionStyle.emit({\n 'segment': true\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'segment-activated': this.activated,\n 'segment-disabled': this.disabled,\n 'segment-scrollable': this.scrollable\n }) }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"colorChanged\"],\n \"swipeGesture\": [\"swipeGestureChanged\"],\n \"value\": [\"valueChanged\"],\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nSegment.style = {\n ios: segmentIosCss,\n md: segmentMdCss\n};\n\nconst segmentButtonIosCss = \":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color, #fff));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\\\"\\\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:2px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}}.segment-button-indicator{padding-left:2px;padding-right:2px;left:0;right:0;top:0;bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.segment-button-indicator{padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color, #fff))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color, #fff)))}:host(.in-toolbar-color) .segment-button-indicator-background{background:#fff}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}\";\n\nconst segmentButtonMdCss = \":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}\";\n\nlet ids = 0;\nconst SegmentButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.segmentEl = null;\n this.checked = false;\n /**\n * If `true`, the user cannot interact with the segment button.\n */\n this.disabled = false;\n /**\n * Set the layout of the text and icon in the segment.\n */\n this.layout = 'icon-top';\n /**\n * The type of the button.\n */\n this.type = 'button';\n /**\n * The value of the segment button.\n */\n this.value = 'ion-sb-' + (ids++);\n this.updateStyle = () => {\n forceUpdate(this);\n };\n this.updateState = () => {\n if (this.segmentEl) {\n this.checked = this.segmentEl.value === this.value;\n }\n };\n }\n connectedCallback() {\n const segmentEl = this.segmentEl = this.el.closest('ion-segment');\n if (segmentEl) {\n this.updateState();\n addEventListener(segmentEl, 'ionSelect', this.updateState);\n addEventListener(segmentEl, 'ionStyle', this.updateStyle);\n }\n }\n disconnectedCallback() {\n const segmentEl = this.segmentEl;\n if (segmentEl) {\n removeEventListener(segmentEl, 'ionSelect', this.updateState);\n removeEventListener(segmentEl, 'ionStyle', this.updateStyle);\n this.segmentEl = null;\n }\n }\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n render() {\n const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;\n const mode = getIonMode(this);\n const hasSegmentColor = () => segmentEl !== null && segmentEl.color !== undefined;\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'in-segment': hostContext('ion-segment', this.el),\n 'in-segment-color': hasSegmentColor(),\n 'segment-button-has-label': hasLabel,\n 'segment-button-has-icon': hasIcon,\n 'segment-button-has-label-only': hasLabel && !hasIcon,\n 'segment-button-has-icon-only': hasIcon && !hasLabel,\n 'segment-button-disabled': disabled,\n 'segment-button-checked': checked,\n [`segment-button-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-activatable-instant': true,\n 'ion-focusable': true,\n } }, h(\"button\", { type: type, \"aria-pressed\": checked ? 'true' : 'false', class: \"button-native\", part: \"native\", disabled: disabled }, h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", null)), h(\"div\", { part: \"indicator\", class: {\n 'segment-button-indicator': true,\n 'segment-button-indicator-animated': true\n } }, h(\"div\", { part: \"indicator-background\", class: \"segment-button-indicator-background\" }))));\n }\n get el() { return getElement(this); }\n};\nSegmentButton.style = {\n ios: segmentButtonIosCss,\n md: segmentButtonMdCss\n};\n\nexport { Segment as ion_segment, SegmentButton as ion_segment_button };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/31-es5.js b/android/app/src/main/assets/public/31-es5.js new file mode 100644 index 000000000..13f423b2d --- /dev/null +++ b/android/app/src/main/assets/public/31-es5.js @@ -0,0 +1,703 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[31], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js": + /*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js ***! + \******************************************************************/ + + /*! exports provided: ion_segment, ion_segment_button */ + + /***/ + function node_modulesIonicCoreDistEsmIonSegment_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_segment", function () { + return Segment; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_segment_button", function () { + return SegmentButton; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}"; + var segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}"; + + var Segment = /*#__PURE__*/function () { + function Segment(hostRef) { + var _this = this; + + _classCallCheck(this, Segment); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionSelect = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSelect", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.didInit = false; + this.activated = false; + /** + * If `true`, the user cannot interact with the segment. + */ + + this.disabled = false; + /** + * If `true`, the segment buttons will overflow and the user can swipe to see them. + * In addition, this will disable the gesture to drag the indicator between the buttons + * in order to swipe to see hidden buttons. + */ + + this.scrollable = false; + /** + * If `true`, users will be able to swipe between segment buttons to activate them. + */ + + this.swipeGesture = true; + + this.onClick = function (ev) { + var current = ev.target; + var previous = _this.checked; // If the current element is a segment then that means + // the user tried to swipe to a segment button and + // click a segment button at the same time so we should + // not update the checked segment button + + if (current.tagName === 'ION-SEGMENT') { + return; + } + + _this.value = current.value; + + if (_this.scrollable || !_this.swipeGesture) { + if (previous) { + _this.checkButton(previous, current); + } else { + _this.setCheckedClasses(); + } + } + + _this.checked = current; + }; + } + + _createClass(Segment, [{ + key: "colorChanged", + value: function colorChanged(value, oldValue) { + /** + * If color is set after not having + * previously been set (or vice versa), + * we need to emit style so the segment-buttons + * can apply their color classes properly. + */ + if (oldValue === undefined && value !== undefined || oldValue !== undefined && value === undefined) { + this.emitStyle(); + } + } + }, { + key: "swipeGestureChanged", + value: function swipeGestureChanged() { + this.gestureChanged(); + } + }, { + key: "valueChanged", + value: function valueChanged(value, oldValue) { + this.ionSelect.emit({ + value: value + }); + + if (oldValue !== '' || this.didInit) { + if (!this.activated) { + this.ionChange.emit({ + value: value + }); + } else { + this.valueAfterGesture = value; + } + } + } + }, { + key: "disabledChanged", + value: function disabledChanged() { + this.gestureChanged(); + var buttons = this.getButtons(); + + var _iterator = _createForOfIteratorHelper(buttons), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var button = _step.value; + button.disabled = this.disabled; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "gestureChanged", + value: function gestureChanged() { + if (this.gesture) { + this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture); + } + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.emitStyle(); + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.emitStyle(); + } + }, { + key: "componentDidLoad", + value: function () { + var _componentDidLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var _this2 = this; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.setCheckedClasses(); + _context.next = 3; + return Promise.resolve().then(__webpack_require__.bind(null, + /*! ./index-f49d994d.js */ + "./node_modules/@ionic/core/dist/esm/index-f49d994d.js")); + + case 3: + this.gesture = _context.sent.createGesture({ + el: this.el, + gestureName: 'segment', + gesturePriority: 100, + threshold: 0, + passive: false, + onStart: function onStart(ev) { + return _this2.onStart(ev); + }, + onMove: function onMove(ev) { + return _this2.onMove(ev); + }, + onEnd: function onEnd(ev) { + return _this2.onEnd(ev); + } + }); + this.gestureChanged(); + + if (this.disabled) { + this.disabledChanged(); + } + + this.didInit = true; + + case 7: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function componentDidLoad() { + return _componentDidLoad.apply(this, arguments); + } + + return componentDidLoad; + }() + }, { + key: "onStart", + value: function onStart(detail) { + this.activate(detail); + } + }, { + key: "onMove", + value: function onMove(detail) { + this.setNextIndex(detail); + } + }, { + key: "onEnd", + value: function onEnd(detail) { + this.setActivated(false); + var checkedValidButton = this.setNextIndex(detail, true); + detail.event.stopImmediatePropagation(); + + if (checkedValidButton) { + this.addRipple(detail); + } + + var value = this.valueAfterGesture; + + if (value !== undefined) { + this.ionChange.emit({ + value: value + }); + this.valueAfterGesture = undefined; + } + } + }, { + key: "getButtons", + value: function getButtons() { + return Array.from(this.el.querySelectorAll('ion-segment-button')); + } + /** + * The gesture blocks the segment button ripple. This + * function adds the ripple based on the checked segment + * and where the cursor ended. + */ + + }, { + key: "addRipple", + value: function addRipple(detail) { + var _this3 = this; + + var useRippleEffect = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('animated', true) && _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('rippleEffect', true); + + if (!useRippleEffect) { + return; + } + + var buttons = this.getButtons(); + var checked = buttons.find(function (button) { + return button.value === _this3.value; + }); + var root = checked.shadowRoot || checked; + var ripple = root.querySelector('ion-ripple-effect'); + + if (!ripple) { + return; + } + + var _Object = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["p"])(detail.event), + x = _Object.x, + y = _Object.y; + + ripple.addRipple(x, y).then(function (remove) { + return remove(); + }); + } + /* + * Activate both the segment and the buttons + * due to a bug with ::slotted in Safari + */ + + }, { + key: "setActivated", + value: function setActivated(activated) { + var buttons = this.getButtons(); + buttons.forEach(function (button) { + if (activated) { + button.classList.add('segment-button-activated'); + } else { + button.classList.remove('segment-button-activated'); + } + }); + this.activated = activated; + } + }, { + key: "activate", + value: function activate(detail) { + var _this4 = this; + + var clicked = detail.event.target; + var buttons = this.getButtons(); + var checked = buttons.find(function (button) { + return button.value === _this4.value; + }); // Make sure we are only checking for activation on a segment button + // since disabled buttons will get the click on the segment + + if (clicked.tagName !== 'ION-SEGMENT-BUTTON') { + return; + } // If there are no checked buttons, set the current button to checked + + + if (!checked) { + this.value = clicked.value; + this.setCheckedClasses(); + } // If the gesture began on the clicked button with the indicator + // then we should activate the indicator + + + if (this.value === clicked.value) { + this.setActivated(true); + } + } + }, { + key: "getIndicator", + value: function getIndicator(button) { + var root = button.shadowRoot || button; + return root.querySelector('.segment-button-indicator'); + } + }, { + key: "checkButton", + value: function checkButton(previous, current) { + var previousIndicator = this.getIndicator(previous); + var currentIndicator = this.getIndicator(current); + + if (previousIndicator === null || currentIndicator === null) { + return; + } + + var previousClientRect = previousIndicator.getBoundingClientRect(); + var currentClientRect = currentIndicator.getBoundingClientRect(); + var widthDelta = previousClientRect.width / currentClientRect.width; + var xPosition = previousClientRect.left - currentClientRect.left; // Scale the indicator width to match the previous indicator width + // and translate it on top of the previous indicator + + var transform = "translate3d(".concat(xPosition, "px, 0, 0) scaleX(").concat(widthDelta, ")"); + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () { + // Remove the transition before positioning on top of the previous indicator + currentIndicator.classList.remove('segment-button-indicator-animated'); + currentIndicator.style.setProperty('transform', transform); // Force a repaint to ensure the transform happens + + currentIndicator.getBoundingClientRect(); // Add the transition to move the indicator into place + + currentIndicator.classList.add('segment-button-indicator-animated'); // Remove the transform to slide the indicator back to the button clicked + + currentIndicator.style.setProperty('transform', ''); + }); + this.value = current.value; + this.setCheckedClasses(); + } + }, { + key: "setCheckedClasses", + value: function setCheckedClasses() { + var _this5 = this; + + var buttons = this.getButtons(); + var index = buttons.findIndex(function (button) { + return button.value === _this5.value; + }); + var next = index + 1; // Keep track of the currently checked button + + this.checked = buttons.find(function (button) { + return button.value === _this5.value; + }); + + var _iterator2 = _createForOfIteratorHelper(buttons), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var button = _step2.value; + button.classList.remove('segment-button-after-checked'); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + if (next < buttons.length) { + buttons[next].classList.add('segment-button-after-checked'); + } + } + }, { + key: "setNextIndex", + value: function setNextIndex(detail) { + var _this6 = this; + + var isEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var isRTL = document.dir === 'rtl'; + var activated = this.activated; + var buttons = this.getButtons(); + var index = buttons.findIndex(function (button) { + return button.value === _this6.value; + }); + var previous = buttons[index]; + var current; + var nextIndex; + + if (index === -1) { + return; + } // Get the element that the touch event started on in case + // it was the checked button, then we will move the indicator + + + var rect = previous.getBoundingClientRect(); + var left = rect.left; + var width = rect.width; // Get the element that the gesture is on top of based on the currentX of the + // gesture event and the Y coordinate of the starting element, since the gesture + // can move up and down off of the segment + + var currentX = detail.currentX; + var previousY = rect.top + rect.height / 2; + var nextEl = document.elementFromPoint(currentX, previousY); + var decreaseIndex = isRTL ? currentX > left + width : currentX < left; + var increaseIndex = isRTL ? currentX < left : currentX > left + width; // If the indicator is currently activated then we have started the gesture + // on top of the checked button so we need to slide the indicator + // by checking the button next to it as we move + + if (activated && !isEnd) { + // Decrease index, move left in LTR & right in RTL + if (decreaseIndex) { + var newIndex = index - 1; + + if (newIndex >= 0) { + nextIndex = newIndex; + } // Increase index, moves right in LTR & left in RTL + + } else if (increaseIndex) { + if (activated && !isEnd) { + var _newIndex = index + 1; + + if (_newIndex < buttons.length) { + nextIndex = _newIndex; + } + } + } + + if (nextIndex !== undefined && !buttons[nextIndex].disabled) { + current = buttons[nextIndex]; + } + } // If the indicator is not activated then we will just set the indicator + // to the element where the gesture ended + + + if (!activated && isEnd) { + current = nextEl; + } + /* tslint:disable-next-line */ + + + if (current != null) { + /** + * If current element is ion-segment then that means + * user tried to select a disabled ion-segment-button, + * and we should not update the ripple. + */ + if (current.tagName === 'ION-SEGMENT') { + return false; + } + + if (previous !== current) { + this.checkButton(previous, current); + } + } + + return true; + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'segment': true + }); + } + }, { + key: "render", + value: function render() { + var _Object2; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["c"])(this.color, (_Object2 = {}, _defineProperty(_Object2, mode, true), _defineProperty(_Object2, 'in-toolbar', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar', this.el)), _defineProperty(_Object2, 'in-toolbar-color', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar[color]', this.el)), _defineProperty(_Object2, 'segment-activated', this.activated), _defineProperty(_Object2, 'segment-disabled', this.disabled), _defineProperty(_Object2, 'segment-scrollable', this.scrollable), _Object2)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "color": ["colorChanged"], + "swipeGesture": ["swipeGestureChanged"], + "value": ["valueChanged"], + "disabled": ["disabledChanged"] + }; + } + }]); + + return Segment; + }(); + + Segment.style = { + ios: segmentIosCss, + md: segmentMdCss + }; + var segmentButtonIosCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color, #fff));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\"\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:2px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}}.segment-button-indicator{padding-left:2px;padding-right:2px;left:0;right:0;top:0;bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.segment-button-indicator{padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color, #fff))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color, #fff)))}:host(.in-toolbar-color) .segment-button-indicator-background{background:#fff}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}"; + var segmentButtonMdCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}"; + var ids = 0; + + var SegmentButton = /*#__PURE__*/function () { + function SegmentButton(hostRef) { + var _this7 = this; + + _classCallCheck(this, SegmentButton); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.segmentEl = null; + this.checked = false; + /** + * If `true`, the user cannot interact with the segment button. + */ + + this.disabled = false; + /** + * Set the layout of the text and icon in the segment. + */ + + this.layout = 'icon-top'; + /** + * The type of the button. + */ + + this.type = 'button'; + /** + * The value of the segment button. + */ + + this.value = 'ion-sb-' + ids++; + + this.updateStyle = function () { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["j"])(_this7); + }; + + this.updateState = function () { + if (_this7.segmentEl) { + _this7.checked = _this7.segmentEl.value === _this7.value; + } + }; + } + + _createClass(SegmentButton, [{ + key: "connectedCallback", + value: function connectedCallback() { + var segmentEl = this.segmentEl = this.el.closest('ion-segment'); + + if (segmentEl) { + this.updateState(); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(segmentEl, 'ionSelect', this.updateState); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["a"])(segmentEl, 'ionStyle', this.updateStyle); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + var segmentEl = this.segmentEl; + + if (segmentEl) { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(segmentEl, 'ionSelect', this.updateState); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["b"])(segmentEl, 'ionStyle', this.updateStyle); + this.segmentEl = null; + } + } + }, { + key: "hasLabel", + get: function get() { + return !!this.el.querySelector('ion-label'); + } + }, { + key: "hasIcon", + get: function get() { + return !!this.el.querySelector('ion-icon'); + } + }, { + key: "render", + value: function render() { + var _class; + + var checked = this.checked, + type = this.type, + disabled = this.disabled, + hasIcon = this.hasIcon, + hasLabel = this.hasLabel, + layout = this.layout, + segmentEl = this.segmentEl; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + var hasSegmentColor = function hasSegmentColor() { + return segmentEl !== null && segmentEl.color !== undefined; + }; + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "aria-disabled": disabled ? 'true' : null, + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'in-toolbar', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar', this.el)), _defineProperty(_class, 'in-toolbar-color', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-toolbar[color]', this.el)), _defineProperty(_class, 'in-segment', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__["h"])('ion-segment', this.el)), _defineProperty(_class, 'in-segment-color', hasSegmentColor()), _defineProperty(_class, 'segment-button-has-label', hasLabel), _defineProperty(_class, 'segment-button-has-icon', hasIcon), _defineProperty(_class, 'segment-button-has-label-only', hasLabel && !hasIcon), _defineProperty(_class, 'segment-button-has-icon-only', hasIcon && !hasLabel), _defineProperty(_class, 'segment-button-disabled', disabled), _defineProperty(_class, 'segment-button-checked', checked), _defineProperty(_class, "segment-button-layout-".concat(layout), true), _defineProperty(_class, 'ion-activatable', true), _defineProperty(_class, 'ion-activatable-instant', true), _defineProperty(_class, 'ion-focusable', true), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: type, + "aria-pressed": checked ? 'true' : 'false', + "class": "button-native", + part: "native", + disabled: disabled + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + part: "indicator", + "class": { + 'segment-button-indicator': true, + 'segment-button-indicator-animated': true + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + part: "indicator-background", + "class": "segment-button-indicator-background" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return SegmentButton; + }(); + + SegmentButton.style = { + ios: segmentButtonIosCss, + md: segmentButtonMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=31-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/31-es5.js.map b/android/app/src/main/assets/public/31-es5.js.map new file mode 100644 index 000000000..3d288f55d --- /dev/null +++ b/android/app/src/main/assets/public/31-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js"],"names":["segmentIosCss","segmentMdCss","Segment","hostRef","ionChange","ionSelect","ionStyle","didInit","activated","disabled","scrollable","swipeGesture","onClick","ev","current","target","previous","checked","tagName","value","checkButton","setCheckedClasses","oldValue","undefined","emitStyle","gestureChanged","emit","valueAfterGesture","buttons","getButtons","button","gesture","enable","createGesture","el","gestureName","gesturePriority","threshold","passive","onStart","onMove","onEnd","disabledChanged","detail","activate","setNextIndex","setActivated","checkedValidButton","event","stopImmediatePropagation","addRipple","Array","from","querySelectorAll","useRippleEffect","getBoolean","find","root","shadowRoot","ripple","querySelector","x","y","then","remove","forEach","classList","add","clicked","previousIndicator","getIndicator","currentIndicator","previousClientRect","getBoundingClientRect","currentClientRect","widthDelta","width","xPosition","left","transform","style","setProperty","index","findIndex","next","length","isEnd","isRTL","document","dir","nextIndex","rect","currentX","previousY","top","height","nextEl","elementFromPoint","decreaseIndex","increaseIndex","newIndex","mode","color","ios","md","segmentButtonIosCss","segmentButtonMdCss","ids","SegmentButton","segmentEl","layout","type","updateStyle","updateState","closest","hasIcon","hasLabel","hasSegmentColor","part"],"mappings":"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","file":"31-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, h, H as Host, i as getElement, j as forceUpdate } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { p as pointerCoord, a as addEventListener, b as removeEventListener } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst segmentIosCss = \":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}\";\n\nconst segmentMdCss = \":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}\";\n\nconst Segment = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionSelect = createEvent(this, \"ionSelect\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.didInit = false;\n this.activated = false;\n /**\n * If `true`, the user cannot interact with the segment.\n */\n this.disabled = false;\n /**\n * If `true`, the segment buttons will overflow and the user can swipe to see them.\n * In addition, this will disable the gesture to drag the indicator between the buttons\n * in order to swipe to see hidden buttons.\n */\n this.scrollable = false;\n /**\n * If `true`, users will be able to swipe between segment buttons to activate them.\n */\n this.swipeGesture = true;\n this.onClick = (ev) => {\n const current = ev.target;\n const previous = this.checked;\n // If the current element is a segment then that means\n // the user tried to swipe to a segment button and\n // click a segment button at the same time so we should\n // not update the checked segment button\n if (current.tagName === 'ION-SEGMENT') {\n return;\n }\n this.value = current.value;\n if (this.scrollable || !this.swipeGesture) {\n if (previous) {\n this.checkButton(previous, current);\n }\n else {\n this.setCheckedClasses();\n }\n }\n this.checked = current;\n };\n }\n colorChanged(value, oldValue) {\n /**\n * If color is set after not having\n * previously been set (or vice versa),\n * we need to emit style so the segment-buttons\n * can apply their color classes properly.\n */\n if ((oldValue === undefined && value !== undefined) ||\n (oldValue !== undefined && value === undefined)) {\n this.emitStyle();\n }\n }\n swipeGestureChanged() {\n this.gestureChanged();\n }\n valueChanged(value, oldValue) {\n this.ionSelect.emit({ value });\n if (oldValue !== '' || this.didInit) {\n if (!this.activated) {\n this.ionChange.emit({ value });\n }\n else {\n this.valueAfterGesture = value;\n }\n }\n }\n disabledChanged() {\n this.gestureChanged();\n const buttons = this.getButtons();\n for (const button of buttons) {\n button.disabled = this.disabled;\n }\n }\n gestureChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture);\n }\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentWillLoad() {\n this.emitStyle();\n }\n async componentDidLoad() {\n this.setCheckedClasses();\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: this.el,\n gestureName: 'segment',\n gesturePriority: 100,\n threshold: 0,\n passive: false,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gestureChanged();\n if (this.disabled) {\n this.disabledChanged();\n }\n this.didInit = true;\n }\n onStart(detail) {\n this.activate(detail);\n }\n onMove(detail) {\n this.setNextIndex(detail);\n }\n onEnd(detail) {\n this.setActivated(false);\n const checkedValidButton = this.setNextIndex(detail, true);\n detail.event.stopImmediatePropagation();\n if (checkedValidButton) {\n this.addRipple(detail);\n }\n const value = this.valueAfterGesture;\n if (value !== undefined) {\n this.ionChange.emit({ value });\n this.valueAfterGesture = undefined;\n }\n }\n getButtons() {\n return Array.from(this.el.querySelectorAll('ion-segment-button'));\n }\n /**\n * The gesture blocks the segment button ripple. This\n * function adds the ripple based on the checked segment\n * and where the cursor ended.\n */\n addRipple(detail) {\n const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);\n if (!useRippleEffect) {\n return;\n }\n const buttons = this.getButtons();\n const checked = buttons.find(button => button.value === this.value);\n const root = checked.shadowRoot || checked;\n const ripple = root.querySelector('ion-ripple-effect');\n if (!ripple) {\n return;\n }\n const { x, y } = pointerCoord(detail.event);\n ripple.addRipple(x, y).then(remove => remove());\n }\n /*\n * Activate both the segment and the buttons\n * due to a bug with ::slotted in Safari\n */\n setActivated(activated) {\n const buttons = this.getButtons();\n buttons.forEach(button => {\n if (activated) {\n button.classList.add('segment-button-activated');\n }\n else {\n button.classList.remove('segment-button-activated');\n }\n });\n this.activated = activated;\n }\n activate(detail) {\n const clicked = detail.event.target;\n const buttons = this.getButtons();\n const checked = buttons.find(button => button.value === this.value);\n // Make sure we are only checking for activation on a segment button\n // since disabled buttons will get the click on the segment\n if (clicked.tagName !== 'ION-SEGMENT-BUTTON') {\n return;\n }\n // If there are no checked buttons, set the current button to checked\n if (!checked) {\n this.value = clicked.value;\n this.setCheckedClasses();\n }\n // If the gesture began on the clicked button with the indicator\n // then we should activate the indicator\n if (this.value === clicked.value) {\n this.setActivated(true);\n }\n }\n getIndicator(button) {\n const root = button.shadowRoot || button;\n return root.querySelector('.segment-button-indicator');\n }\n checkButton(previous, current) {\n const previousIndicator = this.getIndicator(previous);\n const currentIndicator = this.getIndicator(current);\n if (previousIndicator === null || currentIndicator === null) {\n return;\n }\n const previousClientRect = previousIndicator.getBoundingClientRect();\n const currentClientRect = currentIndicator.getBoundingClientRect();\n const widthDelta = previousClientRect.width / currentClientRect.width;\n const xPosition = previousClientRect.left - currentClientRect.left;\n // Scale the indicator width to match the previous indicator width\n // and translate it on top of the previous indicator\n const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`;\n writeTask(() => {\n // Remove the transition before positioning on top of the previous indicator\n currentIndicator.classList.remove('segment-button-indicator-animated');\n currentIndicator.style.setProperty('transform', transform);\n // Force a repaint to ensure the transform happens\n currentIndicator.getBoundingClientRect();\n // Add the transition to move the indicator into place\n currentIndicator.classList.add('segment-button-indicator-animated');\n // Remove the transform to slide the indicator back to the button clicked\n currentIndicator.style.setProperty('transform', '');\n });\n this.value = current.value;\n this.setCheckedClasses();\n }\n setCheckedClasses() {\n const buttons = this.getButtons();\n const index = buttons.findIndex(button => button.value === this.value);\n const next = index + 1;\n // Keep track of the currently checked button\n this.checked = buttons.find(button => button.value === this.value);\n for (const button of buttons) {\n button.classList.remove('segment-button-after-checked');\n }\n if (next < buttons.length) {\n buttons[next].classList.add('segment-button-after-checked');\n }\n }\n setNextIndex(detail, isEnd = false) {\n const isRTL = document.dir === 'rtl';\n const activated = this.activated;\n const buttons = this.getButtons();\n const index = buttons.findIndex(button => button.value === this.value);\n const previous = buttons[index];\n let current;\n let nextIndex;\n if (index === -1) {\n return;\n }\n // Get the element that the touch event started on in case\n // it was the checked button, then we will move the indicator\n const rect = previous.getBoundingClientRect();\n const left = rect.left;\n const width = rect.width;\n // Get the element that the gesture is on top of based on the currentX of the\n // gesture event and the Y coordinate of the starting element, since the gesture\n // can move up and down off of the segment\n const currentX = detail.currentX;\n const previousY = rect.top + (rect.height / 2);\n const nextEl = document.elementFromPoint(currentX, previousY);\n const decreaseIndex = isRTL ? currentX > (left + width) : currentX < left;\n const increaseIndex = isRTL ? currentX < left : currentX > (left + width);\n // If the indicator is currently activated then we have started the gesture\n // on top of the checked button so we need to slide the indicator\n // by checking the button next to it as we move\n if (activated && !isEnd) {\n // Decrease index, move left in LTR & right in RTL\n if (decreaseIndex) {\n const newIndex = index - 1;\n if (newIndex >= 0) {\n nextIndex = newIndex;\n }\n // Increase index, moves right in LTR & left in RTL\n }\n else if (increaseIndex) {\n if (activated && !isEnd) {\n const newIndex = index + 1;\n if (newIndex < buttons.length) {\n nextIndex = newIndex;\n }\n }\n }\n if (nextIndex !== undefined && !buttons[nextIndex].disabled) {\n current = buttons[nextIndex];\n }\n }\n // If the indicator is not activated then we will just set the indicator\n // to the element where the gesture ended\n if (!activated && isEnd) {\n current = nextEl;\n }\n /* tslint:disable-next-line */\n if (current != null) {\n /**\n * If current element is ion-segment then that means\n * user tried to select a disabled ion-segment-button,\n * and we should not update the ripple.\n */\n if (current.tagName === 'ION-SEGMENT') {\n return false;\n }\n if (previous !== current) {\n this.checkButton(previous, current);\n }\n }\n return true;\n }\n emitStyle() {\n this.ionStyle.emit({\n 'segment': true\n });\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'segment-activated': this.activated,\n 'segment-disabled': this.disabled,\n 'segment-scrollable': this.scrollable\n }) }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"color\": [\"colorChanged\"],\n \"swipeGesture\": [\"swipeGestureChanged\"],\n \"value\": [\"valueChanged\"],\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nSegment.style = {\n ios: segmentIosCss,\n md: segmentMdCss\n};\n\nconst segmentButtonIosCss = \":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color, #fff));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\\\"\\\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:2px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}}.segment-button-indicator{padding-left:2px;padding-right:2px;left:0;right:0;top:0;bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.segment-button-indicator{padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color, #fff))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color, #fff)))}:host(.in-toolbar-color) .segment-button-indicator-background{background:#fff}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}\";\n\nconst segmentButtonMdCss = \":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}\";\n\nlet ids = 0;\nconst SegmentButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.segmentEl = null;\n this.checked = false;\n /**\n * If `true`, the user cannot interact with the segment button.\n */\n this.disabled = false;\n /**\n * Set the layout of the text and icon in the segment.\n */\n this.layout = 'icon-top';\n /**\n * The type of the button.\n */\n this.type = 'button';\n /**\n * The value of the segment button.\n */\n this.value = 'ion-sb-' + (ids++);\n this.updateStyle = () => {\n forceUpdate(this);\n };\n this.updateState = () => {\n if (this.segmentEl) {\n this.checked = this.segmentEl.value === this.value;\n }\n };\n }\n connectedCallback() {\n const segmentEl = this.segmentEl = this.el.closest('ion-segment');\n if (segmentEl) {\n this.updateState();\n addEventListener(segmentEl, 'ionSelect', this.updateState);\n addEventListener(segmentEl, 'ionStyle', this.updateStyle);\n }\n }\n disconnectedCallback() {\n const segmentEl = this.segmentEl;\n if (segmentEl) {\n removeEventListener(segmentEl, 'ionSelect', this.updateState);\n removeEventListener(segmentEl, 'ionStyle', this.updateStyle);\n this.segmentEl = null;\n }\n }\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n render() {\n const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;\n const mode = getIonMode(this);\n const hasSegmentColor = () => segmentEl !== null && segmentEl.color !== undefined;\n return (h(Host, { \"aria-disabled\": disabled ? 'true' : null, class: {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'in-segment': hostContext('ion-segment', this.el),\n 'in-segment-color': hasSegmentColor(),\n 'segment-button-has-label': hasLabel,\n 'segment-button-has-icon': hasIcon,\n 'segment-button-has-label-only': hasLabel && !hasIcon,\n 'segment-button-has-icon-only': hasIcon && !hasLabel,\n 'segment-button-disabled': disabled,\n 'segment-button-checked': checked,\n [`segment-button-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-activatable-instant': true,\n 'ion-focusable': true,\n } }, h(\"button\", { type: type, \"aria-pressed\": checked ? 'true' : 'false', class: \"button-native\", part: \"native\", disabled: disabled }, h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", null)), h(\"div\", { part: \"indicator\", class: {\n 'segment-button-indicator': true,\n 'segment-button-indicator-animated': true\n } }, h(\"div\", { part: \"indicator-background\", class: \"segment-button-indicator-background\" }))));\n }\n get el() { return getElement(this); }\n};\nSegmentButton.style = {\n ios: segmentButtonIosCss,\n md: segmentButtonMdCss\n};\n\nexport { Segment as ion_segment, SegmentButton as ion_segment_button };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/32-es2015.js b/android/app/src/main/assets/public/32-es2015.js new file mode 100644 index 000000000..d1149f6a7 --- /dev/null +++ b/android/app/src/main/assets/public/32-es2015.js @@ -0,0 +1,508 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[32],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js ***! + \*****************************************************************/ +/*! exports provided: ion_select, ion_select_option, ion_select_popover */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_select", function() { return Select; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_select_option", function() { return SelectOption; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_select_popover", function() { return SelectPopover; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hardware-back-button-4a6b37fb.js */ "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); +/* harmony import */ var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./overlays-12c20431.js */ "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + + + +const watchForOptions = (containerEl, tagName, onChange) => { + /* tslint:disable-next-line */ + if (typeof MutationObserver === 'undefined') { + return; + } + const mutation = new MutationObserver(mutationList => { + onChange(getSelectedOption(mutationList, tagName)); + }); + mutation.observe(containerEl, { + childList: true, + subtree: true + }); + return mutation; +}; +const getSelectedOption = (mutationList, tagName) => { + let newOption; + mutationList.forEach(mut => { + // tslint:disable-next-line: prefer-for-of + for (let i = 0; i < mut.addedNodes.length; i++) { + newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption; + } + }); + return newOption; +}; +const findCheckedOption = (el, tagName) => { + if (el.nodeType !== 1) { + return undefined; + } + const options = (el.tagName === tagName.toUpperCase()) + ? [el] + : Array.from(el.querySelectorAll(tagName)); + return options.find((o) => o.value === el.value); +}; + +const selectIosCss = ":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}.select-icon{width:12px;height:18px}"; + +const selectMdCss = ":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:16px}.select-icon{width:19px;height:19px}:host-context(.item-label-floating) .select-icon{-webkit-transform:translate3d(0, -9px, 0);transform:translate3d(0, -9px, 0)}"; + +const Select = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = `ion-sel-${selectIds++}`; + this.didInit = false; + this.isExpanded = false; + /** + * If `true`, the user cannot interact with the select. + */ + this.disabled = false; + /** + * The text to display on the cancel button. + */ + this.cancelText = 'Cancel'; + /** + * The text to display on the ok button. + */ + this.okText = 'OK'; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + /** + * If `true`, the select can accept multiple values. + */ + this.multiple = false; + /** + * The interface the select should use: `action-sheet`, `popover` or `alert`. + */ + this.interface = 'alert'; + /** + * Any additional options that the `alert`, `action-sheet` or `popover` interface + * can take. See the [ion-alert docs](../alert), the + * [ion-action-sheet docs](../action-sheet) and the + * [ion-popover docs](../popover) for the + * create options for each interface. + * + * Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface. + */ + this.interfaceOptions = {}; + this.onClick = (ev) => { + this.setFocus(); + this.open(ev); + }; + this.onFocus = () => { + this.ionFocus.emit(); + }; + this.onBlur = () => { + this.ionBlur.emit(); + }; + } + disabledChanged() { + this.emitStyle(); + } + valueChanged() { + this.emitStyle(); + if (this.didInit) { + this.ionChange.emit({ + value: this.value, + }); + } + } + async connectedCallback() { + this.updateOverlayOptions(); + this.emitStyle(); + this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => { + this.updateOverlayOptions(); + }); + } + disconnectedCallback() { + if (this.mutationO) { + this.mutationO.disconnect(); + this.mutationO = undefined; + } + } + componentDidLoad() { + this.didInit = true; + } + /** + * Open the select overlay. The overlay is either an alert, action sheet, or popover, + * depending on the `interface` property on the `ion-select`. + * + * @param event The user interface event that called the open. + */ + async open(event) { + if (this.disabled || this.isExpanded) { + return undefined; + } + const overlay = this.overlay = await this.createOverlay(event); + this.isExpanded = true; + overlay.onDidDismiss().then(() => { + this.overlay = undefined; + this.isExpanded = false; + this.setFocus(); + }); + await overlay.present(); + return overlay; + } + createOverlay(ev) { + let selectInterface = this.interface; + if ((selectInterface === 'action-sheet' || selectInterface === 'popover') && this.multiple) { + console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`); + selectInterface = 'alert'; + } + if (selectInterface === 'popover' && !ev) { + console.warn('Select interface cannot be a "popover" without passing an event. Using the "alert" interface instead.'); + selectInterface = 'alert'; + } + if (selectInterface === 'popover') { + return this.openPopover(ev); + } + if (selectInterface === 'action-sheet') { + return this.openActionSheet(); + } + return this.openAlert(); + } + updateOverlayOptions() { + const overlay = this.overlay; + if (!overlay) { + return; + } + const childOpts = this.childOpts; + const value = this.value; + switch (this.interface) { + case 'action-sheet': + overlay.buttons = this.createActionSheetButtons(childOpts, value); + break; + case 'popover': + const popover = overlay.querySelector('ion-select-popover'); + if (popover) { + popover.options = this.createPopoverOptions(childOpts, value); + } + break; + case 'alert': + const inputType = (this.multiple ? 'checkbox' : 'radio'); + overlay.inputs = this.createAlertInputs(childOpts, inputType, value); + break; + } + } + createActionSheetButtons(data, selectValue) { + const actionSheetButtons = data.map(option => { + const value = getOptionValue(option); + // Remove hydrated before copying over classes + const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' '); + const optClass = `${OPTION_CLASS} ${copyClasses}`; + return { + role: (isOptionSelected(value, selectValue, this.compareWith) ? 'selected' : ''), + text: option.textContent, + cssClass: optClass, + handler: () => { + this.value = value; + } + }; + }); + // Add "cancel" button + actionSheetButtons.push({ + text: this.cancelText, + role: 'cancel', + handler: () => { + this.ionCancel.emit(); + } + }); + return actionSheetButtons; + } + createAlertInputs(data, inputType, selectValue) { + const alertInputs = data.map(option => { + const value = getOptionValue(option); + // Remove hydrated before copying over classes + const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' '); + const optClass = `${OPTION_CLASS} ${copyClasses}`; + return { + type: inputType, + cssClass: optClass, + label: option.textContent || '', + value, + checked: isOptionSelected(value, selectValue, this.compareWith), + disabled: option.disabled + }; + }); + return alertInputs; + } + createPopoverOptions(data, selectValue) { + const popoverOptions = data.map(option => { + const value = getOptionValue(option); + // Remove hydrated before copying over classes + const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' '); + const optClass = `${OPTION_CLASS} ${copyClasses}`; + return { + text: option.textContent || '', + cssClass: optClass, + value, + checked: isOptionSelected(value, selectValue, this.compareWith), + disabled: option.disabled, + handler: () => { + this.value = value; + this.close(); + } + }; + }); + return popoverOptions; + } + async openPopover(ev) { + const interfaceOptions = this.interfaceOptions; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const value = this.value; + const popoverOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], event: ev, componentProps: { + header: interfaceOptions.header, + subHeader: interfaceOptions.subHeader, + message: interfaceOptions.message, + value, + options: this.createPopoverOptions(this.childOpts, value) + } }); + return _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["c"].create(popoverOpts); + } + async openActionSheet() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const interfaceOptions = this.interfaceOptions; + const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] }); + return _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["b"].create(actionSheetOpts); + } + async openAlert() { + const label = this.getLabel(); + const labelText = (label) ? label.textContent : null; + const interfaceOptions = this.interfaceOptions; + const inputType = (this.multiple ? 'checkbox' : 'radio'); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [ + { + text: this.cancelText, + role: 'cancel', + handler: () => { + this.ionCancel.emit(); + } + }, + { + text: this.okText, + handler: (selectedValues) => { + this.value = selectedValues; + } + } + ], cssClass: ['select-alert', interfaceOptions.cssClass, + (this.multiple ? 'multiple-select-alert' : 'single-select-alert')] }); + return _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["a"].create(alertOpts); + } + /** + * Close the select interface. + */ + close() { + // TODO check !this.overlay || !this.isFocus() + if (!this.overlay) { + return Promise.resolve(false); + } + return this.overlay.dismiss(); + } + getLabel() { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(this.el); + } + hasValue() { + return this.getText() !== ''; + } + get childOpts() { + return Array.from(this.el.querySelectorAll('ion-select-option')); + } + getText() { + const selectedText = this.selectedText; + if (selectedText != null && selectedText !== '') { + return selectedText; + } + return generateText(this.childOpts, this.value, this.compareWith); + } + setFocus() { + if (this.focusEl) { + this.focusEl.focus(); + } + } + emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'select': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'interactive-disabled': this.disabled, + 'select-disabled': this.disabled + }); + } + render() { + const { disabled, el, inputId, isExpanded, name, placeholder, value } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const { labelText, labelId } = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["c"])(el, inputId); + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, name, parseValue(value), disabled); + const displayValue = this.getText(); + let addPlaceholderClass = false; + let selectText = displayValue; + if (selectText === '' && placeholder != null) { + selectText = placeholder; + addPlaceholderClass = true; + } + const selectTextClasses = { + 'select-text': true, + 'select-placeholder': addPlaceholderClass + }; + const textPart = addPlaceholderClass ? 'placeholder' : 'text'; + // If there is a label then we need to concatenate it with the + // current value (or placeholder) and a comma so it separates + // nicely when the screen reader announces it, otherwise just + // announce the value / placeholder + const displayLabel = labelText !== undefined + ? (selectText !== '' ? `${selectText}, ${labelText}` : labelText) + : selectText; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, role: "button", "aria-haspopup": "listbox", "aria-disabled": disabled ? 'true' : null, "aria-label": displayLabel, class: { + [mode]: true, + 'in-item': Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-item', el), + 'select-disabled': disabled, + 'select-expanded': isExpanded + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "select-icon", role: "presentation", part: "icon" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "select-icon-inner" })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("label", { id: labelId }, displayLabel), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { type: "button", disabled: disabled, id: inputId, "aria-labelledby": labelId, "aria-haspopup": "listbox", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl => this.focusEl = focusEl) }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "disabled": ["disabledChanged"], + "placeholder": ["disabledChanged"], + "value": ["valueChanged"] + }; } +}; +const isOptionSelected = (currentValue, compareValue, compareWith) => { + if (currentValue === undefined) { + return false; + } + if (Array.isArray(currentValue)) { + return currentValue.some(val => compareOptions(val, compareValue, compareWith)); + } + else { + return compareOptions(currentValue, compareValue, compareWith); + } +}; +const getOptionValue = (el) => { + const value = el.value; + return (value === undefined) + ? el.textContent || '' + : value; +}; +const parseValue = (value) => { + if (value == null) { + return undefined; + } + if (Array.isArray(value)) { + return value.join(','); + } + return value.toString(); +}; +const compareOptions = (currentValue, compareValue, compareWith) => { + if (typeof compareWith === 'function') { + return compareWith(currentValue, compareValue); + } + else if (typeof compareWith === 'string') { + return currentValue[compareWith] === compareValue[compareWith]; + } + else { + return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue; + } +}; +const generateText = (opts, value, compareWith) => { + if (value === undefined) { + return ''; + } + if (Array.isArray(value)) { + return value + .map(v => textForValue(opts, v, compareWith)) + .filter(opt => opt !== null) + .join(', '); + } + else { + return textForValue(opts, value, compareWith) || ''; + } +}; +const textForValue = (opts, value, compareWith) => { + const selectOpt = opts.find(opt => { + return compareOptions(getOptionValue(opt), value, compareWith); + }); + return selectOpt + ? selectOpt.textContent + : null; +}; +let selectIds = 0; +const OPTION_CLASS = 'select-interface-option'; +Select.style = { + ios: selectIosCss, + md: selectMdCss +}; + +const selectOptionCss = ":host{display:none}"; + +const SelectOption = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.inputId = `ion-selopt-${selectOptionIds++}`; + /** + * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons. + */ + this.disabled = false; + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "option", id: this.inputId, class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) })); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +let selectOptionIds = 0; +SelectOption.style = selectOptionCss; + +const selectPopoverCss = ".sc-ion-select-popover-h ion-list.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:-1px;margin-bottom:-1px}.sc-ion-select-popover-h ion-list-header.sc-ion-select-popover,.sc-ion-select-popover-h ion-label.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + +const SelectPopover = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** Array of options for the popover */ + this.options = []; + } + onSelect(ev) { + const option = this.options.find(o => o.value === ev.target.value); + if (option) { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["s"])(option.handler); + } + } + render() { + const checkedOption = this.options.find(o => o.checked); + const checkedValue = checkedOption ? checkedOption.value : undefined; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-list", null, this.header !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-list-header", null, this.header), (this.subHeader !== undefined || this.message !== undefined) && + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-item", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-label", { class: "ion-text-wrap" }, this.subHeader !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h3", null, this.subHeader), this.message !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("p", null, this.message))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-radio-group", { value: checkedValue }, this.options.map(option => Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-item", { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["g"])(option.cssClass) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-label", null, option.text), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-radio", { value: option.value, disabled: option.disabled }))))))); + } +}; +SelectPopover.style = selectPopoverCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=32-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/32-es2015.js.map b/android/app/src/main/assets/public/32-es2015.js.map new file mode 100644 index 000000000..ea9bf0f0e --- /dev/null +++ b/android/app/src/main/assets/public/32-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js"],"names":[],"mappings":"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ACA;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,0BAA0B,aAAa,GAAG,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa,GAAG,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa,GAAG,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,qDAAqD,OAAO,sBAAsB;AAClF;AACA;AACA;AACA;AACA;AACA,OAAO,EAAE;AACT,WAAW,uDAAiB;AAC5B;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,yDAAyD,OAAO,sBAAsB,mIAAmI;AACzN,WAAW,uDAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,mDAAmD,OAAO,sBAAsB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E,WAAW,uDAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,8DAAa;AACxB;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,KAAK;AACL;AACA;AACA,WAAW,8DAA8D;AACzE,iBAAiB,mEAAU;AAC3B,WAAW,qBAAqB,GAAG,8DAAY;AAC/C,IAAI,8DAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW,IAAI,UAAU;AACzD;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA,OAAO,EAAE,EAAE,4DAAC,SAAS,kEAAkE,eAAe,4DAAC,SAAS,2DAA2D,EAAE,4DAAC,SAAS,6BAA6B,IAAI,4DAAC,WAAW,cAAc,iBAAiB,4DAAC,YAAY,8HAA8H,WAAW,yFAAyF;AAClf;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA,IAAI;AACJ;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,aAAa;;AAE5C;AACA;AACA,IAAI,4DAAgB;AACpB,iCAAiC,kBAAkB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,0CAA0C,mEAAU,QAAQ;AACjF;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;;AAEA,kFAAkF,cAAc,eAAe,gBAAgB,mBAAmB,wHAAwH,cAAc,eAAe,aAAa,gBAAgB;;AAEpU;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+DAAQ;AACd;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,mEAAU,QAAQ,EAAE,4DAAC,gDAAgD,4DAAC;AACnG,MAAM,4DAAC,mBAAmB,4DAAC,eAAe,yBAAyB,kCAAkC,4DAAC,4DAA4D,4DAAC,6BAA6B,4DAAC,qBAAqB,sBAAsB,6BAA6B,4DAAC,cAAc,QAAQ,4DAAW,mBAAmB,EAAE,4DAAC,kCAAkC,4DAAC,eAAe,iDAAiD;AACpa;AACA;AACA;;AAEwG","file":"32-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { f as findItemLabel, c as getAriaLabel, d as renderHiddenInput } from './helpers-90f46169.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-12c20431.js';\nimport { h as hostContext, g as getClassMap } from './theme-ff3fc52f.js';\n\nconst watchForOptions = (containerEl, tagName, onChange) => {\n /* tslint:disable-next-line */\n if (typeof MutationObserver === 'undefined') {\n return;\n }\n const mutation = new MutationObserver(mutationList => {\n onChange(getSelectedOption(mutationList, tagName));\n });\n mutation.observe(containerEl, {\n childList: true,\n subtree: true\n });\n return mutation;\n};\nconst getSelectedOption = (mutationList, tagName) => {\n let newOption;\n mutationList.forEach(mut => {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < mut.addedNodes.length; i++) {\n newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption;\n }\n });\n return newOption;\n};\nconst findCheckedOption = (el, tagName) => {\n if (el.nodeType !== 1) {\n return undefined;\n }\n const options = (el.tagName === tagName.toUpperCase())\n ? [el]\n : Array.from(el.querySelectorAll(tagName));\n return options.find((o) => o.value === el.value);\n};\n\nconst selectIosCss = \":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}.select-icon{width:12px;height:18px}\";\n\nconst selectMdCss = \":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:16px}.select-icon{width:19px;height:19px}:host-context(.item-label-floating) .select-icon{-webkit-transform:translate3d(0, -9px, 0);transform:translate3d(0, -9px, 0)}\";\n\nconst Select = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-sel-${selectIds++}`;\n this.didInit = false;\n this.isExpanded = false;\n /**\n * If `true`, the user cannot interact with the select.\n */\n this.disabled = false;\n /**\n * The text to display on the cancel button.\n */\n this.cancelText = 'Cancel';\n /**\n * The text to display on the ok button.\n */\n this.okText = 'OK';\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the select can accept multiple values.\n */\n this.multiple = false;\n /**\n * The interface the select should use: `action-sheet`, `popover` or `alert`.\n */\n this.interface = 'alert';\n /**\n * Any additional options that the `alert`, `action-sheet` or `popover` interface\n * can take. See the [ion-alert docs](../alert), the\n * [ion-action-sheet docs](../action-sheet) and the\n * [ion-popover docs](../popover) for the\n * create options for each interface.\n *\n * Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.\n */\n this.interfaceOptions = {};\n this.onClick = (ev) => {\n this.setFocus();\n this.open(ev);\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n disabledChanged() {\n this.emitStyle();\n }\n valueChanged() {\n this.emitStyle();\n if (this.didInit) {\n this.ionChange.emit({\n value: this.value,\n });\n }\n }\n async connectedCallback() {\n this.updateOverlayOptions();\n this.emitStyle();\n this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => {\n this.updateOverlayOptions();\n });\n }\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n }\n componentDidLoad() {\n this.didInit = true;\n }\n /**\n * Open the select overlay. The overlay is either an alert, action sheet, or popover,\n * depending on the `interface` property on the `ion-select`.\n *\n * @param event The user interface event that called the open.\n */\n async open(event) {\n if (this.disabled || this.isExpanded) {\n return undefined;\n }\n const overlay = this.overlay = await this.createOverlay(event);\n this.isExpanded = true;\n overlay.onDidDismiss().then(() => {\n this.overlay = undefined;\n this.isExpanded = false;\n this.setFocus();\n });\n await overlay.present();\n return overlay;\n }\n createOverlay(ev) {\n let selectInterface = this.interface;\n if ((selectInterface === 'action-sheet' || selectInterface === 'popover') && this.multiple) {\n console.warn(`Select interface cannot be \"${selectInterface}\" with a multi-value select. Using the \"alert\" interface instead.`);\n selectInterface = 'alert';\n }\n if (selectInterface === 'popover' && !ev) {\n console.warn('Select interface cannot be a \"popover\" without passing an event. Using the \"alert\" interface instead.');\n selectInterface = 'alert';\n }\n if (selectInterface === 'popover') {\n return this.openPopover(ev);\n }\n if (selectInterface === 'action-sheet') {\n return this.openActionSheet();\n }\n return this.openAlert();\n }\n updateOverlayOptions() {\n const overlay = this.overlay;\n if (!overlay) {\n return;\n }\n const childOpts = this.childOpts;\n const value = this.value;\n switch (this.interface) {\n case 'action-sheet':\n overlay.buttons = this.createActionSheetButtons(childOpts, value);\n break;\n case 'popover':\n const popover = overlay.querySelector('ion-select-popover');\n if (popover) {\n popover.options = this.createPopoverOptions(childOpts, value);\n }\n break;\n case 'alert':\n const inputType = (this.multiple ? 'checkbox' : 'radio');\n overlay.inputs = this.createAlertInputs(childOpts, inputType, value);\n break;\n }\n }\n createActionSheetButtons(data, selectValue) {\n const actionSheetButtons = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n role: (isOptionSelected(value, selectValue, this.compareWith) ? 'selected' : ''),\n text: option.textContent,\n cssClass: optClass,\n handler: () => {\n this.value = value;\n }\n };\n });\n // Add \"cancel\" button\n actionSheetButtons.push({\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n }\n });\n return actionSheetButtons;\n }\n createAlertInputs(data, inputType, selectValue) {\n const alertInputs = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n type: inputType,\n cssClass: optClass,\n label: option.textContent || '',\n value,\n checked: isOptionSelected(value, selectValue, this.compareWith),\n disabled: option.disabled\n };\n });\n return alertInputs;\n }\n createPopoverOptions(data, selectValue) {\n const popoverOptions = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n text: option.textContent || '',\n cssClass: optClass,\n value,\n checked: isOptionSelected(value, selectValue, this.compareWith),\n disabled: option.disabled,\n handler: () => {\n this.value = value;\n this.close();\n }\n };\n });\n return popoverOptions;\n }\n async openPopover(ev) {\n const interfaceOptions = this.interfaceOptions;\n const mode = getIonMode(this);\n const value = this.value;\n const popoverOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], event: ev, componentProps: {\n header: interfaceOptions.header,\n subHeader: interfaceOptions.subHeader,\n message: interfaceOptions.message,\n value,\n options: this.createPopoverOptions(this.childOpts, value)\n } });\n return popoverController.create(popoverOpts);\n }\n async openActionSheet() {\n const mode = getIonMode(this);\n const interfaceOptions = this.interfaceOptions;\n const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });\n return actionSheetController.create(actionSheetOpts);\n }\n async openAlert() {\n const label = this.getLabel();\n const labelText = (label) ? label.textContent : null;\n const interfaceOptions = this.interfaceOptions;\n const inputType = (this.multiple ? 'checkbox' : 'radio');\n const mode = getIonMode(this);\n const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [\n {\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n }\n },\n {\n text: this.okText,\n handler: (selectedValues) => {\n this.value = selectedValues;\n }\n }\n ], cssClass: ['select-alert', interfaceOptions.cssClass,\n (this.multiple ? 'multiple-select-alert' : 'single-select-alert')] });\n return alertController.create(alertOpts);\n }\n /**\n * Close the select interface.\n */\n close() {\n // TODO check !this.overlay || !this.isFocus()\n if (!this.overlay) {\n return Promise.resolve(false);\n }\n return this.overlay.dismiss();\n }\n getLabel() {\n return findItemLabel(this.el);\n }\n hasValue() {\n return this.getText() !== '';\n }\n get childOpts() {\n return Array.from(this.el.querySelectorAll('ion-select-option'));\n }\n getText() {\n const selectedText = this.selectedText;\n if (selectedText != null && selectedText !== '') {\n return selectedText;\n }\n return generateText(this.childOpts, this.value, this.compareWith);\n }\n setFocus() {\n if (this.focusEl) {\n this.focusEl.focus();\n }\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'select': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'interactive-disabled': this.disabled,\n 'select-disabled': this.disabled\n });\n }\n render() {\n const { disabled, el, inputId, isExpanded, name, placeholder, value } = this;\n const mode = getIonMode(this);\n const { labelText, labelId } = getAriaLabel(el, inputId);\n renderHiddenInput(true, el, name, parseValue(value), disabled);\n const displayValue = this.getText();\n let addPlaceholderClass = false;\n let selectText = displayValue;\n if (selectText === '' && placeholder != null) {\n selectText = placeholder;\n addPlaceholderClass = true;\n }\n const selectTextClasses = {\n 'select-text': true,\n 'select-placeholder': addPlaceholderClass\n };\n const textPart = addPlaceholderClass ? 'placeholder' : 'text';\n // If there is a label then we need to concatenate it with the\n // current value (or placeholder) and a comma so it separates\n // nicely when the screen reader announces it, otherwise just\n // announce the value / placeholder\n const displayLabel = labelText !== undefined\n ? (selectText !== '' ? `${selectText}, ${labelText}` : labelText)\n : selectText;\n return (h(Host, { onClick: this.onClick, role: \"button\", \"aria-haspopup\": \"listbox\", \"aria-disabled\": disabled ? 'true' : null, \"aria-label\": displayLabel, class: {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'select-disabled': disabled,\n 'select-expanded': isExpanded\n } }, h(\"div\", { \"aria-hidden\": \"true\", class: selectTextClasses, part: textPart }, selectText), h(\"div\", { class: \"select-icon\", role: \"presentation\", part: \"icon\" }, h(\"div\", { class: \"select-icon-inner\" })), h(\"label\", { id: labelId }, displayLabel), h(\"button\", { type: \"button\", disabled: disabled, id: inputId, \"aria-labelledby\": labelId, \"aria-haspopup\": \"listbox\", \"aria-expanded\": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl => this.focusEl = focusEl) })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"],\n \"placeholder\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst isOptionSelected = (currentValue, compareValue, compareWith) => {\n if (currentValue === undefined) {\n return false;\n }\n if (Array.isArray(currentValue)) {\n return currentValue.some(val => compareOptions(val, compareValue, compareWith));\n }\n else {\n return compareOptions(currentValue, compareValue, compareWith);\n }\n};\nconst getOptionValue = (el) => {\n const value = el.value;\n return (value === undefined)\n ? el.textContent || ''\n : value;\n};\nconst parseValue = (value) => {\n if (value == null) {\n return undefined;\n }\n if (Array.isArray(value)) {\n return value.join(',');\n }\n return value.toString();\n};\nconst compareOptions = (currentValue, compareValue, compareWith) => {\n if (typeof compareWith === 'function') {\n return compareWith(currentValue, compareValue);\n }\n else if (typeof compareWith === 'string') {\n return currentValue[compareWith] === compareValue[compareWith];\n }\n else {\n return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;\n }\n};\nconst generateText = (opts, value, compareWith) => {\n if (value === undefined) {\n return '';\n }\n if (Array.isArray(value)) {\n return value\n .map(v => textForValue(opts, v, compareWith))\n .filter(opt => opt !== null)\n .join(', ');\n }\n else {\n return textForValue(opts, value, compareWith) || '';\n }\n};\nconst textForValue = (opts, value, compareWith) => {\n const selectOpt = opts.find(opt => {\n return compareOptions(getOptionValue(opt), value, compareWith);\n });\n return selectOpt\n ? selectOpt.textContent\n : null;\n};\nlet selectIds = 0;\nconst OPTION_CLASS = 'select-interface-option';\nSelect.style = {\n ios: selectIosCss,\n md: selectMdCss\n};\n\nconst selectOptionCss = \":host{display:none}\";\n\nconst SelectOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.inputId = `ion-selopt-${selectOptionIds++}`;\n /**\n * If `true`, the user cannot interact with the select option. This property does not apply when `interface=\"action-sheet\"` as `ion-action-sheet` does not allow for disabled buttons.\n */\n this.disabled = false;\n }\n render() {\n return (h(Host, { role: \"option\", id: this.inputId, class: getIonMode(this) }));\n }\n get el() { return getElement(this); }\n};\nlet selectOptionIds = 0;\nSelectOption.style = selectOptionCss;\n\nconst selectPopoverCss = \".sc-ion-select-popover-h ion-list.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:-1px;margin-bottom:-1px}.sc-ion-select-popover-h ion-list-header.sc-ion-select-popover,.sc-ion-select-popover-h ion-label.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst SelectPopover = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /** Array of options for the popover */\n this.options = [];\n }\n onSelect(ev) {\n const option = this.options.find(o => o.value === ev.target.value);\n if (option) {\n safeCall(option.handler);\n }\n }\n render() {\n const checkedOption = this.options.find(o => o.checked);\n const checkedValue = checkedOption ? checkedOption.value : undefined;\n return (h(Host, { class: getIonMode(this) }, h(\"ion-list\", null, this.header !== undefined && h(\"ion-list-header\", null, this.header), (this.subHeader !== undefined || this.message !== undefined) &&\n h(\"ion-item\", null, h(\"ion-label\", { class: \"ion-text-wrap\" }, this.subHeader !== undefined && h(\"h3\", null, this.subHeader), this.message !== undefined && h(\"p\", null, this.message))), h(\"ion-radio-group\", { value: checkedValue }, this.options.map(option => h(\"ion-item\", { class: getClassMap(option.cssClass) }, h(\"ion-label\", null, option.text), h(\"ion-radio\", { value: option.value, disabled: option.disabled })))))));\n }\n};\nSelectPopover.style = selectPopoverCss;\n\nexport { Select as ion_select, SelectOption as ion_select_option, SelectPopover as ion_select_popover };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/32-es5.js b/android/app/src/main/assets/public/32-es5.js new file mode 100644 index 000000000..26dd964de --- /dev/null +++ b/android/app/src/main/assets/public/32-es5.js @@ -0,0 +1,897 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[32], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js": + /*!*****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js ***! + \*****************************************************************/ + + /*! exports provided: ion_select, ion_select_option, ion_select_popover */ + + /***/ + function node_modulesIonicCoreDistEsmIonSelect_3EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_select", function () { + return Select; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_select_option", function () { + return SelectOption; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_select_popover", function () { + return SelectPopover; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./helpers-90f46169.js */ + "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); + /* harmony import */ + + + var _hardware_back_button_4a6b37fb_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./hardware-back-button-4a6b37fb.js */ + "./node_modules/@ionic/core/dist/esm/hardware-back-button-4a6b37fb.js"); + /* harmony import */ + + + var _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( + /*! ./overlays-12c20431.js */ + "./node_modules/@ionic/core/dist/esm/overlays-12c20431.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var watchForOptions = function watchForOptions(containerEl, tagName, onChange) { + /* tslint:disable-next-line */ + if (typeof MutationObserver === 'undefined') { + return; + } + + var mutation = new MutationObserver(function (mutationList) { + onChange(getSelectedOption(mutationList, tagName)); + }); + mutation.observe(containerEl, { + childList: true, + subtree: true + }); + return mutation; + }; + + var getSelectedOption = function getSelectedOption(mutationList, tagName) { + var newOption; + mutationList.forEach(function (mut) { + // tslint:disable-next-line: prefer-for-of + for (var i = 0; i < mut.addedNodes.length; i++) { + newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption; + } + }); + return newOption; + }; + + var findCheckedOption = function findCheckedOption(el, tagName) { + if (el.nodeType !== 1) { + return undefined; + } + + var options = el.tagName === tagName.toUpperCase() ? [el] : Array.from(el.querySelectorAll(tagName)); + return options.find(function (o) { + return o.value === el.value; + }); + }; + + var selectIosCss = ":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}.select-icon{width:12px;height:18px}"; + var selectMdCss = ":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:16px}.select-icon{width:19px;height:19px}:host-context(.item-label-floating) .select-icon{-webkit-transform:translate3d(0, -9px, 0);transform:translate3d(0, -9px, 0)}"; + + var Select = /*#__PURE__*/function () { + function Select(hostRef) { + var _this = this; + + _classCallCheck(this, Select); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionCancel = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionCancel", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.inputId = "ion-sel-".concat(selectIds++); + this.didInit = false; + this.isExpanded = false; + /** + * If `true`, the user cannot interact with the select. + */ + + this.disabled = false; + /** + * The text to display on the cancel button. + */ + + this.cancelText = 'Cancel'; + /** + * The text to display on the ok button. + */ + + this.okText = 'OK'; + /** + * The name of the control, which is submitted with the form data. + */ + + this.name = this.inputId; + /** + * If `true`, the select can accept multiple values. + */ + + this.multiple = false; + /** + * The interface the select should use: `action-sheet`, `popover` or `alert`. + */ + + this["interface"] = 'alert'; + /** + * Any additional options that the `alert`, `action-sheet` or `popover` interface + * can take. See the [ion-alert docs](../alert), the + * [ion-action-sheet docs](../action-sheet) and the + * [ion-popover docs](../popover) for the + * create options for each interface. + * + * Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface. + */ + + this.interfaceOptions = {}; + + this.onClick = function (ev) { + _this.setFocus(); + + _this.open(ev); + }; + + this.onFocus = function () { + _this.ionFocus.emit(); + }; + + this.onBlur = function () { + _this.ionBlur.emit(); + }; + } + + _createClass(Select, [{ + key: "disabledChanged", + value: function disabledChanged() { + this.emitStyle(); + } + }, { + key: "valueChanged", + value: function valueChanged() { + this.emitStyle(); + + if (this.didInit) { + this.ionChange.emit({ + value: this.value + }); + } + } + }, { + key: "connectedCallback", + value: function () { + var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var _this2 = this; + + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.updateOverlayOptions(); + this.emitStyle(); + this.mutationO = watchForOptions(this.el, 'ion-select-option', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this2.updateOverlayOptions(); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + }))); + + case 3: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function connectedCallback() { + return _connectedCallback.apply(this, arguments); + } + + return connectedCallback; + }() + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.mutationO) { + this.mutationO.disconnect(); + this.mutationO = undefined; + } + } + }, { + key: "componentDidLoad", + value: function componentDidLoad() { + this.didInit = true; + } + /** + * Open the select overlay. The overlay is either an alert, action sheet, or popover, + * depending on the `interface` property on the `ion-select`. + * + * @param event The user interface event that called the open. + */ + + }, { + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(event) { + var _this3 = this; + + var overlay; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!(this.disabled || this.isExpanded)) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return", undefined); + + case 2: + _context3.next = 4; + return this.createOverlay(event); + + case 4: + overlay = this.overlay = _context3.sent; + this.isExpanded = true; + overlay.onDidDismiss().then(function () { + _this3.overlay = undefined; + _this3.isExpanded = false; + + _this3.setFocus(); + }); + _context3.next = 9; + return overlay.present(); + + case 9: + return _context3.abrupt("return", overlay); + + case 10: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function open(_x) { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "createOverlay", + value: function createOverlay(ev) { + var selectInterface = this["interface"]; + + if ((selectInterface === 'action-sheet' || selectInterface === 'popover') && this.multiple) { + console.warn("Select interface cannot be \"".concat(selectInterface, "\" with a multi-value select. Using the \"alert\" interface instead.")); + selectInterface = 'alert'; + } + + if (selectInterface === 'popover' && !ev) { + console.warn('Select interface cannot be a "popover" without passing an event. Using the "alert" interface instead.'); + selectInterface = 'alert'; + } + + if (selectInterface === 'popover') { + return this.openPopover(ev); + } + + if (selectInterface === 'action-sheet') { + return this.openActionSheet(); + } + + return this.openAlert(); + } + }, { + key: "updateOverlayOptions", + value: function updateOverlayOptions() { + var overlay = this.overlay; + + if (!overlay) { + return; + } + + var childOpts = this.childOpts; + var value = this.value; + + switch (this["interface"]) { + case 'action-sheet': + overlay.buttons = this.createActionSheetButtons(childOpts, value); + break; + + case 'popover': + var popover = overlay.querySelector('ion-select-popover'); + + if (popover) { + popover.options = this.createPopoverOptions(childOpts, value); + } + + break; + + case 'alert': + var inputType = this.multiple ? 'checkbox' : 'radio'; + overlay.inputs = this.createAlertInputs(childOpts, inputType, value); + break; + } + } + }, { + key: "createActionSheetButtons", + value: function createActionSheetButtons(data, selectValue) { + var _this4 = this; + + var actionSheetButtons = data.map(function (option) { + var value = getOptionValue(option); // Remove hydrated before copying over classes + + var copyClasses = Array.from(option.classList).filter(function (cls) { + return cls !== 'hydrated'; + }).join(' '); + var optClass = "".concat(OPTION_CLASS, " ").concat(copyClasses); + return { + role: isOptionSelected(value, selectValue, _this4.compareWith) ? 'selected' : '', + text: option.textContent, + cssClass: optClass, + handler: function handler() { + _this4.value = value; + } + }; + }); // Add "cancel" button + + actionSheetButtons.push({ + text: this.cancelText, + role: 'cancel', + handler: function handler() { + _this4.ionCancel.emit(); + } + }); + return actionSheetButtons; + } + }, { + key: "createAlertInputs", + value: function createAlertInputs(data, inputType, selectValue) { + var _this5 = this; + + var alertInputs = data.map(function (option) { + var value = getOptionValue(option); // Remove hydrated before copying over classes + + var copyClasses = Array.from(option.classList).filter(function (cls) { + return cls !== 'hydrated'; + }).join(' '); + var optClass = "".concat(OPTION_CLASS, " ").concat(copyClasses); + return { + type: inputType, + cssClass: optClass, + label: option.textContent || '', + value: value, + checked: isOptionSelected(value, selectValue, _this5.compareWith), + disabled: option.disabled + }; + }); + return alertInputs; + } + }, { + key: "createPopoverOptions", + value: function createPopoverOptions(data, selectValue) { + var _this6 = this; + + var popoverOptions = data.map(function (option) { + var value = getOptionValue(option); // Remove hydrated before copying over classes + + var copyClasses = Array.from(option.classList).filter(function (cls) { + return cls !== 'hydrated'; + }).join(' '); + var optClass = "".concat(OPTION_CLASS, " ").concat(copyClasses); + return { + text: option.textContent || '', + cssClass: optClass, + value: value, + checked: isOptionSelected(value, selectValue, _this6.compareWith), + disabled: option.disabled, + handler: function handler() { + _this6.value = value; + + _this6.close(); + } + }; + }); + return popoverOptions; + } + }, { + key: "openPopover", + value: function () { + var _openPopover = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(ev) { + var interfaceOptions, mode, value, popoverOpts; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + interfaceOptions = this.interfaceOptions; + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + value = this.value; + popoverOpts = Object.assign(Object.assign({ + mode: mode + }, interfaceOptions), { + component: 'ion-select-popover', + cssClass: ['select-popover', interfaceOptions.cssClass], + event: ev, + componentProps: { + header: interfaceOptions.header, + subHeader: interfaceOptions.subHeader, + message: interfaceOptions.message, + value: value, + options: this.createPopoverOptions(this.childOpts, value) + } + }); + return _context4.abrupt("return", _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["c"].create(popoverOpts)); + + case 5: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function openPopover(_x2) { + return _openPopover.apply(this, arguments); + } + + return openPopover; + }() + }, { + key: "openActionSheet", + value: function () { + var _openActionSheet = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { + var mode, interfaceOptions, actionSheetOpts; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + interfaceOptions = this.interfaceOptions; + actionSheetOpts = Object.assign(Object.assign({ + mode: mode + }, interfaceOptions), { + buttons: this.createActionSheetButtons(this.childOpts, this.value), + cssClass: ['select-action-sheet', interfaceOptions.cssClass] + }); + return _context5.abrupt("return", _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["b"].create(actionSheetOpts)); + + case 4: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function openActionSheet() { + return _openActionSheet.apply(this, arguments); + } + + return openActionSheet; + }() + }, { + key: "openAlert", + value: function () { + var _openAlert = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() { + var _this7 = this; + + var label, labelText, interfaceOptions, inputType, mode, alertOpts; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + label = this.getLabel(); + labelText = label ? label.textContent : null; + interfaceOptions = this.interfaceOptions; + inputType = this.multiple ? 'checkbox' : 'radio'; + mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + alertOpts = Object.assign(Object.assign({ + mode: mode + }, interfaceOptions), { + header: interfaceOptions.header ? interfaceOptions.header : labelText, + inputs: this.createAlertInputs(this.childOpts, inputType, this.value), + buttons: [{ + text: this.cancelText, + role: 'cancel', + handler: function handler() { + _this7.ionCancel.emit(); + } + }, { + text: this.okText, + handler: function handler(selectedValues) { + _this7.value = selectedValues; + } + }], + cssClass: ['select-alert', interfaceOptions.cssClass, this.multiple ? 'multiple-select-alert' : 'single-select-alert'] + }); + return _context6.abrupt("return", _overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["a"].create(alertOpts)); + + case 7: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function openAlert() { + return _openAlert.apply(this, arguments); + } + + return openAlert; + }() + /** + * Close the select interface. + */ + + }, { + key: "close", + value: function close() { + // TODO check !this.overlay || !this.isFocus() + if (!this.overlay) { + return Promise.resolve(false); + } + + return this.overlay.dismiss(); + } + }, { + key: "getLabel", + value: function getLabel() { + return Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["f"])(this.el); + } + }, { + key: "hasValue", + value: function hasValue() { + return this.getText() !== ''; + } + }, { + key: "childOpts", + get: function get() { + return Array.from(this.el.querySelectorAll('ion-select-option')); + } + }, { + key: "getText", + value: function getText() { + var selectedText = this.selectedText; + + if (selectedText != null && selectedText !== '') { + return selectedText; + } + + return generateText(this.childOpts, this.value, this.compareWith); + } + }, { + key: "setFocus", + value: function setFocus() { + if (this.focusEl) { + this.focusEl.focus(); + } + } + }, { + key: "emitStyle", + value: function emitStyle() { + this.ionStyle.emit({ + 'interactive': true, + 'select': true, + 'has-placeholder': this.placeholder != null, + 'has-value': this.hasValue(), + 'interactive-disabled': this.disabled, + 'select-disabled': this.disabled + }); + } + }, { + key: "render", + value: function render() { + var _class, + _this8 = this; + + var disabled = this.disabled, + el = this.el, + inputId = this.inputId, + isExpanded = this.isExpanded, + name = this.name, + placeholder = this.placeholder, + value = this.value; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + var _Object = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["c"])(el, inputId), + labelText = _Object.labelText, + labelId = _Object.labelId; + + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["d"])(true, el, name, parseValue(value), disabled); + var displayValue = this.getText(); + var addPlaceholderClass = false; + var selectText = displayValue; + + if (selectText === '' && placeholder != null) { + selectText = placeholder; + addPlaceholderClass = true; + } + + var selectTextClasses = { + 'select-text': true, + 'select-placeholder': addPlaceholderClass + }; + var textPart = addPlaceholderClass ? 'placeholder' : 'text'; // If there is a label then we need to concatenate it with the + // current value (or placeholder) and a comma so it separates + // nicely when the screen reader announces it, otherwise just + // announce the value / placeholder + + var displayLabel = labelText !== undefined ? selectText !== '' ? "".concat(selectText, ", ").concat(labelText) : labelText : selectText; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + role: "button", + "aria-haspopup": "listbox", + "aria-disabled": disabled ? 'true' : null, + "aria-label": displayLabel, + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'in-item', Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["h"])('ion-item', el)), _defineProperty(_class, 'select-disabled', disabled), _defineProperty(_class, 'select-expanded', isExpanded), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "aria-hidden": "true", + "class": selectTextClasses, + part: textPart + }, selectText), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "select-icon", + role: "presentation", + part: "icon" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "select-icon-inner" + })), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("label", { + id: labelId + }, displayLabel), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("button", { + type: "button", + disabled: disabled, + id: inputId, + "aria-labelledby": labelId, + "aria-haspopup": "listbox", + "aria-expanded": "".concat(isExpanded), + onFocus: this.onFocus, + onBlur: this.onBlur, + ref: function ref(focusEl) { + return _this8.focusEl = focusEl; + } + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "disabled": ["disabledChanged"], + "placeholder": ["disabledChanged"], + "value": ["valueChanged"] + }; + } + }]); + + return Select; + }(); + + var isOptionSelected = function isOptionSelected(currentValue, compareValue, compareWith) { + if (currentValue === undefined) { + return false; + } + + if (Array.isArray(currentValue)) { + return currentValue.some(function (val) { + return compareOptions(val, compareValue, compareWith); + }); + } else { + return compareOptions(currentValue, compareValue, compareWith); + } + }; + + var getOptionValue = function getOptionValue(el) { + var value = el.value; + return value === undefined ? el.textContent || '' : value; + }; + + var parseValue = function parseValue(value) { + if (value == null) { + return undefined; + } + + if (Array.isArray(value)) { + return value.join(','); + } + + return value.toString(); + }; + + var compareOptions = function compareOptions(currentValue, compareValue, compareWith) { + if (typeof compareWith === 'function') { + return compareWith(currentValue, compareValue); + } else if (typeof compareWith === 'string') { + return currentValue[compareWith] === compareValue[compareWith]; + } else { + return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue; + } + }; + + var generateText = function generateText(opts, value, compareWith) { + if (value === undefined) { + return ''; + } + + if (Array.isArray(value)) { + return value.map(function (v) { + return textForValue(opts, v, compareWith); + }).filter(function (opt) { + return opt !== null; + }).join(', '); + } else { + return textForValue(opts, value, compareWith) || ''; + } + }; + + var textForValue = function textForValue(opts, value, compareWith) { + var selectOpt = opts.find(function (opt) { + return compareOptions(getOptionValue(opt), value, compareWith); + }); + return selectOpt ? selectOpt.textContent : null; + }; + + var selectIds = 0; + var OPTION_CLASS = 'select-interface-option'; + Select.style = { + ios: selectIosCss, + md: selectMdCss + }; + var selectOptionCss = ":host{display:none}"; + + var SelectOption = /*#__PURE__*/function () { + function SelectOption(hostRef) { + _classCallCheck(this, SelectOption); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.inputId = "ion-selopt-".concat(selectOptionIds++); + /** + * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons. + */ + + this.disabled = false; + } + + _createClass(SelectOption, [{ + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "option", + id: this.inputId, + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return SelectOption; + }(); + + var selectOptionIds = 0; + SelectOption.style = selectOptionCss; + var selectPopoverCss = ".sc-ion-select-popover-h ion-list.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:-1px;margin-bottom:-1px}.sc-ion-select-popover-h ion-list-header.sc-ion-select-popover,.sc-ion-select-popover-h ion-label.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + + var SelectPopover = /*#__PURE__*/function () { + function SelectPopover(hostRef) { + _classCallCheck(this, SelectPopover); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** Array of options for the popover */ + + this.options = []; + } + + _createClass(SelectPopover, [{ + key: "onSelect", + value: function onSelect(ev) { + var option = this.options.find(function (o) { + return o.value === ev.target.value; + }); + + if (option) { + Object(_overlays_12c20431_js__WEBPACK_IMPORTED_MODULE_4__["s"])(option.handler); + } + } + }, { + key: "render", + value: function render() { + var checkedOption = this.options.find(function (o) { + return o.checked; + }); + var checkedValue = checkedOption ? checkedOption.value : undefined; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-list", null, this.header !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-list-header", null, this.header), (this.subHeader !== undefined || this.message !== undefined) && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-item", null, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-label", { + "class": "ion-text-wrap" + }, this.subHeader !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("h3", null, this.subHeader), this.message !== undefined && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("p", null, this.message))), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-radio-group", { + value: checkedValue + }, this.options.map(function (option) { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-item", { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_5__["g"])(option.cssClass) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-label", null, option.text), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-radio", { + value: option.value, + disabled: option.disabled + })); + })))); + } + }]); + + return SelectPopover; + }(); + + SelectPopover.style = selectPopoverCss; + /***/ + } +}]); +//# sourceMappingURL=32-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/32-es5.js.map b/android/app/src/main/assets/public/32-es5.js.map new file mode 100644 index 000000000..4cce46b1a --- /dev/null +++ b/android/app/src/main/assets/public/32-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-select_3.entry.js"],"names":["watchForOptions","containerEl","tagName","onChange","MutationObserver","mutation","mutationList","getSelectedOption","observe","childList","subtree","newOption","forEach","mut","i","addedNodes","length","findCheckedOption","el","nodeType","undefined","options","toUpperCase","Array","from","querySelectorAll","find","o","value","selectIosCss","selectMdCss","Select","hostRef","ionChange","ionCancel","ionFocus","ionBlur","ionStyle","inputId","selectIds","didInit","isExpanded","disabled","cancelText","okText","name","multiple","interfaceOptions","onClick","ev","setFocus","open","onFocus","emit","onBlur","emitStyle","updateOverlayOptions","mutationO","disconnect","event","createOverlay","overlay","onDidDismiss","then","present","selectInterface","console","warn","openPopover","openActionSheet","openAlert","childOpts","buttons","createActionSheetButtons","popover","querySelector","createPopoverOptions","inputType","inputs","createAlertInputs","data","selectValue","actionSheetButtons","map","option","getOptionValue","copyClasses","classList","filter","cls","join","optClass","OPTION_CLASS","role","isOptionSelected","compareWith","text","textContent","cssClass","handler","push","alertInputs","type","label","checked","popoverOptions","close","mode","popoverOpts","Object","assign","component","componentProps","header","subHeader","message","create","actionSheetOpts","getLabel","labelText","alertOpts","selectedValues","Promise","resolve","dismiss","getText","selectedText","generateText","focusEl","focus","placeholder","hasValue","labelId","parseValue","displayValue","addPlaceholderClass","selectText","selectTextClasses","textPart","displayLabel","part","id","ref","currentValue","compareValue","isArray","some","val","compareOptions","toString","includes","opts","v","textForValue","opt","selectOpt","style","ios","md","selectOptionCss","SelectOption","selectOptionIds","selectPopoverCss","SelectPopover","target","checkedOption","checkedValue"],"mappings":"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","file":"32-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { f as findItemLabel, c as getAriaLabel, d as renderHiddenInput } from './helpers-90f46169.js';\nimport './hardware-back-button-4a6b37fb.js';\nimport { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-12c20431.js';\nimport { h as hostContext, g as getClassMap } from './theme-ff3fc52f.js';\n\nconst watchForOptions = (containerEl, tagName, onChange) => {\n /* tslint:disable-next-line */\n if (typeof MutationObserver === 'undefined') {\n return;\n }\n const mutation = new MutationObserver(mutationList => {\n onChange(getSelectedOption(mutationList, tagName));\n });\n mutation.observe(containerEl, {\n childList: true,\n subtree: true\n });\n return mutation;\n};\nconst getSelectedOption = (mutationList, tagName) => {\n let newOption;\n mutationList.forEach(mut => {\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < mut.addedNodes.length; i++) {\n newOption = findCheckedOption(mut.addedNodes[i], tagName) || newOption;\n }\n });\n return newOption;\n};\nconst findCheckedOption = (el, tagName) => {\n if (el.nodeType !== 1) {\n return undefined;\n }\n const options = (el.tagName === tagName.toUpperCase())\n ? [el]\n : Array.from(el.querySelectorAll(tagName));\n return options.find((o) => o.value === el.value);\n};\n\nconst selectIosCss = \":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}.select-icon{width:12px;height:18px}\";\n\nconst selectMdCss = \":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@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(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{position:relative;opacity:0.33}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:16px}.select-icon{width:19px;height:19px}:host-context(.item-label-floating) .select-icon{-webkit-transform:translate3d(0, -9px, 0);transform:translate3d(0, -9px, 0)}\";\n\nconst Select = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-sel-${selectIds++}`;\n this.didInit = false;\n this.isExpanded = false;\n /**\n * If `true`, the user cannot interact with the select.\n */\n this.disabled = false;\n /**\n * The text to display on the cancel button.\n */\n this.cancelText = 'Cancel';\n /**\n * The text to display on the ok button.\n */\n this.okText = 'OK';\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the select can accept multiple values.\n */\n this.multiple = false;\n /**\n * The interface the select should use: `action-sheet`, `popover` or `alert`.\n */\n this.interface = 'alert';\n /**\n * Any additional options that the `alert`, `action-sheet` or `popover` interface\n * can take. See the [ion-alert docs](../alert), the\n * [ion-action-sheet docs](../action-sheet) and the\n * [ion-popover docs](../popover) for the\n * create options for each interface.\n *\n * Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.\n */\n this.interfaceOptions = {};\n this.onClick = (ev) => {\n this.setFocus();\n this.open(ev);\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n disabledChanged() {\n this.emitStyle();\n }\n valueChanged() {\n this.emitStyle();\n if (this.didInit) {\n this.ionChange.emit({\n value: this.value,\n });\n }\n }\n async connectedCallback() {\n this.updateOverlayOptions();\n this.emitStyle();\n this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => {\n this.updateOverlayOptions();\n });\n }\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n }\n componentDidLoad() {\n this.didInit = true;\n }\n /**\n * Open the select overlay. The overlay is either an alert, action sheet, or popover,\n * depending on the `interface` property on the `ion-select`.\n *\n * @param event The user interface event that called the open.\n */\n async open(event) {\n if (this.disabled || this.isExpanded) {\n return undefined;\n }\n const overlay = this.overlay = await this.createOverlay(event);\n this.isExpanded = true;\n overlay.onDidDismiss().then(() => {\n this.overlay = undefined;\n this.isExpanded = false;\n this.setFocus();\n });\n await overlay.present();\n return overlay;\n }\n createOverlay(ev) {\n let selectInterface = this.interface;\n if ((selectInterface === 'action-sheet' || selectInterface === 'popover') && this.multiple) {\n console.warn(`Select interface cannot be \"${selectInterface}\" with a multi-value select. Using the \"alert\" interface instead.`);\n selectInterface = 'alert';\n }\n if (selectInterface === 'popover' && !ev) {\n console.warn('Select interface cannot be a \"popover\" without passing an event. Using the \"alert\" interface instead.');\n selectInterface = 'alert';\n }\n if (selectInterface === 'popover') {\n return this.openPopover(ev);\n }\n if (selectInterface === 'action-sheet') {\n return this.openActionSheet();\n }\n return this.openAlert();\n }\n updateOverlayOptions() {\n const overlay = this.overlay;\n if (!overlay) {\n return;\n }\n const childOpts = this.childOpts;\n const value = this.value;\n switch (this.interface) {\n case 'action-sheet':\n overlay.buttons = this.createActionSheetButtons(childOpts, value);\n break;\n case 'popover':\n const popover = overlay.querySelector('ion-select-popover');\n if (popover) {\n popover.options = this.createPopoverOptions(childOpts, value);\n }\n break;\n case 'alert':\n const inputType = (this.multiple ? 'checkbox' : 'radio');\n overlay.inputs = this.createAlertInputs(childOpts, inputType, value);\n break;\n }\n }\n createActionSheetButtons(data, selectValue) {\n const actionSheetButtons = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n role: (isOptionSelected(value, selectValue, this.compareWith) ? 'selected' : ''),\n text: option.textContent,\n cssClass: optClass,\n handler: () => {\n this.value = value;\n }\n };\n });\n // Add \"cancel\" button\n actionSheetButtons.push({\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n }\n });\n return actionSheetButtons;\n }\n createAlertInputs(data, inputType, selectValue) {\n const alertInputs = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n type: inputType,\n cssClass: optClass,\n label: option.textContent || '',\n value,\n checked: isOptionSelected(value, selectValue, this.compareWith),\n disabled: option.disabled\n };\n });\n return alertInputs;\n }\n createPopoverOptions(data, selectValue) {\n const popoverOptions = data.map(option => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList).filter(cls => cls !== 'hydrated').join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n text: option.textContent || '',\n cssClass: optClass,\n value,\n checked: isOptionSelected(value, selectValue, this.compareWith),\n disabled: option.disabled,\n handler: () => {\n this.value = value;\n this.close();\n }\n };\n });\n return popoverOptions;\n }\n async openPopover(ev) {\n const interfaceOptions = this.interfaceOptions;\n const mode = getIonMode(this);\n const value = this.value;\n const popoverOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], event: ev, componentProps: {\n header: interfaceOptions.header,\n subHeader: interfaceOptions.subHeader,\n message: interfaceOptions.message,\n value,\n options: this.createPopoverOptions(this.childOpts, value)\n } });\n return popoverController.create(popoverOpts);\n }\n async openActionSheet() {\n const mode = getIonMode(this);\n const interfaceOptions = this.interfaceOptions;\n const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });\n return actionSheetController.create(actionSheetOpts);\n }\n async openAlert() {\n const label = this.getLabel();\n const labelText = (label) ? label.textContent : null;\n const interfaceOptions = this.interfaceOptions;\n const inputType = (this.multiple ? 'checkbox' : 'radio');\n const mode = getIonMode(this);\n const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [\n {\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n }\n },\n {\n text: this.okText,\n handler: (selectedValues) => {\n this.value = selectedValues;\n }\n }\n ], cssClass: ['select-alert', interfaceOptions.cssClass,\n (this.multiple ? 'multiple-select-alert' : 'single-select-alert')] });\n return alertController.create(alertOpts);\n }\n /**\n * Close the select interface.\n */\n close() {\n // TODO check !this.overlay || !this.isFocus()\n if (!this.overlay) {\n return Promise.resolve(false);\n }\n return this.overlay.dismiss();\n }\n getLabel() {\n return findItemLabel(this.el);\n }\n hasValue() {\n return this.getText() !== '';\n }\n get childOpts() {\n return Array.from(this.el.querySelectorAll('ion-select-option'));\n }\n getText() {\n const selectedText = this.selectedText;\n if (selectedText != null && selectedText !== '') {\n return selectedText;\n }\n return generateText(this.childOpts, this.value, this.compareWith);\n }\n setFocus() {\n if (this.focusEl) {\n this.focusEl.focus();\n }\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'select': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'interactive-disabled': this.disabled,\n 'select-disabled': this.disabled\n });\n }\n render() {\n const { disabled, el, inputId, isExpanded, name, placeholder, value } = this;\n const mode = getIonMode(this);\n const { labelText, labelId } = getAriaLabel(el, inputId);\n renderHiddenInput(true, el, name, parseValue(value), disabled);\n const displayValue = this.getText();\n let addPlaceholderClass = false;\n let selectText = displayValue;\n if (selectText === '' && placeholder != null) {\n selectText = placeholder;\n addPlaceholderClass = true;\n }\n const selectTextClasses = {\n 'select-text': true,\n 'select-placeholder': addPlaceholderClass\n };\n const textPart = addPlaceholderClass ? 'placeholder' : 'text';\n // If there is a label then we need to concatenate it with the\n // current value (or placeholder) and a comma so it separates\n // nicely when the screen reader announces it, otherwise just\n // announce the value / placeholder\n const displayLabel = labelText !== undefined\n ? (selectText !== '' ? `${selectText}, ${labelText}` : labelText)\n : selectText;\n return (h(Host, { onClick: this.onClick, role: \"button\", \"aria-haspopup\": \"listbox\", \"aria-disabled\": disabled ? 'true' : null, \"aria-label\": displayLabel, class: {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'select-disabled': disabled,\n 'select-expanded': isExpanded\n } }, h(\"div\", { \"aria-hidden\": \"true\", class: selectTextClasses, part: textPart }, selectText), h(\"div\", { class: \"select-icon\", role: \"presentation\", part: \"icon\" }, h(\"div\", { class: \"select-icon-inner\" })), h(\"label\", { id: labelId }, displayLabel), h(\"button\", { type: \"button\", disabled: disabled, id: inputId, \"aria-labelledby\": labelId, \"aria-haspopup\": \"listbox\", \"aria-expanded\": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl => this.focusEl = focusEl) })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"],\n \"placeholder\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst isOptionSelected = (currentValue, compareValue, compareWith) => {\n if (currentValue === undefined) {\n return false;\n }\n if (Array.isArray(currentValue)) {\n return currentValue.some(val => compareOptions(val, compareValue, compareWith));\n }\n else {\n return compareOptions(currentValue, compareValue, compareWith);\n }\n};\nconst getOptionValue = (el) => {\n const value = el.value;\n return (value === undefined)\n ? el.textContent || ''\n : value;\n};\nconst parseValue = (value) => {\n if (value == null) {\n return undefined;\n }\n if (Array.isArray(value)) {\n return value.join(',');\n }\n return value.toString();\n};\nconst compareOptions = (currentValue, compareValue, compareWith) => {\n if (typeof compareWith === 'function') {\n return compareWith(currentValue, compareValue);\n }\n else if (typeof compareWith === 'string') {\n return currentValue[compareWith] === compareValue[compareWith];\n }\n else {\n return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;\n }\n};\nconst generateText = (opts, value, compareWith) => {\n if (value === undefined) {\n return '';\n }\n if (Array.isArray(value)) {\n return value\n .map(v => textForValue(opts, v, compareWith))\n .filter(opt => opt !== null)\n .join(', ');\n }\n else {\n return textForValue(opts, value, compareWith) || '';\n }\n};\nconst textForValue = (opts, value, compareWith) => {\n const selectOpt = opts.find(opt => {\n return compareOptions(getOptionValue(opt), value, compareWith);\n });\n return selectOpt\n ? selectOpt.textContent\n : null;\n};\nlet selectIds = 0;\nconst OPTION_CLASS = 'select-interface-option';\nSelect.style = {\n ios: selectIosCss,\n md: selectMdCss\n};\n\nconst selectOptionCss = \":host{display:none}\";\n\nconst SelectOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.inputId = `ion-selopt-${selectOptionIds++}`;\n /**\n * If `true`, the user cannot interact with the select option. This property does not apply when `interface=\"action-sheet\"` as `ion-action-sheet` does not allow for disabled buttons.\n */\n this.disabled = false;\n }\n render() {\n return (h(Host, { role: \"option\", id: this.inputId, class: getIonMode(this) }));\n }\n get el() { return getElement(this); }\n};\nlet selectOptionIds = 0;\nSelectOption.style = selectOptionCss;\n\nconst selectPopoverCss = \".sc-ion-select-popover-h ion-list.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:-1px;margin-bottom:-1px}.sc-ion-select-popover-h ion-list-header.sc-ion-select-popover,.sc-ion-select-popover-h ion-label.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst SelectPopover = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /** Array of options for the popover */\n this.options = [];\n }\n onSelect(ev) {\n const option = this.options.find(o => o.value === ev.target.value);\n if (option) {\n safeCall(option.handler);\n }\n }\n render() {\n const checkedOption = this.options.find(o => o.checked);\n const checkedValue = checkedOption ? checkedOption.value : undefined;\n return (h(Host, { class: getIonMode(this) }, h(\"ion-list\", null, this.header !== undefined && h(\"ion-list-header\", null, this.header), (this.subHeader !== undefined || this.message !== undefined) &&\n h(\"ion-item\", null, h(\"ion-label\", { class: \"ion-text-wrap\" }, this.subHeader !== undefined && h(\"h3\", null, this.subHeader), this.message !== undefined && h(\"p\", null, this.message))), h(\"ion-radio-group\", { value: checkedValue }, this.options.map(option => h(\"ion-item\", { class: getClassMap(option.cssClass) }, h(\"ion-label\", null, option.text), h(\"ion-radio\", { value: option.value, disabled: option.disabled })))))));\n }\n};\nSelectPopover.style = selectPopoverCss;\n\nexport { Select as ion_select, SelectOption as ion_select_option, SelectPopover as ion_select_popover };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/33-es2015.js b/android/app/src/main/assets/public/33-es2015.js new file mode 100644 index 000000000..7fc68a8cf --- /dev/null +++ b/android/app/src/main/assets/public/33-es2015.js @@ -0,0 +1,438 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[33],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_slide, ion_slides */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_slide", function() { return Slide; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_slides", function() { return Slides; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + + +const slideCss = "ion-slide{display:block;width:100%;height:100%}.slide-zoom{display:block;width:100%;text-align:center}.swiper-slide{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}"; + +const Slide = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + 'swiper-slide': true, + 'swiper-zoom-container': true + } })); + } +}; +Slide.style = slideCss; + +const slidesIosCss = ".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\"\";width:100%;height:100%;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-ios{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}"; + +const slidesMdCss = ".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\"\";width:100%;height:100%;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-md{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}"; + +const Slides = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSlidesDidLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidesDidLoad", 7); + this.ionSlideTap = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTap", 7); + this.ionSlideDoubleTap = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDoubleTap", 7); + this.ionSlideWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideWillChange", 7); + this.ionSlideDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDidChange", 7); + this.ionSlideNextStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideNextStart", 7); + this.ionSlidePrevStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidePrevStart", 7); + this.ionSlideNextEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideNextEnd", 7); + this.ionSlidePrevEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidePrevEnd", 7); + this.ionSlideTransitionStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTransitionStart", 7); + this.ionSlideTransitionEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTransitionEnd", 7); + this.ionSlideDrag = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDrag", 7); + this.ionSlideReachStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideReachStart", 7); + this.ionSlideReachEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideReachEnd", 7); + this.ionSlideTouchStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTouchStart", 7); + this.ionSlideTouchEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTouchEnd", 7); + this.swiperReady = false; + this.swiper = new Promise(resolve => { this.readySwiper = resolve; }); + this.didInit = false; + /** + * Options to pass to the swiper instance. + * See http://idangero.us/swiper/api/ for valid options + */ + this.options = {}; // SwiperOptions; // TODO + /** + * If `true`, show the pagination. + */ + this.pager = false; + /** + * If `true`, show the scrollbar. + */ + this.scrollbar = false; + } + async optionsChanged() { + if (this.swiperReady) { + const swiper = await this.getSwiper(); + Object.assign(swiper.params, this.options); + await this.update(); + } + } + connectedCallback() { + // tslint:disable-next-line: strict-type-predicates + if (typeof MutationObserver !== 'undefined') { + const mut = this.mutationO = new MutationObserver(() => { + if (this.swiperReady) { + this.update(); + } + }); + mut.observe(this.el, { + childList: true, + subtree: true + }); + this.el.componentOnReady().then(() => { + if (!this.didInit) { + this.didInit = true; + this.initSwiper(); + } + }); + } + } + disconnectedCallback() { + if (this.mutationO) { + this.mutationO.disconnect(); + this.mutationO = undefined; + } + /** + * We need to synchronously destroy + * swiper otherwise it is possible + * that it will be left in a + * destroyed state if connectedCallback + * is called multiple times + */ + const swiper = this.syncSwiper; + if (swiper !== undefined) { + swiper.destroy(true, true); + this.swiper = new Promise(resolve => { this.readySwiper = resolve; }); + this.swiperReady = false; + this.syncSwiper = undefined; + } + this.didInit = false; + } + /** + * Update the underlying slider implementation. Call this if you've added or removed + * child slides. + */ + async update() { + const [swiper] = await Promise.all([ + this.getSwiper(), + waitForSlides(this.el) + ]); + swiper.update(); + } + /** + * Force swiper to update its height (when autoHeight is enabled) for the duration + * equal to 'speed' parameter. + * + * @param speed The transition duration (in ms). + */ + async updateAutoHeight(speed) { + const swiper = await this.getSwiper(); + swiper.updateAutoHeight(speed); + } + /** + * Transition to the specified slide. + * + * @param index The index of the slide to transition to. + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. + */ + async slideTo(index, speed, runCallbacks) { + const swiper = await this.getSwiper(); + swiper.slideTo(index, speed, runCallbacks); + } + /** + * Transition to the next slide. + * + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. + */ + async slideNext(speed, runCallbacks) { + const swiper = await this.getSwiper(); + swiper.slideNext(speed, runCallbacks); + } + /** + * Transition to the previous slide. + * + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events. + */ + async slidePrev(speed, runCallbacks) { + const swiper = await this.getSwiper(); + swiper.slidePrev(speed, runCallbacks); + } + /** + * Get the index of the active slide. + */ + async getActiveIndex() { + const swiper = await this.getSwiper(); + return swiper.activeIndex; + } + /** + * Get the index of the previous slide. + */ + async getPreviousIndex() { + const swiper = await this.getSwiper(); + return swiper.previousIndex; + } + /** + * Get the total number of slides. + */ + async length() { + const swiper = await this.getSwiper(); + return swiper.slides.length; + } + /** + * Get whether or not the current slide is the last slide. + */ + async isEnd() { + const swiper = await this.getSwiper(); + return swiper.isEnd; + } + /** + * Get whether or not the current slide is the first slide. + */ + async isBeginning() { + const swiper = await this.getSwiper(); + return swiper.isBeginning; + } + /** + * Start auto play. + */ + async startAutoplay() { + const swiper = await this.getSwiper(); + if (swiper.autoplay) { + swiper.autoplay.start(); + } + } + /** + * Stop auto play. + */ + async stopAutoplay() { + const swiper = await this.getSwiper(); + if (swiper.autoplay) { + swiper.autoplay.stop(); + } + } + /** + * Lock or unlock the ability to slide to the next slide. + * + * @param lock If `true`, disable swiping to the next slide. + */ + async lockSwipeToNext(lock) { + const swiper = await this.getSwiper(); + swiper.allowSlideNext = !lock; + } + /** + * Lock or unlock the ability to slide to the previous slide. + * + * @param lock If `true`, disable swiping to the previous slide. + */ + async lockSwipeToPrev(lock) { + const swiper = await this.getSwiper(); + swiper.allowSlidePrev = !lock; + } + /** + * Lock or unlock the ability to slide to the next or previous slide. + * + * @param lock If `true`, disable swiping to the next and previous slide. + */ + async lockSwipes(lock) { + const swiper = await this.getSwiper(); + swiper.allowSlideNext = !lock; + swiper.allowSlidePrev = !lock; + swiper.allowTouchMove = !lock; + } + /** + * Get the Swiper instance. + * Use this to access the full Swiper API. + * See https://idangero.us/swiper/api/ for all API options. + */ + async getSwiper() { + return this.swiper; + } + async initSwiper() { + const finalOptions = this.normalizeOptions(); + // init swiper core + // @ts-ignore + const { Swiper } = await __webpack_require__.e(/*! import() | swiper-bundle-95afeea2-js */ "swiper-bundle-95afeea2-js").then(__webpack_require__.bind(null, /*! ./swiper.bundle-95afeea2.js */ "./node_modules/@ionic/core/dist/esm/swiper.bundle-95afeea2.js")); + await waitForSlides(this.el); + const swiper = new Swiper(this.el, finalOptions); + this.swiperReady = true; + this.syncSwiper = swiper; + this.readySwiper(swiper); + } + normalizeOptions() { + // Base options, can be changed + // TODO Add interface SwiperOptions + const swiperOptions = { + effect: undefined, + direction: 'horizontal', + initialSlide: 0, + loop: false, + parallax: false, + slidesPerView: 1, + spaceBetween: 0, + speed: 300, + slidesPerColumn: 1, + slidesPerColumnFill: 'column', + slidesPerGroup: 1, + centeredSlides: false, + slidesOffsetBefore: 0, + slidesOffsetAfter: 0, + touchEventsTarget: 'container', + autoplay: false, + freeMode: false, + freeModeMomentum: true, + freeModeMomentumRatio: 1, + freeModeMomentumBounce: true, + freeModeMomentumBounceRatio: 1, + freeModeMomentumVelocityRatio: 1, + freeModeSticky: false, + freeModeMinimumVelocity: 0.02, + autoHeight: false, + setWrapperSize: false, + zoom: { + maxRatio: 3, + minRatio: 1, + toggle: false, + }, + touchRatio: 1, + touchAngle: 45, + simulateTouch: true, + touchStartPreventDefault: false, + shortSwipes: true, + longSwipes: true, + longSwipesRatio: 0.5, + longSwipesMs: 300, + followFinger: true, + threshold: 0, + touchMoveStopPropagation: true, + touchReleaseOnEdges: false, + iOSEdgeSwipeDetection: false, + iOSEdgeSwipeThreshold: 20, + resistance: true, + resistanceRatio: 0.85, + watchSlidesProgress: false, + watchSlidesVisibility: false, + preventClicks: true, + preventClicksPropagation: true, + slideToClickedSlide: false, + loopAdditionalSlides: 0, + noSwiping: true, + runCallbacksOnInit: true, + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + modifier: 1, + slideShadows: true + }, + flipEffect: { + slideShadows: true, + limitRotation: true + }, + cubeEffect: { + slideShadows: true, + shadow: true, + shadowOffset: 20, + shadowScale: 0.94 + }, + fadeEffect: { + crossFade: false + }, + a11y: { + prevSlideMessage: 'Previous slide', + nextSlideMessage: 'Next slide', + firstSlideMessage: 'This is the first slide', + lastSlideMessage: 'This is the last slide' + } + }; + if (this.pager) { + swiperOptions.pagination = { + el: this.paginationEl, + type: 'bullets', + clickable: false, + hideOnClick: false, + }; + } + if (this.scrollbar) { + swiperOptions.scrollbar = { + el: this.scrollbarEl, + hide: true, + }; + } + // Keep the event options separate, we dont want users + // overwriting these + const eventOptions = { + on: { + init: () => { + setTimeout(() => { + this.ionSlidesDidLoad.emit(); + }, 20); + }, + slideChangeTransitionStart: this.ionSlideWillChange.emit, + slideChangeTransitionEnd: this.ionSlideDidChange.emit, + slideNextTransitionStart: this.ionSlideNextStart.emit, + slidePrevTransitionStart: this.ionSlidePrevStart.emit, + slideNextTransitionEnd: this.ionSlideNextEnd.emit, + slidePrevTransitionEnd: this.ionSlidePrevEnd.emit, + transitionStart: this.ionSlideTransitionStart.emit, + transitionEnd: this.ionSlideTransitionEnd.emit, + sliderMove: this.ionSlideDrag.emit, + reachBeginning: this.ionSlideReachStart.emit, + reachEnd: this.ionSlideReachEnd.emit, + touchStart: this.ionSlideTouchStart.emit, + touchEnd: this.ionSlideTouchEnd.emit, + tap: this.ionSlideTap.emit, + doubleTap: this.ionSlideDoubleTap.emit + } + }; + const customEvents = (!!this.options && !!this.options.on) ? this.options.on : {}; + // merge "on" event listeners, while giving our event listeners priority + const mergedEventOptions = { on: Object.assign(Object.assign({}, customEvents), eventOptions.on) }; + // Merge the base, user options, and events together then pas to swiper + return Object.assign(Object.assign(Object.assign({}, swiperOptions), this.options), mergedEventOptions); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [`${mode}`]: true, + // Used internally for styling + [`slides-${mode}`]: true, + 'swiper-container': true + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "swiper-wrapper" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), this.pager && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "swiper-pagination", ref: el => this.paginationEl = el }), this.scrollbar && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "swiper-scrollbar", ref: el => this.scrollbarEl = el }))); + } + static get assetsDirs() { return ["swiper"]; } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "options": ["optionsChanged"] + }; } +}; +const waitForSlides = (el) => { + return Promise.all(Array.from(el.querySelectorAll('ion-slide')).map(s => s.componentOnReady())); +}; +Slides.style = { + ios: slidesIosCss, + md: slidesMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=33-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/33-es2015.js.map b/android/app/src/main/assets/public/33-es2015.js.map new file mode 100644 index 000000000..3ef89e0b6 --- /dev/null +++ b/android/app/src/main/assets/public/33-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js"],"names":[],"mappings":"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ACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,4BAA4B,EAAE;AAC1E;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;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;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,WAAW,SAAS,SAAS,uOAAqC;AAClE;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,OAAO;AACP;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,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;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,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAmC;AACnE;AACA,uDAAuD;AACvD;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB,YAAY,KAAK;AACjB;AACA,mBAAmB,KAAK;AACxB;AACA,OAAO,EAAE,EAAE,4DAAC,SAAS,0BAA0B,EAAE,4DAAC,+BAA+B,4DAAC,SAAS,gEAAgE,qBAAqB,4DAAC,SAAS,8DAA8D;AACxP;AACA,2BAA2B,mBAAmB;AAC9C,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEoD","file":"33-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, e as createEvent, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst slideCss = \"ion-slide{display:block;width:100%;height:100%}.slide-zoom{display:block;width:100%;text-align:center}.swiper-slide{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}\";\n\nconst Slide = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'swiper-slide': true,\n 'swiper-zoom-container': true\n } }));\n }\n};\nSlide.style = slideCss;\n\nconst slidesIosCss = \".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\\\"\\\";width:100%;height:100%;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-ios{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}\";\n\nconst slidesMdCss = \".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\\\"\\\";width:100%;height:100%;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-md{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}\";\n\nconst Slides = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSlidesDidLoad = createEvent(this, \"ionSlidesDidLoad\", 7);\n this.ionSlideTap = createEvent(this, \"ionSlideTap\", 7);\n this.ionSlideDoubleTap = createEvent(this, \"ionSlideDoubleTap\", 7);\n this.ionSlideWillChange = createEvent(this, \"ionSlideWillChange\", 7);\n this.ionSlideDidChange = createEvent(this, \"ionSlideDidChange\", 7);\n this.ionSlideNextStart = createEvent(this, \"ionSlideNextStart\", 7);\n this.ionSlidePrevStart = createEvent(this, \"ionSlidePrevStart\", 7);\n this.ionSlideNextEnd = createEvent(this, \"ionSlideNextEnd\", 7);\n this.ionSlidePrevEnd = createEvent(this, \"ionSlidePrevEnd\", 7);\n this.ionSlideTransitionStart = createEvent(this, \"ionSlideTransitionStart\", 7);\n this.ionSlideTransitionEnd = createEvent(this, \"ionSlideTransitionEnd\", 7);\n this.ionSlideDrag = createEvent(this, \"ionSlideDrag\", 7);\n this.ionSlideReachStart = createEvent(this, \"ionSlideReachStart\", 7);\n this.ionSlideReachEnd = createEvent(this, \"ionSlideReachEnd\", 7);\n this.ionSlideTouchStart = createEvent(this, \"ionSlideTouchStart\", 7);\n this.ionSlideTouchEnd = createEvent(this, \"ionSlideTouchEnd\", 7);\n this.swiperReady = false;\n this.swiper = new Promise(resolve => { this.readySwiper = resolve; });\n this.didInit = false;\n /**\n * Options to pass to the swiper instance.\n * See http://idangero.us/swiper/api/ for valid options\n */\n this.options = {}; // SwiperOptions; // TODO\n /**\n * If `true`, show the pagination.\n */\n this.pager = false;\n /**\n * If `true`, show the scrollbar.\n */\n this.scrollbar = false;\n }\n async optionsChanged() {\n if (this.swiperReady) {\n const swiper = await this.getSwiper();\n Object.assign(swiper.params, this.options);\n await this.update();\n }\n }\n connectedCallback() {\n // tslint:disable-next-line: strict-type-predicates\n if (typeof MutationObserver !== 'undefined') {\n const mut = this.mutationO = new MutationObserver(() => {\n if (this.swiperReady) {\n this.update();\n }\n });\n mut.observe(this.el, {\n childList: true,\n subtree: true\n });\n this.el.componentOnReady().then(() => {\n if (!this.didInit) {\n this.didInit = true;\n this.initSwiper();\n }\n });\n }\n }\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n /**\n * We need to synchronously destroy\n * swiper otherwise it is possible\n * that it will be left in a\n * destroyed state if connectedCallback\n * is called multiple times\n */\n const swiper = this.syncSwiper;\n if (swiper !== undefined) {\n swiper.destroy(true, true);\n this.swiper = new Promise(resolve => { this.readySwiper = resolve; });\n this.swiperReady = false;\n this.syncSwiper = undefined;\n }\n this.didInit = false;\n }\n /**\n * Update the underlying slider implementation. Call this if you've added or removed\n * child slides.\n */\n async update() {\n const [swiper] = await Promise.all([\n this.getSwiper(),\n waitForSlides(this.el)\n ]);\n swiper.update();\n }\n /**\n * Force swiper to update its height (when autoHeight is enabled) for the duration\n * equal to 'speed' parameter.\n *\n * @param speed The transition duration (in ms).\n */\n async updateAutoHeight(speed) {\n const swiper = await this.getSwiper();\n swiper.updateAutoHeight(speed);\n }\n /**\n * Transition to the specified slide.\n *\n * @param index The index of the slide to transition to.\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.\n */\n async slideTo(index, speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slideTo(index, speed, runCallbacks);\n }\n /**\n * Transition to the next slide.\n *\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.\n */\n async slideNext(speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slideNext(speed, runCallbacks);\n }\n /**\n * Transition to the previous slide.\n *\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events.\n */\n async slidePrev(speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slidePrev(speed, runCallbacks);\n }\n /**\n * Get the index of the active slide.\n */\n async getActiveIndex() {\n const swiper = await this.getSwiper();\n return swiper.activeIndex;\n }\n /**\n * Get the index of the previous slide.\n */\n async getPreviousIndex() {\n const swiper = await this.getSwiper();\n return swiper.previousIndex;\n }\n /**\n * Get the total number of slides.\n */\n async length() {\n const swiper = await this.getSwiper();\n return swiper.slides.length;\n }\n /**\n * Get whether or not the current slide is the last slide.\n */\n async isEnd() {\n const swiper = await this.getSwiper();\n return swiper.isEnd;\n }\n /**\n * Get whether or not the current slide is the first slide.\n */\n async isBeginning() {\n const swiper = await this.getSwiper();\n return swiper.isBeginning;\n }\n /**\n * Start auto play.\n */\n async startAutoplay() {\n const swiper = await this.getSwiper();\n if (swiper.autoplay) {\n swiper.autoplay.start();\n }\n }\n /**\n * Stop auto play.\n */\n async stopAutoplay() {\n const swiper = await this.getSwiper();\n if (swiper.autoplay) {\n swiper.autoplay.stop();\n }\n }\n /**\n * Lock or unlock the ability to slide to the next slide.\n *\n * @param lock If `true`, disable swiping to the next slide.\n */\n async lockSwipeToNext(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlideNext = !lock;\n }\n /**\n * Lock or unlock the ability to slide to the previous slide.\n *\n * @param lock If `true`, disable swiping to the previous slide.\n */\n async lockSwipeToPrev(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlidePrev = !lock;\n }\n /**\n * Lock or unlock the ability to slide to the next or previous slide.\n *\n * @param lock If `true`, disable swiping to the next and previous slide.\n */\n async lockSwipes(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlideNext = !lock;\n swiper.allowSlidePrev = !lock;\n swiper.allowTouchMove = !lock;\n }\n /**\n * Get the Swiper instance.\n * Use this to access the full Swiper API.\n * See https://idangero.us/swiper/api/ for all API options.\n */\n async getSwiper() {\n return this.swiper;\n }\n async initSwiper() {\n const finalOptions = this.normalizeOptions();\n // init swiper core\n // @ts-ignore\n const { Swiper } = await import('./swiper.bundle-95afeea2.js');\n await waitForSlides(this.el);\n const swiper = new Swiper(this.el, finalOptions);\n this.swiperReady = true;\n this.syncSwiper = swiper;\n this.readySwiper(swiper);\n }\n normalizeOptions() {\n // Base options, can be changed\n // TODO Add interface SwiperOptions\n const swiperOptions = {\n effect: undefined,\n direction: 'horizontal',\n initialSlide: 0,\n loop: false,\n parallax: false,\n slidesPerView: 1,\n spaceBetween: 0,\n speed: 300,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0,\n slidesOffsetAfter: 0,\n touchEventsTarget: 'container',\n autoplay: false,\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n autoHeight: false,\n setWrapperSize: false,\n zoom: {\n maxRatio: 3,\n minRatio: 1,\n toggle: false,\n },\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n touchStartPreventDefault: false,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchReleaseOnEdges: false,\n iOSEdgeSwipeDetection: false,\n iOSEdgeSwipeThreshold: 20,\n resistance: true,\n resistanceRatio: 0.85,\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n loopAdditionalSlides: 0,\n noSwiping: true,\n runCallbacksOnInit: true,\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows: true\n },\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n },\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n },\n fadeEffect: {\n crossFade: false\n },\n a11y: {\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide'\n }\n };\n if (this.pager) {\n swiperOptions.pagination = {\n el: this.paginationEl,\n type: 'bullets',\n clickable: false,\n hideOnClick: false,\n };\n }\n if (this.scrollbar) {\n swiperOptions.scrollbar = {\n el: this.scrollbarEl,\n hide: true,\n };\n }\n // Keep the event options separate, we dont want users\n // overwriting these\n const eventOptions = {\n on: {\n init: () => {\n setTimeout(() => {\n this.ionSlidesDidLoad.emit();\n }, 20);\n },\n slideChangeTransitionStart: this.ionSlideWillChange.emit,\n slideChangeTransitionEnd: this.ionSlideDidChange.emit,\n slideNextTransitionStart: this.ionSlideNextStart.emit,\n slidePrevTransitionStart: this.ionSlidePrevStart.emit,\n slideNextTransitionEnd: this.ionSlideNextEnd.emit,\n slidePrevTransitionEnd: this.ionSlidePrevEnd.emit,\n transitionStart: this.ionSlideTransitionStart.emit,\n transitionEnd: this.ionSlideTransitionEnd.emit,\n sliderMove: this.ionSlideDrag.emit,\n reachBeginning: this.ionSlideReachStart.emit,\n reachEnd: this.ionSlideReachEnd.emit,\n touchStart: this.ionSlideTouchStart.emit,\n touchEnd: this.ionSlideTouchEnd.emit,\n tap: this.ionSlideTap.emit,\n doubleTap: this.ionSlideDoubleTap.emit\n }\n };\n const customEvents = (!!this.options && !!this.options.on) ? this.options.on : {};\n // merge \"on\" event listeners, while giving our event listeners priority\n const mergedEventOptions = { on: Object.assign(Object.assign({}, customEvents), eventOptions.on) };\n // Merge the base, user options, and events together then pas to swiper\n return Object.assign(Object.assign(Object.assign({}, swiperOptions), this.options), mergedEventOptions);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [`${mode}`]: true,\n // Used internally for styling\n [`slides-${mode}`]: true,\n 'swiper-container': true\n } }, h(\"div\", { class: \"swiper-wrapper\" }, h(\"slot\", null)), this.pager && h(\"div\", { class: \"swiper-pagination\", ref: el => this.paginationEl = el }), this.scrollbar && h(\"div\", { class: \"swiper-scrollbar\", ref: el => this.scrollbarEl = el })));\n }\n static get assetsDirs() { return [\"swiper\"]; }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"options\": [\"optionsChanged\"]\n }; }\n};\nconst waitForSlides = (el) => {\n return Promise.all(Array.from(el.querySelectorAll('ion-slide')).map(s => s.componentOnReady()));\n};\nSlides.style = {\n ios: slidesIosCss,\n md: slidesMdCss\n};\n\nexport { Slide as ion_slide, Slides as ion_slides };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/33-es5.js b/android/app/src/main/assets/public/33-es5.js new file mode 100644 index 000000000..b1b4bf0a1 --- /dev/null +++ b/android/app/src/main/assets/public/33-es5.js @@ -0,0 +1,1048 @@ +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[33], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_slide, ion_slides */ + + /***/ + function node_modulesIonicCoreDistEsmIonSlide_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_slide", function () { + return Slide; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_slides", function () { + return Slides; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + var slideCss = "ion-slide{display:block;width:100%;height:100%}.slide-zoom{display:block;width:100%;text-align:center}.swiper-slide{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}"; + + var Slide = /*#__PURE__*/function () { + function Slide(hostRef) { + _classCallCheck(this, Slide); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Slide, [{ + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'swiper-slide', true), _defineProperty(_class, 'swiper-zoom-container', true), _class) + }); + } + }]); + + return Slide; + }(); + + Slide.style = slideCss; + var slidesIosCss = ".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\"\";width:100%;height:100%;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-ios{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}"; + var slidesMdCss = ".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\"\";width:100%;height:100%;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-md{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}"; + + var Slides = /*#__PURE__*/function () { + function Slides(hostRef) { + var _this = this; + + _classCallCheck(this, Slides); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSlidesDidLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidesDidLoad", 7); + this.ionSlideTap = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTap", 7); + this.ionSlideDoubleTap = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDoubleTap", 7); + this.ionSlideWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideWillChange", 7); + this.ionSlideDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDidChange", 7); + this.ionSlideNextStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideNextStart", 7); + this.ionSlidePrevStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidePrevStart", 7); + this.ionSlideNextEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideNextEnd", 7); + this.ionSlidePrevEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlidePrevEnd", 7); + this.ionSlideTransitionStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTransitionStart", 7); + this.ionSlideTransitionEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTransitionEnd", 7); + this.ionSlideDrag = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideDrag", 7); + this.ionSlideReachStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideReachStart", 7); + this.ionSlideReachEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideReachEnd", 7); + this.ionSlideTouchStart = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTouchStart", 7); + this.ionSlideTouchEnd = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSlideTouchEnd", 7); + this.swiperReady = false; + this.swiper = new Promise(function (resolve) { + _this.readySwiper = resolve; + }); + this.didInit = false; + /** + * Options to pass to the swiper instance. + * See http://idangero.us/swiper/api/ for valid options + */ + + this.options = {}; // SwiperOptions; // TODO + + /** + * If `true`, show the pagination. + */ + + this.pager = false; + /** + * If `true`, show the scrollbar. + */ + + this.scrollbar = false; + } + + _createClass(Slides, [{ + key: "optionsChanged", + value: function () { + var _optionsChanged = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + var swiper; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this.swiperReady) { + _context.next = 7; + break; + } + + _context.next = 3; + return this.getSwiper(); + + case 3: + swiper = _context.sent; + Object.assign(swiper.params, this.options); + _context.next = 7; + return this.update(); + + case 7: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function optionsChanged() { + return _optionsChanged.apply(this, arguments); + } + + return optionsChanged; + }() + }, { + key: "connectedCallback", + value: function connectedCallback() { + var _this2 = this; + + // tslint:disable-next-line: strict-type-predicates + if (typeof MutationObserver !== 'undefined') { + var mut = this.mutationO = new MutationObserver(function () { + if (_this2.swiperReady) { + _this2.update(); + } + }); + mut.observe(this.el, { + childList: true, + subtree: true + }); + this.el.componentOnReady().then(function () { + if (!_this2.didInit) { + _this2.didInit = true; + + _this2.initSwiper(); + } + }); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + var _this3 = this; + + if (this.mutationO) { + this.mutationO.disconnect(); + this.mutationO = undefined; + } + /** + * We need to synchronously destroy + * swiper otherwise it is possible + * that it will be left in a + * destroyed state if connectedCallback + * is called multiple times + */ + + + var swiper = this.syncSwiper; + + if (swiper !== undefined) { + swiper.destroy(true, true); + this.swiper = new Promise(function (resolve) { + _this3.readySwiper = resolve; + }); + this.swiperReady = false; + this.syncSwiper = undefined; + } + + this.didInit = false; + } + /** + * Update the underlying slider implementation. Call this if you've added or removed + * child slides. + */ + + }, { + key: "update", + value: function () { + var _update = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + var _yield$Promise$all, _yield$Promise$all2, swiper; + + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Promise.all([this.getSwiper(), waitForSlides(this.el)]); + + case 2: + _yield$Promise$all = _context2.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 1); + swiper = _yield$Promise$all2[0]; + swiper.update(); + + case 6: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function update() { + return _update.apply(this, arguments); + } + + return update; + }() + /** + * Force swiper to update its height (when autoHeight is enabled) for the duration + * equal to 'speed' parameter. + * + * @param speed The transition duration (in ms). + */ + + }, { + key: "updateAutoHeight", + value: function () { + var _updateAutoHeight = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(speed) { + var swiper; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context3.sent; + swiper.updateAutoHeight(speed); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function updateAutoHeight(_x) { + return _updateAutoHeight.apply(this, arguments); + } + + return updateAutoHeight; + }() + /** + * Transition to the specified slide. + * + * @param index The index of the slide to transition to. + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. + */ + + }, { + key: "slideTo", + value: function () { + var _slideTo = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(index, speed, runCallbacks) { + var swiper; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context4.sent; + swiper.slideTo(index, speed, runCallbacks); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function slideTo(_x2, _x3, _x4) { + return _slideTo.apply(this, arguments); + } + + return slideTo; + }() + /** + * Transition to the next slide. + * + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events. + */ + + }, { + key: "slideNext", + value: function () { + var _slideNext = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(speed, runCallbacks) { + var swiper; + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context5.sent; + swiper.slideNext(speed, runCallbacks); + + case 4: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function slideNext(_x5, _x6) { + return _slideNext.apply(this, arguments); + } + + return slideNext; + }() + /** + * Transition to the previous slide. + * + * @param speed The transition duration (in ms). + * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events. + */ + + }, { + key: "slidePrev", + value: function () { + var _slidePrev = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(speed, runCallbacks) { + var swiper; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context6.sent; + swiper.slidePrev(speed, runCallbacks); + + case 4: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function slidePrev(_x7, _x8) { + return _slidePrev.apply(this, arguments); + } + + return slidePrev; + }() + /** + * Get the index of the active slide. + */ + + }, { + key: "getActiveIndex", + value: function () { + var _getActiveIndex = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { + var swiper; + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + _context7.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context7.sent; + return _context7.abrupt("return", swiper.activeIndex); + + case 4: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function getActiveIndex() { + return _getActiveIndex.apply(this, arguments); + } + + return getActiveIndex; + }() + /** + * Get the index of the previous slide. + */ + + }, { + key: "getPreviousIndex", + value: function () { + var _getPreviousIndex = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() { + var swiper; + return regeneratorRuntime.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context8.sent; + return _context8.abrupt("return", swiper.previousIndex); + + case 4: + case "end": + return _context8.stop(); + } + } + }, _callee8, this); + })); + + function getPreviousIndex() { + return _getPreviousIndex.apply(this, arguments); + } + + return getPreviousIndex; + }() + /** + * Get the total number of slides. + */ + + }, { + key: "length", + value: function () { + var _length = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() { + var swiper; + return regeneratorRuntime.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _context9.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context9.sent; + return _context9.abrupt("return", swiper.slides.length); + + case 4: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function length() { + return _length.apply(this, arguments); + } + + return length; + }() + /** + * Get whether or not the current slide is the last slide. + */ + + }, { + key: "isEnd", + value: function () { + var _isEnd = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() { + var swiper; + return regeneratorRuntime.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + _context10.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context10.sent; + return _context10.abrupt("return", swiper.isEnd); + + case 4: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function isEnd() { + return _isEnd.apply(this, arguments); + } + + return isEnd; + }() + /** + * Get whether or not the current slide is the first slide. + */ + + }, { + key: "isBeginning", + value: function () { + var _isBeginning = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() { + var swiper; + return regeneratorRuntime.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + _context11.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context11.sent; + return _context11.abrupt("return", swiper.isBeginning); + + case 4: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function isBeginning() { + return _isBeginning.apply(this, arguments); + } + + return isBeginning; + }() + /** + * Start auto play. + */ + + }, { + key: "startAutoplay", + value: function () { + var _startAutoplay = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12() { + var swiper; + return regeneratorRuntime.wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + _context12.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context12.sent; + + if (swiper.autoplay) { + swiper.autoplay.start(); + } + + case 4: + case "end": + return _context12.stop(); + } + } + }, _callee12, this); + })); + + function startAutoplay() { + return _startAutoplay.apply(this, arguments); + } + + return startAutoplay; + }() + /** + * Stop auto play. + */ + + }, { + key: "stopAutoplay", + value: function () { + var _stopAutoplay = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() { + var swiper; + return regeneratorRuntime.wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + _context13.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context13.sent; + + if (swiper.autoplay) { + swiper.autoplay.stop(); + } + + case 4: + case "end": + return _context13.stop(); + } + } + }, _callee13, this); + })); + + function stopAutoplay() { + return _stopAutoplay.apply(this, arguments); + } + + return stopAutoplay; + }() + /** + * Lock or unlock the ability to slide to the next slide. + * + * @param lock If `true`, disable swiping to the next slide. + */ + + }, { + key: "lockSwipeToNext", + value: function () { + var _lockSwipeToNext = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14(lock) { + var swiper; + return regeneratorRuntime.wrap(function _callee14$(_context14) { + while (1) { + switch (_context14.prev = _context14.next) { + case 0: + _context14.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context14.sent; + swiper.allowSlideNext = !lock; + + case 4: + case "end": + return _context14.stop(); + } + } + }, _callee14, this); + })); + + function lockSwipeToNext(_x9) { + return _lockSwipeToNext.apply(this, arguments); + } + + return lockSwipeToNext; + }() + /** + * Lock or unlock the ability to slide to the previous slide. + * + * @param lock If `true`, disable swiping to the previous slide. + */ + + }, { + key: "lockSwipeToPrev", + value: function () { + var _lockSwipeToPrev = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15(lock) { + var swiper; + return regeneratorRuntime.wrap(function _callee15$(_context15) { + while (1) { + switch (_context15.prev = _context15.next) { + case 0: + _context15.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context15.sent; + swiper.allowSlidePrev = !lock; + + case 4: + case "end": + return _context15.stop(); + } + } + }, _callee15, this); + })); + + function lockSwipeToPrev(_x10) { + return _lockSwipeToPrev.apply(this, arguments); + } + + return lockSwipeToPrev; + }() + /** + * Lock or unlock the ability to slide to the next or previous slide. + * + * @param lock If `true`, disable swiping to the next and previous slide. + */ + + }, { + key: "lockSwipes", + value: function () { + var _lockSwipes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16(lock) { + var swiper; + return regeneratorRuntime.wrap(function _callee16$(_context16) { + while (1) { + switch (_context16.prev = _context16.next) { + case 0: + _context16.next = 2; + return this.getSwiper(); + + case 2: + swiper = _context16.sent; + swiper.allowSlideNext = !lock; + swiper.allowSlidePrev = !lock; + swiper.allowTouchMove = !lock; + + case 6: + case "end": + return _context16.stop(); + } + } + }, _callee16, this); + })); + + function lockSwipes(_x11) { + return _lockSwipes.apply(this, arguments); + } + + return lockSwipes; + }() + /** + * Get the Swiper instance. + * Use this to access the full Swiper API. + * See https://idangero.us/swiper/api/ for all API options. + */ + + }, { + key: "getSwiper", + value: function () { + var _getSwiper = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() { + return regeneratorRuntime.wrap(function _callee17$(_context17) { + while (1) { + switch (_context17.prev = _context17.next) { + case 0: + return _context17.abrupt("return", this.swiper); + + case 1: + case "end": + return _context17.stop(); + } + } + }, _callee17, this); + })); + + function getSwiper() { + return _getSwiper.apply(this, arguments); + } + + return getSwiper; + }() + }, { + key: "initSwiper", + value: function () { + var _initSwiper = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() { + var finalOptions, _yield$__webpack_requ, Swiper, swiper; + + return regeneratorRuntime.wrap(function _callee18$(_context18) { + while (1) { + switch (_context18.prev = _context18.next) { + case 0: + finalOptions = this.normalizeOptions(); // init swiper core + // @ts-ignore + + _context18.next = 3; + return __webpack_require__.e( + /*! import() | swiper-bundle-95afeea2-js */ + "swiper-bundle-95afeea2-js").then(__webpack_require__.bind(null, + /*! ./swiper.bundle-95afeea2.js */ + "./node_modules/@ionic/core/dist/esm/swiper.bundle-95afeea2.js")); + + case 3: + _yield$__webpack_requ = _context18.sent; + Swiper = _yield$__webpack_requ.Swiper; + _context18.next = 7; + return waitForSlides(this.el); + + case 7: + swiper = new Swiper(this.el, finalOptions); + this.swiperReady = true; + this.syncSwiper = swiper; + this.readySwiper(swiper); + + case 11: + case "end": + return _context18.stop(); + } + } + }, _callee18, this); + })); + + function initSwiper() { + return _initSwiper.apply(this, arguments); + } + + return initSwiper; + }() + }, { + key: "normalizeOptions", + value: function normalizeOptions() { + var _this4 = this; + + // Base options, can be changed + // TODO Add interface SwiperOptions + var swiperOptions = { + effect: undefined, + direction: 'horizontal', + initialSlide: 0, + loop: false, + parallax: false, + slidesPerView: 1, + spaceBetween: 0, + speed: 300, + slidesPerColumn: 1, + slidesPerColumnFill: 'column', + slidesPerGroup: 1, + centeredSlides: false, + slidesOffsetBefore: 0, + slidesOffsetAfter: 0, + touchEventsTarget: 'container', + autoplay: false, + freeMode: false, + freeModeMomentum: true, + freeModeMomentumRatio: 1, + freeModeMomentumBounce: true, + freeModeMomentumBounceRatio: 1, + freeModeMomentumVelocityRatio: 1, + freeModeSticky: false, + freeModeMinimumVelocity: 0.02, + autoHeight: false, + setWrapperSize: false, + zoom: { + maxRatio: 3, + minRatio: 1, + toggle: false + }, + touchRatio: 1, + touchAngle: 45, + simulateTouch: true, + touchStartPreventDefault: false, + shortSwipes: true, + longSwipes: true, + longSwipesRatio: 0.5, + longSwipesMs: 300, + followFinger: true, + threshold: 0, + touchMoveStopPropagation: true, + touchReleaseOnEdges: false, + iOSEdgeSwipeDetection: false, + iOSEdgeSwipeThreshold: 20, + resistance: true, + resistanceRatio: 0.85, + watchSlidesProgress: false, + watchSlidesVisibility: false, + preventClicks: true, + preventClicksPropagation: true, + slideToClickedSlide: false, + loopAdditionalSlides: 0, + noSwiping: true, + runCallbacksOnInit: true, + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + modifier: 1, + slideShadows: true + }, + flipEffect: { + slideShadows: true, + limitRotation: true + }, + cubeEffect: { + slideShadows: true, + shadow: true, + shadowOffset: 20, + shadowScale: 0.94 + }, + fadeEffect: { + crossFade: false + }, + a11y: { + prevSlideMessage: 'Previous slide', + nextSlideMessage: 'Next slide', + firstSlideMessage: 'This is the first slide', + lastSlideMessage: 'This is the last slide' + } + }; + + if (this.pager) { + swiperOptions.pagination = { + el: this.paginationEl, + type: 'bullets', + clickable: false, + hideOnClick: false + }; + } + + if (this.scrollbar) { + swiperOptions.scrollbar = { + el: this.scrollbarEl, + hide: true + }; + } // Keep the event options separate, we dont want users + // overwriting these + + + var eventOptions = { + on: { + init: function init() { + setTimeout(function () { + _this4.ionSlidesDidLoad.emit(); + }, 20); + }, + slideChangeTransitionStart: this.ionSlideWillChange.emit, + slideChangeTransitionEnd: this.ionSlideDidChange.emit, + slideNextTransitionStart: this.ionSlideNextStart.emit, + slidePrevTransitionStart: this.ionSlidePrevStart.emit, + slideNextTransitionEnd: this.ionSlideNextEnd.emit, + slidePrevTransitionEnd: this.ionSlidePrevEnd.emit, + transitionStart: this.ionSlideTransitionStart.emit, + transitionEnd: this.ionSlideTransitionEnd.emit, + sliderMove: this.ionSlideDrag.emit, + reachBeginning: this.ionSlideReachStart.emit, + reachEnd: this.ionSlideReachEnd.emit, + touchStart: this.ionSlideTouchStart.emit, + touchEnd: this.ionSlideTouchEnd.emit, + tap: this.ionSlideTap.emit, + doubleTap: this.ionSlideDoubleTap.emit + } + }; + var customEvents = !!this.options && !!this.options.on ? this.options.on : {}; // merge "on" event listeners, while giving our event listeners priority + + var mergedEventOptions = { + on: Object.assign(Object.assign({}, customEvents), eventOptions.on) + }; // Merge the base, user options, and events together then pas to swiper + + return Object.assign(Object.assign(Object.assign({}, swiperOptions), this.options), mergedEventOptions); + } + }, { + key: "render", + value: function render() { + var _class2, + _this5 = this; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class2 = {}, _defineProperty(_class2, "".concat(mode), true), _defineProperty(_class2, "slides-".concat(mode), true), _defineProperty(_class2, 'swiper-container', true), _class2) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "swiper-wrapper" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), this.pager && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "swiper-pagination", + ref: function ref(el) { + return _this5.paginationEl = el; + } + }), this.scrollbar && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "swiper-scrollbar", + ref: function ref(el) { + return _this5.scrollbarEl = el; + } + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "assetsDirs", + get: function get() { + return ["swiper"]; + } + }, { + key: "watchers", + get: function get() { + return { + "options": ["optionsChanged"] + }; + } + }]); + + return Slides; + }(); + + var waitForSlides = function waitForSlides(el) { + return Promise.all(Array.from(el.querySelectorAll('ion-slide')).map(function (s) { + return s.componentOnReady(); + })); + }; + + Slides.style = { + ios: slidesIosCss, + md: slidesMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=33-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/33-es5.js.map b/android/app/src/main/assets/public/33-es5.js.map new file mode 100644 index 000000000..688c69e88 --- /dev/null +++ b/android/app/src/main/assets/public/33-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js"],"names":["slideCss","Slide","hostRef","mode","style","slidesIosCss","slidesMdCss","Slides","ionSlidesDidLoad","ionSlideTap","ionSlideDoubleTap","ionSlideWillChange","ionSlideDidChange","ionSlideNextStart","ionSlidePrevStart","ionSlideNextEnd","ionSlidePrevEnd","ionSlideTransitionStart","ionSlideTransitionEnd","ionSlideDrag","ionSlideReachStart","ionSlideReachEnd","ionSlideTouchStart","ionSlideTouchEnd","swiperReady","swiper","Promise","resolve","readySwiper","didInit","options","pager","scrollbar","getSwiper","Object","assign","params","update","MutationObserver","mut","mutationO","observe","el","childList","subtree","componentOnReady","then","initSwiper","disconnect","undefined","syncSwiper","destroy","all","waitForSlides","speed","updateAutoHeight","index","runCallbacks","slideTo","slideNext","slidePrev","activeIndex","previousIndex","slides","length","isEnd","isBeginning","autoplay","start","stop","lock","allowSlideNext","allowSlidePrev","allowTouchMove","finalOptions","normalizeOptions","Swiper","swiperOptions","effect","direction","initialSlide","loop","parallax","slidesPerView","spaceBetween","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","touchEventsTarget","freeMode","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeMomentumVelocityRatio","freeModeSticky","freeModeMinimumVelocity","autoHeight","setWrapperSize","zoom","maxRatio","minRatio","toggle","touchRatio","touchAngle","simulateTouch","touchStartPreventDefault","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","threshold","touchMoveStopPropagation","touchReleaseOnEdges","iOSEdgeSwipeDetection","iOSEdgeSwipeThreshold","resistance","resistanceRatio","watchSlidesProgress","watchSlidesVisibility","preventClicks","preventClicksPropagation","slideToClickedSlide","loopAdditionalSlides","noSwiping","runCallbacksOnInit","coverflowEffect","rotate","stretch","depth","modifier","slideShadows","flipEffect","limitRotation","cubeEffect","shadow","shadowOffset","shadowScale","fadeEffect","crossFade","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","pagination","paginationEl","type","clickable","hideOnClick","scrollbarEl","hide","eventOptions","on","init","setTimeout","emit","slideChangeTransitionStart","slideChangeTransitionEnd","slideNextTransitionStart","slidePrevTransitionStart","slideNextTransitionEnd","slidePrevTransitionEnd","transitionStart","transitionEnd","sliderMove","reachBeginning","reachEnd","touchStart","touchEnd","tap","doubleTap","customEvents","mergedEventOptions","ref","Array","from","querySelectorAll","map","s","ios","md"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAGA,QAAMA,QAAQ,GAAG,odAAjB;;AAEA,QAAMC,KAAK;AACT,qBAAYC,OAAZ,EAAqB;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACD;;AAHQ;AAAA;AAAA,eAIT,kBAAS;AAAA;;AACP,cAAMC,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,2DACbA,IADa,EACN,IADM,2BAEd,cAFc,EAEE,IAFF,2BAGd,uBAHc,EAGW,IAHX;AAAF,WAAR,CAAR;AAKD;AAXQ;;AAAA;AAAA,OAAX;;AAaAF,SAAK,CAACG,KAAN,GAAcJ,QAAd;AAEA,QAAMK,YAAY,GAAG,i5oBAArB;AAEA,QAAMC,WAAW,GAAG,g5oBAApB;;AAEA,QAAMC,MAAM;AACV,sBAAYL,OAAZ,EAAqB;AAAA;;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACA,aAAKM,gBAAL,GAAwB,6DAAY,IAAZ,EAAkB,kBAAlB,EAAsC,CAAtC,CAAxB;AACA,aAAKC,WAAL,GAAmB,6DAAY,IAAZ,EAAkB,aAAlB,EAAiC,CAAjC,CAAnB;AACA,aAAKC,iBAAL,GAAyB,6DAAY,IAAZ,EAAkB,mBAAlB,EAAuC,CAAvC,CAAzB;AACA,aAAKC,kBAAL,GAA0B,6DAAY,IAAZ,EAAkB,oBAAlB,EAAwC,CAAxC,CAA1B;AACA,aAAKC,iBAAL,GAAyB,6DAAY,IAAZ,EAAkB,mBAAlB,EAAuC,CAAvC,CAAzB;AACA,aAAKC,iBAAL,GAAyB,6DAAY,IAAZ,EAAkB,mBAAlB,EAAuC,CAAvC,CAAzB;AACA,aAAKC,iBAAL,GAAyB,6DAAY,IAAZ,EAAkB,mBAAlB,EAAuC,CAAvC,CAAzB;AACA,aAAKC,eAAL,GAAuB,6DAAY,IAAZ,EAAkB,iBAAlB,EAAqC,CAArC,CAAvB;AACA,aAAKC,eAAL,GAAuB,6DAAY,IAAZ,EAAkB,iBAAlB,EAAqC,CAArC,CAAvB;AACA,aAAKC,uBAAL,GAA+B,6DAAY,IAAZ,EAAkB,yBAAlB,EAA6C,CAA7C,CAA/B;AACA,aAAKC,qBAAL,GAA6B,6DAAY,IAAZ,EAAkB,uBAAlB,EAA2C,CAA3C,CAA7B;AACA,aAAKC,YAAL,GAAoB,6DAAY,IAAZ,EAAkB,cAAlB,EAAkC,CAAlC,CAApB;AACA,aAAKC,kBAAL,GAA0B,6DAAY,IAAZ,EAAkB,oBAAlB,EAAwC,CAAxC,CAA1B;AACA,aAAKC,gBAAL,GAAwB,6DAAY,IAAZ,EAAkB,kBAAlB,EAAsC,CAAtC,CAAxB;AACA,aAAKC,kBAAL,GAA0B,6DAAY,IAAZ,EAAkB,oBAAlB,EAAwC,CAAxC,CAA1B;AACA,aAAKC,gBAAL,GAAwB,6DAAY,IAAZ,EAAkB,kBAAlB,EAAsC,CAAtC,CAAxB;AACA,aAAKC,WAAL,GAAmB,KAAnB;AACA,aAAKC,MAAL,GAAc,IAAIC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAAE,eAAI,CAACC,WAAL,GAAmBD,OAAnB;AAA6B,SAAtD,CAAd;AACA,aAAKE,OAAL,GAAe,KAAf;AACA;;;;;AAIA,aAAKC,OAAL,GAAe,EAAf,CAzBmB,CAyBA;;AACnB;;;;AAGA,aAAKC,KAAL,GAAa,KAAb;AACA;;;;AAGA,aAAKC,SAAL,GAAiB,KAAjB;AACD;;AAnCS;AAAA;AAAA;AAAA,wFAoCV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBACM,KAAKR,WADX;AAAA;AAAA;AAAA;;AAAA;AAAA,2BAEyB,KAAKS,SAAL,EAFzB;;AAAA;AAEUR,0BAFV;AAGIS,0BAAM,CAACC,MAAP,CAAcV,MAAM,CAACW,MAArB,EAA6B,KAAKN,OAAlC;AAHJ;AAAA,2BAIU,KAAKO,MAAL,EAJV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WApCU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,eA2CV,6BAAoB;AAAA;;AAClB;AACA,cAAI,OAAOC,gBAAP,KAA4B,WAAhC,EAA6C;AAC3C,gBAAMC,GAAG,GAAG,KAAKC,SAAL,GAAiB,IAAIF,gBAAJ,CAAqB,YAAM;AACtD,kBAAI,MAAI,CAACd,WAAT,EAAsB;AACpB,sBAAI,CAACa,MAAL;AACD;AACF,aAJ4B,CAA7B;AAKAE,eAAG,CAACE,OAAJ,CAAY,KAAKC,EAAjB,EAAqB;AACnBC,uBAAS,EAAE,IADQ;AAEnBC,qBAAO,EAAE;AAFU,aAArB;AAIA,iBAAKF,EAAL,CAAQG,gBAAR,GAA2BC,IAA3B,CAAgC,YAAM;AACpC,kBAAI,CAAC,MAAI,CAACjB,OAAV,EAAmB;AACjB,sBAAI,CAACA,OAAL,GAAe,IAAf;;AACA,sBAAI,CAACkB,UAAL;AACD;AACF,aALD;AAMD;AACF;AA9DS;AAAA;AAAA,eA+DV,gCAAuB;AAAA;;AACrB,cAAI,KAAKP,SAAT,EAAoB;AAClB,iBAAKA,SAAL,CAAeQ,UAAf;AACA,iBAAKR,SAAL,GAAiBS,SAAjB;AACD;AACD;;;;;;;;;AAOA,cAAMxB,MAAM,GAAG,KAAKyB,UAApB;;AACA,cAAIzB,MAAM,KAAKwB,SAAf,EAA0B;AACxBxB,kBAAM,CAAC0B,OAAP,CAAe,IAAf,EAAqB,IAArB;AACA,iBAAK1B,MAAL,GAAc,IAAIC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAAE,oBAAI,CAACC,WAAL,GAAmBD,OAAnB;AAA6B,aAAtD,CAAd;AACA,iBAAKH,WAAL,GAAmB,KAAnB;AACA,iBAAK0B,UAAL,GAAkBD,SAAlB;AACD;;AACD,eAAKpB,OAAL,GAAe,KAAf;AACD;AACD;;;;;AApFU;AAAA;AAAA;AAAA,gFAwFV;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACyBH,OAAO,CAAC0B,GAAR,CAAY,CACjC,KAAKnB,SAAL,EADiC,EAEjCoB,aAAa,CAAC,KAAKX,EAAN,CAFoB,CAAZ,CADzB;;AAAA;AAAA;AAAA;AACSjB,0BADT;AAKEA,0BAAM,CAACY,MAAP;;AALF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAxFU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA+FV;;;;;;;AA/FU;AAAA;AAAA;AAAA,0FAqGV,kBAAuBiB,KAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKrB,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAAC8B,gBAAP,CAAwBD,KAAxB;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WArGU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAyGV;;;;;;;;AAzGU;AAAA;AAAA;AAAA,iFAgHV,kBAAcE,KAAd,EAAqBF,KAArB,EAA4BG,YAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKxB,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAACiC,OAAP,CAAeF,KAAf,EAAsBF,KAAtB,EAA6BG,YAA7B;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAhHU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAoHV;;;;;;;AApHU;AAAA;AAAA;AAAA,mFA0HV,kBAAgBH,KAAhB,EAAuBG,YAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKxB,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAACkC,SAAP,CAAiBL,KAAjB,EAAwBG,YAAxB;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA1HU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA8HV;;;;;;;AA9HU;AAAA;AAAA;AAAA,mFAoIV,kBAAgBH,KAAhB,EAAuBG,YAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKxB,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAACmC,SAAP,CAAiBN,KAAjB,EAAwBG,YAAxB;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WApIU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAwIV;;;;AAxIU;AAAA;AAAA;AAAA,wFA2IV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKxB,SAAL,EADvB;;AAAA;AACQR,0BADR;AAAA,sDAESA,MAAM,CAACoC,WAFhB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA3IU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA+IV;;;;AA/IU;AAAA;AAAA;AAAA,0FAkJV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAK5B,SAAL,EADvB;;AAAA;AACQR,0BADR;AAAA,sDAESA,MAAM,CAACqC,aAFhB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAlJU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAsJV;;;;AAtJU;AAAA;AAAA;AAAA,gFAyJV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAK7B,SAAL,EADvB;;AAAA;AACQR,0BADR;AAAA,sDAESA,MAAM,CAACsC,MAAP,CAAcC,MAFvB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAzJU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA6JV;;;;AA7JU;AAAA;AAAA;AAAA,+EAgKV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAK/B,SAAL,EADvB;;AAAA;AACQR,0BADR;AAAA,uDAESA,MAAM,CAACwC,KAFhB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAhKU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAoKV;;;;AApKU;AAAA;AAAA;AAAA,qFAuKV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKhC,SAAL,EADvB;;AAAA;AACQR,0BADR;AAAA,uDAESA,MAAM,CAACyC,WAFhB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAvKU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA2KV;;;;AA3KU;AAAA;AAAA;AAAA,uFA8KV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKjC,SAAL,EADvB;;AAAA;AACQR,0BADR;;AAEE,wBAAIA,MAAM,CAAC0C,QAAX,EAAqB;AACnB1C,4BAAM,CAAC0C,QAAP,CAAgBC,KAAhB;AACD;;AAJH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA9KU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAoLV;;;;AApLU;AAAA;AAAA;AAAA,sFAuLV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKnC,SAAL,EADvB;;AAAA;AACQR,0BADR;;AAEE,wBAAIA,MAAM,CAAC0C,QAAX,EAAqB;AACnB1C,4BAAM,CAAC0C,QAAP,CAAgBE,IAAhB;AACD;;AAJH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAvLU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA6LV;;;;;;AA7LU;AAAA;AAAA;AAAA,yFAkMV,mBAAsBC,IAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKrC,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAAC8C,cAAP,GAAwB,CAACD,IAAzB;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAlMU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAsMV;;;;;;AAtMU;AAAA;AAAA;AAAA,yFA2MV,mBAAsBA,IAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKrC,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAAC+C,cAAP,GAAwB,CAACF,IAAzB;;AAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA3MU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA+MV;;;;;;AA/MU;AAAA;AAAA;AAAA,oFAoNV,mBAAiBA,IAAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BACuB,KAAKrC,SAAL,EADvB;;AAAA;AACQR,0BADR;AAEEA,0BAAM,CAAC8C,cAAP,GAAwB,CAACD,IAAzB;AACA7C,0BAAM,CAAC+C,cAAP,GAAwB,CAACF,IAAzB;AACA7C,0BAAM,CAACgD,cAAP,GAAwB,CAACH,IAAzB;;AAJF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WApNU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AA0NV;;;;;;AA1NU;AAAA;AAAA;AAAA,mFA+NV;AAAA;AAAA;AAAA;AAAA;AAAA,uDACS,KAAK7C,MADd;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WA/NU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oFAkOV;AAAA;;AAAA;AAAA;AAAA;AAAA;AACQiD,gCADR,GACuB,KAAKC,gBAAL,EADvB,EAEE;AACA;;AAHF;AAAA,2BAI2B;AAAA;AAAA;AAAA;AAAA,qFAJ3B;;AAAA;AAAA;AAIUC,0BAJV,yBAIUA,MAJV;AAAA;AAAA,2BAKQvB,aAAa,CAAC,KAAKX,EAAN,CALrB;;AAAA;AAMQjB,0BANR,GAMiB,IAAImD,MAAJ,CAAW,KAAKlC,EAAhB,EAAoBgC,YAApB,CANjB;AAOE,yBAAKlD,WAAL,GAAmB,IAAnB;AACA,yBAAK0B,UAAL,GAAkBzB,MAAlB;AACA,yBAAKG,WAAL,CAAiBH,MAAjB;;AATF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAlOU;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,eA6OV,4BAAmB;AAAA;;AACjB;AACA;AACA,cAAMoD,aAAa,GAAG;AACpBC,kBAAM,EAAE7B,SADY;AAEpB8B,qBAAS,EAAE,YAFS;AAGpBC,wBAAY,EAAE,CAHM;AAIpBC,gBAAI,EAAE,KAJc;AAKpBC,oBAAQ,EAAE,KALU;AAMpBC,yBAAa,EAAE,CANK;AAOpBC,wBAAY,EAAE,CAPM;AAQpB9B,iBAAK,EAAE,GARa;AASpB+B,2BAAe,EAAE,CATG;AAUpBC,+BAAmB,EAAE,QAVD;AAWpBC,0BAAc,EAAE,CAXI;AAYpBC,0BAAc,EAAE,KAZI;AAapBC,8BAAkB,EAAE,CAbA;AAcpBC,6BAAiB,EAAE,CAdC;AAepBC,6BAAiB,EAAE,WAfC;AAgBpBxB,oBAAQ,EAAE,KAhBU;AAiBpByB,oBAAQ,EAAE,KAjBU;AAkBpBC,4BAAgB,EAAE,IAlBE;AAmBpBC,iCAAqB,EAAE,CAnBH;AAoBpBC,kCAAsB,EAAE,IApBJ;AAqBpBC,uCAA2B,EAAE,CArBT;AAsBpBC,yCAA6B,EAAE,CAtBX;AAuBpBC,0BAAc,EAAE,KAvBI;AAwBpBC,mCAAuB,EAAE,IAxBL;AAyBpBC,sBAAU,EAAE,KAzBQ;AA0BpBC,0BAAc,EAAE,KA1BI;AA2BpBC,gBAAI,EAAE;AACJC,sBAAQ,EAAE,CADN;AAEJC,sBAAQ,EAAE,CAFN;AAGJC,oBAAM,EAAE;AAHJ,aA3Bc;AAgCpBC,sBAAU,EAAE,CAhCQ;AAiCpBC,sBAAU,EAAE,EAjCQ;AAkCpBC,yBAAa,EAAE,IAlCK;AAmCpBC,oCAAwB,EAAE,KAnCN;AAoCpBC,uBAAW,EAAE,IApCO;AAqCpBC,sBAAU,EAAE,IArCQ;AAsCpBC,2BAAe,EAAE,GAtCG;AAuCpBC,wBAAY,EAAE,GAvCM;AAwCpBC,wBAAY,EAAE,IAxCM;AAyCpBC,qBAAS,EAAE,CAzCS;AA0CpBC,oCAAwB,EAAE,IA1CN;AA2CpBC,+BAAmB,EAAE,KA3CD;AA4CpBC,iCAAqB,EAAE,KA5CH;AA6CpBC,iCAAqB,EAAE,EA7CH;AA8CpBC,sBAAU,EAAE,IA9CQ;AA+CpBC,2BAAe,EAAE,IA/CG;AAgDpBC,+BAAmB,EAAE,KAhDD;AAiDpBC,iCAAqB,EAAE,KAjDH;AAkDpBC,yBAAa,EAAE,IAlDK;AAmDpBC,oCAAwB,EAAE,IAnDN;AAoDpBC,+BAAmB,EAAE,KApDD;AAqDpBC,gCAAoB,EAAE,CArDF;AAsDpBC,qBAAS,EAAE,IAtDS;AAuDpBC,8BAAkB,EAAE,IAvDA;AAwDpBC,2BAAe,EAAE;AACfC,oBAAM,EAAE,EADO;AAEfC,qBAAO,EAAE,CAFM;AAGfC,mBAAK,EAAE,GAHQ;AAIfC,sBAAQ,EAAE,CAJK;AAKfC,0BAAY,EAAE;AALC,aAxDG;AA+DpBC,sBAAU,EAAE;AACVD,0BAAY,EAAE,IADJ;AAEVE,2BAAa,EAAE;AAFL,aA/DQ;AAmEpBC,sBAAU,EAAE;AACVH,0BAAY,EAAE,IADJ;AAEVI,oBAAM,EAAE,IAFE;AAGVC,0BAAY,EAAE,EAHJ;AAIVC,yBAAW,EAAE;AAJH,aAnEQ;AAyEpBC,sBAAU,EAAE;AACVC,uBAAS,EAAE;AADD,aAzEQ;AA4EpBC,gBAAI,EAAE;AACJC,8BAAgB,EAAE,gBADd;AAEJC,8BAAgB,EAAE,YAFd;AAGJC,+BAAiB,EAAE,yBAHf;AAIJC,8BAAgB,EAAE;AAJd;AA5Ec,WAAtB;;AAmFA,cAAI,KAAKrH,KAAT,EAAgB;AACd8C,yBAAa,CAACwE,UAAd,GAA2B;AACzB3G,gBAAE,EAAE,KAAK4G,YADgB;AAEzBC,kBAAI,EAAE,SAFmB;AAGzBC,uBAAS,EAAE,KAHc;AAIzBC,yBAAW,EAAE;AAJY,aAA3B;AAMD;;AACD,cAAI,KAAKzH,SAAT,EAAoB;AAClB6C,yBAAa,CAAC7C,SAAd,GAA0B;AACxBU,gBAAE,EAAE,KAAKgH,WADe;AAExBC,kBAAI,EAAE;AAFkB,aAA1B;AAID,WAnGgB,CAoGjB;AACA;;;AACA,cAAMC,YAAY,GAAG;AACnBC,cAAE,EAAE;AACFC,kBAAI,EAAE,gBAAM;AACVC,0BAAU,CAAC,YAAM;AACf,wBAAI,CAACvJ,gBAAL,CAAsBwJ,IAAtB;AACD,iBAFS,EAEP,EAFO,CAAV;AAGD,eALC;AAMFC,wCAA0B,EAAE,KAAKtJ,kBAAL,CAAwBqJ,IANlD;AAOFE,sCAAwB,EAAE,KAAKtJ,iBAAL,CAAuBoJ,IAP/C;AAQFG,sCAAwB,EAAE,KAAKtJ,iBAAL,CAAuBmJ,IAR/C;AASFI,sCAAwB,EAAE,KAAKtJ,iBAAL,CAAuBkJ,IAT/C;AAUFK,oCAAsB,EAAE,KAAKtJ,eAAL,CAAqBiJ,IAV3C;AAWFM,oCAAsB,EAAE,KAAKtJ,eAAL,CAAqBgJ,IAX3C;AAYFO,6BAAe,EAAE,KAAKtJ,uBAAL,CAA6B+I,IAZ5C;AAaFQ,2BAAa,EAAE,KAAKtJ,qBAAL,CAA2B8I,IAbxC;AAcFS,wBAAU,EAAE,KAAKtJ,YAAL,CAAkB6I,IAd5B;AAeFU,4BAAc,EAAE,KAAKtJ,kBAAL,CAAwB4I,IAftC;AAgBFW,sBAAQ,EAAE,KAAKtJ,gBAAL,CAAsB2I,IAhB9B;AAiBFY,wBAAU,EAAE,KAAKtJ,kBAAL,CAAwB0I,IAjBlC;AAkBFa,sBAAQ,EAAE,KAAKtJ,gBAAL,CAAsByI,IAlB9B;AAmBFc,iBAAG,EAAE,KAAKrK,WAAL,CAAiBuJ,IAnBpB;AAoBFe,uBAAS,EAAE,KAAKrK,iBAAL,CAAuBsJ;AApBhC;AADe,WAArB;AAwBA,cAAMgB,YAAY,GAAI,CAAC,CAAC,KAAKlJ,OAAP,IAAkB,CAAC,CAAC,KAAKA,OAAL,CAAa+H,EAAlC,GAAwC,KAAK/H,OAAL,CAAa+H,EAArD,GAA0D,EAA/E,CA9HiB,CA+HjB;;AACA,cAAMoB,kBAAkB,GAAG;AAAEpB,cAAE,EAAE3H,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB6I,YAAlB,CAAd,EAA+CpB,YAAY,CAACC,EAA5D;AAAN,WAA3B,CAhIiB,CAiIjB;;AACA,iBAAO3H,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0C,aAAlB,CAAd,EAAgD,KAAK/C,OAArD,CAAd,EAA6EmJ,kBAA7E,CAAP;AACD;AAhXS;AAAA;AAAA,eAiXV,kBAAS;AAAA;AAAA;;AACP,cAAM9K,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,uEACVA,IADU,GACD,IADC,6CAGHA,IAHG,GAGM,IAHN,4BAId,kBAJc,EAIM,IAJN;AAAF,WAAR,EAKD,6DAAE,KAAF,EAAS;AAAE,qBAAO;AAAT,WAAT,EAAsC,6DAAE,MAAF,EAAU,IAAV,CAAtC,CALC,EAKuD,KAAK4B,KAAL,IAAc,6DAAE,KAAF,EAAS;AAAE,qBAAO,mBAAT;AAA8BmJ,eAAG,EAAE,aAAAxI,EAAE;AAAA,qBAAI,MAAI,CAAC4G,YAAL,GAAoB5G,EAAxB;AAAA;AAArC,WAAT,CALrE,EAKkJ,KAAKV,SAAL,IAAkB,6DAAE,KAAF,EAAS;AAAE,qBAAO,kBAAT;AAA6BkJ,eAAG,EAAE,aAAAxI,EAAE;AAAA,qBAAI,MAAI,CAACgH,WAAL,GAAmBhH,EAAvB;AAAA;AAApC,WAAT,CALpK,CAAR;AAMD;AAzXS;AAAA;AAAA,aA2XV,eAAS;AAAE,iBAAO,6DAAW,IAAX,CAAP;AAA0B;AA3X3B;AAAA;AAAA,aA0XV,eAAwB;AAAE,iBAAO,CAAC,QAAD,CAAP;AAAoB;AA1XpC;AAAA;AAAA,aA4XV,eAAsB;AAAE,iBAAO;AAC7B,uBAAW,CAAC,gBAAD;AADkB,WAAP;AAEpB;AA9XM;;AAAA;AAAA,OAAZ;;AAgYA,QAAMW,aAAa,GAAG,SAAhBA,aAAgB,CAACX,EAAD,EAAQ;AAC5B,aAAOhB,OAAO,CAAC0B,GAAR,CAAY+H,KAAK,CAACC,IAAN,CAAW1I,EAAE,CAAC2I,gBAAH,CAAoB,WAApB,CAAX,EAA6CC,GAA7C,CAAiD,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAAC1I,gBAAF,EAAJ;AAAA,OAAlD,CAAZ,CAAP;AACD,KAFD;;AAGAtC,UAAM,CAACH,KAAP,GAAe;AACboL,SAAG,EAAEnL,YADQ;AAEboL,QAAE,EAAEnL;AAFS,KAAf","file":"33-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, e as createEvent, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst slideCss = \"ion-slide{display:block;width:100%;height:100%}.slide-zoom{display:block;width:100%;text-align:center}.swiper-slide{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}\";\n\nconst Slide = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'swiper-slide': true,\n 'swiper-zoom-container': true\n } }));\n }\n};\nSlide.style = slideCss;\n\nconst slidesIosCss = \".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\\\"\\\";width:100%;height:100%;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-ios{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}\";\n\nconst slidesMdCss = \".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\\\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\\\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\\\"\\\";width:100%;height:100%;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\\\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-md{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}\";\n\nconst Slides = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSlidesDidLoad = createEvent(this, \"ionSlidesDidLoad\", 7);\n this.ionSlideTap = createEvent(this, \"ionSlideTap\", 7);\n this.ionSlideDoubleTap = createEvent(this, \"ionSlideDoubleTap\", 7);\n this.ionSlideWillChange = createEvent(this, \"ionSlideWillChange\", 7);\n this.ionSlideDidChange = createEvent(this, \"ionSlideDidChange\", 7);\n this.ionSlideNextStart = createEvent(this, \"ionSlideNextStart\", 7);\n this.ionSlidePrevStart = createEvent(this, \"ionSlidePrevStart\", 7);\n this.ionSlideNextEnd = createEvent(this, \"ionSlideNextEnd\", 7);\n this.ionSlidePrevEnd = createEvent(this, \"ionSlidePrevEnd\", 7);\n this.ionSlideTransitionStart = createEvent(this, \"ionSlideTransitionStart\", 7);\n this.ionSlideTransitionEnd = createEvent(this, \"ionSlideTransitionEnd\", 7);\n this.ionSlideDrag = createEvent(this, \"ionSlideDrag\", 7);\n this.ionSlideReachStart = createEvent(this, \"ionSlideReachStart\", 7);\n this.ionSlideReachEnd = createEvent(this, \"ionSlideReachEnd\", 7);\n this.ionSlideTouchStart = createEvent(this, \"ionSlideTouchStart\", 7);\n this.ionSlideTouchEnd = createEvent(this, \"ionSlideTouchEnd\", 7);\n this.swiperReady = false;\n this.swiper = new Promise(resolve => { this.readySwiper = resolve; });\n this.didInit = false;\n /**\n * Options to pass to the swiper instance.\n * See http://idangero.us/swiper/api/ for valid options\n */\n this.options = {}; // SwiperOptions; // TODO\n /**\n * If `true`, show the pagination.\n */\n this.pager = false;\n /**\n * If `true`, show the scrollbar.\n */\n this.scrollbar = false;\n }\n async optionsChanged() {\n if (this.swiperReady) {\n const swiper = await this.getSwiper();\n Object.assign(swiper.params, this.options);\n await this.update();\n }\n }\n connectedCallback() {\n // tslint:disable-next-line: strict-type-predicates\n if (typeof MutationObserver !== 'undefined') {\n const mut = this.mutationO = new MutationObserver(() => {\n if (this.swiperReady) {\n this.update();\n }\n });\n mut.observe(this.el, {\n childList: true,\n subtree: true\n });\n this.el.componentOnReady().then(() => {\n if (!this.didInit) {\n this.didInit = true;\n this.initSwiper();\n }\n });\n }\n }\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n /**\n * We need to synchronously destroy\n * swiper otherwise it is possible\n * that it will be left in a\n * destroyed state if connectedCallback\n * is called multiple times\n */\n const swiper = this.syncSwiper;\n if (swiper !== undefined) {\n swiper.destroy(true, true);\n this.swiper = new Promise(resolve => { this.readySwiper = resolve; });\n this.swiperReady = false;\n this.syncSwiper = undefined;\n }\n this.didInit = false;\n }\n /**\n * Update the underlying slider implementation. Call this if you've added or removed\n * child slides.\n */\n async update() {\n const [swiper] = await Promise.all([\n this.getSwiper(),\n waitForSlides(this.el)\n ]);\n swiper.update();\n }\n /**\n * Force swiper to update its height (when autoHeight is enabled) for the duration\n * equal to 'speed' parameter.\n *\n * @param speed The transition duration (in ms).\n */\n async updateAutoHeight(speed) {\n const swiper = await this.getSwiper();\n swiper.updateAutoHeight(speed);\n }\n /**\n * Transition to the specified slide.\n *\n * @param index The index of the slide to transition to.\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.\n */\n async slideTo(index, speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slideTo(index, speed, runCallbacks);\n }\n /**\n * Transition to the next slide.\n *\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.\n */\n async slideNext(speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slideNext(speed, runCallbacks);\n }\n /**\n * Transition to the previous slide.\n *\n * @param speed The transition duration (in ms).\n * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events.\n */\n async slidePrev(speed, runCallbacks) {\n const swiper = await this.getSwiper();\n swiper.slidePrev(speed, runCallbacks);\n }\n /**\n * Get the index of the active slide.\n */\n async getActiveIndex() {\n const swiper = await this.getSwiper();\n return swiper.activeIndex;\n }\n /**\n * Get the index of the previous slide.\n */\n async getPreviousIndex() {\n const swiper = await this.getSwiper();\n return swiper.previousIndex;\n }\n /**\n * Get the total number of slides.\n */\n async length() {\n const swiper = await this.getSwiper();\n return swiper.slides.length;\n }\n /**\n * Get whether or not the current slide is the last slide.\n */\n async isEnd() {\n const swiper = await this.getSwiper();\n return swiper.isEnd;\n }\n /**\n * Get whether or not the current slide is the first slide.\n */\n async isBeginning() {\n const swiper = await this.getSwiper();\n return swiper.isBeginning;\n }\n /**\n * Start auto play.\n */\n async startAutoplay() {\n const swiper = await this.getSwiper();\n if (swiper.autoplay) {\n swiper.autoplay.start();\n }\n }\n /**\n * Stop auto play.\n */\n async stopAutoplay() {\n const swiper = await this.getSwiper();\n if (swiper.autoplay) {\n swiper.autoplay.stop();\n }\n }\n /**\n * Lock or unlock the ability to slide to the next slide.\n *\n * @param lock If `true`, disable swiping to the next slide.\n */\n async lockSwipeToNext(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlideNext = !lock;\n }\n /**\n * Lock or unlock the ability to slide to the previous slide.\n *\n * @param lock If `true`, disable swiping to the previous slide.\n */\n async lockSwipeToPrev(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlidePrev = !lock;\n }\n /**\n * Lock or unlock the ability to slide to the next or previous slide.\n *\n * @param lock If `true`, disable swiping to the next and previous slide.\n */\n async lockSwipes(lock) {\n const swiper = await this.getSwiper();\n swiper.allowSlideNext = !lock;\n swiper.allowSlidePrev = !lock;\n swiper.allowTouchMove = !lock;\n }\n /**\n * Get the Swiper instance.\n * Use this to access the full Swiper API.\n * See https://idangero.us/swiper/api/ for all API options.\n */\n async getSwiper() {\n return this.swiper;\n }\n async initSwiper() {\n const finalOptions = this.normalizeOptions();\n // init swiper core\n // @ts-ignore\n const { Swiper } = await import('./swiper.bundle-95afeea2.js');\n await waitForSlides(this.el);\n const swiper = new Swiper(this.el, finalOptions);\n this.swiperReady = true;\n this.syncSwiper = swiper;\n this.readySwiper(swiper);\n }\n normalizeOptions() {\n // Base options, can be changed\n // TODO Add interface SwiperOptions\n const swiperOptions = {\n effect: undefined,\n direction: 'horizontal',\n initialSlide: 0,\n loop: false,\n parallax: false,\n slidesPerView: 1,\n spaceBetween: 0,\n speed: 300,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0,\n slidesOffsetAfter: 0,\n touchEventsTarget: 'container',\n autoplay: false,\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n autoHeight: false,\n setWrapperSize: false,\n zoom: {\n maxRatio: 3,\n minRatio: 1,\n toggle: false,\n },\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n touchStartPreventDefault: false,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchReleaseOnEdges: false,\n iOSEdgeSwipeDetection: false,\n iOSEdgeSwipeThreshold: 20,\n resistance: true,\n resistanceRatio: 0.85,\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n loopAdditionalSlides: 0,\n noSwiping: true,\n runCallbacksOnInit: true,\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows: true\n },\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n },\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n },\n fadeEffect: {\n crossFade: false\n },\n a11y: {\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide'\n }\n };\n if (this.pager) {\n swiperOptions.pagination = {\n el: this.paginationEl,\n type: 'bullets',\n clickable: false,\n hideOnClick: false,\n };\n }\n if (this.scrollbar) {\n swiperOptions.scrollbar = {\n el: this.scrollbarEl,\n hide: true,\n };\n }\n // Keep the event options separate, we dont want users\n // overwriting these\n const eventOptions = {\n on: {\n init: () => {\n setTimeout(() => {\n this.ionSlidesDidLoad.emit();\n }, 20);\n },\n slideChangeTransitionStart: this.ionSlideWillChange.emit,\n slideChangeTransitionEnd: this.ionSlideDidChange.emit,\n slideNextTransitionStart: this.ionSlideNextStart.emit,\n slidePrevTransitionStart: this.ionSlidePrevStart.emit,\n slideNextTransitionEnd: this.ionSlideNextEnd.emit,\n slidePrevTransitionEnd: this.ionSlidePrevEnd.emit,\n transitionStart: this.ionSlideTransitionStart.emit,\n transitionEnd: this.ionSlideTransitionEnd.emit,\n sliderMove: this.ionSlideDrag.emit,\n reachBeginning: this.ionSlideReachStart.emit,\n reachEnd: this.ionSlideReachEnd.emit,\n touchStart: this.ionSlideTouchStart.emit,\n touchEnd: this.ionSlideTouchEnd.emit,\n tap: this.ionSlideTap.emit,\n doubleTap: this.ionSlideDoubleTap.emit\n }\n };\n const customEvents = (!!this.options && !!this.options.on) ? this.options.on : {};\n // merge \"on\" event listeners, while giving our event listeners priority\n const mergedEventOptions = { on: Object.assign(Object.assign({}, customEvents), eventOptions.on) };\n // Merge the base, user options, and events together then pas to swiper\n return Object.assign(Object.assign(Object.assign({}, swiperOptions), this.options), mergedEventOptions);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [`${mode}`]: true,\n // Used internally for styling\n [`slides-${mode}`]: true,\n 'swiper-container': true\n } }, h(\"div\", { class: \"swiper-wrapper\" }, h(\"slot\", null)), this.pager && h(\"div\", { class: \"swiper-pagination\", ref: el => this.paginationEl = el }), this.scrollbar && h(\"div\", { class: \"swiper-scrollbar\", ref: el => this.scrollbarEl = el })));\n }\n static get assetsDirs() { return [\"swiper\"]; }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"options\": [\"optionsChanged\"]\n }; }\n};\nconst waitForSlides = (el) => {\n return Promise.all(Array.from(el.querySelectorAll('ion-slide')).map(s => s.componentOnReady()));\n};\nSlides.style = {\n ios: slidesIosCss,\n md: slidesMdCss\n};\n\nexport { Slide as ion_slide, Slides as ion_slides };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/34-es2015.js b/android/app/src/main/assets/public/34-es2015.js new file mode 100644 index 000000000..6e24bdff2 --- /dev/null +++ b/android/app/src/main/assets/public/34-es2015.js @@ -0,0 +1,82 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[34],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js": +/*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js ***! + \****************************************************************/ +/*! exports provided: ion_spinner */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_spinner", function() { return Spinner; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); +/* harmony import */ var _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./spinner-configs-cd7845af.js */ "./node_modules/@ionic/core/dist/esm/spinner-configs-cd7845af.js"); + + + + + +const spinnerCss = ":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)}[dir=rtl] svg,:host-context([dir=rtl]) svg{left:unset;right:unset;right:0}[dir=rtl] svg,:host-context([dir=rtl]) svg{-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-circular){-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}"; + +const Spinner = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the spinner's animation will be paused. + */ + this.paused = false; + } + getName() { + const spinnerName = this.name || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner'); + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + if (spinnerName) { + return spinnerName; + } + return (mode === 'ios') ? 'lines' : 'circular'; + } + render() { + const self = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(self); + const spinnerName = self.getName(); + const spinner = _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__["S"][spinnerName] || _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__["S"]['lines']; + const duration = (typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur); + const svgs = []; + if (spinner.circles !== undefined) { + for (let i = 0; i < spinner.circles; i++) { + svgs.push(buildCircle(spinner, duration, i, spinner.circles)); + } + } + else if (spinner.lines !== undefined) { + for (let i = 0; i < spinner.lines; i++) { + svgs.push(buildLine(spinner, duration, i, spinner.lines)); + } + } + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(self.color, { + [mode]: true, + [`spinner-${spinnerName}`]: true, + 'spinner-paused': !!self.paused || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing') + }), role: "progressbar", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs)); + } +}; +const buildCircle = (spinner, duration, index, total) => { + const data = spinner.fn(duration, index, total); + data.style['animation-duration'] = duration + 'ms'; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("svg", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("circle", { transform: data.transform || 'translate(32,32)', cx: data.cx, cy: data.cy, r: data.r, style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }))); +}; +const buildLine = (spinner, duration, index, total) => { + const data = spinner.fn(duration, index, total); + data.style['animation-duration'] = duration + 'ms'; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("svg", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("line", { transform: "translate(32,32)", y1: data.y1, y2: data.y2 }))); +}; +Spinner.style = spinnerCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=34-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/34-es2015.js.map b/android/app/src/main/assets/public/34-es2015.js.map new file mode 100644 index 000000000..d90ed7900 --- /dev/null +++ b/android/app/src/main/assets/public/34-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AACA;AACZ;AACA;;AAE9D,0BAA0B,qBAAqB,kBAAkB,WAAW,YAAY,mBAAmB,yBAAyB,sBAAsB,qBAAqB,iBAAiB,kBAAkB,4BAA4B,IAAI,OAAO,MAAM,gCAAgC,wBAAwB,kBAAkB,WAAW,YAAY,gCAAgC,wBAAwB,2CAA2C,WAAW,YAAY,QAAQ,2CAA2C,6CAA6C,qCAAqC,4DAA4D,iBAAiB,qBAAqB,oBAAoB,0DAA0D,sDAAsD,8CAA8C,4BAA4B,uDAAuD,+CAA+C,kBAAkB,4BAA4B,sDAAsD,8CAA8C,kBAAkB,gCAAgC,iBAAiB,iBAAiB,uBAAuB,uBAAuB,oBAAoB,6BAA6B,oDAAoD,4CAA4C,4BAA4B,eAAe,kBAAkB,yBAAyB,kDAAkD,0CAA0C,yBAAyB,mDAAmD,2CAA2C,gCAAgC,8DAA8D,sDAAsD,oBAAoB,6BAA6B,sBAAsB,iBAAiB,UAAU,gFAAgF,oCAAoC,4BAA4B,oCAAoC,GAAG,UAAU,KAAK,WAAW,4BAA4B,GAAG,UAAU,KAAK,WAAW,qCAAqC,GAAG,8BAA8B,sBAAsB,KAAK,8BAA8B,uBAAuB,6BAA6B,GAAG,8BAA8B,sBAAsB,KAAK,8BAA8B,uBAAuB,kCAAkC,GAAG,+BAA+B,uBAAuB,KAAK,iCAAiC,0BAA0B,0BAA0B,GAAG,+BAA+B,uBAAuB,KAAK,iCAAiC,0BAA0B,gCAAgC,GAAG,8BAA8B,sBAAsB,YAAY,IAAI,kCAAkC,0BAA0B,YAAY,KAAK,8BAA8B,sBAAsB,aAAa,wBAAwB,GAAG,8BAA8B,sBAAsB,YAAY,IAAI,kCAAkC,0BAA0B,YAAY,KAAK,8BAA8B,sBAAsB,aAAa,oCAAoC,KAAK,iCAAiC,0BAA0B,4BAA4B,KAAK,iCAAiC,0BAA0B,0CAA0C,GAAG,4BAA4B,sBAAsB,IAAI,8BAA8B,wBAAwB,KAAK,8BAA8B,0BAA0B,kCAAkC,GAAG,4BAA4B,sBAAsB,IAAI,8BAA8B,wBAAwB,KAAK,8BAA8B,0BAA0B;;AAE31H;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2DAAM;AAC3C,iBAAiB,mEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B;AACA,oBAAoB,8DAAQ,iBAAiB,8DAAQ;AACrD;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,4DAAkB;AAC/C;AACA,oBAAoB,YAAY;AAChC,2CAA2C,2DAAM;AACjD,OAAO,sDAAsD,qCAAqC,KAAK,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA,UAAU,4DAAC,SAAS,0DAA0D,EAAE,4DAAC,YAAY,qHAAqH,qCAAqC,KAAK,EAAE;AAC9P;AACA;AACA;AACA;AACA,UAAU,4DAAC,SAAS,0DAA0D,EAAE,4DAAC,UAAU,0DAA0D;AACrJ;AACA;;AAEkC","file":"34-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\nimport { S as SPINNERS } from './spinner-configs-cd7845af.js';\n\nconst spinnerCss = \":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)}[dir=rtl] svg,:host-context([dir=rtl]) svg{left:unset;right:unset;right:0}[dir=rtl] svg,:host-context([dir=rtl]) svg{-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-circular){-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}\";\n\nconst Spinner = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the spinner's animation will be paused.\n */\n this.paused = false;\n }\n getName() {\n const spinnerName = this.name || config.get('spinner');\n const mode = getIonMode(this);\n if (spinnerName) {\n return spinnerName;\n }\n return (mode === 'ios') ? 'lines' : 'circular';\n }\n render() {\n const self = this;\n const mode = getIonMode(self);\n const spinnerName = self.getName();\n const spinner = SPINNERS[spinnerName] || SPINNERS['lines'];\n const duration = (typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur);\n const svgs = [];\n if (spinner.circles !== undefined) {\n for (let 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 (let i = 0; i < spinner.lines; i++) {\n svgs.push(buildLine(spinner, duration, i, spinner.lines));\n }\n }\n return (h(Host, { class: createColorClasses(self.color, {\n [mode]: true,\n [`spinner-${spinnerName}`]: true,\n 'spinner-paused': !!self.paused || config.getBoolean('_testing')\n }), role: \"progressbar\", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));\n }\n};\nconst buildCircle = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"circle\", { transform: data.transform || 'translate(32,32)', cx: data.cx, cy: data.cy, r: data.r, style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} })));\n};\nconst buildLine = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"line\", { transform: \"translate(32,32)\", y1: data.y1, y2: data.y2 })));\n};\nSpinner.style = spinnerCss;\n\nexport { Spinner as ion_spinner };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/34-es5.js b/android/app/src/main/assets/public/34-es5.js new file mode 100644 index 000000000..06cd536f1 --- /dev/null +++ b/android/app/src/main/assets/public/34-es5.js @@ -0,0 +1,150 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[34], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js": + /*!****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js ***! + \****************************************************************/ + + /*! exports provided: ion_spinner */ + + /***/ + function node_modulesIonicCoreDistEsmIonSpinnerEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_spinner", function () { + return Spinner; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + /* harmony import */ + + + var _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( + /*! ./spinner-configs-cd7845af.js */ + "./node_modules/@ionic/core/dist/esm/spinner-configs-cd7845af.js"); + + var spinnerCss = ":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)}[dir=rtl] svg,:host-context([dir=rtl]) svg{left:unset;right:unset;right:0}[dir=rtl] svg,:host-context([dir=rtl]) svg{-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-circular){-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}"; + + var Spinner = /*#__PURE__*/function () { + function Spinner(hostRef) { + _classCallCheck(this, Spinner); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + /** + * If `true`, the spinner's animation will be paused. + */ + + this.paused = false; + } + + _createClass(Spinner, [{ + key: "getName", + value: function getName() { + var spinnerName = this.name || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('spinner'); + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + + if (spinnerName) { + return spinnerName; + } + + return mode === 'ios' ? 'lines' : 'circular'; + } + }, { + key: "render", + value: function render() { + var _Object; + + var self = this; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(self); + var spinnerName = self.getName(); + var spinner = _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__["S"][spinnerName] || _spinner_configs_cd7845af_js__WEBPACK_IMPORTED_MODULE_3__["S"]['lines']; + var duration = typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur; + var svgs = []; + + if (spinner.circles !== undefined) { + for (var i = 0; i < spinner.circles; i++) { + svgs.push(buildCircle(spinner, duration, i, spinner.circles)); + } + } else if (spinner.lines !== undefined) { + for (var _i = 0; _i < spinner.lines; _i++) { + svgs.push(buildLine(spinner, duration, _i, spinner.lines)); + } + } + + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(self.color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, "spinner-".concat(spinnerName), true), _defineProperty(_Object, 'spinner-paused', !!self.paused || _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].getBoolean('_testing')), _Object)), + role: "progressbar", + style: spinner.elmDuration ? { + animationDuration: duration + 'ms' + } : {} + }, svgs); + } + }]); + + return Spinner; + }(); + + var buildCircle = function buildCircle(spinner, duration, index, total) { + var data = spinner.fn(duration, index, total); + data.style['animation-duration'] = duration + 'ms'; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("svg", { + viewBox: data.viewBox || '0 0 64 64', + style: data.style + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("circle", { + transform: data.transform || 'translate(32,32)', + cx: data.cx, + cy: data.cy, + r: data.r, + style: spinner.elmDuration ? { + animationDuration: duration + 'ms' + } : {} + })); + }; + + var buildLine = function buildLine(spinner, duration, index, total) { + var data = spinner.fn(duration, index, total); + data.style['animation-duration'] = duration + 'ms'; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("svg", { + viewBox: data.viewBox || '0 0 64 64', + style: data.style + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("line", { + transform: "translate(32,32)", + y1: data.y1, + y2: data.y2 + })); + }; + + Spinner.style = spinnerCss; + /***/ + } +}]); +//# sourceMappingURL=34-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/34-es5.js.map b/android/app/src/main/assets/public/34-es5.js.map new file mode 100644 index 000000000..576437e6f --- /dev/null +++ b/android/app/src/main/assets/public/34-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-spinner.entry.js"],"names":["spinnerCss","Spinner","hostRef","paused","spinnerName","name","get","mode","self","getName","spinner","duration","dur","svgs","circles","undefined","i","push","buildCircle","lines","buildLine","color","getBoolean","role","style","elmDuration","animationDuration","index","total","data","fn","viewBox","transform","cx","cy","r","y1","y2"],"mappings":"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","file":"34-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { c as config, b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\nimport { S as SPINNERS } from './spinner-configs-cd7845af.js';\n\nconst spinnerCss = \":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)}[dir=rtl] svg,:host-context([dir=rtl]) svg{left:unset;right:unset;right:0}[dir=rtl] svg,:host-context([dir=rtl]) svg{-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-circular){-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}\";\n\nconst Spinner = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the spinner's animation will be paused.\n */\n this.paused = false;\n }\n getName() {\n const spinnerName = this.name || config.get('spinner');\n const mode = getIonMode(this);\n if (spinnerName) {\n return spinnerName;\n }\n return (mode === 'ios') ? 'lines' : 'circular';\n }\n render() {\n const self = this;\n const mode = getIonMode(self);\n const spinnerName = self.getName();\n const spinner = SPINNERS[spinnerName] || SPINNERS['lines'];\n const duration = (typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur);\n const svgs = [];\n if (spinner.circles !== undefined) {\n for (let 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 (let i = 0; i < spinner.lines; i++) {\n svgs.push(buildLine(spinner, duration, i, spinner.lines));\n }\n }\n return (h(Host, { class: createColorClasses(self.color, {\n [mode]: true,\n [`spinner-${spinnerName}`]: true,\n 'spinner-paused': !!self.paused || config.getBoolean('_testing')\n }), role: \"progressbar\", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));\n }\n};\nconst buildCircle = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"circle\", { transform: data.transform || 'translate(32,32)', cx: data.cx, cy: data.cy, r: data.r, style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} })));\n};\nconst buildLine = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"line\", { transform: \"translate(32,32)\", y1: data.y1, y2: data.y2 })));\n};\nSpinner.style = spinnerCss;\n\nexport { Spinner as ion_spinner };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/35-es2015.js b/android/app/src/main/assets/public/35-es2015.js new file mode 100644 index 000000000..950dde885 --- /dev/null +++ b/android/app/src/main/assets/public/35-es2015.js @@ -0,0 +1,166 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[35],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js ***! + \*******************************************************************/ +/*! exports provided: ion_split_pane */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_split_pane", function() { return SplitPane; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + + +const splitPaneIosCss = ":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}"; + +const splitPaneMdCss = ":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}"; + +const SPLIT_PANE_MAIN = 'split-pane-main'; +const SPLIT_PANE_SIDE = 'split-pane-side'; +const QUERY = { + 'xs': '(min-width: 0px)', + 'sm': '(min-width: 576px)', + 'md': '(min-width: 768px)', + 'lg': '(min-width: 992px)', + 'xl': '(min-width: 1200px)', + 'never': '' +}; +const SplitPane = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSplitPaneVisible = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSplitPaneVisible", 7); + this.visible = false; + /** + * If `true`, the split pane will be hidden. + */ + this.disabled = false; + /** + * When the split-pane should be shown. + * Can be a CSS media query expression, or a shortcut expression. + * Can also be a boolean expression. + */ + this.when = QUERY['lg']; + } + visibleChanged(visible) { + const detail = { visible, isPane: this.isPane.bind(this) }; + this.ionSplitPaneVisible.emit(detail); + } + connectedCallback() { + this.styleChildren(); + this.updateState(); + } + disconnectedCallback() { + if (this.rmL) { + this.rmL(); + this.rmL = undefined; + } + } + updateState() { + if (this.rmL) { + this.rmL(); + this.rmL = undefined; + } + // Check if the split-pane is disabled + if (this.disabled) { + this.visible = false; + return; + } + // When query is a boolean + const query = this.when; + if (typeof query === 'boolean') { + this.visible = query; + return; + } + // When query is a string, let's find first if it is a shortcut + const mediaQuery = QUERY[query] || query; + // Media query is empty or null, we hide it + if (mediaQuery.length === 0) { + this.visible = false; + return; + } + if (window.matchMedia) { + // Listen on media query + const callback = (q) => { + this.visible = q.matches; + }; + const mediaList = window.matchMedia(mediaQuery); + mediaList.addListener(callback); + this.rmL = () => mediaList.removeListener(callback); + this.visible = mediaList.matches; + } + } + isPane(element) { + if (!this.visible) { + return false; + } + return element.parentElement === this.el + && element.classList.contains(SPLIT_PANE_SIDE); + } + styleChildren() { + const contentId = this.contentId; + const children = this.el.children; + const nu = this.el.childElementCount; + let foundMain = false; + for (let i = 0; i < nu; i++) { + const child = children[i]; + const isMain = contentId !== undefined && child.id === contentId; + if (isMain) { + if (foundMain) { + console.warn('split pane cannot have more than one main node'); + return; + } + foundMain = true; + } + setPaneClass(child, isMain); + } + if (!foundMain) { + console.warn('split pane does not have a specified main node'); + } + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: { + [mode]: true, + // Used internally for styling + [`split-pane-${mode}`]: true, + 'split-pane-visible': this.visible + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "visible": ["visibleChanged"], + "disabled": ["updateState"], + "when": ["updateState"] + }; } +}; +const setPaneClass = (el, isMain) => { + let toAdd; + let toRemove; + if (isMain) { + toAdd = SPLIT_PANE_MAIN; + toRemove = SPLIT_PANE_SIDE; + } + else { + toAdd = SPLIT_PANE_SIDE; + toRemove = SPLIT_PANE_MAIN; + } + const classList = el.classList; + classList.add(toAdd); + classList.remove(toRemove); +}; +SplitPane.style = { + ios: splitPaneIosCss, + md: splitPaneMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=35-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/35-es2015.js.map b/android/app/src/main/assets/public/35-es2015.js.map new file mode 100644 index 000000000..ca72e3a4c --- /dev/null +++ b/android/app/src/main/assets/public/35-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;;AAE7D,+BAA+B,kBAAkB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,uBAAuB,mBAAmB,qBAAqB,iBAAiB,eAAe,sCAAsC,kBAAkB,cAAc,wBAAwB,gCAAgC,gCAAgC,8GAA8G,OAAO,QAAQ,MAAM,SAAS,kBAAkB,mCAAmC,2BAA2B,UAAU,uDAAuD,WAAW,OAAO,iJAAiJ,oBAAoB,aAAa,oBAAoB,cAAc,0CAA0C,aAAa,uDAAuD,kBAAkB,SAAS,iEAAiE,iBAAiB,QAAQ,MAAM,gHAAgH,uBAAuB,qBAAqB,uDAAuD,cAAc,2BAA2B,aAAa,gBAAgB,gCAAgC,gCAAgC,+FAA+F,uDAAuD,kBAAkB,mBAAmB,uBAAuB,sBAAsB,iCAAiC,iCAAiC,iEAAiE,0BAA0B,eAAe,aAAa,gBAAgB,gCAAgC,gCAAgC,+FAA+F,iEAAiE,kBAAkB,mBAAmB,mCAAmC,kCAAkC,qBAAqB,qBAAqB;;AAEzuE,8BAA8B,kBAAkB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,uBAAuB,mBAAmB,qBAAqB,iBAAiB,eAAe,sCAAsC,kBAAkB,cAAc,wBAAwB,gCAAgC,gCAAgC,8GAA8G,OAAO,QAAQ,MAAM,SAAS,kBAAkB,mCAAmC,2BAA2B,UAAU,uDAAuD,WAAW,OAAO,iJAAiJ,oBAAoB,aAAa,oBAAoB,cAAc,0CAA0C,aAAa,uDAAuD,kBAAkB,SAAS,iEAAiE,iBAAiB,QAAQ,MAAM,yHAAyH,uBAAuB,qBAAqB,uDAAuD,cAAc,2BAA2B,aAAa,gBAAgB,gCAAgC,gCAAgC,+FAA+F,uDAAuD,kBAAkB,mBAAmB,uBAAuB,sBAAsB,iCAAiC,iCAAiC,iEAAiE,0BAA0B,eAAe,aAAa,gBAAgB,gCAAgC,gCAAgC,+FAA+F,iEAAiE,kBAAkB,mBAAmB,mCAAmC,kCAAkC,qBAAqB,qBAAqB;;AAEjvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4DAAgB;AACpB,+BAA+B,4DAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;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,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA,OAAO,EAAE,EAAE,4DAAC;AACZ;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEuC","file":"35-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst splitPaneIosCss = \":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}\";\n\nconst splitPaneMdCss = \":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}\";\n\nconst SPLIT_PANE_MAIN = 'split-pane-main';\nconst SPLIT_PANE_SIDE = 'split-pane-side';\nconst 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};\nconst SplitPane = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSplitPaneVisible = createEvent(this, \"ionSplitPaneVisible\", 7);\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 }\n visibleChanged(visible) {\n const detail = { visible, isPane: this.isPane.bind(this) };\n this.ionSplitPaneVisible.emit(detail);\n }\n connectedCallback() {\n this.styleChildren();\n this.updateState();\n }\n disconnectedCallback() {\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n }\n updateState() {\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 const 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 const 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 const callback = (q) => {\n this.visible = q.matches;\n };\n const mediaList = window.matchMedia(mediaQuery);\n mediaList.addListener(callback);\n this.rmL = () => mediaList.removeListener(callback);\n this.visible = mediaList.matches;\n }\n }\n isPane(element) {\n if (!this.visible) {\n return false;\n }\n return element.parentElement === this.el\n && element.classList.contains(SPLIT_PANE_SIDE);\n }\n styleChildren() {\n const contentId = this.contentId;\n const children = this.el.children;\n const nu = this.el.childElementCount;\n let foundMain = false;\n for (let i = 0; i < nu; i++) {\n const child = children[i];\n const isMain = contentId !== undefined && child.id === contentId;\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 render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`split-pane-${mode}`]: true,\n 'split-pane-visible': this.visible\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"visible\": [\"visibleChanged\"],\n \"disabled\": [\"updateState\"],\n \"when\": [\"updateState\"]\n }; }\n};\nconst setPaneClass = (el, isMain) => {\n let toAdd;\n let 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 const classList = el.classList;\n classList.add(toAdd);\n classList.remove(toRemove);\n};\nSplitPane.style = {\n ios: splitPaneIosCss,\n md: splitPaneMdCss\n};\n\nexport { SplitPane as ion_split_pane };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/35-es5.js b/android/app/src/main/assets/public/35-es5.js new file mode 100644 index 000000000..e27611eaf --- /dev/null +++ b/android/app/src/main/assets/public/35-es5.js @@ -0,0 +1,237 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[35], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js": + /*!*******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js ***! + \*******************************************************************/ + + /*! exports provided: ion_split_pane */ + + /***/ + function node_modulesIonicCoreDistEsmIonSplitPaneEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_split_pane", function () { + return SplitPane; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + + var splitPaneIosCss = ":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}"; + var splitPaneMdCss = ":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}"; + var SPLIT_PANE_MAIN = 'split-pane-main'; + var SPLIT_PANE_SIDE = 'split-pane-side'; + var QUERY = { + 'xs': '(min-width: 0px)', + 'sm': '(min-width: 576px)', + 'md': '(min-width: 768px)', + 'lg': '(min-width: 992px)', + 'xl': '(min-width: 1200px)', + 'never': '' + }; + + var SplitPane = /*#__PURE__*/function () { + function SplitPane(hostRef) { + _classCallCheck(this, SplitPane); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionSplitPaneVisible = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionSplitPaneVisible", 7); + this.visible = false; + /** + * If `true`, the split pane will be hidden. + */ + + this.disabled = false; + /** + * When the split-pane should be shown. + * Can be a CSS media query expression, or a shortcut expression. + * Can also be a boolean expression. + */ + + this.when = QUERY['lg']; + } + + _createClass(SplitPane, [{ + key: "visibleChanged", + value: function visibleChanged(visible) { + var detail = { + visible: visible, + isPane: this.isPane.bind(this) + }; + this.ionSplitPaneVisible.emit(detail); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.styleChildren(); + this.updateState(); + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (this.rmL) { + this.rmL(); + this.rmL = undefined; + } + } + }, { + key: "updateState", + value: function updateState() { + var _this = this; + + if (this.rmL) { + this.rmL(); + this.rmL = undefined; + } // Check if the split-pane is disabled + + + if (this.disabled) { + this.visible = false; + return; + } // When query is a boolean + + + var query = this.when; + + if (typeof query === 'boolean') { + this.visible = query; + return; + } // When query is a string, let's find first if it is a shortcut + + + var mediaQuery = QUERY[query] || query; // Media query is empty or null, we hide it + + if (mediaQuery.length === 0) { + this.visible = false; + return; + } + + if (window.matchMedia) { + // Listen on media query + var callback = function callback(q) { + _this.visible = q.matches; + }; + + var mediaList = window.matchMedia(mediaQuery); + mediaList.addListener(callback); + + this.rmL = function () { + return mediaList.removeListener(callback); + }; + + this.visible = mediaList.matches; + } + } + }, { + key: "isPane", + value: function isPane(element) { + if (!this.visible) { + return false; + } + + return element.parentElement === this.el && element.classList.contains(SPLIT_PANE_SIDE); + } + }, { + key: "styleChildren", + value: function styleChildren() { + var contentId = this.contentId; + var children = this.el.children; + var nu = this.el.childElementCount; + var foundMain = false; + + for (var i = 0; i < nu; i++) { + var child = children[i]; + var isMain = contentId !== undefined && child.id === contentId; + + if (isMain) { + if (foundMain) { + console.warn('split pane cannot have more than one main node'); + return; + } + + foundMain = true; + } + + setPaneClass(child, isMain); + } + + if (!foundMain) { + console.warn('split pane does not have a specified main node'); + } + } + }, { + key: "render", + value: function render() { + var _class; + + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, "split-pane-".concat(mode), true), _defineProperty(_class, 'split-pane-visible', this.visible), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "visible": ["visibleChanged"], + "disabled": ["updateState"], + "when": ["updateState"] + }; + } + }]); + + return SplitPane; + }(); + + var setPaneClass = function setPaneClass(el, isMain) { + var toAdd; + var toRemove; + + if (isMain) { + toAdd = SPLIT_PANE_MAIN; + toRemove = SPLIT_PANE_SIDE; + } else { + toAdd = SPLIT_PANE_SIDE; + toRemove = SPLIT_PANE_MAIN; + } + + var classList = el.classList; + classList.add(toAdd); + classList.remove(toRemove); + }; + + SplitPane.style = { + ios: splitPaneIosCss, + md: splitPaneMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=35-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/35-es5.js.map b/android/app/src/main/assets/public/35-es5.js.map new file mode 100644 index 000000000..09024a502 --- /dev/null +++ b/android/app/src/main/assets/public/35-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js"],"names":["splitPaneIosCss","splitPaneMdCss","SPLIT_PANE_MAIN","SPLIT_PANE_SIDE","QUERY","SplitPane","hostRef","ionSplitPaneVisible","visible","disabled","when","detail","isPane","bind","emit","styleChildren","updateState","rmL","undefined","query","mediaQuery","length","window","matchMedia","callback","q","matches","mediaList","addListener","removeListener","element","parentElement","el","classList","contains","contentId","children","nu","childElementCount","foundMain","i","child","isMain","id","console","warn","setPaneClass","mode","toAdd","toRemove","add","remove","style","ios","md"],"mappings":"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","file":"35-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\n\nconst splitPaneIosCss = \":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}\";\n\nconst splitPaneMdCss = \":host{--side-width:100%;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}::slotted(ion-menu.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width);min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.split-pane-visible) ::slotted(.split-pane-side),:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none !important;box-shadow:none !important;z-index:0}:host(.split-pane-visible) ::slotted(.split-pane-main){-ms-flex:1;flex:1}:host(.split-pane-visible) ::slotted(.split-pane-side:not(ion-menu)),:host(.split-pane-visible) ::slotted(ion-menu.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host(.split-pane-visible) ::slotted(.split-pane-side){-ms-flex-order:-1;order:-1}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--side-min-width:270px;--side-max-width:28%}:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:0;border-right:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side){border-left:unset;border-right:unset;-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border)}}:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:var(--border);border-right:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.split-pane-visible) ::slotted(.split-pane-side[side=end]){border-left:unset;border-right:unset;-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0}}\";\n\nconst SPLIT_PANE_MAIN = 'split-pane-main';\nconst SPLIT_PANE_SIDE = 'split-pane-side';\nconst 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};\nconst SplitPane = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSplitPaneVisible = createEvent(this, \"ionSplitPaneVisible\", 7);\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 }\n visibleChanged(visible) {\n const detail = { visible, isPane: this.isPane.bind(this) };\n this.ionSplitPaneVisible.emit(detail);\n }\n connectedCallback() {\n this.styleChildren();\n this.updateState();\n }\n disconnectedCallback() {\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n }\n updateState() {\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 const 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 const 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 const callback = (q) => {\n this.visible = q.matches;\n };\n const mediaList = window.matchMedia(mediaQuery);\n mediaList.addListener(callback);\n this.rmL = () => mediaList.removeListener(callback);\n this.visible = mediaList.matches;\n }\n }\n isPane(element) {\n if (!this.visible) {\n return false;\n }\n return element.parentElement === this.el\n && element.classList.contains(SPLIT_PANE_SIDE);\n }\n styleChildren() {\n const contentId = this.contentId;\n const children = this.el.children;\n const nu = this.el.childElementCount;\n let foundMain = false;\n for (let i = 0; i < nu; i++) {\n const child = children[i];\n const isMain = contentId !== undefined && child.id === contentId;\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 render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`split-pane-${mode}`]: true,\n 'split-pane-visible': this.visible\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"visible\": [\"visibleChanged\"],\n \"disabled\": [\"updateState\"],\n \"when\": [\"updateState\"]\n }; }\n};\nconst setPaneClass = (el, isMain) => {\n let toAdd;\n let 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 const classList = el.classList;\n classList.add(toAdd);\n classList.remove(toRemove);\n};\nSplitPane.style = {\n ios: splitPaneIosCss,\n md: splitPaneMdCss\n};\n\nexport { SplitPane as ion_split_pane };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/36-es2015.js b/android/app/src/main/assets/public/36-es2015.js new file mode 100644 index 000000000..44bc68726 --- /dev/null +++ b/android/app/src/main/assets/public/36-es2015.js @@ -0,0 +1,188 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[36],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js": +/*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js ***! + \******************************************************************/ +/*! exports provided: ion_tab_bar, ion_tab_button */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_tab_bar", function() { return TabBar; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_tab_button", function() { return TabButton; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + +const tabBarIosCss = ":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}"; + +const tabBarMdCss = ":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}"; + +const TabBar = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionTabBarChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabBarChanged", 7); + this.keyboardVisible = false; + /** + * If `true`, the tab bar will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + this.translucent = false; + } + selectedTabChanged() { + if (this.selectedTab !== undefined) { + this.ionTabBarChanged.emit({ + tab: this.selectedTab + }); + } + } + componentWillLoad() { + this.selectedTabChanged(); + } + connectedCallback() { + if (typeof window !== 'undefined') { + this.keyboardWillShowHandler = () => { + if (this.el.getAttribute('slot') !== 'top') { + this.keyboardVisible = true; + } + }; + this.keyboardWillHideHandler = () => { + setTimeout(() => this.keyboardVisible = false, 50); + }; + window.addEventListener('keyboardWillShow', this.keyboardWillShowHandler); + window.addEventListener('keyboardWillHide', this.keyboardWillHideHandler); + } + } + disconnectedCallback() { + if (typeof window !== 'undefined') { + window.removeEventListener('keyboardWillShow', this.keyboardWillShowHandler); + window.removeEventListener('keyboardWillHide', this.keyboardWillHideHandler); + this.keyboardWillShowHandler = this.keyboardWillHideHandler = undefined; + } + } + render() { + const { color, translucent, keyboardVisible } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "tablist", "aria-hidden": keyboardVisible ? 'true' : null, class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(color, { + [mode]: true, + 'tab-bar-translucent': translucent, + 'tab-bar-hidden': keyboardVisible, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "selectedTab": ["selectedTabChanged"] + }; } +}; +TabBar.style = { + ios: tabBarIosCss, + md: tabBarMdCss +}; + +const tabButtonIosCss = ":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + +const tabButtonMdCss = ":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}"; + +const TabButton = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionTabButtonClick = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabButtonClick", 7); + /** + * If `true`, the user cannot interact with the tab button. + */ + this.disabled = false; + /** + * The selected tab component + */ + this.selected = false; + this.onKeyUp = (ev) => { + if (ev.key === 'Enter' || ev.key === ' ') { + this.selectTab(ev); + } + }; + this.onClick = (ev) => { + this.selectTab(ev); + }; + } + onTabBarChanged(ev) { + const dispatchedFrom = ev.target; + const parent = this.el.parentElement; + if ((ev.composedPath && ev.composedPath().includes(parent)) || (dispatchedFrom && dispatchedFrom.contains(this.el))) { + this.selected = this.tab === ev.detail.tab; + } + } + componentWillLoad() { + if (this.layout === undefined) { + this.layout = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('tabButtonLayout', 'icon-top'); + } + } + selectTab(ev) { + if (this.tab !== undefined) { + if (!this.disabled) { + this.ionTabButtonClick.emit({ + tab: this.tab, + href: this.href, + selected: this.selected + }); + } + ev.preventDefault(); + } + } + get hasLabel() { + return !!this.el.querySelector('ion-label'); + } + get hasIcon() { + return !!this.el.querySelector('ion-icon'); + } + get tabIndex() { + if (this.disabled) { + return -1; + } + const hasTabIndex = this.el.hasAttribute('tabindex'); + if (hasTabIndex) { + return this.el.getAttribute('tabindex'); + } + return 0; + } + render() { + const { disabled, hasIcon, hasLabel, tabIndex, href, rel, target, layout, selected, tab } = this; + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + const attrs = { + download: this.download, + href, + rel, + target + }; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onClick: this.onClick, onKeyup: this.onKeyUp, role: "tab", tabindex: tabIndex, "aria-selected": selected ? 'true' : null, id: tab !== undefined ? `tab-button-${tab}` : null, class: { + [mode]: true, + 'tab-selected': selected, + 'tab-disabled': disabled, + 'tab-has-label': hasLabel, + 'tab-has-icon': hasIcon, + 'tab-has-label-only': hasLabel && !hasIcon, + 'tab-has-icon-only': hasIcon && !hasLabel, + [`tab-layout-${layout}`]: true, + 'ion-activatable': true, + 'ion-selectable': true, + 'ion-focusable': true + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("a", Object.assign({}, attrs, { tabIndex: -1, class: "button-native", part: "native" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { class: "button-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", { type: "unbounded" })))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +TabButton.style = { + ios: tabButtonIosCss, + md: tabButtonMdCss +}; + + + + +/***/ }) + +}]); +//# sourceMappingURL=36-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/36-es2015.js.map b/android/app/src/main/assets/public/36-es2015.js.map new file mode 100644 index 000000000..efb62f813 --- /dev/null +++ b/android/app/src/main/assets/public/36-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js"],"names":[],"mappings":"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","file":"36-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst tabBarIosCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}\";\n\nconst tabBarMdCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}\";\n\nconst TabBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabBarChanged = createEvent(this, \"ionTabBarChanged\", 7);\n this.keyboardVisible = false;\n /**\n * If `true`, the tab bar 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 selectedTabChanged() {\n if (this.selectedTab !== undefined) {\n this.ionTabBarChanged.emit({\n tab: this.selectedTab\n });\n }\n }\n componentWillLoad() {\n this.selectedTabChanged();\n }\n connectedCallback() {\n if (typeof window !== 'undefined') {\n this.keyboardWillShowHandler = () => {\n if (this.el.getAttribute('slot') !== 'top') {\n this.keyboardVisible = true;\n }\n };\n this.keyboardWillHideHandler = () => {\n setTimeout(() => this.keyboardVisible = false, 50);\n };\n window.addEventListener('keyboardWillShow', this.keyboardWillShowHandler);\n window.addEventListener('keyboardWillHide', this.keyboardWillHideHandler);\n }\n }\n disconnectedCallback() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('keyboardWillShow', this.keyboardWillShowHandler);\n window.removeEventListener('keyboardWillHide', this.keyboardWillHideHandler);\n this.keyboardWillShowHandler = this.keyboardWillHideHandler = undefined;\n }\n }\n render() {\n const { color, translucent, keyboardVisible } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"tablist\", \"aria-hidden\": keyboardVisible ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'tab-bar-translucent': translucent,\n 'tab-bar-hidden': keyboardVisible,\n }) }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"selectedTab\": [\"selectedTabChanged\"]\n }; }\n};\nTabBar.style = {\n ios: tabBarIosCss,\n md: tabBarMdCss\n};\n\nconst tabButtonIosCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst tabButtonMdCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}\";\n\nconst TabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabButtonClick = createEvent(this, \"ionTabButtonClick\", 7);\n /**\n * If `true`, the user cannot interact with the tab button.\n */\n this.disabled = false;\n /**\n * The selected tab component\n */\n this.selected = false;\n this.onKeyUp = (ev) => {\n if (ev.key === 'Enter' || ev.key === ' ') {\n this.selectTab(ev);\n }\n };\n this.onClick = (ev) => {\n this.selectTab(ev);\n };\n }\n onTabBarChanged(ev) {\n const dispatchedFrom = ev.target;\n const parent = this.el.parentElement;\n if ((ev.composedPath && ev.composedPath().includes(parent)) || (dispatchedFrom && dispatchedFrom.contains(this.el))) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n componentWillLoad() {\n if (this.layout === undefined) {\n this.layout = config.get('tabButtonLayout', 'icon-top');\n }\n }\n selectTab(ev) {\n if (this.tab !== undefined) {\n if (!this.disabled) {\n this.ionTabButtonClick.emit({\n tab: this.tab,\n href: this.href,\n selected: this.selected\n });\n }\n ev.preventDefault();\n }\n }\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n get tabIndex() {\n if (this.disabled) {\n return -1;\n }\n const hasTabIndex = this.el.hasAttribute('tabindex');\n if (hasTabIndex) {\n return this.el.getAttribute('tabindex');\n }\n return 0;\n }\n render() {\n const { disabled, hasIcon, hasLabel, tabIndex, href, rel, target, layout, selected, tab } = this;\n const mode = getIonMode(this);\n const attrs = {\n download: this.download,\n href,\n rel,\n target\n };\n return (h(Host, { onClick: this.onClick, onKeyup: this.onKeyUp, role: \"tab\", tabindex: tabIndex, \"aria-selected\": selected ? 'true' : null, id: tab !== undefined ? `tab-button-${tab}` : null, class: {\n [mode]: true,\n 'tab-selected': selected,\n 'tab-disabled': disabled,\n 'tab-has-label': hasLabel,\n 'tab-has-icon': hasIcon,\n 'tab-has-label-only': hasLabel && !hasIcon,\n 'tab-has-icon-only': hasIcon && !hasLabel,\n [`tab-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-selectable': true,\n 'ion-focusable': true\n } }, h(\"a\", Object.assign({}, attrs, { tabIndex: -1, class: \"button-native\", part: \"native\" }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nTabButton.style = {\n ios: tabButtonIosCss,\n md: tabButtonMdCss\n};\n\nexport { TabBar as ion_tab_bar, TabButton as ion_tab_button };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/36-es5.js b/android/app/src/main/assets/public/36-es5.js new file mode 100644 index 000000000..63b2710f5 --- /dev/null +++ b/android/app/src/main/assets/public/36-es5.js @@ -0,0 +1,301 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[36], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js": + /*!******************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js ***! + \******************************************************************/ + + /*! exports provided: ion_tab_bar, ion_tab_button */ + + /***/ + function node_modulesIonicCoreDistEsmIonTabBar_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_tab_bar", function () { + return TabBar; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_tab_button", function () { + return TabButton; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var tabBarIosCss = ":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}"; + var tabBarMdCss = ":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}"; + + var TabBar = /*#__PURE__*/function () { + function TabBar(hostRef) { + _classCallCheck(this, TabBar); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionTabBarChanged = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabBarChanged", 7); + this.keyboardVisible = false; + /** + * If `true`, the tab bar will be translucent. + * Only applies when the mode is `"ios"` and the device supports + * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). + */ + + this.translucent = false; + } + + _createClass(TabBar, [{ + key: "selectedTabChanged", + value: function selectedTabChanged() { + if (this.selectedTab !== undefined) { + this.ionTabBarChanged.emit({ + tab: this.selectedTab + }); + } + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + this.selectedTabChanged(); + } + }, { + key: "connectedCallback", + value: function connectedCallback() { + var _this = this; + + if (typeof window !== 'undefined') { + this.keyboardWillShowHandler = function () { + if (_this.el.getAttribute('slot') !== 'top') { + _this.keyboardVisible = true; + } + }; + + this.keyboardWillHideHandler = function () { + setTimeout(function () { + return _this.keyboardVisible = false; + }, 50); + }; + + window.addEventListener('keyboardWillShow', this.keyboardWillShowHandler); + window.addEventListener('keyboardWillHide', this.keyboardWillHideHandler); + } + } + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + if (typeof window !== 'undefined') { + window.removeEventListener('keyboardWillShow', this.keyboardWillShowHandler); + window.removeEventListener('keyboardWillHide', this.keyboardWillHideHandler); + this.keyboardWillShowHandler = this.keyboardWillHideHandler = undefined; + } + } + }, { + key: "render", + value: function render() { + var _Object; + + var color = this.color, + translucent = this.translucent, + keyboardVisible = this.keyboardVisible; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "tablist", + "aria-hidden": keyboardVisible ? 'true' : null, + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(color, (_Object = {}, _defineProperty(_Object, mode, true), _defineProperty(_Object, 'tab-bar-translucent', translucent), _defineProperty(_Object, 'tab-bar-hidden', keyboardVisible), _Object)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "selectedTab": ["selectedTabChanged"] + }; + } + }]); + + return TabBar; + }(); + + TabBar.style = { + ios: tabBarIosCss, + md: tabBarMdCss + }; + var tabButtonIosCss = ":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}"; + var tabButtonMdCss = ":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}"; + + var TabButton = /*#__PURE__*/function () { + function TabButton(hostRef) { + var _this2 = this; + + _classCallCheck(this, TabButton); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionTabButtonClick = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabButtonClick", 7); + /** + * If `true`, the user cannot interact with the tab button. + */ + + this.disabled = false; + /** + * The selected tab component + */ + + this.selected = false; + + this.onKeyUp = function (ev) { + if (ev.key === 'Enter' || ev.key === ' ') { + _this2.selectTab(ev); + } + }; + + this.onClick = function (ev) { + _this2.selectTab(ev); + }; + } + + _createClass(TabButton, [{ + key: "onTabBarChanged", + value: function onTabBarChanged(ev) { + var dispatchedFrom = ev.target; + var parent = this.el.parentElement; + + if (ev.composedPath && ev.composedPath().includes(parent) || dispatchedFrom && dispatchedFrom.contains(this.el)) { + this.selected = this.tab === ev.detail.tab; + } + } + }, { + key: "componentWillLoad", + value: function componentWillLoad() { + if (this.layout === undefined) { + this.layout = _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["c"].get('tabButtonLayout', 'icon-top'); + } + } + }, { + key: "selectTab", + value: function selectTab(ev) { + if (this.tab !== undefined) { + if (!this.disabled) { + this.ionTabButtonClick.emit({ + tab: this.tab, + href: this.href, + selected: this.selected + }); + } + + ev.preventDefault(); + } + } + }, { + key: "hasLabel", + get: function get() { + return !!this.el.querySelector('ion-label'); + } + }, { + key: "hasIcon", + get: function get() { + return !!this.el.querySelector('ion-icon'); + } + }, { + key: "tabIndex", + get: function get() { + if (this.disabled) { + return -1; + } + + var hasTabIndex = this.el.hasAttribute('tabindex'); + + if (hasTabIndex) { + return this.el.getAttribute('tabindex'); + } + + return 0; + } + }, { + key: "render", + value: function render() { + var _class; + + var disabled = this.disabled, + hasIcon = this.hasIcon, + hasLabel = this.hasLabel, + tabIndex = this.tabIndex, + href = this.href, + rel = this.rel, + target = this.target, + layout = this.layout, + selected = this.selected, + tab = this.tab; + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + var attrs = { + download: this.download, + href: href, + rel: rel, + target: target + }; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onClick: this.onClick, + onKeyup: this.onKeyUp, + role: "tab", + tabindex: tabIndex, + "aria-selected": selected ? 'true' : null, + id: tab !== undefined ? "tab-button-".concat(tab) : null, + "class": (_class = {}, _defineProperty(_class, mode, true), _defineProperty(_class, 'tab-selected', selected), _defineProperty(_class, 'tab-disabled', disabled), _defineProperty(_class, 'tab-has-label', hasLabel), _defineProperty(_class, 'tab-has-icon', hasIcon), _defineProperty(_class, 'tab-has-label-only', hasLabel && !hasIcon), _defineProperty(_class, 'tab-has-icon-only', hasIcon && !hasLabel), _defineProperty(_class, "tab-layout-".concat(layout), true), _defineProperty(_class, 'ion-activatable', true), _defineProperty(_class, 'ion-selectable', true), _defineProperty(_class, 'ion-focusable', true), _class) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("a", Object.assign({}, attrs, { + tabIndex: -1, + "class": "button-native", + part: "native" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("span", { + "class": "button-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), mode === 'md' && Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("ion-ripple-effect", { + type: "unbounded" + }))); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return TabButton; + }(); + + TabButton.style = { + ios: tabButtonIosCss, + md: tabButtonMdCss + }; + /***/ + } +}]); +//# sourceMappingURL=36-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/36-es5.js.map b/android/app/src/main/assets/public/36-es5.js.map new file mode 100644 index 000000000..a008f4ebd --- /dev/null +++ b/android/app/src/main/assets/public/36-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js"],"names":["tabBarIosCss","tabBarMdCss","TabBar","hostRef","ionTabBarChanged","keyboardVisible","translucent","selectedTab","undefined","emit","tab","selectedTabChanged","window","keyboardWillShowHandler","el","getAttribute","keyboardWillHideHandler","setTimeout","addEventListener","removeEventListener","color","mode","role","style","ios","md","tabButtonIosCss","tabButtonMdCss","TabButton","ionTabButtonClick","disabled","selected","onKeyUp","ev","key","selectTab","onClick","dispatchedFrom","target","parent","parentElement","composedPath","includes","contains","detail","layout","get","href","preventDefault","querySelector","hasTabIndex","hasAttribute","hasIcon","hasLabel","tabIndex","rel","attrs","download","onKeyup","tabindex","id","Object","assign","part","type"],"mappings":"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","file":"36-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode, c as config } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst tabBarIosCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}\";\n\nconst tabBarMdCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@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(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}\";\n\nconst TabBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabBarChanged = createEvent(this, \"ionTabBarChanged\", 7);\n this.keyboardVisible = false;\n /**\n * If `true`, the tab bar 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 selectedTabChanged() {\n if (this.selectedTab !== undefined) {\n this.ionTabBarChanged.emit({\n tab: this.selectedTab\n });\n }\n }\n componentWillLoad() {\n this.selectedTabChanged();\n }\n connectedCallback() {\n if (typeof window !== 'undefined') {\n this.keyboardWillShowHandler = () => {\n if (this.el.getAttribute('slot') !== 'top') {\n this.keyboardVisible = true;\n }\n };\n this.keyboardWillHideHandler = () => {\n setTimeout(() => this.keyboardVisible = false, 50);\n };\n window.addEventListener('keyboardWillShow', this.keyboardWillShowHandler);\n window.addEventListener('keyboardWillHide', this.keyboardWillHideHandler);\n }\n }\n disconnectedCallback() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('keyboardWillShow', this.keyboardWillShowHandler);\n window.removeEventListener('keyboardWillHide', this.keyboardWillHideHandler);\n this.keyboardWillShowHandler = this.keyboardWillHideHandler = undefined;\n }\n }\n render() {\n const { color, translucent, keyboardVisible } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"tablist\", \"aria-hidden\": keyboardVisible ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'tab-bar-translucent': translucent,\n 'tab-bar-hidden': keyboardVisible,\n }) }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"selectedTab\": [\"selectedTabChanged\"]\n }; }\n};\nTabBar.style = {\n ios: tabBarIosCss,\n md: tabBarMdCss\n};\n\nconst tabButtonIosCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst tabButtonMdCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}\";\n\nconst TabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabButtonClick = createEvent(this, \"ionTabButtonClick\", 7);\n /**\n * If `true`, the user cannot interact with the tab button.\n */\n this.disabled = false;\n /**\n * The selected tab component\n */\n this.selected = false;\n this.onKeyUp = (ev) => {\n if (ev.key === 'Enter' || ev.key === ' ') {\n this.selectTab(ev);\n }\n };\n this.onClick = (ev) => {\n this.selectTab(ev);\n };\n }\n onTabBarChanged(ev) {\n const dispatchedFrom = ev.target;\n const parent = this.el.parentElement;\n if ((ev.composedPath && ev.composedPath().includes(parent)) || (dispatchedFrom && dispatchedFrom.contains(this.el))) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n componentWillLoad() {\n if (this.layout === undefined) {\n this.layout = config.get('tabButtonLayout', 'icon-top');\n }\n }\n selectTab(ev) {\n if (this.tab !== undefined) {\n if (!this.disabled) {\n this.ionTabButtonClick.emit({\n tab: this.tab,\n href: this.href,\n selected: this.selected\n });\n }\n ev.preventDefault();\n }\n }\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n get tabIndex() {\n if (this.disabled) {\n return -1;\n }\n const hasTabIndex = this.el.hasAttribute('tabindex');\n if (hasTabIndex) {\n return this.el.getAttribute('tabindex');\n }\n return 0;\n }\n render() {\n const { disabled, hasIcon, hasLabel, tabIndex, href, rel, target, layout, selected, tab } = this;\n const mode = getIonMode(this);\n const attrs = {\n download: this.download,\n href,\n rel,\n target\n };\n return (h(Host, { onClick: this.onClick, onKeyup: this.onKeyUp, role: \"tab\", tabindex: tabIndex, \"aria-selected\": selected ? 'true' : null, id: tab !== undefined ? `tab-button-${tab}` : null, class: {\n [mode]: true,\n 'tab-selected': selected,\n 'tab-disabled': disabled,\n 'tab-has-label': hasLabel,\n 'tab-has-icon': hasIcon,\n 'tab-has-label-only': hasLabel && !hasIcon,\n 'tab-has-icon-only': hasIcon && !hasLabel,\n [`tab-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-selectable': true,\n 'ion-focusable': true\n } }, h(\"a\", Object.assign({}, attrs, { tabIndex: -1, class: \"button-native\", part: \"native\" }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nTabButton.style = {\n ios: tabButtonIosCss,\n md: tabButtonMdCss\n};\n\nexport { TabBar as ion_tab_bar, TabButton as ion_tab_button };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/37-es2015.js b/android/app/src/main/assets/public/37-es2015.js new file mode 100644 index 000000000..addcd95b5 --- /dev/null +++ b/android/app/src/main/assets/public/37-es2015.js @@ -0,0 +1,223 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[37],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js": +/*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js ***! + \**************************************************************/ +/*! exports provided: ion_tab, ion_tabs */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_tab", function() { return Tab; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_tabs", function() { return Tabs; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./framework-delegate-4584ab5a.js */ "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + + +const tabCss = ":host(.tab-hidden){display:none !important}"; + +const Tab = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.loaded = false; + /** @internal */ + this.active = false; + } + async componentWillLoad() { + if (this.active) { + await this.setActive(); + } + } + /** Set the active component for the tab */ + async setActive() { + await this.prepareLazyLoaded(); + this.active = true; + } + changeActive(isActive) { + if (isActive) { + this.prepareLazyLoaded(); + } + } + prepareLazyLoaded() { + if (!this.loaded && this.component != null) { + this.loaded = true; + try { + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_1__["a"])(this.delegate, this.el, this.component, ['ion-page']); + } + catch (e) { + console.error(e); + } + } + return Promise.resolve(undefined); + } + render() { + const { tab, active, component } = this; + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: { + 'ion-page': component === undefined, + 'tab-hidden': !active + } }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } + static get watchers() { return { + "active": ["changeActive"] + }; } +}; +Tab.style = tabCss; + +const tabsCss = ":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}"; + +const Tabs = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionTabsWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabsWillChange", 3); + this.ionTabsDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabsDidChange", 3); + this.transitioning = false; + /** @internal */ + this.useRouter = false; + this.onTabClicked = (ev) => { + const { href, tab } = ev.detail; + if (this.useRouter && href !== undefined) { + const router = document.querySelector('ion-router'); + if (router) { + router.push(href); + } + } + else { + this.select(tab); + } + }; + } + async componentWillLoad() { + if (!this.useRouter) { + this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]'); + } + if (!this.useRouter) { + const tabs = this.tabs; + if (tabs.length > 0) { + await this.select(tabs[0]); + } + } + this.ionNavWillLoad.emit(); + } + componentWillRender() { + const tabBar = this.el.querySelector('ion-tab-bar'); + if (tabBar) { + const tab = this.selectedTab ? this.selectedTab.tab : undefined; + tabBar.selectedTab = tab; + } + } + /** + * Select a tab by the value of its `tab` property or an element reference. + * + * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. + */ + async select(tab) { + const selectedTab = getTab(this.tabs, tab); + if (!this.shouldSwitch(selectedTab)) { + return false; + } + await this.setActive(selectedTab); + await this.notifyRouter(); + this.tabSwitch(); + return true; + } + /** + * Get a specific tab by the value of its `tab` property or an element reference. + * + * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. + */ + async getTab(tab) { + return getTab(this.tabs, tab); + } + /** + * Get the currently selected tab. + */ + getSelected() { + return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined); + } + /** @internal */ + async setRouteId(id) { + const selectedTab = getTab(this.tabs, id); + if (!this.shouldSwitch(selectedTab)) { + return { changed: false, element: this.selectedTab }; + } + await this.setActive(selectedTab); + return { + changed: true, + element: this.selectedTab, + markVisible: () => this.tabSwitch(), + }; + } + /** @internal */ + async getRouteId() { + const tabId = this.selectedTab && this.selectedTab.tab; + return tabId !== undefined ? { id: tabId, element: this.selectedTab } : undefined; + } + setActive(selectedTab) { + if (this.transitioning) { + return Promise.reject('transitioning already happening'); + } + this.transitioning = true; + this.leavingTab = this.selectedTab; + this.selectedTab = selectedTab; + this.ionTabsWillChange.emit({ tab: selectedTab.tab }); + selectedTab.active = true; + return Promise.resolve(); + } + tabSwitch() { + const selectedTab = this.selectedTab; + const leavingTab = this.leavingTab; + this.leavingTab = undefined; + this.transitioning = false; + if (!selectedTab) { + return; + } + if (leavingTab !== selectedTab) { + if (leavingTab) { + leavingTab.active = false; + } + this.ionTabsDidChange.emit({ tab: selectedTab.tab }); + } + } + notifyRouter() { + if (this.useRouter) { + const router = document.querySelector('ion-router'); + if (router) { + return router.navChanged('forward'); + } + } + return Promise.resolve(false); + } + shouldSwitch(selectedTab) { + const leavingTab = this.selectedTab; + return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning; + } + get tabs() { + return Array.from(this.el.querySelectorAll('ion-tab')); + } + render() { + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { onIonTabButtonClick: this.onTabClicked }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "top" }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { class: "tabs-inner" }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { name: "bottom" }))); + } + get el() { return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); } +}; +const getTab = (tabs, tab) => { + const tabEl = (typeof tab === 'string') + ? tabs.find(t => t.tab === tab) + : tab; + if (!tabEl) { + console.error(`tab with id: "${tabEl}" does not exist`); + } + return tabEl; +}; +Tabs.style = tabsCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=37-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/37-es2015.js.map b/android/app/src/main/assets/public/37-es2015.js.map new file mode 100644 index 000000000..e1a0e06ab --- /dev/null +++ b/android/app/src/main/assets/public/37-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AACrC;;AAExE,mCAAmC,wBAAwB;;AAE3D;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yEAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,YAAY,4DAAC,CAAC,oDAAI,GAAG,4FAA4F,IAAI;AACrH;AACA;AACA,OAAO,EAAE,EAAE,4DAAC;AACZ;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA;;AAEA,uBAAuB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,WAAW,YAAY,0BAA0B,UAAU,YAAY,kBAAkB,WAAW,OAAO,0BAA0B;;AAE7R;AACA;AACA,IAAI,4DAAgB;AACpB,0BAA0B,4DAAW;AACrC,6BAA6B,4DAAW;AACxC,4BAA4B,4DAAW;AACvC;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;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;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uCAAuC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,uBAAuB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAC,CAAC,oDAAI,GAAG,yCAAyC,EAAE,4DAAC,UAAU,cAAc,GAAG,4DAAC,SAAS,sBAAsB,EAAE,4DAAC,iBAAiB,4DAAC,UAAU,iBAAiB;AAC5K;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,MAAM;AACzC;AACA;AACA;AACA;;AAE4C","file":"37-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { a as attachComponent } from './framework-delegate-4584ab5a.js';\n\nconst tabCss = \":host(.tab-hidden){display:none !important}\";\n\nconst Tab = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.loaded = false;\n /** @internal */\n this.active = false;\n }\n async componentWillLoad() {\n if (this.active) {\n await this.setActive();\n }\n }\n /** Set the active component for the tab */\n async setActive() {\n await this.prepareLazyLoaded();\n this.active = true;\n }\n changeActive(isActive) {\n if (isActive) {\n this.prepareLazyLoaded();\n }\n }\n prepareLazyLoaded() {\n if (!this.loaded && this.component != null) {\n this.loaded = true;\n try {\n return attachComponent(this.delegate, this.el, this.component, ['ion-page']);\n }\n catch (e) {\n console.error(e);\n }\n }\n return Promise.resolve(undefined);\n }\n render() {\n const { tab, active, component } = this;\n return (h(Host, { role: \"tabpanel\", \"aria-hidden\": !active ? 'true' : null, \"aria-labelledby\": `tab-button-${tab}`, class: {\n 'ion-page': component === undefined,\n 'tab-hidden': !active\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"active\": [\"changeActive\"]\n }; }\n};\nTab.style = tabCss;\n\nconst tabsCss = \":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}\";\n\nconst Tabs = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionTabsWillChange = createEvent(this, \"ionTabsWillChange\", 3);\n this.ionTabsDidChange = createEvent(this, \"ionTabsDidChange\", 3);\n this.transitioning = false;\n /** @internal */\n this.useRouter = false;\n this.onTabClicked = (ev) => {\n const { href, tab } = ev.detail;\n if (this.useRouter && href !== undefined) {\n const router = document.querySelector('ion-router');\n if (router) {\n router.push(href);\n }\n }\n else {\n this.select(tab);\n }\n };\n }\n async componentWillLoad() {\n if (!this.useRouter) {\n this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]');\n }\n if (!this.useRouter) {\n const tabs = this.tabs;\n if (tabs.length > 0) {\n await this.select(tabs[0]);\n }\n }\n this.ionNavWillLoad.emit();\n }\n componentWillRender() {\n const tabBar = this.el.querySelector('ion-tab-bar');\n if (tabBar) {\n const tab = this.selectedTab ? this.selectedTab.tab : undefined;\n tabBar.selectedTab = tab;\n }\n }\n /**\n * Select a tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n async select(tab) {\n const selectedTab = getTab(this.tabs, tab);\n if (!this.shouldSwitch(selectedTab)) {\n return false;\n }\n await this.setActive(selectedTab);\n await this.notifyRouter();\n this.tabSwitch();\n return true;\n }\n /**\n * Get a specific tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n async getTab(tab) {\n return getTab(this.tabs, tab);\n }\n /**\n * Get the currently selected tab.\n */\n getSelected() {\n return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined);\n }\n /** @internal */\n async setRouteId(id) {\n const selectedTab = getTab(this.tabs, id);\n if (!this.shouldSwitch(selectedTab)) {\n return { changed: false, element: this.selectedTab };\n }\n await this.setActive(selectedTab);\n return {\n changed: true,\n element: this.selectedTab,\n markVisible: () => this.tabSwitch(),\n };\n }\n /** @internal */\n async getRouteId() {\n const tabId = this.selectedTab && this.selectedTab.tab;\n return tabId !== undefined ? { id: tabId, element: this.selectedTab } : undefined;\n }\n setActive(selectedTab) {\n if (this.transitioning) {\n return Promise.reject('transitioning already happening');\n }\n this.transitioning = true;\n this.leavingTab = this.selectedTab;\n this.selectedTab = selectedTab;\n this.ionTabsWillChange.emit({ tab: selectedTab.tab });\n selectedTab.active = true;\n return Promise.resolve();\n }\n tabSwitch() {\n const selectedTab = this.selectedTab;\n const leavingTab = this.leavingTab;\n this.leavingTab = undefined;\n this.transitioning = false;\n if (!selectedTab) {\n return;\n }\n if (leavingTab !== selectedTab) {\n if (leavingTab) {\n leavingTab.active = false;\n }\n this.ionTabsDidChange.emit({ tab: selectedTab.tab });\n }\n }\n notifyRouter() {\n if (this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n return router.navChanged('forward');\n }\n }\n return Promise.resolve(false);\n }\n shouldSwitch(selectedTab) {\n const leavingTab = this.selectedTab;\n return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning;\n }\n get tabs() {\n return Array.from(this.el.querySelectorAll('ion-tab'));\n }\n render() {\n return (h(Host, { onIonTabButtonClick: this.onTabClicked }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"tabs-inner\" }, h(\"slot\", null)), h(\"slot\", { name: \"bottom\" })));\n }\n get el() { return getElement(this); }\n};\nconst getTab = (tabs, tab) => {\n const tabEl = (typeof tab === 'string')\n ? tabs.find(t => t.tab === tab)\n : tab;\n if (!tabEl) {\n console.error(`tab with id: \"${tabEl}\" does not exist`);\n }\n return tabEl;\n};\nTabs.style = tabsCss;\n\nexport { Tab as ion_tab, Tabs as ion_tabs };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/37-es5.js b/android/app/src/main/assets/public/37-es5.js new file mode 100644 index 000000000..41bcc6322 --- /dev/null +++ b/android/app/src/main/assets/public/37-es5.js @@ -0,0 +1,541 @@ +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[37], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js": + /*!**************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js ***! + \**************************************************************/ + + /*! exports provided: ion_tab, ion_tabs */ + + /***/ + function node_modulesIonicCoreDistEsmIonTab_2EntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_tab", function () { + return Tab; + }); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_tabs", function () { + return Tabs; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./framework-delegate-4584ab5a.js */ + "./node_modules/@ionic/core/dist/esm/framework-delegate-4584ab5a.js"); + + var tabCss = ":host(.tab-hidden){display:none !important}"; + + var Tab = /*#__PURE__*/function () { + function Tab(hostRef) { + _classCallCheck(this, Tab); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.loaded = false; + /** @internal */ + + this.active = false; + } + + _createClass(Tab, [{ + key: "componentWillLoad", + value: function () { + var _componentWillLoad = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this.active) { + _context.next = 3; + break; + } + + _context.next = 3; + return this.setActive(); + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function componentWillLoad() { + return _componentWillLoad.apply(this, arguments); + } + + return componentWillLoad; + }() + /** Set the active component for the tab */ + + }, { + key: "setActive", + value: function () { + var _setActive = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this.prepareLazyLoaded(); + + case 2: + this.active = true; + + case 3: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function setActive() { + return _setActive.apply(this, arguments); + } + + return setActive; + }() + }, { + key: "changeActive", + value: function changeActive(isActive) { + if (isActive) { + this.prepareLazyLoaded(); + } + } + }, { + key: "prepareLazyLoaded", + value: function prepareLazyLoaded() { + if (!this.loaded && this.component != null) { + this.loaded = true; + + try { + return Object(_framework_delegate_4584ab5a_js__WEBPACK_IMPORTED_MODULE_1__["a"])(this.delegate, this.el, this.component, ['ion-page']); + } catch (e) { + console.error(e); + } + } + + return Promise.resolve(undefined); + } + }, { + key: "render", + value: function render() { + var tab = this.tab, + active = this.active, + component = this.component; + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + role: "tabpanel", + "aria-hidden": !active ? 'true' : null, + "aria-labelledby": "tab-button-".concat(tab), + "class": { + 'ion-page': component === undefined, + 'tab-hidden': !active + } + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }], [{ + key: "watchers", + get: function get() { + return { + "active": ["changeActive"] + }; + } + }]); + + return Tab; + }(); + + Tab.style = tabCss; + var tabsCss = ":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}"; + + var Tabs = /*#__PURE__*/function () { + function Tabs(hostRef) { + var _this = this; + + _classCallCheck(this, Tabs); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionNavWillLoad = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionNavWillLoad", 7); + this.ionTabsWillChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabsWillChange", 3); + this.ionTabsDidChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionTabsDidChange", 3); + this.transitioning = false; + /** @internal */ + + this.useRouter = false; + + this.onTabClicked = function (ev) { + var _ev$detail = ev.detail, + href = _ev$detail.href, + tab = _ev$detail.tab; + + if (_this.useRouter && href !== undefined) { + var router = document.querySelector('ion-router'); + + if (router) { + router.push(href); + } + } else { + _this.select(tab); + } + }; + } + + _createClass(Tabs, [{ + key: "componentWillLoad", + value: function () { + var _componentWillLoad2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { + var tabs; + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!this.useRouter) { + this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]'); + } + + if (this.useRouter) { + _context3.next = 6; + break; + } + + tabs = this.tabs; + + if (!(tabs.length > 0)) { + _context3.next = 6; + break; + } + + _context3.next = 6; + return this.select(tabs[0]); + + case 6: + this.ionNavWillLoad.emit(); + + case 7: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function componentWillLoad() { + return _componentWillLoad2.apply(this, arguments); + } + + return componentWillLoad; + }() + }, { + key: "componentWillRender", + value: function componentWillRender() { + var tabBar = this.el.querySelector('ion-tab-bar'); + + if (tabBar) { + var tab = this.selectedTab ? this.selectedTab.tab : undefined; + tabBar.selectedTab = tab; + } + } + /** + * Select a tab by the value of its `tab` property or an element reference. + * + * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. + */ + + }, { + key: "select", + value: function () { + var _select = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(tab) { + var selectedTab; + return regeneratorRuntime.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + selectedTab = _getTab(this.tabs, tab); + + if (this.shouldSwitch(selectedTab)) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return", false); + + case 3: + _context4.next = 5; + return this.setActive(selectedTab); + + case 5: + _context4.next = 7; + return this.notifyRouter(); + + case 7: + this.tabSwitch(); + return _context4.abrupt("return", true); + + case 9: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function select(_x) { + return _select.apply(this, arguments); + } + + return select; + }() + /** + * Get a specific tab by the value of its `tab` property or an element reference. + * + * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property. + */ + + }, { + key: "getTab", + value: function () { + var _getTab2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(tab) { + return regeneratorRuntime.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + return _context5.abrupt("return", _getTab(this.tabs, tab)); + + case 1: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function getTab(_x2) { + return _getTab2.apply(this, arguments); + } + + return getTab; + }() + /** + * Get the currently selected tab. + */ + + }, { + key: "getSelected", + value: function getSelected() { + return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined); + } + /** @internal */ + + }, { + key: "setRouteId", + value: function () { + var _setRouteId = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(id) { + var _this2 = this; + + var selectedTab; + return regeneratorRuntime.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + selectedTab = _getTab(this.tabs, id); + + if (this.shouldSwitch(selectedTab)) { + _context6.next = 3; + break; + } + + return _context6.abrupt("return", { + changed: false, + element: this.selectedTab + }); + + case 3: + _context6.next = 5; + return this.setActive(selectedTab); + + case 5: + return _context6.abrupt("return", { + changed: true, + element: this.selectedTab, + markVisible: function markVisible() { + return _this2.tabSwitch(); + } + }); + + case 6: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function setRouteId(_x3) { + return _setRouteId.apply(this, arguments); + } + + return setRouteId; + }() + /** @internal */ + + }, { + key: "getRouteId", + value: function () { + var _getRouteId = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { + var tabId; + return regeneratorRuntime.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + tabId = this.selectedTab && this.selectedTab.tab; + return _context7.abrupt("return", tabId !== undefined ? { + id: tabId, + element: this.selectedTab + } : undefined); + + case 2: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function getRouteId() { + return _getRouteId.apply(this, arguments); + } + + return getRouteId; + }() + }, { + key: "setActive", + value: function setActive(selectedTab) { + if (this.transitioning) { + return Promise.reject('transitioning already happening'); + } + + this.transitioning = true; + this.leavingTab = this.selectedTab; + this.selectedTab = selectedTab; + this.ionTabsWillChange.emit({ + tab: selectedTab.tab + }); + selectedTab.active = true; + return Promise.resolve(); + } + }, { + key: "tabSwitch", + value: function tabSwitch() { + var selectedTab = this.selectedTab; + var leavingTab = this.leavingTab; + this.leavingTab = undefined; + this.transitioning = false; + + if (!selectedTab) { + return; + } + + if (leavingTab !== selectedTab) { + if (leavingTab) { + leavingTab.active = false; + } + + this.ionTabsDidChange.emit({ + tab: selectedTab.tab + }); + } + } + }, { + key: "notifyRouter", + value: function notifyRouter() { + if (this.useRouter) { + var router = document.querySelector('ion-router'); + + if (router) { + return router.navChanged('forward'); + } + } + + return Promise.resolve(false); + } + }, { + key: "shouldSwitch", + value: function shouldSwitch(selectedTab) { + var leavingTab = this.selectedTab; + return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning; + } + }, { + key: "tabs", + get: function get() { + return Array.from(this.el.querySelectorAll('ion-tab')); + } + }, { + key: "render", + value: function render() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + onIonTabButtonClick: this.onTabClicked + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "top" + }), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("div", { + "class": "tabs-inner" + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)), Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", { + name: "bottom" + })); + } + }, { + key: "el", + get: function get() { + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["i"])(this); + } + }]); + + return Tabs; + }(); + + var _getTab = function _getTab(tabs, tab) { + var tabEl = typeof tab === 'string' ? tabs.find(function (t) { + return t.tab === tab; + }) : tab; + + if (!tabEl) { + console.error("tab with id: \"".concat(tabEl, "\" does not exist")); + } + + return tabEl; + }; + + Tabs.style = tabsCss; + /***/ + } +}]); +//# sourceMappingURL=37-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/37-es5.js.map b/android/app/src/main/assets/public/37-es5.js.map new file mode 100644 index 000000000..cb8b1cfa1 --- /dev/null +++ b/android/app/src/main/assets/public/37-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js"],"names":["tabCss","Tab","hostRef","loaded","active","setActive","prepareLazyLoaded","isActive","component","delegate","el","e","console","error","Promise","resolve","undefined","tab","role","style","tabsCss","Tabs","ionNavWillLoad","ionTabsWillChange","ionTabsDidChange","transitioning","useRouter","onTabClicked","ev","detail","href","router","document","querySelector","push","select","closest","tabs","length","emit","tabBar","selectedTab","getTab","shouldSwitch","notifyRouter","tabSwitch","id","changed","element","markVisible","tabId","reject","leavingTab","navChanged","Array","from","querySelectorAll","onIonTabButtonClick","name","tabEl","find","t"],"mappings":"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","file":"37-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-e806d1f6.js';\nimport { a as attachComponent } from './framework-delegate-4584ab5a.js';\n\nconst tabCss = \":host(.tab-hidden){display:none !important}\";\n\nconst Tab = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.loaded = false;\n /** @internal */\n this.active = false;\n }\n async componentWillLoad() {\n if (this.active) {\n await this.setActive();\n }\n }\n /** Set the active component for the tab */\n async setActive() {\n await this.prepareLazyLoaded();\n this.active = true;\n }\n changeActive(isActive) {\n if (isActive) {\n this.prepareLazyLoaded();\n }\n }\n prepareLazyLoaded() {\n if (!this.loaded && this.component != null) {\n this.loaded = true;\n try {\n return attachComponent(this.delegate, this.el, this.component, ['ion-page']);\n }\n catch (e) {\n console.error(e);\n }\n }\n return Promise.resolve(undefined);\n }\n render() {\n const { tab, active, component } = this;\n return (h(Host, { role: \"tabpanel\", \"aria-hidden\": !active ? 'true' : null, \"aria-labelledby\": `tab-button-${tab}`, class: {\n 'ion-page': component === undefined,\n 'tab-hidden': !active\n } }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"active\": [\"changeActive\"]\n }; }\n};\nTab.style = tabCss;\n\nconst tabsCss = \":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}\";\n\nconst Tabs = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionTabsWillChange = createEvent(this, \"ionTabsWillChange\", 3);\n this.ionTabsDidChange = createEvent(this, \"ionTabsDidChange\", 3);\n this.transitioning = false;\n /** @internal */\n this.useRouter = false;\n this.onTabClicked = (ev) => {\n const { href, tab } = ev.detail;\n if (this.useRouter && href !== undefined) {\n const router = document.querySelector('ion-router');\n if (router) {\n router.push(href);\n }\n }\n else {\n this.select(tab);\n }\n };\n }\n async componentWillLoad() {\n if (!this.useRouter) {\n this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]');\n }\n if (!this.useRouter) {\n const tabs = this.tabs;\n if (tabs.length > 0) {\n await this.select(tabs[0]);\n }\n }\n this.ionNavWillLoad.emit();\n }\n componentWillRender() {\n const tabBar = this.el.querySelector('ion-tab-bar');\n if (tabBar) {\n const tab = this.selectedTab ? this.selectedTab.tab : undefined;\n tabBar.selectedTab = tab;\n }\n }\n /**\n * Select a tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n async select(tab) {\n const selectedTab = getTab(this.tabs, tab);\n if (!this.shouldSwitch(selectedTab)) {\n return false;\n }\n await this.setActive(selectedTab);\n await this.notifyRouter();\n this.tabSwitch();\n return true;\n }\n /**\n * Get a specific tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n async getTab(tab) {\n return getTab(this.tabs, tab);\n }\n /**\n * Get the currently selected tab.\n */\n getSelected() {\n return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined);\n }\n /** @internal */\n async setRouteId(id) {\n const selectedTab = getTab(this.tabs, id);\n if (!this.shouldSwitch(selectedTab)) {\n return { changed: false, element: this.selectedTab };\n }\n await this.setActive(selectedTab);\n return {\n changed: true,\n element: this.selectedTab,\n markVisible: () => this.tabSwitch(),\n };\n }\n /** @internal */\n async getRouteId() {\n const tabId = this.selectedTab && this.selectedTab.tab;\n return tabId !== undefined ? { id: tabId, element: this.selectedTab } : undefined;\n }\n setActive(selectedTab) {\n if (this.transitioning) {\n return Promise.reject('transitioning already happening');\n }\n this.transitioning = true;\n this.leavingTab = this.selectedTab;\n this.selectedTab = selectedTab;\n this.ionTabsWillChange.emit({ tab: selectedTab.tab });\n selectedTab.active = true;\n return Promise.resolve();\n }\n tabSwitch() {\n const selectedTab = this.selectedTab;\n const leavingTab = this.leavingTab;\n this.leavingTab = undefined;\n this.transitioning = false;\n if (!selectedTab) {\n return;\n }\n if (leavingTab !== selectedTab) {\n if (leavingTab) {\n leavingTab.active = false;\n }\n this.ionTabsDidChange.emit({ tab: selectedTab.tab });\n }\n }\n notifyRouter() {\n if (this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n return router.navChanged('forward');\n }\n }\n return Promise.resolve(false);\n }\n shouldSwitch(selectedTab) {\n const leavingTab = this.selectedTab;\n return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning;\n }\n get tabs() {\n return Array.from(this.el.querySelectorAll('ion-tab'));\n }\n render() {\n return (h(Host, { onIonTabButtonClick: this.onTabClicked }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"tabs-inner\" }, h(\"slot\", null)), h(\"slot\", { name: \"bottom\" })));\n }\n get el() { return getElement(this); }\n};\nconst getTab = (tabs, tab) => {\n const tabEl = (typeof tab === 'string')\n ? tabs.find(t => t.tab === tab)\n : tab;\n if (!tabEl) {\n console.error(`tab with id: \"${tabEl}\" does not exist`);\n }\n return tabEl;\n};\nTabs.style = tabsCss;\n\nexport { Tab as ion_tab, Tabs as ion_tabs };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/38-es2015.js b/android/app/src/main/assets/public/38-es2015.js new file mode 100644 index 000000000..ba60c3efc --- /dev/null +++ b/android/app/src/main/assets/public/38-es2015.js @@ -0,0 +1,41 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[38],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-text.entry.js": +/*!*************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-text.entry.js ***! + \*************************************************************/ +/*! exports provided: ion_text */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_text", function() { return Text; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + +const textCss = ":host(.ion-color){color:var(--ion-color-base)}"; + +const Text = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + render() { + const mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return (Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { class: Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(this.color, { + [mode]: true, + }) }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null))); + } +}; +Text.style = textCss; + + + + +/***/ }) + +}]); +//# sourceMappingURL=38-es2015.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/38-es2015.js.map b/android/app/src/main/assets/public/38-es2015.js.map new file mode 100644 index 000000000..511e65961 --- /dev/null +++ b/android/app/src/main/assets/public/38-es2015.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-text.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AACb;AACC;;AAE9D,mCAAmC,4BAA4B;;AAE/D;AACA;AACA,IAAI,4DAAgB;AACpB;AACA;AACA,iBAAiB,mEAAU;AAC3B,YAAY,4DAAC,CAAC,oDAAI,GAAG,QAAQ,4DAAkB;AAC/C;AACA,OAAO,GAAG,EAAE,4DAAC;AACb;AACA;AACA;;AAE4B","file":"38-es2015.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst textCss = \":host(.ion-color){color:var(--ion-color-base)}\";\n\nconst Text = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nText.style = textCss;\n\nexport { Text as ion_text };\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/38-es5.js b/android/app/src/main/assets/public/38-es5.js new file mode 100644 index 000000000..176796f3a --- /dev/null +++ b/android/app/src/main/assets/public/38-es5.js @@ -0,0 +1,74 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[38], { + /***/ + "./node_modules/@ionic/core/dist/esm/ion-text.entry.js": + /*!*************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-text.entry.js ***! + \*************************************************************/ + + /*! exports provided: ion_text */ + + /***/ + function node_modulesIonicCoreDistEsmIonTextEntryJs(module, __webpack_exports__, __webpack_require__) { + "use strict"; + + __webpack_require__.r(__webpack_exports__); + /* harmony export (binding) */ + + + __webpack_require__.d(__webpack_exports__, "ion_text", function () { + return Text; + }); + /* harmony import */ + + + var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( + /*! ./index-e806d1f6.js */ + "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); + /* harmony import */ + + + var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( + /*! ./ionic-global-9d5c8ee3.js */ + "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); + /* harmony import */ + + + var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( + /*! ./theme-ff3fc52f.js */ + "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + var textCss = ":host(.ion-color){color:var(--ion-color-base)}"; + + var Text = /*#__PURE__*/function () { + function Text(hostRef) { + _classCallCheck(this, Text); + + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + } + + _createClass(Text, [{ + key: "render", + value: function render() { + var mode = Object(_ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__["b"])(this); + return Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["H"], { + "class": Object(_theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_2__["c"])(this.color, _defineProperty({}, mode, true)) + }, Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["h"])("slot", null)); + } + }]); + + return Text; + }(); + + Text.style = textCss; + /***/ + } +}]); +//# sourceMappingURL=38-es5.js.map \ No newline at end of file diff --git a/android/app/src/main/assets/public/38-es5.js.map b/android/app/src/main/assets/public/38-es5.js.map new file mode 100644 index 000000000..6aa5f574c --- /dev/null +++ b/android/app/src/main/assets/public/38-es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-text.entry.js"],"names":["textCss","Text","hostRef","mode","color","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAIA,QAAMA,OAAO,GAAG,gDAAhB;;AAEA,QAAMC,IAAI;AACR,oBAAYC,OAAZ,EAAqB;AAAA;;AACnB,qEAAiB,IAAjB,EAAuBA,OAAvB;AACD;;AAHO;AAAA;AAAA,eAIR,kBAAS;AACP,cAAMC,IAAI,GAAG,oEAAW,IAAX,CAAb;AACA,iBAAQ,6DAAE,oDAAF,EAAQ;AAAE,qBAAO,6DAAmB,KAAKC,KAAxB,sBACpBD,IADoB,EACb,IADa;AAAT,WAAR,EAEA,6DAAE,MAAF,EAAU,IAAV,CAFA,CAAR;AAGD;AATO;;AAAA;AAAA,OAAV;;AAWAF,QAAI,CAACI,KAAL,GAAaL,OAAb","file":"38-es5.js","sourcesContent":["import { r as registerInstance, h, H as Host } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { c as createColorClasses } from './theme-ff3fc52f.js';\n\nconst textCss = \":host(.ion-color){color:var(--ion-color-base)}\";\n\nconst Text = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n};\nText.style = textCss;\n\nexport { Text as ion_text };\n"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/39-es2015.js b/android/app/src/main/assets/public/39-es2015.js new file mode 100644 index 000000000..0397e0f5d --- /dev/null +++ b/android/app/src/main/assets/public/39-es2015.js @@ -0,0 +1,264 @@ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[39],{ + +/***/ "./node_modules/@ionic/core/dist/esm/ion-textarea.entry.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ionic/core/dist/esm/ion-textarea.entry.js ***! + \*****************************************************************/ +/*! exports provided: ion_textarea */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ion_textarea", function() { return Textarea; }); +/* harmony import */ var _index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-e806d1f6.js */ "./node_modules/@ionic/core/dist/esm/index-e806d1f6.js"); +/* harmony import */ var _ionic_global_9d5c8ee3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ionic-global-9d5c8ee3.js */ "./node_modules/@ionic/core/dist/esm/ionic-global-9d5c8ee3.js"); +/* harmony import */ var _helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-90f46169.js */ "./node_modules/@ionic/core/dist/esm/helpers-90f46169.js"); +/* harmony import */ var _theme_ff3fc52f_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./theme-ff3fc52f.js */ "./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js"); + + + + + +const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);white-space:pre-wrap;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-textarea-ios-h{background:initial}.ion-color.sc-ion-textarea-ios-h{color:var(--ion-color-base)}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-ios-h{--padding-start:0}.textarea-wrapper.sc-ion-textarea-ios{min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit}.native-textarea.sc-ion-textarea-ios{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-textarea.sc-ion-textarea-ios{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)}}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea[disabled].sc-ion-textarea-ios{opacity:0.4}.cloned-input.sc-ion-textarea-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-textarea-ios .cloned-input.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{left:unset;right:unset;right:0}.sc-ion-textarea-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-textarea-ios-h,.item-label-stacked .sc-ion-textarea-ios-h,.item-label-floating.sc-ion-textarea-ios-h,.item-label-floating .sc-ion-textarea-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}"; + +const textareaMdCss = ".sc-ion-textarea-md-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);white-space:pre-wrap;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-textarea-md-h{background:initial}.ion-color.sc-ion-textarea-md-h{color:var(--ion-color-base)}ion-item.sc-ion-textarea-md-h,ion-item .sc-ion-textarea-md-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item.sc-ion-textarea-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-md-h{--padding-start:0}.textarea-wrapper.sc-ion-textarea-md{min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit}.native-textarea.sc-ion-textarea-md{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-textarea.sc-ion-textarea-md{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)}}.native-textarea.sc-ion-textarea-md::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-md::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea[disabled].sc-ion-textarea-md{opacity:0.4}.cloned-input.sc-ion-textarea-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-textarea-md .cloned-input.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md{left:unset;right:unset;right:0}.sc-ion-textarea-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:8px;margin-left:0;margin-right:0;margin-top:8px;margin-bottom:0;font-size:inherit}.item-label-stacked.sc-ion-textarea-md-h,.item-label-stacked .sc-ion-textarea-md-h,.item-label-floating.sc-ion-textarea-md-h,.item-label-floating .sc-ion-textarea-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}"; + +const Textarea = class { + constructor(hostRef) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["r"])(this, hostRef); + this.ionChange = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionChange", 7); + this.ionInput = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionInput", 7); + this.ionStyle = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionStyle", 7); + this.ionBlur = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionBlur", 7); + this.ionFocus = Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["e"])(this, "ionFocus", 7); + this.inputId = `ion-textarea-${textareaIds++}`; + this.didBlurAfterEdit = false; + this.inheritedAttributes = {}; + /** + * This is required for a WebKit bug which requires us to + * blur and focus an input to properly focus the input in + * an item with delegatesFocus. It will no longer be needed + * with iOS 14. + * + * @internal + */ + this.fireFocusEvents = true; + this.hasFocus = false; + /** + * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. + */ + this.autocapitalize = 'none'; + /** + * This Boolean attribute lets you specify that a form control should have input focus when the page loads. + */ + this.autofocus = false; + /** + * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types. + */ + this.clearOnEdit = false; + /** + * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`. + */ + this.debounce = 0; + /** + * If `true`, the user cannot interact with the textarea. + */ + this.disabled = false; + /** + * The name of the control, which is submitted with the form data. + */ + this.name = this.inputId; + /** + * If `true`, the user cannot modify the value. + */ + this.readonly = false; + /** + * If `true`, the user must fill in a value before submitting a form. + */ + this.required = false; + /** + * If `true`, the element will have its spelling and grammar checked. + */ + this.spellcheck = false; + /** + * If `true`, the element height will increase based on the value. + */ + this.autoGrow = false; + /** + * The value of the textarea. + */ + this.value = ''; + this.onInput = (ev) => { + if (this.nativeInput) { + this.value = this.nativeInput.value; + } + this.emitStyle(); + this.ionInput.emit(ev); + }; + this.onFocus = (ev) => { + this.hasFocus = true; + this.focusChange(); + if (this.fireFocusEvents) { + this.ionFocus.emit(ev); + } + }; + this.onBlur = (ev) => { + this.hasFocus = false; + this.focusChange(); + if (this.fireFocusEvents) { + this.ionBlur.emit(ev); + } + }; + this.onKeyDown = () => { + this.checkClearOnEdit(); + }; + } + debounceChanged() { + this.ionChange = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["e"])(this.ionChange, this.debounce); + } + disabledChanged() { + this.emitStyle(); + } + /** + * Update the native input element when the value changes + */ + valueChanged() { + const nativeInput = this.nativeInput; + const value = this.getValue(); + if (nativeInput && nativeInput.value !== value) { + nativeInput.value = value; + } + this.runAutoGrow(); + this.emitStyle(); + this.ionChange.emit({ value }); + } + connectedCallback() { + this.emitStyle(); + this.debounceChanged(); + { + document.dispatchEvent(new CustomEvent('ionInputDidLoad', { + detail: this.el + })); + } + } + disconnectedCallback() { + { + document.dispatchEvent(new CustomEvent('ionInputDidUnload', { + detail: this.el + })); + } + } + componentWillLoad() { + this.inheritedAttributes = Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["i"])(this.el, ['title']); + } + componentDidLoad() { + Object(_helpers_90f46169_js__WEBPACK_IMPORTED_MODULE_2__["r"])(() => this.runAutoGrow()); + } + runAutoGrow() { + const nativeInput = this.nativeInput; + if (nativeInput && this.autoGrow) { + Object(_index_e806d1f6_js__WEBPACK_IMPORTED_MODULE_0__["f"])(() => { + nativeInput.style.height = 'auto'; + nativeInput.style.height = nativeInput.scrollHeight + 'px'; + if (this.textareaWrapper) { + this.textareaWrapper.style.height = nativeInput.scrollHeight + 'px'; + } + }); + } + } + /** + * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global + * `textarea.focus()`. + */ + async setFocus() { + if (this.nativeInput) { + this.nativeInput.focus(); + } + } + /** + * Sets blur on the native `textarea` in `ion-textarea`. Use this method instead of the global + * `textarea.blur()`. + * @internal + */ + async setBlur() { + if (this.nativeInput) { + this.nativeInput.blur(); + } + } + /** + * Returns the native `