{"version":3,"file":"static/js/665.c0f752ee.chunk.js","mappings":"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","sources":["blocks/adjustable-link-block.js","blocks/article-push-block.js","blocks/collection-chapter-container.js","blocks/find-aid-block.js","blocks/info-portal-block.js","blocks/intro-block.js","blocks/intro-container-block.js","blocks/linkpuff-block.js","blocks/page-list-block.js","blocks/pregnancy-block.js","blocks/regional-message-container-block.js","blocks/slideshow-image-block.js","blocks/slideshow-video-block.js","blocks/subject-intro-block.js","blocks/survey-entry-block.js","blocks/teaser-container-block.js","blocks/video-container-block.js","components/find-aid/find-aid-api.js","components/find-aid/index.js","components/find-aid/product-list.js","components/find-aid/useFetchFindAid.js","components/find-aid/utils.js","components/info-portal/index.js","components/pregnancy/index.js","components/pregnancy/pregnancy-form/index.js","components/pregnancy/pregnancy-result/index.js","components/subject-intro/index.js","platformui/CollectionChapterContainer/index.js","platformui/Hooks/useCleanQueryParams.js","platformui/LinkPush/index.js","platformui/Matomo/matomo-track-request.js","platformui/VideoContainer/index.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/tiny-invariant/dist/tiny-invariant.cjs.js","components/info-portal/infoportal-icons|sync|/^/.*$","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js"],"sourcesContent":["import AdjustableLinkBlock from '../platformui/AdjustableLinkBlock';\r\nexport default AdjustableLinkBlock;\r\n","import ManuelPageListBlock from './manuel-page-list-block';\r\n\r\nexport default ManuelPageListBlock;\r\n","import React from 'react';\r\nimport isInRange from '../platformui/Base/Sensors/isInRange';\r\nimport CollectionChapterContainer from '../platformui/CollectionChapterContainer';\r\nimport withAnchorNavTrigger from '../platformui/Containers/withAnchorNavTrigger';\r\n\r\nconst CollectionChapterContainerBlock = (props) => {\r\n  return <CollectionChapterContainer {...props} />;\r\n};\r\nexport default isInRange(\r\n  withAnchorNavTrigger(CollectionChapterContainerBlock),\r\n  65\r\n);\r\n","import React from 'react';\r\nimport FindAid from '../components/find-aid';\r\n\r\nconst FindAidFilterBlock = (props) => <FindAid {...props} />;\r\n\r\nexport default FindAidFilterBlock;\r\n","import React from 'react';\r\nimport InfoPortal from '../components/info-portal';\r\n\r\nconst InfoPortalBlock = (props) => <InfoPortal {...props} />;\r\n\r\nexport default InfoPortalBlock;\r\n","import React from 'react';\r\nimport Intro from '../platformui/Intro';\r\nimport * as Render from '../platformui/Base/Render';\r\nexport default (props) => (\r\n  <Intro\r\n    {...props}\r\n    Heading={Render.Property(props.Heading, 'Heading')}\r\n    Preamble={Render.Property(props.Preamble, 'Description')}\r\n  />\r\n);\r\n","import React from 'react';\r\nimport * as Render from '../platformui/Base/Render';\r\nimport SubjectIntroBlock from './subject-intro-block';\r\n\r\nconst Blocks = {\r\n  SubjectIntroBlock,\r\n};\r\n\r\nexport default (props) => (\r\n  <Render.Block\r\n    blocks={props.Content}\r\n    propertyName=\"Content\"\r\n    currentPageProps={props}\r\n  >\r\n    <Render.BlockTypeRenderer Blocks={Blocks} />\r\n  </Render.Block>\r\n);\r\n","import LinkPush from '../platformui/LinkPush';\r\nexport default LinkPush;\r\n","import React from 'react';\r\nimport * as Render from '../platformui/Base/Render';\r\nimport { Teaser } from '../platformui/Teaser';\r\n\r\nexport default (props) => (\r\n  <Teaser\r\n    {...props}\r\n    Heading={Render.Property(props.Heading, 'Heading')}\r\n    UseListToggler={true}\r\n  />\r\n);\r\n","import React from 'react';\r\nimport PregnancyBlock from '../components/pregnancy';\r\n\r\nexport default (props) => <PregnancyBlock {...props} />;\r\n","import React from 'react';\r\n\r\nexport default () => {\r\n  return (\r\n    <h2>\r\n      Den här sidan går bara att surfa till i redaktörsläget. En besökare kommer\r\n      att omdirigeras till närmsta icke-behållarsida.\r\n    </h2>\r\n  );\r\n};\r\n","import React from 'react';\r\nimport { MediaGalleryImage } from '../platformui';\r\n\r\nconst SlideShowImageBlock = (props) => <MediaGalleryImage {...props} />;\r\n\r\nexport default SlideShowImageBlock;\r\n","import React from 'react';\r\nimport { MediaGalleryVideo } from '../platformui/';\r\n\r\nconst SlideShowVideoBlock = (props) => <MediaGalleryVideo {...props} />;\r\n\r\nexport default SlideShowVideoBlock;\r\n","import React from 'react';\r\nimport SubjectIntro from '../components/subject-intro';\r\nimport * as Render from '../platformui/Base/Render';\r\n\r\nexport default (props) => (\r\n  <SubjectIntro\r\n    {...props}\r\n    SubjectHeading={Render.Property(props.SubjectHeading, 'SubjectHeading')}\r\n    Heading={Render.Property(props.Heading, 'Heading')}\r\n    Preamble={Render.PropertyAsHTML(props.Preamble, 'Preamble')}\r\n  />\r\n);\r\n","import React from 'react';\r\nimport SurveyEntry from '../platformui/SurveyEntry';\r\nexport default (props) => <SurveyEntry {...props} />;\r\n","import React from 'react';\r\nimport * as Render from '../platformui/Base/Render';\r\nimport * as Blocks from '.';\r\n\r\nexport default (props) => {\r\n  return <Render.Block\r\n    blocks={props.Content}\r\n    propertyName=\"Content\"\r\n    currentPageProps={props.CurrentPageProps}\r\n  >\r\n    <Render.BlockTypeRenderer Blocks={Blocks} />\r\n  </Render.Block>\r\n};\r\n","import React from 'react';\r\nimport VideoContainer from '../platformui/VideoContainer';\r\n\r\nconst VideoContainerBlock =\r\n  (props) => <VideoContainer\r\n    DisableVideoBlockText={true}\r\n    {...props} />;\r\n\r\nexport default VideoContainerBlock;\r\n","export const FindAidApi = async (apiEndpoint, requestBody) => {\r\n  try {\r\n    const response = await fetch(apiEndpoint, {\r\n      method: 'POST',\r\n      headers: {\r\n        'Content-Type': 'application/json',\r\n        Allow: 'GET, POST',\r\n      },\r\n      body: JSON.stringify(requestBody),\r\n    });\r\n    if (!response.ok) {\r\n      throw new Error(`HTTP error! status: ${response.status}`);\r\n    }\r\n    return await response.json();\r\n  } catch (error) {\r\n    throw new Error(`Fetch error: ${error.message}`);\r\n  }\r\n};\r\n\r\nexport const fetchProductsForCategory = async (\r\n  categories,\r\n  selectedMunicipalityId\r\n) => {\r\n  try {\r\n    const data = await FindAidApi('/api/findaid/v1/product-listings', {\r\n      CategoryIds: categories,\r\n      MunicipalityId: selectedMunicipalityId,\r\n    });\r\n    return data.items || [];\r\n  } catch (error) {\r\n    console.error(`Fetch error: ${error.message}`);\r\n    return [];\r\n  }\r\n};\r\n","import classNames from 'classnames';\r\nimport { arrayOf, shape, string } from 'prop-types';\r\nimport qs from 'qs';\r\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { useCleanUrlParams } from '../../platformui/Hooks/useCleanQueryParams';\r\nimport { isMediumViewport } from '../../platformui/Hooks/useMedia';\r\nimport MatomoTrackRequest from '../../platformui/Matomo/matomo-track-request';\r\nimport Spinner from '../../platformui/Spinner';\r\nimport Section from './../../platformui/Section/index';\r\nimport Typeahead from './../../platformui/Typeahead/index';\r\nimport ProductList from './product-list';\r\nimport useFetchFindAid from './useFetchFindAid';\r\nimport { getLevelOneCategory, getProductsForCategoryLevels } from './utils';\r\n\r\nconst FindAidComponent = ({\r\n  AidCategoryTypeTitle,\r\n  AidSubCategoryTypeTitle,\r\n  AidTypeTitle,\r\n  Municipalities,\r\n  MunicipalityLinkText,\r\n  MunicipalityInformation,\r\n  MunicipalityTitle,\r\n  ProductListTitle,\r\n  Title,\r\n  ProductPageReference,\r\n  history,\r\n  location,\r\n}) => {\r\n  const [displayedCategoryName, setDisplayedCategoryName] = useState('');\r\n  const [activeCategory, setActiveCategory] = useState(null);\r\n\r\n  const [selectedLevelOneCategory, setSelectedLevelOneCategory] = useState('');\r\n  const [selectedLevelTwoCategory, setSelectedLevelTwoCategory] = useState('');\r\n\r\n  const allowedKeys = useMemo(\r\n    () => ['municipality', 'type', 'category', 'subcategory'],\r\n    []\r\n  );\r\n\r\n  useCleanUrlParams(allowedKeys);\r\n\r\n  const {\r\n    allCategories,\r\n    levelOneCategories,\r\n    levelTwoCategories,\r\n    levelThreeCategories,\r\n    products,\r\n    loading,\r\n    error,\r\n    dataFetched,\r\n    displayedProducts,\r\n    showProducts,\r\n    shouldShowAllProducts,\r\n    setError,\r\n    setLoading,\r\n    setShowProducts,\r\n    setDisplayedProducts,\r\n    setShouldShowAllProducts,\r\n    setLevelTwoCategories,\r\n    setLevelThreeCategories,\r\n  } = useFetchFindAid({\r\n    location,\r\n    Municipalities,\r\n    MunicipalityTitle,\r\n  });\r\n\r\n  const levelOneShowAllInputRef = useRef(null);\r\n  const levelTwoInputRef = useRef(null);\r\n  const prevQueryRef = useRef(null);\r\n  const isMedium = isMediumViewport();\r\n\r\n  const updateSearchParams = ({ updates = {}, deletions = [] }) => {\r\n    const currentQuery = {\r\n      ...qs.parse(location.search, { ignoreQueryPrefix: true, indices: false }),\r\n    };\r\n\r\n    deletions.forEach((key) => {\r\n      delete currentQuery[key];\r\n    });\r\n\r\n    Object.entries(updates).forEach(([key, value]) => {\r\n      currentQuery[key] = value;\r\n    });\r\n\r\n    const newQueryString = qs.stringify(currentQuery, {\r\n      ignoreQueryPrefix: true,\r\n      indices: false,\r\n    });\r\n\r\n    history.push(`${location.pathname}?${newQueryString}`);\r\n  };\r\n\r\n  const queryString = qs.parse(location.search, {\r\n    ignoreQueryPrefix: true,\r\n    indices: false,\r\n  });\r\n\r\n  useEffect(() => {\r\n    if (!dataFetched) return;\r\n    if (!allCategories.LevelOne) return;\r\n\r\n    const query = qs.parse(location.search, {\r\n      ignoreQueryPrefix: true,\r\n      indices: false,\r\n    });\r\n\r\n    const {\r\n      type: levelOneFilter,\r\n      category: levelTwoFilter,\r\n      subcategory: levelThreeFilter,\r\n    } = query;\r\n\r\n    if (prevQueryRef.current?.type !== levelOneFilter) {\r\n      if (levelOneFilter === 'showAll') {\r\n        handleShowAllProductsClick(\r\n          allCategories.LevelOne,\r\n          1,\r\n          query?.type,\r\n          query?.category\r\n        );\r\n        levelOneShowAllInputRef?.current?.click();\r\n      } else {\r\n        if (levelOneFilter) {\r\n          handleLevelOneChange(levelOneFilter);\r\n        }\r\n      }\r\n    }\r\n\r\n    if (prevQueryRef.current?.category !== levelTwoFilter) {\r\n      levelTwoFilter === 'showAll'\r\n        ? handleShowAllProductsClick(\r\n            allCategories.LevelTwo,\r\n            2,\r\n            query?.type,\r\n            query?.category\r\n          )\r\n        : levelTwoFilter && handleLevelTwoChange(levelTwoFilter);\r\n    }\r\n\r\n    if (prevQueryRef.current?.subcategory !== levelThreeFilter) {\r\n      levelThreeFilter === 'showAll'\r\n        ? handleShowAllProductsClick(\r\n            allCategories.LevelThree,\r\n            3,\r\n            query?.type,\r\n            query?.category\r\n          )\r\n        : levelThreeFilter && handleLevelThreeChange(levelThreeFilter);\r\n    }\r\n\r\n    prevQueryRef.current = query;\r\n  }, [location.search, dataFetched, allCategories, products]);\r\n\r\n  const handleLevelOneChange = (levelOneId) => {\r\n    setError('');\r\n    setShowProducts(false);\r\n\r\n    setShouldShowAllProducts(false);\r\n\r\n    if (!allCategories.LevelTwo) {\r\n      return;\r\n    }\r\n\r\n    const levelTwoItems = allCategories.LevelTwo.filter(\r\n      (category) => category.ParentCategoryId === levelOneId\r\n    );\r\n\r\n    if (levelTwoItems.length === 0) {\r\n      setError('Inga underkategorier hittades för den valda kategorin.');\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        'no-products-found ' + AidTypeTitle,\r\n        allCategories.LevelOne?.find((levelOne) => levelOne.Id === levelOneId)\r\n          ?.Name,\r\n        0\r\n      );\r\n    } else {\r\n      setActiveCategory(levelOneId);\r\n      setLevelTwoCategories(levelTwoItems);\r\n\r\n      const selectedCategoryName = allCategories.LevelOne?.find(\r\n        (levelOne) => levelOne.Id === levelOneId\r\n      )?.Name;\r\n\r\n      setSelectedLevelOneCategory(selectedCategoryName);\r\n\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        '2 ' + AidTypeTitle,\r\n        selectedCategoryName,\r\n        levelOneCategories.length\r\n      );\r\n    }\r\n  };\r\n\r\n  const handleLevelTwoChange = (levelTwoId) => {\r\n    setError('');\r\n    setShowProducts(false);\r\n    setShouldShowAllProducts(false);\r\n\r\n    if (!allCategories.LevelThree) {\r\n      return;\r\n    }\r\n\r\n    const activeLevelOneCategory = getLevelOneCategory(\r\n      levelTwoId,\r\n      allCategories\r\n    );\r\n    setActiveCategory(activeLevelOneCategory?.Id);\r\n\r\n    const selectedCategoryName = allCategories.LevelTwo?.find(\r\n      (levelTwo) => levelTwo.Id === levelTwoId\r\n    )?.Name;\r\n    setSelectedLevelTwoCategory(selectedCategoryName);\r\n\r\n    const levelThreeItems = allCategories.LevelThree.filter(\r\n      (category) => category.ParentCategoryId === levelTwoId\r\n    );\r\n    setLevelThreeCategories(levelThreeItems);\r\n\r\n    if (levelThreeItems.length === 0) {\r\n      setError('Inga underkategorier hittades för den valda kategorin.');\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        'no-products-found ' + AidCategoryTypeTitle,\r\n        allCategories.LevelTwo?.find((x) => x.Id === levelTwoId)?.Name,\r\n        0\r\n      );\r\n    } else {\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        '3 ' + activeLevelOneCategory?.Name,\r\n        allCategories.LevelTwo?.find((x) => x.Id === levelTwoId)?.Name,\r\n        levelThreeItems.length\r\n      );\r\n    }\r\n  };\r\n\r\n  const handleLevelThreeChange = (levelThreeId) => {\r\n    setError('');\r\n    setLoading(false);\r\n    setShouldShowAllProducts(false);\r\n\r\n    const activeLevelOneCategory = getLevelOneCategory(\r\n      levelThreeId,\r\n      allCategories\r\n    );\r\n    setActiveCategory(activeLevelOneCategory?.Id);\r\n\r\n    const productsForCategory = products[levelThreeId] || [];\r\n    const selectedSubCategoryName = allCategories.LevelThree?.find(\r\n      (levelThree) => levelThree.Id === levelThreeId\r\n    )?.Name;\r\n\r\n    if (productsForCategory.length === 0) {\r\n      setError('Inga produkter hittades för den valda kategorin.');\r\n      setShowProducts(false);\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        'no-products-found ' + (selectedSubCategoryName || ''),\r\n        selectedSubCategoryName,\r\n        0\r\n      );\r\n    } else {\r\n      setDisplayedCategoryName(selectedSubCategoryName);\r\n      setDisplayedProducts(productsForCategory);\r\n      setShowProducts(true);\r\n\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        '4 ' + (selectedSubCategoryName || ''),\r\n        selectedSubCategoryName,\r\n        productsForCategory.length\r\n      );\r\n    }\r\n  };\r\n\r\n  const resetCategoriesBelowLevel = (categoryLevel) => {\r\n    if (categoryLevel < 2) {\r\n      setLevelTwoCategories([]);\r\n      setLevelThreeCategories([]);\r\n    } else if (categoryLevel < 3) {\r\n      setLevelThreeCategories([]);\r\n      updateSearchParams({\r\n        deletions: ['subcategory'],\r\n      });\r\n    }\r\n  };\r\n\r\n  const handleShowAllProductsClick = (\r\n    categoriesToDisplay,\r\n    categoryLevel,\r\n    levelOneCategoryId = null,\r\n    levelTwoCategoryId = null\r\n  ) => {\r\n    if (categoryLevel < 3) {\r\n      categoriesToDisplay = categoriesToDisplay.filter(\r\n        (x) => x.ParentCategoryId === levelOneCategoryId\r\n      );\r\n    } else if (categoryLevel) {\r\n      categoriesToDisplay = categoriesToDisplay.filter(\r\n        (x) => x.ParentCategoryId === levelTwoCategoryId\r\n      );\r\n    }\r\n\r\n    const clickedTopLevelShowAll = !categoriesToDisplay && !categoryLevel;\r\n    setLoading(true);\r\n    setError('');\r\n    resetCategoriesBelowLevel(categoryLevel);\r\n    setShouldShowAllProducts(true);\r\n\r\n    const categoryNameToDisplay =\r\n      categoryLevel === 2 ? selectedLevelOneCategory : selectedLevelTwoCategory;\r\n    setDisplayedCategoryName(categoryNameToDisplay);\r\n\r\n    if (clickedTopLevelShowAll) {\r\n      setActiveCategory('showAll');\r\n      updateSearchParams({\r\n        updates: { type: 'showAll' },\r\n        deletions: ['category', 'subcategory'],\r\n      });\r\n      setDisplayedCategoryName('alla kategorier');\r\n      resetCategoriesBelowLevel(0);\r\n    }\r\n\r\n    const productsToDisplay =\r\n      categoriesToDisplay?.length > 0\r\n        ? getProductsForCategoryLevels(\r\n            categoriesToDisplay,\r\n            categoryLevel,\r\n            allCategories,\r\n            products\r\n          )\r\n        : Object.values(products).flat();\r\n\r\n    if (productsToDisplay.length === 0) {\r\n      setError('Inga produkter hittades för den valda kommunen.');\r\n      setShowProducts(false);\r\n      setLoading(false);\r\n      MatomoTrackRequest(\r\n        'Hjälpmedelsväljaren',\r\n        'no-products-found ' +\r\n          Municipalities.find((x) => x.Id === queryString.municipality)?.Name,\r\n        'showAll',\r\n        0\r\n      );\r\n      return;\r\n    }\r\n\r\n    setDisplayedProducts(productsToDisplay);\r\n    setLoading(false);\r\n    setShowProducts(true);\r\n\r\n    MatomoTrackRequest(\r\n      'Hjälpmedelsväljaren',\r\n      'Visa alla ' + AidTypeTitle,\r\n      Municipalities.find((x) => x.Id === queryString.municipality)?.Name,\r\n      productsToDisplay.length\r\n    );\r\n  };\r\n\r\n  const mapToTypeaheadList = (list) =>\r\n    list?.map((item) => ({\r\n      value: item.Id,\r\n      label: item.Name,\r\n      category: item?.category,\r\n    }));\r\n\r\n  return (\r\n    <Section customClass=\"flex-center\">\r\n      <div className=\"find-aid\">\r\n        <div className=\"find-aid__municipality\">\r\n          <h2 className=\"find-aid__heading\">{Title}</h2>\r\n          <Typeahead\r\n            items={mapToTypeaheadList(\r\n              Municipalities.map((municipality) => ({\r\n                ...municipality,\r\n                category: 'Kommun',\r\n              }))\r\n            )}\r\n            onSelect={(selectedItem) => {\r\n              updateSearchParams({\r\n                updates: { municipality: selectedItem.value },\r\n                deletions: ['type', 'category', 'subcategory'],\r\n              });\r\n            }}\r\n            defaultValue={\r\n              Array.isArray(queryString?.municipality)\r\n                ? queryString?.municipality[0]\r\n                : queryString?.municipality\r\n            }\r\n            placeholderText=\"Sök efter din kommun\"\r\n            tooltipLinkText={MunicipalityLinkText}\r\n            tooltipText={MunicipalityInformation}\r\n            rightAlignedTooltip={false}\r\n            label={MunicipalityTitle}\r\n          />\r\n        </div>\r\n        {queryString.municipality && (\r\n          <>\r\n            {levelOneCategories?.length > 0 && (\r\n              <div className=\"find-aid__levelOne\">\r\n                {isMedium ? (\r\n                  <Typeahead\r\n                    items={[\r\n                      {\r\n                        value: 'showAll',\r\n                        label: ' Visa alla hjälpmedel',\r\n                        category: 'Typ av hjälpmedel',\r\n                      },\r\n                      ...mapToTypeaheadList(\r\n                        levelOneCategories.map((levelOneCategories) => ({\r\n                          ...levelOneCategories,\r\n                          category: 'Typ av hjälpmedel',\r\n                        }))\r\n                      ),\r\n                    ]}\r\n                    onSelect={(selectedItem) =>\r\n                      selectedItem.value !== 'showAll'\r\n                        ? updateSearchParams({\r\n                            updates: { type: selectedItem.value },\r\n                            deletions: ['category', 'subcategory'],\r\n                          })\r\n                        : handleShowAllProductsClick()\r\n                    }\r\n                    defaultValue={queryString.type}\r\n                    placeholderText={AidTypeTitle}\r\n                    label={AidTypeTitle}\r\n                  />\r\n                ) : (\r\n                  <>\r\n                    <label\r\n                      htmlFor=\"find-aid__tag-container\"\r\n                      className=\"find-aid__paragraph\"\r\n                    >\r\n                      {AidTypeTitle}\r\n                    </label>\r\n                    <ul\r\n                      id=\"find-aid__tag-container\"\r\n                      className=\"find-aid__tag-container\"\r\n                    >\r\n                      {levelOneCategories.map((category) => (\r\n                        <li\r\n                          tabIndex={0}\r\n                          className={classNames(\r\n                            'find-aid__tag-container__tag',\r\n                            {\r\n                              active: queryString.type === category.Id,\r\n                            }\r\n                          )}\r\n                          type=\"button\"\r\n                          key={category.Id}\r\n                          onClick={() => {\r\n                            updateSearchParams({\r\n                              updates: { type: category.Id },\r\n                              deletions: ['category', 'subcategory'],\r\n                            });\r\n                            setTimeout(() => {\r\n                              levelTwoInputRef?.current?.focus();\r\n                            }, 0);\r\n                          }}\r\n                          onKeyDown={(e) => {\r\n                            if (e.key === 'Enter' || e.key === ' ') {\r\n                              updateSearchParams({\r\n                                updates: { type: category.Id },\r\n                                deletions: ['category', 'subcategory'],\r\n                              });\r\n                            }\r\n                          }}\r\n                        >\r\n                          {category.Name}\r\n                        </li>\r\n                      ))}\r\n                      <li\r\n                        tabIndex={0}\r\n                        className={classNames('find-aid__tag-container__tag', {\r\n                          active: activeCategory === 'showAll',\r\n                        })}\r\n                        type=\"button\"\r\n                        ref={levelOneShowAllInputRef}\r\n                        onClick={() => handleShowAllProductsClick()}\r\n                        onKeyDown={(e) => {\r\n                          if (e.key === 'Enter' || e.key === ' ') {\r\n                            handleShowAllProductsClick();\r\n                          }\r\n                        }}\r\n                      >\r\n                        Visa alla\r\n                      </li>\r\n                    </ul>\r\n                  </>\r\n                )}\r\n              </div>\r\n            )}\r\n            {levelTwoCategories.length > 0 && queryString.type && (\r\n              <div className=\"find-aid__levelTwo\">\r\n                <Typeahead\r\n                  key={selectedLevelOneCategory}\r\n                  inputRef={levelTwoInputRef}\r\n                  items={[\r\n                    {\r\n                      value: 'showAll',\r\n                      label:\r\n                        ' Visa alla hjälpmedel inom ' +\r\n                        selectedLevelOneCategory,\r\n                      category: selectedLevelOneCategory,\r\n                    },\r\n                    ...mapToTypeaheadList(\r\n                      levelTwoCategories.map((levelTwoCategories) => ({\r\n                        ...levelTwoCategories,\r\n                        category: selectedLevelOneCategory,\r\n                      }))\r\n                    ),\r\n                  ]}\r\n                  onSelect={(selectedItem) =>\r\n                    selectedItem.value === 'showAll'\r\n                      ? [\r\n                          handleShowAllProductsClick(\r\n                            levelTwoCategories,\r\n                            2,\r\n                            prevQueryRef.current?.type,\r\n                            prevQueryRef.current?.category\r\n                          ),\r\n                          updateSearchParams({\r\n                            updates: { category: selectedItem.value },\r\n                          }),\r\n                        ]\r\n                      : updateSearchParams({\r\n                          updates: { category: selectedItem.value },\r\n                          deletions: ['subcategory'],\r\n                        })\r\n                  }\r\n                  defaultValue={queryString.category}\r\n                  label={`${AidCategoryTypeTitle} \"${selectedLevelOneCategory}\"`}\r\n                  placeholderText={AidCategoryTypeTitle}\r\n                />\r\n              </div>\r\n            )}\r\n            {levelThreeCategories.length > 0 && queryString.category && (\r\n              <div className=\"find-aid__levelThree\">\r\n                <Typeahead\r\n                  key={selectedLevelTwoCategory}\r\n                  items={[\r\n                    {\r\n                      value: 'showAll',\r\n                      label:\r\n                        ' Visa alla hjälpmedel inom ' +\r\n                        selectedLevelTwoCategory,\r\n                      category: selectedLevelTwoCategory,\r\n                    },\r\n                    ...mapToTypeaheadList(\r\n                      levelThreeCategories.map((levelThreeCategories) => ({\r\n                        ...levelThreeCategories,\r\n                        category: selectedLevelTwoCategory,\r\n                      }))\r\n                    ),\r\n                  ]}\r\n                  onSelect={(selectedItem) => [\r\n                    selectedItem.value === 'showAll' &&\r\n                      handleShowAllProductsClick(\r\n                        levelThreeCategories,\r\n                        3,\r\n                        prevQueryRef.current?.type,\r\n                        prevQueryRef.current?.category\r\n                      ),\r\n                    updateSearchParams({\r\n                      updates: { subcategory: selectedItem.value },\r\n                    }),\r\n                  ]}\r\n                  defaultValue={queryString.subcategory}\r\n                  label={`${AidSubCategoryTypeTitle} \"${selectedLevelTwoCategory}\"`}\r\n                  placeholderText={AidSubCategoryTypeTitle}\r\n                />\r\n              </div>\r\n            )}\r\n            {loading && (\r\n              <div style={{ position: 'relative' }}>\r\n                <Spinner Modifiers={{ 'c-spinner--is-loading': true }} alt />\r\n              </div>\r\n            )}\r\n            {error && (\r\n              <p className=\"no-products-found\" aria-live=\"polite\">\r\n                {error}\r\n              </p>\r\n            )}\r\n            {displayedProducts.length > 0 && showProducts && (\r\n              <ProductList\r\n                productListTitle={ProductListTitle}\r\n                productPageUrl={ProductPageReference}\r\n                products={displayedProducts}\r\n                showAllCategories={shouldShowAllProducts}\r\n                selectedCategory={displayedCategoryName}\r\n              />\r\n            )}\r\n          </>\r\n        )}\r\n      </div>\r\n    </Section>\r\n  );\r\n};\r\n\r\nFindAidComponent.propTypes = {\r\n  AidCategoryTypeTitle: string,\r\n  AidSubCategoryTypeTitle: string,\r\n  AidTypeTitle: string,\r\n  Municipalities: arrayOf(\r\n    shape({\r\n      Id: string,\r\n      MunicipalityCode: string,\r\n      Name: string,\r\n      ParentId: string,\r\n    })\r\n  ),\r\n  MunicipalityInformation: string,\r\n  MunicipalityLinkText: string,\r\n  MunicipalityTitle: string,\r\n  ProductListTitle: string,\r\n  Title: string,\r\n};\r\n\r\nexport default withRouter(FindAidComponent);\r\n","import classNames from 'classnames';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport A from '../../platformui/Anchor';\r\nimport Image from '../../platformui/Image';\r\nimport qs from 'qs';\r\n\r\nconst ProductList = ({\r\n  products,\r\n  productPageUrl,\r\n  productListTitle,\r\n  showAllCategories,\r\n  selectedCategory,\r\n}) => {\r\n  const [visibleProducts, setVisibleProducts] = useState(10);\r\n  const [sortedProducts, setSortedProducts] = useState([]);\r\n  const [isAscending, setIsAscending] = useState(true);\r\n  const prevQueryRef = useRef(null);\r\n  const paramName = '?productid=';\r\n\r\n  useEffect(() => {\r\n    const query = qs.parse(location.search, {\r\n      ignoreQueryPrefix: true,\r\n      indices: false,\r\n    });\r\n\r\n    prevQueryRef.current = query;\r\n\r\n    if (products.length > 0) {\r\n      setSortedProducts(\r\n        [...products].sort((a, b) => a.productName.localeCompare(b.productName))\r\n      );\r\n    }\r\n  }, [products]);\r\n\r\n  const toggleSortOrder = () => {\r\n    const newSortOrder = !isAscending;\r\n    setIsAscending(newSortOrder);\r\n    setSortedProducts(\r\n      [...sortedProducts].sort((a, b) => {\r\n        return newSortOrder\r\n          ? a.productName.localeCompare(b.productName)\r\n          : b.productName.localeCompare(a.productName);\r\n      })\r\n    );\r\n  };\r\n\r\n  const showMoreProducts = () => {\r\n    setVisibleProducts((prevVisibleProducts) => prevVisibleProducts + 10);\r\n  };\r\n\r\n  if (!products) return null;\r\n\r\n  return (\r\n    <div className=\"product-list-container\">\r\n      <h2 className=\"product-list-container--heading\">{productListTitle}</h2>\r\n      <div className=\"product-list-container__top-content\">\r\n        <p className=\"filter-info\" aria-live=\"polite\">\r\n          <b>{products.length} Hjälpmedel</b> hittades för{' '}\r\n          <b>\r\n            &quot;\r\n            {showAllCategories\r\n              ? prevQueryRef.current?.type != 'showAll' && selectedCategory\r\n                ? `Visa alla hjälpmedel inom ${selectedCategory}`\r\n                : 'Visa hjälpmedel inom alla kategorier.'\r\n              : `Visa hjälpmedel inom ${selectedCategory}`}\r\n            &quot;\r\n          </b>{' '}\r\n          i din kommun\r\n        </p>\r\n        <div className=\"sort-options\">\r\n          <p className=\"sort-options__sort-text\">Sortera efter</p>\r\n          <button\r\n            data-event-category=\"Hjälpmedelsväljaren\"\r\n            data-event-action=\"Lista av produkter\"\r\n            data-event-name=\"Sortering\"\r\n            aria-label={`Sortera efter bokstavsordning ${\r\n              isAscending ? 'A-Ö' : 'Ö-A'\r\n            }`}\r\n            className={classNames('sort-options__sort-button', {\r\n              ascending: isAscending,\r\n            })}\r\n            onClick={toggleSortOrder}\r\n          >\r\n            {isAscending ? 'Bokstavsordning A-Ö' : 'Bokstavsordning Ö-A'}\r\n          </button>\r\n        </div>\r\n      </div>\r\n      <div className=\"product-list-container__product-list\">\r\n        {sortedProducts.slice(0, visibleProducts).map((product, index) => (\r\n          <A\r\n            data-event-category=\"Hjälpmedelväljaren\"\r\n            data-event-action={'5 Produktsida'}\r\n            data-event-name={product.productName}\r\n            href={productPageUrl + paramName + product.productId}\r\n            tabIndex={0}\r\n            className=\"product\"\r\n            key={index}\r\n          >\r\n            {product.mainImage !== undefined ? (\r\n              <Image\r\n                data-event-include\r\n                ImageUrl={product.mainImage.imageUrl}\r\n                Alt={\r\n                  product.mainImage.altText || `Bild på ${product.productName}`\r\n                }\r\n                Sizes={product.mainImage.scaledProductImages}\r\n                className=\"product__product-image\"\r\n              />\r\n            ) : (\r\n              <figure className=\"product__fallback-image\" />\r\n            )}\r\n            <div className=\"product__product-info\">\r\n              <h3\r\n                data-event-include\r\n                aria-label={product.productName}\r\n                className=\"product__product-info__product-name\"\r\n              >\r\n                {product.productName}\r\n              </h3>\r\n              <p\r\n                data-event-include\r\n                className=\"product__product-info__product-text\"\r\n              >\r\n                {product.productType}\r\n              </p>\r\n            </div>\r\n          </A>\r\n        ))}\r\n      </div>\r\n      {visibleProducts < sortedProducts.length && (\r\n        <button\r\n          className=\"product-list-container__show-more\"\r\n          onClick={showMoreProducts}\r\n          aria-label=\"Visa fler\"\r\n        >\r\n          Visa fler\r\n        </button>\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProductList;\r\n","import qs from 'qs';\r\nimport { useEffect, useState } from 'react';\r\nimport MatomoTrackRequest from '../../platformui/Matomo/matomo-track-request';\r\nimport { FindAidApi, fetchProductsForCategory } from './find-aid-api';\r\n\r\nexport default function useFetchFindAid({\r\n  location,\r\n  Municipalities,\r\n  MunicipalityTitle,\r\n}) {\r\n  const [allCategories, setAllCategories] = useState({});\r\n  const [levelOneCategories, setLevelOneCategories] = useState([]);\r\n  const [levelTwoCategories, setLevelTwoCategories] = useState([]);\r\n  const [levelThreeCategories, setLevelThreeCategories] = useState([]);\r\n  const [products, setProducts] = useState({});\r\n  const [displayedProducts, setDisplayedProducts] = useState([]);\r\n  const [dataFetched, setDataFetched] = useState(false);\r\n  const [showProducts, setShowProducts] = useState(false);\r\n  const [shouldShowAllProducts, setShouldShowAllProducts] = useState(false);\r\n\r\n  const [error, setError] = useState('');\r\n  const [loading, setLoading] = useState(false);\r\n\r\n  const query = qs.parse(location.search, {\r\n    ignoreQueryPrefix: true,\r\n    indices: false,\r\n  });\r\n\r\n  const municipalityId = Array.isArray(query.municipality)\r\n    ? query.municipality[0]\r\n    : query.municipality;\r\n\r\n  useEffect(() => {\r\n    if (!municipalityId) {\r\n      return;\r\n    }\r\n\r\n    setLoading(true);\r\n    setDataFetched(false);\r\n    setError('');\r\n    setShowProducts(false);\r\n    setShouldShowAllProducts(false);\r\n\r\n    setLevelOneCategories([]);\r\n    setLevelTwoCategories([]);\r\n    setLevelThreeCategories([]);\r\n    setProducts({});\r\n    setDisplayedProducts([]);\r\n    setAllCategories({});\r\n\r\n    FindAidApi('/api/findaid/v1/active-categories', {\r\n      MunicipalityId: municipalityId,\r\n    })\r\n      .then(async (data) => {\r\n        const levelOne = data.LevelOne || [];\r\n        const levelTwo = data.LevelTwo || [];\r\n        const levelThree = data.LevelThree || [];\r\n\r\n        if (levelOne.length === 0) {\r\n          setError(\r\n            'Inga hjälpmedelskategorier hittades för den valda kommunen.'\r\n          );\r\n          MatomoTrackRequest(\r\n            'Hjälpmedelsväljaren',\r\n            'no-products-found ' + MunicipalityTitle,\r\n            Municipalities.find((x) => x.Id === municipalityId)?.Name,\r\n            0\r\n          );\r\n          return;\r\n        }\r\n\r\n        const levelThreeIds = levelThree.map((cat) => cat.Id);\r\n        const productData = await fetchProductsForCategory(\r\n          levelThreeIds,\r\n          municipalityId\r\n        );\r\n\r\n        const categoryProductsMap = productData.reduce((acc, product) => {\r\n          const catId = product.classification.categoryId;\r\n          if (!acc[catId]) {\r\n            acc[catId] = [];\r\n          }\r\n          acc[catId].push(product);\r\n          return acc;\r\n        }, {});\r\n\r\n        const levelThreeWithProducts = levelThree.filter(\r\n          (cat) => (categoryProductsMap[cat.Id] || []).length > 0\r\n        );\r\n        const levelTwoWithProducts = levelTwo.filter((cat) =>\r\n          levelThreeWithProducts.some(\r\n            (lvl3) => lvl3.ParentCategoryId === cat.Id\r\n          )\r\n        );\r\n        const levelOneWithProducts = levelOne.filter((cat) =>\r\n          levelTwoWithProducts.some((lvl2) => lvl2.ParentCategoryId === cat.Id)\r\n        );\r\n\r\n        if (levelOneWithProducts.length === 0) {\r\n          setError('Kommunen du har valt har inga hjälpmedel att visa upp.');\r\n          MatomoTrackRequest(\r\n            'Hjälpmedelsväljaren',\r\n            'no-products-found ' + MunicipalityTitle,\r\n            Municipalities.find((x) => x.Id === municipalityId)?.Name,\r\n            0\r\n          );\r\n          return;\r\n        }\r\n\r\n        setAllCategories({\r\n          LevelOne: levelOneWithProducts,\r\n          LevelTwo: levelTwoWithProducts,\r\n          LevelThree: levelThreeWithProducts,\r\n        });\r\n        setLevelOneCategories(levelOneWithProducts);\r\n        setLevelTwoCategories(levelTwoWithProducts);\r\n        setLevelThreeCategories(levelThreeWithProducts);\r\n        setProducts(categoryProductsMap);\r\n\r\n        MatomoTrackRequest(\r\n          'Hjälpmedelsväljaren',\r\n          '1 ' + MunicipalityTitle,\r\n          Municipalities.find((x) => x.Id === municipalityId)?.Name,\r\n          levelOneWithProducts.length\r\n        );\r\n      })\r\n      .catch((err) => {\r\n        console.error(err);\r\n        setError('Kunde inte hämta kategorier. Försök igen senare.');\r\n      })\r\n      .finally(() => {\r\n        setLoading(false);\r\n        setDataFetched(true);\r\n      });\r\n  }, [municipalityId]);\r\n\r\n  return {\r\n    allCategories,\r\n    levelOneCategories,\r\n    levelTwoCategories,\r\n    levelThreeCategories,\r\n    products,\r\n    loading,\r\n    error,\r\n    dataFetched,\r\n    showProducts,\r\n    displayedProducts,\r\n    shouldShowAllProducts,\r\n\r\n    setAllCategories,\r\n    setLevelOneCategories,\r\n    setLevelTwoCategories,\r\n    setLevelThreeCategories,\r\n    setShowProducts,\r\n    setShouldShowAllProducts,\r\n    setDisplayedProducts,\r\n    setProducts,\r\n    setLoading,\r\n    setError,\r\n    setDataFetched,\r\n  };\r\n}\r\n","export const getProductsForCategoryLevels = (\r\n  categories,\r\n  categoryLevel,\r\n  allCategories,\r\n  products\r\n) => {\r\n  if (categoryLevel === 3) {\r\n    const levelThreeCategoryIds = categories.map((category) => category.Id);\r\n    return levelThreeCategoryIds.flatMap(\r\n      (categoryId) => products[categoryId] || []\r\n    );\r\n  }\r\n\r\n  if (categoryLevel === 2) {\r\n    const levelTwoCategoryIds = categories.map((category) => category.Id);\r\n\r\n    const levelThreeCategories = allCategories.LevelThree.filter((category) =>\r\n      levelTwoCategoryIds.includes(category.ParentCategoryId)\r\n    );\r\n    const levelThreeCategoryIds = levelThreeCategories.map(\r\n      (category) => category.Id\r\n    );\r\n\r\n    return levelThreeCategoryIds.flatMap(\r\n      (categoryId) => products[categoryId] || []\r\n    );\r\n  }\r\n\r\n  if (categoryLevel === 1) {\r\n    const levelOneCategoryIds = categories.map((category) => category.Id);\r\n\r\n    const levelTwoCategories = allCategories.LevelTwo.filter((category) =>\r\n      levelOneCategoryIds.includes(category.ParentCategoryId)\r\n    );\r\n    const levelTwoCategoryIds = levelTwoCategories.map(\r\n      (category) => category.Id\r\n    );\r\n\r\n    const levelThreeCategories = allCategories.LevelThree.filter((category) =>\r\n      levelTwoCategoryIds.includes(category.ParentCategoryId)\r\n    );\r\n    const levelThreeCategoryIds = levelThreeCategories.map(\r\n      (category) => category.Id\r\n    );\r\n\r\n    return levelThreeCategoryIds.flatMap(\r\n      (categoryId) => products[categoryId] || []\r\n    );\r\n  }\r\n\r\n  return [];\r\n};\r\n\r\nexport const getLevelOneCategory = (categoryId, allCategories) => {\r\n  const levelThreeCategory = allCategories.LevelThree.find(\r\n    (category) => category.Id === categoryId\r\n  );\r\n\r\n  const levelTwoCategoryId = levelThreeCategory?.ParentCategoryId;\r\n  if (levelTwoCategoryId) {\r\n    const levelTwoCategory = allCategories.LevelTwo.find(\r\n      (category) => category.Id === levelTwoCategoryId\r\n    );\r\n\r\n    const levelOneCategoryId = levelTwoCategory?.ParentCategoryId;\r\n    return allCategories.LevelOne.find(\r\n      (category) => category.Id === levelOneCategoryId\r\n    );\r\n  }\r\n\r\n  const levelTwoCategory = allCategories.LevelTwo.find(\r\n    (category) => category.Id === categoryId\r\n  );\r\n\r\n  const levelOneCategoryId = levelTwoCategory?.ParentCategoryId;\r\n  return allCategories.LevelOne.find(\r\n    (category) => category.Id === levelOneCategoryId\r\n  );\r\n};\r\n","import React from 'react';\r\nimport Image from '../../platformui/Image';\r\nimport Section from './../../platformui/Section/index';\r\n\r\nconst iconMap = {\r\n  INBOX: 'lasa-och-svara-på-meddelanden.svg',\r\n  JOUR: 'lasa-journalen.svg',\r\n  APPOINTMENTS: 'se-bokade-tider.svg',\r\n  USERFACILITY: 'fornya-recept.svg',\r\n  INTYG: 'lasa-och-skicka-intyg.svg',\r\n  STARTPAGE: 'visa-fler-tjanster.svg',\r\n  PEPHEMTEST: 'bestall-klamydiatest.svg',\r\n  SCHEDULING: 'boka-tid.svg',\r\n  FORMSCHEDULING: 'boka-tid.svg',\r\n  VACCIN08: 'vaccination.svg',\r\n  VACCIN19: 'vaccination.svg',\r\n  KLAGOMALMOTTGNG: 'lamna-synpunkter-och-klagomal.svg',\r\n  HKS: 'visa-mitt-hogkostnadsskydd.svg',\r\n  HJV18: 'hitta-vard.svg',\r\n  SBH03: '1177-direkt.svg',\r\n  SBH04: 'sok-vard-digitalt.svg',\r\n  SBH06: '1177-direkt.svg',\r\n  SBH07: '1177-direkt.svg',\r\n  SBH08: '1177-direkt.svg',\r\n  SBH19: '1177-direkt.svg',\r\n  SBH20: '1177-direkt.svg',\r\n  SBH22: '1177-direkt.svg',\r\n  SBH24: '1177-direkt.svg',\r\n  SBH25: 'sok-vard-digitalt.svg',\r\n  SBHUM04: 'sok-vard-digitalt.svg',\r\n  FALLBACK: 'fallback.svg',\r\n};\r\n\r\nconst InfoPortal = (props) => {\r\n  const fallback = 'FALLBACK';\r\n  const validateMapping = (serviceTypeCode) => {\r\n    try {\r\n      const ret = require(`./infoportal-icons/${findImage(serviceTypeCode)}`);\r\n      return ret.includes('svg');\r\n    } catch (err) {\r\n      return false;\r\n    }\r\n  };\r\n\r\n  const findImage = (serviceTypeCode) => {\r\n    return iconMap[serviceTypeCode] || iconMap['FALLBACK'];\r\n  };\r\n  return (\r\n    <>\r\n      {props.InfoPortalValues &&\r\n        props.InfoPortalValues.length > 0 &&\r\n        (props.UseInfoPortalIconAdmin ? (\r\n          <Section customClass=\"no-padding\">\r\n            <div className=\"info-portal-container\">\r\n              {props.Header && (\r\n                <h1 className=\"info-portal-container__header\">\r\n                  {props.Header}\r\n                </h1>\r\n              )}\r\n\r\n              <ul\r\n                aria-label=\"Snabbingångar för e tjänster.\"\r\n                aria-live=\"polite\"\r\n                className=\"info-portal-container__list\"\r\n              >\r\n                {props.InfoPortalValues.map((item, index) => (\r\n                  <li key={index} className=\"info-portal-container__list__item\">\r\n                    <a\r\n                      id={item?.ServiceTypeCode}\r\n                      data-event-category={item?.ServiceName}\r\n                      data-event-action={item?.ServiceDescription}\r\n                      data-event-name={item?.ServiceUrl}\r\n                      href={item?.ServiceUrl}\r\n                      className=\"info-portal-container__list__item__button\"\r\n                    >\r\n                      <Image\r\n                        includeTracking={true}\r\n                        ImageUrl={\r\n                          item?.IconPath ? item.IconPath : props.FallbackIcon\r\n                        }\r\n                        Alt={item?.ServiceDescription}\r\n                        className=\"info-portal-container__list__item__button__img\"\r\n                      />\r\n                      <span\r\n                        data-event-include\r\n                        className=\"info-portal-container__list__item__button__text\"\r\n                      >\r\n                        {item?.ServiceName}\r\n                      </span>\r\n                    </a>\r\n                  </li>\r\n                ))}\r\n              </ul>\r\n            </div>\r\n          </Section>\r\n        ) : (\r\n          <Section customClass=\"no-padding\">\r\n            <div className=\"info-portal-container\">\r\n              {props.Header && (\r\n                <h1 className=\"info-portal-container__header\">\r\n                  {props.Header}\r\n                </h1>\r\n              )}\r\n\r\n              <ul\r\n                aria-label=\"Snabbingångar för e tjänster.\"\r\n                aria-live=\"polite\"\r\n                className=\"info-portal-container__list\"\r\n              >\r\n                {props.InfoPortalValues.map((item, index) => (\r\n                  <li key={index} className=\"info-portal-container__list__item\">\r\n                    <a\r\n                      id={item?.ServiceTypeCode}\r\n                      data-event-category={item?.ServiceName}\r\n                      data-event-action={item?.ServiceDescription}\r\n                      data-event-name={item?.ServiceUrl}\r\n                      href={item?.ServiceUrl}\r\n                      className=\"info-portal-container__list__item__button\"\r\n                    >\r\n                      {validateMapping(item?.ServiceTypeCode) ? (\r\n                        <Image\r\n                          includeTracking={true}\r\n                          ImageUrl={require(`./infoportal-icons/${findImage(\r\n                            item?.ServiceTypeCode\r\n                          )}`)}\r\n                          Alt={item?.ServiceDescription}\r\n                          className=\"info-portal-container__list__item__button__img\"\r\n                        />\r\n                      ) : validateMapping(fallback) ? (\r\n                        <Image\r\n                          includeTracking={true}\r\n                          ImageUrl={require(`./infoportal-icons/${findImage(\r\n                            fallback\r\n                          )}`)}\r\n                          Alt={item?.ServiceDescription}\r\n                          className=\"info-portal-container__list__item__button__img\"\r\n                        />\r\n                      ) : (\r\n                        <></>\r\n                      )}\r\n                      <span\r\n                        data-event-include\r\n                        className=\"info-portal-container__list__item__button__text\"\r\n                      >\r\n                        {item?.ServiceName}\r\n                      </span>\r\n                    </a>\r\n                  </li>\r\n                ))}\r\n              </ul>\r\n            </div>\r\n          </Section>\r\n        ))}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default InfoPortal;\r\n","import React from 'react';\r\nimport PregnancyForm from './pregnancy-form';\r\nimport Section from '../../platformui/Section';\r\n\r\nconst Pregnancy = (props) => {\r\n  return (\r\n    <Section>\r\n      <PregnancyForm {...props} />\r\n    </Section>\r\n  );\r\n};\r\n\r\nexport default Pregnancy;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport queryString from 'qs';\r\nimport classNames from 'classnames';\r\nimport DatePicker from 'react-date-picker/dist/entry.nostyle'; //styles imported in app.scss\r\nimport { Forms } from '../../../platformui';\r\nimport * as Api from '../../../platformui/Api';\r\nimport PregnancyResult from '../pregnancy-result';\r\nimport Modal from '../../../platformui/Modal';\r\nimport {\r\n  OpenModalButton,\r\n  ModalPanel,\r\n  CloseModalButton,\r\n} from '../../../platformui/Modal';\r\n\r\nconst PregnancyForm = (props) => {\r\n  const [mainState, setMainState] = useState({\r\n    isLoading: false,\r\n    date: new Date(),\r\n    week: null,\r\n    answerText: '',\r\n    lastDay: true,\r\n    birthDay: false,\r\n  });\r\n\r\n  const inputSelectedHandler = () => {\r\n    setMainState({\r\n      ...mainState,\r\n\r\n      lastDay: !mainState.lastDay,\r\n      birthDay: !mainState.birthDay,\r\n    });\r\n  };\r\n\r\n  const getWeekHandler = (e) => {\r\n    e.preventDefault();\r\n\r\n    const isFirstDaySelected = e.target.querySelector(\r\n      'input[name=\"firstDay\"]:checked'\r\n    ).value;\r\n\r\n    const pregnancyData = {\r\n      firstDay: isFirstDaySelected,\r\n      date: e.target.querySelector('input[name=\"date\"]').value,\r\n    };\r\n\r\n    const qs = queryString.stringify(pregnancyData);\r\n\r\n    props.history.push({\r\n      search: `?${qs}`,\r\n    });\r\n  };\r\n\r\n  const doSearch = (query) => {\r\n    const API_END_POINT = '/api/pregnancy/calculate';\r\n\r\n    Api.search(API_END_POINT + query)\r\n      .then((response) => response.json())\r\n      .then((data) => {\r\n        setMainState({ ...mainState, week: data.week });\r\n      });\r\n  };\r\n\r\n  const changeDateHandler = (date) => {\r\n    setMainState({ ...mainState, date: date });\r\n  };\r\n\r\n  useEffect(() => {\r\n    const qs = queryString.parse(props.location.search.slice(1));\r\n    if (qs.firstDay && qs.date) doSearch(props.location.search);\r\n  }, [props.location.search]);\r\n\r\n  const { date, week, lastDay, birthDay } = mainState;\r\n\r\n  let maxDate;\r\n  if (lastDay) {\r\n    maxDate = new Date();\r\n  } else {\r\n    maxDate = new Date();\r\n    maxDate.setDate(maxDate.getDay() + 300);\r\n  }\r\n\r\n  let minDate;\r\n  if (birthDay) {\r\n    minDate = new Date();\r\n    minDate.setDate(minDate.getDay() + 6);\r\n  } else {\r\n    minDate = new Date();\r\n    minDate.setDate(minDate.getDay() - 274);\r\n  }\r\n\r\n  return (\r\n    <div className=\"pregnancy-form\">\r\n      <div className=\"pregnancy-form__top-border\" />\r\n      <header className=\"pregnancy-form__header\">\r\n        <Modal>\r\n          <div className=\"pregnancy-form__header__container\">\r\n            <h3 className=\"pregnancy-form__header__heading\">{props.Heading}</h3>\r\n            <OpenModalButton\r\n              open={'pregnancy-form__tooltip'}\r\n              id={'pregnancy-form__tooltip'}\r\n              className={'pregnancy-form__modal-open'}\r\n            >\r\n              <span>{props.Translations.infobutton}</span>\r\n              <span />\r\n            </OpenModalButton>\r\n          </div>\r\n          <ModalPanel whenActive={'pregnancy-form__tooltip'}>\r\n            <div className={'pregnancy-form__modal-panel'}>\r\n              <CloseModalButton\r\n                id={'pregnancy-form__tooltip'}\r\n                className={'pregnancy-form__modal-close'}\r\n              >\r\n                <span className=\"show-for-sr\">Stäng</span>\r\n              </CloseModalButton>\r\n              <div className=\"pregnancy-form__modal-panel__content\">\r\n                <h4>{props.InfoHeading}</h4>\r\n                <div\r\n                  className=\"pregnancy-form__modal-panel__description\"\r\n                  dangerouslySetInnerHTML={{ __html: props.InfoText }}\r\n                />\r\n              </div>\r\n            </div>\r\n          </ModalPanel>\r\n        </Modal>\r\n      </header>\r\n      <form\r\n        className={classNames({\r\n          'pregnancy-form__form': true,\r\n          'pregnancy-form__form--week-is-shown': week,\r\n        })}\r\n        noValidate={false}\r\n        method=\"get\"\r\n        onSubmit={(e) => getWeekHandler(e)}\r\n      >\r\n        <fieldset>\r\n          <ul\r\n            className=\"pregnancy-form__radios-list\"\r\n            aria-label=\"pregnancy calculator options\"\r\n            role=\"radiogroup\"\r\n          >\r\n            <li className=\"pregnancy-form__radios-list__item\">\r\n              <Forms.Radio>\r\n                <input\r\n                  className=\"pregnancy-form__radio\"\r\n                  type=\"radio\"\r\n                  name=\"firstDay\"\r\n                  value=\"true\"\r\n                  id=\"last-day\"\r\n                  tabIndex=\"0\"\r\n                  checked={lastDay}\r\n                  onChange={inputSelectedHandler}\r\n                />\r\n              </Forms.Radio>\r\n              <Forms.Label\r\n                className=\"pregnancy-form__label\"\r\n                label={props.Translations.firstdaybutton}\r\n                htmlFor=\"last-day\"\r\n              />\r\n            </li>\r\n            <li className=\"pregnancy-form__radios-list__item\">\r\n              <Forms.Radio>\r\n                <input\r\n                  className=\"pregnancy-form__radio\"\r\n                  type=\"radio\"\r\n                  name=\"firstDay\"\r\n                  value=\"false\"\r\n                  id=\"birth-day\"\r\n                  tabIndex=\"0\"\r\n                  checked={birthDay}\r\n                  onChange={inputSelectedHandler}\r\n                />\r\n              </Forms.Radio>\r\n              <Forms.Label\r\n                className=\"pregnancy-form__label\"\r\n                label={props.Translations.birthdaybutton}\r\n                htmlFor=\"birth-day\"\r\n              />\r\n            </li>\r\n          </ul>\r\n        </fieldset>\r\n        <div className=\"pregnancy-form__date-picker__container\">\r\n          <span>{props.Translations.date}:</span>\r\n          <DatePicker\r\n            className={'pregnancy-form__date-picker'}\r\n            calendarAriaLabel={'Knapp för kalender'}\r\n            nativeInputAriaLabel={'Datum'}\r\n            yearAriaLabel={'År'}\r\n            monthAriaLabel={'Månad'}\r\n            dayAriaLabel={'Dag'}\r\n            id=\"pregnancy-date-picker\"\r\n            onChange={changeDateHandler}\r\n            value={date}\r\n            locale=\"sv\"\r\n            minDate={minDate}\r\n            maxDate={maxDate}\r\n            showLeadingZeros={true}\r\n            clearIcon={null}\r\n          />\r\n        </div>\r\n\r\n        <button className=\"pregnancy-form__button\" type=\"submit\">\r\n          {props.Translations.submitbutton}\r\n        </button>\r\n      </form>\r\n      {week && (\r\n        <PregnancyResult\r\n          week={week}\r\n          answerText={mainState.answerText}\r\n          {...props}\r\n          input={lastDay}\r\n        />\r\n      )}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default withRouter(PregnancyForm);\r\n","import React from 'react';\r\n\r\nconst PregnancyResult = (props) => {\r\n  let weekResultText = '';\r\n  let showAnswerText = true;\r\n\r\n  if (props.input && props.week >= 44) {\r\n    weekResultText = props.Translations.notvalideither;\r\n    showAnswerText = false;\r\n  } else if (!props.input && props.week >= 44) {\r\n    weekResultText = props.Translations.notvalid;\r\n    showAnswerText = false;\r\n  } else {\r\n    weekResultText = `${props.Translations.week} ${props.week}`;\r\n    showAnswerText = true;\r\n  }\r\n\r\n  return (\r\n    <div className=\"pregnancy-result\">\r\n      <h3 className=\"pregnancy-result__result-heading\">{weekResultText}</h3>\r\n      <div className=\"pregnancy-result__text-content\">\r\n        {showAnswerText && <span>{props.AnswerText}</span>}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default PregnancyResult;\r\n","import React from 'react';\r\nimport * as Render from '../../platformui/Base/Render';\r\nimport { LazyLoadImage } from '../../platformui/Image';\r\nimport Linklist from '../../platformui/Linklist';\r\nimport LinkButton from '../../platformui/Buttons/LinkButton';\r\n\r\nconst SubjectIntro = ({ ...props }) => {\r\n  const hyphen = props.SubjectHeading && props.Heading ? ' – ' : '';\r\n\r\n  return (\r\n    <div className=\"subject-intro\">\r\n      <div className=\"row expanded small-collapse medium-collapse large-collapse\">\r\n        <div className=\"large-12 columns container-flex\">\r\n          <div className=\"subject-intro__image-container__wrapper\">\r\n            <div className=\"subject-intro__image-container\">\r\n              <Render.Block\r\n                blocks={props.Image}\r\n                propertyName=\"Image\"\r\n                currentPageProps={props.CurrentPageProps}\r\n              >\r\n                <LazyLoadImage\r\n                  className=\"subject-intro__img\"\r\n                  isBackgroundImage={true}\r\n                  Sizes={{\r\n                    sizes:\r\n                      '(max-width: 1024px) 100vw, (max-width: 1199px) 600px, (max-width: 1899px) 75vw, (min-width: 1900px) 1000px, 100vw',\r\n                  }}\r\n                />\r\n              </Render.Block>\r\n              <div className=\"subject-intro__image-container--overlay\" />\r\n            </div>\r\n          </div>\r\n          <div className=\"subject-intro__text\">\r\n            <div className=\"row expanded small-collapse medium-collapse large-collapse\">\r\n              <div className=\"small-12 medium-12 medium-centered large-12 columns\">\r\n                <div className=\"subject-intro__text__content\">\r\n                  {(props.SubjectHeading || props.Heading) && (\r\n                    <header>\r\n                      <h1\r\n                        className=\"subject-intro__subject-heading\"\r\n                        aria-label={`${props.SubjectHeading}${hyphen}${props.Heading}`.trim()}\r\n                      >\r\n                        {props.SubjectHeading}\r\n                        <span>\r\n                          {hyphen}\r\n                          {props.Heading}\r\n                        </span>\r\n                      </h1>\r\n                    </header>\r\n                  )}\r\n                  {props.Preamble && (\r\n                    <div className=\"subject-intro__preamble\">\r\n                      {props.Preamble}\r\n                    </div>\r\n                  )}\r\n                  {props.Buttons ? (\r\n                    <div className=\"subject-intro__button-container\">\r\n                      {props.Buttons.map((button, index) => (\r\n                        <LinkButton\r\n                          key={index}\r\n                          link={button.ButtonLink}\r\n                          linkText={button.ButtonText}\r\n                          buttonClass={`subject-intro__button-container__button-${button.ButtonStyling}`}\r\n                        />\r\n                      ))}\r\n                    </div>\r\n                  ) : (\r\n                    <Linklist\r\n                      className=\"subject-intro-linklist\"\r\n                      Links={props.Links}\r\n                    />\r\n                  )}\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default SubjectIntro;\r\n","import React from 'react';\r\nimport * as Render from '../Base/Render';\r\nimport classNames from 'classnames';\r\n\r\nconst CollectionChapterContainer = (props) => {\r\n  const cssNames = classNames({\r\n    'c-chapter-container-collection': true,\r\n    'c-chapter-container-collection--is-nav': props.isNav && props.AnchorSectionId,\r\n  });\r\n\r\n  return (\r\n    <section className='c-section c-section--chapter-container'>\r\n      <div\r\n        className={cssNames}\r\n        id={!props.isNav ? props.AnchorSectionId : undefined}\r\n      >\r\n        {props.Heading && <h2>{props.Heading}</h2>}\r\n        <Render.Block\r\n          blocks={props.Content}\r\n          propertyName=\"Content\"\r\n          currentPageProps={props.CurrentPageProps}\r\n        >\r\n          <Render.BlockTypeRenderer\r\n            isH3={props.Heading}\r\n            isMemberOfChapterContainer={true}\r\n            Blocks={props.Blocks}\r\n          />\r\n        </Render.Block>\r\n      </div>\r\n    </section>\r\n  );\r\n};\r\n\r\nexport default CollectionChapterContainer;\r\n","import qs from 'qs';\r\nimport { useEffect } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom/cjs/react-router-dom';\r\n\r\nconst getFirstValue = (value) => (Array.isArray(value) ? value[0] : value);\r\n\r\n/**\r\n * Custom hook to clean URL query parameters.\r\n *\r\n * @param {string[]} allowedKeys - Array of keys which are allowed to remain in the query string.\r\n */\r\nexport const useCleanUrlParams = (allowedKeys = []) => {\r\n  const history = useHistory();\r\n  const location = useLocation();\r\n\r\n  useEffect(() => {\r\n    const queryString = qs.parse(location.search, {\r\n      ignoreQueryPrefix: true,\r\n      indices: false,\r\n    });\r\n\r\n    const cleanedQuery = Object.fromEntries(\r\n      allowedKeys\r\n        .map((key) => [key, getFirstValue(queryString[key])])\r\n        .filter(([, value]) => value != null && value !== '')\r\n    );\r\n\r\n    const newSearch = qs.stringify(cleanedQuery, {\r\n      ignoreQueryPrefix: true,\r\n      indices: false,\r\n    });\r\n\r\n    const oldSearch = qs.stringify(\r\n      qs.parse(location.search, { ignoreQueryPrefix: true, indices: false }),\r\n      {\r\n        ignoreQueryPrefix: true,\r\n        indices: false,\r\n      }\r\n    );\r\n\r\n    if (newSearch !== oldSearch) {\r\n      history.replace(`${location.pathname}?${newSearch}`);\r\n    }\r\n  }, [location.search, location.pathname, allowedKeys]);\r\n};\r\n","import AdjustableLinkBlock from '../AdjustableLinkBlock';\r\nexport default AdjustableLinkBlock;\r\n","/**\r\n * @param {string} eventCategory - The category of the tracked event.\r\n * @param {string} eventAction - The action associated with the event.\r\n * @param {string} eventName - The name of the event.\r\n * @param {number} eventValue - The value to track (e.g., an index).\r\n */\r\n\r\nconst MatomoTrackRequest = (\r\n  eventCategory,\r\n  eventAction,\r\n  eventName,\r\n  eventValue\r\n) => {\r\n  var _mtm = (window._mtm = window?._mtm || []);\r\n  eventCategory = eventCategory || window?.location?.href;\r\n  eventAction = eventAction || 'TrackAction';\r\n\r\n  _mtm.push({\r\n    event: 'clickEvent',\r\n    eventCategory,\r\n    eventAction,\r\n    eventName,\r\n    eventValue,\r\n  });\r\n};\r\nexport default MatomoTrackRequest;\r\n","import React from 'react';\r\nimport { Render } from '../../platformui';\r\nimport classNames from 'classnames';\r\nimport SemanticHeader from '../Chapter/semantic-header';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\n/**\r\n * @typedef LinkProps\r\n * @property {string | null} url\r\n * @property {string | null} [linkText]\r\n */\r\n\r\n/**\r\n *\r\n * @param {LinkProps} props\r\n * @returns\r\n */\r\nconst Link = ({ url = null, linkText = null }) => {\r\n  const href = useWindowLocationHref();\r\n  if (url === null) {\r\n    return null;\r\n  }\r\n\r\n  return (\r\n    <a\r\n      data-event-category={href || 'novalue'}\r\n      data-event-action={linkText}\r\n      data-event-name=\"Länk i filmblocksbehållare\"\r\n      className=\"c-video-container__textarea__link\"\r\n      href={url}\r\n    >\r\n      <span data-event-include>{linkText ? linkText : 'Till artikeln'}</span>\r\n    </a>\r\n  );\r\n};\r\n\r\n/**\r\n * @typedef VideoContainerProps\r\n * @property {string} [className]\r\n * @property {object} CurrentPageProps\r\n * @property {string} Description\r\n * @property {boolean} [DisableVideoBlockText]\r\n * @property {string | null} [Heading]\r\n * @property {unknown} [isH3]\r\n * @property {boolean} [isMemberOfChapterContainer]\r\n * @property {string | null} [LinkText]\r\n * @property {object | null} MainContent\r\n * @property {string | null} [Url]\r\n */\r\n\r\n/**\r\n *\r\n * @param {VideoContainerProps} props\r\n * @returns\r\n */\r\nconst VideoContainer = (props) => {\r\n  const {\r\n    className = null,\r\n    CurrentPageProps = {},\r\n    Description,\r\n    Heading = null,\r\n    isMemberOfChapterContainer = false,\r\n    LinkText = null,\r\n    MainContent = null,\r\n    Url = null,\r\n  } = props;\r\n\r\n  const isStartPage = CurrentPageProps.PageTypeName === 'StartPage';\r\n  const isCollectionPage = CurrentPageProps.PageTypeName === 'CollectionPage';\r\n  const isStandaloneCollectionPage =\r\n    isCollectionPage && !isMemberOfChapterContainer;\r\n\r\n  const firstVideo = MainContent?.[0] || null;\r\n  const isStandingVideo = firstVideo?.IsStandingVideo || false;\r\n\r\n  const containerClasses = classNames(\r\n    {\r\n      'c-video-container': true,\r\n      'c-video-container--standing': isStandingVideo,\r\n    },\r\n    className\r\n  );\r\n\r\n  const videContainerElement = (\r\n    <div className={containerClasses}>\r\n      <div className=\"c-video-container__block\">\r\n        {MainContent && (\r\n          <Render.Block\r\n            blocks={MainContent}\r\n            currentPageProps={{\r\n              ...CurrentPageProps,\r\n              DisableVideoBlockText: true,\r\n            }}\r\n          >\r\n            <Render.BlockTypeRenderer Blocks={props.Blocks} />\r\n          </Render.Block>\r\n        )}\r\n        <div className=\"c-video-container__textarea\">\r\n          <SemanticHeader\r\n            isH3={props.isH3 || false}\r\n            className=\"c-video-container__textarea__heading\"\r\n          >\r\n            {Heading ? Heading : firstVideo?.Heading}\r\n          </SemanticHeader>\r\n          <p className=\"c-video-container__textarea__description\">\r\n            {Description}\r\n          </p>\r\n          <Link url={Url} linkText={LinkText} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n\r\n  if (isStartPage || isStandaloneCollectionPage) {\r\n    const wrapperClasses = classNames({\r\n      'c-video-container-wrapper': true,\r\n      'c-video-container-wrapper--start-page': isStartPage,\r\n      'c-video-container-wrapper--collection-page-standalone':\r\n        isStandaloneCollectionPage,\r\n    });\r\n\r\n    return (\r\n      <section className=\"c-section\">\r\n        <div className={wrapperClasses}>{videContainerElement}</div>\r\n      </section>\r\n    );\r\n  }\r\n\r\n  return videContainerElement;\r\n};\r\n\r\nexport default VideoContainer;\r\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  BrowserRouter.propTypes = {\n    basename: PropTypes.string,\n    children: PropTypes.node,\n    forceRefresh: PropTypes.bool,\n    getUserConfirmation: PropTypes.func,\n    keyLength: PropTypes.number\n  };\n\n  BrowserRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n    );\n  };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  HashRouter.propTypes = {\n    basename: PropTypes.string,\n    children: PropTypes.node,\n    getUserConfirmation: PropTypes.func,\n    hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n  };\n\n  HashRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<HashRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n    );\n  };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n  typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n  return typeof to === \"string\"\n    ? createLocation(to, null, null, currentLocation)\n    : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n  resolveToLocation,\n  normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n  forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n  (\n    {\n      innerRef, // TODO: deprecate\n      navigate,\n      onClick,\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    const { target } = rest;\n\n    let props = {\n      ...rest,\n      onClick: event => {\n        try {\n          if (onClick) onClick(event);\n        } catch (ex) {\n          event.preventDefault();\n          throw ex;\n        }\n\n        if (\n          !event.defaultPrevented && // onClick prevented default\n          event.button === 0 && // ignore everything but left clicks\n          (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n          !isModifiedEvent(event) // ignore clicks with modifier keys\n        ) {\n          event.preventDefault();\n          navigate();\n        }\n      }\n    };\n\n    // React 15 compat\n    if (forwardRefShim !== forwardRef) {\n      props.ref = forwardedRef || innerRef;\n    } else {\n      props.ref = innerRef;\n    }\n\n    /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n    return <a {...props} />;\n  }\n);\n\nif (__DEV__) {\n  LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n  (\n    {\n      component = LinkAnchor,\n      replace,\n      to,\n      innerRef, // TODO: deprecate\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Link> outside a <Router>\");\n\n          const { history } = context;\n\n          const location = normalizeToLocation(\n            resolveToLocation(to, context.location),\n            context.location\n          );\n\n          const href = location ? history.createHref(location) : \"\";\n          const props = {\n            ...rest,\n            href,\n            navigate() {\n              const location = resolveToLocation(to, context.location);\n              const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n              const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n              method(location);\n            }\n          };\n\n          // React 15 compat\n          if (forwardRefShim !== forwardRef) {\n            props.ref = forwardedRef || innerRef;\n          } else {\n            props.innerRef = innerRef;\n          }\n\n          return React.createElement(component, props);\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n);\n\nif (__DEV__) {\n  const toType = PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.object,\n    PropTypes.func\n  ]);\n  const refType = PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.any })\n  ]);\n\n  Link.displayName = \"Link\";\n\n  Link.propTypes = {\n    innerRef: refType,\n    onClick: PropTypes.func,\n    replace: PropTypes.bool,\n    target: PropTypes.string,\n    to: toType.isRequired\n  };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n  resolveToLocation,\n  normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n  forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n  return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n  (\n    {\n      \"aria-current\": ariaCurrent = \"page\",\n      activeClassName = \"active\", // TODO: deprecate\n      activeStyle, // TODO: deprecate\n      className: classNameProp,\n      exact,\n      isActive: isActiveProp,\n      location: locationProp,\n      sensitive,\n      strict,\n      style: styleProp,\n      to,\n      innerRef, // TODO: deprecate\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n          const currentLocation = locationProp || context.location;\n          const toLocation = normalizeToLocation(\n            resolveToLocation(to, currentLocation),\n            currentLocation\n          );\n          const { pathname: path } = toLocation;\n          // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n          const escapedPath =\n            path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n          const match = escapedPath\n            ? matchPath(currentLocation.pathname, {\n                path: escapedPath,\n                exact,\n                sensitive,\n                strict\n              })\n            : null;\n          const isActive = !!(isActiveProp\n            ? isActiveProp(match, currentLocation)\n            : match);\n\n          let className =\n            typeof classNameProp === \"function\"\n              ? classNameProp(isActive)\n              : classNameProp;\n\n          let style =\n            typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n          if (isActive) {\n            className = joinClassnames(className, activeClassName);\n            style = { ...style, ...activeStyle };\n          }\n\n          const props = {\n            \"aria-current\": (isActive && ariaCurrent) || null,\n            className,\n            style,\n            to: toLocation,\n            ...rest\n          };\n\n          // React 15 compat\n          if (forwardRefShim !== forwardRef) {\n            props.ref = forwardedRef || innerRef;\n          } else {\n            props.innerRef = innerRef;\n          }\n\n          return <Link {...props} />;\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n);\n\nif (__DEV__) {\n  NavLink.displayName = \"NavLink\";\n\n  const ariaCurrentType = PropTypes.oneOf([\n    \"page\",\n    \"step\",\n    \"location\",\n    \"date\",\n    \"time\",\n    \"true\",\n    \"false\"\n  ]);\n\n  NavLink.propTypes = {\n    ...Link.propTypes,\n    \"aria-current\": ariaCurrentType,\n    activeClassName: PropTypes.string,\n    activeStyle: PropTypes.object,\n    className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    exact: PropTypes.bool,\n    isActive: PropTypes.func,\n    location: PropTypes.object,\n    sensitive: PropTypes.bool,\n    strict: PropTypes.bool,\n    style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n  };\n}\n\nexport default NavLink;\n","'use strict';\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n    if (condition) {\n        return;\n    }\n    if (isProduction) {\n        throw new Error(prefix);\n    }\n    var provided = typeof message === 'function' ? message() : message;\n    var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n    throw new Error(value);\n}\n\nmodule.exports = invariant;\n","var map = {\n\t\"./1177-direkt.svg\": 15794,\n\t\"./bestall-klamydiatest.svg\": 18182,\n\t\"./boka-tid.svg\": 23353,\n\t\"./fallback.svg\": 78558,\n\t\"./fornya-recept.svg\": 86339,\n\t\"./hitta-vard.svg\": 32290,\n\t\"./lamna-synpunkter-och-klagomal.svg\": 23795,\n\t\"./lasa-journalen.svg\": 41222,\n\t\"./lasa-och-skicka-intyg.svg\": 17415,\n\t\"./lasa-och-svara-på-meddelanden.svg\": 67290,\n\t\"./se-bokade-tider.svg\": 38548,\n\t\"./sok-vard-digitalt.svg\": 8532,\n\t\"./vaccination.svg\": 88583,\n\t\"./visa-fler-tjanster.svg\": 70363,\n\t\"./visa-mitt-hogkostnadsskydd.svg\": 40759\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 80649;","function _objectDestructuringEmpty(t) {\n  if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };"],"names":["isInRange","withAnchorNavTrigger","props","_jsx","CollectionChapterContainer","_objectSpread","FindAid","InfoPortal","Intro","Heading","Render","Preamble","Blocks","SubjectIntroBlock","blocks","Content","propertyName","currentPageProps","children","Teaser","UseListToggler","PregnancyBlock","MediaGalleryImage","MediaGalleryVideo","SubjectIntro","SubjectHeading","SurveyEntry","CurrentPageProps","VideoContainer","DisableVideoBlockText","FindAidApi","async","apiEndpoint","requestBody","response","fetch","method","headers","Allow","body","JSON","stringify","ok","Error","concat","status","json","error","message","fetchProductsForCategory","categories","selectedMunicipalityId","CategoryIds","MunicipalityId","items","console","withRouter","_ref","AidCategoryTypeTitle","AidSubCategoryTypeTitle","AidTypeTitle","Municipalities","MunicipalityLinkText","MunicipalityInformation","MunicipalityTitle","ProductListTitle","Title","ProductPageReference","history","location","displayedCategoryName","setDisplayedCategoryName","useState","activeCategory","setActiveCategory","selectedLevelOneCategory","setSelectedLevelOneCategory","selectedLevelTwoCategory","setSelectedLevelTwoCategory","allowedKeys","useMemo","useCleanUrlParams","allCategories","levelOneCategories","levelTwoCategories","levelThreeCategories","products","loading","dataFetched","displayedProducts","showProducts","shouldShowAllProducts","setError","setLoading","setShowProducts","setDisplayedProducts","setShouldShowAllProducts","setLevelTwoCategories","setLevelThreeCategories","useFetchFindAid","levelOneShowAllInputRef","useRef","levelTwoInputRef","prevQueryRef","isMedium","isMediumViewport","updateSearchParams","_ref2","updates","deletions","currentQuery","qs","search","ignoreQueryPrefix","indices","forEach","key","Object","entries","_ref3","value","newQueryString","push","pathname","queryString","useEffect","_prevQueryRef$current","_prevQueryRef$current2","_prevQueryRef$current3","LevelOne","query","type","levelOneFilter","category","levelTwoFilter","subcategory","levelThreeFilter","_levelOneShowAllInput","current","handleShowAllProductsClick","click","handleLevelOneChange","LevelTwo","handleLevelTwoChange","LevelThree","handleLevelThreeChange","levelOneId","levelTwoItems","filter","ParentCategoryId","length","_allCategories$LevelO","_allCategories$LevelO2","MatomoTrackRequest","find","levelOne","Id","Name","_allCategories$LevelO3","_allCategories$LevelO4","selectedCategoryName","levelTwoId","_allCategories$LevelT","_allCategories$LevelT2","activeLevelOneCategory","getLevelOneCategory","levelTwo","levelThreeItems","_allCategories$LevelT3","_allCategories$LevelT4","_allCategories$LevelT5","_allCategories$LevelT6","x","levelThreeId","_allCategories$LevelT7","_allCategories$LevelT8","productsForCategory","selectedSubCategoryName","levelThree","resetCategoriesBelowLevel","categoryLevel","categoriesToDisplay","_categoriesToDisplay","_Municipalities$find2","levelOneCategoryId","arguments","undefined","levelTwoCategoryId","clickedTopLevelShowAll","productsToDisplay","getProductsForCategoryLevels","values","flat","_Municipalities$find","municipality","mapToTypeaheadList","list","map","item","label","Section","customClass","_jsxs","className","Typeahead","onSelect","selectedItem","defaultValue","Array","isArray","placeholderText","tooltipLinkText","tooltipText","rightAlignedTooltip","_Fragment","htmlFor","id","tabIndex","classNames","active","onClick","setTimeout","_levelTwoInputRef$cur","focus","onKeyDown","e","ref","inputRef","_prevQueryRef$current4","_prevQueryRef$current5","_prevQueryRef$current6","_prevQueryRef$current7","style","position","Spinner","Modifiers","alt","ProductList","productListTitle","productPageUrl","showAllCategories","selectedCategory","visibleProducts","setVisibleProducts","sortedProducts","setSortedProducts","isAscending","setIsAscending","sort","a","b","productName","localeCompare","ascending","toggleSortOrder","newSortOrder","slice","product","index","A","href","productId","mainImage","Image","ImageUrl","imageUrl","Alt","altText","Sizes","scaledProductImages","productType","showMoreProducts","prevVisibleProducts","setAllCategories","setLevelOneCategories","setProducts","setDataFetched","municipalityId","then","_Municipalities$find3","data","levelThreeIds","cat","categoryProductsMap","reduce","acc","catId","classification","categoryId","levelThreeWithProducts","levelTwoWithProducts","some","lvl3","levelOneWithProducts","lvl2","catch","err","finally","flatMap","levelTwoCategoryIds","includes","levelOneCategoryIds","levelThreeCategory","levelTwoCategory","iconMap","INBOX","JOUR","APPOINTMENTS","USERFACILITY","INTYG","STARTPAGE","PEPHEMTEST","SCHEDULING","FORMSCHEDULING","VACCIN08","VACCIN19","KLAGOMALMOTTGNG","HKS","HJV18","SBH03","SBH04","SBH06","SBH07","SBH08","SBH19","SBH20","SBH22","SBH24","SBH25","SBHUM04","FALLBACK","fallback","validateMapping","serviceTypeCode","require","findImage","InfoPortalValues","UseInfoPortalIconAdmin","Header","ServiceTypeCode","ServiceName","ServiceDescription","ServiceUrl","includeTracking","IconPath","FallbackIcon","PregnancyForm","mainState","setMainState","isLoading","date","Date","week","answerText","lastDay","birthDay","inputSelectedHandler","firstDay","Api","maxDate","minDate","setDate","getDay","Modal","OpenModalButton","open","Translations","infobutton","ModalPanel","whenActive","CloseModalButton","InfoHeading","dangerouslySetInnerHTML","__html","InfoText","noValidate","onSubmit","preventDefault","pregnancyData","target","querySelector","getWeekHandler","role","Forms","name","checked","onChange","firstdaybutton","birthdaybutton","DatePicker","calendarAriaLabel","nativeInputAriaLabel","yearAriaLabel","monthAriaLabel","dayAriaLabel","locale","showLeadingZeros","clearIcon","submitbutton","PregnancyResult","input","weekResultText","showAnswerText","notvalideither","notvalid","AnswerText","assign","_objectDestructuringEmpty","hyphen","LazyLoadImage","isBackgroundImage","sizes","trim","Buttons","button","LinkButton","link","ButtonLink","linkText","ButtonText","buttonClass","ButtonStyling","Linklist","Links","cssNames","isNav","AnchorSectionId","isH3","isMemberOfChapterContainer","useHistory","useLocation","cleanedQuery","fromEntries","newSearch","replace","eventCategory","eventAction","eventName","eventValue","_window","_window2","_window2$location","_mtm","window","event","Link","url","useWindowLocationHref","Description","LinkText","MainContent","Url","isStartPage","PageTypeName","isStandaloneCollectionPage","firstVideo","isStandingVideo","IsStandingVideo","containerClasses","videContainerElement","SemanticHeader","wrapperClasses","BrowserRouter","_React$Component","createBrowserHistory","_this","render","React","createElement","reactRouter","Router","this","Component","propTypes","basename","PropTypes","string","node","forceRefresh","bool","getUserConfirmation","func","keyLength","number","prototype","componentDidMount","warning","HashRouter","createHashHistory","hashType","oneOf","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","forwardedRef","innerRef","navigate","_onClick","rest","_objectWithoutPropertiesLoose","_extends","ex","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","displayName","component","_ref2$component","__RouterContext","Consumer","context","invariant","history$1","createHref","isDuplicateNavigation","createPath","toType","oneOfType","object","refType","shape","any","isRequired","forwardRefShim$1","forwardRef$1","NavLink","ariaCurrent","_ref$ariaCurrent","activeClassName","_ref$activeClassName","activeStyle","classNameProp","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","toLocation","path","escapedPath","match","matchPath","classnames","_len","_key","i","join","joinClassnames","ariaCurrentType","prefix","module","exports","condition","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","keys","resolve","t","TypeError"],"sourceRoot":""}