{"version":3,"file":"static/js/767.342e5718.chunk.js","mappings":"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","sources":["platformui/Base/Sensors/track.js","platformui/Base/Sensors/viewport.js","platformui/Breadcrumb/index.js","platformui/Buttons/index.js","platformui/CollapsibleText/index.js","platformui/Contact-card/components/list.js","platformui/Contact-card/contact-alert/index.js","platformui/Contact-card/contact-card-panel/index.js","platformui/Contact-card/contact-header/index.js","platformui/Contact-card/contact-subheading/index.js","platformui/Contact-card/current-info/index.js","platformui/Contact-card/e-services/index.js","platformui/Contact-card/find-us/index.js","platformui/Contact-card/read-more/index.js","platformui/Contact-card/related-units/index.js","platformui/Contact-card/related-units/units-like.js","platformui/Contact-card/toggle-more/index.js","platformui/Contact-card/unit/index.js","platformui/Contact-card/unit/managements.js","platformui/Contact-card/unit/unit-section.js","platformui/Contact-card/waiting-times/index.js","platformui/Containers/toggleContainer.js","platformui/Containers/withIntersectionObserver.js","platformui/Containers/withLazyLoad.js","platformui/Containers/withSrcSets.js","platformui/Forms/error.js","platformui/Forms/field.js","platformui/Forms/helpers.js","platformui/Forms/input.js","platformui/Forms/select.js","platformui/Forms/textarea.js","platformui/Hooks/useWindowLocation.js","platformui/Image/index.js","platformui/Modal/index.js","platformui/PrintIframe/index.js","platformui/PrintSidebar/index.js","platformui/Section/index.js","platformui/Share/index.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\n\r\nexport default (WrappedComponent) => {\r\n  const handles = [];\r\n\r\n  const Track = (props) => {\r\n    const [isWithinTrac, setIsWithinTrac] = useState();\r\n    const [isTrackBottom, setIsTrackBottom] = useState();\r\n\r\n    const nodeRef = useRef();\r\n\r\n    const getBoundingClientRect = (node) => node.getBoundingClientRect();\r\n\r\n    const getParentNode = () => nodeRef && nodeRef.current?.parentNode;\r\n\r\n    const getFirstChild = () => nodeRef.current?.firstChild;\r\n\r\n    const isComponentWithinTrack = () => {\r\n      if (!getParentNode()) return;\r\n\r\n      const parentRect = getBoundingClientRect(getParentNode());\r\n      const comp = getBoundingClientRect(getFirstChild());\r\n      const trackBottom =\r\n        window.pageYOffset + parentRect.top + parentRect.height - comp.height;\r\n\r\n      if (parentRect.top < 1 && window.pageYOffset < trackBottom) {\r\n        if (!isWithinTrac) {\r\n          setIsWithinTrac(true);\r\n          setIsTrackBottom(false);\r\n        }\r\n      } else {\r\n        if (isWithinTrac) {\r\n          setIsWithinTrac(false);\r\n          setIsTrackBottom(window.pageYOffset >= trackBottom);\r\n        }\r\n      }\r\n    };\r\n\r\n    useEffect(() => {\r\n      handles.push(isComponentWithinTrack);\r\n      requestAnimationFrame(() => {\r\n        isComponentWithinTrack();\r\n      });\r\n    }, [isTrackBottom]);\r\n\r\n    return (\r\n      <div ref={nodeRef}>\r\n        <WrappedComponent\r\n          {...props}\r\n          isWithinTrac={isWithinTrac}\r\n          isTrackBottom={isTrackBottom}\r\n        />\r\n      </div>\r\n    );\r\n  };\r\n\r\n  let ticking = false;\r\n  const throttleScroll = () => {\r\n    ticking =\r\n      ticking ||\r\n      requestAnimationFrame(() => {\r\n        ticking = false;\r\n        handles.map((handle) => handle());\r\n      });\r\n  };\r\n\r\n  if (typeof window !== 'undefined') {\r\n    window.addEventListener('scroll', throttleScroll, false);\r\n    window.addEventListener('resize', throttleScroll, false);\r\n  }\r\n\r\n  return Track;\r\n};\r\n","import React, { useRef, useState, useEffect } from 'react';\r\n\r\nconst Container = (WrappedComponent, offsetTop) => {\r\n  const handles = [];\r\n  const printHandler = [];\r\n  let ticking = false;\r\n  const throttleScroll = () => {\r\n    ticking =\r\n      ticking ||\r\n      requestAnimationFrame(() => {\r\n        ticking = false;\r\n        handles.map((handle) => handle());\r\n      });\r\n  };\r\n\r\n  if (typeof window !== 'undefined') {\r\n    window.addEventListener('scroll', throttleScroll, false);\r\n\r\n    window.addEventListener('resize', throttleScroll, false);\r\n\r\n    const mediaQueryList = window.matchMedia('print');\r\n    mediaQueryList.addListener((mql) => {\r\n      if (mql.matches) {\r\n        printHandler.map((handle) => handle());\r\n      }\r\n    });\r\n  }\r\n  return (props) => {\r\n    const viewport = useRef();\r\n    const [isInViewPort, setIsInViewPort] = useState(false);\r\n    const [isViewed, setIsViewed] = useState(false);\r\n    const [isBrowserTop, setIsBrowserTop] = useState(false);\r\n    const [isBottomBrowserTop, setIsBottomBrowserTop] = useState(null);\r\n    const [isInRange, setIsInRange] = useState(false);\r\n\r\n    const getBoundingClientRect = () => {\r\n      return viewport.current.getBoundingClientRect();\r\n    };\r\n\r\n    const isComponentInViewPort = () => {\r\n      requestAnimationFrame(() => {\r\n        if (!viewport.current) return;\r\n\r\n        const rect = getBoundingClientRect();\r\n        const offset = offsetTop ? offsetTop : 0;\r\n\r\n        if (rect.top - (window.innerHeight + offset) <= 0) {\r\n          if (!isInViewPort) {\r\n            setIsInViewPort(true);\r\n            setIsViewed(true);\r\n          }\r\n        } else {\r\n          isInViewPort && setIsInViewPort(false);\r\n        }\r\n      });\r\n    };\r\n\r\n    const isComponentBrowserTop = () => {\r\n      if (!viewport.current) return;\r\n\r\n      const rect = getBoundingClientRect();\r\n      if (rect.top < 1) {\r\n        !isBrowserTop && setIsBrowserTop(true);\r\n      } else {\r\n        isBrowserTop && setIsBrowserTop(false);\r\n      }\r\n    };\r\n\r\n    const isComponentBottomBrowserTop = () => {\r\n      if (!viewport.current) return;\r\n\r\n      const rect = getBoundingClientRect();\r\n      if (rect.bottom > 0) {\r\n        isBottomBrowserTop === false && setIsBottomBrowserTop(true);\r\n      } else {\r\n        isBottomBrowserTop !== false && setIsBottomBrowserTop(false);\r\n      }\r\n    };\r\n\r\n    const isComponentWithinRange = () => {\r\n      if (!viewport.current) return;\r\n\r\n      const rect = getBoundingClientRect();\r\n      if (rect.top < 1 && rect.bottom > 0) {\r\n        !isInRange && setIsInRange(true);\r\n      } else {\r\n        isInRange && setIsInRange(false);\r\n      }\r\n    };\r\n\r\n    const isPrinting = () => {\r\n      setIsInViewPort(true);\r\n      setIsViewed(true);\r\n    };\r\n\r\n    useEffect(() => {\r\n      isComponentInViewPort();\r\n      setTimeout(() => {\r\n        isComponentInViewPort();\r\n      }, 200);\r\n\r\n      handles.push(isComponentInViewPort);\r\n      handles.push(isComponentBrowserTop);\r\n      handles.push(isComponentBottomBrowserTop);\r\n      handles.push(isComponentWithinRange);\r\n      printHandler.push(isPrinting);\r\n    }, [isInRange]);\r\n\r\n    return (\r\n      <div ref={viewport}>\r\n        <WrappedComponent\r\n          {...props}\r\n          isInViewPort={isInViewPort}\r\n          isViewed={isViewed}\r\n          isBrowserTop={isBrowserTop}\r\n          isBottomBrowserTop={isBottomBrowserTop}\r\n          isInRange={isInRange}\r\n        />\r\n      </div>\r\n    );\r\n  };\r\n};\r\n\r\nexport default Container;\r\n","import React from 'react';\r\nimport { object, shape, arrayOf, string, node, bool } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { useSweLang } from '../Helpers';\r\n\r\nconst BreadCrumb = (props) => {\r\n  if (!props.Breadcrumbs) return null;\r\n\r\n  const componentClasses = classNames({\r\n    'c-breadcrumb': true,\r\n    ...props.Modifiers,\r\n  });\r\n\r\n  return (\r\n    <nav\r\n      aria-label={props.Name}\r\n      aria-describedby=\"breadcrumb-label\"\r\n      className={componentClasses}\r\n      lang={useSweLang(props.Language)}\r\n    >\r\n      <span id=\"breadcrumb-label\" className=\"c-breadcrumb__label\">\r\n        {props.Label}\r\n      </span>\r\n      <ol>\r\n        {props.Breadcrumbs.map((breadcrumb, index) => {\r\n          return (\r\n            <li key={`breadcrumb${index}`} className=\"c-breadcrumb__item\">\r\n              {!breadcrumb.CurrentPage ? (\r\n                <a href={breadcrumb.Url}>{breadcrumb.Text}</a>\r\n              ) : (\r\n                <a aria-current=\"page\" href={breadcrumb.Url}>\r\n                  {breadcrumb.Text}\r\n                </a>\r\n              )}\r\n            </li>\r\n          );\r\n        })}\r\n      </ol>\r\n    </nav>\r\n  );\r\n};\r\n\r\nBreadCrumb.propTypes = {\r\n  Breadcrumbs: arrayOf(\r\n    shape({\r\n      /** Breadcrumb text */\r\n      Text: node.isRequired,\r\n      /** Should item be rendered as a link */\r\n      HasLink: bool,\r\n      /** Link - required if HasLink is true */\r\n      Url: string,\r\n    })\r\n  ),\r\n  /** First item in the list */\r\n  Label: string,\r\n  /** Classnames compatible object */\r\n  Modifiers: object,\r\n  /**Language for screen reader purpose */\r\n  Language: string,\r\n};\r\n\r\nexport default BreadCrumb;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport T from 'prop-types';\r\n\r\n/* eslint-disable react/no-unknown-property */\r\n\r\nconst expandableButtonPropTypes = {\r\n  buttonText: T.node,\r\n  onClick: T.func,\r\n  buttonClass: T.string,\r\n  iconClass: T.string,\r\n  textClass: T.string,\r\n  /** Used for aria-collapsed and data-open attributes */\r\n  open: T.bool,\r\n  /** Should match ID of element being opened/closed for aria-controls attribute */\r\n  controlsElementId: T.string,\r\n  buttonId: T.string,\r\n  /* Will spread on <button> element. Only use valid attributes for html button. */\r\n  attr: T.object,\r\n};\r\n\r\nconst ExpandableButton = (props) => {\r\n  const {\r\n    buttonText,\r\n    onClick,\r\n    buttonClass,\r\n    iconClass,\r\n    textClass,\r\n    open,\r\n    controlsElementId,\r\n    buttonId,\r\n    attr,\r\n  } = props;\r\n\r\n  return (\r\n    <button\r\n      type=\"button\"\r\n      className={`${buttonClass} c-expandable-button`}\r\n      matomo-id=\"expandable-button\"\r\n      id={buttonId}\r\n      onClick={onClick}\r\n      aria-controls={controlsElementId}\r\n      aria-expanded={open}\r\n      data-open={open ? 'true' : 'false'}\r\n      {...attr}\r\n    >\r\n      <i\r\n        data-open={open ? 'true' : 'false'}\r\n        matomo-id=\"expandable-button\"\r\n        id={buttonId ? `${buttonId}-i` : 'expandable-button-i'}\r\n        className={classNames({\r\n          [`${iconClass}`]: true,\r\n          [`${iconClass}--is-open`]: open,\r\n        })}\r\n      ></i>\r\n\r\n      <span\r\n        aria-expanded={open}\r\n        matomo-id=\"expandable-button\"\r\n        id={buttonId ? `${buttonId}-span` : 'expandable-button-span'}\r\n        className={textClass}\r\n      >\r\n        {buttonText}\r\n      </span>\r\n    </button>\r\n  );\r\n};\r\n\r\nExpandableButton.defaultProps = {\r\n  buttonClass: '',\r\n  attr: {},\r\n};\r\n\r\nExpandableButton.propTypes = expandableButtonPropTypes;\r\n\r\nexport default ExpandableButton;\r\n","import React, { useRef, useState } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst DEFAULT_CLASSNAME = 'c-collapsible-text';\r\n\r\nconst CollapsibleText = (props) => {\r\n  const collapsibleContentInner = useRef();\r\n  const collapsibleContent = useRef();\r\n  const [isExpanded, setIsExpanded] = useState(false);\r\n  const extendsContent =\r\n    collapsibleContentInner.clientHeight > collapsibleContent.clientHeight;\r\n\r\n  const handleClick = () => {\r\n    setIsExpanded(!isExpanded);\r\n  };\r\n\r\n  const componentClass = props.className ? props.className : DEFAULT_CLASSNAME;\r\n  const buttonText = isExpanded\r\n    ? props.buttonReadLessText\r\n    : props.buttonReadMoreText;\r\n  const classes = classNames({\r\n    [`${componentClass}`]: true,\r\n    [`${componentClass}--expanded`]: isExpanded,\r\n    [`${componentClass}--extends-content`]: extendsContent,\r\n    ...props.Modifiers,\r\n  });\r\n  if (props.hideCollapsibleText)\r\n    return <div className={componentClass}>{props.children}</div>;\r\n\r\n  return (\r\n    <div className={classes}>\r\n      {props.heading && (\r\n        <h2 className={`${componentClass}__heading`}>{props.heading}</h2>\r\n      )}\r\n      <div ref={collapsibleContent} className={`${componentClass}__content`}>\r\n        <div ref={collapsibleContentInner}>{props.children}</div>\r\n      </div>\r\n\r\n      <button\r\n        aria-hidden=\"true\"\r\n        className={`${componentClass}__button`}\r\n        onClick={() => handleClick()}\r\n        type=\"button\"\r\n      >\r\n        {props.buttonChildren && props.buttonChildren}\r\n\r\n        <span className={`${componentClass}__button__inner`}>{buttonText}</span>\r\n      </button>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default CollapsibleText;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst Listitem = (props) => {\r\n  return (\r\n    <li\r\n      className={classNames({\r\n        'card-link-list__list-item': true,\r\n        'full-width': props.fullWidth,\r\n      })}>\r\n      <a className={`card-link-list__link ${props.matomoTrackingClass ? props.matomoTrackingClass : ''}`} href={props.Url}>\r\n        <span>{props.Text}</span>\r\n      </a>\r\n\r\n      {props.itemChildren && props.itemChildren(props)}\r\n    </li>\r\n  );\r\n};\r\n\r\nconst List = (props) => {\r\n  if (!props.items) return null;\r\n  return (\r\n    <div\r\n      className={classNames({\r\n        'card-link-list': true,\r\n        ...props.modifiers,\r\n      })}\r\n    >\r\n      <ul className=\"card-link-list__list\">\r\n        {props.items.map((item, key) => (\r\n          <Listitem\r\n            {...item}\r\n            itemChildren={props.itemChildren}\r\n            key={key}\r\n            fullWidth={props.fullWidth}\r\n            matomoTrackingClass={props.matomoTrackingClass}\r\n          />\r\n        ))}\r\n        {!props.fullWidth && props.items.length % 2 !== 0 && (\r\n          <li key=\"fill\" className=\"card-link-list__list-item empty\">\r\n            <span tabIndex=\"-1\"></span>\r\n          </li>\r\n        )}\r\n      </ul>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default List;\r\n","import React from 'react';\r\nimport Alert from '../../Alert';\r\nimport { any, arrayOf, string, shape } from 'prop-types';\r\n\r\nconst ContactAlert = (props) => {\r\n  if (!props.TemporaryInformation) return null;\r\n\r\n  const { Comment, FromDate, ToDate } = props.TemporaryInformation;\r\n\r\n  const showComments = () => {\r\n    if (!FromDate && !ToDate) return true;\r\n\r\n    const date = new Date().toISOString();\r\n    if (!FromDate && ToDate > date) return true;\r\n    if (FromDate < date && !ToDate) return true;\r\n    if (FromDate < date && ToDate > date) return true;\r\n\r\n    return false;\r\n  };\r\n  const showAlert = Comment.length > 0 && showComments();\r\n\r\n  if (showAlert) {\r\n    const comments = Comment.map((item, index) => <p key={index}>{item}</p>);\r\n    return (\r\n      <div className=\"contact-alert\">\r\n        <Alert type=\"warning\">\r\n          <div className=\"row\">\r\n            <div className=\"small-12 columns\">\r\n              <div className=\"c-alert--content contact-alert--content\">\r\n                {comments}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </Alert>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  return null;\r\n};\r\n\r\nContactAlert.propTypes = {\r\n  TemporaryInformation: shape({\r\n    Comment: arrayOf(string),\r\n    FromDate: any,\r\n    ToDate: any,\r\n  }),\r\n};\r\n\r\nexport default ContactAlert;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport ToggleContainer from '../../Containers/toggleContainer';\r\nimport ExpandableButton from '../../Buttons';\r\nimport SemanticHeader from '../../Chapter/semantic-header';\r\n\r\nconst ContactCardPanel = (props) => {\r\n  return (\r\n    <ToggleContainer subheading={props.subheading} open={props.open}>\r\n      {({ open, animation, toggle }) => (\r\n        <div\r\n          className={classNames({\r\n            'contact-card': true,\r\n            'contact-card--open': open,\r\n            subheading: props.subheading,\r\n            'is-last': props.isLast,\r\n            ...props.Modifiers,\r\n          })}\r\n          id={props.id}\r\n        >\r\n          <div className=\"contact-card__inner\">\r\n            <div className=\"contact-card__content\">\r\n              <div className=\"contact-card__button-container\">\r\n                <SemanticHeader\r\n                  className={`contact-card__content__heading ${props.matomoTrackingClass ? props.matomoTrackingClass : ''}`}\r\n                  isH3={props.hasH3}\r\n                  isH4={props.hasH4}\r\n                >\r\n                  <ExpandableButton\r\n                    onClick={toggle}\r\n                    open={open}\r\n                    buttonClass=\"contact-card__button\"\r\n                    iconClass={\r\n                      props.subheading\r\n                        ? 'plus--subheading'\r\n                        : 'chevron--contact-panel'\r\n                    }\r\n                    buttonText={props.contactCardHeading}\r\n                    textClass=\"contact-card__heading\"\r\n                    buttonId={`contact-card-accordion-${props.id}`}\r\n                  />\r\n                </SemanticHeader>\r\n              </div>\r\n\r\n              <div\r\n                className={classNames({\r\n                  'contact-card__content__inner': true,\r\n                  animation: animation,\r\n                })}\r\n              >\r\n                {props.children}\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      )}\r\n    </ToggleContainer>\r\n  );\r\n};\r\n\r\nexport default ContactCardPanel;\r\n","import React, { Fragment } from 'react';\r\nimport { string, number, shape } from 'prop-types';\r\nimport scrollIt from '../../Base/Scroll';\r\nimport classNames from 'classnames';\r\n\r\n// Add a discrete word break character to Ungdomsmottagning.\r\n// Use \"domsmottagning\" (no Ung/ung) to be less case sensetive.\r\nconst formatHeadingHtml = (heading) => ({\r\n  __html: heading.replace('domsmottagning', 'doms&shy;mottagning'),\r\n});\r\n\r\nconst ContactHeader = (Card) => {\r\n  const classes = classNames({\r\n    'contact-header': true,\r\n    'contact-header--no-links': !Card.Address && !Card.Location,\r\n  });\r\n\r\n  function openIndoorRouteDescriptionIfClosed() {\r\n    //if panel is closed, open it\r\n    let findUsPanel = document.getElementById('contact');\r\n    if (findUsPanel !== null) {\r\n      let open = document.querySelector('#contact .c-expandable-button').dataset\r\n        .open;\r\n      if (open === 'false')\r\n        document.querySelector('#contact .c-expandable-button').click();\r\n    }\r\n\r\n    let indoorRouteDescription = document.getElementById(\r\n      'indoor-route-description'\r\n    );\r\n    if (indoorRouteDescription !== null) {\r\n      let open = document.getElementById('indoor-route-description').dataset\r\n        .open;\r\n      if (open === 'false')\r\n        document.getElementById('indoor-route-description').click();\r\n    }\r\n  }\r\n  const showRouteDescriptionLink = Boolean(\r\n    Card.Address ||\r\n      (Card.Location && Card.Location.latitude && Card.Location.longitude) ||\r\n      Card.IndoorRouteDescription ||\r\n      Card.RoadDescription\r\n  );\r\n\r\n  return (\r\n    <header className={classes}>\r\n      <h1\r\n        dangerouslySetInnerHTML={formatHeadingHtml(Card.DisplayName)}\r\n        className=\"contact-header__heading\"\r\n      />\r\n      {Card.LogotypeUrl && (\r\n        <div className=\"contact-header__logo\">\r\n          <img src={Card.LogotypeUrl} alt=\"Mottagningens logotyp\" />\r\n        </div>\r\n      )}\r\n      {Card.Address && (\r\n        <p className=\"contact-header__address\">{Card.Address}</p>\r\n      )}\r\n\r\n      {Card.Location && (\r\n        <Fragment>\r\n          <a\r\n            className=\"contact-header__link contact-header__link--map\"\r\n            href={`https://www.google.se/maps/dir/?api=1&destination=${Card.Location.latitude},${Card.Location.longitude}`}\r\n          >\r\n            <span>Visa på karta</span>\r\n          </a>\r\n        </Fragment>\r\n      )}\r\n\r\n      {showRouteDescriptionLink && (\r\n        <Fragment>\r\n          {/* On click: Scroll down to find us section and open the indoor route description text */}\r\n          <a\r\n            className=\"contact-header__link contact-header__link--path\"\r\n            onClick={(e) => {\r\n              e.preventDefault();\r\n              scrollIt(\r\n                document.getElementById(`contact`),\r\n                300,\r\n                'easeOutQuad',\r\n                openIndoorRouteDescriptionIfClosed\r\n              );\r\n            }}\r\n            href={`#contact`}\r\n          >\r\n            <span>{Card.Translations.roaddescription}</span>\r\n          </a>\r\n        </Fragment>\r\n      )}\r\n    </header>\r\n  );\r\n};\r\n\r\nContactHeader.propTypes = {\r\n  DisplayName: string,\r\n  Address: string,\r\n  Location: shape({\r\n    latitude: number,\r\n    longitude: number,\r\n  }),\r\n  LogotypeUrl: string,\r\n  Translations: shape({\r\n    roaddescription: string,\r\n  }),\r\n};\r\n\r\nexport default ContactHeader;\r\n","import React from 'react';\r\n\r\nconst SubHeading = (props) => {\r\n  return (\r\n    <div className=\"contact-subheading\">\r\n      <h3>{props.Heading}</h3>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default SubHeading;\r\n","import React from 'react';\r\nimport { shape, string, arrayOf } from 'prop-types';\r\n\r\nimport ContactCardPanel from '../contact-card-panel';\r\n\r\nconst CurrentInfo = (props) => {\r\n  const matomoTrackingClass = 'aktuellt';\r\n  return props.Items.map((item, index) => (\r\n    <div className=\"current-info\" key={index}>\r\n      <ContactCardPanel\r\n        subheading={true}\r\n        hasH3={true}\r\n        contactCardHeading={item.Title}\r\n        Modifiers={{ 'child-overflow-visible': true }}\r\n        isLast={index === props.Items.length - 1}\r\n      >\r\n        {item.PublishFrom && (\r\n          <span className=\"current-info__publishdate\">\r\n            {props.Translations.published}\r\n            {item.PublishFrom}\r\n          </span>\r\n        )}\r\n\r\n        {/* Display special extra hours if available with this news item */}\r\n        {item.ExtraHours && (\r\n          <div className=\"main-info__container\">\r\n            {props.Translations.vaccinationhours && (\r\n              <h4>{props.Translations.vaccinationhours}</h4>\r\n            )}\r\n            <p className=\"main-info__item\">{item.ExtraHours}</p>\r\n          </div>\r\n        )}\r\n        {item.Text && (\r\n          <div\r\n            className=\"current-info__publishdate__content\"\r\n            dangerouslySetInnerHTML={{ __html: item.Text }}\r\n          />\r\n        )}\r\n        {item.Link && (\r\n          <div className={`${matomoTrackingClass}`}>\r\n            <a href={item.Link.Url}>{item.Link.Text}</a>\r\n          </div>\r\n        )}\r\n      </ContactCardPanel>\r\n    </div>\r\n  ));\r\n};\r\n\r\nCurrentInfo.propTypes = {\r\n  /** (BE) */\r\n  Translations: shape({\r\n    showmoretext: string,\r\n    showlesstext: string,\r\n  }),\r\n  /** (BE) */\r\n  Items: arrayOf(\r\n    shape({\r\n      PublishFrom: string,\r\n      Text: string,\r\n      Link: shape({\r\n        Text: string,\r\n        Url: string,\r\n      }),\r\n      ExtraHours: string,\r\n    })\r\n  ),\r\n};\r\n\r\nexport default CurrentInfo;\r\n","import React, { useRef, Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport Modal from '../../Modal';\r\nimport { OpenModalButton, ModalPanel, CloseModalButton } from '../../Modal';\r\nimport ToggleMore from '../toggle-more';\r\nimport List from '../components/list';\r\n\r\nconst EServices = (props) => {\r\n  const expandableList = useRef();\r\n  const matomoTrackingClass = 'e-tjänster';\r\n\r\n  const { EServices, Translations } = props;\r\n  if (!EServices) return null;\r\n\r\n  const setFocus = (id) => {\r\n    const activeBtn = document.querySelector(`[data-buttonid='open${id}']`);\r\n    if (activeBtn) {\r\n      const content = activeBtn?.nextSibling?.getElementsByClassName(\r\n        'e-services__modal-panel__content'\r\n      );\r\n      if (content) {\r\n        content[0].focus();\r\n      }\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div ref={expandableList}>\r\n      <ToggleMore allVisibleItems={EServices.length}>\r\n        {({ visible, toggleMore }) => (\r\n          <div className=\"e-services\">\r\n            <Modal>\r\n              <List\r\n                items={EServices}\r\n                matomoTrackingClass={matomoTrackingClass}\r\n                modifiers={{\r\n                  'card-link-list--is-collapsible': true,\r\n                  'card-link-list--is-open': visible,\r\n                }}\r\n                itemChildren={(child) => {\r\n                  const modal = child.Description && (\r\n                    <div\r\n                      key={child.ExternalId}\r\n                      className=\"e-services__modal-container\"\r\n                    >\r\n                      <OpenModalButton\r\n                        open={child.ExternalId}\r\n                        id={child.ExternalId}\r\n                        className={'e-services__modal-open'}\r\n                        ariaLabel={`${Translations.moreinformationabout} ${child.Text}`}\r\n                        clickCallback={() => {\r\n                          setTimeout(() => {\r\n                            setFocus(child.ExternalId);\r\n                          }, 0);\r\n                        }}\r\n                      >\r\n                        <span />\r\n                      </OpenModalButton>\r\n                      <ModalPanel whenActive={child.ExternalId}>\r\n                        <div\r\n                          className={classNames({\r\n                            'e-services__modal-panel': true,\r\n                            'e-services__modal-panel--small':\r\n                              !child.Description,\r\n                          })}\r\n                        >\r\n                          <CloseModalButton\r\n                            id={`${child.ExternalId}--close`}\r\n                            className={'e-services__modal-close'}\r\n                          >\r\n                            <span className=\"show-for-sr\">\r\n                              {Translations.close}\r\n                            </span>\r\n                          </CloseModalButton>\r\n                          <div\r\n                            className=\"e-services__modal-panel__content\"\r\n                            tabIndex=\"0\"\r\n                            role=\"group\"\r\n                            aria-labelledby={child.Text}\r\n                          >\r\n                            <Fragment>\r\n                              <span className=\"e-services__modal-panel__conditions\">\r\n                                {child.Heading}\r\n                              </span>\r\n                              <h4 id={child.Text}>{child.Text}</h4>\r\n                              <div\r\n                                className=\"e-services__modal-panel__description\"\r\n                                dangerouslySetInnerHTML={{\r\n                                  __html: child.Description,\r\n                                }}\r\n                              />\r\n                            </Fragment>\r\n                          </div>\r\n                        </div>\r\n                      </ModalPanel>\r\n                    </div>\r\n                  );\r\n\r\n                  return [\r\n                    modal,\r\n                    <span key={`tab${child.ExternalId}`} tabIndex=\"-1\" />,\r\n                  ];\r\n                }}\r\n              />\r\n            </Modal>\r\n\r\n            <div\r\n              className={classNames({\r\n                'e-services__togglebtn-container': true,\r\n                'e-services__togglebtn-container--is-gt-4':\r\n                  EServices.length > 4,\r\n                'e-services__togglebtn-container--is-gt-10':\r\n                  EServices.length > 10,\r\n              })}\r\n            >\r\n              <button\r\n                className=\"e-services__toggle-button\"\r\n                type=\"button\"\r\n                onClick={() => toggleMore(expandableList.current)}\r\n              >\r\n                <i\r\n                  className={classNames({\r\n                    'e-services__toggle-icon': true,\r\n                    'e-services__toggle-icon--is-open': visible,\r\n                  })}\r\n                />\r\n                <span>\r\n                  {visible\r\n                    ? `${Translations.showless}`\r\n                    : `${Translations.showmore}`}\r\n                </span>\r\n              </button>\r\n            </div>\r\n          </div>\r\n        )}\r\n      </ToggleMore>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default EServices;\r\n","import React, { Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport ToggleContainer from '../../Containers/toggleContainer';\r\nimport { isSmallViewport } from '../../Hooks/useMedia';\r\nimport ExpandableButton from '../../Buttons';\r\n\r\nconst Label = (props) => {\r\n  if (!props.data) return null;\r\n\r\n  return <dt>{props.label}</dt>;\r\n};\r\n\r\nconst Value = (props) => {\r\n  if (!props.data) return null;\r\n\r\n  return <dd>{props.data}</dd>;\r\n};\r\n\r\nconst ValueLink = (props) => {\r\n  if (!props.data) return null;\r\n  const matomoTrackingClass = 'hitta-oss';\r\n  return (\r\n    <dd>\r\n      <a className={`find-us__webpage ${matomoTrackingClass}`} href={props.data}>\r\n        <span>{props.data}</span>\r\n      </a>\r\n    </dd>\r\n  );\r\n};\r\n\r\nconst AccessibilityUrl = (props) => {\r\n  if (!props.url) return null;\r\n  const matomoTrackingClass = 'accessibilityurl';\r\n  return (\r\n    <dd>\r\n      <a className={`${matomoTrackingClass}`} href={props.url}>\r\n        <span>{props.text}</span>\r\n      </a>\r\n    </dd>\r\n  );\r\n};\r\n\r\nconst FindUs = (props) => {\r\n  const Card = props;\r\n  const isSmall = isSmallViewport();\r\n  \r\n  return (\r\n    <div className=\"find-us\">\r\n      <div className=\"find-us__inner\">\r\n        <div className={props.wrapperClasses}>\r\n          {Card.Location && Card.Location.latitude && Card.Location.longitude && (\r\n            <div className={props.mapGrid}>\r\n              <div className=\"find-us__map-wrapper\">\r\n                <div className=\"find-us__map-planner\">\r\n                  <a\r\n                    className=\"find-us__map-planner__link\"\r\n                    href={`https://www.google.se/maps/dir/?api=1&destination=${Card.Location.latitude},${Card.Location.longitude}`}\r\n                  >\r\n                    <span>{Card.Translations.biggermaptravelplanner}</span>\r\n                  </a>\r\n                </div>\r\n\r\n                {Card.StaticMapUrl && (\r\n                  <img\r\n                    className=\"find-us__map\"\r\n                    src={Card.StaticMapUrl}\r\n                    alt=\"\"\r\n                  />\r\n                )}\r\n              </div>\r\n            </div>\r\n          )}\r\n          <div className={props.addressGrid}>\r\n            <dl className=\"find-us__address\">\r\n              {Card.Address && Card.Translations.visitoraddress && (\r\n                <Fragment>\r\n                  <Label\r\n                    data={Card.Address}\r\n                    label={Card.Translations.visitoraddress}\r\n                  />\r\n                  <Value data={Card.Address} />\r\n                </Fragment>\r\n              )}\r\n\r\n              {Card.County && Card.Translations.county && (\r\n                <Fragment>\r\n                  <Label data={Card.County} label={Card.Translations.county} />\r\n                  <Value\r\n                    data={`${Card.County}${\r\n                      Card.Municipality ? ', ' + Card.Municipality : ''\r\n                    }`}\r\n                  />\r\n                </Fragment>\r\n              )}\r\n\r\n              {Card.PostalAddress && Card.Translations.postaladdress && (\r\n                <Fragment>\r\n                  <Label\r\n                    data={Card.PostalAddress}\r\n                    label={Card.Translations.postaladdress}\r\n                  />\r\n                  <Value data={Card.PostalAddress} />\r\n                </Fragment>\r\n              )}\r\n\r\n              {Card.WebsiteUrl && Card.Translations.websiteurl && (\r\n                <Fragment>\r\n                  <Label\r\n                    data={Card.WebsiteUrl}\r\n                    label={Card.Translations.websiteurl}\r\n                  />\r\n                  <ValueLink data={Card.WebsiteUrl} />\r\n                </Fragment>\r\n              )}\r\n\r\n              {Card.AccessibilityUrl && Card.Translations.accessibilityurl && (\r\n                <Fragment>\r\n                  <Label\r\n                    data={Card.AccessibilityUrl}\r\n                    label={Card.Translations.accessibilityurl}\r\n                  />\r\n                  <AccessibilityUrl url={Card.AccessibilityUrl} text={Card.AccessibilityUrlText} />\r\n                </Fragment>\r\n              )}\r\n            </dl>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div>\r\n        <ToggleContainer open={isSmall ? true : undefined}>\r\n          {({ open, toggle }) => (\r\n            <div\r\n              className={classNames({\r\n                'extended-info': true,\r\n                'extended-info--is-open': open,\r\n              })}\r\n            >\r\n              {!isSmall &&\r\n                (Card.IndoorRouteDescription || Card.RoadDescription) && (\r\n                  <h3>\r\n                    <ExpandableButton\r\n                      onClick={toggle}\r\n                      open={open}\r\n                      buttonClass=\"find-us__toggle-button\"\r\n                      iconClass=\"plus--extended-info\"\r\n                      buttonText={\r\n                        open\r\n                          ? Card.Translations.hideroutedescription\r\n                          : Card.Translations.showroutedescription\r\n                      }\r\n                      buttonId=\"indoor-route-description\"\r\n                      textClass=\"find-us__toggle-button__text\"\r\n                    />\r\n                  </h3>\r\n                )}\r\n              <div\r\n                className={classNames({\r\n                  'extended-info__content': true,\r\n                  visible: open,\r\n                })}\r\n              >\r\n                {(Card.IndoorRouteDescription || Card.RoadDescription) && (\r\n                  <div>\r\n                    <h3 className=\"extended-info__heading\">\r\n                      {Card.Translations.roaddescription}\r\n                    </h3>\r\n                    {Card.RoadDescription && (\r\n                      <div className=\"outdoor-description\">\r\n                        <h4>{Card.Translations.outdoorroutedescription}</h4>\r\n                        {Card.RoadDescription.map((description, index) => (\r\n                          <p key={index}>{description}</p>\r\n                        ))}\r\n                      </div>\r\n                    )}\r\n                    {Card.IndoorRouteDescription && (\r\n                      <div className=\"indoor-description\">\r\n                        <h4>{Card.Translations.indoorroutedescription}</h4>\r\n                        {Card.IndoorRouteDescription.map(\r\n                          (description, index) => (\r\n                            <p key={index}>{description}</p>\r\n                          )\r\n                        )}\r\n                      </div>\r\n                    )}\r\n                  </div>\r\n                )}\r\n              </div>\r\n            </div>\r\n          )}\r\n        </ToggleContainer>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nFindUs.defaultProps = {\r\n  wrapperClasses: 'row',\r\n  mapGrid: 'columns large-6 large-push-6',\r\n  addressGrid: 'columns large-6',\r\n};\r\n\r\nexport default FindUs;\r\n","import React from 'react';\r\nimport List from '../components/list';\r\n\r\n\r\nconst ReadMore = ({ ReadMoreLinks }) => {\r\n  const matomoTrackingClass = 'läs-mer';\r\n  if (!ReadMoreLinks || ReadMoreLinks.length < 1) return null;\r\n  return (\r\n    <div className=\"read-more\">\r\n      <List items={ReadMoreLinks} matomoTrackingClass={matomoTrackingClass} />\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ReadMore;\r\n","import React from 'react';\r\nimport List from '../components/list';\r\nimport UnitsLike from './units-like';\r\n\r\nconst RelatedUnits = (props) => {\r\n  const { RelatedUnits, MoreUnitsLike, Translations } = props;\r\n  const matomoTrackingClass = 'relaterade-mottagningar';\r\n  return (\r\n    <div className=\"related-units\">\r\n      {RelatedUnits && RelatedUnits.length > 0 && (\r\n        <List items={RelatedUnits} matomoTrackingClass={matomoTrackingClass} fullWidth={true} />\r\n      )}\r\n      {MoreUnitsLike && MoreUnitsLike.length > 0 && (\r\n        <UnitsLike items={MoreUnitsLike} Translations={Translations} />\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default RelatedUnits;\r\n","import React from 'react';\r\nimport ContactSubheading from '../contact-subheading';\r\n\r\nconst parseQuery = (url) => {\r\n  let parts = [];\r\n  for (const [key, value] of url.searchParams) {\r\n    parts = [...parts, { key, value }];\r\n  }\r\n  return parts;\r\n}\r\n\r\nconst buildPath = (path, newQuery) => { \r\n  return path + '?' + newQuery.map(p => `${p.key}=${encodeURIComponent(p.value)}`).join(\"&\");\r\n}\r\n\r\nconst parseUnitUrl = (url) => { \r\n  if (url) { \r\n    var specificUrl = 'https://1177.se' + url;\r\n    return URL.canParse(specificUrl) ? new URL(specificUrl) : null;\r\n  }\r\n  return null;\r\n}\r\n\r\nconst rewriteQuery = (originalQuery, queryPair) => { \r\n  let newQuery = originalQuery.filter(k => k.key !== queryPair.key);\r\n  return [...newQuery, queryPair];\r\n}\r\n\r\nconst rewriteUrl = (referrerUrl, href) => { \r\n  const parsedUnit = parseUnitUrl(href);\r\n  if (parsedUnit) {\r\n    const originalQuery = parseQuery(referrerUrl);\r\n    const unitsQuery = parseQuery(parsedUnit);\r\n    \r\n    const careType = unitsQuery.find(k => k.key === \"caretype\");\r\n    if (careType) {\r\n      let newQuery = rewriteQuery(originalQuery, careType);\r\n      newQuery = rewriteQuery(newQuery, { key: \"q\", value: \"\" });\r\n      return buildPath(parsedUnit.pathname, newQuery);\r\n    }\r\n   }\r\n  return href;\r\n}\r\n\r\nconst validateReferrer = (referrerUrl, unitUrl) => { \r\n  return referrerUrl && referrerUrl.host && referrerUrl.host.includes(\"1177\") && referrerUrl.pathname == unitUrl.pathname;\r\n}\r\n\r\nconst rewriteUrls = (items) => { \r\n  if (typeof URL === 'undefined') return items;\r\n  if (items && items.length > 0) {\r\n    const referrerUrl = URL.canParse(document.referrer) ? new URL(document.referrer) : null;\r\n    \r\n    const firstUnitUrl = parseUnitUrl(items[0].Url);\r\n    if (firstUnitUrl && validateReferrer(referrerUrl, firstUnitUrl)) { \r\n      return items.map(item => ({ ...item, Url: rewriteUrl(referrerUrl, item.Url) }));\r\n    }\r\n  }\r\n  return items;\r\n}\r\n\r\nconst UnitsLike = (props) => {\r\n  const { items, Translations } = props;\r\n\r\n  const redirectItems = rewriteUrls(items);\r\n\r\n  return (\r\n    <div className=\"units-like\">\r\n      <ContactSubheading Heading={Translations.moreunitslike} />\r\n      <ul className=\"units-like__list\">\r\n        {redirectItems.map((item, index) => (\r\n          <li key={index}>\r\n            {item.Url && item.Text && (\r\n              <a className=\"units-like__list-item\" href={item.Url}>\r\n                {item.Text}\r\n              </a>\r\n            )}\r\n          </li>\r\n        ))}\r\n      </ul>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default UnitsLike;\r\n","import { useState } from 'react';\r\n\r\nexport default function ToggleMore(props) {\r\n  const [visible, setVisible] = useState(false);\r\n\r\n  const toggleMore = (list) => {\r\n    //Handle focus on toggle\r\n    if (!visible) {\r\n      // IE11 is not supporting spreaded arrays [...list] and Array.from(), instead of polyfill\r\n      // create a NodeList\r\n      const visElements = list.querySelectorAll('li');\r\n      // create array from NodeList\r\n      const visElementsArray = Array.prototype.slice.call(visElements);\r\n      // filter array\r\n      visElementsArray.filter(\r\n        (el) => window.getComputedStyle(el).display !== 'none'\r\n      );\r\n      const lastItem = visElementsArray && visElementsArray.pop();\r\n      const span = lastItem && lastItem.querySelector('span[tabindex]');\r\n      span.focus();\r\n    }\r\n\r\n    setVisible(!visible);\r\n  };\r\n\r\n  const { children } = props;\r\n\r\n  return children({\r\n    visible: visible,\r\n    toggleMore: toggleMore,\r\n  });\r\n}\r\n","import React from 'react';\r\nimport AboutUsSection from './unit-section';\r\nimport Managements from './managements';\r\nimport ContactCardPanel from '../contact-card-panel';\r\nimport Linklist from '../../Linklist';\r\n\r\nconst Unit = (props) => {\r\n  const matomoTrackingClass = 'om-oss';\r\n  return (\r\n    <div className=\"unit\">\r\n      {props.Description && (\r\n        <AboutUsSection\r\n          Content={props.Description}\r\n          PhotoUrl={props.PhotoUrl}\r\n          PhotoAlt={props.PhotoAltText}\r\n          FullWidth={props.FullWidth}\r\n        />\r\n      )}\r\n      {(props.Managements || props.HasCareOptionContract) && (\r\n        <AboutUsSection FullWidth={true}>\r\n          <Managements {...props} />\r\n        </AboutUsSection>\r\n      )}\r\n\r\n      {(props.Offers || props.GeneralText || props.GeneralFiles) && (\r\n        <ContactCardPanel\r\n          subheading={true}\r\n          hasH3={true}\r\n          contactCardHeading=\"Det här kan du få hjälp med\"\r\n          Modifiers={{ 'unit__contact-card': true }}\r\n        >\r\n          {props.GeneralText && (\r\n            <div\r\n              className=\"offering__general-text\"\r\n              dangerouslySetInnerHTML={{ __html: props.GeneralText }}\r\n            />\r\n          )}\r\n          {props.GeneralFiles && <Linklist Links={props.GeneralFiles} />}\r\n          {props.Offers && (\r\n            <ul className=\"offering__list\">\r\n              {props.Offers?.map((offer, index) => (\r\n                <li key={`${index}--${offer.Title}`}>\r\n                  <ContactCardPanel\r\n                    subheading={true}\r\n                    hasH4={true}\r\n                    contactCardHeading={offer.Title}\r\n                    Modifiers={{ 'contact-card--sublevel': true }}\r\n                    matomoTrackingClass={matomoTrackingClass}\r\n                  >\r\n                    <div dangerouslySetInnerHTML={{ __html: offer.Text }} />\r\n                    {offer.Files && <Linklist Links={offer.Files} />}\r\n                  </ContactCardPanel>\r\n                </li>\r\n              ))}\r\n            </ul>\r\n          )}\r\n        </ContactCardPanel>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\nexport default Unit;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Managements = (props) => {\r\n  let p = { ...props };\r\n\r\n  return (\r\n    <div className=\"managements\">\r\n      {props.Managements && (\r\n        <div className=\"managements__item\">\r\n          <p className='managements__item__text'>\r\n            {props.Translations.managements}:<span className='managements__item__text__name'> {props.Managements}</span>\r\n          </p>\r\n        </div>\r\n      )}\r\n\r\n      {p.HasCareOptionContract && (\r\n        <div className=\"managements__item\">\r\n          <div className=\"managements__care-option\">\r\n            <span className=\"managements__care-option__icon\" />\r\n            <a href={p.CareOptionLinkUrl}>{p.CareOptionContractLinkText}</a>\r\n          </div>\r\n        </div>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nconst {string, bool, shape } = PropTypes;\r\n\r\nManagements.propTypes = {\r\n  Managements: string,\r\n  CareOptionContractLinkText: string,\r\n  CareOptionLinkUrl: string,\r\n  HasCareOptionContract: bool,\r\n  Translations: shape({\r\n    certification: string,\r\n    managements: string,\r\n  }),\r\n};\r\n\r\nexport default Managements;\r\n","import React from 'react';\r\nimport SubHeading from '../contact-subheading';\r\nimport classNames from 'classnames';\r\nimport Image from '../../Image';\r\n\r\nconst AboutUsSection = (props) => {\r\n  const heading =\r\n    props.Heading && props.SubSection ? (\r\n      <h4>{props.Heading}</h4>\r\n    ) : props.Heading ? (\r\n      <SubHeading {...props} />\r\n    ) : null;\r\n\r\n  return (\r\n    <div\r\n      className={classNames({\r\n        unit__section: true,\r\n        subsection: props.SubSection,\r\n      })}\r\n    >\r\n      {heading}\r\n      <div className=\"row\">\r\n        <div\r\n          className={classNames({\r\n            'large-9': !props.SubSection && !props.FullWidth,\r\n            'large-12': props.FullWidth,\r\n            columns: true,\r\n          })}\r\n        >\r\n          <div className=\"unit__section__content\">\r\n            {props.PhotoUrl && (\r\n              <div className=\"unit__section__img\">\r\n                <Image ImageUrl={props.PhotoUrl} Alt={props.PhotoAlt} />\r\n              </div>\r\n            )}\r\n            {props.Content &&\r\n              props.Content.map((item, index) =>\r\n                item.match(/^\\s*$/) !== null ? (\r\n                  <br key={index} />\r\n                ) : (\r\n                  <p key={index} dangerouslySetInnerHTML={{ __html: item }}></p>\r\n                )\r\n              )}\r\n            {props.children}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default AboutUsSection;\r\n","import { Fragment, React } from 'react';\r\nimport { isSmallViewport } from '../../Hooks/useMedia';\r\n\r\nconst WaitingTimes = (props) => {\r\n  const isSmall = isSmallViewport();\r\n\r\n  const ListView = () => (\r\n    <section className=\"waiting-times__list-section\">\r\n      <h3>{props.Translations.treatment}</h3>\r\n      <dl>\r\n        {props.Treatments.map((item, index) => (\r\n          <Fragment key={index}>\r\n            <dt className=\"waiting-times__list-section__heading\">\r\n              {item.Name}\r\n            </dt>\r\n            <dd className=\"waiting-times__list-section__item\">\r\n              {props.Translations.calculatedtime + ' ' + item.Forecast}\r\n            </dd>\r\n          </Fragment>\r\n        ))}\r\n      </dl>\r\n    </section>\r\n  );\r\n\r\n  const TableView = () => (\r\n    <table className=\"waiting-times__table\">\r\n      <thead>\r\n        <tr>\r\n          <th>{props.Translations.treatment}</th>\r\n          <th>{props.Translations.calculatedtimefirstvisit}</th>\r\n        </tr>\r\n      </thead>\r\n      <tbody>\r\n        {props.Treatments.map((item, index) => (\r\n          <tr key={index}>\r\n            <td> {item.Name} </td>\r\n            <td> {item.Forecast} </td>\r\n          </tr>\r\n        ))}\r\n      </tbody>\r\n    </table>\r\n  );\r\n\r\n  return (\r\n    <div className=\"waiting-times\">\r\n      {props.WaitingTimesDescription && (\r\n        <p className=\"waiting-times__description\">\r\n          {props.WaitingTimesDescription}\r\n        </p>\r\n      )}\r\n      {props?.Treatments?.length > 0 && isSmall ? <ListView /> : <TableView />}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default WaitingTimes;\r\n","import { useState } from 'react';\r\n\r\nconst ToggleContainer = (props) => {\r\n  const [open, setOpen] = useState(props.open);\r\n  const [animation, setAnimation] = useState(props.open);\r\n\r\n  const toggleHandler = () => {\r\n    setOpen(!open);\r\n\r\n    animation\r\n      ? setAnimation(!animation)\r\n      : setTimeout(() => setAnimation(!animation), 100);\r\n  };\r\n\r\n  const { children } = props;\r\n\r\n  return children({\r\n    open: open,\r\n    toggle: toggleHandler,\r\n    animation: animation,\r\n  });\r\n};\r\n\r\nexport default ToggleContainer;\r\n","import React, { useState, useEffect } from 'react';\r\n\r\nexport default (WrappedComponent) => {\r\n  return (props) => {\r\n    const items = props.items;\r\n    const boudingMarginTop = 50;\r\n\r\n    if (typeof window === 'undefined') {\r\n      return null;\r\n    }\r\n\r\n    const [currentActiveId, setCurrentActiveId] = useState(null);\r\n    const [currentTop, setCurrentTop] = useState(Infinity);\r\n\r\n    useEffect(() => {\r\n      if ('IntersectionObserver' in window) {\r\n        const handler = (entries) => {\r\n          for (let entry of entries) {\r\n            if (entry.isIntersecting) {\r\n              let id = entry.target.getAttribute('id');\r\n\r\n              if (\r\n                entry.boundingClientRect.top < boudingMarginTop &&\r\n                entry.boundingClientRect.bottom > 0 &&\r\n                id !== currentActiveId\r\n              ) {\r\n                setCurrentActiveId(id);\r\n                setCurrentTop(entry.boundingClientRect.top);\r\n              }\r\n            }\r\n          }\r\n        };\r\n\r\n        const options = {\r\n          rootMargin: `-${boudingMarginTop}px 0px 0px 0px`,\r\n          threshold: [0.05, 0.1, 0.15, 0.2, 0.3, 0.8, 0.9, 0.95, 0.99, 1],\r\n        };\r\n\r\n        items.forEach((item) => {\r\n          let element = document.getElementById(item.Id);\r\n\r\n          if (element) {\r\n            let observer = new IntersectionObserver(handler, options);\r\n\r\n            observer.observe(element);\r\n          }\r\n        });\r\n      }\r\n    }, []);\r\n\r\n    return (\r\n      <WrappedComponent\r\n        currentActiveId={currentActiveId}\r\n        currentTop={currentTop}\r\n        {...props}\r\n      />\r\n    );\r\n  };\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Viewport } from '../Base/Sensors';\r\n\r\nconst withLazyLoad = (WrappedComponent) => {\r\n  const LazyLoad = (props) => {\r\n    const { CurrentPageProps, ImageUrl, isViewed } = props;\r\n    const { IsEditMode } = CurrentPageProps;\r\n\r\n    const [isLazyLoaded, setIsLazyLoaded] = useState(IsEditMode);\r\n    const [currentSrc, setCurrentSrc] = useState(IsEditMode ? ImageUrl : null);\r\n\r\n    const imgIsTouched = () => ImageUrl?.indexOf('?') > 0;\r\n\r\n    const handleOnLoad = (e) => {\r\n      const img = e.currentTarget;\r\n\r\n      if (isViewed) {\r\n        setIsLazyLoaded(true);\r\n        setCurrentSrc(\r\n          typeof img?.currentSrc !== 'undefined' ? img?.currentSrc : ImageUrl\r\n        );\r\n      }\r\n    };\r\n\r\n    const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n    const presetLowResUrl = `${ImageUrl}${paramOrQuery}preset=low-res`;\r\n    const imageUrl = props.isViewed || IsEditMode ? ImageUrl : presetLowResUrl;\r\n    return (\r\n      <WrappedComponent\r\n        isLazyLoad={!IsEditMode}\r\n        handleOnLoad={handleOnLoad}\r\n        LazyLoadImageUrl={imageUrl}\r\n        {...props}\r\n        {...{ isLazyLoaded, currentSrc }}\r\n      />\r\n    );\r\n  };\r\n\r\n  //Trigger load img with offset 200px\r\n  return Viewport(LazyLoad, 200);\r\n};\r\n\r\nexport default withLazyLoad;\r\n","import React from 'react';\r\n\r\n//TODO: Get this from config object\r\nconst PRESET_300 = {\r\n  name: 'preset_300',\r\n  width: '300w',\r\n};\r\nconst PRESET_400 = {\r\n  name: 'preset_400',\r\n  width: '400w',\r\n};\r\nconst PRESET_500 = {\r\n  name: 'preset_500',\r\n  width: '500w',\r\n};\r\nconst PRESET_600 = {\r\n  name: 'preset_600',\r\n  width: '600w',\r\n};\r\nconst PRESET_700 = {\r\n  name: 'preset_700',\r\n  width: '700w',\r\n};\r\nconst PRESET_800 = {\r\n  name: 'preset_800',\r\n  width: '800w',\r\n};\r\nconst PRESET_1000 = {\r\n  name: 'preset_1000',\r\n  width: '1000w',\r\n};\r\nconst PRESET_1200 = {\r\n  name: 'preset_1200',\r\n  width: '1200w',\r\n};\r\nconst PRESET_1500 = {\r\n  name: 'preset_1500',\r\n  width: '1500w',\r\n};\r\nconst PRESET_1800 = {\r\n  name: 'preset_1800',\r\n  width: '1800w',\r\n};\r\nconst PRESET_2000 = {\r\n  name: 'preset_2000',\r\n  width: '2000w',\r\n};\r\nconst PRESET_2200 = {\r\n  name: 'preset_2200',\r\n  width: '2200w',\r\n};\r\nconst PRESET_2500 = {\r\n  name: 'preset_2500',\r\n  width: '2500w',\r\n};\r\n\r\nexport default (WrappedComponent) => {\r\n  const SrcSets = (props) => {\r\n    const imgIsTouched = () => {\r\n      return props.ImageUrl && props.ImageUrl.indexOf('?') > 0;\r\n    };\r\n\r\n    const defaultPreset = () => {\r\n      if (!props.DefaultPreset) return props.ImageUrl;\r\n      const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n      return `${props.ImageUrl}${paramOrQuery}preset=${props.DefaultPreset.name}`;\r\n    };\r\n\r\n    const paramOrQuery = imgIsTouched() ? '&' : '?';\r\n\r\n    const srcSets =\r\n      props.isViewed !== false\r\n        ? `${props.ImageUrl}${paramOrQuery}preset=${PRESET_300.name} ${PRESET_300.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_400.name} ${PRESET_400.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_500.name} ${PRESET_500.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_600.name} ${PRESET_600.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_700.name} ${PRESET_700.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_800.name} ${PRESET_800.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1000.name} ${PRESET_1000.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1200.name} ${PRESET_1200.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1500.name} ${PRESET_1500.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_1800.name} ${PRESET_1800.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2000.name} ${PRESET_2000.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2200.name} ${PRESET_2200.width},\r\n       ${props.ImageUrl}${paramOrQuery}preset=${PRESET_2500.name} ${PRESET_2500.width}`\r\n        : null;\r\n\r\n    return (\r\n      <WrappedComponent\r\n        {...props}\r\n        isSrcSets={true}\r\n        SrcSets={{\r\n          srcSet: srcSets,\r\n        }}\r\n        ImageUrl={defaultPreset()}\r\n      />\r\n    );\r\n  };\r\n\r\n  return SrcSets;\r\n};\r\n","import React from 'react';\r\nimport { bool, shape, string, node } from 'prop-types';\r\n\r\n/**\r\n * Error message component\r\n * \r\n```\r\n<Error\r\n  isError={true}\r\n  errorMessages={{ prefix: 'Fel!', warning: 'Det här är felmeddelandet.' }} \r\n  label=\"500\" \r\n  errorType=\"warning\" \r\n/>\r\n```\r\n * \r\n */\r\nconst Error = (props) => {\r\n  if (!props.isError) return null;\r\n\r\n  return (\r\n    <div className=\"c-forms__error\" id={`${props.name}-error`}>\r\n      {props.errorMessages && props.errorMessages['prefix'] && (\r\n        <strong>{props.errorMessages['prefix']} </strong>\r\n      )}\r\n      {props.label && (\r\n        <span className=\"c-forms__error__label\">{props.label}.</span>\r\n      )}\r\n      {props.errorMessages &&\r\n        props.errorMessages[props.errorType] &&\r\n        props.errorMessages[props.errorType]}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport const propTypes = {\r\n  /** If `true` display error message */\r\n  isError: bool,\r\n  /** Label is displayed before the error message */\r\n  label: node,\r\n  /** errorType must be a string with the name of a key that exists in `errorMessages` */\r\n  errorType: string,\r\n  /** errorMessages must contain a key with the the errorType */\r\n  errorMessages: shape({\r\n    prefix: node,\r\n  }),\r\n};\r\n\r\nError.propTypes = propTypes;\r\n\r\nexport default Error;\r\n","import React, { useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport { bool, oneOf, string, object, number, oneOfType } from 'prop-types';\r\nimport Error, { propTypes as errorPropTypes } from './error';\r\n\r\nimport Select from './select';\r\nimport Input from './input';\r\nimport Textarea from './textarea';\r\n\r\n/**\r\n * Will spread all non-specified props (...rest) to the `input` element.\r\n *\r\n * Includes the `<Error>` component\r\n */\r\nconst Field = (props) => {\r\n  const [isFocus, setIsFocus] = useState(false);\r\n\r\n  const {\r\n    className,\r\n    disabled,\r\n    component,\r\n    classNameModifiers,\r\n    isValid,\r\n    isTouched,\r\n    label,\r\n    errorType,\r\n    errorMessages,\r\n    name,\r\n    ...rest\r\n  } = props;\r\n\r\n  const classes = classNames(className, {\r\n    [`${className}--is-error`]: !isValid && isTouched,\r\n    [`${className}--is-valid`]: isValid && isTouched,\r\n    [`${className}--disabled`]: disabled,\r\n    [`${className}--has-focus`]: isFocus,\r\n    ...classNameModifiers,\r\n  });\r\n\r\n  let ErrorComponent = (\r\n    <Error\r\n      isError={!isValid && isTouched}\r\n      label={label}\r\n      errorType={errorType}\r\n      errorMessages={errorMessages}\r\n      name={name}\r\n    />\r\n  );\r\n\r\n  if (component === 'input') {\r\n    return (\r\n      <Input\r\n        onFocus={() => setIsFocus(true)}\r\n        removeFocus={() => setIsFocus(false)}\r\n        disabled={disabled}\r\n        error={ErrorComponent}\r\n        classes={classes}\r\n        name={name}\r\n        {...rest}\r\n      />\r\n    );\r\n  }\r\n  if (component === 'textarea') {\r\n    return (\r\n      <Textarea\r\n        onFocus={() => setIsFocus(true)}\r\n        removeFocus={() => setIsFocus(false)}\r\n        disabled={disabled}\r\n        className={className}\r\n        error={ErrorComponent}\r\n        classes={classes}\r\n        name={name}\r\n        {...rest}\r\n      />\r\n    );\r\n  }\r\n  if (component === 'select') {\r\n    return (\r\n      <Select\r\n        onFocus={() => setIsFocus(true)}\r\n        removeFocus={() => setIsFocus(false)}\r\n        disabled={disabled}\r\n        error={ErrorComponent}\r\n        classes={classes}\r\n        name={name}\r\n        {...rest}\r\n      />\r\n    );\r\n  }\r\n  return null;\r\n};\r\n\r\nconst propTypes = {\r\n  component: oneOf(['input', 'textarea', 'select']),\r\n  /** Base classname*/\r\n  className: string,\r\n  /** classnames compatible object */\r\n  classNameModifiers: object,\r\n  /** Use `false` to display error message - if isTouched is true */\r\n  isValid: bool,\r\n  /** Use `true` to indicate that element is touched and error messages can be displayed */\r\n  isTouched: bool,\r\n  /** Not used */\r\n  isFocus: bool,\r\n  /** Used as `defaultValue` for input element */\r\n  value: oneOfType([string, number]),\r\n  /** input element id */\r\n  name: string,\r\n  ...errorPropTypes,\r\n};\r\n\r\nField.propTypes = propTypes;\r\n\r\nexport default Field;\r\n","export const getAriaDescribedBy = (error, name) =>\r\n  error?.props?.isError && {\r\n    'aria-describedby': `${name}-error`,\r\n  };\r\n","import React from 'react';\r\nimport T from 'prop-types';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\n/** All other props will be spread to the <input> element */\r\nconst Input = (props) => {\r\n  const { value, error, removeFocus, classes, name, onBlur, ...rest } = props;\r\n  return (\r\n    <div className={classes}>\r\n      <input\r\n        {...rest}\r\n        onBlur={(e) => {\r\n          removeFocus();\r\n          onBlur(e);\r\n        }}\r\n        defaultValue={value}\r\n        {...getAriaDescribedBy(error, name)}\r\n        name={name}\r\n        id={name}\r\n      />\r\n      {error}\r\n    </div>\r\n  );\r\n};\r\n\r\nInput.propTypes = {\r\n  /** Used for name and id property. */\r\n  name: T.string.isRequired,\r\n  /** Used for wrapping <div> classnamae. */\r\n  classes: T.string,\r\n  /**  Error message. */\r\n  error: T.node,\r\n  /** Used for defaultValue prop (react) */\r\n  value: T.oneOfType([T.string, T.number]),\r\n};\r\n\r\nexport default Input;\r\n","import React from 'react';\r\nimport { callIfFunction } from '../Helpers/helpers';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\nconst Select = (props) => {\r\n  const { classes, error, removeFocus, onBlur, children, name, ...rest } =\r\n    props;\r\n\r\n  return (\r\n    <div>\r\n      <div className={classes}>\r\n        <select\r\n          name={name}\r\n          onBlur={(e) => {\r\n            callIfFunction(removeFocus);\r\n            callIfFunction(onBlur, e);\r\n          }}\r\n          {...getAriaDescribedBy(error, name)}\r\n          {...rest}\r\n        >\r\n          {children}\r\n        </select>\r\n      </div>\r\n      {error}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default Select;\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { getAriaDescribedBy } from './helpers';\r\n\r\nconst Textarea = (props) => {\r\n  const [charsLeft, setCharsLeft] = useState(\r\n    props.maxLength && props.value\r\n      ? props.maxLength - props.value.length\r\n      : props.maxLength\r\n  );\r\n\r\n  const textarea = useRef();\r\n\r\n  function getValue() {\r\n    return textarea.current.value;\r\n  }\r\n\r\n  function getCharsLeft() {\r\n    return props.maxLength ? props.maxLength - getLength() : null;\r\n  }\r\n\r\n  function getLength() {\r\n    return getValue().length;\r\n  }\r\n\r\n  useEffect(() => {\r\n    setCharsLeft(getCharsLeft());\r\n  }, []);\r\n\r\n  function handleKeyUp() {\r\n    setCharsLeft(getCharsLeft());\r\n  }\r\n\r\n  const {\r\n    value,\r\n    className,\r\n    classes,\r\n    removeFocus,\r\n    disabled,\r\n    children,\r\n    onBlur,\r\n    maxLength,\r\n    error,\r\n    maxLengthTranslation,\r\n    name,\r\n    ...rest\r\n  } = props;\r\n\r\n  const charsClasses = classNames({\r\n    [`${className}__chars`]: true,\r\n    [`${className}__chars--disabled`]: disabled,\r\n  });\r\n\r\n  return (\r\n    <div>\r\n      {children}\r\n      {maxLength && (\r\n        <span className={charsClasses}>\r\n          {charsLeft} {maxLengthTranslation}\r\n        </span>\r\n      )}\r\n      <div className={classes}>\r\n        <textarea\r\n          ref={textarea}\r\n          defaultValue={value}\r\n          disabled={disabled}\r\n          {...getAriaDescribedBy(error, name)}\r\n          name={name}\r\n          id={name}\r\n          onBlur={(e) => {\r\n            removeFocus();\r\n            onBlur(e);\r\n          }}\r\n          onKeyUp={() => {\r\n            handleKeyUp();\r\n          }}\r\n          {...rest}\r\n        />\r\n      </div>\r\n      {error}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default Textarea;\r\n","import { useEffect, useState } from 'react';\r\nconst useWindowLocationHref = () => {\r\n  const [href, setHref] = useState(null);\r\n  useEffect(() => {\r\n    if (typeof window !== 'undefined') {\r\n      setHref(window.location.href);\r\n    }\r\n  }, []);\r\n  return href;\r\n};\r\nexport default useWindowLocationHref;\r\n","import classNames from 'classnames';\r\nimport T from 'prop-types';\r\nimport React from 'react';\r\nimport withLazyLoad from '../Containers/withLazyLoad';\r\nimport withSrcSets from '../Containers/withSrcSets';\r\n\r\nconst Image = (props) => {\r\n  const classes = classNames({\r\n    'c-image': true,\r\n    'c-image--is-lazyloaded': props.isLazyLoaded || !props.isLazyLoad,\r\n    'c-image--is-background-image': props.isBackgroundImage,\r\n    [props.className]: true && props.className,\r\n  });\r\n\r\n  const src = props.isLazyLoad ? props.LazyLoadImageUrl : props.ImageUrl;\r\n\r\n  let alt = props.Description ?? props.ImageDescription;\r\n  if (props.Alt !== undefined) alt = props.Alt;\r\n  //If IMG is decorative alt text should be empty.\r\n  if (props.isBackgroundImage || props.ariaHidden) alt = '';\r\n\r\n  const style =\r\n    props.isBackgroundImage && props.currentSrc\r\n      ? {\r\n          style: {\r\n            backgroundImage: `url(\"${props.currentSrc}\")`,\r\n          },\r\n        }\r\n      : null;\r\n\r\n  const sizes = props.SrcSets && props.SrcSets.srcSet ? props.Sizes : null;\r\n\r\n  const attributes = props.isBackgroundImage ? { role: 'presentation' } : {};\r\n\r\n  return (\r\n    <div {...style} className={classes} {...attributes}>\r\n      {(!props.isBackgroundImage || props.isViewed || !props.isLazyLoad) && (\r\n        <img\r\n          data-event-include={props.includeTracking ? true : undefined}\r\n          src={src}\r\n          {...props.SrcSets}\r\n          alt={alt}\r\n          onLoad={props.handleOnLoad}\r\n          aria-hidden={props.ariaHidden}\r\n          {...sizes}\r\n        />\r\n      )}\r\n      {props.isLazyLoad && (\r\n        <noscript\r\n          dangerouslySetInnerHTML={{\r\n            __html: `<img src=\"${props.ImageUrl}\" alt=\"${alt}\" />`,\r\n          }}\r\n        />\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nImage.propTypes = {\r\n  className: T.string,\r\n  currentSrc: T.string,\r\n  Alt: T.string,\r\n  isViewed: T.bool,\r\n  isBackgroundImage: T.bool,\r\n  isLazyLoad: T.bool,\r\n  ariaHidden: T.bool,\r\n  LazyLoadImageUrl: T.string,\r\n  ImageUrl: T.string,\r\n  SrcSets: T.shape({ srcSet: T.any }),\r\n  Sizes: T.object,\r\n};\r\n\r\nexport const LazyLoadImage = withSrcSets(withLazyLoad(Image));\r\n\r\nexport default Image;\r\n","import React, { useState, useEffect, createContext } from 'react';\r\nimport withKeepTabFocus from '../Containers/withKeepTabFocus';\r\nimport classNames from 'classnames';\r\n\r\nconst context = createContext({});\r\n\r\nconst { Provider, Consumer } = context;\r\n\r\nconst OpenModalButton = ({\r\n  id,\r\n  children,\r\n  className,\r\n  clickCallback,\r\n  fullScreen,\r\n  tabIndex,\r\n  ariaLabel,\r\n}) => {\r\n  const clickHandler = (changeModal) => {\r\n    changeModal(id);\r\n    if (clickCallback !== undefined) clickCallback();\r\n    if (fullScreen) document.body.classList.add('no-scroll');\r\n  };\r\n\r\n  return (\r\n    <Consumer>\r\n      {({ changeModal, activeModalId }) => (\r\n        <button\r\n          tabIndex={tabIndex}\r\n          data-buttonid={`open${id}`}\r\n          id={`button-${id}--opener`}\r\n          type=\"button\"\r\n          className={classNames({\r\n            [`${className}`]: true,\r\n            [`${className}--open`]: activeModalId === id,\r\n          })}\r\n          aria-label={ariaLabel}\r\n          onClick={() => clickHandler(changeModal)}\r\n        >\r\n          {children}\r\n        </button>\r\n      )}\r\n    </Consumer>\r\n  );\r\n};\r\n\r\nconst CloseModalButton = ({ children, className, id }) => (\r\n  <Consumer>\r\n    {({ closeModal }) => (\r\n      <button\r\n        autoFocus={id}\r\n        type=\"button\"\r\n        className={className}\r\n        onClick={() => closeModal(id)}\r\n      >\r\n        {children}\r\n      </button>\r\n    )}\r\n  </Consumer>\r\n);\r\n\r\nconst ModalPanelInner = withKeepTabFocus(({ children, ...props }) => {\r\n  return React.cloneElement(children, { ...props });\r\n});\r\n\r\nconst ModalPanel = ({ whenActive, children, hideWithCss }) => (\r\n  <Consumer>\r\n    {({ activeModalId }) =>\r\n      activeModalId === whenActive || hideWithCss ? (\r\n        <div\r\n          className={classNames({\r\n            'modal-is-closed': activeModalId !== whenActive,\r\n          })}\r\n        >\r\n          <ModalPanelInner>{children}</ModalPanelInner>\r\n        </div>\r\n      ) : null\r\n    }\r\n  </Consumer>\r\n);\r\n\r\nconst Modal = (props) => {\r\n  const [activeModalId, setActiveModalId] = useState('');\r\n  const fullScreenModal = props.fullScreen;\r\n\r\n  const changeModal = (newModalId) => {\r\n    setActiveModalId(activeModalId === newModalId ? '' : newModalId);\r\n  };\r\n\r\n  const closeModal = (id) => {\r\n    setActiveModalId('');\r\n    if (\r\n      props.noScroll === true &&\r\n      document.body.classList.contains('no-scroll')\r\n    )\r\n      document.body.classList.remove('no-scroll');\r\n    if (document.querySelector(`[data-buttonid='open${id}']`))\r\n      document.querySelector(`[data-buttonid='open${id}']`).focus();\r\n  };\r\n\r\n  const escCloseHandler = (e) => {\r\n    if (activeModalId !== '') {\r\n      if (e.keyCode === 27) {\r\n        e.preventDefault();\r\n        closeModal();\r\n      }\r\n    }\r\n    return null;\r\n  };\r\n\r\n  const handleClick = (e) => {\r\n    if (activeModalId !== '') {\r\n      if (e.target.className === 'category-lists-modal__modal-panel') {\r\n        closeModal();\r\n      }\r\n    }\r\n    return null;\r\n  };\r\n\r\n  useEffect(() => {\r\n    document.addEventListener('keydown', (e) => escCloseHandler(e));\r\n    document.addEventListener('mousedown', (e) => handleClick(e));\r\n  }, [activeModalId]);\r\n\r\n  useEffect(() => {\r\n    return () => {\r\n      document.removeEventListener('keydown', escCloseHandler());\r\n      document.removeEventListener('mousedown', handleClick());\r\n    };\r\n  }, []);\r\n\r\n  return (\r\n    <Provider\r\n      value={{\r\n        activeModalId,\r\n        fullScreenModal,\r\n        changeModal,\r\n        closeModal,\r\n      }}\r\n    >\r\n      {props.children}\r\n    </Provider>\r\n  );\r\n};\r\n\r\nModal.defaultProps = {\r\n  noScroll: true,\r\n};\r\n\r\nexport default Modal;\r\nexport { OpenModalButton, CloseModalButton, ModalPanel, Consumer };\r\n","import React, { useRef, useEffect } from 'react';\r\n\r\nconst PrintIframe = (props) => {\r\n  const { SelectedRadio, PrintableItems, CheckedItems, SetPrintClicked } =\r\n    props;\r\n  const iframeRef = useRef(null);\r\n\r\n  const prepareContent = () => {\r\n    if (iframeRef.current) {\r\n      const doc =\r\n        iframeRef.current.contentDocument ||\r\n        iframeRef.current.contentWindow.document;\r\n\r\n      var printItems = PrintableItems;\r\n\r\n      if (SelectedRadio !== 1) {\r\n        const filteredItems = PrintableItems?.filter((item) => {\r\n          return CheckedItems?.includes(item);\r\n        });\r\n        printItems = filteredItems;\r\n      }\r\n\r\n      const styleElements = Array.from(\r\n        document.querySelectorAll('style')\r\n      ).filter((style) => style.id !== 'onetrust-style');\r\n      var styleContent = styleElements.map((style) => style.outerHTML).join('');\r\n\r\n      const headerMainDiv = document.querySelector('.c-header__main');\r\n      const headerMainHTML = headerMainDiv ? headerMainDiv.outerHTML : '';\r\n      const regionLabel = document.querySelector('.regionlabel');\r\n      const regionLabelHTML = regionLabel ? regionLabel.outerHTML : '';\r\n\r\n      const outerHTML =\r\n        printItems?.map((item) => item.outerHTML).join('') ?? '';\r\n\r\n      const updatedOuterHTML = outerHTML.replace(\r\n        /\\/\\/play\\.media/g,\r\n        'https://play.media'\r\n      );\r\n\r\n      doc.open();\r\n      doc.write(`\r\n        <html>\r\n          <head>\r\n            ${styleContent}\r\n            <style>\r\n              @media print {\r\n                @page {\r\n                  margin: 2cm;\r\n                }\r\n                body, html {\r\n                  height: 100%;\r\n                }\r\n                body > * {\r\n                  page-break-after: avoid;\r\n                  page-break-inside: avoid;\r\n                  break-inside: avoid;\r\n                  break-after: avoid;\r\n                  clear: both;\r\n                }\r\n                img {\r\n                  width: auto !important;\r\n                  height: auto !important;\r\n                  max-height: 400px !important;\r\n                  max-width: 100% !important;\r\n                }\r\n                a {\r\n                  color: #353535 !important;\r\n                  text-decoration: none !important;\r\n                }\r\n                .logo__link {\r\n                  left: 0px;\r\n                  top: 40px\r\n                }\r\n                .logo__link svg {\r\n                  fill: #353535;\r\n                }\r\n                .c-header__main {\r\n                  float: none;\r\n                  width: 100%;\r\n                  padding-left: 0 !important;\r\n                  padding-right: 0 !important;\r\n                }\r\n                .c-articleheader__heading {\r\n                  clear: both !important;\r\n                }\r\n                .c-header__logo {\r\n                  margin-bottom: 40px;\r\n                }  \r\n                .c-header__search-mobile {\r\n                  display: none;\r\n                }\r\n                .header-tools__regions, .c-header-tools {\r\n                  display: none;\r\n                }\r\n                iframe, .c-video {\r\n                  display: none;\r\n                }\r\n                .region-logo__container:before {\r\n                  background-color: transparent !important;\r\n                }\r\n                .region-logo__container:after {\r\n                  background-color: transparent !important;\r\n                }\r\n                .region-logo__container {\r\n                  background-color: transparent;\r\n                  right: 0px;\r\n                  top: 32px;\r\n                  width: auto !important;\r\n                }\r\n                .region-logo__img__vastragotaland {\r\n                  height: 60px;\r\n                  top: 0px;\r\n                }\r\n                #region-background {\r\n                  fill: none;\r\n                }\r\n                .region-logo__img mask {\r\n                  display: none;\r\n                }\r\n                .region-logo__img path {\r\n                  fill: #353535;\r\n                }\r\n                .c-articlefooter__wrapper{\r\n                  margin-top: 40px;\r\n                }\r\n                .c-articlefooter__content {\r\n                  margin-left: 0;\r\n                }\r\n                .c-articlefooter__content .columns {\r\n                  padding-left: 0;\r\n                }\r\n                .c-action-table__large-headings {\r\n                  display: none;\r\n                }\r\n                .c-action-table__column__heading {\r\n                  font-size: 18px;\r\n                  font-weight: 700;\r\n                }\r\n                .c-media-gallery__item__text-container {\r\n                  visibility: visible !important;\r\n                }\r\n                .c-highlight--important, \r\n                .c-highlight--importantinfo, \r\n                .c-highlight--localinstructions, \r\n                .c-highlight--recommendations, \r\n                .c-highlight--routines {\r\n                    padding-left: 15px;\r\n                }\r\n                .c-highlight--color1, .c-highlight--frame {\r\n                    border: 1px solid #737373;\r\n                    border-radius: 10px;\r\n                }\r\n                .c-chapter--regional-content::before {\r\n                    content: attr(data-print-sidebar-title-region);\r\n                    color: #3b4266;\r\n                    font-weight: bold;\r\n                    display: block;\r\n                    margin-top: 15px;\r\n                    \r\n                }\r\n                .c-chapter--regional-content {\r\n                    border: 1px solid #3b4266;\r\n                    border-radius: 10px;\r\n                    padding-left: 20px;\r\n                    padding-bottom: 20px;\r\n                    margin-top: 20px;\r\n                }\r\n                .regionlabel {\r\n                  position: relative;\r\n                  top: 0px;\r\n                  left: 0;\r\n                  color: #3b4266;\r\n                  font-size: 0.875rem;\r\n                  display: block;\r\n                  padding: 0px 0px;\r\n                }\r\n                .c-image {\r\n                  opacity: 1 !important;\r\n                  transition: none !important;\r\n                }\r\n                .c-image-gallery__current {\r\n                  display: none;\r\n                }\r\n              }\r\n            </style>\r\n          </head>\r\n          <body>\r\n            ${headerMainHTML}\r\n            ${regionLabelHTML}\r\n            ${updatedOuterHTML}\r\n          </body>\r\n        </html>\r\n      `);\r\n\r\n      const elements = doc?.querySelectorAll('.regional-container');\r\n      elements?.forEach((element) => element.remove());\r\n      doc.close();\r\n    }\r\n  };\r\n\r\n  const handleLoad = () => {\r\n    if (iframeRef.current) {\r\n      iframeRef.current.contentWindow.focus();\r\n      iframeRef.current.contentWindow.print();\r\n      SetPrintClicked(false);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    const initializeIframe = async () => {\r\n      prepareContent();\r\n    };\r\n\r\n    initializeIframe();\r\n  }, [SelectedRadio, PrintableItems, CheckedItems]);\r\n\r\n  return (\r\n    <>\r\n      <iframe\r\n        ref={iframeRef}\r\n        style={{\r\n          display: 'block',\r\n          backgroundColor: 'white',\r\n          width: 1000,\r\n          height: 1000,\r\n          position: 'absolute',\r\n          top: -9999,\r\n          left: -9999,\r\n          zIndex: -1,\r\n        }}\r\n        title=\"Skriv ut\"\r\n        onLoad={handleLoad}\r\n      />\r\n    </>\r\n  );\r\n};\r\n\r\nexport default PrintIframe;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport { stripHtml } from '../Helpers';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\nimport PrintIframe from '../PrintIframe';\r\n\r\nconst PrintSidebar = (props) => {\r\n  const { Translations } = props;\r\n  const href = useWindowLocationHref();\r\n\r\n  const [isSidebarOpen, setSidebarOpen] = useState(false);\r\n  const [checkedItems, setCheckedItems] = useState([]);\r\n  const [selectedRadio, setSelectedRadio] = useState(0);\r\n  const [printableItems, setPrintableItems] = useState([]);\r\n  const [printableChildren, setPrintableChildren] = useState([]);\r\n  const [printClicked, setPrintClicked] = useState(false);\r\n\r\n  const sidebarRef = useRef(null);\r\n  const sidebarToggleButtonRef = useRef(null);\r\n  const elementsRef = useRef([]);\r\n\r\n  const handleClickOutside = (event) => {\r\n    if (\r\n      sidebarRef.current &&\r\n      !sidebarRef.current.contains(event.target) &&\r\n      sidebarToggleButtonRef.current &&\r\n      !sidebarToggleButtonRef.current.contains(event.target)\r\n    ) {\r\n      setSidebarOpen(false);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    const mainElement = document.querySelector('main');\r\n    const elements = mainElement\r\n      ? mainElement.querySelectorAll('[data-print-sidebar-title]')\r\n      : [];\r\n    const heading = mainElement ? mainElement.querySelector('h1') : '';\r\n    elementsRef.current = elements ?? [];\r\n\r\n    const imgblockMediaSliderChildren = Array.from(elements)\r\n      .filter((item) => item.nodeName === 'FIGURE')\r\n      .filter((figures) =>\r\n        figures.className.includes('c-imageblock--is-gallery')\r\n      );\r\n\r\n    const chapterContainerChildren = Array.from(elements).filter(\r\n      (item) =>\r\n        item.getAttribute('data-is-member-of-chapter-container') === 'true'\r\n    );\r\n\r\n    const chapterChildren = Array.from(elements).filter(\r\n      (item) => item.getAttribute('data-is-member-of-chapter') === 'true'\r\n    );\r\n\r\n    const links = Array.from(elements).filter(\r\n      (item) =>\r\n        item.dataset.linklist === 'link-list-container' &&\r\n        item.offsetParent &&\r\n        item.offsetParent.hasAttribute('data-list-container')\r\n    );\r\n\r\n    setPrintableChildren([\r\n      ...imgblockMediaSliderChildren,\r\n      ...links,\r\n      ...chapterContainerChildren,\r\n      ...chapterChildren,\r\n    ]);\r\n\r\n    const removedContainerChildren = Array.from(elements).filter(\r\n      (item) =>\r\n        item.offsetParent &&\r\n        !item.offsetParent.hasAttribute('data-list-container') &&\r\n        !item.className.includes('c-imageblock--is-gallery') &&\r\n        item.getAttribute('data-is-member-of-chapter-container') !== 'true' &&\r\n        item.getAttribute('data-is-member-of-chapter') !== 'true'\r\n    );\r\n\r\n    setPrintableItems(removedContainerChildren);\r\n\r\n    if (elements?.item(0) === heading) {\r\n      handlePrintSelection(heading);\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (isSidebarOpen) {\r\n      document.addEventListener('mousedown', handleClickOutside);\r\n    } else {\r\n      document.removeEventListener('mousedown', handleClickOutside);\r\n    }\r\n\r\n    return () => {\r\n      document.removeEventListener('mousedown', handleClickOutside);\r\n    };\r\n  }, [isSidebarOpen]);\r\n\r\n  const handleRadioChange = (index) => {\r\n    setSelectedRadio(index);\r\n  };\r\n\r\n  const handlePrintSelection = (item) => {\r\n    const mediaType = item.getAttribute('data-type-media-slider');\r\n    const linkListContainer = item.getAttribute('data-list-container');\r\n    const chapterContainer = item.getAttribute('data-chapter-container');\r\n    const chapter = item.getAttribute('data-is-chapter');\r\n\r\n    let listOfImgElement = [];\r\n    const isMediaSlider = mediaType === 'MediaSlider';\r\n    const isLinkListContainer = linkListContainer === 'data-list-container';\r\n    const isChapterContainer = chapterContainer === 'data-chapter-container';\r\n    const isChapter = chapter === 'isChapter';\r\n\r\n    if (isMediaSlider) {\r\n      listOfImgElement = printableChildren\r\n        ?.filter((item) => item.nodeName === 'FIGURE')\r\n        .filter((figures) =>\r\n          figures.className.includes('c-imageblock--is-gallery')\r\n        );\r\n    }\r\n    if (isChapter) {\r\n      const listOfElementblockchapter = printableChildren?.filter(\r\n        (name) => name.getAttribute('data-is-member-of-chapter') === 'true'\r\n      );\r\n      listOfImgElement = [...listOfImgElement, ...listOfElementblockchapter];\r\n    }\r\n    if (isChapterContainer) {\r\n      const listOfElementblock = printableChildren?.filter(\r\n        (name) =>\r\n          name.getAttribute('data-is-member-of-chapter-container') === 'true'\r\n      );\r\n      listOfImgElement = [...listOfImgElement, ...listOfElementblock];\r\n    }\r\n    if (isLinkListContainer) {\r\n      const listOfElement = printableChildren?.filter((item) =>\r\n        item.offsetParent.hasAttribute('data-list-container')\r\n      );\r\n      listOfImgElement = [...listOfImgElement, ...listOfElement];\r\n    }\r\n\r\n    setCheckedItems((prevItems) => {\r\n      if (!prevItems.includes(item)) {\r\n        const newItemsList = [...prevItems, item, ...listOfImgElement];\r\n        return [...new Set(newItemsList)];\r\n      }\r\n\r\n      const filteredItems = prevItems.filter((i) => i !== item);\r\n\r\n      if (isMediaSlider) {\r\n        return filteredItems.filter(\r\n          (figures) => !figures.className.includes('c-imageblock--is-gallery')\r\n        );\r\n      }\r\n\r\n      if (isLinkListContainer) {\r\n        return filteredItems.filter(\r\n          (item) => !item.offsetParent?.hasAttribute('data-list-container')\r\n        );\r\n      }\r\n      if (isChapterContainer) {\r\n        return filteredItems.filter(\r\n          (item) =>\r\n            item.getAttribute('data-is-member-of-chapter-container') !== 'true'\r\n        );\r\n      }\r\n      if (isChapter) {\r\n        return filteredItems.filter(\r\n          (item) => item.getAttribute('data-is-member-of-chapter') !== 'true'\r\n        );\r\n      }\r\n      return filteredItems;\r\n    });\r\n  };\r\n\r\n  const togglePrintSidebar = () => {\r\n    setSidebarOpen(!isSidebarOpen);\r\n  };\r\n\r\n  const getPrintSelectionTitle = (item) => {\r\n    let dataPrintSidebarTitle = item.getAttribute('data-print-sidebar-title');\r\n    let dataPrintSidebarTitleRegion = item.getAttribute(\r\n      'data-print-sidebar-title-region'\r\n    );\r\n\r\n    if (dataPrintSidebarTitle) {\r\n      const words = dataPrintSidebarTitle.split(/\\s+/);\r\n      return words.length > 5\r\n        ? words.slice(0, 5).join(' ') +\r\n            '...' +\r\n            (dataPrintSidebarTitleRegion ? ` (Regionalt)` : '')\r\n        : dataPrintSidebarTitle +\r\n            (dataPrintSidebarTitleRegion ? ` (Regionalt)` : '');\r\n    } else {\r\n      const words = item.innerText.split(/\\s+/);\r\n      return words.length > 5\r\n        ? words.slice(0, 5).join(' ') + '...'\r\n        : item.innerText;\r\n    }\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <button\r\n        ref={sidebarToggleButtonRef}\r\n        role=\"button\"\r\n        aria-label={Translations && Translations.print}\r\n        onClick={(e) => {\r\n          e.preventDefault();\r\n          togglePrintSidebar();\r\n        }}\r\n        title={Translations && Translations.print}\r\n        className=\"c-printsidebar-toggle-button\"\r\n        data-event-category={href || 'novalue'}\r\n        data-event-action={Translations.print}\r\n        data-event-value={href || 'novalue'}\r\n        data-event-name={Translations.print}\r\n      >\r\n        <span\r\n          data-event-include\r\n          className=\"c-share__icon c-share__icon--print\"\r\n        ></span>\r\n        <span className=\"show-for-sr\">\r\n          {Translations && Translations.print}\r\n        </span>\r\n      </button>\r\n      <div\r\n        ref={sidebarRef}\r\n        className={classNames('c-printsidebar', {\r\n          'c-printsidebar__is-open': isSidebarOpen,\r\n        })}\r\n        aria-hidden={!isSidebarOpen}\r\n      >\r\n        <div className=\"c-printsidebar__header\">\r\n          <h1 className=\"c-printsidebar__header__heading\">\r\n            {Translations.printsidebartitle}\r\n          </h1>\r\n          <button\r\n            className=\"c-printsidebar__header__close-button\"\r\n            data-event-category={href || 'novalue'}\r\n            data-event-action={Translations.print}\r\n            data-event-value={href || 'novalue'}\r\n            data-event-name={Translations.print}\r\n            onClick={togglePrintSidebar}\r\n          >\r\n            {Translations.printsidebarclose}\r\n            <i className=\"c-printsidebar__header__close-button__icon--close\" />\r\n          </button>\r\n        </div>\r\n        <div className=\"c-printsidebar__subheader\">\r\n          <h2 className=\"c-printsidebar__subheading\">\r\n            {Translations.printsidebarselectiontitle}\r\n          </h2>\r\n          <div className=\"c-printsidebar__radio-container\">\r\n            {Translations.printsidebarselectionparts && (\r\n              <div\r\n                aria-label={Translations.printsidebarselectionparts}\r\n                onClick={() => handleRadioChange(0)}\r\n              >\r\n                <button\r\n                  type=\"radio\"\r\n                  className={classNames({ selected: selectedRadio === 0 })}\r\n                />\r\n                <span>{Translations.printsidebarselectionparts}</span>\r\n              </div>\r\n            )}\r\n            {Translations.printsidebarselectionwholepage && (\r\n              <div\r\n                aria-label={Translations.printsidebarselectionwholepage}\r\n                onClick={() => handleRadioChange(1)}\r\n              >\r\n                <button\r\n                  type=\"radio\"\r\n                  className={classNames({ selected: selectedRadio === 1 })}\r\n                />\r\n                <span>{Translations.printsidebarselectionwholepage}</span>\r\n              </div>\r\n            )}\r\n          </div>\r\n        </div>\r\n        {selectedRadio !== 1 && (\r\n          <div className=\"c-printsidebar__selection-container\">\r\n            <p>{Translations.printsidebarselectionwhatparts}</p>\r\n            <div className=\"c-printsidebar__selection-container__checkbox-container\">\r\n              {printableItems &&\r\n                printableItems.map((item, index) => {\r\n                  if (!item?.innerText) return;\r\n                  let content = (\r\n                    <span\r\n                      dangerouslySetInnerHTML={{\r\n                        __html: stripHtml(getPrintSelectionTitle(item)),\r\n                      }}\r\n                    />\r\n                  );\r\n                  return (\r\n                    <div\r\n                      key={index}\r\n                      aria-label={Translations.printsidebarselectionparts}\r\n                      onClick={() => handlePrintSelection(item)}\r\n                    >\r\n                      <button\r\n                        type=\"checkbox\"\r\n                        id={`print-checkbox-${index}`}\r\n                        className={classNames({\r\n                          checked: checkedItems.includes(item),\r\n                        })}\r\n                      />\r\n                      {content}\r\n                    </div>\r\n                  );\r\n                })}\r\n            </div>\r\n          </div>\r\n        )}\r\n        <div className=\"c-printsidebar__button-container\">\r\n          {selectedRadio === 1 ? (\r\n            <button\r\n              data-event-category={href || 'novalue'}\r\n              data-event-action={Translations.printbuttonwholepage}\r\n              data-event-value={href || 'novalue'}\r\n              data-event-name={Translations.printbuttonwholepage}\r\n              className=\"c-printsidebar__button\"\r\n              type=\"button\"\r\n              onClick={() => setPrintClicked(true)}\r\n            >\r\n              <i className=\"c-printsidebar__button__icon--print\" />\r\n              {Translations.printbuttonwholepage}\r\n            </button>\r\n          ) : (\r\n            <button\r\n              data-event-category={href || 'novalue'}\r\n              data-event-action={Translations.printbuttonparts}\r\n              data-event-value={href || 'novalue'}\r\n              data-event-name={Translations.printbuttonparts}\r\n              className=\"c-printsidebar__button\"\r\n              type=\"button\"\r\n              onClick={() => setPrintClicked(true)}\r\n            >\r\n              <i className=\"c-printsidebar__button__icon--print\" />\r\n              {Translations.printbuttonparts}\r\n            </button>\r\n          )}\r\n        </div>\r\n      </div>\r\n      {printClicked && (\r\n        <PrintIframe\r\n          SelectedRadio={selectedRadio}\r\n          PrintableItems={printableItems}\r\n          CheckedItems={checkedItems}\r\n          SetPrintClicked={setPrintClicked}\r\n        />\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default PrintSidebar;\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst Section = (props) => {\r\n  const classes = classNames('c-section', props.customClass, {\r\n    ...props.Modifiers,\r\n  });\r\n\r\n  const sectionClasses = classNames({\r\n    'c-section__inner': true,\r\n    'c-section__inner--double-column':\r\n      props.Modifiers && props.Modifiers['c-section__double-column'],\r\n  });\r\n\r\n  return (\r\n    <section className={classes}>\r\n      <div className=\"row\">\r\n        <div className=\"columns\">\r\n          <div className={sectionClasses}>{props.children}</div>\r\n        </div>\r\n      </div>\r\n    </section>\r\n  );\r\n};\r\n\r\nexport default Section;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport PrintSidebar from '../PrintSidebar';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nconst Share = ({ ShareChannels, Translations, PrintsideBarEnabled }) => {\r\n  if (!ShareChannels) return null;\r\n  const href = useWindowLocationHref();\r\n\r\n  return (\r\n    <div className=\"c-share show-for-large\">\r\n      <h2 className=\"c-share__heading\">{Translations && Translations.share}</h2>\r\n      <ul className=\"c-share__list\">\r\n        {ShareChannels.map((item, key) => {\r\n          const shareChannelClass = classNames({\r\n            'c-share__icon': true,\r\n            [`c-share__icon--${item.Channel}`]: true,\r\n          });\r\n\r\n          return (\r\n            <li key={key} className=\"c-share__list__item\">\r\n              {item.Channel !== 'mailto' ? (\r\n                <button\r\n                  data-event-category={href || 'novalue'}\r\n                  data-event-action={Translations.copylink}\r\n                  data-event-value={href || 'novalue'}\r\n                  data-event-name={Translations.copylink}\r\n                  className=\"c-share__list__item__share-btn\"\r\n                  type=\"button\"\r\n                  title={Translations && Translations.copylink}\r\n                  onClick={() => {\r\n                    navigator.clipboard.writeText(item.ShareURL);\r\n                  }}\r\n                >\r\n                  <span data-event-include className={shareChannelClass} />\r\n                  <span className=\"show-for-sr\">\r\n                    {Translations && Translations.copylink}\r\n                  </span>\r\n                </button>\r\n              ) : (\r\n                <button\r\n                  data-event-category={href || 'novalue'}\r\n                  data-event-action={Translations.tipafriend}\r\n                  data-event-value={href || 'novalue'}\r\n                  data-event-name={Translations.tipafriend}\r\n                  type=\"button\"\r\n                  className=\"c-share__list__item__share-btn\"\r\n                  title={Translations && Translations.tipafriend}\r\n                  onClick={() => {\r\n                    if (typeof window !== 'undefined') {\r\n                      window.location.href = item.ShareURL;\r\n                    }\r\n                  }}\r\n                >\r\n                  <span data-event-include className={shareChannelClass} />\r\n                  <span className=\"show-for-sr\">\r\n                    {Translations && Translations.tipafriend}\r\n                  </span>\r\n                </button>\r\n              )}\r\n            </li>\r\n          );\r\n        })}\r\n        <li className=\"c-share__list__item\">\r\n          {PrintsideBarEnabled ? (\r\n            <PrintSidebar\r\n              ShareChannels={ShareChannels}\r\n              Translations={Translations}\r\n            />\r\n          ) : (\r\n            <button\r\n              data-event-category={href || 'novalue'}\r\n              data-event-action={Translations.print}\r\n              data-event-value={href || 'novalue'}\r\n              data-event-name={Translations.print}\r\n              className=\"c-share__list__item__share-btn\"\r\n              type=\"button\"\r\n              onClick={() => {\r\n                window.print();\r\n              }}\r\n              title={Translations && Translations.print}\r\n            >\r\n              <span\r\n                data-event-include\r\n                className=\"c-share__icon c-share__icon--print\"\r\n              />\r\n              <span className=\"show-for-sr\">\r\n                {Translations && Translations.print}\r\n              </span>\r\n            </button>\r\n          )}\r\n        </li>\r\n      </ul>\r\n    </div>\r\n  );\r\n};\r\n\r\nShare.propTypes = {\r\n  ShareChannels: PropTypes.array,\r\n  Translations: PropTypes.object,\r\n  PrintsideBarEnabled: PropTypes.bool,\r\n};\r\n\r\nexport default Share;\r\n"],"names":["WrappedComponent","handles","ticking","throttleScroll","requestAnimationFrame","map","handle","window","addEventListener","props","isWithinTrac","setIsWithinTrac","useState","isTrackBottom","setIsTrackBottom","nodeRef","useRef","getBoundingClientRect","node","getParentNode","_nodeRef$current","current","parentNode","isComponentWithinTrack","parentRect","comp","getFirstChild","_nodeRef$current2","firstChild","trackBottom","pageYOffset","top","height","useEffect","push","_jsx","ref","children","_objectSpread","Container","offsetTop","printHandler","matchMedia","addListener","mql","matches","viewport","isInViewPort","setIsInViewPort","isViewed","setIsViewed","isBrowserTop","setIsBrowserTop","isBottomBrowserTop","setIsBottomBrowserTop","isInRange","setIsInRange","isComponentInViewPort","rect","offset","innerHeight","isComponentBrowserTop","isComponentBottomBrowserTop","bottom","isComponentWithinRange","isPrinting","setTimeout","Breadcrumbs","componentClasses","classNames","Modifiers","_jsxs","Name","className","lang","useSweLang","Language","id","Label","breadcrumb","index","CurrentPage","href","Url","Text","concat","ExpandableButton","buttonText","onClick","buttonClass","iconClass","textClass","open","controlsElementId","buttonId","attr","type","defaultProps","collapsibleContentInner","collapsibleContent","isExpanded","setIsExpanded","extendsContent","clientHeight","componentClass","buttonReadLessText","buttonReadMoreText","classes","hideCollapsibleText","heading","buttonChildren","Listitem","fullWidth","matomoTrackingClass","itemChildren","items","modifiers","item","key","_createElement","length","tabIndex","TemporaryInformation","Comment","FromDate","ToDate","showComments","date","Date","toISOString","comments","Alert","ToggleContainer","subheading","_ref","animation","toggle","isLast","SemanticHeader","isH3","hasH3","isH4","hasH4","contactCardHeading","Card","Address","Location","openIndoorRouteDescriptionIfClosed","document","getElementById","querySelector","dataset","click","showRouteDescriptionLink","Boolean","latitude","longitude","IndoorRouteDescription","RoadDescription","dangerouslySetInnerHTML","DisplayName","__html","replace","LogotypeUrl","src","alt","Fragment","e","preventDefault","scrollIt","Translations","roaddescription","Heading","Items","ContactCardPanel","Title","PublishFrom","published","ExtraHours","vaccinationhours","Link","expandableList","EServices","ToggleMore","allVisibleItems","visible","toggleMore","Modal","List","child","Description","OpenModalButton","ExternalId","ariaLabel","moreinformationabout","clickCallback","activeBtn","_activeBtn$nextSiblin","content","nextSibling","getElementsByClassName","focus","setFocus","ModalPanel","whenActive","CloseModalButton","close","role","showless","showmore","data","label","Value","ValueLink","AccessibilityUrl","url","text","FindUs","isSmall","isSmallViewport","wrapperClasses","mapGrid","biggermaptravelplanner","StaticMapUrl","addressGrid","visitoraddress","County","county","Municipality","PostalAddress","postaladdress","WebsiteUrl","websiteurl","accessibilityurl","AccessibilityUrlText","undefined","hideroutedescription","showroutedescription","outdoorroutedescription","description","indoorroutedescription","ReadMoreLinks","RelatedUnits","MoreUnitsLike","UnitsLike","parseQuery","parts","value","searchParams","parseUnitUrl","specificUrl","URL","canParse","rewriteQuery","originalQuery","queryPair","filter","k","rewriteUrl","referrerUrl","parsedUnit","careType","find","newQuery","buildPath","path","p","encodeURIComponent","join","pathname","redirectItems","referrer","firstUnitUrl","validateReferrer","unitUrl","host","includes","rewriteUrls","ContactSubheading","moreunitslike","setVisible","list","visElements","querySelectorAll","visElementsArray","Array","prototype","slice","call","el","getComputedStyle","display","lastItem","pop","_props$Offers","AboutUsSection","Content","PhotoUrl","PhotoAlt","PhotoAltText","FullWidth","Managements","HasCareOptionContract","Offers","GeneralText","GeneralFiles","Linklist","Links","offer","Files","string","bool","shape","PropTypes","managements","CareOptionLinkUrl","CareOptionContractLinkText","SubSection","SubHeading","unit__section","subsection","columns","Image","ImageUrl","Alt","match","_props$Treatments","ListView","treatment","Treatments","calculatedtime","Forecast","TableView","calculatedtimefirstvisit","WaitingTimesDescription","setOpen","setAnimation","toggleHandler","currentActiveId","setCurrentActiveId","currentTop","setCurrentTop","Infinity","handler","entries","entry","isIntersecting","target","getAttribute","boundingClientRect","options","rootMargin","threshold","forEach","element","Id","IntersectionObserver","observe","Viewport","CurrentPageProps","IsEditMode","isLazyLoaded","setIsLazyLoaded","currentSrc","setCurrentSrc","paramOrQuery","indexOf","presetLowResUrl","imageUrl","isLazyLoad","handleOnLoad","img","currentTarget","LazyLoadImageUrl","PRESET_300","PRESET_400","PRESET_500","PRESET_600","PRESET_700","PRESET_800","PRESET_1000","PRESET_1200","PRESET_1500","PRESET_1800","PRESET_2000","PRESET_2200","PRESET_2500","imgIsTouched","srcSets","isSrcSets","SrcSets","srcSet","defaultPreset","DefaultPreset","name","prefix","isError","errorMessages","errorType","isFocus","setIsFocus","disabled","component","classNameModifiers","isValid","isTouched","rest","_objectWithoutProperties","_excluded","ErrorComponent","Error","Input","onFocus","removeFocus","error","Textarea","Select","getAriaDescribedBy","_error$props","onBlur","defaultValue","callIfFunction","charsLeft","setCharsLeft","maxLength","textarea","getCharsLeft","maxLengthTranslation","charsClasses","onKeyUp","useWindowLocationHref","setHref","location","_props$Description","isBackgroundImage","ImageDescription","ariaHidden","style","backgroundImage","sizes","Sizes","attributes","includeTracking","onLoad","LazyLoadImage","withSrcSets","withLazyLoad","context","createContext","Provider","Consumer","fullScreen","_ref2","changeModal","activeModalId","body","classList","add","clickHandler","_ref3","_ref4","closeModal","autoFocus","ModalPanelInner","withKeepTabFocus","_ref5","React","_ref6","hideWithCss","_ref7","setActiveModalId","fullScreenModal","noScroll","contains","remove","escCloseHandler","keyCode","handleClick","removeEventListener","newModalId","SelectedRadio","PrintableItems","CheckedItems","SetPrintClicked","iframeRef","async","prepareContent","_printItems$map$join","_printItems","doc","contentDocument","contentWindow","printItems","styleContent","from","outerHTML","headerMainDiv","headerMainHTML","regionLabel","regionLabelHTML","updatedOuterHTML","write","elements","initializeIframe","_Fragment","backgroundColor","width","position","left","zIndex","title","handleLoad","print","isSidebarOpen","setSidebarOpen","checkedItems","setCheckedItems","selectedRadio","setSelectedRadio","printableItems","setPrintableItems","printableChildren","setPrintableChildren","printClicked","setPrintClicked","sidebarRef","sidebarToggleButtonRef","elementsRef","handleClickOutside","event","mainElement","imgblockMediaSliderChildren","nodeName","figures","chapterContainerChildren","chapterChildren","links","linklist","offsetParent","hasAttribute","removedContainerChildren","handlePrintSelection","handleRadioChange","mediaType","linkListContainer","chapterContainer","chapter","listOfImgElement","isMediaSlider","isLinkListContainer","isChapterContainer","isChapter","listOfElementblockchapter","listOfElementblock","listOfElement","prevItems","newItemsList","Set","filteredItems","i","_item$offsetParent","togglePrintSidebar","getPrintSelectionTitle","dataPrintSidebarTitle","dataPrintSidebarTitleRegion","words","split","innerText","printsidebartitle","printsidebarclose","printsidebarselectiontitle","printsidebarselectionparts","selected","printsidebarselectionwholepage","printsidebarselectionwhatparts","stripHtml","checked","printbuttonwholepage","printbuttonparts","PrintIframe","customClass","sectionClasses","ShareChannels","PrintsideBarEnabled","share","shareChannelClass","Channel","copylink","navigator","clipboard","writeText","ShareURL","tipafriend","PrintSidebar"],"sourceRoot":""}