{"version":3,"sources":["webpack:///./Avensia.Common/Features/Shared/Page/PageContent.tsx","webpack:///./Avensia.Common/Features/Shared/SharedComponents/atoms/Pagination.tsx","webpack:///./Avensia.Common/Features/Shared/Page/PageBottom.tsx","webpack:///./Avensia.Common/Features/Shared/Icons/Glyphs/Grid_12x12.svg","webpack:///./Avensia.Common/Features/Shared/Icons/glyphs/List_12x12.svg","webpack:///./Avensia.Common/Features/Shared/Icons/Grid.tsx","webpack:///./Avensia.Common/Features/Shared/Icons/List.tsx","webpack:///./Avensia.Common/Features/MagazineStart/GridOrListSelector.tsx","webpack:///./Avensia.Common/Features/MagazineStart/ListLayout.tsx","webpack:///./Avensia.Common/Features/MagazineStart/TagButtons.tsx","webpack:///./Avensia.Common/Features/MagazineStart/FilterTags.tsx","webpack:///./Avensia.Common/Features/MagazineStart/GridRowContent.tsx","webpack:///./Avensia.Common/Features/MagazineStart/GridLayout.tsx","webpack:///./Avensia.Common/Features/MagazineStart/MagazineStartPage.tsx"],"names":["TopLabel","margin","top","bottom","ReadMoreWrap","div","display","marginTop","ReadMore","span","color","monochrome","a11ygrey","cursor","textTransform","fontSize","fontWeight","TopContentHeading","wordBreak","BreadcrumbWrapper","props","isCompact","breadcrumbs","children","isProductPage","compose","className","css","rowGap","paddingTop","Div","marginLeft","marginRight","vertical","TopContentWideWrapper","padding","TopContentWide","TopContent","TopContentButton","TopContentIntro","p","xy","TopContentWrap","TopContentChildren","label","heading","headingSize","modalButtonText","modalButtonClick","modalButtonIconAfter","intro","handleReadMore","readMoreLabel","height","Small","x","text","onClick","iconAfter","theme","WhiteToBlack","PagingWrap","flexDirection","alignItems","gap","PagingInner","width","PagingLeftWrap","flexGrow","PagingNumberWrap","PagingRightWrap","textAlign","Pagination","state","currentBreakpoint","pageCount","currentPage","navigateToPage","totalItemCount","currentlyDisplayedItemCount","totalItemCountLabel","totalItemCountTextColor","inactiveColorAlpha","secondaryColor","black","pages","i","pageNum","lastPageNumInArr","length","push","String","undefined","map","page","idx","rgbaFilters","black50","key","D32_M32","Number","SeoContentWrap","SeoContent","D56_M24","html","React","Grid12x12","createElement","defaultProps","module","exports","default","List12x12","GridIcon","justifyItems","ListIcon","setGridLayout","BlackToWhite","iconBefore","ListLayoutWrap","marginBottom","ListLayoutLink","Link","textDecoration","border","style","mediumGrey","y","columnGap","ListLayoutImage","Ratio","flexBasis","ListLayoutMobileContent","ListLyaoutTextBlock","articleListViewModel","articles","article","index","to","url","draggable","src","image","title","name","alt","ratio","FourToThree","preset","MagazineListItemThumb","borderRadius","D40_M18","upperCase","tag","labels","category","tags","slice","join","MobileButtonWrap","whiteSpace","MobileButton","scrollSnapAlign","pointerEvents","userSelect","touchAction","selectedTag","onFilterClick","filterTags","filterTag","array","selected","toLowerCase","includes","MobileTagWrap","scrollSnapType","scrollbarWidth","msOverflowStyle","overflowX","left","ListContentWrap","GridRowContentWrap","GridRowLink","GridRowLinkImage","GridRowItemWrap","right","listContent","items","content","MagazineListItem","shouldAlwaysClaimHeight","D24_M24","GridLayoutWrap","rows","reduce","listContentItems","find","mobileIndex","desktopIndex","ArticleOptions","justifyContent","ArticleOptionsFilters","ArticleOptionsDisplay","TopContentInner","DesktopHeadlineWrap","AspectRatio","EightToThree","DesktopHeadlineInner","DesktopHeadlineLink","transition","property","duration","timingFunction","DesktopHeadlineBackground","backgroundSize","backgroundPosition","DesktopHeadlineContent","position","DesktopArticleTag","DesktopHeadlineHeading","DesktopHeadlineOverlay","MobileHeadlineLink","MobileHeadlineWrap","ThreeToFour","MobileHeadlineInner","boxSizing","DesktopMobileContent","MagazineStart","connect","headerHeight","UI","dispatch","updateCanonicalUrl","canonicalUrl","setArticleListViewModel","gridLayout","isHovered","setIsHovered","searchParams","get","topRef","onListNavigate","number","set","toString","delete","displayUrl","pathname","then","r","json","current","offsetTop","Page","mainIntro","headlineArticles","onMouseEnter","onMouseLeave","backgroundImage","imageSmallDevice","MagazineTopItem","opacity","D56_M32","SwiperList","slidesPerView","spaceBetween","ref","nrItems","currentPageIndex","totalPages","displayingItems","for","bottomContentArea","bottomHeading","bottomText"],"mappings":"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","file":"assets/19.chunk.02b82820bb78d513031e.js","sourcesContent":["import React from 'react';\r\nimport { styled, StyledProps } from '@glitz/react';\r\nimport { H1, ResponsiveSize, HeadingLabel } from 'Shared/SharedComponents/atoms/Typography';\r\nimport { ButtonHeight, ButtonTheme, SolidButton } from 'Shared/TextButtons';\r\nimport Breadcrumbs from 'Shared/SharedComponents/atoms/Breadcrumbs';\r\nimport BreadcrumbsViewModel from 'Shared/Breadcrumbs/BreadcrumbsViewModel.type';\r\nimport { createGridClasses, createOffsetGridClassLarge } from 'Shared/grid';\r\nimport { GridWrap } from 'Shared/PageLayout';\r\nimport * as style from 'Shared/Style';\r\n\r\ntype TopContentPropType = React.HTMLAttributes & {\r\n label?: string;\r\n heading: string;\r\n headingSize?: ResponsiveSize;\r\n intro: string;\r\n isCompact: boolean;\r\n modalButtonText?: string;\r\n modalButtonIconAfter?: React.ReactNode;\r\n modalButtonClick?: () => void;\r\n handleReadMore?: Function | boolean;\r\n readMoreLabel?: String\r\n};\r\n\r\ntype TopContentWidePropType = TopContentPropType & {\r\n breadcrumbs?: BreadcrumbsViewModel[];\r\n};\r\n\r\ntype BreadcrumbWrapperPropType = React.HTMLAttributes & {\r\n isCompact: boolean;\r\n breadcrumbs?: BreadcrumbsViewModel[];\r\n isProductPage?: boolean;\r\n};\r\n\r\nconst TopLabel = styled(HeadingLabel, {\r\n margin: {\r\n top: 0,\r\n bottom: '16px',\r\n },\r\n});\r\n\r\nconst ReadMoreWrap = styled.div({\r\n display: 'flex',\r\n marginTop: '8px',\r\n});\r\n\r\nconst ReadMore = styled.span({\r\n color: style.colors.monochrome.a11ygrey,\r\n cursor: 'pointer',\r\n textTransform: 'uppercase',\r\n fontSize: '14px',\r\n fontWeight: 500,\r\n});\r\n\r\nconst TopContentHeading = styled(H1, {\r\n wordBreak: 'break-word'\r\n});\r\n\r\nexport const BreadcrumbWrapper = styled((props: BreadcrumbWrapperPropType & StyledProps) => {\r\n const { isCompact, breadcrumbs, children, isProductPage = false, compose } = props;\r\n\r\n return (\r\n \r\n \r\n {breadcrumbs && }\r\n \r\n {children}\r\n \r\n );\r\n});\r\n\r\nconst TopContentWideWrapper = styled(BreadcrumbWrapper, {\r\n padding: { bottom: '24px' },\r\n ['@media ' + style.mediaMinLarge]: {\r\n padding: { bottom: '48px' }\r\n },\r\n})\r\n\r\nexport const TopContentWide = (props: TopContentWidePropType) => {\r\n const { isCompact, breadcrumbs, children } = props;\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TopContentButton = styled(SolidButton, {\r\n display: 'inline-flex',\r\n marginTop: '12px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n marginTop: '24px',\r\n },\r\n})\r\n\r\nconst TopContentIntro = styled.p({\r\n margin: { xy: 0 },\r\n padding: { xy: 0 }\r\n})\r\n\r\nconst TopContentWrap = styled.div({\r\n ['@media ' + style.mediaUpToLarge]: {\r\n marginTop: '16px',\r\n },\r\n})\r\n\r\nconst TopContentChildren = styled.div({\r\n marginTop: '24px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n marginTop: '48px',\r\n },\r\n})\r\n\r\nexport const TopContent = (props: TopContentPropType) => {\r\n const {\r\n isCompact,\r\n label,\r\n heading,\r\n headingSize,\r\n modalButtonText,\r\n modalButtonClick,\r\n modalButtonIconAfter,\r\n intro,\r\n children,\r\n handleReadMore = false,\r\n readMoreLabel = ''\r\n } = props;\r\n return (\r\n
\r\n {label && {label}}\r\n
\r\n
\r\n {heading}\r\n {modalButtonText && (\r\n modalButtonClick()}\r\n iconAfter={modalButtonIconAfter && modalButtonIconAfter}\r\n theme={ButtonTheme.WhiteToBlack}\r\n />\r\n )}\r\n
\r\n
\r\n \r\n {intro}\r\n {handleReadMore &&\r\n \r\n {\r\n if (typeof handleReadMore !== 'function') {\r\n return\r\n }\r\n handleReadMore()\r\n }}>\r\n {readMoreLabel}\r\n \r\n \r\n }\r\n \r\n \r\n {children}\r\n \r\n
\r\n );\r\n};\r\n","import connect from 'Shared/connect';\r\nimport { isCompact as functionIsCompact } from 'Shared/Viewport';\r\nimport { styled } from '@glitz/react';\r\nimport { Left32x32, Right32x32 } from 'Shared/Icons/ArrowCircle';\r\nimport { TextBlock, TextLabel, ResponsiveSize } from 'Shared/SharedComponents/atoms/Typography';\r\nimport { translate } from '@polarnopyret/scope/index';\r\nimport React from 'react';\r\nimport * as style from 'Shared/Style';\r\n\r\nconst SHOW_ALL_PAGES = 6\r\n\r\nconst PagingWrap = styled.div({\r\n marginTop: '80px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n gap: '16px',\r\n})\r\n\r\nconst PagingInner = styled.div({\r\n display: 'flex',\r\n flexDirection: 'row',\r\n ['@media ' + style.mediaUpToLarge]: {\r\n width: '100%'\r\n },\r\n ['@media ' + style.mediaMinLarge]: {\r\n gap: '32px'\r\n },\r\n})\r\n\r\nconst PagingLeftWrap = styled.div({\r\n ['@media ' + style.mediaUpToLarge]: {\r\n flexGrow: 1,\r\n },\r\n})\r\n\r\nconst PagingNumberWrap = styled.div({\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: '24px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n gap: '16px',\r\n },\r\n})\r\n\r\nconst PagingRightWrap = styled.div({\r\n ['@media ' + style.mediaUpToLarge]: {\r\n flexGrow: 1,\r\n textAlign: 'right'\r\n },\r\n})\r\n\r\nconst Pagination = connect((state) => ({\r\n currentBreakpoint: state.currentBreakpoint,\r\n}))(\r\n (props: {\r\n pageCount: number;\r\n currentPage: number;\r\n totalItemCount: number;\r\n totalItemCountTextColor: string;\r\n currentlyDisplayedItemCount: number;\r\n navigateToPage: (page: number) => void;\r\n currentBreakpoint: number;\r\n totalItemCountLabel?: string;\r\n inactiveColorAlpha?: number;\r\n }) => {\r\n const { pageCount, currentPage, navigateToPage, totalItemCount, currentlyDisplayedItemCount, totalItemCountLabel, totalItemCountTextColor, inactiveColorAlpha = 0.6 } =\r\n props;\r\n const isCompact = functionIsCompact(props.currentBreakpoint);\r\n const secondaryColor = style.hex2rgba(style.colors.monochrome.black, inactiveColorAlpha);\r\n \r\n let pages: string[] = []\r\n for (let i = 0; i < pageCount; i++) {\r\n const pageNum = i + 1\r\n const lastPageNumInArr: String | undefined = pages[pages.length - 1]\r\n\r\n if (pageCount <= SHOW_ALL_PAGES) {\r\n pages.push(String(pageNum))\r\n continue;\r\n }\r\n\r\n if (pageNum === 1) {\r\n // First page, add this - Always visible\r\n pages.push(String(pageNum))\r\n continue;\r\n }\r\n\r\n if (pageNum === pageCount) {\r\n // Last page, add this - Always visible\r\n pages.push(String(pageNum))\r\n continue\r\n }\r\n\r\n if (pageNum === currentPage - 1 && pageNum + 3 !== pageCount) {\r\n pages.push(String(pageNum))\r\n continue\r\n }\r\n\r\n if (pageNum === currentPage + 1 && pageNum - 3 !== 1) {\r\n pages.push(String(pageNum))\r\n continue \r\n }\r\n\r\n if (currentPage === 1 && pageNum === 3) {\r\n pages.push(String(pageNum))\r\n continue \r\n }\r\n\r\n if (pageNum === currentPage) {\r\n pages.push(String(pageNum))\r\n continue\r\n }\r\n\r\n if (lastPageNumInArr !== undefined && lastPageNumInArr !== '...') {\r\n pages.push('...')\r\n continue\r\n }\r\n }\r\n\r\n return (\r\n \r\n {pageCount > 1 && \r\n \r\n \r\n {\r\n if (currentPage !== 1) {\r\n navigateToPage(currentPage - 1);\r\n }\r\n }}\r\n />\r\n \r\n \r\n {pages.map((page, idx) => {\r\n if (page === '...') {\r\n return \r\n ...\r\n \r\n }\r\n\r\n return navigateToPage(Number(page))}\r\n key={idx}\r\n css={{\r\n color:\r\n currentPage === Number(page)\r\n ? `${style.colors.monochrome.black}`\r\n : `${style.colors.rgbaFilters.black50}`,\r\n cursor: 'pointer',\r\n }}\r\n >\r\n {page}\r\n \r\n })}\r\n \r\n \r\n {\r\n if (currentPage !== pageCount) {\r\n navigateToPage(currentPage + 1);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n \r\n {totalItemCountLabel ?? translate('/site/shared/displaynritems', currentlyDisplayedItemCount, totalItemCount)}\r\n \r\n \r\n );\r\n },\r\n);\r\n\r\nexport default Pagination;\r\n","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport Html from 'Shared/Partials/PropertyTypes/Html';\r\nimport { H2, ResponsiveSize } from 'Shared/SharedComponents/atoms/Typography';\r\nimport { createGridClasses, createOffsetGridClassLarge } from 'Shared/grid';\r\nimport { GridWrap } from 'Shared/PageLayout';\r\n\r\ntype PropType = {\r\n heading: string;\r\n text: Scope.XhtmlString;\r\n};\r\n\r\nconst SeoContentWrap = styled(GridWrap, {\r\n margin: {\r\n top: '80px',\r\n bottom: '80px'\r\n },\r\n})\r\n\r\nexport const SeoContent = ({ heading, text }: PropType) => { \r\n return (\r\n \r\n
\r\n

{heading}

\r\n
\r\n
\r\n {text && }\r\n
\r\n
\r\n );\r\n};\r\n","var React = require('react');\n\nfunction Grid12x12 (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"id\":\"Property 1=Grid\",\"fill\":\"currentColor\"},[React.createElement(\"rect\",{\"id\":\"Rectangle 701\",\"width\":\"5\",\"height\":\"5\",\"rx\":\"1\",\"key\":0}),React.createElement(\"rect\",{\"id\":\"Rectangle 702\",\"x\":\"7\",\"width\":\"5\",\"height\":\"5\",\"rx\":\"1\",\"key\":1}),React.createElement(\"rect\",{\"id\":\"Rectangle 703\",\"x\":\"7\",\"y\":\"7\",\"width\":\"5\",\"height\":\"5\",\"rx\":\"1\",\"key\":2}),React.createElement(\"rect\",{\"id\":\"Rectangle 704\",\"y\":\"7\",\"width\":\"5\",\"height\":\"5\",\"rx\":\"1\",\"key\":3})]));\n}\n\nGrid12x12.defaultProps = {\"width\":\"12\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\",\"fill\":\"none\"};\n\nmodule.exports = Grid12x12;\n\nGrid12x12.default = Grid12x12;\n","var React = require('react');\n\nfunction List12x12 (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"id\":\"Property 1=list\",\"fill\":\"currentColor\"},[React.createElement(\"rect\",{\"id\":\"Rectangle 705\",\"width\":\"2\",\"height\":\"2\",\"rx\":\".5\",\"key\":0}),React.createElement(\"rect\",{\"id\":\"Rectangle 707\",\"y\":\"5\",\"width\":\"2\",\"height\":\"2\",\"rx\":\".5\",\"key\":1}),React.createElement(\"rect\",{\"id\":\"Rectangle 706\",\"x\":\"4\",\"width\":\"8\",\"height\":\"2\",\"rx\":\".5\",\"key\":2}),React.createElement(\"rect\",{\"id\":\"Rectangle 708\",\"x\":\"4\",\"y\":\"5\",\"width\":\"8\",\"height\":\"2\",\"rx\":\".5\",\"key\":3}),React.createElement(\"rect\",{\"id\":\"Rectangle 709\",\"y\":\"10\",\"width\":\"2\",\"height\":\"2\",\"rx\":\".5\",\"key\":4}),React.createElement(\"rect\",{\"id\":\"Rectangle 710\",\"x\":\"4\",\"y\":\"10\",\"width\":\"8\",\"height\":\"2\",\"rx\":\".5\",\"key\":5})]));\n}\n\nList12x12.defaultProps = {\"width\":\"12\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\",\"fill\":\"none\"};\n\nmodule.exports = List12x12;\n\nList12x12.default = List12x12;\n","import factory from './icon';\r\nimport Svg12x12 from './Glyphs/Grid_12x12.svg';\r\n\r\nexport const Grid12x12 = factory(Svg12x12, 12, 12);\r\n","import factory from './icon';\r\nimport Svg12x12 from './glyphs/List_12x12.svg';\r\n\r\nexport const List12x12 = factory(Svg12x12, 12, 12);\r\n","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { Grid12x12 } from 'Shared/Icons/Grid';\r\nimport { List12x12 } from 'Shared/Icons/List';\r\nimport { SolidButton, ButtonTheme } from 'Shared/TextButtons';\r\n\r\nconst GridIcon = styled(Grid12x12, {\r\n justifyItems: 'center',\r\n})\r\n\r\nconst ListIcon = styled(List12x12, {\r\n justifyItems: 'center'\r\n})\r\n\r\nconst GridOrListSelector = (props: {\r\n gridLayout: boolean;\r\n setGridLayout: (gridLayout: boolean) => void;\r\n isCompact: boolean;\r\n}) => (\r\n <>\r\n props.setGridLayout(true)}\r\n theme={ButtonTheme.BlackToWhite}\r\n iconBefore={}\r\n padding={{ x: props.isCompact ? 14 : 18 }}\r\n />\r\n props.setGridLayout(false)}\r\n theme={ButtonTheme.WhiteToBlack}\r\n iconBefore={}\r\n padding={{ x: props.isCompact ? 14 : 18 }}\r\n />\r\n \r\n);\r\n\r\nexport default GridOrListSelector;","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { ResponsiveSize, ArticleTag, TextBlockSmall, H2 } from 'Shared/SharedComponents/atoms/Typography';\r\nimport Link from 'Shared/Link';\r\nimport ArticleListViewModel from 'MagazineStart/ArticleListViewModel.type';\r\nimport { Preset, Ratio, RatioPicture } from 'Shared/Image/Ratio';\r\nimport { createGridClasses, createOffsetGridClassLarge } from 'Shared/grid';\r\nimport * as style from 'Shared/Style';\r\n\r\nconst ListLayoutWrap = styled.div({\r\n ['@media ' + style.mediaUpToLarge]: {\r\n marginBottom: '40px',\r\n },\r\n})\r\n\r\nconst ListLayoutLink = styled(Link, {\r\n alignItems: 'center',\r\n textDecoration: 'none',\r\n color: style.colors.monochrome.black,\r\n width: '100%',\r\n border: {\r\n bottom: {\r\n width: '1px',\r\n style: 'solid',\r\n color: `${style.colors.monochrome.mediumGrey}`,\r\n },\r\n },\r\n padding: { y: '24px' },\r\n\r\n ['@media ' + style.mediaUpToLarge]: {\r\n padding: { y: '16px' },\r\n display: 'flex',\r\n columnGap: '16px',\r\n },\r\n})\r\n\r\nconst ListLayoutImage = styled(RatioPicture, {\r\n ['@media ' + style.mediaUpToLarge]: {\r\n width: '60px',\r\n flexBasis: '60px',\r\n },\r\n})\r\n\r\nconst ListLayoutMobileContent = styled.div({\r\n flexGrow: 1, display: 'flex', flexDirection: 'column', rowGap: '8px'\r\n})\r\n\r\nconst ListLyaoutTextBlock = styled(TextBlockSmall, {\r\n marginBottom: '8px'\r\n})\r\n\r\nconst ListLayout = (props: { articleListViewModel: ArticleListViewModel; isCompact: boolean }) => {\r\n const { articleListViewModel, isCompact } = props;\r\n return (\r\n \r\n {articleListViewModel.articles.map((article, index) => (\r\n \r\n \r\n {isCompact ? (\r\n \r\n

\r\n {article.heading}\r\n

\r\n {article.tag}\r\n
\r\n ) : (\r\n <>\r\n
\r\n

\r\n {article.heading}\r\n

\r\n
\r\n \r\n \r\n {articleListViewModel.labels.category}\r\n \r\n {article.tag}\r\n \r\n \r\n \r\n {articleListViewModel.labels.tags}\r\n \r\n \r\n {article.tags?.slice(0, 3).join(', ')}\r\n {(article?.tags?.length ?? 0) > 3 && `, +${article?.tags?.length - 3}`}\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default ListLayout;","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { SolidButton, ButtonTheme } from 'Shared/TextButtons';\r\nimport ArticleListViewModel from 'MagazineStart/ArticleListViewModel.type';\r\n\r\nconst MobileButtonWrap = styled.div({\r\n display: 'flex',\r\n whiteSpace: 'nowrap',\r\n})\r\n\r\nconst MobileButton = styled(SolidButton, {\r\n scrollSnapAlign: 'center',\r\n pointerEvents: 'auto',\r\n userSelect: 'none',\r\n touchAction: 'auto',\r\n})\r\n\r\nconst TagButtons = (props: {\r\n selectedTag: string;\r\n articleListViewModel: ArticleListViewModel;\r\n isCompact: boolean;\r\n onFilterClick: (number?: number, tag?: string) => void;\r\n}) => {\r\n const { articleListViewModel, selectedTag, isCompact, onFilterClick } = props;\r\n \r\n if(isCompact) {\r\n return (\r\n <>\r\n {articleListViewModel.filterTags.map((filterTag, index, array) => (\r\n \r\n onFilterClick(null, filterTag)}\r\n />\r\n \r\n ))}\r\n \r\n ); \r\n }\r\n \r\n return (\r\n <>\r\n {articleListViewModel.filterTags.map((filterTag, index, array) => (\r\n onFilterClick(null, filterTag)}\r\n />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TagButtons;","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport ArticleListViewModel from 'MagazineStart/ArticleListViewModel.type';\r\nimport TagButtons from './TagButtons';\r\n\r\nconst MobileTagWrap = styled.div({\r\n scrollSnapType: 'x mandatory',\r\n scrollbarWidth: 'none',\r\n msOverflowStyle: 'none',\r\n // @ts-ignore\r\n '::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n display: 'flex',\r\n gap: '12px',\r\n height: 'max-content',\r\n width: '100%',\r\n overflowX: 'scroll',\r\n padding: { y: '8px', left: '0px' },\r\n margin: { top: '-8px', bottom: '16px', left: '0px' },\r\n})\r\n\r\nconst FilterTags = (props: {\r\n selectedTag: string;\r\n articleListViewModel: ArticleListViewModel;\r\n isCompact: boolean;\r\n onFilterClick: (number?: number, tag?: string) => void;\r\n}) => {\r\n const { articleListViewModel, isCompact } = props;\r\n\r\n if (isCompact) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default FilterTags;","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { ContentArea } from '@polarnopyret/scope-episerver';\r\nimport { ResponsiveSize, ArticleTag, H2 } from 'Shared/SharedComponents/atoms/Typography';\r\nimport Link from 'Shared/Link';\r\nimport ArticleListItemViewModel from 'Shared/ViewModels/ContentListItemViewModel.type';\r\nimport ListContentViewModel from 'Shared/Blocks/ListContent/ListContentViewModel.type';\r\nimport { GridWrap } from 'Shared/PageLayout';\r\nimport { Preset, Ratio, RatioPicture } from 'Shared/Image/Ratio';\r\n\r\nimport { createGridClasses } from 'Shared/grid';\r\nimport * as style from 'Shared/Style';\r\n\r\nconst ListContentWrap = styled.div({\r\n marginBottom: '40px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n marginBottom: '80px',\r\n },\r\n})\r\n\r\nconst GridRowContentWrap = styled(GridWrap, {\r\n marginBottom: '40px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n marginBottom: '80px',\r\n },\r\n})\r\n\r\nconst GridRowLink = styled(Link, {\r\n textDecoration: 'none',\r\n color: 'black',\r\n width: '100%',\r\n})\r\n\r\nconst GridRowLinkImage = styled(RatioPicture, {\r\n marginBottom: '16px',\r\n})\r\n\r\nconst GridRowItemWrap = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n gap: '12px',\r\n ['@media ' + style.mediaUpToLarge]: {\r\n padding: {\r\n top: '0px',\r\n right: '16px',\r\n bottom: '0px',\r\n left: '0px',\r\n },\r\n },\r\n})\r\n\r\nconst GridRowContent = (props: {\r\n articles: ArticleListItemViewModel[];\r\n listContent: ListContentViewModel;\r\n isCompact: boolean;\r\n}) => {\r\n const { articles, listContent, isCompact } = props;\r\n\r\n if (listContent) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {articles.map((article, index) => (\r\n \r\n \r\n \r\n \r\n {article.tag}\r\n \r\n

\r\n {article.heading}\r\n

\r\n {article.tags?.length > 0 && (\r\n \r\n {article.tags?.slice(0, 3).join(', ')}\r\n {(article?.tags?.length ?? 0) > 3 && `, +${article?.tags?.length - 3}`}\r\n \r\n )}\r\n
\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default GridRowContent;","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport ArticleListViewModel from 'MagazineStart/ArticleListViewModel.type';\r\nimport ArticleListItemViewModel from 'Shared/ViewModels/ContentListItemViewModel.type';\r\nimport * as style from 'Shared/Style';\r\nimport GridRowContent from './GridRowContent';\r\n\r\nconst GridLayoutWrap = styled.div({\r\n rowGap: '40px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n rowGap: '80px',\r\n },\r\n})\r\n\r\nconst GridLayout = (props: { articleListViewModel: ArticleListViewModel; isCompact: boolean }) => {\r\n const { articleListViewModel, isCompact } = props;\r\n //group articles into rows of 3, or 1 per row if on mobile\r\n //in the future, this is where we might mix in content\r\n const rows = articleListViewModel.articles.reduce(\r\n (rows, key, index) =>\r\n (index % (isCompact ? 1 : 3) == 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows,\r\n [],\r\n );\r\n\r\n return (\r\n \r\n {rows.map((articles, index) => (\r\n index === (isCompact ? x.mobileIndex : x.desktopIndex),\r\n )}\r\n isCompact={isCompact}\r\n />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default GridLayout;","/**\r\n * @ComponentFor MagazineStartPageViewModel\r\n */\r\n\r\nimport connect from 'Shared/connect';\r\nimport React, { useState, useRef } from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport { get, replaceState, scrollTo, URLX } from '@polarnopyret/scope';\r\nimport { EpiProperty, epiPropertyValue } from '@polarnopyret/scope-episerver';\r\nimport { currentUrl } from '@polarnopyret/scope/index';\r\nimport MagazineStartPageViewModel from './MagazineStartPageViewModel.type';\r\nimport { ResponsiveSize, ArticleTag, TextBlockSmall, H2 } from 'Shared/SharedComponents/atoms/Typography';\r\nimport Link from 'Shared/Link';\r\nimport { AspectRatioInner, AspectRatioOuter, OverlayNotABackdrop } from 'Shared/SharedComponents/atoms/AspectRatio';\r\nimport ArticleListViewModel from 'MagazineStart/ArticleListViewModel.type';\r\nimport { isCompact as functionIsCompact } from 'Shared/Viewport';\r\nimport Pagination from 'Shared/SharedComponents/atoms/Pagination';\r\nimport { calculateTopPadding, Ratio } from 'Shared/AspectRatio';\r\nimport { setImageBackground, Preset } from 'Shared/image-background';\r\nimport { TopContentWide } from 'Shared/Page/PageContent';\r\nimport { SeoContent } from 'Shared/Page/PageBottom';\r\nimport Page from 'Shared/Page';\r\nimport { GridWrap } from 'Shared/PageLayout';\r\nimport SwiperList from 'Shared/SwiperList';\r\nimport * as style from 'Shared/Style';\r\nimport GridOrListSelector from './GridOrListSelector';\r\nimport ListLayout from './ListLayout';\r\nimport FilterTags from './FilterTags';\r\nimport GridLayout from './GridLayout';\r\nimport { getCurrentBaseUrl, selectDeviceImage } from 'Shared/utils';\r\nimport { updateCanonicalUrl } from 'Shared/reducers';\r\n\r\ntype ConnectedPropType = {\r\n currentBreakpoint: number;\r\n headerHeight: number;\r\n};\r\n\r\ntype PropType = MagazineStartPageViewModel & ConnectedPropType;\r\n\r\nconst ArticleOptions = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: '28px',\r\n ['@media ' + style.mediaMinLarge]: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginBottom: '40px',\r\n },\r\n})\r\n\r\nconst ArticleOptionsFilters = styled.div({\r\n ['@media ' + style.mediaUpToLarge]: {\r\n marginRight: '-12px',\r\n },\r\n\r\n ['@media ' + style.mediaMinLarge]: {\r\n gap: '12px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n})\r\n\r\nconst ArticleOptionsDisplay = styled.div({\r\n display: 'flex',\r\n gap: '12px',\r\n alignItems: 'center',\r\n ['@media ' + style.mediaUpToLarge]: {\r\n justifyContent: 'space-between',\r\n },\r\n})\r\n\r\nconst TopContentInner = styled.div({\r\n ['@media ' + style.mediaMinLarge]: {\r\n marginRight: '16px',\r\n },\r\n})\r\n\r\nconst DesktopHeadlineWrap = styled(AspectRatioOuter, {\r\n paddingTop: `${calculateTopPadding(Ratio.EightToThree)}`,\r\n})\r\n\r\nconst DesktopHeadlineInner = styled(AspectRatioInner, {\r\n display: 'flex',\r\n gap: '16px',\r\n})\r\n\r\nconst DesktopHeadlineLink = styled(Link, {\r\n textDecoration: 'none',\r\n color: 'white',\r\n height: '100%',\r\n transition: {\r\n property: 'flex-basis',\r\n duration: '0.3s',\r\n timingFunction: 'ease-in-out',\r\n },\r\n})\r\n\r\nconst DesktopHeadlineBackground = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center center',\r\n borderRadius: '8px',\r\n padding: { xy: '16px' },\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n gap: '16px',\r\n})\r\n\r\nconst DesktopHeadlineContent = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n gap: '16px',\r\n position: 'relative',\r\n})\r\n\r\nconst DesktopArticleTag = styled(ArticleTag, {\r\n transition: {\r\n property: 'opacity',\r\n duration: '0.3s',\r\n timingFunction: 'ease-in-out',\r\n },\r\n})\r\n\r\nconst DesktopHeadlineHeading = styled(H2, {\r\n transition: {\r\n property: 'opacity',\r\n duration: '0.3s',\r\n timingFunction: 'ease-in-out',\r\n },\r\n})\r\n\r\nconst DesktopHeadlineOverlay = styled(OverlayNotABackdrop, {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n gap: '16px',\r\n transition: {\r\n property: 'opacity',\r\n duration: '0.3s',\r\n timingFunction: 'ease-in-out',\r\n },\r\n})\r\n\r\nconst MobileHeadlineLink = styled(Link, {\r\n textDecoration: 'none', color: 'white'\r\n})\r\n\r\nconst MobileHeadlineWrap = styled(AspectRatioOuter, {\r\n paddingTop: `${calculateTopPadding(Ratio.ThreeToFour)}`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center center',\r\n borderRadius: '8px',\r\n})\r\n\r\nconst MobileHeadlineInner = styled(AspectRatioInner, {\r\n padding: { xy: '16px' },\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n gap: '16px',\r\n boxSizing: 'border-box',\r\n})\r\n\r\nconst DesktopMobileContent = styled.div({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n})\r\n\r\nexport const MagazineStart = connect((state) => ({\r\n currentBreakpoint: state.currentBreakpoint,\r\n headerHeight: state.UI.headerHeight,\r\n}),\r\n (dispatch) => ({\r\n updateCanonicalUrl(canonicalUrl: string) {\r\n return dispatch(updateCanonicalUrl(canonicalUrl));\r\n },\r\n }))(\r\n (props: PropType & {\r\n updateCanonicalUrl: (\r\n canonicalUrl: string\r\n ) => void;\r\n currentBreakpoint: number;\r\n }) => {\r\n const { currentBreakpoint, page, updateCanonicalUrl } = props;\r\n const [articleListViewModel, setArticleListViewModel] = useState(\r\n props.articleListViewModel,\r\n );\r\n const isCompact = functionIsCompact(currentBreakpoint);\r\n const [gridLayout, setGridLayout] = useState(true);\r\n const [isHovered, setIsHovered] = useState(0);\r\n const params = currentUrl()?.searchParams;\r\n const selectedTag = params?.get('tag');\r\n let topRef = useRef();\r\n\r\n const onListNavigate = (number?: number, tag?: string) => {\r\n const url = currentUrl();\r\n\r\n if (number) {\r\n url.searchParams.set('page', number.toString());\r\n\r\n const canonicalUrl = getCurrentBaseUrl();\r\n if (number > 1) {\r\n canonicalUrl.searchParams.set('page', number.toString());\r\n }\r\n updateCanonicalUrl(canonicalUrl.toString());\r\n } else if (tag) {\r\n url.searchParams.delete('page');\r\n url.searchParams.set('tag', tag);\r\n }\r\n\r\n const displayUrl = url.toString();\r\n url.pathname = url.pathname + '/filter';\r\n get(url, {})\r\n .then((r) => r.json())\r\n .then((json: ArticleListViewModel) => {\r\n setArticleListViewModel(json);\r\n replaceState(displayUrl, null, false);\r\n })\r\n .then(() => {\r\n if (topRef) {\r\n scrollTo(topRef.current.offsetTop - 150, 500);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {!isCompact && props.headlineArticles && props.headlineArticles.length > 0 && (\r\n \r\n \r\n {props.headlineArticles.map((article, index) => {\r\n return (\r\n setIsHovered(index)}\r\n onMouseLeave={() => setIsHovered(0)}\r\n >\r\n \r\n \r\n \r\n {article.tag}\r\n \r\n \r\n {article.heading}\r\n \r\n \r\n {article.tag}\r\n

\r\n {article.heading}\r\n

\r\n
\r\n
\r\n \r\n {article.tags?.slice(0, 3).join(', ')}\r\n {(article?.tags?.length ?? 0) > 3 && `, +${article?.tags?.length - 3}`}\r\n \r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n {isCompact && props.headlineArticles && props.headlineArticles.length > 0 && (\r\n \r\n {props.headlineArticles.map((article, index) => (\r\n
\r\n \r\n \r\n \r\n \r\n {article.tag}\r\n

\r\n {article.heading}\r\n

\r\n
\r\n \r\n {article.tags?.slice(0, 3).join(', ')}\r\n {(article?.tags?.length ?? 0) > 3 && `, +${(article?.tags?.length as number) - 3}`}\r\n \r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {!isCompact && {articleListViewModel.labels.nrItems}}\r\n \r\n \r\n {isCompact && {articleListViewModel.labels.nrItems}}\r\n \r\n \r\n \r\n \r\n {\r\n gridLayout ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n });\r\n\r\nexport default MagazineStart;\r\n"],"sourceRoot":""}