Mini Shell

Direktori : /home/funerariamayer/app/
Upload File :
Current File : /home/funerariamayer/app/node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js.js.map

{"version":3,"file":"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js.js","mappings":"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","sources":["./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as writeTask, r as registerInstance, e as createEvent, f as readTask, h, i as getElement, H as Host } from './index-06cd27b1.js';\nimport { a as isPlatform, b as getIonMode, c as config } from './ionic-global-a049bcbf.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-154a53a5.js';\nimport { t as transitionEndAsync, c as componentOnReady, d as clamp, g as getElementRoot, r as raf } from './helpers-eed79a2b.js';\nimport { d as hapticImpact } from './haptic-9a9aa7ec.js';\nimport { c as createAnimation } from './animation-c9c2a359.js';\nimport { c as caretBackSharp, a as arrowDown } from './index-3f6412b6.js';\nimport { s as sanitizeDOMString } from './index-c841c933.js';\nimport { S as SPINNERS } from './spinner-configs-163ed7fb.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, refresherEl) => {\n  return type === 'scale' ? createScaleAnimation(pullingSpinner, refresherEl) : createTranslateAnimation(pullingSpinner, refresherEl);\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, refresherEl) => {\n  /**\n   * Do not take the height of the refresher icon\n   * because at this point the DOM has not updated,\n   * so the refresher icon is still hidden with\n   * display: none.\n   * The `ion-refresher` container height\n   * is roughly the amount we need to offset\n   * the icon by when pulling down.\n   */\n  const height = refresherEl.clientHeight;\n  const spinnerAnimation = createAnimation()\n    .addElement(pullingRefresherIcon)\n    .keyframes([\n    { offset: 0, transform: `scale(0) translateY(-${height}px)` },\n    { offset: 1, transform: 'scale(1) translateY(100px)' }\n  ]);\n  return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);\n};\nconst createTranslateAnimation = (pullingRefresherIcon, refresherEl) => {\n  /**\n   * Do not take the height of the refresher icon\n   * because at this point the DOM has not updated,\n   * so the refresher icon is still hidden with\n   * display: none.\n   * The `ion-refresher` container height\n   * is roughly the amount we need to offset\n   * the icon by when pulling down.\n   */\n  const height = refresherEl.clientHeight;\n  const spinnerAnimation = createAnimation()\n    .addElement(pullingRefresherIcon)\n    .keyframes([\n    { offset: 0, transform: `translateY(-${height}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 = (ticks, numTicks, pullAmount) => {\n  const max = 1;\n  writeTask(() => {\n    ticks.forEach((el, i) => {\n      /**\n       * Compute the opacity of each tick\n       * mark as a percentage of the pullAmount\n       * offset by max / numTicks so\n       * the tick marks are shown staggered.\n       */\n      const min = i * (max / numTicks);\n      const range = max - min;\n      const start = pullAmount - min;\n      const progression = clamp(0, start / range, 1);\n      el.style.setProperty('opacity', progression.toString());\n    });\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, duration = 200) => {\n  if (!el) {\n    return Promise.resolve();\n  }\n  const trans = transitionEndAsync(el, duration);\n  writeTask(() => {\n    el.style.setProperty('transition', `${duration}ms 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 new Promise(resolve => componentOnReady(refresherContent, resolve));\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};\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 ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.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}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0) rotate(180deg);transform:scale(0) rotate(180deg);-webkit-transition:300ms;transition:300ms}@-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 var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);-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\nlet 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 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, 300);\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          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        /**\n         * We want to delay the start of this gesture by ~30px\n         * when initially pulling down so the refresher does not\n         * overlap with the content. But when letting go of the\n         * gesture before the refresher completes, we want the\n         * refresher tick marks to quickly fade out.\n         */\n        const offset = (this.didStart) ? 30 : 0;\n        const pullAmount = this.progress = clamp(0, (Math.abs(scrollTop) - offset) / MAX_PULL, 1);\n        const shouldShowRefreshingSpinner = this.state === 8 /* Refreshing */ || pullAmount === 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(ticks, NUM_TICKS, pullAmount);\n        }\n      });\n    };\n    this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);\n    this.gesture = (await import('./index-41bf41f2.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-41bf41f2.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(() => this.scrollEl.style.setProperty('--overflow', 'hidden'));\n          const animationType = getRefresherAnimationType(contentEl);\n          const animation = createPullingAnimation(animationType, pullingRefresherIcon, this.el);\n          ev.data.animation = animation;\n          animation.progressStart(false, 0);\n          this.ionStart.emit();\n          this.animations.push(animation);\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: <ion-refresher slot=\"fixed\">');\n      return;\n    }\n    const contentEl = this.el.closest('ion-content');\n    if (!contentEl) {\n      console.error('<ion-refresher> must be used inside an <ion-content>');\n      return;\n    }\n    await new Promise(resolve => componentOnReady(contentEl, resolve));\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-41bf41f2.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\nlet 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' : arrowDown;\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\", { icon: caretBackSharp })))), 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"],"names":["c","writeTask","r","registerInstance","e","createEvent","f","readTask","h","i","getElement","H","Host","a","isPlatform","b","getIonMode","config","g","getTimeGivenProgression","t","transitionEndAsync","componentOnReady","d","clamp","getElementRoot","raf","hapticImpact","createAnimation","caretBackSharp","arrowDown","s","sanitizeDOMString","S","SPINNERS","getRefresherAnimationType","contentEl","previousSibling","previousElementSibling","hasHeader","tagName","createPullingAnimation","type","pullingSpinner","refresherEl","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","numTicks","pullAmount","max","forEach","el","min","range","start","progression","handleScrollWhileRefreshing","lastVelocityY","translateElement","value","Promise","resolve","trans","undefined","removeProperty","shouldUseNativeRefresher","referenceEl","mode","refresherContent","refreshingSpinner","webkitOverflowScrolling","refresherIosCss","refresherMdCss","Refresher","constructor","hostRef","ionRefresh","ionPull","ionStart","appliedStyles","didStart","progress","pointerDown","needsCompletion","didRefresh","animations","nativeRefresher","state","pullMin","pullMax","closeDuration","snapbackDuration","pullFactor","disabled","disabledChanged","gesture","enable","checkNativeRefresher","useNativeRefresher","closest","setupNativeRefresher","destroyNativeRefresher","scrollEl","scrollListenerCallback","removeEventListener","resetNativeRefresher","ani","destroy","setupiOSNativeRefresher","elementToTransform","querySelectorAll","MAX_PULL","NUM_TICKS","length","scrollTop","refresherHeight","ratio","emit","Math","abs","shouldShowRefreshingSpinner","beginRefresh","addEventListener","createGesture","gestureName","gesturePriority","direction","threshold","onStart","onMove","ev","velocityY","onEnd","setupMDNativeRefresher","refreshingCircle","canStart","data","animation","cancelled","animationType","progressStart","push","deltaY","progressStep","progressEnd","onFinish","snapBackAnimation","play","setCss","componentDidUpdate","connectedCallback","getAttribute","console","error","getScrollElement","backgroundContentEl","passive","disconnectedCallback","complete","close","cancel","getProgress","detail","event","touches","Number","isNaN","scrollHostScrollTop","cancelable","preventDefault","bind","delay","setTimeout","y","overflowVisible","scrollStyle","backgroundStyle","transitionDuration","transitionDelay","overflow","render","slot","class","watchers","ios","md","RefresherContent","componentWillLoad","pullingIcon","overflowRefresher","get","hasSpinner","name","paused","icon","lazy","pullingText","innerHTML","refreshingText","ion_refresher","ion_refresher_content"],"sourceRoot":"webpack:///"}

Zerion Mini Shell 1.0