{"version":3,"file":"CSIOKD7-.js","sources":["../../../../assets/ts/components/_ScrollTopComponent.ts","../../../../layouts/default-layout/components/extras/ScrollTop.vue","../../../../layouts/default-layout/components/extras/ScrollTop.vue"],"sourcesContent":["import {\n DataUtil,\n ElementAnimateUtil,\n getAttributeValueByBreakpoint,\n getObjectPropertyValueByKey,\n getScrollTop,\n getUniqueIdWithPrefix,\n stringSnakeToCamel,\n throttle,\n} from \"../_utils/index\";\n\nexport interface IScrollTopOptions {\n offset: number;\n speed: number;\n}\n\nconst defaultScrollTopOptions: IScrollTopOptions = {\n offset: 200,\n speed: 600,\n};\n\nclass ScrollTopComponent {\n element: HTMLElement;\n options: IScrollTopOptions;\n instanceUid: string;\n\n constructor(_element: HTMLElement, options: IScrollTopOptions) {\n this.element = _element;\n this.options = Object.assign(defaultScrollTopOptions, options);\n this.instanceUid = getUniqueIdWithPrefix(\"scrolltop\");\n\n // Event Handlers\n this._handlers();\n\n // Bind Instance\n DataUtil.set(this.element, \"scrolltop\", this);\n }\n\n private _handlers = () => {\n let timer: number;\n window.addEventListener(\"scroll\", () => {\n throttle(timer, () => {\n this._scroll();\n });\n });\n\n this.element.addEventListener(\"click\", (e: Event) => {\n e.preventDefault();\n this._go();\n });\n };\n\n private _scroll = () => {\n const offset = parseInt(this._getOption(\"offset\") as string);\n const pos = getScrollTop(); // current vertical position\n if (pos > offset) {\n if (!document.body.hasAttribute(\"data-kt-scrolltop\")) {\n document.body.setAttribute(\"data-kt-scrolltop\", \"on\");\n }\n } else {\n if (document.body.hasAttribute(\"data-kt-scrolltop\")) {\n document.body.removeAttribute(\"data-kt-scrolltop\");\n }\n }\n };\n\n private _go = () => {\n const speed = parseInt(this._getOption(\"speed\") as string);\n ElementAnimateUtil.scrollTop(0, speed);\n };\n\n private _getOption = (name: string) => {\n const attr = this.element.getAttribute(`data-kt-scrolltop-${name}`);\n if (attr) {\n const value = getAttributeValueByBreakpoint(attr);\n return value !== null && String(value) === \"true\";\n }\n\n const optionName = stringSnakeToCamel(name);\n const option = getObjectPropertyValueByKey(this.options, optionName);\n if (option) {\n return getAttributeValueByBreakpoint(option);\n }\n\n return null;\n };\n\n ///////////////////////\n // ** Public API ** //\n ///////////////////////\n\n // Plugin API\n public go = () => {\n return this._go();\n };\n\n public getElement = () => {\n return this.element;\n };\n\n // Static methods\n public static getInstance = (\n el: HTMLElement\n ): ScrollTopComponent | undefined => {\n const scrollTop = DataUtil.get(el, \"scrolltop\");\n if (scrollTop) {\n return scrollTop as ScrollTopComponent;\n }\n };\n\n public static createInstances = (selector: string) => {\n const elements = document.body.querySelectorAll(selector);\n elements.forEach((el) => {\n const item = el as HTMLElement;\n let scrollTop = ScrollTopComponent.getInstance(item);\n if (!scrollTop) {\n scrollTop = new ScrollTopComponent(item, defaultScrollTopOptions);\n }\n });\n };\n\n public static createInsance = (\n selector: string,\n options: IScrollTopOptions = defaultScrollTopOptions\n ): ScrollTopComponent | undefined => {\n const element = document.body.querySelector(selector);\n if (!element) {\n return;\n }\n const item = element as HTMLElement;\n let scrollTop = ScrollTopComponent.getInstance(item);\n if (!scrollTop) {\n scrollTop = new ScrollTopComponent(item, options);\n }\n return scrollTop;\n };\n\n public static bootstrap = () => {\n ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]');\n };\n\n public static reinitialization = () => {\n ScrollTopComponent.createInstances('[data-kt-scrolltop=\"true\"]');\n };\n\n public static goTop = () => {\n ElementAnimateUtil.scrollTop(0, defaultScrollTopOptions.speed);\n };\n}\nexport { ScrollTopComponent, defaultScrollTopOptions };\n","\n \n \n \n
\n \n\n\n","\n \n \n \n
\n \n\n\n"],"names":["defaultScrollTopOptions","_ScrollTopComponent","_element","options","__publicField","timer","throttle","offset","getScrollTop","speed","ElementAnimateUtil","name","attr","value","getAttributeValueByBreakpoint","optionName","stringSnakeToCamel","option","getObjectPropertyValueByKey","getUniqueIdWithPrefix","DataUtil","el","scrollTop","selector","item","element","ScrollTopComponent","_sfc_main","defineComponent","onMounted","scrolltopDispaly","getAssetPath","_hoisted_1","_ctx","_openBlock","_createElementBlock","_createVNode","_component_KTIcon","_createCommentVNode"],"mappings":"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"}