{"version":3,"file":"index-Bi4HGF4Q.js","sources":["../../src/scripts/modules/react-modules/RelatedBlogsAndNewsSliderGraphQL/RelatedBlogsAndNewsSlider.tsx","../../src/scripts/modules/react-modules/RelatedBlogsAndNewsSliderGraphQL/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { GraphQLClient } from 'graphql-request';\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport {\r\n GetRelatedBlogsAndNewsByTagDocument,\r\n GetRelatedBlogsAndNewsByTagQuery\r\n} from '../../../../codegenGenerated/optigraphql/generated';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport { Navigation, Pagination } from 'swiper/modules';\r\nimport Loader from '../Loader';\r\nimport { getEnvGQLUrl } from '../../../helpers';\r\nimport 'swiper/css/bundle';\r\n\r\nconst useGetRelatedBlogAndNews = (endpoint: string, tag: string, currentPageId: number) => {\r\n const graphQLClient = new GraphQLClient(endpoint);\r\n\r\n const { isError, error, isFetching, data } = useQuery({\r\n queryKey: ['GetRelatedBlogAndNewsByTag', { tag: tag, currentPageId: currentPageId }],\r\n queryFn: async () =>\r\n graphQLClient.request(GetRelatedBlogsAndNewsByTagDocument, {\r\n tag: tag,\r\n currentPageId: currentPageId\r\n }) as GetRelatedBlogsAndNewsByTagQuery,\r\n refetchOnWindowFocus: false\r\n });\r\n\r\n return {\r\n status: isError ? 'error' : isFetching ? 'loading' : 'success',\r\n error: error as Error,\r\n results: data && data.ArticleDetailPage?.items ? data.ArticleDetailPage.items : []\r\n };\r\n};\r\n\r\nexport type RelatedBlogAndNewsSliderProps = {\r\n title: string;\r\n tag: string;\r\n currentPageId: string;\r\n imgFallback: string;\r\n noBackground?: string;\r\n};\r\n\r\nexport const RelatedBlogsAndNewsSlider = ({\r\n title,\r\n tag,\r\n currentPageId,\r\n imgFallback,\r\n noBackground\r\n}: RelatedBlogAndNewsSliderProps) => {\r\n const { status, results } = useGetRelatedBlogAndNews(\r\n getEnvGQLUrl(),\r\n tag,\r\n parseInt(currentPageId)\r\n );\r\n\r\n if (status === 'loading') {\r\n return <Loader />;\r\n }\r\n\r\n return (\r\n <>\r\n {status === 'error' && <></>}\r\n {results.length === 0 && <></>}\r\n {results.length > 1 && (\r\n <>\r\n <div\r\n className={`module-header ${noBackground === 'true' ? 'module-header--no-background' : ''}`}\r\n >\r\n <div className=\"container\">\r\n <h2 className=\"module-header__title\">{title ? title : ''}</h2>\r\n </div>\r\n </div>\r\n <div className=\"container\">\r\n <Swiper\r\n className={'related-blogs-and-news-slider__carousel'}\r\n modules={[Navigation, Pagination]}\r\n slidesPerView={1}\r\n spaceBetween={40}\r\n autoHeight={true}\r\n loop={true}\r\n navigation={{\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev'\r\n }}\r\n watchOverflow={true}\r\n pagination={{\r\n el: '.swiper-scrollbar',\r\n type: 'progressbar'\r\n }}\r\n breakpoints={{\r\n 767: {\r\n slidesPerView: 2,\r\n spaceBetween: 40\r\n },\r\n 1024: {\r\n slidesPerView: 2.5,\r\n spaceBetween: 40\r\n }\r\n }}\r\n >\r\n {results.map(result => {\r\n const dateString = result && result.Date ? result.Date : '';\r\n const date = new Date(dateString);\r\n\r\n const formattedDate = date.toLocaleDateString('en-US', {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric'\r\n });\r\n return (\r\n result && (\r\n <SwiperSlide key={result._id}>\r\n <a\r\n href={(result.OverrideCardLink?.Href as string) ?? result.Url}\r\n title={(result.OverrideCardLink?.Title as string) ?? result.Title}\r\n target={(result.OverrideCardLink?.Target as string) ?? ''}\r\n className=\"generic-image-card__link-container\"\r\n >\r\n <article className=\"generic-image-card generic-image-card--news\">\r\n <div className=\"picture generic-image-card__inner-picture\">\r\n <img\r\n className=\"resources-menu__news-card-image\"\r\n src={result?.BlogAndNewsImage?.Url ?? imgFallback}\r\n alt=\"about-card-image\"\r\n loading=\"lazy\"\r\n width=\"208\"\r\n height=\"150\"\r\n />\r\n </div>\r\n ∑\r\n <div className=\"generic-image-card__info-container\">\r\n <div className=\"generic-image-card__info-container-inner\">\r\n <h3 className=\"generic-image-card__title\">\r\n {result.Title ? result.Title : ''}\r\n </h3>\r\n <div className=\"generic-image-card__date-and-read-time\">\r\n <time className=\"generic-image-card__date\" dateTime={formattedDate}>\r\n {formattedDate}\r\n </time>\r\n <span className=\"generic-image-card__read-time\">\r\n {result.ReadTime ? result.ReadTime : ''}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </article>\r\n </a>\r\n </SwiperSlide>\r\n )\r\n );\r\n })}\r\n <div className=\"related-blogs-and-news-slider__controls\">\r\n <div className=\"related-blogs-and-news-slider__scrollbar-wrapper\">\r\n <div className=\"swiper-scrollbar\"></div>\r\n </div>\r\n <div className=\"related-blogs-and-news-slider__buttons\">\r\n <div className=\"swiper-button-prev\">\r\n <svg className=\"related-blogs-and-news-slider__button-icon\" role=\"presentation\">\r\n <use xlinkHref=\"#chevron-left\"></use>\r\n </svg>\r\n </div>\r\n <div className=\"swiper-button-next\">\r\n <svg className=\"related-blogs-and-news-slider__button-icon\" role=\"presentation\">\r\n <use xlinkHref=\"#chevron-right\"></use>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </Swiper>\r\n </div>\r\n </>\r\n )}\r\n </>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\r\nimport {\r\n RelatedBlogsAndNewsSlider,\r\n RelatedBlogAndNewsSliderProps\r\n} from './RelatedBlogsAndNewsSlider';\r\nconst defaultQueryClient = new QueryClient();\r\n\r\nconst RelatedBlogAndNewsSliderGraphQL = ({\r\n title,\r\n tag,\r\n currentPageId,\r\n imgFallback,\r\n noBackground\r\n}: RelatedBlogAndNewsSliderProps) => {\r\n return (\r\n <QueryClientProvider client={defaultQueryClient}>\r\n <RelatedBlogsAndNewsSlider\r\n title={title}\r\n tag={tag}\r\n currentPageId={currentPageId}\r\n imgFallback={imgFallback}\r\n noBackground={noBackground}\r\n />\r\n </QueryClientProvider>\r\n );\r\n};\r\n\r\nexport default RelatedBlogAndNewsSliderGraphQL;\r\n"],"names":["useGetRelatedBlogAndNews","endpoint","tag","currentPageId","graphQLClient","GraphQLClient","isError","error","isFetching","data","useQuery","GetRelatedBlogsAndNewsByTagDocument","_a","RelatedBlogsAndNewsSlider","title","imgFallback","noBackground","status","results","getEnvGQLUrl","Loader","React","Swiper","Navigation","Pagination","result","dateString","formattedDate","SwiperSlide","_b","_c","_d","defaultQueryClient","QueryClient","RelatedBlogAndNewsSliderGraphQL","QueryClientProvider"],"mappings":"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"}