mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
1 line
30 KiB
JSON
1 line
30 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { r as registerInstance, e as createEvent, c as writeTask, f as readTask, h, i as getElement, H as Host } from './index-7a8b7a1c.js';\nimport { b as getIonMode, c as config } from './ionic-global-63a97a32.js';\nimport { s as sanitizeDOMString } from './index-9e3fe806.js';\nconst infiniteScrollCss = \"ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}\";\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' ? scrollHeight - infiniteHeight - scrollTop - threshold - height : 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 } 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 } 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 connectedCallback() {\n var _this = this;\n return _asyncToGenerator(function* () {\n const contentEl = _this.el.closest('ion-content');\n if (!contentEl) {\n console.error('<ion-infinite-scroll> must be used inside an <ion-content>');\n return;\n }\n _this.scrollEl = yield 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 }\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 complete() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n const scrollEl = _this2.scrollEl;\n if (!_this2.isLoading || !scrollEl) {\n return;\n }\n _this2.isLoading = false;\n if (_this2.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 _this2.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 _this2.isBusy = false;\n });\n });\n });\n });\n }\n })();\n }\n canStart() {\n return !this.disabled && !this.isBusy && !!this.scrollEl && !this.isLoading;\n }\n enableScrollEvents(shouldListen) {\n if (this.scrollEl) {\n if (shouldListen) {\n this.scrollEl.addEventListener('scroll', this.onScroll);\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, {\n class: {\n [mode]: true,\n 'infinite-scroll-loading': this.isLoading,\n 'infinite-scroll-enabled': !disabled\n }\n });\n }\n get el() {\n return getElement(this);\n }\n static get watchers() {\n return {\n \"threshold\": [\"thresholdChanged\"],\n \"disabled\": [\"disabledChanged\"]\n };\n }\n};\nInfiniteScroll.style = infiniteScrollCss;\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)}\";\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)}\";\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, {\n class: {\n [mode]: true,\n // Used internally for styling\n [`infinite-scroll-content-${mode}`]: true\n }\n }, h(\"div\", {\n class: \"infinite-loading\"\n }, this.loadingSpinner && h(\"div\", {\n class: \"infinite-loading-spinner\"\n }, h(\"ion-spinner\", {\n name: this.loadingSpinner\n })), this.loadingText && h(\"div\", {\n class: \"infinite-loading-text\",\n innerHTML: sanitizeDOMString(this.loadingText)\n })));\n }\n};\nInfiniteScrollContent.style = {\n ios: infiniteScrollContentIosCss,\n md: infiniteScrollContentMdCss\n};\nexport { InfiniteScroll as ion_infinite_scroll, InfiniteScrollContent as ion_infinite_scroll_content };","map":{"version":3,"names":["r","registerInstance","e","createEvent","c","writeTask","f","readTask","h","i","getElement","H","Host","b","getIonMode","config","s","sanitizeDOMString","infiniteScrollCss","InfiniteScroll","constructor","hostRef","ionInfinite","thrPx","thrPc","didFire","isBusy","isLoading","threshold","disabled","position","onScroll","scrollEl","canStart","infiniteHeight","el","offsetHeight","scrollTop","scrollHeight","height","distanceFromInfinite","emit","thresholdChanged","val","lastIndexOf","parseFloat","disabledChanged","enableScrollEvents","connectedCallback","_this","_asyncToGenerator","contentEl","closest","console","error","getScrollElement","clientHeight","disconnectedCallback","undefined","complete","_this2","prev","requestAnimationFrame","newScrollTop","shouldListen","addEventListener","removeEventListener","render","mode","class","watchers","style","infiniteScrollContentIosCss","infiniteScrollContentMdCss","InfiniteScrollContent","componentDidLoad","loadingSpinner","get","name","loadingText","innerHTML","ios","md","ion_infinite_scroll","ion_infinite_scroll_content"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js"],"sourcesContent":["import { r as registerInstance, e as createEvent, c as writeTask, f as readTask, h, i as getElement, H as Host } from './index-7a8b7a1c.js';\nimport { b as getIonMode, c as config } from './ionic-global-63a97a32.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('<ion-infinite-scroll> must be used inside an <ion-content>');\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"],"mappings":"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"},"metadata":{},"sourceType":"module"} |