{"version":3,"file":"chunk.4534.9b551b5403f44678.js","mappings":"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","sources":["webpack://tombras/./lodge-vue/src/AddToCart.vue","webpack://tombras/lodge-vue/src/AddToCart.vue","webpack://tombras/./lodge-vue/src/AddToCart.vue?0864","webpack://tombras/./lodge-vue/src/AddToCart.vue?992a","webpack://tombras/./lodge-vue/src/mixins/helpers.ts","webpack://tombras/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://tombras/./node_modules/vue-property-decorator/lib/vue-property-decorator.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"add-to-cart-btn\"},[(!_vm.freeProd)?_c('button',{ref:\"button\",class:`${_vm.classes}${_vm.updating ? ' updating' : ''}`,attrs:{\"data-sku\":_vm.sku,\"disabled\":_vm.disabled},on:{\"click\":_vm.addToCart}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):_vm._e(),(_vm.freeProd)?_c('button',{ref:\"button\",class:`${_vm.classes}${_vm.updating ? ' updating' : ''}`,attrs:{\"data-sku\":_vm.sku,\"disabled\":_vm.disabled},on:{\"click\":_vm.addGiftToCart}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddToCart.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AddToCart.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AddToCart.vue?vue&type=template&id=0eb21776\"\nimport script from \"./AddToCart.vue?vue&type=script&lang=ts\"\nexport * from \"./AddToCart.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","import Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nlet accountModule = require(\"../store/account\").accountModule;\n\nexport function AddAsyncUpdates(property: string) {\n\treturn function(target: Vue, key: string, descriptor: any) {\n\t\tconst original = descriptor.value;\n\t\tif (typeof original === \"function\") {\n\t\t\t// console.log(target, key, descriptor);\n\t\t\tdescriptor.value = async function(...args: any[]) {\n\t\t\t\tconst boundOriginal = original.bind(this);\n\t\t\t\tconsole.log(\"before\", key);\n\t\t\t\tthis[property] = true;\n\t\t\t\tawait boundOriginal(...args);\n\t\t\t\tthis[property] = false;\n\t\t\t\tconsole.log(\"after\", key);\n\t\t\t};\n\t\t}\n\t\treturn descriptor;\n\t};\n}\n\n/**\n * Method to get value from an object by the path\n * @param obj {Object} an object\n * @param path {string} path to the value in the object\n */\nexport function getByPath(obj: any, path: string) {\n\treturn path.split(\".\").reduce((acc, curr) => {\n\t\treturn acc && acc[curr];\n\t}, obj);\n}\n\n/**\n * Method to dedupe an array of objects using a path to the key to dedupe by\n * @param arr {[Object]} Array of Objects\n * @param path {string} Path to the key to dedupe array of objects by\n */\nexport function deduplicateObjectsByKey(arr: T[], path: string) {\n\tvar hashTable: any = {};\n\n\treturn arr.filter(function(el) {\n\t\tvar key = getByPath(el, path);\n\t\tvar match = Boolean(hashTable[key]);\n\n\t\treturn match ? false : (hashTable[key] = true);\n\t});\n}\n\n// You can declare a mixin as the same style as components.\n@Component({\n\tfilters: {\n\t\tdollars(p: number) {\n\t\t\treturn typeof p === \"number\" ? `$${p.toFixed(2)}` : \"\";\n\t\t},\n\t\tpluralize(s: string, n: number) {\n\t\t\treturn `${s}${n === 0 || n > 1 ? \"s\" : \"\"}`;\n\t\t},\n\t},\n})\nexport default class Helpers extends Vue {\n\taccountModule = accountModule;\n}\n","/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function' ? target : target.constructor;\n\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n\n if (typeof index !== 'number') {\n index = undefined;\n }\n\n Ctor.__decorators__.push(function (options) {\n return factory(options, key, index);\n });\n };\n}\nfunction mixins() {\n for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n Ctors[_key] = arguments[_key];\n }\n\n return Vue.extend({\n mixins: Ctors\n });\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n\n return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n\n Component.prototype._init = function () {\n var _this = this;\n\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n\n keys.forEach(function (key) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return vm[key];\n },\n set: function set(value) {\n vm[key] = value;\n },\n configurable: true\n });\n });\n }; // should be acquired class property values\n\n\n var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n Component.prototype._init = originalInit; // create plain data object\n\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n }\n }\n\n return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n } // hooks\n\n\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component);\n }\n }); // decorate options\n\n var decorators = Component.__decorators__;\n\n if (decorators) {\n decorators.forEach(function (fn) {\n return fn(options);\n });\n delete Component.__decorators__;\n } // find super\n\n\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component);\n }\n\n return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // Skip the properties that should not be overwritten\n if (shouldIgnore[key]) {\n return;\n } // Some browsers does not allow reconfigure built-in properties\n\n\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n } // Warn if the users manually declare reserved properties\n\n\n if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","/** vue-property-decorator verson 8.2.2 MIT LICENSE copyright 2019 kaorun343 */\n/// \n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/** Used for keying reactive provide/inject properties */\nvar reactiveInjectKey = '__reactiveInject__';\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[key] = options || key;\n }\n });\n}\n/**\n * decorator of a reactive inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function InjectReactive(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n var fromKey_1 = !!options ? options.from || options : key;\n var defaultVal_1 = (!!options && options.default) || undefined;\n if (!componentOptions.computed)\n componentOptions.computed = {};\n componentOptions.computed[key] = function () {\n var obj = this[reactiveInjectKey];\n return obj ? obj[fromKey_1] : defaultVal_1;\n };\n componentOptions.inject[reactiveInjectKey] = reactiveInjectKey;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) ||\n null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of a reactive provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function ProvideReactive(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_2 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var _this = this;\n var rv = Object.create((typeof original_2 === 'function' ? original_2.call(this) : original_2) ||\n null);\n rv[reactiveInjectKey] = {};\n var _loop_1 = function (i) {\n rv[provide.managed[i]] = this_1[i]; // Duplicates the behavior of `@Provide`\n Object.defineProperty(rv[reactiveInjectKey], provide.managed[i], {\n enumerable: true,\n get: function () { return _this[i]; },\n });\n };\n var this_1 = this;\n for (var i in provide.managed) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) &&\n typeof options !== 'function' &&\n typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n }\n}\n/**\n * decorator of model\n * @param event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a synced prop\n * @param propName the name to interface with from outside, must be different from decorated property\n * @param options the options for the synced prop\n * @return PropertyDecorator | void\n */\nexport function PropSync(propName, options) {\n if (options === void 0) { options = {}; }\n // @ts-ignore\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[propName] = options;\n (componentOptions.computed || (componentOptions.computed = {}))[k] = {\n get: function () {\n return this[propName];\n },\n set: function (value) {\n // @ts-ignore\n this.$emit(\"update:\" + propName, value);\n },\n };\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n return function (_target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var emit = function (returnValue) {\n if (returnValue !== undefined)\n args.unshift(returnValue);\n _this.$emit.apply(_this, [event || key].concat(args));\n };\n var returnValue = original.apply(this, args);\n if (isPromise(returnValue)) {\n returnValue.then(function (returnValue) {\n emit(returnValue);\n });\n }\n else {\n emit(returnValue);\n }\n return returnValue;\n };\n };\n}\n/**\n * decorator of a ref prop\n * @param refKey the ref key defined in template\n */\nexport function Ref(refKey) {\n return createDecorator(function (options, key) {\n options.computed = options.computed || {};\n options.computed[key] = {\n cache: false,\n get: function () {\n return this.$refs[refKey || key];\n },\n };\n });\n}\nfunction isPromise(obj) {\n return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","freeProd","_e","ref","class","classes","updating","attrs","sku","disabled","on","addToCart","_v","_s","buttonText","addGiftToCart","staticRenderFns","AddToCart","Vue","constructor","args","_defineProperty","accountModule","addProductsToBasket","product_id","quantity","showCartAfterUpdate","gift","cart","document","querySelector","$emit","classList","add","body","window","returnFocusTo","$refs","button","closeBtn","setTimeout","focus","buttonOverride","length","__decorate","Prop","String","default","AddAsyncUpdates","Component","component","require","property","target","key","descriptor","original","value","async","boundOriginal","bind","Helpers","filters","dollars","p","toFixed","pluralize","s","n","_typeof","obj","Symbol","iterator","prototype","Object","defineProperty","enumerable","configurable","writable","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","i","arr2","iter","toString","call","from","TypeError","reflectionIsSupported","Reflect","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","to","forwardMetadata","getOwnPropertyNames","forEach","propertyKey","metaKeys","metaKey","metadata","getOwnMetadata","fakeArray","__proto__","hasProto","createDecorator","factory","index","Ctor","__decorators__","undefined","push","options","isPrimitive","type","collectDataFromConstructor","vm","originalInit","_init","_this","keys","$options","props","hasOwnProperty","get","set","data","plainData","$internalHooks","componentFactory","arguments","name","_componentTag","proto","indexOf","getOwnPropertyDescriptor","methods","mixins","computed","decorators","fn","superProto","getPrototypeOf","Super","Extended","extend","forwardStaticMembers","shouldIgnore","callee","caller","Original","extendedDescriptor","superDescriptor","process","registerHooks","apply","reflectMetadataIsSupported","getMetadata","applyMetadata","componentOptions","k","Ref","refKey","cache"],"sourceRoot":""}