{"version":3,"file":"app.js","mappings":"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","sources":["webpack://BliwaLibrary/webpack/bootstrap","webpack://BliwaLibrary/webpack/runtime/define property getters","webpack://BliwaLibrary/webpack/runtime/hasOwnProperty shorthand","webpack://BliwaLibrary/webpack/runtime/make namespace object","webpack://BliwaLibrary/./Assets/Scripts/JsUtils/JsUtils.ts","webpack://BliwaLibrary/./Assets/Scripts/Constants/StatusEnum.ts","webpack://BliwaLibrary/./Assets/Scripts/Blazor/BlazorCustomHandler.ts","webpack://BliwaLibrary/./Assets/Scripts/Index.ts","webpack://BliwaLibrary/./Assets/Scripts/CookieTractor/CookieTractorCustomEvents.ts"],"sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","class JsUtils {\r\n\r\n /**\r\n * returnerar false om elementId inte hittas, annars true;\r\n * använd default är smooth scroll, skicka in false för att få auto/instant scroll.\r\n * @param elementId\r\n * @param smoothScroll\r\n * @returns\r\n */\r\n public static ScrollPageToElement(elementId:string, smoothScroll:boolean = true):boolean {\r\n const element = document.getElementById(elementId);\r\n \r\n element?.scrollIntoView({\r\n behavior: smoothScroll ? 'smooth' : 'auto'\r\n /* behavior: 'smooth'*/\r\n });\r\n \r\n return element != null\r\n }\r\n /**\r\n * returnerar false om elementet body inte hittas (kan typ inte hända), annars true;\r\n * använd default är smooth scroll, skicka in false för att få auto/instant scroll.\r\n * denna scrollar
into view.\r\n * @param smoothScroll\r\n * @returns \r\n */\r\n public static ScrollPageToFirstInvalidElement(smoothScroll: boolean = true): boolean {\r\n const validationMessageElement = document.querySelector(\".validation-message\") as any;\r\n const firstInvalidNode = validationMessageElement.parentNode.getElementsByTagName(\"input\")[0]\r\n ?? validationMessageElement.parentNode.getElementsByTagName(\"textarea\")[0];\r\n\r\n if (validationMessageElement) {\r\n firstInvalidNode.focus({ preventScroll: true });\r\n validationMessageElement.parentNode.scrollIntoView({ behavior: smoothScroll ? 'smooth' : 'auto', block: 'center' });\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * För andra sidor som behöver kunna scrolla upp till toppen av sidan\r\n * denna scrollar till starten av innehållet på sidan till länken hoppa till innehåll.\r\n * @param smoothScroll \r\n * @returns\r\n */\r\n public static ScrollContentToTop(smoothScroll: boolean = true): boolean { \r\n const element = document.querySelector(\".scroll-to-top\") as any;\r\n \r\n if (element) {\r\n element.focus({ preventScroll: true })\r\n element.scrollIntoView({ behavior: smoothScroll ? 'smooth' : 'auto', block: 'start' }); \r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * För skadeflödet!\r\n * Setter timer på focus på nästa sida så att den hinner rederas \r\n * \r\n * @param smoothScroll\r\n * @returns\r\n */\r\n public static ScrollPageToTop(smoothScroll: boolean = true): boolean {\r\n const myTimeout = setTimeout(JsUtils.ScrollPageToFirstInput, 100, smoothScroll)\r\n return true;\r\n }\r\n\r\n /**\r\n * För skadeflödet som har steps-navigation-top\r\n * returnerar false om step-navigation-top inte hittas, annars true; \r\n * använd default är smooth scroll, skicka in false för att få auto/instant scroll.\r\n * denna scrollar into view.\r\n * @param smoothScroll \r\n * @returns\r\n */\r\n private static ScrollPageToFirstInput(smoothScroll: boolean = true) {\r\n const top = document.querySelector(\".scroll-to-top\") as any;\r\n const elements = document.querySelector(\".steps-output\") as any;\r\n const element = elements.querySelector(\".is-active\") as any; \r\n let nodeInput = element.getElementsByTagName(\"input\")[0];\r\n const nodeTextArea = element.getElementsByTagName(\"textarea\")[0];\r\n const nodeSelect = element.getElementsByTagName(\"select\")[0];\r\n\r\n if (nodeInput.hidden) {\r\n if (nodeTextArea) {\r\n nodeInput = nodeTextArea;\r\n }\r\n if (nodeSelect) {\r\n nodeInput = nodeSelect;\r\n }\r\n }\r\n \r\n if (nodeInput) {\r\n nodeInput.focus({ preventScroll: true });\r\n top.scrollIntoView({ behavior: smoothScroll ? 'smooth' : 'auto', block: 'start' });\r\n }\r\n else if (top) {\r\n top.focus({ preventScroll: true });\r\n top.scrollIntoView({ behavior: smoothScroll ? 'smooth' : 'auto', block: 'start' }); \r\n }\r\n else {\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n\r\n /** iphone hanterar inte behaviours som \"smooth\" på ett bra sätt,\r\n * funkar kanske på nyare devices/IOS men dåligt på äldre (2024-02..)*/\r\n public static ScrollWindowToTop() {\r\n window.scrollTo(0, 0); \r\n }\r\n\r\n /** iphone hanterar inte behaviours som \"smooth\" på ett bra sätt,\r\n * funkar kanske på nyare devices/IOS men dåligt på äldre (2024-02..)*/\r\n public static ScrollToTopOfForm() {\r\n const elements = document.querySelector(\".optimizelyForms\") as any;\r\n let nodeForm = elements.getElementsByTagName(\"form\")[0];\r\n nodeForm.focus({ preventScroll: true });\r\n elements.scrollIntoView({ behavior: 'auto', block: 'start' });\r\n }\r\n\r\n /** Efter att man skickat in epi formulär behöver man scrolla till toppen av sidan för att se\r\n * meddelande om att inskickningen gått bra. Scrollen behöver deayas för att inte hända före\r\n * koden som hanterar formuläret.\r\n */\r\n public static ScrollEpiFormToTop() {\r\n const myTimeout = setTimeout(JsUtils.ScrollToTopOfForm, 1000)\r\n }\r\n\r\n\r\n public static ScrollElementLeft(containerElementId: string, scrollElementId: string, amountOfElementsToScroll: number) {\r\n const containerElement = document.getElementById(containerElementId);\r\n const scrollElement = document.getElementById(scrollElementId);\r\n\r\n const computedStyle = window.getComputedStyle(scrollElement!);\r\n const scrollElementWidth = parseFloat(computedStyle.width) + parseFloat(computedStyle.marginLeft) + parseFloat(computedStyle.marginRight);\r\n\r\n const currentScrollAmount = containerElement?.scrollLeft ?? 0;\r\n const scrollTo = currentScrollAmount - (scrollElementWidth * amountOfElementsToScroll);\r\n\r\n containerElement?.scrollTo({\r\n top: 0,\r\n left: scrollTo,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n public static ScrollElementRight(containerElementId: string, scrollElementId: string, amountOfElementsToScroll: number) {\r\n const containerElement = document.getElementById(containerElementId);\r\n const scrollElement = document.getElementById(scrollElementId);\r\n\r\n const computedStyle = window.getComputedStyle(scrollElement!);\r\n const scrollElementWidth = parseFloat(computedStyle.width) + parseFloat(computedStyle.marginLeft) + parseFloat(computedStyle.marginRight);\r\n\r\n const currentScrollAmount = containerElement?.scrollLeft ?? 0;\r\n const scrollTo = currentScrollAmount + (scrollElementWidth * amountOfElementsToScroll);\r\n\r\n containerElement?.scrollTo({\r\n top: 0,\r\n left: scrollTo,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n public static IsElementScrollable(elementId: string) {\r\n const element = document.getElementById(elementId);\r\n\r\n const currentScrollLeft = element?.scrollLeft ?? 0;\r\n const maxScrollLeft = (element?.scrollWidth ?? 0) - (element?.clientWidth ?? 0);\r\n\r\n const scrollFaultMargin = 10;\r\n const isScrollableLeft = currentScrollLeft > (0 + scrollFaultMargin);\r\n const isScrollableRight = currentScrollLeft < (maxScrollLeft - scrollFaultMargin);\r\n\r\n return { isScrollableLeft, isScrollableRight };\r\n }\r\n}\r\n\r\n\r\nexport const {\r\n ScrollPageToElement,\r\n ScrollPageToFirstInvalidElement,\r\n ScrollContentToTop,\r\n ScrollPageToTop,\r\n ScrollEpiFormToTop,\r\n ScrollWindowToTop,\r\n ScrollElementLeft,\r\n ScrollElementRight,\r\n IsElementScrollable\r\n} = JsUtils;","export enum Status {\r\n Success,\r\n Failed,\r\n Exception\r\n}","/*\r\nEgen hantering av vissa delar gällande Blazors SignalR-anslutning klient <-> Server.\r\n- Start av anslutning till servern.\r\n- Hantering för Tappad och återupprättad anslutning.\r\n*/\r\n\r\nimport { Status } from '../Constants/StatusEnum';\r\n\r\nexport class BlazorCustomHandler {\r\n\r\n private hasConnection: boolean = false;\r\n private firsTime: boolean = true;\r\n private reconnectTimeout: any = null;\r\n private currentReconnectAttempt: number = 1;\r\n private modal: HTMLElement | null = null;\r\n private CUSTOM_RETRY_INTERVAL_MILLISECONDS: number = 800;\r\n private reconnectRetryModalHTML: string = '