{"version":3,"names":["newsCarouselDefaultCss","Spacer","h","style","flex","NewsCarouselDefault","this","_client","NewsClient","slidesPerView","spaceBetween","day","month","onCategoriesChange","value","categories","coerceNumberArray","onItemsChange","items","onExcludeCategoriesChange","excludeCategories","onExcludeItemsChange","excludeItems","onItemsConfigChange","itemsConfig","coerceCarouselContainerBreackpoints","onLoopChange","loop","coerceBooleanProperty","onAutoplayChange","autoplay","onDateFormatChange","dateFormat","coerceDateFormatOptions","async","setPrevNextState","page","setPage","getArticles","itemsCount","articles","coerceItemsConfig","split","reduce","acc","curr","containerWidth","Object","assign","values","forEach","config","_a","_b","swiper","_slidesRef","getSwiper","writeTask","prevEnabled","isBeginning","nextEnabled","isEnd","render","cssClassNames","sliderOptions","touchStartForcePreventDefault","breakpoints","breakpointsBase","delay","autoplayDelay","pauseOnMouseEnter","disableOnInteraction","prevBtn","disablePrevNextButtons","class","onClick","slidePrev","title","name","nextBtn","slideNext","pager","disablePager","pagerShape","ref","el","paginationEl","showAllLink","showAllLinkText","headerText","header","headerPosition","positionalRender","push","pagerPosition","prevNextButtonsPosition","showAllLinkPosition","topEmpty","length","bottomEmpty","Host","empty","map","customPaginationElement","options","article","linkProps","ItemLinkProps","tileProps","width","readMoreButton","tileTitleProps","category","categoryNames","categoryCssClassNames","categoryPosition","disableTeaserPicture","src","teaserPictureUrl","datePosition","DateRender","parts","date","created","format","showCategory","contentHeaderIcon","disableTeaserText","truncated","teaserText","readMoreButtonType","readMoreButtonText","shape"],"sources":["./src/components/news/special/news-carousel-default/news-carousel-default.scss?tag=c7-news-carousel-default","./src/components/news/special/news-carousel-default/news-carousel-default.tsx"],"sourcesContent":["c7-news-carousel-default {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n padding: 1rem;\n\n --pagination-active: var(--c7-500);\n --pagination-inactive: lightgray;\n --prev-next: var(--pagination-inactive);\n\n --c7-news-special-padding-inner: 1rem;\n\n .c7-news-carousel-bottom, .c7-news-carousel-top{\n display: flex;\n align-items: center;\n gap: 1rem;\n min-height: 74px;\n padding: 0 var(--c7-news-special-padding-inner);\n\n &.empty {\n display: none;\n }\n\n }\n\n .c7-news-carousel-center {\n display: flex;\n min-width: 0;\n\n .c7-news-carousel-left, .c7-news-carousel-right {\n display: flex;\n align-items: center;\n\n &:empty {\n display: none;\n }\n }\n\n > .c7-news-carousel-main {\n min-width: 0;\n flex: 1 1 auto;\n overflow: hidden;\n padding: var(--c7-news-special-padding-inner);\n }\n }\n\n .c7-news-carousel-header {\n font-size: 2rem;\n color: var(--c7-500);\n margin: .5rem 0;\n }\n\n .swiper-pagination {\n height: 74px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: .5rem;\n position: relative;\n width: fit-content !important;\n bottom: unset !important;\n\n .swiper-pagination-bullet {\n cursor: pointer;\n background: var(--pagination-inactive);\n }\n\n .swiper-pagination-bullet-active{\n background: var(--pagination-active);\n }\n\n &.bullet-style-capsule {\n .swiper-pagination-bullet {\n width: 30px;\n height: 5px;\n border-radius: 100px;\n }\n }\n\n &.bullet-style-circle {\n .swiper-pagination-bullet {\n width: 13px;\n height: 13px;\n border-radius: 50%;\n }\n }\n }\n\n .c7-carousel-navigation {\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n padding: 0;\n color: var(--prev-next);\n\n &:not([disabled]) {\n cursor: pointer;\n }\n\n > ion-icon {\n width: 36px;\n height: 36px;\n pointer-events: none;\n }\n }\n\n .c7-carousel-navigation-wrapper {\n display: flex;\n align-items: center;\n }\n\n\n\n c7-tile {\n height: 100%;\n\n .date-above-content, .header-icon {\n font-size: calc(var(--font-size) * 0.9);\n opacity: 0.54;\n margin-bottom: -.5rem;\n }\n\n .c7-button {\n margin-top: auto;\n\n &.button-text {\n --c7-button-width: 100%;\n }\n\n &.button-text-box {\n --c7-button-width: 50%;\n }\n }\n\n .c7-tile-img-wrapper {\n position: relative;\n\n .c7-category {\n line-height: 2;\n padding: 0 1rem;\n position: absolute;\n max-width: 100%;\n min-width: 45%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n background-color: var(--c7-500, #e6e6e6);\n color: var(--c7-500-contrast, #000000);\n\n &.bottom-left {\n bottom: 0;\n left: 0;\n }\n\n &.bottom-right {\n bottom: 0;\n right: 0;\n }\n\n &.top-left {\n top: 0;\n left: 0;\n }\n\n &.top-right {\n top: 0;\n right: 0;\n }\n }\n\n .c7-tile-img-date {\n position: absolute;\n top: 1rem;\n left: 1rem;\n width: 70px;\n height: 70px;\n background-color: var(--c7-500);\n border-radius: 50%;\n\n .c7-date {\n display: flex;\n justify-content: center;\n flex-direction: column;\n text-align: center;\n height: 100%;\n color: var(--c7-500-contrast);\n line-height: 15px;\n }\n }\n }\n\n .c7-tile-more-wrapper {\n &.c7-tile-more-wrapper-plus {\n padding: 24px;\n margin-top: auto;\n\n display: flex;\n justify-content: center;\n\n .c7-button {\n width: 48px;\n height: 48px;\n }\n }\n }\n }\n\n c7-slide.swiper-slide {\n height: auto !important;\n text-align: initial;\n }\n\n}\n","import { Component, Host, h, Prop, State, Watch, writeTask, Listen } from '@stencil/core';\nimport { NewsArticleTeaserDto, NewsClient } from '../../../../api/APIClient';\nimport { setPage } from '../../../../utils/page';\nimport { coerceBooleanProperty, coerceNumberArray } from '../../../../utils/coerce';\nimport { coerceDateFormatOptions, DateRender } from '../../../utility/date/date';\nimport { ItemLinkProps } from '../../../../utils/link';\nimport Swiper, { SwiperOptions } from 'swiper';\nimport { DateSplitRender } from '../../../utility/date/date-split';\nimport { coerceCarouselContainerBreackpoints } from '../../../ui/carousel/carousel.utils';\n\n\nconst Spacer = () => ;\n\n/**\n * @type news\n * @group special\n */\n@Component({\n tag: 'c7-news-carousel-default',\n styleUrl: 'news-carousel-default.scss',\n shadow: false\n})\nexport class NewsCarouselDefault {\n\n @Prop({mutable: true}) page!: number;\n\n @Prop() slug: string;\n\n /**\n * @group categories\n */\n @Prop({mutable: true}) categories: number[] | string = [];\n @Watch('categories')\n onCategoriesChange(value) {\n this.categories = coerceNumberArray(value);\n }\n\n /**\n * @group items\n */\n @Prop({mutable: true}) items: number[] | string = [];\n @Watch('items')\n onItemsChange(value) {\n this.items = coerceNumberArray(value);\n }\n\n /**\n * @group categories\n */\n @Prop({mutable: true}) excludeCategories: number[] | string = [];\n @Watch('excludeCategories')\n onExcludeCategoriesChange(value: number[] | string) {\n this.excludeCategories = coerceNumberArray(value);\n }\n\n /**\n * @group items\n */\n @Prop({mutable: true}) excludeItems: number[] | string = [];\n @Watch('excludeItems')\n onExcludeItemsChange(value: number[] | string) {\n this.excludeItems = coerceNumberArray(value);\n }\n\n /**\n * @group pagination\n */\n @Prop() itemsCount: number = 9;\n\n /**\n * @group pagination\n */\n @Prop() spaceBetween: number = 30;\n\n\n /**\n * @group pagination\n * @type swiperConfig\n */\n @Prop({mutable: true}) itemsConfig: {\n [key: string]: {\n slidesPerView: number,\n spaceBetween: number\n }\n } | any = {\n 360: {\n slidesPerView: 1.5,\n spaceBetween: this.spaceBetween\n },\n 720: {\n slidesPerView: 2.5,\n spaceBetween: this.spaceBetween\n },\n 920: {\n slidesPerView: 3.5,\n spaceBetween: this.spaceBetween\n },\n };\n @Watch('itemsConfig')\n onItemsConfigChange(value: any) {\n const {spaceBetween} = this;\n this.itemsConfig = coerceCarouselContainerBreackpoints(value, {spaceBetween});\n }\n\n /**\n * @group pagination\n */\n @Prop() loop: boolean = false;\n @Watch('loop')\n onLoopChange(value) {\n this.loop = coerceBooleanProperty(value);\n }\n\n /**\n * @group pagination\n */\n @Prop() disablePager: boolean;\n\n /**\n * @group pagination\n */\n @Prop() pagerPosition: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' = 'bottom-left'\n\n /**\n * @group pagination\n */\n @Prop() pagerShape: 'capsule' | 'circle' = 'capsule';\n\n /**\n * @group pagination\n */\n @Prop() disablePrevNextButtons: boolean;\n\n /**\n * @group pagination\n */\n @Prop() prevNextButtonsPosition: 'center' | 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' = 'bottom-right';\n\n /**\n * @group pagination\n */\n @Prop() autoplay: boolean = false;\n @Watch('autoplay')\n onAutoplayChange(value) {\n this.autoplay = coerceBooleanProperty(value)\n }\n\n /**\n * @group pagination\n */\n @Prop() autoplayDelay: number = 5000;\n\n /**\n * @group readMore\n */\n @Prop() readMoreButton: boolean;\n\n /**\n * @group readMore\n */\n @Prop() readMoreButtonType: \"text\" | \"text-box\" | \"plus\" = \"text\";\n\n /**\n * @group readMore\n */\n @Prop() readMoreButtonText: string = 'weiterlesen';\n\n /**\n * @group showAll\n */\n @Prop() showAllLink: boolean;\n\n /**\n * @group showAll\n */\n @Prop() showAllLinkText: string = 'Alle anzeigen';\n\n /**\n * @group showAll\n */\n @Prop() showAllLinkPosition: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' = 'top-left';\n\n /**\n * @group content\n */\n @Prop() header: string;\n\n /**\n * @group content\n */\n @Prop() headerPosition: 'top-left' | 'top-center' | 'top-right' = 'top-center';\n\n /**\n * @group content\n */\n @Prop() datePosition: 'in-content' | 'above-content' | 'in-pic' = 'in-content';\n\n /**\n * @group content\n * @type dateFormat\n */\n @Prop() dateFormat: Intl.DateTimeFormatOptions | any = {day: '2-digit', month: 'long'};\n @Watch('dateFormat')\n onDateFormatChange(value) {\n this.dateFormat = coerceDateFormatOptions(value);\n }\n\n /**\n * @group content\n */\n @Prop() showCategory: boolean;\n\n /**\n * @group content\n */\n @Prop() categoryPosition: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' = 'bottom-right';\n\n /**\n * @group content\n */\n @Prop() disableTeaserPicture: boolean;\n\n /**\n * @group content\n */\n @Prop()\n disableTeaserText: boolean;\n\n\n /**\n * @group content\n */\n @Prop() contentHeaderIcon: string;\n\n @State() articles: NewsArticleTeaserDto[] = [];\n\n @State() prevEnabled: boolean = false;\n @State() nextEnabled: boolean = true;\n\n @Listen('c7-slide-did-change')\n async onSlideChange() {\n await this.setPrevNextState();\n }\n\n\n private _client: NewsClient = new NewsClient();\n\n private _slidesRef!: HTMLC7SlidesElement;\n\n private paginationEl!: HTMLElement;\n\n\n async componentWillLoad() {\n if (!this.page) {\n await setPage(this);\n }\n\n this.categories = coerceNumberArray(this.categories);\n this.items = coerceNumberArray(this.items);\n this.excludeCategories = coerceNumberArray(this.excludeCategories);\n this.excludeItems = coerceNumberArray(this.excludeItems);\n this.dateFormat = coerceDateFormatOptions(this.dateFormat);\n\n if (typeof this.itemsConfig === 'string') {\n const {spaceBetween} = this;\n this.itemsConfig = coerceCarouselContainerBreackpoints(this.itemsConfig, {spaceBetween});\n }\n }\n\n async componentDidLoad() {\n const {items} = await this._client.getArticles(this.page, 1, this.itemsCount, this.categories as number[], this.items as number[], this.excludeCategories as number[], this.excludeItems as number[]);\n this.articles = items;\n }\n\n private coerceItemsConfig(value: any) {\n if (typeof value === 'string') {\n value = value.split(',').reduce((acc, curr) => {\n\n const {0:containerWidth, 1: slidesPerView, 2: spaceBetween} = curr.split(':');\n acc = {\n ...acc,\n [+containerWidth]: {\n slidesPerView: slidesPerView ? +slidesPerView : 1,\n spaceBetween: spaceBetween ? +spaceBetween : this.spaceBetween\n }\n }\n\n return acc;\n }, {});\n\n return value;\n } else {\n Object.values(value).forEach((config: any) => {\n config.slidesPerView = config.slidesPerView ?? 1;\n config.spaceBetween = config.spaceBetween ?? this.spaceBetween;\n })\n\n return value;\n }\n }\n\n\n private async setPrevNextState() {\n const swiper = await this._slidesRef.getSwiper() as Swiper;\n writeTask(() => {\n this.prevEnabled = !swiper.isBeginning;\n this.nextEnabled = !swiper.isEnd;\n });\n }\n\n\n render() {\n const cssClassNames = {\n 'c7-news-carousel-default': true\n }\n\n const sliderOptions: SwiperOptions = {\n loop: this.loop,\n spaceBetween: this.spaceBetween,\n touchStartForcePreventDefault: true,\n breakpoints: {\n ...this.itemsConfig\n },\n breakpointsBase: 'container'\n }\n\n if (this.autoplay) {\n sliderOptions.autoplay = {\n delay: this.autoplayDelay,\n pauseOnMouseEnter: true,\n disableOnInteraction: false\n }\n }\n\n\n const prevBtn = !this.disablePrevNextButtons && (\n \n );\n\n const nextBtn = !this.disablePrevNextButtons && (\n \n );\n\n const pager = !this.disablePager &&\n
this.paginationEl = el}>
;\n\n const showAllLink = !!this.showAllLink && {this.showAllLinkText};\n\n const headerText = !!this.header &&\n

{this.header}

;\n\n const positionalRender = {\n ['top-left']: [],\n ['top-center']: [],\n ['top-right']: [],\n ['bottom-left']: [],\n ['bottom-center']: [],\n ['bottom-right']: [],\n ['center-right']: [],\n ['center-left']: [],\n };\n\n if (headerText) {\n positionalRender[this.headerPosition].push(headerText);\n }\n\n\n if (!this.disablePager && !this.disablePrevNextButtons && this.pagerPosition === this.prevNextButtonsPosition) {\n positionalRender[this.pagerPosition].push((\n \n ))\n } else {\n\n if (!this.disablePager) {\n positionalRender[this.pagerPosition].push(pager);\n }\n\n if(!this.disablePrevNextButtons) {\n if (this.prevNextButtonsPosition === 'center') {\n positionalRender['center-left'].push(prevBtn);\n positionalRender['center-right'].push(nextBtn);\n } else {\n positionalRender[this.prevNextButtonsPosition].push((\n \n ));\n }\n }\n }\n\n if (showAllLink) {\n positionalRender[this.showAllLinkPosition].push(showAllLink);\n }\n\n const topEmpty = positionalRender['top-left'].length === 0 && positionalRender['top-center'].length === 0 && positionalRender['top-right'].length === 0;\n const bottomEmpty = positionalRender['bottom-left'].length === 0 && positionalRender['bottom-center'].length === 0 && positionalRender['bottom-right'].length === 0;\n\n return (\n \n \n \n \n \n )\n }\n\n}\n\n\n\n"],"mappings":"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"}