{"version":3,"file":"AvailabilityStatus-CmQgrrus.js","sources":["../../src/components/atoms/availability-status/AvailabilityStatus.vue"],"sourcesContent":["<template>\n <component\n :is=\"statusTag\"\n :class=\"[\n 'availability-status',\n getAvailabilityStatus.class,\n theme ? `availability-status--${theme}` : null,\n showSmallIndicatorDot ? 'availability-status--small-indicator-dot' : null,\n ]\"\n >\n <tooltip-fi\n :class=\"['availability-status__tooltip', customTooltipClass]\"\n :tooltip=\"getAvailabilityStatus.text\"\n :custom-class=\"getAvailabilityStatus.class\"\n :disabled=\"disableTooltip || isLG\"\n >\n <template #trigger>\n <span :class=\"['availability-status__trigger', getAvailabilityStatus.class]\" />\n </template>\n </tooltip-fi>\n <div\n v-if=\"isLG || theme === 'buy-box' || theme === 'checkout' || showStatusText\"\n class=\"availability-status__text\"\n data-test=\"availability-status\"\n :data-test-2=\"getAvailabilityStatus.speed\"\n >\n {{ getAvailabilityStatus.text }}\n </div>\n </component>\n</template>\n\n<script>\nimport TooltipFi from 'atoms/tooltip-fi/TooltipFi';\nimport breakpointMixin from 'mixins/breakpointMixin';\n\nexport default {\n name: 'AvailabilityStatus',\n components: {\n TooltipFi,\n },\n mixins: [breakpointMixin],\n props: {\n deliverySpeed: {\n type: String,\n default: 'NODELIVERY',\n },\n disableTooltip: {\n type: Boolean,\n default: false,\n },\n customTooltipClass: {\n type: String,\n default: '',\n },\n id: {\n type: String,\n default: '',\n },\n theme: {\n type: String,\n default: '',\n },\n tag: {\n type: String,\n default: '',\n },\n showStatusText: {\n type: Boolean,\n default: false,\n },\n showSmallIndicatorDot: {\n type: Boolean,\n default: false,\n },\n stockLevels: {\n type: Array,\n default: null,\n },\n },\n data() {\n return {\n allowedTags: ['div', 'span'],\n };\n },\n computed: {\n statusTag() {\n let tag = 'div';\n\n if (this.allowedTags.includes(this.tag)) {\n tag = this.tag;\n }\n\n return tag;\n },\n getAvailabilityStatus() {\n const stockWithCode = this.stockLevels?.find(({ warehouse }) => warehouse?.code);\n const code = stockWithCode?.warehouse.code;\n\n const deliverySpeed =\n (code &&\n this.$dict.get(\n `online-Shop.Product.Warehouse.${code}-${this.deliverySpeed}-Speed`,\n null,\n { noDevFallback: true },\n )) ||\n this.deliverySpeed;\n const warehouseText =\n code &&\n this.$dict.get(`online-Shop.Product.Warehouse.${code}-${this.deliverySpeed}`, null, {\n noDevFallback: true,\n });\n\n const isFastDelivery = deliverySpeed === 'FASTDELIVERY';\n const isSlowDelivery = !deliverySpeed || deliverySpeed === 'SLOWDELIVERY';\n let availabilityText = this.$dict.get('online-Shop.Product.No-Delivery');\n let availabilityClass = 'availability-status--no-delivery';\n\n if (isFastDelivery) {\n availabilityText = this.$dict.get('online-Shop.Product.Fast-Delivery');\n availabilityClass = 'availability-status--fast-delivery';\n } else if (isSlowDelivery) {\n availabilityText = this.$dict.get('online-Shop.Product.Slow-Delivery');\n availabilityClass = 'availability-status--slow-delivery';\n }\n\n return {\n class: availabilityClass,\n text: warehouseText || availabilityText,\n speed: deliverySpeed,\n };\n },\n },\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import './availability-status';\n</style>\n\n<style lang=\"scss\">\n@import './availability-status-unscoped';\n</style>\n"],"names":["_sfc_main","TooltipFi","breakpointMixin","tag","stockWithCode","_a","warehouse","code","deliverySpeed","warehouseText","isFastDelivery","isSlowDelivery","availabilityText","availabilityClass","_hoisted_1","_createBlock","_resolveDynamicComponent","$options","_normalizeClass","$props","_withCtx","_createVNode","_component_tooltip_fi","_ctx","_createElementVNode","_createElementBlock","_createCommentVNode"],"mappings":"mIAmCA,MAAKA,EAAU,CACb,KAAM,qBACN,WAAY,CACV,UAAAC,CACD,EACD,OAAQ,CAACC,CAAe,EACxB,MAAO,CACL,cAAe,CACb,KAAM,OACN,QAAS,YACV,EACD,eAAgB,CACd,KAAM,QACN,QAAS,EACV,EACD,mBAAoB,CAClB,KAAM,OACN,QAAS,EACV,EACD,GAAI,CACF,KAAM,OACN,QAAS,EACV,EACD,MAAO,CACL,KAAM,OACN,QAAS,EACV,EACD,IAAK,CACH,KAAM,OACN,QAAS,EACV,EACD,eAAgB,CACd,KAAM,QACN,QAAS,EACV,EACD,sBAAuB,CACrB,KAAM,QACN,QAAS,EACV,EACD,YAAa,CACX,KAAM,MACN,QAAS,IACV,CACF,EACD,MAAO,CACL,MAAO,CACL,YAAa,CAAC,MAAO,MAAM,EAE9B,EACD,SAAU,CACR,WAAY,CACV,IAAIC,EAAM,MAEV,OAAI,KAAK,YAAY,SAAS,KAAK,GAAG,IACpCA,EAAM,KAAK,KAGNA,CACR,EACD,uBAAwB,OACtB,MAAMC,GAAgBC,EAAA,KAAK,cAAL,YAAAA,EAAkB,KAAK,CAAC,CAAE,UAAAC,CAAW,IAAKA,GAAA,YAAAA,EAAW,MACrEC,EAAOH,GAAA,YAAAA,EAAe,UAAU,KAEhCI,EACHD,GACC,KAAK,MAAM,IACT,iCAAiCA,CAAI,IAAI,KAAK,aAAa,SAC3D,KACA,CAAE,cAAe,EAAM,CACxB,GACH,KAAK,cACDE,EACJF,GACA,KAAK,MAAM,IAAI,iCAAiCA,CAAI,IAAI,KAAK,aAAa,GAAI,KAAM,CAClF,cAAe,EACjB,CAAC,EAEGG,EAAiBF,IAAkB,eACnCG,EAAiB,CAACH,GAAiBA,IAAkB,eAC3D,IAAII,EAAmB,KAAK,MAAM,IAAI,iCAAiC,EACnEC,EAAoB,mCAExB,OAAIH,GACFE,EAAmB,KAAK,MAAM,IAAI,mCAAmC,EACrEC,EAAoB,sCACXF,IACTC,EAAmB,KAAK,MAAM,IAAI,mCAAmC,EACrEC,EAAoB,sCAGf,CACL,MAAOA,EACP,KAAMJ,GAAiBG,EACvB,MAAOJ,EAEV,CACF,CACH,EApIAM,EAAA,CAAA,aAAA,6DACEC,EADFC,EAESC,EAAS,SAAA,EAAA,CACb,MAHLC,EAAA,uBAGiDD,EAAA,sBAAsB,MAAaE,EAAA,8BAAgCA,EAAK,KAAA,GAAA,KAAiBA,EAAqB,sBAAA,2CAAA,SAH/J,QAAAC,EAUI,IASa,CATbC,EASaC,EAAA,CARV,MAXPJ,kCAW+CC,EAAkB,kBAAA,CAAA,EAC1D,QAASF,EAAqB,sBAAC,KAC/B,eAAcA,EAAqB,sBAAC,MACpC,SAAUE,EAAc,gBAAII,EAAI,OAEtB,UACT,IAA+E,CAA/EC,EAA+E,OAAA,CAAxE,MAjBfN,EAAA,CAAA,+BAiBuDD,EAAqB,sBAAC,KAAK,CAAA,aAjBlF,EAAA,oDAqBYM,EAAA,MAAQJ,EAAA,QAAuB,WAAAA,EAAA,oBAAwBA,EAAc,oBAD7EM,EAOM,MAAA,CA3BV,IAAA,EAsBM,MAAM,4BACN,YAAU,sBACT,cAAaR,EAAqB,sBAAC,SAEjCA,EAAqB,sBAAC,IAAI,EA1BnC,EAAAH,CAAA,GAAAY,EAAA,GAAA,EAAA,IAAA,EAAA"}