{"version":3,"sources":["webpack:///resources/js/src/app/components/itemList/CategoryImageCarousel.vue","webpack:///resources/js/src/app/components/itemList/CategoryItem.vue","webpack:///resources/js/src/app/components/itemList/ItemStoreSpecial.vue","webpack:///./resources/js/src/app/components/itemList/CategoryImageCarousel.vue?27c1","webpack:///./resources/js/src/app/components/itemList/CategoryItem.vue?fe78","webpack:///./resources/js/src/app/components/itemList/ItemStoreSpecial.vue?5e2d","webpack:///./resources/js/src/app/components/itemList/CategoryImageCarousel.vue","webpack:///./resources/js/src/app/components/itemList/CategoryImageCarousel.vue?93f3","webpack:///./resources/js/src/app/components/itemList/CategoryImageCarousel.vue?a063","webpack:///./resources/js/src/app/components/itemList/CategoryItem.vue","webpack:///./resources/js/src/app/components/itemList/CategoryItem.vue?45b6","webpack:///./resources/js/src/app/components/itemList/CategoryItem.vue?c61b","webpack:///./resources/js/src/app/components/itemList/ItemStoreSpecial.vue","webpack:///./resources/js/src/app/components/itemList/ItemStoreSpecial.vue?4a32","webpack:///./resources/js/src/app/components/itemList/ItemStoreSpecial.vue?0a7d","webpack:///./resources/js/src/app/helper/getSlotData.js"],"names":["getSlotData","slotKey","vm","$options","slotData","hasOwnProperty","$slots","slotNode","elm","JSON","parse","textContent","text"],"mappings":"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AAGA,kBACA;AACA,qCADA;AAEA,oCAFA;AAGA,oCAHA;AAIA,gCAJA;AAKA,gDALA;AAMA;AANA,OAJA;AAYA,cACA;AACA,+DADA;AAEA,6DAFA;AAGA;AAHA;AAbA;AAmBA,GAnCA;AAqCA,YACA;AACA,YADA,sBACA;AACA;AACA,KAHA;AAKA,YALA,sBAKA;AACA;AACA,KAPA;AASA,SATA,mBASA;AACA;AACA;AAXA,GAtCA;AAoDA,SApDA,qBAqDA;AACA;AACA,GAvDA;AAyDA,WACA;AACA,0BADA,oCAEA;AACA,uGACA;AACA;AACA,OAHA,MAKA;AACA;AACA;;AAEA;AACA,KAbA;AAeA,YAfA,sBAgBA;AACA,8OACA;AACA;AACA;;AAEA,sGACA;AACA;AACA;;AAEA;AACA,KA5BA;AA8BA,qBA9BA,+BA+BA;AACA;;AAEA,mGACA;AACA;AACA,OAHA,MAKA;AACA;AACA;;AAEA,uBACA;AACA;AACA;;AAEA;AACA;AAjDA,GA1DA;AA8GA,SACA;AACA,gBADA,0BAEA;AACA;AACA;AAJA;AA/GA,G;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS,SAAS,oBAAoB,EAAE;AACxC;AACA;AACA,kBAAkB,sCAAsC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5DA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA,SAAS,4DAA4D;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAA+B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iCAAiC;AACpD;AACA;AACA;AACA,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,6CAA6C;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,2CAA2C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3ZA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kCAAkC;AACnD;AACA,wBAAwB,4CAA4C;AACpE;AACA;AACA;AACA,wBAAwB,mCAAmC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gCAAgC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AAAoG;AAC3B;AACL;;;AAGpE;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,2FAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAA6M,CAAgB,yPAAG,EAAC,C;;;;;;;;;;;;ACAjO;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAA2F;AAC3B;AACL;;;AAG3D;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,kFAAM;AACR,EAAE,uFAAM;AACR,EAAE,gGAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAAoM,CAAgB,gPAAG,EAAC,C;;;;;;;;;;;;ACAxN;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAA+F;AAC3B;AACL;;;AAG/D;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,sFAAM;AACR,EAAE,2FAAM;AACR,EAAE,oGAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAAwM,CAAgB,oPAAG,EAAC,C;;;;;;;;;;;;ACA5N;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,WAAT,CAAqBC,OAArB,EACP;AACI,SAAO,UAACC,EAAD,EACP;AACIA,MAAE,CAACC,QAAH,CAAYC,QAAZ,GAAuBF,EAAE,CAACC,QAAH,CAAYC,QAAZ,IAAwB,EAA/C;;AACA,QAAI,CAACF,EAAE,CAACC,QAAH,CAAYC,QAAZ,CAAqBC,cAArB,CAAoCJ,OAApC,CAAD,IAAiDC,EAAE,CAACI,MAAH,CAAUD,cAAV,CAAyBJ,OAAzB,CAArD,EACA;AACI,UAAMM,QAAQ,GAAGL,EAAE,CAACI,MAAH,CAAUL,OAAV,EAAmB,CAAnB,CAAjB;;AAEA,UAAIM,QAAQ,CAACC,GAAb,EACA;AACIN,UAAE,CAACC,QAAH,CAAYC,QAAZ,CAAqBH,OAArB,IAAgCQ,IAAI,CAACC,KAAL,CAAWH,QAAQ,CAACC,GAAT,CAAaG,WAAxB,CAAhC;AACH,OAHD,MAKA;AACIT,UAAE,CAACC,QAAH,CAAYC,QAAZ,CAAqBH,OAArB,IAAgCQ,IAAI,CAACC,KAAL,CAAWH,QAAQ,CAACK,IAApB,CAAhC;AACH;AACJ;;AAED,WAAOV,EAAE,CAACC,QAAH,CAAYC,QAAZ,CAAqBH,OAArB,CAAP;AACH,GAlBD;AAmBH,C","file":"chunks/ceres-7.js","sourcesContent":["<template>\n    <a\n        v-if=\"$data.$_enableCarousel\"\n        :id=\"`owl-carousel-${_uid}`\"\n        :href=\"itemUrl\"\n        :aria-label=\"$translate('Ceres::Template.itemImageCarousel')\"\n        role=\"listbox\"\n        class=\"owl-carousel owl-theme\">\n        <div v-for=\"(imageUrl, index) in imageUrls\" :key=\"index\">\n            <lazy-img\n                :image-url=\"imageUrl.url\"\n                :alt=\"getAltText(imageUrl)\"\n                :title=\"getTitleText(imageUrl)\"\n                :width=\"getImageWidth(imageUrl)\"\n                :height=\"getImageHeight(imageUrl)\"\n                :ref=\"{ 'itemLazyImage' : index === 0 }\"\n                picture-class=\"img-fluid\"\n                role=\"option\" />\n        </div>\n    </a>\n\n    <a v-else :href=\"itemUrl\">\n        <lazy-img\n            :ref=\"{ 'itemLazyImage': !disableLazyLoad }\"\n            :image-url=\"imageOrItemImage\"\n            :alt=\"getAltText(imageUrls[0])\"\n            :title=\"getTitleText(imageUrls[0])\"\n            :width=\"getImageWidth(imageUrls[0])\"\n            :height=\"getImageHeight(imageUrls[0])\"\n            picture-class=\"img-fluid\" />\n    </a>\n</template>\n\n<script>\n\nexport default {\n\n    name: \"category-image-carousel\",\n\n    props: {\n        imageUrlsData:\n        {\n            type: Array\n        },\n        itemUrl:\n        {\n            type: String\n        },\n        alt:\n        {\n            type: String\n        },\n        title:\n        {\n            type: String\n        },\n        showDots:\n        {\n            type: Boolean,\n            default: App.config.item.categoryShowDots\n        },\n        showNav:\n        {\n            type: Boolean,\n            default: App.config.item.categoryShowNav\n        },\n        disableLazyLoad: {\n            type: Boolean,\n            default: false\n        },\n        disableCarouselOnMobile:\n        {\n            type: Boolean\n        },\n        enableCarousel:\n        {\n            type: Boolean\n        },\n        template:\n        {\n            type: String\n        }\n    },\n\n    data()\n    {\n        return {\n            $_enableCarousel: false\n        };\n    },\n\n    computed:\n    {\n        imageUrls()\n        {\n            return this.imageUrlsData;\n        },\n        imageOrItemImage()\n        {\n            return this.imageUrls.length ? this.imageUrls[0].url : this.itemImage;\n        }\n    },\n\n    mounted()\n    {\n        const isMobile = window.matchMedia(\"(max-width: 768px)\").matches;\n        const shouldCarouselBeEnabled = this.enableCarousel && this.imageUrls.length > 1;\n\n        this.$data.$_enableCarousel = this.disableCarouselOnMobile && isMobile ? false : shouldCarouselBeEnabled;\n\n        this.$nextTick(() =>\n        {\n            if (this.$data.$_enableCarousel)\n            {\n                this.initializeCarousel();\n            }\n        });\n    },\n\n    methods:\n    {\n        initializeCarousel()\n        {\n            $(\"#owl-carousel-\" + this._uid).owlCarousel({\n                dots     : !!this.showDots,\n                items    : 1,\n                mouseDrag: false,\n                loop     : this.imageUrls.length > 1,\n                lazyLoad : !this.disableLazyLoad,\n                margin   : 10,\n                nav      : !!this.showNav,\n                navText  : [\n                    `<i id=\"owl-nav-text-left-${this._uid}\" class='fa fa-chevron-left' aria-hidden='true'></i>`,\n                    `<i id=\"owl-nav-text-right-${this._uid}\" class='fa fa-chevron-right' aria-hidden='true'></i>`\n                ],\n                onTranslated(event)\n                {\n                    const element = event.target.querySelector(\".owl-item.active img\");\n\n                    if (element && element.dataset.src && !element.src)\n                    {\n                        element.src = element.dataset.src;\n                        element.removeAttribute(\"data-src\");\n                    }\n                },\n                onInitialized: event =>\n                {\n                    if (this.showNav)\n                    {\n                        document.querySelector(`#owl-nav-text-left-${this._uid}`).parentElement.onclick = event => event.preventDefault();\n                        document.querySelector(`#owl-nav-text-right-${this._uid}`).parentElement.onclick = event => event.preventDefault();\n                    }\n                }\n            });\n        },\n\n        getAltText(image)\n        {\n            const alt = image && image.alternate ? image.alternate : this.alt;\n\n            return alt;\n        },\n\n        getTitleText(image)\n        {\n            const title = image && image.name ? image.name : this.title;\n\n            return title;\n        },\n\n        getImageWidth(image)\n        {\n            return image && image.width ? image.width : undefined;\n        },\n\n        getImageHeight(image)\n        {\n            return image && image.height ? image.height : undefined;\n        }\n    }\n}\n</script>\n","<template>\n    <article class=\"cmp cmp-product-thumb\" :data-testing=\"item.variation.id\">\n        <div :class=\"paddingClasses\" :style=\"paddingInlineStyles\">\n\n            <add-to-basket\n                    data-testing=\"item-add-to-basket\"\n                    :variation-id=\"item.variation.id\"\n                    :is-salable=\"!!item.filter && item.filter.isSalable\"\n                    :has-children=\"!!item.item && item.item.salableVariationCount > 1\"\n                    :interval-quantity=\"item.variation.intervalOrderQuantity || 1\"\n                    :minimum-quantity=\"item.variation.minimumOrderQuantity\"\n                    :maximum-quantity=\"!!item.variation.maximumOrderQuantity && item.variation.maximumOrderQuantity > 0 ? item.variation.maximumOrderQuantity : null\"\n                    :order-properties=\"item.properties.filter(function(prop) { return prop.property.isOderProperty })\"\n                    :has-order-properties=\"item.hasOrderProperties\"\n                    :has-required-order-property=\"item.hasRequiredOrderProperty\"\n                    :use-large-scale=\"true\"\n                    :show-quantity=\"false\"\n                    :item-url=\"item | itemURL(urlWithVariationId)\"\n                    :has-price=\"item | hasItemDefaultPrice\"\n                    :has-graduated-price=\"itemGraduatedPriceisCheapestSorting || itemGraduatedPricesalableVariationCount\"\n                    :item-type=\"item.item.itemType\">\n            </add-to-basket>\n\n            <div class=\"thumb-image\">\n                <div class=\"prop-1-1\">\n                    <slot name=\"item-image\">\n                        <category-image-carousel :image-urls-data=\"item.images | itemImages(imageUrlAccessor)\"\n                                                :alt=\"item | itemName\"\n                                                :title=\"item | itemName\"\n                                                :item-url=\"item | itemURL(urlWithVariationId)\"\n                                                :enable-carousel=\"$ceres.config.item.enableImageCarousel\"\n                                                :disable-carousel-on-mobile=\"disableCarouselOnMobile\"\n                                                ref=\"categoryImageCarousel\">\n                        </category-image-carousel>\n                    </slot>\n                </div>\n            </div>\n\n            <!-- STORE SPECIALS -->\n            <slot name=\"store-special\">\n                <item-store-special v-if=\"storeSpecial || item.variation.bundleType === 'bundle' || item.item.itemType === 'set'\"\n                                    :store-special=\"storeSpecial\"\n                                    :recommended-retail-price=\"item.prices.rrp\"\n                                    :variation-retail-price=\"item.prices.default\"\n                                    :special-offer-price=\"item.prices.specialOffer\"\n                                    :decimal-count=\"decimalCount\"\n                                    :bundle-type=\"item.variation.bundleType\"\n                                    :item-type=\"item.item.itemType\">\n                </item-store-special>\n            </slot>\n            <!-- ./STORE SPECIALS -->\n\n            <!-- ITEM DETAILS -->\n            <slot name=\"item-details\">\n                <div class=\"thumb-content\">\n                    <a :href=\"item | itemURL(urlWithVariationId)\" class=\"thumb-title small\" :class=\"{ 'stretched-link': $ceres.config.global.shippingCostsCategoryId == 0 }\">\n                        {{ item | itemName }}<!--\n                    --><span v-for=\"attribute in item.groupedAttributes\">{{ \"Ceres::Template.itemGroupedAttribute\" | translate(attribute) }}</span>\n                    </a>\n                    <div class=\"thumb-meta mt-2\">\n                        <slot name=\"before-prices\"></slot>\n\n                        <div class=\"prices\">\n                            <div v-if=\"item.prices.rrp && item.prices.rrp.price.value > 0 && item.prices.rrp.price.value > item.prices.default.price.value\" class=\"price-view-port\">\n                                <del class=\"crossprice\" v-if=\"item.prices.specialOffer\">\n                                    {{ item.prices.default.unitPrice.formatted | itemCrossPrice(true) }}\n                                </del>\n                                <del class=\"crossprice\" v-else>\n                                    {{ item.prices.rrp.unitPrice.formatted | itemCrossPrice }}\n                                </del>\n                            </div>\n\n                            <div class=\"price\">\n                                <template v-if=\"item.item.itemType === 'set'\">\n                                    {{ $translate(\"Ceres::Template.itemSetPrice\", { price: itemSetPrice }) }} {{ $translate(\"Ceres::Template.itemFootnote\") }}\n                                </template>\n                                <template v-else-if=\"itemGraduatedPriceisCheapestSorting\">\n                                    {{ $translate(\"Ceres::Template.itemFromPrice\", { price: itemPriceGraduated }) }} {{ $translate(\"Ceres::Template.itemFootnote\") }}\n                                </template>\n                                <template v-else-if=\"itemGraduatedPricesalableVariationCount\">\n                                    {{ $translate(\"Ceres::Template.itemFromPrice\", { price: itemPriceGraduated }) }} {{ $translate(\"Ceres::Template.itemFootnote\") }}\n                                </template>\n                                <template v-else>\n                                    {{ item.prices.default.unitPrice.formatted | specialOffer(item.prices, \"unitPrice\", \"formatted\") }} {{ $translate(\"Ceres::Template.itemFootnote\") }}\n                                </template>\n                            </div>\n                        </div>\n                    </div>\n\n                    <slot name=\"after-prices\"></slot>\n\n                    <div class=\"category-lowest-price small\" v-if=\"item.prices.default.lowestPrice.value && hasCrossPrice\">\n                        <span v-html=\"$translate('Ceres::Template.itemLowestPrice', {'price': item.prices.default.lowestPrice.formatted})\"></span>\n                    </div>\n\n                    <div class=\"category-unit-price small\" v-if=\"!(item.unit.unitOfMeasurement === 'C62' && item.unit.content === 1)\">\n                        <span>{{ item.unit.content }}</span>\n                        <span>&nbsp;{{ item.unit.names.name }}</span>\n                        <span v-if=\"item.variation.mayShowUnitPrice\">&nbsp;| {{ basePrice }}</span>\n                    </div>\n\n                    <add-to-basket\n                            :variation-id=\"item.variation.id\"\n                            :is-salable=\"!!item.filter && item.filter.isSalable\"\n                            :has-children=\"!!item.item && item.item.salableVariationCount > 1\"\n                            :interval-quantity=\"item.variation.intervalOrderQuantity || 1\"\n                            :minimum-quantity=\"item.variation.minimumOrderQuantity\"\n                            :maximum-quantity=\"!!item.variation.maximumOrderQuantity && item.variation.maximumOrderQuantity > 0 ? item.variation.maximumOrderQuantity : null\"\n                            :order-properties=\"item.properties.filter(function(prop) { return prop.property.isOderProperty })\"\n                            :has-order-properties=\"item.hasOrderProperties\"\n                            :has-required-order-property=\"item.hasRequiredOrderProperty\"\n                            :use-large-scale=\"false\"\n                            :show-quantity=\"false\"\n                            :item-url=\"item | itemURL(urlWithVariationId)\"\n                            :has-price=\"item | hasItemDefaultPrice\"\n                            :has-graduated-price=\"itemGraduatedPriceisCheapestSorting || itemGraduatedPricesalableVariationCount\"\n                            :item-type=\"item.item.itemType\">\n                    </add-to-basket>\n\n                    <div class=\"vat small text-muted\">\n                        {{ $translate(\"Ceres::Template.itemFootnote\") }} <span v-if=\"showNetPrices\">{{ $translate(\"Ceres::Template.itemExclVAT\") }}</span>\n                        <span v-else>{{ $translate(\"Ceres::Template.itemInclVAT\") }}</span>\n                        {{ $translate(\"Ceres::Template.itemExclusive\") }}\n                        <a v-if=\"$ceres.config.global.shippingCostsCategoryId > 0\" data-toggle=\"modal\" href=\"#shippingscosts\" class=\"text-appearance\" :title=\"$translate('Ceres::Template.itemShippingCosts')\">{{ $translate(\"Ceres::Template.itemShippingCosts\") }}</a>\n                        <a v-else :title=\"$translate('Ceres::Template.itemShippingCosts')\">{{ $translate(\"Ceres::Template.itemShippingCosts\") }}</a>\n                    </div>\n                </div>\n            </slot>\n            <!-- ./ITEM DETAILS  -->\n        </div>\n    </article>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport CategoryImageCarousel from \"./CategoryImageCarousel.vue\";\nimport ItemStoreSpecial from \"./ItemStoreSpecial.vue\";\nimport {getSlotData} from \"../../helper/getSlotData\";\n\nexport default {\n    components: {\n        CategoryImageCarousel,\n        ItemStoreSpecial\n    },\n\n    props: {\n        decimalCount:\n        {\n            type: Number,\n            default: 0\n        },\n        imageUrlAccessor:\n        {\n            type: String,\n            default: \"urlMiddle\"\n        },\n        itemData:\n        {\n            type: Object\n        },\n        disableCarouselOnMobile:\n        {\n            type: Boolean\n        },\n        paddingClasses:\n        {\n            type: String,\n            default: null\n        },\n        paddingInlineStyles:\n        {\n            type: String,\n            default: null\n        },\n        forceUrlWithVariationId:\n        {\n            type: Boolean,\n            default: false\n        }\n    },\n\n    jsonDataFields: [\n        \"itemDataRef\"\n    ],\n\n    computed:\n    {\n        item()\n        {\n            return this.itemData || this.itemSlotData || this.itemDataRef;\n        },\n\n        itemSlotData: getSlotData('item-data'),\n\n        /**\n         * returns itemData.item.storeSpecial\n         */\n        storeSpecial()\n        {\n            return this.item.item.storeSpecial;\n        },\n\n        /**\n         * returns itemData.texts\n         */\n        texts()\n        {\n            return this.item.texts;\n        },\n\n        itemPrice()\n        {\n            return this.$options.filters.specialOffer(this.item.prices.default.unitPrice.formatted, this.item.prices, \"unitPrice\", \"formatted\" );\n        },\n\n        basePrice()\n        {\n            return this.item.prices.default.basePrice;\n        },\n\n        itemPriceGraduated()\n        {\n           let unitPrice;\n           if (App.config.item.enableGraduatedPrices) {\n             unitPrice = this.item.prices.graduatedPrices.length > 0\n                 ? this.item.prices.graduatedPrices[0].unitPrice\n                 : this.item.prices.default.unitPrice;\n           } else {\n             unitPrice = this.item.prices.default.unitPrice;\n           }\n\n            return this.$options.filters.specialOffer(unitPrice.formatted, this.item.prices, \"unitPrice\", \"formatted\" );\n        },\n\n        itemGraduatedPriceisCheapestSorting()\n        {\n            return !!this.item.item && this.item.item.salableVariationCount > 1 && !!this.$ceres.isCheapestSorting;\n        },\n\n        itemGraduatedPricesalableVariationCount()\n        {\n            return !!this.item.item && this.item.item.salableVariationCount == 1 && this.item.prices.graduatedPrices.length > 1 && App.config.item.enableGraduatedPrices;\n        },\n\n        itemSetPrice()\n        {\n            return this.$options.filters.currency(\n                this.item.prices.default.price.value,\n                this.item.prices.default.currency\n            );\n        },\n\n        urlWithVariationId()\n        {\n            return !this.$ceres.config.item.showPleaseSelect || this.$ceres.initialPleaseSelect == 0 || this.forceUrlWithVariationId;\n        },\n\n        hasCrossPrice() {\n            const hasRrpPrice = !!this.item.prices.rrp &&\n                this.item.prices.rrp.unitPrice.value > this.item.prices.default.unitPrice.value;\n\n            const hasBeforePrice = !!this.item.prices.specialOffer &&\n                !!this.item.prices.default &&\n                this.item.prices.default.unitPrice.value > this.item.prices.specialOffer.unitPrice.value;\n\n            return hasRrpPrice || hasBeforePrice;\n        },\n\n        ...mapState({\n            showNetPrices: state => state.basket.showNetPrices\n        })\n    }\n}\n</script>\n","<template>\n    <div v-if=\"hasLabel || isBundle || isSet\" class=\"special-tags p-2\">\n        \n        <span v-if=\"hasLabel\" class=\"badge\" :class=\"tagClass\">\n            {{ label }}\n        </span>\n\n        <span v-else-if=\"isBundle\" :class=\"tagClasses.itemBundle\">\n            {{ $translate(\"Ceres::Template.itemBundle\") }}\n        </span>\n\n        <span v-else-if=\"isSet\" :class=\"tagClasses.itemSet\">\n            {{ $translate(\"Ceres::Template.itemSet\") }}\n        </span>\n\n    </div>\n</template>\n\n<script>\nimport { isNullOrUndefined, isDefined } from \"../../helper/utils\";\n\nexport default {\n\n    name: \"item-store-special\",\n\n    props: [\n        \"storeSpecial\",\n        \"recommendedRetailPrice\",\n        \"variationRetailPrice\",\n        \"specialOfferPrice\",\n        \"decimalCount\",\n        \"bundleType\",\n        \"itemType\"\n    ],\n\n    data()\n    {\n        return {\n            tagClass: \"\",\n            label: \"\",\n            tagClasses:\n            {\n                1: \"badge-offer badge-danger\",\n                2: \"badge-new badge-primary\",\n                3: \"badge-top badge-success\",\n                default: \"badge-success\",\n                itemBundle: \"badge badge-bundle bg-info\",\n                itemSet: \"badge badge-dark\"\n            },\n            labels:\n            {\n                1: this.$translate(\"Ceres::Template.storeSpecialOffer\"),\n                2: this.$translate(\"Ceres::Template.storeSpecialNew\"),\n                3: this.$translate(\"Ceres::Template.storeSpecialTop\")\n            }\n        };\n    },\n\n    computed:\n    {\n        hasLabel() {\n            return this.label && this.label !== \"\";\n        },\n\n        isBundle() {\n            return this.bundleType === \"bundle\";\n        },\n\n        isSet() {\n            return this.itemType === \"set\";\n        }\n    },\n\n    created()\n    {\n        this.initializeStoreSpecial();\n    },\n\n    methods:\n    {\n        initializeStoreSpecial()\n        {\n            if (!isNullOrUndefined(this.storeSpecial))\n            {\n                this.tagClass = this.tagClasses[this.storeSpecial.id] || this.tagClasses.default;\n            }\n            else\n            {\n                this.tagClass = this.tagClasses.default;\n            }\n\n            this.label = this.getLabel();\n        },\n\n        getLabel()\n        {\n            if (!isNullOrUndefined(this.storeSpecial) && this.storeSpecial.id === 1 && !isNullOrUndefined(this.recommendedRetailPrice))\n            {\n                return this.getPercentageSale();\n            }\n\n            if (isNullOrUndefined(this.storeSpecial))\n            {\n                return \"\";\n            }\n\n            return this.labels[this.storeSpecial.id] || this.storeSpecial.names.name;\n        },\n\n        getPercentageSale()\n        {\n            let percent;\n\n            if (isDefined(this.specialOfferPrice))\n            {\n                percent = (1 - this.specialOfferPrice.unitPrice.value / this.variationRetailPrice.unitPrice.value ) * -100;\n            }\n            else\n            {\n                percent = (1 - this.variationRetailPrice.unitPrice.value / this.recommendedRetailPrice.unitPrice.value ) * -100;\n            }\n\n            if (percent < 0)\n            {\n                return percent.toFixed(this.decimalCount).replace(\".\", App.decimalSeparator) + \"%\";\n            }\n\n            return \"\";\n        }\n    },\n\n    watch:\n    {\n        storeSpecial()\n        {\n            this.initializeStoreSpecial();\n        }\n    }\n}\n</script>\n","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _vm.$data.$_enableCarousel\n    ? _c(\n        \"a\",\n        {\n          staticClass: \"owl-carousel owl-theme\",\n          attrs: {\n            id: \"owl-carousel-\" + _vm._uid,\n            href: _vm.itemUrl,\n            \"aria-label\": _vm.$translate(\"Ceres::Template.itemImageCarousel\"),\n            role: \"listbox\"\n          }\n        },\n        _vm._l(_vm.imageUrls, function(imageUrl, index) {\n          return _c(\n            \"div\",\n            { key: index },\n            [\n              _c(\"lazy-img\", {\n                ref: { itemLazyImage: index === 0 },\n                refInFor: true,\n                attrs: {\n                  \"image-url\": imageUrl.url,\n                  alt: _vm.getAltText(imageUrl),\n                  title: _vm.getTitleText(imageUrl),\n                  width: _vm.getImageWidth(imageUrl),\n                  height: _vm.getImageHeight(imageUrl),\n                  \"picture-class\": \"img-fluid\",\n                  role: \"option\"\n                }\n              })\n            ],\n            1\n          )\n        }),\n        0\n      )\n    : _c(\n        \"a\",\n        { attrs: { href: _vm.itemUrl } },\n        [\n          _c(\"lazy-img\", {\n            ref: { itemLazyImage: !_vm.disableLazyLoad },\n            attrs: {\n              \"image-url\": _vm.imageOrItemImage,\n              alt: _vm.getAltText(_vm.imageUrls[0]),\n              title: _vm.getTitleText(_vm.imageUrls[0]),\n              width: _vm.getImageWidth(_vm.imageUrls[0]),\n              height: _vm.getImageHeight(_vm.imageUrls[0]),\n              \"picture-class\": \"img-fluid\"\n            }\n          })\n        ],\n        1\n      )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"article\",\n    {\n      staticClass: \"cmp cmp-product-thumb\",\n      attrs: { \"data-testing\": _vm.item.variation.id }\n    },\n    [\n      _c(\n        \"div\",\n        { class: _vm.paddingClasses, style: _vm.paddingInlineStyles },\n        [\n          _c(\"add-to-basket\", {\n            attrs: {\n              \"data-testing\": \"item-add-to-basket\",\n              \"variation-id\": _vm.item.variation.id,\n              \"is-salable\": !!_vm.item.filter && _vm.item.filter.isSalable,\n              \"has-children\":\n                !!_vm.item.item && _vm.item.item.salableVariationCount > 1,\n              \"interval-quantity\":\n                _vm.item.variation.intervalOrderQuantity || 1,\n              \"minimum-quantity\": _vm.item.variation.minimumOrderQuantity,\n              \"maximum-quantity\":\n                !!_vm.item.variation.maximumOrderQuantity &&\n                _vm.item.variation.maximumOrderQuantity > 0\n                  ? _vm.item.variation.maximumOrderQuantity\n                  : null,\n              \"order-properties\": _vm.item.properties.filter(function(prop) {\n                return prop.property.isOderProperty\n              }),\n              \"has-order-properties\": _vm.item.hasOrderProperties,\n              \"has-required-order-property\": _vm.item.hasRequiredOrderProperty,\n              \"use-large-scale\": true,\n              \"show-quantity\": false,\n              \"item-url\": _vm._f(\"itemURL\")(_vm.item, _vm.urlWithVariationId),\n              \"has-price\": _vm._f(\"hasItemDefaultPrice\")(_vm.item),\n              \"has-graduated-price\":\n                _vm.itemGraduatedPriceisCheapestSorting ||\n                _vm.itemGraduatedPricesalableVariationCount,\n              \"item-type\": _vm.item.item.itemType\n            }\n          }),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"thumb-image\" }, [\n            _c(\n              \"div\",\n              { staticClass: \"prop-1-1\" },\n              [\n                _vm._t(\"item-image\", [\n                  _c(\"category-image-carousel\", {\n                    ref: \"categoryImageCarousel\",\n                    attrs: {\n                      \"image-urls-data\": _vm._f(\"itemImages\")(\n                        _vm.item.images,\n                        _vm.imageUrlAccessor\n                      ),\n                      alt: _vm._f(\"itemName\")(_vm.item),\n                      title: _vm._f(\"itemName\")(_vm.item),\n                      \"item-url\": _vm._f(\"itemURL\")(\n                        _vm.item,\n                        _vm.urlWithVariationId\n                      ),\n                      \"enable-carousel\":\n                        _vm.$ceres.config.item.enableImageCarousel,\n                      \"disable-carousel-on-mobile\": _vm.disableCarouselOnMobile\n                    }\n                  })\n                ])\n              ],\n              2\n            )\n          ]),\n          _vm._v(\" \"),\n          _vm._t(\"store-special\", [\n            _vm.storeSpecial ||\n            _vm.item.variation.bundleType === \"bundle\" ||\n            _vm.item.item.itemType === \"set\"\n              ? _c(\"item-store-special\", {\n                  attrs: {\n                    \"store-special\": _vm.storeSpecial,\n                    \"recommended-retail-price\": _vm.item.prices.rrp,\n                    \"variation-retail-price\": _vm.item.prices.default,\n                    \"special-offer-price\": _vm.item.prices.specialOffer,\n                    \"decimal-count\": _vm.decimalCount,\n                    \"bundle-type\": _vm.item.variation.bundleType,\n                    \"item-type\": _vm.item.item.itemType\n                  }\n                })\n              : _vm._e()\n          ]),\n          _vm._v(\" \"),\n          _vm._t(\"item-details\", [\n            _c(\n              \"div\",\n              { staticClass: \"thumb-content\" },\n              [\n                _c(\n                  \"a\",\n                  {\n                    staticClass: \"thumb-title small\",\n                    class: {\n                      \"stretched-link\":\n                        _vm.$ceres.config.global.shippingCostsCategoryId == 0\n                    },\n                    attrs: {\n                      href: _vm._f(\"itemURL\")(_vm.item, _vm.urlWithVariationId)\n                    }\n                  },\n                  [\n                    _vm._v(\n                      \"\\n                    \" +\n                        _vm._s(_vm._f(\"itemName\")(_vm.item))\n                    ),\n                    _vm._l(_vm.item.groupedAttributes, function(attribute) {\n                      return _c(\"span\", [\n                        _vm._v(\n                          _vm._s(\n                            _vm._f(\"translate\")(\n                              \"Ceres::Template.itemGroupedAttribute\",\n                              attribute\n                            )\n                          )\n                        )\n                      ])\n                    })\n                  ],\n                  2\n                ),\n                _vm._v(\" \"),\n                _c(\n                  \"div\",\n                  { staticClass: \"thumb-meta mt-2\" },\n                  [\n                    _vm._t(\"before-prices\"),\n                    _vm._v(\" \"),\n                    _c(\"div\", { staticClass: \"prices\" }, [\n                      _vm.item.prices.rrp &&\n                      _vm.item.prices.rrp.price.value > 0 &&\n                      _vm.item.prices.rrp.price.value >\n                        _vm.item.prices.default.price.value\n                        ? _c(\"div\", { staticClass: \"price-view-port\" }, [\n                            _vm.item.prices.specialOffer\n                              ? _c(\"del\", { staticClass: \"crossprice\" }, [\n                                  _vm._v(\n                                    \"\\n                                \" +\n                                      _vm._s(\n                                        _vm._f(\"itemCrossPrice\")(\n                                          _vm.item.prices.default.unitPrice\n                                            .formatted,\n                                          true\n                                        )\n                                      ) +\n                                      \"\\n                            \"\n                                  )\n                                ])\n                              : _c(\"del\", { staticClass: \"crossprice\" }, [\n                                  _vm._v(\n                                    \"\\n                                \" +\n                                      _vm._s(\n                                        _vm._f(\"itemCrossPrice\")(\n                                          _vm.item.prices.rrp.unitPrice\n                                            .formatted\n                                        )\n                                      ) +\n                                      \"\\n                            \"\n                                  )\n                                ])\n                          ])\n                        : _vm._e(),\n                      _vm._v(\" \"),\n                      _c(\n                        \"div\",\n                        { staticClass: \"price\" },\n                        [\n                          _vm.item.item.itemType === \"set\"\n                            ? [\n                                _vm._v(\n                                  \"\\n                                \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemSetPrice\",\n                                        { price: _vm.itemSetPrice }\n                                      )\n                                    ) +\n                                    \" \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFootnote\"\n                                      )\n                                    ) +\n                                    \"\\n                            \"\n                                )\n                              ]\n                            : _vm.itemGraduatedPriceisCheapestSorting\n                            ? [\n                                _vm._v(\n                                  \"\\n                                \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFromPrice\",\n                                        { price: _vm.itemPriceGraduated }\n                                      )\n                                    ) +\n                                    \" \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFootnote\"\n                                      )\n                                    ) +\n                                    \"\\n                            \"\n                                )\n                              ]\n                            : _vm.itemGraduatedPricesalableVariationCount\n                            ? [\n                                _vm._v(\n                                  \"\\n                                \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFromPrice\",\n                                        { price: _vm.itemPriceGraduated }\n                                      )\n                                    ) +\n                                    \" \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFootnote\"\n                                      )\n                                    ) +\n                                    \"\\n                            \"\n                                )\n                              ]\n                            : [\n                                _vm._v(\n                                  \"\\n                                \" +\n                                    _vm._s(\n                                      _vm._f(\"specialOffer\")(\n                                        _vm.item.prices.default.unitPrice\n                                          .formatted,\n                                        _vm.item.prices,\n                                        \"unitPrice\",\n                                        \"formatted\"\n                                      )\n                                    ) +\n                                    \" \" +\n                                    _vm._s(\n                                      _vm.$translate(\n                                        \"Ceres::Template.itemFootnote\"\n                                      )\n                                    ) +\n                                    \"\\n                            \"\n                                )\n                              ]\n                        ],\n                        2\n                      )\n                    ])\n                  ],\n                  2\n                ),\n                _vm._v(\" \"),\n                _vm._t(\"after-prices\"),\n                _vm._v(\" \"),\n                _vm.item.prices.default.lowestPrice.value && _vm.hasCrossPrice\n                  ? _c(\"div\", { staticClass: \"category-lowest-price small\" }, [\n                      _c(\"span\", {\n                        domProps: {\n                          innerHTML: _vm._s(\n                            _vm.$translate(\"Ceres::Template.itemLowestPrice\", {\n                              price:\n                                _vm.item.prices.default.lowestPrice.formatted\n                            })\n                          )\n                        }\n                      })\n                    ])\n                  : _vm._e(),\n                _vm._v(\" \"),\n                !(\n                  _vm.item.unit.unitOfMeasurement === \"C62\" &&\n                  _vm.item.unit.content === 1\n                )\n                  ? _c(\"div\", { staticClass: \"category-unit-price small\" }, [\n                      _c(\"span\", [_vm._v(_vm._s(_vm.item.unit.content))]),\n                      _vm._v(\" \"),\n                      _c(\"span\", [\n                        _vm._v(\" \" + _vm._s(_vm.item.unit.names.name))\n                      ]),\n                      _vm._v(\" \"),\n                      _vm.item.variation.mayShowUnitPrice\n                        ? _c(\"span\", [_vm._v(\" | \" + _vm._s(_vm.basePrice))])\n                        : _vm._e()\n                    ])\n                  : _vm._e(),\n                _vm._v(\" \"),\n                _c(\"add-to-basket\", {\n                  attrs: {\n                    \"variation-id\": _vm.item.variation.id,\n                    \"is-salable\":\n                      !!_vm.item.filter && _vm.item.filter.isSalable,\n                    \"has-children\":\n                      !!_vm.item.item &&\n                      _vm.item.item.salableVariationCount > 1,\n                    \"interval-quantity\":\n                      _vm.item.variation.intervalOrderQuantity || 1,\n                    \"minimum-quantity\": _vm.item.variation.minimumOrderQuantity,\n                    \"maximum-quantity\":\n                      !!_vm.item.variation.maximumOrderQuantity &&\n                      _vm.item.variation.maximumOrderQuantity > 0\n                        ? _vm.item.variation.maximumOrderQuantity\n                        : null,\n                    \"order-properties\": _vm.item.properties.filter(function(\n                      prop\n                    ) {\n                      return prop.property.isOderProperty\n                    }),\n                    \"has-order-properties\": _vm.item.hasOrderProperties,\n                    \"has-required-order-property\":\n                      _vm.item.hasRequiredOrderProperty,\n                    \"use-large-scale\": false,\n                    \"show-quantity\": false,\n                    \"item-url\": _vm._f(\"itemURL\")(\n                      _vm.item,\n                      _vm.urlWithVariationId\n                    ),\n                    \"has-price\": _vm._f(\"hasItemDefaultPrice\")(_vm.item),\n                    \"has-graduated-price\":\n                      _vm.itemGraduatedPriceisCheapestSorting ||\n                      _vm.itemGraduatedPricesalableVariationCount,\n                    \"item-type\": _vm.item.item.itemType\n                  }\n                }),\n                _vm._v(\" \"),\n                _c(\"div\", { staticClass: \"vat small text-muted\" }, [\n                  _vm._v(\n                    \"\\n                    \" +\n                      _vm._s(_vm.$translate(\"Ceres::Template.itemFootnote\")) +\n                      \" \"\n                  ),\n                  _vm.showNetPrices\n                    ? _c(\"span\", [\n                        _vm._v(\n                          _vm._s(_vm.$translate(\"Ceres::Template.itemExclVAT\"))\n                        )\n                      ])\n                    : _c(\"span\", [\n                        _vm._v(\n                          _vm._s(_vm.$translate(\"Ceres::Template.itemInclVAT\"))\n                        )\n                      ]),\n                  _vm._v(\n                    \"\\n                    \" +\n                      _vm._s(_vm.$translate(\"Ceres::Template.itemExclusive\")) +\n                      \"\\n                    \"\n                  ),\n                  _vm.$ceres.config.global.shippingCostsCategoryId > 0\n                    ? _c(\n                        \"a\",\n                        {\n                          staticClass: \"text-appearance\",\n                          attrs: {\n                            \"data-toggle\": \"modal\",\n                            href: \"#shippingscosts\",\n                            title: _vm.$translate(\n                              \"Ceres::Template.itemShippingCosts\"\n                            )\n                          }\n                        },\n                        [\n                          _vm._v(\n                            _vm._s(\n                              _vm.$translate(\n                                \"Ceres::Template.itemShippingCosts\"\n                              )\n                            )\n                          )\n                        ]\n                      )\n                    : _c(\n                        \"a\",\n                        {\n                          attrs: {\n                            title: _vm.$translate(\n                              \"Ceres::Template.itemShippingCosts\"\n                            )\n                          }\n                        },\n                        [\n                          _vm._v(\n                            _vm._s(\n                              _vm.$translate(\n                                \"Ceres::Template.itemShippingCosts\"\n                              )\n                            )\n                          )\n                        ]\n                      )\n                ])\n              ],\n              2\n            )\n          ])\n        ],\n        2\n      )\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _vm.hasLabel || _vm.isBundle || _vm.isSet\n    ? _c(\"div\", { staticClass: \"special-tags p-2\" }, [\n        _vm.hasLabel\n          ? _c(\"span\", { staticClass: \"badge\", class: _vm.tagClass }, [\n              _vm._v(\"\\n        \" + _vm._s(_vm.label) + \"\\n    \")\n            ])\n          : _vm.isBundle\n          ? _c(\"span\", { class: _vm.tagClasses.itemBundle }, [\n              _vm._v(\n                \"\\n        \" +\n                  _vm._s(_vm.$translate(\"Ceres::Template.itemBundle\")) +\n                  \"\\n    \"\n              )\n            ])\n          : _vm.isSet\n          ? _c(\"span\", { class: _vm.tagClasses.itemSet }, [\n              _vm._v(\n                \"\\n        \" +\n                  _vm._s(_vm.$translate(\"Ceres::Template.itemSet\")) +\n                  \"\\n    \"\n              )\n            ])\n          : _vm._e()\n      ])\n    : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./CategoryImageCarousel.vue?vue&type=template&id=62e5025e&\"\nimport script from \"./CategoryImageCarousel.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryImageCarousel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('62e5025e')) {\n      api.createRecord('62e5025e', component.options)\n    } else {\n      api.reload('62e5025e', component.options)\n    }\n    module.hot.accept(\"./CategoryImageCarousel.vue?vue&type=template&id=62e5025e&\", function () {\n      api.rerender('62e5025e', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"resources/js/src/app/components/itemList/CategoryImageCarousel.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryImageCarousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryImageCarousel.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryImageCarousel.vue?vue&type=template&id=62e5025e&\"","import { render, staticRenderFns } from \"./CategoryItem.vue?vue&type=template&id=8ab526e6&\"\nimport script from \"./CategoryItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CategoryItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('8ab526e6')) {\n      api.createRecord('8ab526e6', component.options)\n    } else {\n      api.reload('8ab526e6', component.options)\n    }\n    module.hot.accept(\"./CategoryItem.vue?vue&type=template&id=8ab526e6&\", function () {\n      api.rerender('8ab526e6', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"resources/js/src/app/components/itemList/CategoryItem.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryItem.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoryItem.vue?vue&type=template&id=8ab526e6&\"","import { render, staticRenderFns } from \"./ItemStoreSpecial.vue?vue&type=template&id=9410a8b2&\"\nimport script from \"./ItemStoreSpecial.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemStoreSpecial.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('9410a8b2')) {\n      api.createRecord('9410a8b2', component.options)\n    } else {\n      api.reload('9410a8b2', component.options)\n    }\n    module.hot.accept(\"./ItemStoreSpecial.vue?vue&type=template&id=9410a8b2&\", function () {\n      api.rerender('9410a8b2', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"resources/js/src/app/components/itemList/ItemStoreSpecial.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemStoreSpecial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemStoreSpecial.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemStoreSpecial.vue?vue&type=template&id=9410a8b2&\"","/**\n * Return a getter function to read json formatted data from a slot of the component.\n * This can be used to create a dynamic property for a vue component returning the parsed\n * json data from the given slot.\n * Once the data have been parsed, the result is stored on the vm options to avoid parsing the slot again.\n *\n * @param string slotKey The identifier of the slot to parse json data from\n */\nexport function getSlotData(slotKey)\n{\n    return (vm) =>\n    {\n        vm.$options.slotData = vm.$options.slotData || {};\n        if (!vm.$options.slotData.hasOwnProperty(slotKey) && vm.$slots.hasOwnProperty(slotKey))\n        {\n            const slotNode = vm.$slots[slotKey][0];\n\n            if (slotNode.elm)\n            {\n                vm.$options.slotData[slotKey] = JSON.parse(slotNode.elm.textContent);\n            }\n            else\n            {\n                vm.$options.slotData[slotKey] = JSON.parse(slotNode.text);\n            }\n        }\n\n        return vm.$options.slotData[slotKey];\n    };\n}\n"],"sourceRoot":""}