{"version":3,"file":"5787.chunk.7f6b1f2f3e917562eb5f.js","mappings":"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","sources":["webpack://Kristiania.Web/./Features/Partials/AccordionComponent/AccordionItem.module.css?ed1d","webpack://Kristiania.Web/./Features/Partials/AccordionComponent/Components/AccordionExpander.module.css?8ad8","webpack://Kristiania.Web/./Features/Partials/AccordionComponent/Components/AccordionExpander.tsx","webpack://Kristiania.Web/./Features/Partials/AccordionComponent/AccordionItem.tsx","webpack://Kristiania.Web/./Features/Partials/AccordionComponent/Hooks/useAccordionContentRenderer.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"Content\":\"ZgXVgEgkOVHpOr6mpnZu\",\"ContentInner\":\"pxYchGNIM3U95N_8sY2T\",\"Variant--solid\":\"zsrYitxhmI4Rdxl8AcId\",\"Variant--dark\":\"islhpR1mAUILJUWXwzyQ\",\"Variant--light\":\"jKXXdVBjCJtZSjGaH5W6\",\"Variant--white\":\"te60PfIJAvlwZ2RBbGqe\",\"Variant--darkGrey\":\"TexQCEpa1Pxt8vxuAnSg\",\"Variant--grey\":\"IwFUcB57MlFBnob9VBaL\",\"Variant--hidden\":\"o80VkuFKdpLspcd2K6XW\",\"Variant--outline\":\"Olc6nSAggSyJcD4ibmtm\",\"Variant--none\":\"C5aub0yOxUDkiCFlS8yJ\",\"Variant--fullWidth\":\"xDVLidDZzMTkaeSrHdsG\",\"Variant--withBoxShadow\":\"xHFDbzdAVfTKh2HoSe66\",\"Variant--rounded\":\"sV6oYIkpAq8t5nvh8d6L\"};","// extracted by mini-css-extract-plugin\nexport default {\"AccordionExpander\":\"GNG_gRf6Dl3NsaHoWAUO\",\"ButtonContent\":\"YSRmfctHOQ5noBfQfMH5\",\"Content\":\"DnD1xRazitrvmLCwsQvo\",\"Icon\":\"MFUfNtxb_KMTBmiHESl8\",\"Variant--solid\":\"OyyOerhMVj5mV5WQNX5V\",\"Variant--light\":\"upGiZW1ExBMMWpFJfoEk\",\"Variant--outline\":\"tp0nNQ3GB8nINm8Qt10r\",\"Variant--dark\":\"KOz68aX_1HLGwsoctqxH\",\"Variant--grey\":\"NcVBerSqctjTNIFktrBz\",\"Variant--hidden\":\"UM1jfJqOS1COdaoBDFKC\",\"Variant--white\":\"xZxJs8W876NY1tCMuMwq\",\"Variant--rounded\":\"rKI7GwQpi4Grhjcbx6c7\"};","import classNames from 'classnames';\nimport * as React from 'react';\nimport type { AccordionIcon } from '../Types/AccordionIcon';\nimport type { AccordionColor } from '~/Partials/AccordionComponent/Types/AccordionColor';\nimport type { AccordionVariant } from '~/Partials/AccordionComponent/Types/AccordionItemVariant';\nimport type { ButtonProps } from '~/Partials/Button/Button';\nimport { Button } from '~/Partials/Button/Button';\nimport { ButtonType } from '~/Partials/Button/ButtonType.csharp';\nimport { SvgIcon } from '~/Partials/SvgIcon/SvgIcon';\nimport { assertNever } from '~/Partials/Utils/typeUtils';\nimport styles from './AccordionExpander.module.css';\n\nexport interface BaseAccordionExpanderProps\n extends Required> {\n expanded: boolean;\n variant?: AccordionVariant;\n color?: AccordionColor;\n className?: string;\n}\n\nexport interface AccordionExpanderProps extends BaseAccordionExpanderProps {\n iconType?: AccordionIcon;\n}\n\nexport const AccordionExpander: React.FC> = props => {\n const {\n children,\n expanded,\n iconType = 'default',\n variant = 'solid',\n color = 'grey',\n className,\n ...otherProps\n } = props;\n\n const resolveIcon = () => {\n switch (iconType) {\n case 'chevron':\n return expanded ? 'chevron-up' : 'chevron-down';\n case 'default':\n return expanded ? 'minus' : 'plus';\n default:\n assertNever(iconType);\n }\n };\n\n return (\n \n
\n
{children}
\n \n
\n \n );\n};\n","import classNames from 'classnames';\nimport uniqueId from 'lodash/uniqueId';\nimport * as React from 'react';\nimport type { ReactNode } from 'react';\nimport { assertNever } from '../Utils/typeUtils';\nimport { Collapse } from '~/Partials/Collapse/Collapse';\nimport type { Theme } from '~/Utils/Theme';\nimport { themeDefaultValues } from '~/Utils/Theme';\nimport styles from './AccordionItem.module.css';\nimport { AccordionExpander } from './Components/AccordionExpander';\nimport type { AccordionExpanderProps, BaseAccordionExpanderProps } from './Components/AccordionExpander';\nimport { useAccordionContentRenderer } from './Hooks/useAccordionContentRenderer';\nimport type { AccordionIcon } from './Types/AccordionIcon';\nimport type { AccordionSpacing } from './Types/AccordionSpacing';\n\ninterface BaseAccordionItemProps extends Pick {\n children: ReactNode;\n index?: string;\n initialExpanded?: boolean;\n isExpandable?: boolean;\n theme?: Theme;\n contentSpacing?: AccordionSpacing;\n externallyExpanded?: boolean;\n lazyRender?: boolean;\n className?: string;\n contentClassName?: string;\n}\n\nexport interface DefaultAccordionItemProps extends BaseAccordionItemProps {\n headerContent: ReactNode;\n expanderClassName?: string;\n iconType?: AccordionIcon;\n type?: 'default';\n}\n\nexport interface CustomAccordionItemProps extends BaseAccordionItemProps {\n renderCustomExpander: (expanderProps: BaseAccordionExpanderProps) => ReactNode;\n type: 'custom';\n}\n\nexport type AccordionItemProps = DefaultAccordionItemProps | CustomAccordionItemProps;\n\nexport const AccordionItem: React.FC> = props => {\n const {\n children,\n index,\n className,\n contentClassName,\n externallyExpanded,\n type,\n contentSpacing,\n lazyRender = false,\n initialExpanded = false,\n isExpandable = true,\n variant = 'solid',\n color = 'grey',\n theme = themeDefaultValues,\n } = props;\n const { withRoundedCorners, withBoxShadow } = theme;\n\n const [expanded, setExpanded] = React.useState(initialExpanded);\n const accordionId = index || uniqueId('AccordionItem__');\n\n React.useEffect(() => {\n externallyExpanded && setExpanded(true);\n }, [externallyExpanded]);\n\n const { content, onToggleClick, onCollapsed } = useAccordionContentRenderer(children, lazyRender, expanded);\n\n const onHeaderClicked = () => {\n onToggleClick();\n setExpanded(!expanded);\n };\n\n const renderExpander = () => {\n const baseExpanderProps: BaseAccordionExpanderProps = {\n onClick: onHeaderClicked,\n 'aria-expanded': expanded,\n 'aria-controls': accordionId,\n expanded,\n disabled: !isExpandable,\n color,\n variant,\n };\n\n switch (type) {\n case 'default':\n case undefined:\n const { iconType, headerContent, expanderClassName } = props;\n\n return (\n \n {headerContent}\n \n );\n case 'custom':\n const { renderCustomExpander } = props;\n\n return renderCustomExpander(baseExpanderProps);\n default:\n assertNever(props);\n }\n };\n\n return (\n \n {renderExpander()}\n \n
\n {content}\n
\n
\n \n );\n};\n","import * as React from 'react';\nimport type { ReactNode } from 'react';\n\nexport const useAccordionContentRenderer = (children: ReactNode, lazy: boolean, expanded: boolean) => {\n const [shouldRenderContent, setShouldRenderContent] = React.useState(!lazy);\n\n React.useEffect(() => {\n setShouldRenderContent(!lazy || expanded);\n }, [lazy]);\n\n const onToggleClick = () => {\n if (lazy && !shouldRenderContent) {\n setShouldRenderContent(true);\n }\n };\n\n const onCollapsed = () => {\n if (lazy && !expanded) {\n setShouldRenderContent(false);\n }\n };\n\n return {\n content: shouldRenderContent ? children : null,\n onToggleClick,\n onCollapsed,\n };\n};\n"],"names":["AccordionExpander","props","children","expanded","iconType","variant","color","className","otherProps","_objectWithoutProperties","_excluded","React","Button","_extends","type","ButtonType","Clear","classNames","styles","concat","ButtonContent","Content","SvgIcon","iconName","resolveIcon","assertNever","Icon","AccordionItem","index","contentClassName","externallyExpanded","contentSpacing","lazyRender","initialExpanded","isExpandable","theme","themeDefaultValues","withRoundedCorners","withBoxShadow","setExpanded","accordionId","uniqueId","content","onToggleClick","onCollapsed","useAccordionContentRenderer","lazy","shouldRenderContent","setShouldRenderContent","onHeaderClicked","renderExpander","baseExpanderProps","onClick","disabled","undefined","headerContent","expanderClassName","renderCustomExpander","Collapse","isOpen","onRest","id","ContentInner"],"sourceRoot":""}