{"version":3,"file":"js/1386.1b56af3b5ab72200.js","mappings":"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","sources":["webpack://@sazka/web/../../libs/utils/carousel/use-flickity-dots.ts","webpack://@sazka/web/../../libs/utils/carousel/flickity-patched.ts","webpack://@sazka/web/./js/app/landing-page/widgets/models/landing-page-bonus.ts","webpack://@sazka/web/./js/app/landing-page/widgets/components/_bonuses-carousel.vue?f0e7","webpack://@sazka/web/./js/app/landing-page/widgets/components/_bonuses-carousel.vue","webpack://@sazka/web/./js/app/landing-page/widgets/components/_bonuses-carousel.vue?6b54","webpack://@sazka/web/../../libs/design-system/src/badge/ds-badge.vue?97ee","webpack://@sazka/web/../../libs/design-system/src/badge/ds-badge.vue"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { FlickityDotsOptions } from \"./flickity-dots-options\";\r\nimport { FlickityPatched } from \"./flickity-patched\";\r\n\r\nconst PATH_ATTRS_MAP = {\r\n \"clip-rule\": \"evenodd\",\r\n \"fill-rule\": \"evenodd\",\r\n};\r\n\r\nconst SVG_ATTRS_MAP = {\r\n viewBox: \"0 0 24 24\",\r\n width: \"24\",\r\n height: \"24\",\r\n};\r\n\r\nconst DS_ARROW_CLASS = \"ds-carousel-indicator__arrow\";\r\n\r\nconst BTN_CLASSES = [\"button\", \"button--sm\", \"button--text\"];\r\n\r\nconst defaultDotsOptions: FlickityDotsOptions = {\r\n rootEl: null,\r\n dots: null,\r\n theme: \"light\",\r\n next: null,\r\n prev: null,\r\n nextIcon:\r\n \"M6.257 2.331a1 1 0 0 1 1.412-.074l10 9a1 1 0 0 1 0 1.486l-10 9a1 1 0 1 1-1.338-1.486L15.505 12 6.331 3.743a1 1 0 0 1-.074-1.412Z\",\r\n prevIcon:\r\n \"M17.743 2.331a1 1 0 0 1-.074 1.412L8.495 12l9.174 8.257a1 1 0 1 1-1.338 1.486l-10-9a1 1 0 0 1 0-1.486l10-9a1 1 0 0 1 1.412.074Z\",\r\n useDsClasses: true,\r\n useCustomPrevNextButtons: false,\r\n};\r\n\r\n/**\r\n * When calling init method with config object\r\n * it will render dots at the rootEl you define\r\n */\r\nexport function useFlickityDots(carousel: FlickityPatched, options: FlickityDotsOptions) {\r\n const carouselInstance = carousel;\r\n if (Object.keys(options).length === 0) return;\r\n const config = Object.assign(defaultDotsOptions, options);\r\n\r\n if (config.useDsClasses && (carouselInstance as any).isInitActivated) {\r\n const indicatorClass = [\"ds-carousel-indicator\"];\r\n\r\n if (config.theme === \"dark\") indicatorClass.push(\"is-dark\");\r\n\r\n config.rootEl.classList.add(...indicatorClass);\r\n\r\n initPrevButton();\r\n initDots();\r\n initNextButton();\r\n }\r\n\r\n config.rootEl.append(\r\n config.prev || getElementFromInstance(\"prev\"),\r\n config.dots || getElementFromInstance(\"dots\"),\r\n config.next || getElementFromInstance(\"next\")\r\n );\r\n\r\n if (!getElementFromInstance(\"prev\") || !getElementFromInstance(\"next\")) {\r\n [...config.rootEl.childNodes].filter((child) => child.nodeType === 3).map((el) => el.remove());\r\n }\r\n\r\n /**\r\n * Destroy custom dots\r\n */\r\n function destroy() {\r\n if (config.rootEl.children.length > 0) config.rootEl.replaceChildren();\r\n }\r\n\r\n function initPrevButton() {\r\n if (!(carouselInstance as any).options.prevNextButtons && config.useCustomPrevNextButtons) {\r\n initButton(config.prev, \"prev\", config.prevIcon);\r\n }\r\n }\r\n\r\n function initNextButton() {\r\n if (!(carouselInstance as any).options.prevNextButtons && config.useCustomPrevNextButtons) {\r\n initButton(config.next, \"next\", config.nextIcon);\r\n }\r\n }\r\n\r\n function initButton(btn: HTMLElement, btnType: \"prev\" | \"next\", icon: string) {\r\n if (btn) {\r\n btn?.classList.add(`${DS_ARROW_CLASS}`, `${DS_ARROW_CLASS}--${btnType}`, ...BTN_CLASSES);\r\n setAttributes(btn?.querySelector(\".flickity-button-icon\"), SVG_ATTRS_MAP);\r\n btn?.querySelector<SVGPathElement>(\".arrow\").setAttribute(\"d\", icon);\r\n } else {\r\n const carouselBtn = getElementFromInstance(btnType);\r\n const arrow = carouselBtn.querySelector(\".arrow\");\r\n const svgElem = carouselBtn.querySelector(\".flickity-button-icon\");\r\n\r\n setAttributes(svgElem, SVG_ATTRS_MAP);\r\n setAttributes(arrow, PATH_ATTRS_MAP);\r\n arrow.setAttribute(\"d\", icon);\r\n arrow.removeAttribute(\"transform\");\r\n carouselBtn.classList.add(`${DS_ARROW_CLASS}`, `${DS_ARROW_CLASS}--${btnType}`, ...BTN_CLASSES);\r\n }\r\n }\r\n\r\n function initDots() {\r\n if (config.dots) {\r\n config.dots.classList.add(\"ds-carousel-indicator__dots\");\r\n } else {\r\n const dots = getElementFromInstance(\"dots\");\r\n dots.classList.add(\"ds-carousel-indicator__dots\");\r\n }\r\n }\r\n\r\n function getElementFromInstance(elType: \"prev\" | \"next\" | \"dots\") {\r\n switch (elType) {\r\n case \"prev\":\r\n return (\r\n (carouselInstance as any).options.prevNextButtons &&\r\n ((carouselInstance as any).prevButton.element as HTMLElement)\r\n );\r\n case \"dots\":\r\n return (\r\n (carouselInstance as any).options.pageDots &&\r\n ((carouselInstance as any).pageDots.holder as HTMLElement)\r\n );\r\n case \"next\":\r\n return (\r\n (carouselInstance as any).options.prevNextButtons &&\r\n ((carouselInstance as any).nextButton.element as HTMLElement)\r\n );\r\n }\r\n }\r\n\r\n function setAttributes(el: Element, attrs: Record<string, any>) {\r\n for (const key in attrs) {\r\n el.setAttribute(key, attrs[key]);\r\n }\r\n }\r\n\r\n return {\r\n destroy,\r\n };\r\n}\r\n","import Flickity from \"flickity\";\r\nimport { FlickityDotsOptions } from \"./flickity-dots-options\";\r\nimport { useFlickityDots } from \"./use-flickity-dots\";\r\n\r\nexport interface FlickityPatchedOptions extends Flickity.Options {\r\n dotsOptions?: FlickityDotsOptions;\r\n}\r\n\r\n/**\r\n * @deprecated Instead use KeenSlider in new components\r\n */\r\nexport class FlickityPatched extends Flickity {\r\n dots: ReturnType<typeof useFlickityDots>;\r\n dotsRoot: HTMLElement = null;\r\n\r\n constructor(selector: string | Element, options?: FlickityPatchedOptions) {\r\n super(selector, options);\r\n this.dotsRoot = options?.dotsOptions?.rootEl;\r\n\r\n this.on(\"dragStart\", () => {\r\n (this.cells as any[]).forEach((slide) => (slide.element.style.pointerEvents = \"none\"));\r\n });\r\n this.on(\"dragEnd\", () => (this.cells as any[]).forEach((slide) => (slide.element.style.pointerEvents = \"all\")));\r\n this.on(\"destroy\", () => {\r\n if (this.dots) this.dots.destroy();\r\n });\r\n\r\n if (options.dotsOptions) {\r\n this.dots = useFlickityDots(this, options.dotsOptions);\r\n }\r\n }\r\n\r\n // The following two methods fix the error that Flickity throws when there is different parent for dotsOptions and Carousel\r\n deactivatePageDots() {\r\n try {\r\n // Try to call flicity deactivatePageDots first\r\n Object.getPrototypeOf(Object.getPrototypeOf(this)).deactivatePageDots();\r\n } catch (e) {\r\n console.warn(\"Flickity deactivatePageDots failed calling its override.\");\r\n const superDeactivatePageDot = (this as any).pageDots.deactivate.bind({\r\n holder: this.dotsRoot.querySelector(\".flickity-page-dots\"),\r\n unbindStartEvent: () => {\r\n // Could not figure out what this was supposed to do. So there is just console.log to prevent TS error.\r\n console.log(\"unbidStart\");\r\n },\r\n parent: { element: this.dotsRoot },\r\n });\r\n superDeactivatePageDot();\r\n }\r\n }\r\n\r\n deactivatePrevNextButtons() {\r\n try {\r\n // Try to call flicity deactivatePrevNextButtons first\r\n Object.getPrototypeOf(Object.getPrototypeOf(this)).deactivatePrevNextButtons();\r\n } catch (e) {\r\n console.warn(\"Flickity deactivatePrevNextButtons failed calling its override.\");\r\n const superDeactivatePrevButton = (this as any).prevButton.deactivate.bind({\r\n element: (this as any).prevButton.element,\r\n unbindStartEvent: () => {\r\n // Could not figure out what this was supposed to do. So there is just console.log to prevent TS error.\r\n console.log(\"unbidStart\");\r\n },\r\n parent: { element: this.dotsRoot },\r\n });\r\n const superDeactivateNextButton = (this as any).prevButton.deactivate.bind({\r\n element: (this as any).nextButton.element,\r\n unbindStartEvent: () => {\r\n // Could not figure out what this was supposed to do. So there is just console.log to prevent TS error.\r\n console.log(\"unbidStart\");\r\n },\r\n parent: { element: this.dotsRoot },\r\n });\r\n superDeactivatePrevButton();\r\n superDeactivateNextButton();\r\n }\r\n }\r\n\r\n // FIX iOS 15 issues - when dragging, page moves\r\n // see https://github.com/metafizzy/flickity/issues/1177#issuecomment-981194285\r\n // can be removed when flickity fixes https://github.com/metafizzy/flickity/issues/1196\r\n resize() {\r\n if (!(this as any).isAnimating) {\r\n super.resize();\r\n }\r\n }\r\n}\r\n","export enum LandingPageBonusState {\r\n Planned,\r\n Running,\r\n Finished,\r\n}\r\n\r\nexport interface LandingPageBonusCard {\r\n id: number;\r\n title: string;\r\n dates: string;\r\n image: string;\r\n hasDetail: boolean;\r\n state: LandingPageBonusState;\r\n}\r\n\r\nexport interface LandingPageBonusPopup {\r\n id: number;\r\n title: string;\r\n image: string;\r\n text: string;\r\n leftButtonType: string;\r\n leftButtonText: string;\r\n leftButtonStyle: string;\r\n leftButtonLink: string;\r\n leftButtonOpenInNewTab: boolean;\r\n leftButtonBonus: number;\r\n rightButtonType: string;\r\n rightButtonText: string;\r\n rightButtonStyle: string;\r\n rightButtonLink: string;\r\n rightButtonOpenInNewTab: boolean;\r\n rightButtonBonus: number;\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createVNode as _createVNode, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"data-bonus-id\"]\nconst _hoisted_2 = { class: \"bonus-card__inner\" }\nconst _hoisted_3 = { class: \"bonus-card__tags\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"bonus-card__bottom\"\n}\nconst _hoisted_5 = [\"innerHTML\"]\n\nimport { onMounted, ref } from \"vue\";\r\n\r\nimport DsBadge from \"@sazka/design-system/src/badge/ds-badge.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport { FlickityPatched } from \"@sazka/utils/carousel/flickity-patched\";\r\nimport { LandingPageBonusCard, LandingPageBonusState } from \"../models/landing-page-bonus\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: '_bonuses-carousel',\n props: {\n jsonBonuses: {}\n },\n setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst bonuses: Array<LandingPageBonusCard> = JSON.parse(props.jsonBonuses);\r\nconst bonusesCarousel = ref<HTMLElement>();\r\n\r\nconst moveButtons = (wrapper: Element) => {\r\n wrapper.querySelectorAll(\".flickity-button\").forEach((btn) => {\r\n const arrow = document.createElement(\"div\");\r\n arrow.classList.add(\"btn\", \"btn-primary\", \"carousel-button\");\r\n btn.appendChild(arrow);\r\n $(btn).closest(\".lp-carousel__wrapper\")?.append(btn);\r\n });\r\n};\r\n\r\nconst baseOptions = {\r\n cellSelector: \".bonus-card\",\r\n contain: true,\r\n cellAlign: \"left\",\r\n pageDots: false,\r\n groupCells: true,\r\n};\r\n\r\nconst initCarousel = () => {\r\n return new FlickityPatched(bonusesCarousel.value, {\r\n ...baseOptions,\r\n on: {\r\n ready: () => moveButtons(bonusesCarousel.value),\r\n },\r\n });\r\n};\r\n\r\nonMounted(() => initCarousel());\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"bonuses-carousel\",\n ref_key: \"bonusesCarousel\",\n ref: bonusesCarousel\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(bonuses), (bonus, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: i,\n class: _normalizeClass([\"bonus-card\", { 'bonus-card--with-detail bonus-opener': bonus.hasDetail }]),\n \"data-bonus-id\": bonus.id\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"bonus-card__top\", {\r\n 'bonus-card__top--image-only': !bonus.title,\r\n }])\n }, [\n _createVNode(WebpImage, {\n src: bonus.image,\n alt: \"\",\n \"css-class\": \"bonus-card__image\",\n class: _normalizeClass({\r\n 'bonus-card__image--finished': bonus.state === _unref(LandingPageBonusState).Finished,\r\n })\n }, null, 8, [\"src\", \"class\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(DsBadge, {\n text: bonus.dates,\n class: \"bonus-card__tag bonus-card__tag--date\"\n }, null, 8, [\"text\"]),\n (bonus.state === _unref(LandingPageBonusState).Running)\n ? (_openBlock(), _createBlock(DsBadge, {\n key: 0,\n text: \"ProbÃhá\",\n class: \"bonus-card__tag bonus-card__tag--running\"\n }))\n : (bonus.state === _unref(LandingPageBonusState).Planned)\n ? (_openBlock(), _createBlock(DsBadge, {\n key: 1,\n text: \"Již brzy\",\n class: \"bonus-card__tag bonus-card__tag--planned\"\n }))\n : (bonus.state === _unref(LandingPageBonusState).Finished)\n ? (_openBlock(), _createBlock(DsBadge, {\n key: 2,\n text: \"UkonÄeno\",\n class: \"bonus-card__tag bonus-card__tag--finished\"\n }))\n : _createCommentVNode(\"\", true)\n ])\n ], 2),\n (bonus.title)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: \"bonus-card__title\",\n innerHTML: bonus.title\n }, null, 8, _hoisted_5)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 10, _hoisted_1))\n }), 128))\n ], 512))\n}\n}\n\n})","<template>\r\n <div class=\"bonuses-carousel\" ref=\"bonusesCarousel\">\r\n <div\r\n v-for=\"(bonus, i) in bonuses\"\r\n :key=\"i\"\r\n class=\"bonus-card\"\r\n :class=\"{ 'bonus-card--with-detail bonus-opener': bonus.hasDetail }\"\r\n :data-bonus-id=\"bonus.id\"\r\n >\r\n <div class=\"bonus-card__inner\">\r\n <div\r\n class=\"bonus-card__top\"\r\n :class=\"{\r\n 'bonus-card__top--image-only': !bonus.title,\r\n }\"\r\n >\r\n <WebpImage\r\n :src=\"bonus.image\"\r\n alt=\"\"\r\n css-class=\"bonus-card__image\"\r\n :class=\"{\r\n 'bonus-card__image--finished': bonus.state === LandingPageBonusState.Finished,\r\n }\"\r\n />\r\n <div class=\"bonus-card__tags\">\r\n <DsBadge :text=\"bonus.dates\" class=\"bonus-card__tag bonus-card__tag--date\"></DsBadge>\r\n <DsBadge\r\n v-if=\"bonus.state === LandingPageBonusState.Running\"\r\n text=\"ProbÃhá\"\r\n class=\"bonus-card__tag bonus-card__tag--running\"\r\n ></DsBadge>\r\n <DsBadge\r\n v-else-if=\"bonus.state === LandingPageBonusState.Planned\"\r\n text=\"Již brzy\"\r\n class=\"bonus-card__tag bonus-card__tag--planned\"\r\n ></DsBadge>\r\n <DsBadge\r\n v-else-if=\"bonus.state === LandingPageBonusState.Finished\"\r\n text=\"UkonÄeno\"\r\n class=\"bonus-card__tag bonus-card__tag--finished\"\r\n ></DsBadge>\r\n </div>\r\n </div>\r\n <div v-if=\"bonus.title\" class=\"bonus-card__bottom\">\r\n <div class=\"bonus-card__title\" v-html=\"bonus.title\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { onMounted, ref } from \"vue\";\r\n\r\nimport DsBadge from \"@sazka/design-system/src/badge/ds-badge.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport { FlickityPatched } from \"@sazka/utils/carousel/flickity-patched\";\r\nimport { LandingPageBonusCard, LandingPageBonusState } from \"../models/landing-page-bonus\";\r\n\r\nconst props = defineProps<{\r\n jsonBonuses: string;\r\n}>();\r\n\r\nconst bonuses: Array<LandingPageBonusCard> = JSON.parse(props.jsonBonuses);\r\nconst bonusesCarousel = ref<HTMLElement>();\r\n\r\nconst moveButtons = (wrapper: Element) => {\r\n wrapper.querySelectorAll(\".flickity-button\").forEach((btn) => {\r\n const arrow = document.createElement(\"div\");\r\n arrow.classList.add(\"btn\", \"btn-primary\", \"carousel-button\");\r\n btn.appendChild(arrow);\r\n $(btn).closest(\".lp-carousel__wrapper\")?.append(btn);\r\n });\r\n};\r\n\r\nconst baseOptions = {\r\n cellSelector: \".bonus-card\",\r\n contain: true,\r\n cellAlign: \"left\",\r\n pageDots: false,\r\n groupCells: true,\r\n};\r\n\r\nconst initCarousel = () => {\r\n return new FlickityPatched(bonusesCarousel.value, {\r\n ...baseOptions,\r\n on: {\r\n ready: () => moveButtons(bonusesCarousel.value),\r\n },\r\n });\r\n};\r\n\r\nonMounted(() => initCarousel());\r\n</script>\r\n","import script from \"./_bonuses-carousel.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./_bonuses-carousel.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-badge\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport DsIcon from \"../icon/ds-icon.vue\";\r\nimport { SvgBaseIcons } from \"../icon/types\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ds-badge',\n props: {\n text: {},\n iconLeft: {},\n iconRight: {},\n isInStorybook: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\r\n\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.iconLeft)\n ? (_openBlock(), _createBlock(DsIcon, {\n key: 0,\n width: 16,\n height: 16,\n name: _ctx.iconLeft,\n \"is-in-storybook\": _ctx.isInStorybook,\n class: \"ds-badge__icon-left\"\n }, null, 8, [\"name\", \"is-in-storybook\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", {\n class: \"ds-badge__text\",\n innerHTML: _ctx.text\n }, null, 8, _hoisted_2),\n (_ctx.iconRight)\n ? (_openBlock(), _createBlock(DsIcon, {\n key: 1,\n width: 16,\n height: 16,\n name: _ctx.iconRight,\n \"is-in-storybook\": _ctx.isInStorybook,\n class: \"ds-badge__icon-right\"\n }, null, 8, [\"name\", \"is-in-storybook\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./ds-badge.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ds-badge.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["PATH_ATTRS_MAP","SVG_ATTRS_MAP","viewBox","width","height","DS_ARROW_CLASS","BTN_CLASSES","defaultDotsOptions","rootEl","dots","theme","next","prev","nextIcon","prevIcon","useDsClasses","useCustomPrevNextButtons","useFlickityDots","carousel","options","carouselInstance","Object","keys","length","config","assign","isInitActivated","indicatorClass","push","classList","add","initPrevButton","initDots","initNextButton","destroy","children","replaceChildren","prevNextButtons","initButton","btn","btnType","icon","setAttributes","querySelector","setAttribute","carouselBtn","getElementFromInstance","arrow","svgElem","removeAttribute","elType","prevButton","element","pageDots","holder","nextButton","el","attrs","key","append","childNodes","filter","child","nodeType","map","remove","FlickityPatched","Flickity","constructor","selector","_options$dotsOptions","super","_defineProperty","this","dotsRoot","dotsOptions","on","cells","forEach","slide","style","pointerEvents","deactivatePageDots","getPrototypeOf","e","console","warn","superDeactivatePageDot","deactivate","bind","unbindStartEvent","log","parent","deactivatePrevNextButtons","superDeactivatePrevButton","superDeactivateNextButton","resize","isAnimating","LandingPageBonusState","_hoisted_1","_hoisted_2","class","_hoisted_3","_hoisted_4","_hoisted_5","_defineComponent","__name","props","jsonBonuses","setup","__props","bonuses","JSON","parse","bonusesCarousel","ref","moveButtons","wrapper","querySelectorAll","_$$closest","document","createElement","appendChild","$","closest","baseOptions","cellSelector","contain","cellAlign","groupCells","initCarousel","value","ready","onMounted","_ctx","_cache","_openBlock","_createElementBlock","ref_key","_Fragment","_renderList","_unref","bonus","i","_normalizeClass","hasDetail","id","_createElementVNode","title","_createVNode","WebpImage","src","image","alt","state","Finished","DsBadge","text","dates","Running","_createBlock","Planned","_createCommentVNode","innerHTML","__exports__","iconLeft","iconRight","isInStorybook","type","Boolean","default","DsIcon","name"],"sourceRoot":""}