{"version":3,"sources":["webpack:///./Scripts/Components/BuyButton.js","webpack:///./Scripts/Containers/BuyButton.Container.js","webpack:///../node_modules/@babel/runtime-corejs3/helpers/extends.js","webpack:///../node_modules/@babel/runtime-corejs3/core-js/object/assign.js","webpack:///../node_modules/core-js-pure/features/object/assign.js","webpack:///../node_modules/core-js-pure/es/object/assign.js","webpack:///../node_modules/core-js-pure/modules/es.object.assign.js","webpack:///../node_modules/core-js-pure/internals/object-assign.js","webpack:///../node_modules/@babel/runtime-corejs3/regenerator/index.js","webpack:///../node_modules/@babel/runtime-corejs3/helpers/asyncToGenerator.js","webpack:///../node_modules/@babel/runtime-corejs3/core-js/promise.js","webpack:///../node_modules/core-js-pure/features/promise/index.js","webpack:///../node_modules/core-js-pure/modules/esnext.aggregate-error.js","webpack:///../node_modules/core-js-pure/modules/esnext.promise.all-settled.js","webpack:///../node_modules/core-js-pure/modules/esnext.promise.try.js","webpack:///../node_modules/core-js-pure/modules/esnext.promise.any.js","webpack:///./Scripts/Services/Cart.service.js","webpack:///./Scripts/Containers/withReactiveStyleBuyButton.js","webpack:///../node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js","webpack:///../node_modules/core-js-pure/stable/date/now.js","webpack:///../node_modules/core-js-pure/es/date/now.js","webpack:///../node_modules/core-js-pure/modules/es.date.now.js"],"names":["BuyButton","label","articleNumber","quantityFieldId","href","cssClass","onClick","className","BuyButtonContainer","props","this","Component","connect","state","dispatch","onSuccess","cart","receive","onError","ex","catchError","error","loadError","withReactiveStyleBuyButton","quantity","document","getElementById","value","addToCartService","_Object$assign","_extends","module","exports","target","i","arguments","length","source","key","Object","prototype","hasOwnProperty","call","apply","parent","path","assign","$","stat","forced","DESCRIPTORS","fails","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","toObject","IndexedObject","nativeAssign","defineProperty","b","enumerable","get","A","B","symbol","Symbol","split","forEach","chr","join","T","argumentsLength","index","getOwnPropertySymbols","f","propertyIsEnumerable","S","keys","concat","j","_Promise","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","done","then","fn","self","args","err","undefined","getPrototypeOf","setPrototypeOf","create","createPropertyDescriptor","iterate","createNonEnumerableProperty","InternalStateModule","setInternalState","set","getInternalAggregateErrorState","getterFor","$AggregateError","errors","message","that","Error","errorsArray","push","type","String","constructor","name","configurable","global","AggregateError","newPromiseCapabilityModule","perform","callbackfn","promiseCapability","result","promise","aFunction","getBuiltIn","any","iterable","C","capability","promiseResolve","counter","remaining","alreadyResolved","alreadyRejected","e","add","a","isNaN","post","response","json","reorder","orderId","StateStyles","WrappedComponent","stylePrefix","stateClass","startTime","setState","success","changeState","autoReset","onNeutralState","resetTimeout","loadingDuration","minimumLoadingTime","params","onLoadingState","data","onCompleteState","onButtonClick","Date","now","getTime"],"mappings":"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","file":"3.3136f67f84074b7ece82.js","sourcesContent":["import React from 'react';\r\n\r\nconst BuyButton = ({ label, articleNumber, quantityFieldId, href, cssClass, onClick }) => (\r\n articleNumber ? \r\n onClick(articleNumber, quantityFieldId)}>\r\n {label}\r\n \r\n : \r\n {label}\r\n \r\n)\r\n\r\nexport default BuyButton;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport BuyButton from '../Components/BuyButton';\r\nimport { receive, loadError } from '../Actions/Cart.action';\r\nimport { catchError } from '../Actions/Error.action';\r\nimport { add as addToCartService} from '../Services/Cart.service';\r\nimport withReactiveStyleBuyButton from './withReactiveStyleBuyButton';\r\n\r\nclass BuyButtonContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n this.props.onClick({ articleNumber, quantityFieldId })} />\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return { }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n onSuccess: (cart) => {\r\n dispatch(receive(cart));\r\n },\r\n onError: (ex) => {\r\n dispatch(catchError(ex, error => loadError(error)));\r\n }\r\n }\r\n}\r\n\r\nconst onClick = ({ articleNumber, quantityFieldId }) => {\r\n const quantity = quantityFieldId ? document.getElementById(quantityFieldId).value : 1;\r\n return addToCartService({ articleNumber, quantity });\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(\r\n withReactiveStyleBuyButton(BuyButtonContainer, onClick, 'buy-button-container'));","var _Object$assign = require(\"../core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _extends = _Object$assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","module.exports = require(\"core-js-pure/features/object/assign\");","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","module.exports = require(\"regenerator-runtime\");\n","var _Promise = require(\"../core-js/promise\");\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","module.exports = require(\"core-js-pure/features/promise\");","var parent = require('../../es/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalAggregateErrorState = InternalStateModule.getterFor('AggregateError');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(message), getPrototypeOf(that));\n }\n var errorsArray = [];\n iterate(errors, errorsArray.push, errorsArray);\n if (DESCRIPTORS) setInternalState(that, { errors: errorsArray, type: 'AggregateError' });\n else that.errors = errorsArray;\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\nif (DESCRIPTORS) defineProperty.f($AggregateError.prototype, 'errors', {\n get: function () {\n return getInternalAggregateErrorState(this).errors;\n },\n configurable: true\n});\n\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://github.com/tc39/proposal-promise-any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (e) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = e;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","import { post } from './http';\r\n\r\nexport const add = async ({ articleNumber, quantity = 1 }) => {\r\n if (!quantity || isNaN(quantity) || parseInt(quantity) <= 0) {\r\n throw \"Invalid quantity\";\r\n }\r\n\r\n const response = await post('/api/cart/add', { articleNumber, quantity: parseInt(quantity) });\r\n return response.json();\r\n}\r\n\r\nexport const reorder = async (orderId) => {\r\n const response = await post('/api/cart/reorder', { orderId });\r\n return response.json();\r\n}","import React, { Component } from 'react';\r\n\r\nconst StateStyles = {\r\n LOADING: \"--loading\",\r\n SUCCESS: \"--success\",\r\n ERROR: \"--error\",\r\n};\r\n\r\n/**\r\n * Represents a HOC which wraps a BuyButton or ReorderButton and applies diffrent styles to it\r\n * depending on its click state.\r\n * @param {*} WrappedComponent The button component.\r\n * @param {*} onClick The button's onClick event.\r\n * @param {*} stylePrefix The style prefix to append state's modifiers. For\r\n * example, 'button' will result as 'button--loading'.\r\n * \r\n * Some available props that the HOC component supports:\r\n * autoReset : it is true by default. Not its value, but the behaviour is like that. Unless people set it as false, by default, button is always reset to neutral state after the request is completed.\r\n * resetTimeout: Number milisecond after the complete state, the style of button will be reset. If don't set, it is 2000\r\n * minimumLoadingTime: Mininum milisecond to display the loading state. If don't set, it is 1000\r\n * onSuccess: callback if onClick method returns data\r\n * onError: callback if onClick method throws an exception\r\n */\r\nexport default function withReactiveStyleBuyButton(WrappedComponent, onClick, stylePrefix) {\r\n return class extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stateClass: '',\r\n startTime: 0,\r\n }\r\n }\r\n\r\n onNeutralState() {\r\n this.setState({\r\n stateClass: '',\r\n startTime: 0,\r\n });\r\n }\r\n \r\n onLoadingState() {\r\n this.setState({\r\n stateClass: `${stylePrefix}${StateStyles.LOADING}`,\r\n startTime: Date.now(),\r\n });\r\n }\r\n \r\n onCompleteState(success) {\r\n const changeState = () => {\r\n this.setState({\r\n stateClass: `${stylePrefix}${success ? StateStyles.SUCCESS : StateStyles.ERROR}`,\r\n });\r\n // if `autoReset` is true, which is default, the style will be changed\r\n // to neutral after a `resetTimeout` amount of time (2 seconds by default).\r\n this.props.autoReset !== false && setTimeout(() => {\r\n this.onNeutralState();\r\n }, this.props.resetTimeout || 2000);\r\n }\r\n\r\n const loadingDuration = Date.now() - this.state.startTime;\r\n const minimumLoadingTime = this.props.minimumLoadingTime || 1000;\r\n // ensure the loading indicator is displayed at least a `minimumLoadingTime`\r\n // amount of time before changing it to Success or Error.\r\n if (loadingDuration >= minimumLoadingTime) {\r\n changeState();\r\n } else {\r\n setTimeout(() => {\r\n changeState();\r\n }, minimumLoadingTime - loadingDuration);\r\n }\r\n }\r\n\r\n async onButtonClick(params) {\r\n try {\r\n this.onLoadingState();\r\n const data = await onClick(params);\r\n if(data) {\r\n this.onCompleteState(true);\r\n this.props.onSuccess(data);\r\n } else {\r\n this.onNeutralState();\r\n }\r\n } catch(err) {\r\n this.onCompleteState(false);\r\n this.props.onError(err);\r\n }\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n this.onButtonClick(params)} {...this.props} />\r\n \r\n );\r\n }\r\n }\r\n}","module.exports = require(\"core-js-pure/stable/date/now\");","var parent = require('../../es/date/now');\n\nmodule.exports = parent;\n","require('../../modules/es.date.now');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Date.now;\n","var $ = require('../internals/export');\n\n// `Date.now` method\n// https://tc39.github.io/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return new Date().getTime();\n }\n});\n"],"sourceRoot":""}