UNPKG

react-klasha

Version:

This is an reactJS library for implementing klasha payment gateway

1 lines 102 kB
{"ast":null,"code":"import { __awaiter, __generator } from \"tslib\";\nimport { c as writeTask, r as registerInstance, e as createEvent, f as readTask, h, i as getElement, H as Host } from \"./index-7a8b7a1c.js\";\nimport { a as isPlatform, b as getIonMode, c as config } from \"./ionic-global-63a97a32.js\";\nimport { g as getTimeGivenProgression } from \"./cubic-bezier-eea9a7a9.js\";\nimport { c as componentOnReady, j as clamp, g as getElementRoot, r as raf } from \"./helpers-dd7e4b7b.js\";\nimport { d as hapticImpact } from \"./haptic-27b3f981.js\";\nimport { c as createAnimation } from \"./animation-096c6391.js\";\nimport { s as sanitizeDOMString } from \"./index-9e3fe806.js\";\nimport { S as SPINNERS } from \"./spinner-configs-cd7845af.js\";\n\nvar getRefresherAnimationType = function (e) {\n var r = e.previousElementSibling;\n var t = r !== null && r.tagName === \"ION-HEADER\";\n return t ? \"translate\" : \"scale\";\n};\n\nvar createPullingAnimation = function (e, r, t) {\n return e === \"scale\" ? createScaleAnimation(r, t) : createTranslateAnimation(r, t);\n};\n\nvar createBaseAnimation = function (e) {\n var r = e.querySelector(\"ion-spinner\");\n var t = r.shadowRoot.querySelector(\"circle\");\n var n = e.querySelector(\".spinner-arrow-container\");\n var i = e.querySelector(\".arrow-container\");\n var s = i ? i.querySelector(\"ion-icon\") : null;\n var o = createAnimation().duration(1e3).easing(\"ease-out\");\n var a = createAnimation().addElement(n).keyframes([{\n offset: 0,\n opacity: \"0.3\"\n }, {\n offset: .45,\n opacity: \"0.3\"\n }, {\n offset: .55,\n opacity: \"1\"\n }, {\n offset: 1,\n opacity: \"1\"\n }]);\n var f = createAnimation().addElement(t).keyframes([{\n offset: 0,\n strokeDasharray: \"1px, 200px\"\n }, {\n offset: .2,\n strokeDasharray: \"1px, 200px\"\n }, {\n offset: .55,\n strokeDasharray: \"100px, 200px\"\n }, {\n offset: 1,\n strokeDasharray: \"100px, 200px\"\n }]);\n var l = createAnimation().addElement(r).keyframes([{\n offset: 0,\n transform: \"rotate(-90deg)\"\n }, {\n offset: 1,\n transform: \"rotate(210deg)\"\n }]);\n\n if (i && s) {\n var h = createAnimation().addElement(i).keyframes([{\n offset: 0,\n transform: \"rotate(0deg)\"\n }, {\n offset: .3,\n transform: \"rotate(0deg)\"\n }, {\n offset: .55,\n transform: \"rotate(280deg)\"\n }, {\n offset: 1,\n transform: \"rotate(400deg)\"\n }]);\n var c = createAnimation().addElement(s).keyframes([{\n offset: 0,\n transform: \"translateX(2px) scale(0)\"\n }, {\n offset: .3,\n transform: \"translateX(2px) scale(0)\"\n }, {\n offset: .55,\n transform: \"translateX(-1.5px) scale(1)\"\n }, {\n offset: 1,\n transform: \"translateX(-1.5px) scale(1)\"\n }]);\n o.addAnimation([h, c]);\n }\n\n return o.addAnimation([a, f, l]);\n};\n\nvar createScaleAnimation = function (e, r) {\n var t = r.clientHeight;\n var n = createAnimation().addElement(e).keyframes([{\n offset: 0,\n transform: \"scale(0) translateY(-\" + t + \"px)\"\n }, {\n offset: 1,\n transform: \"scale(1) translateY(100px)\"\n }]);\n return createBaseAnimation(e).addAnimation([n]);\n};\n\nvar createTranslateAnimation = function (e, r) {\n var t = r.clientHeight;\n var n = createAnimation().addElement(e).keyframes([{\n offset: 0,\n transform: \"translateY(-\" + t + \"px)\"\n }, {\n offset: 1,\n transform: \"translateY(100px)\"\n }]);\n return createBaseAnimation(e).addAnimation([n]);\n};\n\nvar createSnapBackAnimation = function (e) {\n return createAnimation().duration(125).addElement(e).fromTo(\"transform\", \"translateY(var(--ion-pulling-refresher-translate, 100px))\", \"translateY(0px)\");\n};\n\nvar setSpinnerOpacity = function (e, r) {\n e.style.setProperty(\"opacity\", r.toString());\n};\n\nvar handleScrollWhilePulling = function (e, r, t, n) {\n writeTask(function () {\n setSpinnerOpacity(e, t);\n r.forEach(function (e, r) {\n return e.style.setProperty(\"opacity\", r <= n ? \"0.99\" : \"0\");\n });\n });\n};\n\nvar handleScrollWhileRefreshing = function (e, r) {\n writeTask(function () {\n e.style.setProperty(\"--refreshing-rotation-duration\", r >= 1 ? \"0.5s\" : \"2s\");\n e.style.setProperty(\"opacity\", \"1\");\n });\n};\n\nvar translateElement = function (e, r) {\n if (!e) {\n return Promise.resolve();\n }\n\n var t = transitionEndAsync(e, 200);\n writeTask(function () {\n e.style.setProperty(\"transition\", \"0.2s all ease-out\");\n\n if (r === undefined) {\n e.style.removeProperty(\"transform\");\n } else {\n e.style.setProperty(\"transform\", \"translate3d(0px, \" + r + \", 0px)\");\n }\n });\n return t;\n};\n\nvar shouldUseNativeRefresher = function (e, r) {\n return __awaiter(void 0, void 0, void 0, function () {\n var t, n, i;\n return __generator(this, function (s) {\n switch (s.label) {\n case 0:\n t = e.querySelector(\"ion-refresher-content\");\n\n if (!t) {\n return [2, Promise.resolve(false)];\n }\n\n return [4, new Promise(function (e) {\n return componentOnReady(t, e);\n })];\n\n case 1:\n s.sent();\n n = e.querySelector(\"ion-refresher-content .refresher-pulling ion-spinner\");\n i = e.querySelector(\"ion-refresher-content .refresher-refreshing ion-spinner\");\n return [2, n !== null && i !== null && (r === \"ios\" && isPlatform(\"mobile\") && e.style.webkitOverflowScrolling !== undefined || r === \"md\")];\n }\n });\n });\n};\n\nvar transitionEndAsync = function (e, r) {\n if (r === void 0) {\n r = 0;\n }\n\n return new Promise(function (t) {\n transitionEnd(e, r, t);\n });\n};\n\nvar transitionEnd = function (e, r, t) {\n if (r === void 0) {\n r = 0;\n }\n\n var n;\n var i;\n var s = {\n passive: true\n };\n var o = 500;\n\n var a = function () {\n if (n) {\n n();\n }\n };\n\n var f = function (r) {\n if (r === undefined || e === r.target) {\n a();\n t(r);\n }\n };\n\n if (e) {\n e.addEventListener(\"webkitTransitionEnd\", f, s);\n e.addEventListener(\"transitionend\", f, s);\n i = setTimeout(f, r + o);\n\n n = function () {\n if (i) {\n clearTimeout(i);\n i = undefined;\n }\n\n e.removeEventListener(\"webkitTransitionEnd\", f, s);\n e.removeEventListener(\"transitionend\", f, s);\n };\n }\n\n return a;\n};\n\nvar 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)}}\";\nvar 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\nvar Refresher = function () {\n function e(e) {\n registerInstance(this, e);\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 this.state = 1;\n this.pullMin = 60;\n this.pullMax = this.pullMin + 60;\n this.closeDuration = \"280ms\";\n this.snapbackDuration = \"280ms\";\n this.pullFactor = 1;\n this.disabled = false;\n }\n\n e.prototype.disabledChanged = function () {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n };\n\n e.prototype.checkNativeRefresher = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e, r;\n return __generator(this, function (t) {\n switch (t.label) {\n case 0:\n return [4, shouldUseNativeRefresher(this.el, getIonMode(this))];\n\n case 1:\n e = t.sent();\n\n if (e && !this.nativeRefresher) {\n r = this.el.closest(\"ion-content\");\n this.setupNativeRefresher(r);\n } else if (!e) {\n this.destroyNativeRefresher();\n }\n\n return [2];\n }\n });\n });\n };\n\n e.prototype.destroyNativeRefresher = function () {\n if (this.scrollEl && this.scrollListenerCallback) {\n this.scrollEl.removeEventListener(\"scroll\", this.scrollListenerCallback);\n this.scrollListenerCallback = undefined;\n }\n\n this.nativeRefresher = false;\n };\n\n e.prototype.resetNativeRefresher = function (e, r) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (t) {\n switch (t.label) {\n case 0:\n this.state = r;\n if (!(getIonMode(this) === \"ios\")) return [3, 2];\n return [4, translateElement(e, undefined)];\n\n case 1:\n t.sent();\n return [3, 4];\n\n case 2:\n return [4, transitionEndAsync(this.el.querySelector(\".refresher-refreshing-icon\"), 200)];\n\n case 3:\n t.sent();\n t.label = 4;\n\n case 4:\n this.didRefresh = false;\n this.needsCompletion = false;\n this.pointerDown = false;\n this.animations.forEach(function (e) {\n return e.destroy();\n });\n this.animations = [];\n this.progress = 0;\n this.state = 1;\n return [2];\n }\n });\n });\n };\n\n e.prototype.setupiOSNativeRefresher = function (e, r) {\n return __awaiter(this, void 0, void 0, function () {\n var t, n, i, s;\n var o = this;\n return __generator(this, function (a) {\n switch (a.label) {\n case 0:\n this.elementToTransform = this.scrollEl;\n t = e.shadowRoot.querySelectorAll(\"svg\");\n n = this.scrollEl.clientHeight * .16;\n i = t.length;\n writeTask(function () {\n return t.forEach(function (e) {\n return e.style.setProperty(\"animation\", \"none\");\n });\n });\n\n this.scrollListenerCallback = function () {\n if (!o.pointerDown && o.state === 1) {\n return;\n }\n\n readTask(function () {\n var s = o.scrollEl.scrollTop;\n var a = o.el.clientHeight;\n\n if (s > 0) {\n if (o.state === 8) {\n var f = clamp(0, s / (a * .5), 1);\n writeTask(function () {\n return setSpinnerOpacity(r, 1 - f);\n });\n return;\n }\n\n writeTask(function () {\n return setSpinnerOpacity(e, 0);\n });\n return;\n }\n\n if (o.pointerDown) {\n if (!o.didStart) {\n o.didStart = true;\n o.ionStart.emit();\n }\n\n if (o.pointerDown) {\n o.ionPull.emit();\n }\n }\n\n var l = clamp(0, Math.abs(s) / a, .99);\n var h = o.progress = clamp(0, (Math.abs(s) - 30) / n, 1);\n var c = clamp(0, Math.floor(h * i), i - 1);\n var u = o.state === 8 || c === i - 1;\n\n if (u) {\n if (o.pointerDown) {\n handleScrollWhileRefreshing(r, o.lastVelocityY);\n }\n\n if (!o.didRefresh) {\n o.beginRefresh();\n o.didRefresh = true;\n hapticImpact({\n style: \"light\"\n });\n\n if (!o.pointerDown) {\n translateElement(o.elementToTransform, a + \"px\");\n }\n }\n } else {\n o.state = 2;\n handleScrollWhilePulling(e, t, l, c);\n }\n });\n };\n\n this.scrollEl.addEventListener(\"scroll\", this.scrollListenerCallback);\n s = this;\n return [4, import(\"./index-f49d994d.js\")];\n\n case 1:\n s.gesture = a.sent().createGesture({\n el: this.scrollEl,\n gestureName: \"refresher\",\n gesturePriority: 31,\n direction: \"y\",\n threshold: 5,\n onStart: function () {\n o.pointerDown = true;\n\n if (!o.didRefresh) {\n translateElement(o.elementToTransform, \"0px\");\n }\n\n if (n === 0) {\n n = o.scrollEl.clientHeight * .16;\n }\n },\n onMove: function (e) {\n o.lastVelocityY = e.velocityY;\n },\n onEnd: function () {\n o.pointerDown = false;\n o.didStart = false;\n\n if (o.needsCompletion) {\n o.resetNativeRefresher(o.elementToTransform, 32);\n o.needsCompletion = false;\n } else if (o.didRefresh) {\n readTask(function () {\n return translateElement(o.elementToTransform, o.el.clientHeight + \"px\");\n });\n }\n }\n });\n this.disabledChanged();\n return [2];\n }\n });\n });\n };\n\n e.prototype.setupMDNativeRefresher = function (e, r, t) {\n return __awaiter(this, void 0, void 0, function () {\n var n, i, s, o;\n var a = this;\n return __generator(this, function (f) {\n switch (f.label) {\n case 0:\n n = getElementRoot(r).querySelector(\"circle\");\n i = this.el.querySelector(\"ion-refresher-content .refresher-pulling-icon\");\n s = getElementRoot(t).querySelector(\"circle\");\n\n if (n !== null && s !== null) {\n writeTask(function () {\n n.style.setProperty(\"animation\", \"none\");\n t.style.setProperty(\"animation-delay\", \"-655ms\");\n s.style.setProperty(\"animation-delay\", \"-655ms\");\n });\n }\n\n o = this;\n return [4, import(\"./index-f49d994d.js\")];\n\n case 1:\n o.gesture = f.sent().createGesture({\n el: this.scrollEl,\n gestureName: \"refresher\",\n gesturePriority: 31,\n direction: \"y\",\n threshold: 5,\n canStart: function () {\n return a.state !== 8 && a.state !== 32 && a.scrollEl.scrollTop === 0;\n },\n onStart: function (e) {\n e.data = {\n animation: undefined,\n didStart: false,\n cancelled: false\n };\n },\n onMove: function (r) {\n if (r.velocityY < 0 && a.progress === 0 && !r.data.didStart || r.data.cancelled) {\n r.data.cancelled = true;\n return;\n }\n\n if (!r.data.didStart) {\n r.data.didStart = true;\n a.state = 2;\n writeTask(function () {\n return a.scrollEl.style.setProperty(\"--overflow\", \"hidden\");\n });\n var t = getRefresherAnimationType(e);\n var n = createPullingAnimation(t, i, a.el);\n r.data.animation = n;\n n.progressStart(false, 0);\n a.ionStart.emit();\n a.animations.push(n);\n return;\n }\n\n a.progress = clamp(0, r.deltaY / 180 * .5, 1);\n r.data.animation.progressStep(a.progress);\n a.ionPull.emit();\n },\n onEnd: function (e) {\n if (!e.data.didStart) {\n return;\n }\n\n writeTask(function () {\n return a.scrollEl.style.removeProperty(\"--overflow\");\n });\n\n if (a.progress <= .4) {\n a.gesture.enable(false);\n e.data.animation.progressEnd(0, a.progress, 500).onFinish(function () {\n a.animations.forEach(function (e) {\n return e.destroy();\n });\n a.animations = [];\n a.gesture.enable(true);\n a.state = 1;\n });\n return;\n }\n\n var r = getTimeGivenProgression([0, 0], [0, 0], [1, 1], [1, 1], a.progress)[0];\n var t = createSnapBackAnimation(i);\n a.animations.push(t);\n writeTask(function () {\n return __awaiter(a, void 0, void 0, function () {\n return __generator(this, function (n) {\n switch (n.label) {\n case 0:\n i.style.setProperty(\"--ion-pulling-refresher-translate\", r * 100 + \"px\");\n e.data.animation.progressEnd();\n return [4, t.play()];\n\n case 1:\n n.sent();\n this.beginRefresh();\n e.data.animation.destroy();\n return [2];\n }\n });\n });\n });\n }\n });\n this.disabledChanged();\n return [2];\n }\n });\n });\n };\n\n e.prototype.setupNativeRefresher = function (e) {\n return __awaiter(this, void 0, void 0, function () {\n var r, t;\n return __generator(this, function (n) {\n if (this.scrollListenerCallback || !e || this.nativeRefresher || !this.scrollEl) {\n return [2];\n }\n\n this.setCss(0, \"\", false, \"\");\n this.nativeRefresher = true;\n r = this.el.querySelector(\"ion-refresher-content .refresher-pulling ion-spinner\");\n t = this.el.querySelector(\"ion-refresher-content .refresher-refreshing ion-spinner\");\n\n if (getIonMode(this) === \"ios\") {\n this.setupiOSNativeRefresher(r, t);\n } else {\n this.setupMDNativeRefresher(e, r, t);\n }\n\n return [2];\n });\n });\n };\n\n e.prototype.componentDidUpdate = function () {\n this.checkNativeRefresher();\n };\n\n e.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e, r, t;\n var n = this;\n return __generator(this, function (i) {\n switch (i.label) {\n case 0:\n if (this.el.getAttribute(\"slot\") !== \"fixed\") {\n console.error('Make sure you use: <ion-refresher slot=\"fixed\">');\n return [2];\n }\n\n e = this.el.closest(\"ion-content\");\n\n if (!e) {\n console.error(\"<ion-refresher> must be used inside an <ion-content>\");\n return [2];\n }\n\n return [4, new Promise(function (r) {\n return componentOnReady(e, r);\n })];\n\n case 1:\n i.sent();\n r = this;\n return [4, e.getScrollElement()];\n\n case 2:\n r.scrollEl = i.sent();\n this.backgroundContentEl = getElementRoot(e).querySelector(\"#background-content\");\n return [4, shouldUseNativeRefresher(this.el, getIonMode(this))];\n\n case 3:\n if (!i.sent()) return [3, 4];\n this.setupNativeRefresher(e);\n return [3, 6];\n\n case 4:\n t = this;\n return [4, import(\"./index-f49d994d.js\")];\n\n case 5:\n t.gesture = i.sent().createGesture({\n el: e,\n gestureName: \"refresher\",\n gesturePriority: 31,\n direction: \"y\",\n threshold: 20,\n passive: false,\n canStart: function () {\n return n.canStart();\n },\n onStart: function () {\n return n.onStart();\n },\n onMove: function (e) {\n return n.onMove(e);\n },\n onEnd: function () {\n return n.onEnd();\n }\n });\n this.disabledChanged();\n i.label = 6;\n\n case 6:\n return [2];\n }\n });\n });\n };\n\n e.prototype.disconnectedCallback = function () {\n this.destroyNativeRefresher();\n this.scrollEl = undefined;\n\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n };\n\n e.prototype.complete = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e = this;\n return __generator(this, function (r) {\n if (this.nativeRefresher) {\n this.needsCompletion = true;\n\n if (!this.pointerDown) {\n raf(function () {\n return raf(function () {\n return e.resetNativeRefresher(e.elementToTransform, 32);\n });\n });\n }\n } else {\n this.close(32, \"120ms\");\n }\n\n return [2];\n });\n });\n };\n\n e.prototype.cancel = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e = this;\n return __generator(this, function (r) {\n if (this.nativeRefresher) {\n if (!this.pointerDown) {\n raf(function () {\n return raf(function () {\n return e.resetNativeRefresher(e.elementToTransform, 16);\n });\n });\n }\n } else {\n this.close(16, \"\");\n }\n\n return [2];\n });\n });\n };\n\n e.prototype.getProgress = function () {\n return Promise.resolve(this.progress);\n };\n\n e.prototype.canStart = function () {\n if (!this.scrollEl) {\n return false;\n }\n\n if (this.state !== 1) {\n return false;\n }\n\n if (this.scrollEl.scrollTop > 0) {\n return false;\n }\n\n return true;\n };\n\n e.prototype.onStart = function () {\n this.progress = 0;\n this.state = 1;\n };\n\n e.prototype.onMove = function (e) {\n if (!this.scrollEl) {\n return;\n }\n\n var r = e.event;\n\n if (r.touches && r.touches.length > 1) {\n return;\n }\n\n if ((this.state & 56) !== 0) {\n return;\n }\n\n var t = Number.isNaN(this.pullFactor) || this.pullFactor < 0 ? 1 : this.pullFactor;\n var n = e.deltaY * t;\n\n if (n <= 0) {\n this.progress = 0;\n this.state = 1;\n\n if (this.appliedStyles) {\n this.setCss(0, \"\", false, \"\");\n return;\n }\n\n return;\n }\n\n if (this.state === 1) {\n var i = this.scrollEl.scrollTop;\n\n if (i > 0) {\n this.progress = 0;\n return;\n }\n\n this.state = 2;\n }\n\n if (r.cancelable) {\n r.preventDefault();\n }\n\n this.setCss(n, \"0ms\", true, \"\");\n\n if (n === 0) {\n this.progress = 0;\n return;\n }\n\n var s = this.pullMin;\n this.progress = n / s;\n\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n\n this.ionPull.emit();\n\n if (n < s) {\n this.state = 2;\n return;\n }\n\n if (n > this.pullMax) {\n this.beginRefresh();\n return;\n }\n\n this.state = 4;\n return;\n };\n\n e.prototype.onEnd = function () {\n if (this.state === 4) {\n this.beginRefresh();\n } else if (this.state === 2) {\n this.cancel();\n }\n };\n\n e.prototype.beginRefresh = function () {\n this.state = 8;\n this.setCss(this.pullMin, this.snapbackDuration, true, \"\");\n this.ionRefresh.emit({\n complete: this.complete.bind(this)\n });\n };\n\n e.prototype.close = function (e, r) {\n var t = this;\n setTimeout(function () {\n t.state = 1;\n t.progress = 0;\n t.didStart = false;\n t.setCss(0, \"0ms\", false, \"\");\n }, 600);\n this.state = e;\n this.setCss(0, this.closeDuration, true, r);\n };\n\n e.prototype.setCss = function (e, r, t, n) {\n var i = this;\n\n if (this.nativeRefresher) {\n return;\n }\n\n this.appliedStyles = e > 0;\n writeTask(function () {\n if (i.scrollEl && i.backgroundContentEl) {\n var s = i.scrollEl.style;\n var o = i.backgroundContentEl.style;\n s.transform = o.transform = e > 0 ? \"translateY(\" + e + \"px) translateZ(0px)\" : \"\";\n s.transitionDuration = o.transitionDuration = r;\n s.transitionDelay = o.transitionDelay = n;\n s.overflow = t ? \"hidden\" : \"\";\n }\n });\n };\n\n e.prototype.render = function () {\n var e;\n var r = getIonMode(this);\n return h(Host, {\n slot: \"fixed\",\n class: (e = {}, e[r] = true, e[\"refresher-\" + r] = true, e[\"refresher-native\"] = this.nativeRefresher, e[\"refresher-active\"] = this.state !== 1, e[\"refresher-pulling\"] = this.state === 2, e[\"refresher-ready\"] = this.state === 4, e[\"refresher-refreshing\"] = this.state === 8, e[\"refresher-cancelling\"] = this.state === 16, e[\"refresher-completing\"] = this.state === 32, e)\n });\n };\n\n Object.defineProperty(e.prototype, \"el\", {\n get: function () {\n return getElement(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(e, \"watchers\", {\n get: function () {\n return {\n disabled: [\"disabledChanged\"]\n };\n },\n enumerable: false,\n configurable: true\n });\n return e;\n}();\n\nRefresher.style = {\n ios: refresherIosCss,\n md: refresherMdCss\n};\n\nvar RefresherContent = function () {\n function e(e) {\n registerInstance(this, e);\n }\n\n e.prototype.componentWillLoad = function () {\n if (this.pullingIcon === undefined) {\n var e = getIonMode(this);\n var r = this.el.style.webkitOverflowScrolling !== undefined ? \"lines\" : \"arrow-down\";\n this.pullingIcon = config.get(\"refreshingIcon\", e === \"ios\" && isPlatform(\"mobile\") ? config.get(\"spinner\", r) : \"circular\");\n }\n\n if (this.refreshingSpinner === undefined) {\n var e = getIonMode(this);\n this.refreshingSpinner = config.get(\"refreshingSpinner\", config.get(\"spinner\", e === \"ios\" ? \"lines\" : \"circular\"));\n }\n };\n\n e.prototype.render = function () {\n var e = this.pullingIcon;\n var r = e != null && SPINNERS[e] !== undefined;\n var t = getIonMode(this);\n return h(Host, {\n class: t\n }, h(\"div\", {\n class: \"refresher-pulling\"\n }, this.pullingIcon && r && h(\"div\", {\n class: \"refresher-pulling-icon\"\n }, h(\"div\", {\n class: \"spinner-arrow-container\"\n }, h(\"ion-spinner\", {\n name: this.pullingIcon,\n paused: true\n }), t === \"md\" && this.pullingIcon === \"circular\" && h(\"div\", {\n class: \"arrow-container\"\n }, h(\"ion-icon\", {\n name: \"caret-back-sharp\"\n })))), this.pullingIcon && !r && h(\"div\", {\n class: \"refresher-pulling-icon\"\n }, h(\"ion-icon\", {\n icon: this.pullingIcon,\n lazy: false\n })), this.pullingText && h(\"div\", {\n class: \"refresher-pulling-text\",\n innerHTML: sanitizeDOMString(this.pullingText)\n })), h(\"div\", {\n class: \"refresher-refreshing\"\n }, this.refreshingSpinner && h(\"div\", {\n class: \"refresher-refreshing-icon\"\n }, h(\"ion-spinner\", {\n name: this.refreshingSpinner\n })), this.refreshingText && h(\"div\", {\n class: \"refresher-refreshing-text\",\n innerHTML: sanitizeDOMString(this.refreshingText)\n })));\n };\n\n Object.defineProperty(e.prototype, \"el\", {\n get: function () {\n return getElement(this);\n },\n enumerable: false,\n configurable: true\n });\n return e;\n}();\n\nexport { Refresher as ion_refresher, RefresherContent as ion_refresher_content };","map":{"version":3,"sources":["/Users/adekanbidansteve/github/klasha/react-klasha/ionic-test/node_modules/@ionic/core/dist/esm-es5/ion-refresher_2.entry.js"],"names":["__awaiter","__generator","c","writeTask","r","registerInstance","e","createEvent","f","readTask","h","i","getElement","H","Host","a","isPlatform","b","getIonMode","config","g","getTimeGivenProgression","componentOnReady","j","clamp","getElementRoot","raf","d","hapticImpact","createAnimation","s","sanitizeDOMString","S","SPINNERS","getRefresherAnimationType","previousElementSibling","t","tagName","createPullingAnimation","createScaleAnimation","createTranslateAnimation","createBaseAnimation","querySelector","shadowRoot","n","o","duration","easing","addElement","keyframes","offset","opacity","strokeDasharray","l","transform","addAnimation","clientHeight","createSnapBackAnimation","fromTo","setSpinnerOpacity","style","setProperty","toString","handleScrollWhilePulling","forEach","handleScrollWhileRefreshing","translateElement","Promise","resolve","transitionEndAsync","undefined","removeProperty","shouldUseNativeRefresher","label","sent","webkitOverflowScrolling","transitionEnd","passive","target","addEventListener","setTimeout","clearTimeout","removeEventListener","refresherIosCss","refresherMdCss","Refresher","ionRefresh","ionPull","ionStart","appliedStyles","didStart","progress","pointerDown","needsCompletion","didRefresh","lastVelocityY","animations","nativeRefresher","state","pullMin","pullMax","closeDuration","snapbackDuration","pullFactor","disabled","prototype","disabledChanged","gesture","enable","checkNativeRefresher","el","closest","setupNativeRefresher","destroyNativeRefresher","scrollEl","scrollListenerCallback","resetNativeRefresher","destroy","setupiOSNativeRefresher","elementToTransform","querySelectorAll","length","scrollTop","emit","Math","abs","floor","u","beginRefresh","createGesture","gestureName","gesturePriority","direction","threshold","onStart","onMove","velocityY","onEnd","setupMDNativeRefresher","canStart","data","animation","cancelled","progressStart","push","deltaY","progressStep","progressEnd","onFinish","play","setCss","componentDidUpdate","connectedCallback","getAttribute","console","error","getScrollElement","backgroundContentEl","disconnectedCallback","complete","close","cancel","getProgress","event","touches","Number","isNaN","cancelable","preventDefault","bind","transitionDuration","transitionDelay","overflow","render","slot","class","Object","defineProperty","get","enumerable","configurable","ios","md","RefresherContent","componentWillLoad","pullingIcon","refreshingSpinner","name","paused","icon","lazy","pullingText","innerHTML","refreshingText","ion_refresher","ion_refresher_content"],"mappings":"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