{"version":3,"file":"9049.chunk.380b3974141f5d892ea3.js","mappings":"2cAkBO,MAAMA,EAAyEC,IAClF,MAAM,gBAAEC,EAAe,MAAEC,EAAK,UAAEC,GAAcH,EA4B9C,OACII,EAAAA,cAACC,EAAAA,EAAa,CACVF,UAAWA,EACXG,WAAYJ,EAAMK,KA7B1B,SAA2BC,GAAgE,IAAAC,EAAAC,EACvF,MAAMC,EAAeH,EAAcI,aAC7B,CACIC,KAAMC,EAAAA,EAASC,OACfC,WAAYC,EAAAA,EAAWC,MACvBC,WAAYC,EAAAA,EAAWC,cACvBC,WAAYC,EAAAA,EAAWC,OAE3B,CAAC,EAEP,MAAO,CACHC,cAAerB,EAAAA,cAAA,YAAOI,EAAckB,aACpCC,SACIvB,EAAAA,cAAAA,EAAAA,SAAA,KACKI,EAAcoB,WAAaxB,EAAAA,cAACyB,EAAAA,EAAO,CAACC,KAAMtB,EAAcoB,aAC9B,QAA1BnB,EAAAD,EAAcuB,oBAAY,IAAAtB,OAAA,EAA1BA,EAA4BuB,QAAkC,QAA9BtB,EAAIF,EAAcuB,oBAAY,IAAArB,OAAA,EAA1BA,EAA4BuB,QAC7D7B,EAAAA,cAAA,OAAKD,UCpCC,wBDqCFC,EAAAA,cAAC8B,EAAAA,KAAIC,EAAA,GAAK3B,EAAcuB,aAAkBpB,MAK1DyB,MAAO5B,EAAc6B,GAE7B,IAMQpC,gBAAiBA,GACnB,C,uEElDH,MAAMqC,EAAeA,KACxB,MAAOC,EAAWC,IAAgBC,EAAAA,EAAAA,WAAS,GAM3C,OAJAC,EAAAA,EAAAA,YAAU,KACNF,GAAa,EAAK,GACnB,IAEID,CAAS,C","sources":["webpack://Kristiania.Web/./Features/Blocks/AccordionBlock/AccordionBlock.tsx","webpack://Kristiania.Web/./Features/Blocks/AccordionBlock/AccordionBlock.module.css?59ce","webpack://Kristiania.Web/./Features/Utils/Hooks/useIsMounted.ts"],"sourcesContent":["import * as React from 'react';\nimport type { AccordionItemProps } from '../../Partials/AccordionComponent/AccordionItem';\nimport { AccordionList } from '../../Partials/AccordionComponent/AccordionList';\nimport { ButtonSize } from '../../Partials/Button/ButtonSize.csharp';\nimport { ButtonTier } from '../../Partials/Button/ButtonTier.csharp';\nimport { ButtonType } from '../../Partials/Button/ButtonType.csharp';\nimport { Link } from '../../Partials/Link/Link';\nimport { LinkType } from '../../Partials/Link/LinkType.csharp';\nimport type { AccordionItemBlockViewModel } from '../AccordionItemBlock/AccordionItemBlockViewModel.csharp';\nimport { HtmlDiv } from '~/Partials/Controls/HtmlDiv';\nimport styles from './AccordionBlock.module.css';\n\ninterface AccordionBlockProps {\n items: AccordionItemBlockViewModel[];\n className?: string;\n expandedAreaIds?: string[];\n}\n\nexport const AccordionBlock: React.FC<React.PropsWithChildren<AccordionBlockProps>> = props => {\n const { expandedAreaIds, items, className } = props;\n\n function mapModelToGeneric(accordionItem: AccordionItemBlockViewModel): AccordionItemProps {\n const buttonStyles = accordionItem.linkAsButton\n ? {\n type: LinkType.Button,\n buttonType: ButtonType.Solid,\n buttonTier: ButtonTier.LegacyPrimary,\n buttonSize: ButtonSize.Large,\n }\n : {};\n\n return {\n headerContent: <span>{accordionItem.displayName}</span>,\n children: (\n <>\n {accordionItem.introText && <HtmlDiv html={accordionItem.introText} />}\n {accordionItem.callToAction?.href && accordionItem.callToAction?.label && (\n <div className={styles.ContentLink}>\n <Link {...accordionItem.callToAction} {...buttonStyles} />\n </div>\n )}\n </>\n ),\n index: accordionItem.id,\n };\n }\n\n return (\n <AccordionList\n className={className}\n accordions={items.map(mapModelToGeneric)}\n expandedAreaIds={expandedAreaIds}\n />\n );\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"ContentLink\":\"cezjBxjlb6UzJZwXyXa1\"};","import { useEffect, useState } from 'react';\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n"],"names":["AccordionBlock","props","expandedAreaIds","items","className","React","AccordionList","accordions","map","accordionItem","_accordionItem$callTo","_accordionItem$callTo2","buttonStyles","linkAsButton","type","LinkType","Button","buttonType","ButtonType","Solid","buttonTier","ButtonTier","LegacyPrimary","buttonSize","ButtonSize","Large","headerContent","displayName","children","introText","HtmlDiv","html","callToAction","href","label","Link","_extends","index","id","useIsMounted","isMounted","setIsMounted","useState","useEffect"],"sourceRoot":""}