{"version":3,"sources":["webpack:///./resources/js/src/app/components/basket/BasketPreview.vue","webpack:///resources/js/src/app/components/basket/BasketPreview.vue","webpack:///./resources/js/src/app/components/basket/BasketPreview.vue?95c0","webpack:///./resources/js/src/app/components/basket/BasketPreview.vue?eedd"],"names":["render","_vm","this","_c","_self","staticClass","class","empty","basketItems","length","hover","_v","_s","$translate","directives","name","rawName","attrs","type","basketNotifications","_l","notification","key","id","message","_e","scopedSlots","_u","fn","_t","proxy","showShippingCountrySelect","visibleFields","href","$ceres","urls","basket","rel","title","checkout","_withStripped","props","showNetPrices","Boolean","default","Array","computed","_objectSpread","App","config","previewType","mapState","state","data","items","isBasketItemQuantityUpdate","mounted","_this","addItemToBasketConfirm","ApiService","listen","show","methods","setTimeout","document","body","classList","add","component"],"mappings":"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","file":"chunks/ceres-20.min.js","sourcesContent":["var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"div\",\n    {\n      staticClass: \"basket-preview-wrapper h-100\",\n      class: {\n        empty: !_vm.basketItems.length,\n        \"open-hover\": _vm.hover,\n        \"open-right\": !_vm.hover,\n      },\n    },\n    [\n      _c(\"div\", { staticClass: \"position-relative h-100\" }, [\n        _c(\n          \"div\",\n          {\n            staticClass:\n              \"basket-preview d-flex flex-column flex-nowrap bg-white shadow w-100\",\n          },\n          [\n            _c(\n              \"header\",\n              { staticClass: \"basket-preview-header border-bottom p-3\" },\n              [\n                _c(\"span\", { staticClass: \"h3 mb-0\" }, [\n                  _vm._v(\n                    _vm._s(_vm.$translate(\"Ceres::Template.basketPreview\"))\n                  ),\n                ]),\n                _vm._v(\" \"),\n                _c(\n                  \"button\",\n                  {\n                    directives: [\n                      {\n                        name: \"toggle-basket-preview\",\n                        rawName: \"v-toggle-basket-preview\",\n                      },\n                    ],\n                    staticClass: \"close\",\n                    attrs: {\n                      type: \"button\",\n                      \"aria-label\": _vm.$translate(\"Ceres::Template.closeIcon\"),\n                    },\n                  },\n                  [\n                    _c(\"span\", { attrs: { \"aria-hidden\": \"true\" } }, [\n                      _vm._v(\"×\"),\n                    ]),\n                  ]\n                ),\n              ]\n            ),\n            _vm._v(\" \"),\n            _vm.basketNotifications.length > 0\n              ? _c(\n                  \"div\",\n                  _vm._l(_vm.basketNotifications, function (notification) {\n                    return _c(\n                      \"div\",\n                      {\n                        key: notification.id,\n                        staticClass: \"w-100 alert alert-danger\",\n                      },\n                      [_c(\"div\", [_vm._v(_vm._s(notification.message))])]\n                    )\n                  }),\n                  0\n                )\n              : _vm._e(),\n            _vm._v(\" \"),\n            _c(\n              \"div\",\n              { staticClass: \"basket-preview-content d-flex flex-fill\" },\n              [\n                _c(\"basket-list\", {\n                  staticClass:\n                    \"item-list d-flex flex-fill flex-nowrap flex-column overflow-auto px-3\",\n                  attrs: { \"is-preview\": true },\n                  scopedSlots: _vm._u(\n                    [\n                      {\n                        key: \"before-basket-item\",\n                        fn: function () {\n                          return [_vm._t(\"before-basket-item\")]\n                        },\n                        proxy: true,\n                      },\n                      {\n                        key: \"after-basket-item\",\n                        fn: function () {\n                          return [_vm._t(\"after-basket-item\")]\n                        },\n                        proxy: true,\n                      },\n                    ],\n                    null,\n                    true\n                  ),\n                }),\n                _vm._v(\" \"),\n                _c(\n                  \"div\",\n                  {\n                    staticClass:\n                      \"totals d-flex flex-nowrap flex-column px-3 pt-3\",\n                  },\n                  [\n                    _vm.showShippingCountrySelect\n                      ? _c(\"shipping-country-select\", {\n                          attrs: {\n                            \"basket-select\": true,\n                            \"open-basket-preview\": true,\n                          },\n                        })\n                      : _vm._e(),\n                    _vm._v(\" \"),\n                    _c(\"hr\"),\n                    _vm._v(\" \"),\n                    _vm._t(\"before-basket-totals\"),\n                    _vm._v(\" \"),\n                    _c(\"basket-totals\", {\n                      attrs: { \"visible-fields\": _vm.visibleFields },\n                      scopedSlots: _vm._u(\n                        [\n                          {\n                            key: \"before-item-sum\",\n                            fn: function () {\n                              return [_vm._t(\"before-item-sum\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"after-item-sum\",\n                            fn: function () {\n                              return [_vm._t(\"after-item-sum\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"before-shipping-costs\",\n                            fn: function () {\n                              return [_vm._t(\"before-shipping-costs\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"after-shipping-costs\",\n                            fn: function () {\n                              return [_vm._t(\"after-shipping-costs\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"before-total-sum\",\n                            fn: function () {\n                              return [_vm._t(\"before-total-sum\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"before-vat\",\n                            fn: function () {\n                              return [_vm._t(\"before-vat\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"after-vat\",\n                            fn: function () {\n                              return [_vm._t(\"after-vat\")]\n                            },\n                            proxy: true,\n                          },\n                          {\n                            key: \"after-total-sum\",\n                            fn: function () {\n                              return [_vm._t(\"after-total-sum\")]\n                            },\n                            proxy: true,\n                          },\n                        ],\n                        null,\n                        true\n                      ),\n                    }),\n                    _vm._v(\" \"),\n                    _vm._t(\"after-basket-totals\"),\n                    _vm._v(\" \"),\n                    _c(\n                      \"div\",\n                      { staticClass: \"basket-preview-footer d-flex pb-3\" },\n                      [\n                        _c(\n                          \"a\",\n                          {\n                            directives: [\n                              {\n                                name: \"waiting-animation-infinite\",\n                                rawName: \"v-waiting-animation-infinite\",\n                              },\n                            ],\n                            staticClass: \"btn btn-outline-primary btn-block\",\n                            attrs: {\n                              href: _vm.$ceres.urls.basket,\n                              rel: \"nofollow\",\n                              title: _vm.$translate(\"Ceres::Template.basket\"),\n                            },\n                          },\n                          [\n                            _c(\"i\", { staticClass: \"fa fa-shopping-cart\" }),\n                            _vm._v(\n                              \"\\n                            \" +\n                                _vm._s(\n                                  _vm.$translate(\"Ceres::Template.basket\")\n                                ) +\n                                \"\\n                        \"\n                            ),\n                          ]\n                        ),\n                        _vm._v(\" \"),\n                        _vm._t(\"before-checkout-button\"),\n                        _vm._v(\" \"),\n                        _c(\n                          \"a\",\n                          {\n                            directives: [\n                              {\n                                name: \"waiting-animation-infinite\",\n                                rawName: \"v-waiting-animation-infinite\",\n                              },\n                            ],\n                            staticClass: \"btn btn-primary btn-block\",\n                            attrs: {\n                              href: _vm.$ceres.urls.checkout,\n                              rel: \"nofollow\",\n                              title: _vm.$translate(\n                                \"Ceres::Template.basketCheckout\"\n                              ),\n                            },\n                          },\n                          [\n                            _c(\"i\", {\n                              staticClass: \"fa fa-arrow-right\",\n                              attrs: { \"aria-hidden\": \"true\" },\n                            }),\n                            _vm._v(\n                              \"\\n                            \" +\n                                _vm._s(\n                                  _vm.$translate(\n                                    \"Ceres::Template.basketCheckout\"\n                                  )\n                                ) +\n                                \"\\n                        \"\n                            ),\n                          ]\n                        ),\n                        _vm._v(\" \"),\n                        _vm._t(\"after-checkout-button\"),\n                      ],\n                      2\n                    ),\n                  ],\n                  2\n                ),\n              ],\n              1\n            ),\n          ]\n        ),\n      ]),\n      _vm._v(\" \"),\n      _c(\"div\", {\n        directives: [\n          { name: \"toggle-basket-preview\", rawName: \"v-toggle-basket-preview\" },\n        ],\n        staticClass: \"basket-preview-overlay\",\n      }),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"basket-preview-wrapper h-100\" :class=\"{ 'empty': !basketItems.length, 'open-hover': hover, 'open-right': !hover }\">\n        <div class=\"position-relative h-100\">\n            <div class=\"basket-preview d-flex flex-column flex-nowrap bg-white shadow w-100\">\n\n                <header class=\"basket-preview-header border-bottom p-3\">\n                    <span class=\"h3 mb-0\">{{ $translate(\"Ceres::Template.basketPreview\") }}</span>\n                    <button v-toggle-basket-preview type=\"button\" class=\"close\" :aria-label=\"$translate('Ceres::Template.closeIcon')\">\n                        <span aria-hidden=\"true\">&times;</span>\n                    </button>\n                </header>\n\n                <div v-if=\"basketNotifications.length > 0\">\n                    <div class=\"w-100 alert alert-danger\" v-for=\"notification in basketNotifications\" :key=\"notification.id\">\n                        <div>{{ notification.message }}</div>\n                    </div>\n                </div>\n\n                <div class=\"basket-preview-content d-flex flex-fill\">\n                    <basket-list class=\"item-list d-flex flex-fill flex-nowrap flex-column overflow-auto px-3\" :is-preview=\"true\">\n                        <template #before-basket-item>\n                            <slot name=\"before-basket-item\"></slot>\n                        </template>\n                        <template #after-basket-item>\n                            <slot name=\"after-basket-item\"></slot>\n                        </template>\n                    </basket-list>\n\n                    <div class=\"totals d-flex flex-nowrap flex-column px-3 pt-3\">\n\n                        <shipping-country-select\n                                v-if=\"showShippingCountrySelect\"\n                                :basket-select=\"true\"\n                                :open-basket-preview=\"true\">\n                        </shipping-country-select>\n                        <hr>\n\n                        <slot name=\"before-basket-totals\"></slot>\n\n                        <basket-totals :visible-fields=\"visibleFields\">\n                            <template #before-item-sum>\n                                <slot name=\"before-item-sum\"></slot>\n                            </template>\n                            <template #after-item-sum>\n                                <slot name=\"after-item-sum\"></slot>\n                            </template>\n                            <template #before-shipping-costs>\n                                <slot name=\"before-shipping-costs\"></slot>\n                            </template>\n                            <template #after-shipping-costs>\n                                <slot name=\"after-shipping-costs\"></slot>\n                            </template>\n                            <template #before-total-sum>\n                                <slot name=\"before-total-sum\"></slot>\n                            </template>\n                            <template #before-vat>\n                                <slot name=\"before-vat\"></slot>\n                            </template>\n                            <template #after-vat>\n                                <slot name=\"after-vat\"></slot>\n                            </template>\n                            <template #after-total-sum>\n                                <slot name=\"after-total-sum\"></slot>\n                            </template>\n                        </basket-totals>\n\n                        <slot name=\"after-basket-totals\"></slot>\n\n                        <div class=\"basket-preview-footer d-flex pb-3\">\n                            <a v-waiting-animation-infinite :href=\"$ceres.urls.basket\" rel=\"nofollow\" class=\"btn btn-outline-primary btn-block\" :title=\"$translate('Ceres::Template.basket')\">\n                                <i class=\"fa fa-shopping-cart\"></i>\n                                {{ $translate(\"Ceres::Template.basket\") }}\n                            </a>\n\n                            <slot name=\"before-checkout-button\"></slot>\n                            <a v-waiting-animation-infinite :href=\"$ceres.urls.checkout\" rel=\"nofollow\" class=\"btn btn-primary btn-block\" :title=\"$translate('Ceres::Template.basketCheckout')\">\n                                <i class=\"fa fa-arrow-right\" aria-hidden=\"true\"></i>\n                                {{ $translate(\"Ceres::Template.basketCheckout\") }}\n                            </a>\n                            <slot name=\"after-checkout-button\"></slot>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"basket-preview-overlay\" v-toggle-basket-preview></div>\n    </div>\n</template>\n\n<script>\nimport ApiService from \"../../services/ApiService\";\nimport { mapState } from \"vuex\";\n\nexport default {\n    name: \"basket-preview\",\n\n    props:\n    {\n        showNetPrices:\n        {\n            type: Boolean,\n            default: false\n        },\n        visibleFields:\n        {\n            type: Array,\n            default: () => [\n                \"basketValueNet\",\n                \"basketValueGross\",\n                \"rebate\",\n                \"shippingCostsNet\",\n                \"shippingCostsGross\",\n                \"promotionCoupon\",\n                \"totalSumNet\",\n                \"vats\",\n                \"additionalCosts\",\n                \"totalSumGross\",\n                \"salesCoupon\",\n                \"openAmount\",\n                \"subAmount\"\n            ]\n        }\n    },\n\n    computed: {\n        hover()\n        {\n            return App.config.basket.previewType === 'hover';\n        },\n\n        showShippingCountrySelect()\n        {\n            return App.config.basket.showShippingCountrySelect;\n        },\n\n        ...mapState({\n            basket: state => state.basket.data,\n            basketItems: state => state.basket.items,\n            basketNotifications: state => state.basket.basketNotifications,\n            isBasketItemQuantityUpdate: state => state.basket.isBasketItemQuantityUpdate\n        })\n    },\n\n    /**\n     * Bind to basket and bind the basket items\n     */\n    mounted()\n    {\n        if (App.config.basket.addItemToBasketConfirm === \"preview\")\n        {\n            ApiService.listen(\"AfterBasketItemAdd\", data =>\n            {\n                this.show();\n            });\n\n            ApiService.listen(\"AfterBasketItemUpdate\", data =>\n            {\n                if (!this.isBasketItemQuantityUpdate)\n                {\n                    this.show();\n                }\n            });\n        }\n    },\n\n    methods:\n    {\n        show()\n        {\n            setTimeout(function()\n            {\n                document.body.classList.add(\"basket-open\");\n            }, 1);\n        }\n    }\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasketPreview.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!./BasketPreview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BasketPreview.vue?vue&type=template&id=468cfbce\"\nimport script from \"./BasketPreview.vue?vue&type=script&lang=js\"\nexport * from \"./BasketPreview.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\nexport default component.exports"],"sourceRoot":""}