{"version":3,"file":"main.js","mappings":"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","sources":["webpack://nabohjaelp/./src/scripts/components/main-navigation.js","webpack://nabohjaelp/./src/scripts/components/mobile-navigation.js","webpack://nabohjaelp/./src/scripts/custom-elements/accordions.js","webpack://nabohjaelp/./src/scripts/custom-elements/activities-focus-box.js","webpack://nabohjaelp/./src/scripts/custom-elements/activity-form.js","webpack://nabohjaelp/./src/scripts/custom-elements/activity-map.js","webpack://nabohjaelp/./src/scripts/custom-elements/activity-tabs.js","webpack://nabohjaelp/./src/scripts/custom-elements/illustration-footer.js","webpack://nabohjaelp/./src/scripts/custom-elements/illustration-header-logo.js","webpack://nabohjaelp/./src/scripts/custom-elements/illustration-page-not-found.js","webpack://nabohjaelp/./src/scripts/custom-elements/quote-simple.js","webpack://nabohjaelp/./src/scripts/custom-elements/service-menu.js","webpack://nabohjaelp/./src/scripts/main.js","webpack://nabohjaelp/./src/scripts/utility/utility.js","webpack://nabohjaelp/webpack/bootstrap","webpack://nabohjaelp/webpack/runtime/amd options","webpack://nabohjaelp/webpack/runtime/chunk loaded","webpack://nabohjaelp/webpack/runtime/compat get default export","webpack://nabohjaelp/webpack/runtime/define property getters","webpack://nabohjaelp/webpack/runtime/hasOwnProperty shorthand","webpack://nabohjaelp/webpack/runtime/make namespace object","webpack://nabohjaelp/webpack/runtime/jsonp chunk loading","webpack://nabohjaelp/webpack/before-startup","webpack://nabohjaelp/webpack/startup","webpack://nabohjaelp/webpack/after-startup"],"sourcesContent":["import { isPageAtTop, getScrollTop } from \"../utility/utility.js\";\r\n\r\nexport default class MainNavigation {\r\n constructor() {\r\n this.currentDropdown = null;\r\n this.lastScrollPosition = 0;\r\n this.animationInProgress = false;\r\n this.lineDeviderVisible = false; // Initial state of the line divider visibility\r\n this.toggles = document.querySelectorAll(\".js-toggle-mega-nav\");\r\n this.dropdowns = document.querySelectorAll(\".main-nav__dropdown\");\r\n this.logoText = document.querySelector(\"#logo-nabohjaelp-text\");\r\n this.desktopMenu = document.querySelector(\".js-desktop-header\");\r\n this.lineDevider = document.querySelector(\".line-devider\");\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.bindEvents();\r\n this.toggleLineDevider();\r\n window.addEventListener(\r\n \"scroll\",\r\n this.debounce(() => {\r\n this.toggleLineDevider();\r\n }, 10)\r\n );\r\n this.listenForServiceMenuEvents();\r\n }\r\n\r\n bindEvents() {\r\n document.addEventListener(\"click\", (e) => {\r\n let dropdownToggle = e.target.closest(\".js-toggle-mega-nav\");\r\n if (dropdownToggle) {\r\n if (dropdownToggle === this.currentDropdownToggle) {\r\n this.close();\r\n return;\r\n }\r\n if (this.currentDropdownToggle && this.currentDropdownToggle !== dropdownToggle) {\r\n this.close();\r\n }\r\n this.toggle(dropdownToggle);\r\n } else if (this.currentDropdown && !this.currentDropdown.contains(e.target)) {\r\n this.close();\r\n }\r\n });\r\n\r\n this.toggles.forEach((toggle) => {\r\n toggle.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Tab\" && !e.shiftKey && this.currentDropdownToggle) {\r\n e.preventDefault();\r\n let items = this.currentDropdown.querySelectorAll(\"a,button\");\r\n let firstItem = items[0];\r\n firstItem.focus();\r\n }\r\n });\r\n });\r\n\r\n this.dropdowns.forEach((dropdown) => {\r\n let items = dropdown.querySelectorAll(\"a,button\");\r\n let firstItem = items[0];\r\n let lastItem = items[items.length - 1];\r\n\r\n if (firstItem != undefined) {\r\n firstItem.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Tab\" && e.shiftKey) {\r\n e.preventDefault();\r\n this.currentDropdownToggle.focus();\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n if (lastItem != undefined) {\r\n lastItem.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Tab\" && !e.shiftKey) {\r\n e.preventDefault();\r\n\r\n this.currentDropdownToggle.focus();\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n document.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Escape\" && this.currentDropdownToggle) {\r\n e.preventDefault();\r\n this.close();\r\n }\r\n });\r\n });\r\n\r\n document.addEventListener(\"keydown\", (e) => {\r\n if (e.key === \"Escape\" && this.currentDropdown) {\r\n e.preventDefault();\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n listenForServiceMenuEvents() {\r\n document.addEventListener(\"serviceMenu:opened\", () => {\r\n this.lineDeviderVisible = true;\r\n this.toggleLineDevider(true);\r\n });\r\n\r\n document.addEventListener(\"serviceMenu:closed\", () => {\r\n this.lineDeviderVisible = false;\r\n this.toggleLineDevider(false);\r\n });\r\n }\r\n\r\n toggle(dropdownToggle) {\r\n this.currentDropdownToggle = dropdownToggle;\r\n this.currentDropdownToggle.setAttribute(\"aria-expanded\", true);\r\n this.currentDropdown = document.querySelector(`#${dropdownToggle.getAttribute(\"aria-controls\")}`);\r\n this.open();\r\n }\r\n\r\n open() {\r\n this.currentDropdown.classList.add(\"is-open\");\r\n document.dispatchEvent(new CustomEvent(\"dimmer:open\"));\r\n this.currentDropdown.querySelectorAll(\"a,button\").forEach((link) => {\r\n link.tabIndex = 0;\r\n });\r\n this.logoText.classList.add(\"hidden\");\r\n }\r\n\r\n close() {\r\n if (!this.currentDropdown) return;\r\n this.currentDropdown.classList.remove(\"is-open\");\r\n document.dispatchEvent(new CustomEvent(\"dimmer:close\"));\r\n this.currentDropdown.querySelectorAll(\"a,button\").forEach((link) => {\r\n link.tabIndex = -1;\r\n });\r\n this.currentDropdownToggle.setAttribute(\"aria-expanded\", false);\r\n this.currentDropdown = null;\r\n this.currentDropdownToggle = null;\r\n this.logoText.classList.remove(\"hidden\");\r\n this.toggle;\r\n }\r\n\r\n toggleLineDevider(forceVisible = null) {\r\n if (!this.animationInProgress && this.lineDevider) {\r\n const currentScrollPosition = getScrollTop();\r\n let shouldBeVisible = forceVisible !== null ? forceVisible : currentScrollPosition < this.lastScrollPosition || isPageAtTop();\r\n if (this.lineDeviderVisible !== shouldBeVisible) {\r\n this.lineDeviderVisible = shouldBeVisible;\r\n this.lineDevider.classList.toggle(\"line-devider-visible\", shouldBeVisible);\r\n this.lineDevider.classList.toggle(\"line-devider-hidden\", !shouldBeVisible);\r\n }\r\n\r\n this.lastScrollPosition = currentScrollPosition;\r\n setTimeout(() => {\r\n this.animationInProgress = false;\r\n }, 200);\r\n }\r\n }\r\n debounce(func, wait, immediate) {\r\n let timeout;\r\n return function executedFunction() {\r\n const context = this,\r\n args = arguments;\r\n const later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n }\r\n}\r\n","export default class MobileNavigation {\r\n constructor() {\r\n this.navToggle = document.querySelector(\"#js-toggle-mobile-nav\");\r\n this.panel = document.querySelector(\"#js-mobile-panel\");\r\n this.panelItems = this.panel.querySelectorAll(\"a,button\");\r\n this.firstPanelItem = this.panelItems[0];\r\n this.lastPanelItem = this.panelItems[this.panelItems.length - 1];\r\n this.init();\r\n }\r\n \r\n init() {\r\n this.bindEvents();\r\n }\r\n \r\n bindEvents() {\r\n \r\n document.addEventListener(\"keydown\", (e) => { \r\n if (e.key === \"Escape\" && this.navToggle.getAttribute(\"aria-expanded\") == \"true\") {\r\n e.preventDefault();\r\n this.close();\r\n }\r\n });\r\n \r\n this.navToggle.addEventListener(\"click\", () => {\r\n this.navToggle.getAttribute(\"aria-expanded\") == \"false\" ? this.open() : this.close();\r\n });\r\n \r\n this.navToggle.addEventListener(\"keydown\", (e) => this.firstPanelItemFocus(e));\r\n \r\n this.firstPanelItem.addEventListener(\"keydown\", (e) => { \r\n if (e.key === \"Tab\" && e.shiftKey) {\r\n e.preventDefault();\r\n this.close();\r\n this.navToggle.focus();\r\n }\r\n });\r\n \r\n this.lastPanelItem.addEventListener(\"keydown\", (e) => { \r\n if (e.key === \"Tab\" && !e.shiftKey) {\r\n e.preventDefault();\r\n this.close();\r\n this.navToggle.focus();\r\n }\r\n });\r\n \r\n \r\n // this.panel.ontransitionend = () => {\r\n // if (this.navToggle.getAttribute(\"aria-expanded\") == \"false\") {\r\n // if (this.closeDimmer) {\r\n // document.dispatchEvent(new CustomEvent(\"dimmer:close\"));\r\n // }\r\n // this.navToggle.focus();\r\n // } \r\n // };\r\n \r\n }\r\n \r\n firstPanelItemFocus(e) {\r\n if (e.key === \"Tab\" && !e.shiftKey && this.panel.classList.contains(\"is-visible\")) {\r\n e.preventDefault();\r\n this.firstPanelItem.focus();\r\n }\r\n }\r\n \r\n open() {\r\n document.querySelector(\"html\").style.height = \"100vh\";\r\n document.querySelector(\"body\").style.overflow = \"hidden\";\r\n \r\n this.navToggle.setAttribute(\"aria-expanded\", true);\r\n this.panel.classList.add(\"is-visible\");\r\n \r\n this.panelItems.forEach((item) => {\r\n item.tabIndex = 0;\r\n });\r\n \r\n }\r\n \r\n close() {\r\n this.navToggle.setAttribute(\"aria-expanded\", false);\r\n this.panel.classList.remove(\"is-visible\");\r\n \r\n this.panel.querySelectorAll(\"a,button\").forEach((link) => {\r\n link.tabIndex = -1;\r\n });\r\n \r\n document.querySelector(\"body\").removeAttribute(\"style\");\r\n document.querySelector(\"html\").removeAttribute(\"style\");\r\n \r\n // this.bodyScrollLock.enableBodyScroll(this.panel);\r\n }\r\n \r\n }","import Accordion from \"accordion-js\";\r\n\r\nclass Accordions extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n \r\n connectedCallback() {\r\n\r\n const acc = new Accordion(this, {\r\n duration: 400,\r\n showMultiple: true,\r\n onOpen: (currElement) => {\r\n // this.addHashFromAccordion(currElement);\r\n },\r\n onClose: (currElement) => {\r\n //this.removeHash(currElement);\r\n },\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n // Add code to run when the component is removed from the DOM\r\n }\r\n\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // Add code to run when the component's attributes are changed\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('nabohjaelp-accordion', Accordions);","class ActivitiesFocusBox extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.allSlides = [];\r\n this.handleResizeBound = this.handleResize.bind(this);\r\n }\r\n\r\n connectedCallback() {\r\n this.init();\r\n window.addEventListener(\"resize\", this.handleResizeBound);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener(\"resize\", this.handleResizeBound);\r\n }\r\n\r\n init() {\r\n const components = [...this.querySelectorAll(\"[data-component='activities-focus-box']\")];\r\n\r\n components.forEach((component, index) => {\r\n const slides = [...component.querySelectorAll(\"[data-item='slide']\")];\r\n this.allSlides.push(...slides);\r\n const radioButtons = [...component.querySelectorAll(\"[data-item='radio-button']\")];\r\n const groupName = `radio-group-${index}`;\r\n\r\n radioButtons.forEach((radio, idx) => {\r\n radio.setAttribute(\"name\", groupName);\r\n if (idx === 0) radio.checked = true;\r\n radio.addEventListener(\"change\", () => radio.checked && this.updateSlideVisibility(slides, idx));\r\n });\r\n\r\n slides.forEach((slide, idx) => {\r\n slide.classList.add(\"hidden\", \"opacity-0\");\r\n if (idx === 0) this.showSlide(slide);\r\n });\r\n });\r\n this.updateSlidesForScreenSize();\r\n }\r\n\r\n handleResize() {\r\n this.updateSlidesForScreenSize();\r\n }\r\n\r\n updateSlidesForScreenSize() {\r\n if (window.matchMedia(\"(max-width: 1024px)\").matches) {\r\n this.allSlides.forEach((slide) => {\r\n slide.classList.remove(\"hidden\");\r\n slide.classList.add(\"opacity-100\");\r\n });\r\n if (this.allSlides.length === 1) {\r\n this.allSlides[0].classList.remove(\"flex-shrink-0\", \"w-full\");\r\n }\r\n } else {\r\n this.allSlides.forEach((slide, idx) => {\r\n if (idx !== 0) {\r\n slide.classList.add(\"hidden\");\r\n slide.classList.remove(\"opacity-100\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n showSlide(slide) {\r\n slide.classList.replace(\"hidden\", \"opacity-100\");\r\n }\r\n\r\n updateSlideVisibility(slides, newIndex) {\r\n const [currentSlide, newSlide] = [slides.find((s) => !s.classList.contains(\"hidden\")), slides[newIndex]];\r\n if (currentSlide) {\r\n currentSlide.classList.replace(\"opacity-100\", \"opacity-0\");\r\n currentSlide.addEventListener(\r\n \"transitionend\",\r\n () => {\r\n currentSlide.classList.add(\"hidden\");\r\n this.showSlide(newSlide);\r\n },\r\n { once: true }\r\n );\r\n }\r\n }\r\n}\r\n\r\ncustomElements.define(\"activities-focus-box\", ActivitiesFocusBox);\r\n","class ActivityForm extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.initElements();\r\n this.attachEventListeners();\r\n }\r\n\r\n initElements() {\r\n this.submitTitle = this.getAttribute(\"submittitle\");\r\n this.submitDescription = this.getAttribute(\"submitdescription\");\r\n this.addressSuggestions = this.querySelector(\"#address-suggestions\");\r\n this.addressInput = this.querySelector(\"#address-input\");\r\n this.submitButton = this.querySelector(\"#submit-button\");\r\n this.submitButtonSpinner = this.querySelector(\".submit-button-spinner\");\r\n this.submitStateIndicator = document.getElementById(\"submit-state-indicator\");\r\n this.form = this.querySelector(\"form\");\r\n this.lastPickedAddressId = null;\r\n this.activeOptionIndex = -1;\r\n this.address = {};\r\n this.submitLoading = false;\r\n console.log(this.submitTitle);\r\n console.log(this.submitDescription);\r\n }\r\n\r\n attachEventListeners() {\r\n this.form.addEventListener(\"submit\", (e) => this.validateForm(e));\r\n this.submitButton.addEventListener(\"click\", (e) => this.validateForm(e));\r\n this.addressInput.addEventListener(\"input\", this.debounce(this.handleInput.bind(this), 300));\r\n this.addressInput.addEventListener(\"keydown\", (e) => this.handleKeydown(e));\r\n this.addressInput.addEventListener(\"blur\", () => this.hideSuggestions());\r\n this.addressInput.addEventListener(\"focus\", () => this.showSuggestions());\r\n this.addressSuggestions.addEventListener(\"mousedown\", (e) => this.preventBlur(e));\r\n }\r\n\r\n validateForm(e) {\r\n e.preventDefault();\r\n const inputs = this.form.querySelectorAll(\"input, textarea\");\r\n let isValid = true;\r\n let dateValue = \"\";\r\n let timeValue = \"\";\r\n\r\n inputs.forEach((input) => {\r\n if (input.checkValidity()) {\r\n this.clearError(input);\r\n } else {\r\n this.showError(input);\r\n isValid = false;\r\n }\r\n\r\n if (input.type === \"date\") {\r\n const parsedDateValue = Date.parse(input.value);\r\n if (isNaN(parsedDateValue)) {\r\n this.showError(input, \"Indtast en gyldig dato\");\r\n isValid = false;\r\n } else {\r\n dateValue = input.value;\r\n }\r\n }\r\n\r\n // if input is of type checkbox and is required\r\n if (input.type === \"checkbox\" && input.required && !input.checked) {\r\n this.showError(input, \"Dette felt skal udfyldes\");\r\n isValid = false;\r\n }\r\n\r\n if (input.type === \"time\") {\r\n const timeRegex = /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/;\r\n if (!timeRegex.test(input.value)) {\r\n this.showError(input, \"Indtast en gyldig tid\");\r\n isValid = false;\r\n } else {\r\n timeValue = input.value;\r\n }\r\n }\r\n\r\n if (input.id === \"address-input\" && this.address.type != null) {\r\n this.showError(input, \"Indtast en gyldig adresse\");\r\n isValid = false;\r\n }\r\n });\r\n\r\n if (!isValid) return;\r\n\r\n // Combine date and time into a single datetime string\r\n let datetime = null;\r\n if (dateValue && timeValue) {\r\n const combinedDateTime = new Date(`${dateValue}T${timeValue}`);\r\n datetime = combinedDateTime.toISOString();\r\n }\r\n\r\n const formData = new FormData(this.form);\r\n formData.delete(\"date\"); // Remove the original date field\r\n formData.delete(\"time\"); // Remove the original time field\r\n\r\n const data = Object.fromEntries(formData.entries());\r\n\r\n const createActivityRequest = {\r\n ...data,\r\n date: datetime, // Add the combined datetime field as 'date'\r\n streetName: this.address.StreetName,\r\n houseNumber: `${this.address.HouseNumber}`,\r\n floor: this.address.Floor,\r\n door: this.address.Door,\r\n city: this.address.City,\r\n zipCode: this.address.ZipCode,\r\n xCoordinate: this.address.XCoordinate,\r\n yCoordinate: this.address.YCoordinate,\r\n };\r\n\r\n console.log(createActivityRequest);\r\n this.sendActivityRequest(createActivityRequest);\r\n }\r\n\r\n showError(input, message = null) {\r\n let error = input.nextElementSibling;\r\n if (!error || error.tagName !== \"P\") {\r\n error = document.createElement(\"P\");\r\n error.classList.add(\"text-red\", \"text-xs\", \"leading-4\", \"animate-fadeIn\", \"absolute\", \"-bottom-5\", \"left-0\", \"mt-1\", \"error-message\", \"opacity-100\", \"transition-opacity\", \"duration-300\", \"breakt\");\r\n input.insertAdjacentElement(\"afterend\", error);\r\n }\r\n error.textContent = message || input.validationMessage;\r\n }\r\n\r\n clearError(input) {\r\n const error = input.nextElementSibling;\r\n if (error && error.tagName === \"P\") {\r\n error.remove();\r\n }\r\n }\r\n\r\n async sendActivityRequest(createActivityRequest) {\r\n this.submitLoading = true;\r\n this.updateSubmitButtonState();\r\n\r\n try {\r\n const response = await fetch(\"/api/activities\", {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify(createActivityRequest),\r\n });\r\n\r\n if (response.ok) {\r\n this.handleSuccess();\r\n } else {\r\n throw new Error(await response.text());\r\n }\r\n } catch (error) {\r\n this.handleError(error);\r\n } finally {\r\n this.submitLoading = false;\r\n this.updateSubmitButtonState();\r\n }\r\n }\r\n\r\n handleSuccess() {\r\n const successMessage = `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

${this.submitTitle}

\r\n

${this.submitDescription}

\r\n
\r\n
\r\n `;\r\n this.form.querySelector(\".form-fields\").classList.add(\"opacity-0\", \"pointer-events-none\");\r\n this.form.insertAdjacentHTML(\"beforeend\", successMessage);\r\n this.resetForm();\r\n }\r\n\r\n handleError(error) {\r\n let errorJson = JSON.parse(error.message);\r\n console.log(errorJson);\r\n\r\n if (errorJson.errors.City[0] || errorJson.errors.ZipCode[0] || errorJson.errors.StreetName[0] || errorJson.errors.HouseNumber[0]) {\r\n this.showError(this.addressInput, \"Indtast en gyldig adresse\");\r\n } else if (this.submitStateIndicator) {\r\n this.submitStateIndicator.textContent = \"Der skete en fejl. Prøv igen senere.\";\r\n // make it red and show error icon\r\n this.submitStateIndicator.classList.add(\"text-red\");\r\n }\r\n }\r\n\r\n resetForm() {\r\n this.form.reset();\r\n this.addressInput.value = \"\";\r\n this.address = {};\r\n }\r\n\r\n updateSubmitButtonState() {\r\n this.submitButtonSpinner.classList.toggle(\"hidden\", !this.submitLoading);\r\n this.submitButton.disabled = this.submitLoading;\r\n }\r\n\r\n detachCallback() {\r\n this.form.removeEventListener(\"submit\", this.validateForm);\r\n this.submitButton.removeEventListener(\"click\", this.validateForm);\r\n this.addressInput.removeEventListener(\"input\", this.handleInput);\r\n this.addressInput.removeEventListener(\"keydown\", this.handleKeydown);\r\n this.addressInput.removeEventListener(\"blur\", this.hideSuggestions);\r\n this.addressInput.removeEventListener(\"focus\", this.showSuggestions);\r\n this.addressSuggestions.removeEventListener(\"mousedown\", this.preventBlur);\r\n }\r\n\r\n handleInput(e) {\r\n this.lastPickedAddressId = null;\r\n this.activeOptionIndex = -1;\r\n this.updateSuggestions(e.target.value);\r\n this.addressSuggestions.style.display = \"block\";\r\n }\r\n\r\n handleKeydown(e) {\r\n const options = this.addressSuggestions.querySelectorAll(\".option\");\r\n const keyMap = {\r\n ArrowDown: () => (this.activeOptionIndex = Math.min(this.activeOptionIndex + 1, options.length - 1)),\r\n ArrowUp: () => (this.activeOptionIndex = Math.max(this.activeOptionIndex - 1, 0)),\r\n Enter: () => this.activeOptionIndex >= 0 && options[this.activeOptionIndex].click(),\r\n };\r\n\r\n if (keyMap[e.key]) {\r\n e.preventDefault();\r\n keyMap[e.key]();\r\n this.updateActiveOption(options);\r\n }\r\n }\r\n\r\n hideSuggestions() {\r\n this.addressSuggestions.style.display = \"none\";\r\n }\r\n\r\n showSuggestions() {\r\n if (this.addressInput.value) this.addressSuggestions.style.display = \"block\";\r\n }\r\n\r\n preventBlur(e) {\r\n e.preventDefault();\r\n }\r\n\r\n async updateSuggestions(address) {\r\n const caretPosition = this.addressInput.selectionStart;\r\n const response = await fetch(`/api/dawa/autocomplete?query=${address}&caretPosition=${caretPosition}`);\r\n const data = await response.json();\r\n\r\n if (data.suggestions.length === 1 && data.suggestions[0].tekst === address) {\r\n this.hideSuggestions();\r\n return;\r\n }\r\n\r\n if (data.successful && data.suggestions.length > 0) {\r\n this.addressSuggestions.innerHTML = data.suggestions.map((suggestion) => `
${suggestion.tekst}
`).join(\"\");\r\n this.addressSuggestions.querySelectorAll(\".option\").forEach((option) => {\r\n option.addEventListener(\"click\", () => this.selectSuggestion(option));\r\n });\r\n this.activeOptionIndex = -1;\r\n this.storeAddressData(data.suggestions[0].data);\r\n } else {\r\n this.addressSuggestions.innerHTML = '
Ingen forslag fundet
';\r\n }\r\n }\r\n\r\n storeAddressData(addressData) {\r\n this.address = {\r\n StreetName: addressData.vejnavn,\r\n HouseNumber: addressData.husnr,\r\n Floor: addressData.etage ?? null,\r\n Door: addressData.dør ?? null,\r\n City: addressData.postnrnavn,\r\n ZipCode: addressData.postnr,\r\n XCoordinate: addressData.x ?? null,\r\n YCoordinate: addressData.y ?? null,\r\n type: addressData.type ?? null,\r\n };\r\n }\r\n\r\n selectSuggestion(option) {\r\n this.addressInput.value = option.textContent.trim();\r\n this.addressInput.setSelectionRange(option.dataset.caretpos, option.dataset.caretpos);\r\n this.updateSuggestions(this.addressInput.value);\r\n }\r\n\r\n updateActiveOption(options) {\r\n options.forEach((option, index) => {\r\n option.classList.toggle(\"active\", index === this.activeOptionIndex);\r\n if (index === this.activeOptionIndex) {\r\n requestAnimationFrame(() => option.scrollIntoView({ block: \"nearest\" }));\r\n }\r\n });\r\n }\r\n\r\n debounce(func, wait) {\r\n let timeout;\r\n return (...args) => {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(() => func.apply(this, args), wait);\r\n };\r\n }\r\n}\r\n\r\ncustomElements.define(\"activity-form\", ActivityForm);\r\n","import { Loader } from \"@googlemaps/js-api-loader\";\r\n\r\nclass ActivityMap extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n\r\n connectedCallback() {\r\n const loader = new Loader({\r\n apiKey: \"AIzaSyD6EEiz70Ka7PFjczl2GSZspZukvuHPJaw\",\r\n version: \"weekly\",\r\n });\r\n\r\n loader.load().then(async () => {\r\n const { Map } = await google.maps.importLibrary(\"maps\");\r\n\r\n let map = new Map(document.getElementById(\"map\"), {\r\n center: { lat: -34.397, lng: 150.644 },\r\n zoom: 8,\r\n });\r\n });\r\n }\r\n\r\n disconnectedCallback() {}\r\n}\r\n\r\ncustomElements.define(\"nabohjaelp-activity-map\", ActivityMap);\r\n","class ActivityTabs extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.guid = this.getAttribute('guid');\r\n this.tabPanelRows = parseInt(this.getAttribute('tab-panel-rows'));\r\n this.data = null;\r\n this.tabsContent = null;\r\n this.tablist = this.querySelector(\".tablist\");\r\n this.tablistButtons = this.querySelectorAll(\".tab-button\"); \r\n this.activeTabButton = this.querySelector(\".tab-button[aria-selected=true]\");\r\n this.tabsPanels = this.querySelectorAll(\".tab-panel\");\r\n }\r\n \r\n connectedCallback() {\r\n let that = this;\r\n \r\n this.bindEvents();\r\n \r\n this.getData().then(() => {\r\n that.render();\r\n });\r\n \r\n this.doTablistCalculations(this.activeTabButton);\r\n\r\n this.attacthIntersectionObserverOnTablist();\r\n\r\n }\r\n\r\n attacthIntersectionObserverOnTablist() { \r\n // get the sticky element\r\n const stickyElm = this.querySelector(\".sticky-tablist\");\r\n const stickyElmTop = parseInt(stickyElm.getAttribute(\"data-top\")) + 1;\r\n\r\n // we need to know how far down the page the sticky element is, \r\n // then minus with 1px to make sure the element is not sticky when it is at the top of the page\r\n const observer = new IntersectionObserver(\r\n ([e]) => e.target.classList.toggle('is-sticky', e.intersectionRatio < 1), {\r\n rootMargin: `-${stickyElmTop}px 0px 0px 0px`,\r\n threshold: [1],\r\n });\r\n\r\n observer.observe(stickyElm); \r\n }\r\n\r\n\r\n doTablistCalculations(button) {\r\n this.tablist.style.setProperty(\"--transformJS\", `${button.offsetLeft}px`);\r\n this.tablist.style.setProperty(\"--widthJS\", `${button.offsetWidth}px`);\r\n }\r\n\r\n bindEvents() { \r\n\r\n document.addEventListener(\"click\", (e) => { \r\n let tabButton = e.target.closest(\".tab-button\");\r\n let loadMoreButton = e.target.closest(\".load-more-button\");\r\n\r\n if(tabButton) { \r\n let currentTab = tabButton.closest(\".tablist\").querySelector(\"[aria-selected=true]\");\r\n \r\n if (tabButton !== currentTab) {\r\n this.switchTab(currentTab, tabButton);\r\n }\r\n\r\n }\r\n\r\n if(loadMoreButton) { \r\n this.loadMore(e.target);\r\n }\r\n\r\n });\r\n\r\n document.addEventListener(\"keydown\", (e) => { \r\n let tabButton = e.target.closest(\".tab-button\");\r\n\r\n if(tabButton) { \r\n let currentTab = tabButton.closest(\".tablist\").querySelector(\"[aria-selected=true]\");\r\n let newTab;\r\n\r\n if(e.key === \"ArrowLeft\" || e.key === \"ArrowRight\") { \r\n e.preventDefault();\r\n\r\n if(e.key === \"ArrowLeft\") { \r\n newTab = currentTab.previousElementSibling ? currentTab.previousElementSibling : currentTab.parentElement.lastElementChild;\r\n } else { \r\n newTab = currentTab.nextElementSibling ? currentTab.nextElementSibling : currentTab.parentElement.firstElementChild;\r\n }\r\n\r\n this.switchTab(currentTab, newTab);\r\n newTab.focus();\r\n\r\n } else if(e.key === \"ArrowDown\") { \r\n e.preventDefault();\r\n currentTab.focus();\r\n }\r\n }\r\n\r\n });\r\n\r\n // window.addEventListener(\"resize\", function () {\r\n // console.log(this.activeTabButton);\r\n // this.doTablistCalculations(this.activeTabButton);\r\n // });\r\n\r\n }\r\n\r\n switchTab(currentTab, newTab) { \r\n currentTab.setAttribute(\"aria-selected\", \"false\");\r\n currentTab.setAttribute(\"tabindex\", \"-1\");\r\n newTab.setAttribute(\"aria-selected\", \"true\");\r\n newTab.setAttribute(\"tabindex\", \"0\");\r\n\r\n\r\n if(this.querySelector(\".sticky-tablist\").classList.contains(\"is-sticky\")) {\r\n let bodyRect = document.body.getBoundingClientRect(),\r\n elemRect = this.getBoundingClientRect(),\r\n offset = elemRect.top - bodyRect.top;\r\n\r\n window.scrollTo({\r\n top: offset - 125,\r\n behavior: \"smooth\"\r\n });\r\n }\r\n \r\n this.doTablistCalculations(newTab);\r\n this.switchTabPanel(currentTab, newTab);\r\n }\r\n\r\n switchTabPanel(currentTab, newTab) { \r\n let currentTabPanel = document.querySelector(\"#\" + currentTab.getAttribute(\"aria-controls\"));\r\n let newTabPanel = document.querySelector(\"#\" + newTab.getAttribute(\"aria-controls\"));\r\n\r\n currentTabPanel.classList.add(\"hidden\");\r\n currentTabPanel.setAttribute(\"aria-hidden\", \"true\");\r\n newTabPanel.classList.remove(\"hidden\");\r\n newTabPanel.setAttribute(\"aria-hidden\", \"false\");\r\n }\r\n\r\n getData() { \r\n return fetch('/umbraco/delivery/api/v2/content/item/' + this.guid + '?fields=properties%5BblockList%5D')\r\n .then(response => response.json())\r\n .then(data => {\r\n this.data = data.properties.blockList.items;\r\n });\r\n }\r\n\r\n render() { \r\n\r\n this.tabsContent = this.data.map((item, index) => {\r\n return {\r\n rows: item.content.properties.grid.items.length,\r\n content: item.content.properties.grid.items.map((gridItem, gridIndex) => { \r\n \r\n // 12 columns - activity card\r\n if(gridItem.content.contentType == \"blockGridComponentActivityCard\" || gridItem.content.contentType == \"blockGridComponentArticleCard\") { \r\n return {\r\n layout: \"12 columns\",\r\n content: this.renderFullwidth(gridItem.content),\r\n }\r\n }\r\n\r\n // 8/4 columns\r\n if(gridItem.content.contentType == \"blockGridLayoutEightFourColumns\") { \r\n return {\r\n layout: \"8/4 columns\",\r\n content: this.renderAreas(gridItem.areas),\r\n }\r\n }\r\n\r\n // 4/8 columns\r\n if(gridItem.content.contentType == \"blockGridLayoutFourEightColumns\") { \r\n return {\r\n layout: \"4/8 columns\",\r\n content: this.renderAreas(gridItem.areas),\r\n }\r\n }\r\n\r\n // 3 columns\r\n if(gridItem.content.contentType == \"blockGridLayoutThreeColumns\") { \r\n return {\r\n layout: \"3 columns\",\r\n content: this.renderAreas(gridItem.areas),\r\n }\r\n }\r\n\r\n })\r\n };\r\n });\r\n\r\n this.renderTabPanelsHTML();\r\n }\r\n \r\n renderFullwidth(content) { \r\n return `
\r\n
\r\n
${this.renderContent(content, 12)}
\r\n
\r\n
`;\r\n }\r\n\r\n renderAreas(areas) { \r\n if(areas == null) return null;\r\n\r\n return `
\r\n
\r\n
\r\n ${areas.map(area => `\r\n
\r\n ${area.items.map(item => this.renderContent(item.content, area.columnSpan)).join('')}\r\n
\r\n `).join('')}\r\n
\r\n
\r\n
`;\r\n }\r\n\r\n renderContent(content, columnSpan) { \r\n\r\n if(content == null) return null;\r\n\r\n console.log(\"content\", content);\r\n\r\n if(content.contentType == \"blockGridComponentActivityCard\" && columnSpan == 12) { \r\n return `\r\n
\r\n ${content.properties.image != null && content.properties.image.length ? \r\n `\r\n \r\n \"\"\r\n ` : ''\r\n }\r\n
\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text.markup}\r\n
\r\n
\r\n
\r\n `;\r\n } \r\n\r\n if(content.contentType == \"blockGridComponentActivityCard\" && columnSpan != 12) { \r\n return `\r\n
\r\n
\r\n ${content.properties.image != null && content.properties.image.length && columnSpan == 8 ? \r\n `\r\n \r\n \"\"\r\n ` : ''\r\n }\r\n
\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text.markup}\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n } \r\n \r\n if(content.contentType == \"blockGridComponentFactbox\") { \r\n return `\r\n
\r\n
\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text.markup}\r\n
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n if(content.contentType == \"blockGridComponentArticleCard\" && columnSpan == 12) { \r\n return `\r\n \r\n ${content.properties.image != null && content.properties.image.length ? \r\n `
\r\n \r\n \r\n \"\"\r\n \r\n
` : ''\r\n }\r\n
\r\n ${content.properties.tag != null ? \r\n `${content.properties.tag[0].name}` : ''\r\n }\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `;\r\n } \r\n\r\n if(content.contentType == \"blockGridComponentArticleCard\" && columnSpan == 8) { \r\n return `\r\n \r\n ${content.properties.image != null && content.properties.image.length ? \r\n `
\r\n \r\n \r\n \"\"\r\n \r\n
` : ''\r\n }\r\n
\r\n ${content.properties.tag != null ? \r\n `${content.properties.tag[0].name}` : ''\r\n }\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `;\r\n } \r\n\r\n if(content.contentType == \"blockGridComponentArticleCard\" && columnSpan == 4) { \r\n return `\r\n \r\n ${content.properties.image != null && content.properties.image.length ? \r\n `
\r\n \r\n \r\n \"\"\r\n \r\n
` : ''\r\n }\r\n
\r\n ${content.properties.tag != null ? \r\n `${content.properties.tag[0].name}` : ''\r\n }\r\n

${content.properties.title}

\r\n
\r\n ${content.properties.text}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `;\r\n } \r\n\r\n\r\n }\r\n\r\n renderTabPanelsHTML() {\r\n let that = this;\r\n \r\n this.tabsPanels.forEach((tabPanel, index) => {\r\n let totalRows = this.tabsContent[index].rows;\r\n let skip = 0;\r\n let take = that.tabPanelRows;\r\n\r\n if (totalRows < skip + take) {\r\n take = totalRows - skip;\r\n } \r\n\r\n let tabPanelContent = this.tabsContent[index].content\r\n .slice(skip, take)\r\n .map((item, index) => {\r\n if(item == undefined ) return null;\r\n return `${item.content}`;\r\n });\r\n\r\n if(totalRows > skip + take) {\r\n tabPanelContent.push(`
`);\r\n }\r\n\r\n tabPanel.innerHTML = tabPanelContent.join(\"\");\r\n });\r\n\r\n }\r\n\r\n loadMore(button) { \r\n let index = parseInt(button.dataset.index);\r\n let skip = parseInt(button.dataset.skip);\r\n let take = parseInt(button.dataset.take);\r\n let totalRows = parseInt(button.dataset.total);\r\n\r\n button.parentElement.remove();\r\n\r\n let tabPanelContent = this.tabsContent[index].content\r\n .slice(skip, skip + take)\r\n .map((item, index) => {\r\n return `${item.content}`;\r\n });\r\n\r\n\r\n if(totalRows > skip + take) {\r\n tabPanelContent.push(`
`);\r\n }\r\n\r\n this.tabsPanels[index].insertAdjacentHTML(\r\n 'beforeend', \r\n tabPanelContent.join(\"\")\r\n )\r\n\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('nabohjaelp-activity-tabs', ActivityTabs);","import lottie from \"lottie-web\";\r\n\r\nclass IllustrationFooter extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.hejAnimation = null;\r\n this.kiteAnimation = null;\r\n this.yogaRightAnimation = null;\r\n this.yogaLeftAnimation = null;\r\n this.observer = null;\r\n }\r\n\r\n connectedCallback() {\r\n this.hejContainer = this.hejContainer || this.querySelector(\".hej-container\");\r\n this.kiteContainer = this.kiteContainer || this.querySelector(\".kite-container\");\r\n this.yogaContainer = this.yogaContainer || this.querySelector(\".yoga-left-container\");\r\n this.yogaContainer = this.yogaContainer || this.querySelector(\".yoga-Right-container\");\r\n\r\n this.hejAnimation = lottie.loadAnimation({\r\n container: this.hejContainer,\r\n path: \"/dist/lottie/Hej(x10).json\",\r\n renderer: \"svg\",\r\n loop: false,\r\n autoplay: false,\r\n name: \"Talebobbel med hej\",\r\n });\r\n\r\n this.kiteAnimation = lottie.loadAnimation({\r\n container: this.querySelector(\".kite-container\"),\r\n path: \"/dist/lottie/kites(x10).json\",\r\n renderer: \"svg\",\r\n loop: true,\r\n autoplay: true,\r\n name: \"Personer der flyver med drager\",\r\n });\r\n\r\n this.yogaRightAnimation = lottie.loadAnimation({\r\n container: this.querySelector(\".yoga-right-container\"),\r\n path: \"/dist/lottie/yoga-pose1(x10).json\",\r\n renderer: \"svg\",\r\n loop: true,\r\n autoplay: true,\r\n name: \"Person der laver yoga\",\r\n });\r\n\r\n this.yogaLeftAnimation = lottie.loadAnimation({\r\n container: this.querySelector(\".yoga-left-container\"),\r\n path: \"/dist/lottie/yoga-pose2(x10).json\",\r\n renderer: \"svg\",\r\n loop: true,\r\n autoplay: true,\r\n name: \"Person der laver yoga\",\r\n });\r\n\r\n this.initObserver();\r\n }\r\n\r\n initObserver() {\r\n const options = {\r\n root: null,\r\n rootMargin: \"0px\",\r\n threshold: 0.4,\r\n };\r\n\r\n this.observer = new IntersectionObserver((entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n // Play the animation when the hejContainer element enters the frame\r\n if (entry.target === this.hejContainer) {\r\n this.hejAnimation.goToAndPlay(0, true);\r\n }\r\n } else {\r\n // Stop the hejContainer animation when the element leaves the frame\r\n if (entry.target === this.hejContainer) {\r\n this.hejAnimation.stop();\r\n }\r\n }\r\n });\r\n }, options);\r\n\r\n this.observer.observe(this.hejContainer);\r\n this.kiteAnimation.play();\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n }\r\n}\r\n\r\ncustomElements.define(\"nabohjaelp-illustration-footer\", IllustrationFooter);\r\n","import lottie from \"lottie-web\";\r\nimport { isPageAtTop, isScrollingUp } from \"../utility/utility\";\r\n\r\nclass IllustrationHeaderLogo extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.isAnimationPlaying = false;\r\n }\r\n\r\n connectedCallback() {\r\n this.initElements();\r\n this.initLottieAnimation();\r\n this.addEventListeners();\r\n this.handleScroll();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.cleanup();\r\n }\r\n\r\n initElements() {\r\n this.logoOuterContainer = this.querySelector(\".logo-outer-container\");\r\n this.logoIcon = this.querySelector(\".logo-icon-container\"); // Move it here\r\n this.hingeElement = this.querySelector(\".hinge\");\r\n this.nabohjaelpText = this.querySelector(\".nabohjaelp-text\");\r\n this.nabohjaelpTextRight = this.querySelector(\".nabohjaelp-text-right\");\r\n this.hingeElement.addEventListener(\"animationend\", this.hingeAnimationEnd);\r\n this.transitionEndHandler = this.transitionEndHandler.bind(this);\r\n this.logoOuterContainer.addEventListener(\"transitionend\", this.transitionEndHandler);\r\n this.hingeContainer = this.querySelector(\".logo-hinge-container\");\r\n }\r\n\r\n initLottieAnimation() {\r\n if (!this.logoAnimation) {\r\n this.logoAnimation = lottie.loadAnimation({\r\n container: this.logoIcon,\r\n path: \"/dist/lottie/Logo-Symbol.json\",\r\n renderer: \"svg\",\r\n loop: false,\r\n autoplay: false,\r\n });\r\n this.logoAnimation.addEventListener(\"complete\", () => {\r\n this.isAnimationPlaying = false;\r\n });\r\n }\r\n }\r\n\r\n addEventListeners() {\r\n this.logoIcon.addEventListener(\"mouseover\", this.handleMouseOver);\r\n window.addEventListener(\"scroll\", this.handleScroll);\r\n this.initDropdownToggleListeners();\r\n this.handleScroll();\r\n }\r\n\r\n cleanup() {\r\n this.logoAnimation?.destroy();\r\n this.logoIcon.removeEventListener(\"mouseover\", this.handleMouseOver);\r\n window.removeEventListener(\"scroll\", this.handleScroll);\r\n this.hingeElement.removeEventListener(\"animationend\", this.hingeAnimationEnd);\r\n this.logoOuterContainer.removeEventListener(\"transitionend\", this.transitionEndHandler);\r\n }\r\n\r\n handleMouseOver = () => {\r\n if (!this.isAnimationPlaying) {\r\n this.logoAnimation.goToAndPlay(0, true);\r\n this.isAnimationPlaying = true;\r\n }\r\n };\r\n\r\n handleScroll = () => {\r\n if (!this.isDropdownOpen()) {\r\n if (isPageAtTop()) {\r\n this.animatePageAtTop();\r\n } else if (isScrollingUp()) {\r\n this.animateScrollingUp();\r\n } else {\r\n this.animateScrollingDown();\r\n }\r\n }\r\n };\r\n\r\n animatePageAtTop = () => {\r\n this.applyClassChanges(this.logoOuterContainer, [\"ml-6\"], [\"-ml-8\"]);\r\n this.applyClassChanges(this.nabohjaelpTextRight, [\"opacity-0\"], [\"opacity-100\"]);\r\n };\r\n\r\n animateScrollingUp = () => {\r\n this.logoIcon.style.height = \"48px\";\r\n this.applyClassChanges(this.nabohjaelpTextRight, [\"opacity-100\", \"scale-125\", \"-translate-x-5\"], [\"opacity-0\", \"-translate-x-6\"]);\r\n };\r\n\r\n animateScrollingDown = () => {\r\n this.logoIcon.style.height = \"38px\";\r\n this.applyClassChanges(this.hingeElement, [\"logo-hinge-animation\"], [\"logo-hinge-animation-reverse\"]);\r\n this.applyClassChanges(this.nabohjaelpText, [\"opacity-0\"], [\"opacity-100\"]);\r\n this.applyClassChanges(this.nabohjaelpTextRight, [\"opacity-100\", \"-translate-x-6\"], [\"opacity-0\", \"scale-125\", \"-translate-x-5\"]);\r\n };\r\n\r\n hingeAnimationEnd = () => {\r\n if (this.hingeElement.classList.contains(\"logo-hinge-animation\") && !isPageAtTop()) {\r\n this.applyClassChanges(this.logoOuterContainer, [\"-ml-8\"], [\"ml-6\"]);\r\n this.applyClassChanges(this.hingeContainer, [\"pointer-events-none\"], [\"pointer-events-auto\"]);\r\n }\r\n };\r\n\r\n transitionEndHandler(event) {\r\n if (event.propertyName === \"margin-left\") {\r\n this.textAnimationEnd();\r\n }\r\n }\r\n\r\n textAnimationEnd = () => {\r\n if (isPageAtTop() && this.logoOuterContainer.classList.contains(\"ml-6\")) {\r\n this.logoIcon.style.height = \"\";\r\n this.hingeElement.classList.add(\"logo-hinge-animation-reverse\");\r\n this.applyClassChanges(this.nabohjaelpTextRight, [\"-translate-x-5\"], [\"scale-125\", \"-translate-x-6\"]);\r\n this.applyClassChanges(this.nabohjaelpText, [\"opacity-100\"], [\"hidden\", \"opacity-0\"]);\r\n }\r\n };\r\n\r\n dropdownOpenAnimation = () => {\r\n if (this.isDropdownOpen()) {\r\n if (this.logoAnimation.isLoaded && this.isAnimationPlaying) {\r\n this.logoAnimation.pause();\r\n }\r\n } else {\r\n if (this.logoAnimation.isLoaded && !this.isAnimationPlaying) {\r\n this.logoAnimation.play();\r\n }\r\n }\r\n };\r\n\r\n isDropdownOpen() {\r\n return !!document.querySelector(\".main-nav__dropdown.is-open\");\r\n }\r\n\r\n initDropdownToggleListeners() {\r\n document.addEventListener(\"click\", (event) => {\r\n if (event.target.matches(\".js-toggle-mega-nav\")) {\r\n this.dropdownOpenAnimation();\r\n }\r\n });\r\n }\r\n\r\n applyClassChanges(element, classesToAdd = [], classesToRemove = []) {\r\n // First, remove classes that are no longer needed\r\n classesToRemove.forEach((className) => {\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n }\r\n });\r\n\r\n // Then add classes that are needed\r\n classesToAdd.forEach((className) => {\r\n if (!element.classList.contains(className)) {\r\n element.classList.add(className);\r\n }\r\n });\r\n }\r\n}\r\n\r\ncustomElements.define(\"nabohjaelp-illustration-header-logo\", IllustrationHeaderLogo);\r\n","import lottie from 'lottie-web';\r\n\r\nclass PageNotFound extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.animation = null; \r\n\r\n }\r\n \r\n connectedCallback() {\r\n this.animation = lottie.loadAnimation({\r\n container: this,\r\n path: '/dist/lottie/window.json',\r\n renderer: 'svg',\r\n loop: false,\r\n autoplay: true,\r\n name: \"Siden blev ikke fundet\",\r\n });\r\n\r\n }\r\n\r\n disconnectedCallback() {\r\n // Add code to run when the component is removed from the DOM\r\n }\r\n\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // Add code to run when the component's attributes are changed\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('nabohjaelp-pagenotfound', PageNotFound);","class QuoteSimple extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.currentIndex = 0;\r\n this.onScroll = this.onScroll.bind(this);\r\n this.changeSlide = this.changeSlide.bind(this);\r\n }\r\n\r\n connectedCallback() {\r\n this.setupCarousel();\r\n this.setupDots();\r\n this.startSlideInterval();\r\n this.updateUI();\r\n }\r\n\r\n disconnectedCallback() {\r\n clearInterval(this.slideInterval);\r\n this.carousel.removeEventListener(\"scroll\", this.onScroll);\r\n this.dots.forEach((dot) => dot.removeEventListener(\"click\", this.goToSlide.bind(this)));\r\n }\r\n\r\n setupCarousel() {\r\n this.carousel = this.querySelector(\"#carousel\");\r\n if (!this.carousel || this.carousel.children.length === 0) return;\r\n this.totalSlides = this.carousel.children.length;\r\n this.carouselWidth = this.carousel.offsetWidth;\r\n this.carousel.addEventListener(\"scroll\", this.onScroll);\r\n }\r\n\r\n setupDots() {\r\n this.dots = this.querySelectorAll(\".dot\");\r\n this.dots.forEach((dot, index) => {\r\n dot.addEventListener(\"click\", () => this.goToSlide(index));\r\n });\r\n }\r\n\r\n startSlideInterval() {\r\n this.slideInterval = setInterval(() => this.changeSlide(1), 16000);\r\n }\r\n\r\n onScroll() {\r\n const newCurrentIndex = Math.round(this.carousel.scrollLeft / this.carouselWidth);\r\n if (newCurrentIndex !== this.currentIndex) {\r\n this.currentIndex = newCurrentIndex;\r\n this.updateUI();\r\n }\r\n }\r\n\r\n goToSlide(index) {\r\n this.currentIndex = index;\r\n this.carousel.scrollLeft = this.carouselWidth * this.currentIndex;\r\n this.updateUI();\r\n }\r\n\r\n updateUI() {\r\n this.dots.forEach((dot, index) => {\r\n dot.classList.toggle(\"opacity-100\", index === this.currentIndex);\r\n dot.classList.toggle(\"opacity-30\", index !== this.currentIndex);\r\n });\r\n clearInterval(this.slideInterval);\r\n this.startSlideInterval();\r\n }\r\n\r\n changeSlide(direction) {\r\n this.currentIndex = (this.totalSlides + this.currentIndex + direction) % this.totalSlides;\r\n this.carousel.scrollLeft = this.carouselWidth * this.currentIndex;\r\n this.updateUI();\r\n }\r\n}\r\n\r\ncustomElements.define(\"quote-simple\", QuoteSimple);\r\n","import { isPageAtTop, getScrollTop } from \"../utility/utility.js\";\r\n\r\nclass ServiceMenu extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.serviceMenu = this.querySelector(\".js-service-menu\");\r\n this.lastScrollPosition = 0;\r\n this.serviceMenu.setAttribute(\"aria-expanded\", \"false\");\r\n this.dispatchEvent(new CustomEvent(\"serviceMenu:opened\", { bubbles: true }));\r\n this.dispatchEvent(new CustomEvent(\"serviceMenu:closed\", { bubbles: true }));\r\n }\r\n\r\n connectedCallback() {\r\n window.addEventListener(\"scroll\", () => this.handleScroll());\r\n this.handleInitialScrollPosition();\r\n this.initDropdownToggleListeners();\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener(\"scroll\", () => this.handleScroll());\r\n }\r\n\r\n handleScroll() {\r\n const currentScrollPosition = getScrollTop();\r\n if (isPageAtTop() || this.isDropdownOpen() || currentScrollPosition < this.lastScrollPosition) {\r\n this.serviceMenu.classList.add(\"service-open\");\r\n this.serviceMenu.classList.remove(\"service-closed\");\r\n this.serviceMenu.setAttribute(\"aria-expanded\", \"true\");\r\n this.serviceMenu.setAttribute(\"aria-hidden\", \"false\");\r\n } else {\r\n this.serviceMenu.classList.remove(\"service-open\");\r\n this.serviceMenu.classList.add(\"service-closed\");\r\n this.serviceMenu.setAttribute(\"aria-expanded\", \"false\");\r\n this.serviceMenu.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n this.lastScrollPosition = currentScrollPosition;\r\n }\r\n\r\n handleInitialScrollPosition() {\r\n this.handleScroll();\r\n }\r\n\r\n isDropdownOpen() {\r\n return !!document.querySelector(\".main-nav__dropdown.is-open\");\r\n }\r\n\r\n initDropdownToggleListeners() {\r\n const toggles = document.querySelectorAll(\".js-toggle-mega-nav\");\r\n\r\n toggles.forEach((toggle) => {\r\n toggle.addEventListener(\"click\", () => {\r\n this.serviceMenu.classList.add(\"service-open\");\r\n this.serviceMenu.classList.remove(\"service-closed\");\r\n this.serviceMenu.setAttribute(\"aria-expanded\", \"true\");\r\n this.serviceMenu.setAttribute(\"aria-hidden\", \"false\");\r\n });\r\n });\r\n }\r\n}\r\n\r\ncustomElements.define(\"nabohjaelp-service-menu\", ServiceMenu);\r\n","// Import navigation components\r\nimport MainNavigation from \"./components/main-navigation\";\r\nimport MobileNavigation from \"./components/mobile-navigation\";\r\n\r\n// Initialize navigation components\r\nnew MainNavigation();\r\nnew MobileNavigation();\r\n\r\n// Import custom elements\r\nimport \"./custom-elements/accordions\";\r\nimport \"./custom-elements/activity-tabs\";\r\nimport \"./custom-elements/activities-focus-box\";\r\nimport \"./custom-elements/quote-simple\";\r\nimport \"./custom-elements/illustration-page-not-found\";\r\nimport \"./custom-elements/illustration-footer\";\r\nimport \"./custom-elements/illustration-header-logo\";\r\nimport \"./custom-elements/service-menu\";\r\nimport \"./custom-elements/activity-map\";\r\nimport \"./custom-elements/activity-form\";\r\n\r\n// Import utility functions\r\nimport \"./utility/utility\";\r\n","let lastScrollTop = 0;\r\nlet scrollDirection = null;\r\n\r\nexport function isPageAtTop() {\r\n let scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n return scrollTop <= 0;\r\n}\r\n\r\nexport function isScrollingUp() {\r\n let scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n let isScrollingUp = scrollTop < lastScrollTop;\r\n lastScrollTop = scrollTop;\r\n scrollDirection = isScrollingUp ? true : false;\r\n return scrollDirection;\r\n}\r\n\r\nexport function getScrollDirection() {\r\n return scrollDirection;\r\n}\r\n\r\nexport function getScrollTop() {\r\n return window.scrollY || document.documentElement.scrollTop;\r\n}\r\n\r\nexport function debounce(func, wait) {\r\n let timeout;\r\n return function (...args) {\r\n const context = this;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(() => func.apply(context, args), wait);\r\n };\r\n}\r\n","// 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].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknabohjaelp\"] = self[\"webpackChunknabohjaelp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"node_vendors\"], function() { return __webpack_require__(\"./src/scripts/main.js\"); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["isPageAtTop","getScrollTop","MainNavigation","constructor","currentDropdown","lastScrollPosition","animationInProgress","lineDeviderVisible","toggles","document","querySelectorAll","dropdowns","logoText","querySelector","desktopMenu","lineDevider","init","bindEvents","toggleLineDevider","window","addEventListener","debounce","listenForServiceMenuEvents","e","dropdownToggle","target","closest","currentDropdownToggle","close","toggle","contains","forEach","key","shiftKey","preventDefault","items","firstItem","focus","dropdown","lastItem","length","undefined","setAttribute","getAttribute","open","classList","add","dispatchEvent","CustomEvent","link","tabIndex","remove","forceVisible","currentScrollPosition","shouldBeVisible","setTimeout","func","wait","immediate","timeout","executedFunction","context","args","arguments","later","apply","callNow","clearTimeout","MobileNavigation","navToggle","panel","panelItems","firstPanelItem","lastPanelItem","firstPanelItemFocus","style","height","overflow","item","removeAttribute","Accordion","Accordions","HTMLElement","connectedCallback","acc","duration","showMultiple","onOpen","currElement","onClose","disconnectedCallback","attributeChangedCallback","name","oldValue","newValue","customElements","define","ActivitiesFocusBox","allSlides","handleResizeBound","handleResize","bind","removeEventListener","components","component","index","slides","push","radioButtons","groupName","radio","idx","checked","updateSlideVisibility","slide","showSlide","updateSlidesForScreenSize","matchMedia","matches","replace","newIndex","currentSlide","newSlide","find","s","once","ActivityForm","initElements","attachEventListeners","submitTitle","submitDescription","addressSuggestions","addressInput","submitButton","submitButtonSpinner","submitStateIndicator","getElementById","form","lastPickedAddressId","activeOptionIndex","address","submitLoading","console","log","validateForm","handleInput","handleKeydown","hideSuggestions","showSuggestions","preventBlur","inputs","isValid","dateValue","timeValue","input","checkValidity","clearError","showError","type","parsedDateValue","Date","parse","value","isNaN","required","timeRegex","test","id","datetime","combinedDateTime","toISOString","formData","FormData","delete","data","Object","fromEntries","entries","createActivityRequest","date","streetName","StreetName","houseNumber","HouseNumber","floor","Floor","door","Door","city","City","zipCode","ZipCode","xCoordinate","XCoordinate","yCoordinate","YCoordinate","sendActivityRequest","message","error","nextElementSibling","tagName","createElement","insertAdjacentElement","textContent","validationMessage","updateSubmitButtonState","response","fetch","method","headers","body","JSON","stringify","ok","handleSuccess","Error","text","handleError","successMessage","insertAdjacentHTML","resetForm","errorJson","errors","reset","disabled","detachCallback","updateSuggestions","display","options","keyMap","ArrowDown","Math","min","ArrowUp","max","Enter","click","updateActiveOption","caretPosition","selectionStart","json","suggestions","tekst","successful","innerHTML","map","suggestion","caretpos","join","option","selectSuggestion","storeAddressData","addressData","vejnavn","husnr","etage","dør","postnrnavn","postnr","x","y","trim","setSelectionRange","dataset","requestAnimationFrame","scrollIntoView","block","Loader","ActivityMap","loader","apiKey","version","load","then","Map","google","maps","importLibrary","center","lat","lng","zoom","ActivityTabs","guid","tabPanelRows","parseInt","tabsContent","tablist","tablistButtons","activeTabButton","tabsPanels","that","getData","render","doTablistCalculations","attacthIntersectionObserverOnTablist","stickyElm","stickyElmTop","observer","IntersectionObserver","intersectionRatio","rootMargin","threshold","observe","button","setProperty","offsetLeft","offsetWidth","tabButton","loadMoreButton","currentTab","switchTab","loadMore","newTab","previousElementSibling","parentElement","lastElementChild","firstElementChild","bodyRect","getBoundingClientRect","elemRect","offset","top","scrollTo","behavior","switchTabPanel","currentTabPanel","newTabPanel","properties","blockList","rows","content","grid","gridItem","gridIndex","contentType","layout","renderFullwidth","renderAreas","areas","renderTabPanelsHTML","renderContent","area","columnSpan","image","url","title","markup","linkType","route","path","tag","tabPanel","totalRows","skip","take","tabPanelContent","slice","total","lottie","IllustrationFooter","hejAnimation","kiteAnimation","yogaRightAnimation","yogaLeftAnimation","hejContainer","kiteContainer","yogaContainer","loadAnimation","container","renderer","loop","autoplay","initObserver","root","entry","isIntersecting","goToAndPlay","stop","play","disconnect","isScrollingUp","IllustrationHeaderLogo","isAnimationPlaying","initLottieAnimation","addEventListeners","handleScroll","cleanup","logoOuterContainer","logoIcon","hingeElement","nabohjaelpText","nabohjaelpTextRight","hingeAnimationEnd","transitionEndHandler","hingeContainer","logoAnimation","handleMouseOver","initDropdownToggleListeners","destroy","isDropdownOpen","animatePageAtTop","animateScrollingUp","animateScrollingDown","applyClassChanges","event","propertyName","textAnimationEnd","dropdownOpenAnimation","isLoaded","pause","element","classesToAdd","classesToRemove","className","PageNotFound","animation","QuoteSimple","currentIndex","onScroll","changeSlide","setupCarousel","setupDots","startSlideInterval","updateUI","clearInterval","slideInterval","carousel","dots","dot","goToSlide","children","totalSlides","carouselWidth","setInterval","newCurrentIndex","round","scrollLeft","direction","ServiceMenu","serviceMenu","bubbles","handleInitialScrollPosition","lastScrollTop","scrollDirection","scrollTop","scrollY","documentElement","getScrollDirection"],"sourceRoot":""}