{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/mithril/index.js","webpack:///./node_modules/oj-utils/dist/index.js","webpack:///./node_modules/mithril/pathname/parse.js","webpack:///./src/ts/utils.ts","webpack:///./src/ts/entries/translations.ts","webpack:///./node_modules/mithril/render/hyperscript.js","webpack:///./node_modules/mithril/render/hyperscriptVnode.js","webpack:///./node_modules/mithril-tsx-component/index.js","webpack:///./node_modules/mithril/promise/promise.js","webpack:///./node_modules/mithril/promise/polyfill.js","webpack:///./node_modules/mithril/render.js","webpack:///./node_modules/mithril/querystring/build.js","webpack:///./node_modules/mithril/util/assign.js","webpack:///./node_modules/mithril/querystring/parse.js","webpack:///./node_modules/mithril/util/censor.js","webpack:///./src/ts/entries/voucherSelection.tsx","webpack:///./node_modules/mithril/render/vnode.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/mithril/hyperscript.js","webpack:///./node_modules/mithril/render/trust.js","webpack:///./node_modules/mithril/render/fragment.js","webpack:///./node_modules/mithril/request.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/mithril/render/render.js","webpack:///./node_modules/mithril/api/mount-redraw.js","webpack:///./node_modules/mithril/request/request.js","webpack:///./node_modules/mithril/route.js","webpack:///./node_modules/mithril/api/router.js","webpack:///./node_modules/mithril/pathname/compileTemplate.js","webpack:///./node_modules/oj-dom-utils/dist/index.js","webpack:///./node_modules/mithril/util/hasOwn.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/mithril/mount-redraw.js","webpack:///./node_modules/mithril/pathname/build.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hyperscript","request","mountRedraw","apply","this","arguments","trust","fragment","Fragment","mount","route","render","redraw","jsonp","parseQueryString","buildQueryString","parsePathname","buildPathname","vnode","PromisePolyfill","censor","__assign","assign","length","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","_this","getDynamicObj","getDynamicVal","imageUrlToB64","fileToB64","base64toBlob","getImageTypeFromB64","createImage","isIE","formatPrice","formatSize","clone","removeIfExists","createToggle","chunk","memoize","throttle","debounce","exec","diff","increment","repeatMap","arrToObj","objToArr","groupArr","groupObj","mapObj","reduceObj","filterObj","findObjKey","generateHashFromString","uniqueArray","pipe","getDpi","pxToMm","mmToPx","UUID","pause","cleanString","clamp","mapRange","randomList","randomDec","randomInt","min","max","Math","floor","random","list","source","target","x","_i","filter","map","trim","join","ms","_a","timeout","setTimeout","clearTimeout","Date","now","window","performance","replace","toString","mm","dpi","px","fn","arr","Array","from","Set","str","split","reduce","charCodeAt","obj","cb","k","ref","_b","gr","concat","copy","times","reset","last","curr","args","undefined","threshold","head","tail","hashFn","cache","hash","JSON","stringify","chunks","chunk_1","on","off","toggle","findIndex","splice","parse","bytes","log","size","pow","round","price","decimal","format","pre","dot","post","cents","padEnd","test","navigator","userAgent","indexOf","src","res","rej","img","Image","crossOrigin","onload","onerror","err","match","base64Data","contentType","byteCharacters","atob","bytesLength","slicesCount","ceil","byteArrays","begin","end","offset","i_1","Uint8Array","Blob","type","file","reader","FileReader","readAsDataURL","url","fetch","blob","fromEntries","entries","queryIndex","hashIndex","queryEnd","pathEnd","path","slice","params","isMobileViewport","width","innerWidth","mounter","selector","forEach","inputs","querySelectorAll","data","HTMLInputElement","loadScript","script","document","createElement","appendChild","Culture","getCulture","toLowerCase","base","showMore","translations","nlNl","nlBe","frBe","frFr","tls","Vnode","hyperscriptVnode","hasOwn","selectorParser","selectorCache","isEmpty","compileSelector","tag","classes","attrs","id","attrValue","className","execSelector","state","hasClass","class","newAttrs","String","view","Error","children","normalizeChildren","start","isArray","MithrilTsxComponent","finally","global","executor","self","resolvers","rejectors","resolveCurrent","handler","rejectCurrent","instance","_instance","callAsync","setImmediate","shouldAbsorb","execute","console","error","retry","executeOnce","runs","run","onFulfilled","onRejection","resolveNext","rejectNext","handle","callback","promise","catch","reason","all","total","count","values","consume","race","destructure","encodeURIComponent","decodeURIComponentSave","decodeURIComponent","string","charAt","counters","entry","levels","cursor","j","level","nextLevel","isNumber","isNaN","parseInt","desc","getOwnPropertyDescriptor","magic","RegExp","extras","oninit","vouchers","checked","isSelected","discountCode","onchange","setSelected","title","expirationDate","onclick","voucher","querySelector","classList","remove","method","text","UpdateShoppingCartTotalAndProducts","add","payload","FormData","append","VoucherSelection","dom","domSize","events","normalize","node","input","isKeyed","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","marker","runClearTimeout","Item","array","noop","nextTick","browser","env","argv","version","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","html","Function","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","documentElement","onreadystatechange","removeChild","addEventListener","attachEvent","task","$window","currentRedraw","$doc","nameSpace","svg","math","getNameSpace","xmlns","checkState","original","callHook","activeElement","createNodes","parent","vnodes","hooks","nextSibling","createNode","initLifecycle","createTextNode","insertNode","createText","createHTML","createDocumentFragment","firstChild","childNodes","createFragment","is","element","createElementNS","setAttribute","isFileInput","setAttr","setAttrs","maybeSetContentEditable","selectedIndex","normalized","setLateSelectAttrs","sentinel","$$reentrantLock$$","initComponent","createComponent","possibleParents","caption","thead","tbody","tfoot","tr","th","td","colgroup","col","temp","innerHTML","child","updateNodes","old","removeNodes","isOldKeyed","oldStart","oe","ve","topSibling","oldEnd","updateNode","getNextSibling","moveNodes","lisIndices","originalNextSibling","vnodesLength","oldIndices","li","pos","matched","getKeyMap","oldIndex","a","u","il","lisTemp","makeLisIndices","commonLength","removeNode","oldTag","force","onbeforeupdate","shouldNotUpdate","updateLifecycle","nodeValue","updateText","removeHTML","updateHTML","updateFragment","warn","val","removeAttr","updateAttrs","updateElement","updateComponent","frag","moveChildToFrag","parentNode","insertBefore","contenteditable","contentEditable","content","stateResult","attrsResult","mask","onbeforeremove","reallyRemove","onremove","isLifecycleMethod","attr","isFormAttribute","updateEvent","setAttributeNS","updateStyle","hasPropertyKey","removeAttribute","nsLastIndex","currentDOM","uppercaseRegex","capital","normalizeKey","style","cssText","setProperty","removeProperty","EventDict","removeEventListener","oncreate","onupdate","handleEvent","ev","currentTarget","preventDefault","stopPropagation","contains","prevRedraw","prevDOM","namespace","namespaceURI","textContent","focus","schedule","subscriptions","pending","sync","root","component","index","oncompletion","callbackCount","PromiseProxy","makeRequest","factory","background","complete","wrap","constructor","hasHeader","headers","__proto__","replacedAbort","toUpperCase","assumeJSON","serialize","URLSearchParams","responseType","extract","xhr","XMLHttpRequest","aborted","isTimeout","abort","open","async","user","password","setRequestHeader","deserialize","withCredentials","readyState","message","success","status","response","responseText","completeErrorResponse","code","ontimeout","config","send","callbackName","callbackKey","compileTemplate","compiled","fallbackRoute","currentPath","lastUpdate","scheduled","ready","currentResolver","RouterRoot","fireAsync","resolveRoute","SKIP","prefix","location","search","pathname","setPath","history","loop","check","matchedRoute","localComp","update","comp","onmatch","options","replaceState","pushState","href","defaultRoute","routes","keys","SyntaxError","defaultData","some","ReferenceError","set","Link","disabled","Boolean","defaultPrevented","button","which","ctrlKey","metaKey","shiftKey","altKey","param","template","templateData","templateKeys","regexp","extra","appendDivTo","getRootData","jsonFromB64","jsonToB64","replaceElement","getRootElements","sanitizeHTML","getOffsetY","getOffsetX","getEventProps","childOf","withinViewport","getOffsetsOnPage","getOuterWidth","getOuterHeight","getTransitionDuration","deep","totalTime","getComputedStyle","transitionDuration","parseFloat","transitionDelay","sum","styles","height","marginTop","marginBottom","paddingTop","paddingBottom","marginLeft","marginRight","paddingLeft","paddingRight","_x","_y","offsetLeft","offsetTop","scrollLeft","scrollTop","offsetParent","top","left","completely","rect","getBoundingClientRect","windowHeight","innerHeight","clientHeight","windowWidth","clientWidth","topVisible","bottomVisible","bottom","leftVisible","rightVisible","right","container","el","targetTouches","changedTouches","elem","pageX","pageY","ta","loaded","elements","getAttribute","parentElement","replaceChild","json","btoa","b64","requestAnimationFrame","query","resolved","variadic","newQueryIndex","newHashIndex","newQueryEnd","newPathEnd","querystring"],"mappings":"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","file":"voucherSelection.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/frontendWebpack/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 286);\n","\"use strict\"\n\nvar hyperscript = require(\"./hyperscript\")\nvar request = require(\"./request\")\nvar mountRedraw = require(\"./mount-redraw\")\n\nvar m = function m() { return hyperscript.apply(this, arguments) }\nm.m = hyperscript\nm.trust = hyperscript.trust\nm.fragment = hyperscript.fragment\nm.Fragment = \"[\"\nm.mount = mountRedraw.mount\nm.route = require(\"./route\")\nm.render = require(\"./render\")\nm.redraw = mountRedraw.redraw\nm.request = request.request\nm.jsonp = request.jsonp\nm.parseQueryString = require(\"./querystring/parse\")\nm.buildQueryString = require(\"./querystring/build\")\nm.parsePathname = require(\"./pathname/parse\")\nm.buildPathname = require(\"./pathname/build\")\nm.vnode = require(\"./render/vnode\")\nm.PromisePolyfill = require(\"./promise/polyfill\")\nm.censor = require(\"./util/censor\")\n\nmodule.exports = m\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar _this = this;\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getDynamicObj = exports.getDynamicVal = exports.imageUrlToB64 = exports.fileToB64 = exports.base64toBlob = exports.getImageTypeFromB64 = exports.createImage = exports.isIE = exports.formatPrice = exports.formatSize = exports.clone = exports.removeIfExists = exports.createToggle = exports.chunk = exports.memoize = exports.throttle = exports.debounce = exports.exec = exports.diff = exports.increment = exports.repeatMap = exports.arrToObj = exports.objToArr = exports.groupArr = exports.groupObj = exports.mapObj = exports.reduceObj = exports.filterObj = exports.findObjKey = exports.generateHashFromString = exports.uniqueArray = exports.pipe = exports.getDpi = exports.pxToMm = exports.mmToPx = exports.UUID = exports.pause = exports.cleanString = exports.clamp = exports.mapRange = exports.randomList = exports.randomDec = exports.randomInt = void 0;\r\nvar randomInt = function (min, max) {\r\n if (min === void 0) { min = 0; }\r\n if (max === void 0) { max = 9999; }\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n};\r\nexports.randomInt = randomInt;\r\nvar randomDec = function (min, max) {\r\n if (min === void 0) { min = 0; }\r\n if (max === void 0) { max = 9999; }\r\n return (Math.random() * (max - min) + min);\r\n};\r\nexports.randomDec = randomDec;\r\nvar randomList = function (list) {\r\n return list[(0, exports.randomInt)(0, list.length)];\r\n};\r\nexports.randomList = randomList;\r\nvar mapRange = function (value, source, target) {\r\n return target[0] + (value - source[0]) * (target[1] - target[0]) / (source[1] - source[0]);\r\n};\r\nexports.mapRange = mapRange;\r\nvar clamp = function (value, min, max) {\r\n return Math.min(Math.max(value, min), max);\r\n};\r\nexports.clamp = clamp;\r\nvar cleanString = function () {\r\n var x = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n x[_i] = arguments[_i];\r\n }\r\n return x\r\n .filter(function (x) { return typeof x === \"string\"; })\r\n .map(function (x) { return x.trim(); })\r\n .join(\" \");\r\n};\r\nexports.cleanString = cleanString;\r\nvar pause = function (ms) { return __awaiter(void 0, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var timeout = setTimeout(resolve, ms);\r\n return function () {\r\n clearTimeout(timeout);\r\n reject(\"pause canceled\");\r\n };\r\n })];\r\n });\r\n}); };\r\nexports.pause = pause;\r\nvar UUID = function () {\r\n var d = Date.now();\r\n if (window.performance && typeof window.performance.now === \"function\")\r\n d += performance.now();\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\r\n var r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === \"x\" ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n};\r\nexports.UUID = UUID;\r\nvar mmToPx = function (mm, dpi) {\r\n if (dpi === void 0) { dpi = 200; }\r\n return (mm * dpi) / 25.4;\r\n};\r\nexports.mmToPx = mmToPx;\r\nvar pxToMm = function (px, dpi) {\r\n if (dpi === void 0) { dpi = 200; }\r\n return (px / dpi) * 25.4;\r\n};\r\nexports.pxToMm = pxToMm;\r\nvar getDpi = function (px, mm) {\r\n return px / mm * 25.4;\r\n};\r\nexports.getDpi = getDpi;\r\nvar pipe = function (value) {\r\n return ({\r\n map: function (fn) { return (0, exports.pipe)(fn(value)); },\r\n value: value\r\n });\r\n};\r\nexports.pipe = pipe;\r\nvar uniqueArray = function (arr) {\r\n return Array.from(new Set(arr));\r\n};\r\nexports.uniqueArray = uniqueArray;\r\nvar generateHashFromString = function (str) {\r\n return str.split(\"\").reduce(function (s, x) { return (((s << 5) - s) + x.charCodeAt(0)) | 0; }, 0);\r\n};\r\nexports.generateHashFromString = generateHashFromString;\r\nvar findObjKey = function (obj, cb) {\r\n for (var k in obj)\r\n if (cb(obj[k], k, obj))\r\n return k;\r\n};\r\nexports.findObjKey = findObjKey;\r\nvar filterObj = function (obj, cb) {\r\n var result = {};\r\n for (var k in obj)\r\n if (cb(obj[k], k, obj))\r\n result[k] = obj[k];\r\n return result;\r\n};\r\nexports.filterObj = filterObj;\r\nvar reduceObj = function (obj, cb, result) {\r\n for (var k in obj)\r\n result = cb(result, obj[k], k, obj);\r\n return result;\r\n};\r\nexports.reduceObj = reduceObj;\r\nvar mapObj = function (obj, cb) {\r\n var result = {};\r\n for (var k in obj)\r\n result[k] = cb(obj[k], k, obj);\r\n return result;\r\n};\r\nexports.mapObj = mapObj;\r\nvar groupObj = function (obj, key, ref) {\r\n var _a;\r\n var _b;\r\n if (ref === void 0) { ref = \"$key\"; }\r\n var result = {};\r\n for (var k in obj) {\r\n var gr = obj[k][key];\r\n (_b = result[gr]) !== null && _b !== void 0 ? _b : (result[gr] = []);\r\n result[gr].push(__assign((_a = {}, _a[ref] = k, _a), obj[k]));\r\n }\r\n return result;\r\n};\r\nexports.groupObj = groupObj;\r\nvar groupArr = function (arr, key, ref) {\r\n var _a;\r\n var _b;\r\n if (ref === void 0) { ref = \"$key\"; }\r\n var result = {};\r\n for (var i = 0; i < arr.length; i++) {\r\n var gr = arr[i][key];\r\n (_b = result[gr]) !== null && _b !== void 0 ? _b : (result[gr] = []);\r\n result[gr].push(__assign((_a = {}, _a[ref] = i, _a), arr[i]));\r\n }\r\n return result;\r\n};\r\nexports.groupArr = groupArr;\r\nvar objToArr = function (obj, ref) {\r\n if (ref === void 0) { ref = \"$key\"; }\r\n return (0, exports.reduceObj)(obj, function (r, x, k) {\r\n var _a;\r\n return r.concat(__assign(__assign({}, x), (_a = {}, _a[ref] = k, _a)));\r\n }, []);\r\n};\r\nexports.objToArr = objToArr;\r\nvar arrToObj = function (arr, key) {\r\n if (key === void 0) { key = \"$key\"; }\r\n return arr.reduce(function (r, x) {\r\n var copy = __assign({}, x);\r\n delete copy[key];\r\n r[x[key]] = copy;\r\n return r;\r\n }, {});\r\n};\r\nexports.arrToObj = arrToObj;\r\nvar repeatMap = function (times, fn) {\r\n var _a;\r\n var result = [];\r\n for (var i = 0; i < times; i++)\r\n result[i] = (_a = fn === null || fn === void 0 ? void 0 : fn(i)) !== null && _a !== void 0 ? _a : i;\r\n return result;\r\n};\r\nexports.repeatMap = repeatMap;\r\nvar increment = function () {\r\n var i = 0;\r\n return function () {\r\n return i++;\r\n };\r\n};\r\nexports.increment = increment;\r\nvar diff = function (cb, reset) {\r\n if (reset === void 0) { reset = false; }\r\n var last = cb();\r\n return function () {\r\n var curr = cb();\r\n var d = curr - last;\r\n if (reset)\r\n last = curr;\r\n return d;\r\n };\r\n};\r\nexports.diff = diff;\r\nvar exec = function (fn) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n return typeof fn === \"function\"\r\n ? fn.apply(_this, args)\r\n : undefined;\r\n};\r\nexports.exec = exec;\r\nvar debounce = function (threshold, fn, head) {\r\n if (head === void 0) { head = false; }\r\n var t;\r\n var c;\r\n return (function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (t === undefined && head)\r\n c = fn.apply(void 0, args);\r\n clearTimeout(t);\r\n t = setTimeout(function () {\r\n c = fn.apply(void 0, args);\r\n }, threshold);\r\n return c;\r\n });\r\n};\r\nexports.debounce = debounce;\r\nvar throttle = function (threshold, fn, tail) {\r\n if (tail === void 0) { tail = false; }\r\n var t;\r\n var p;\r\n var c;\r\n return (function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n clearTimeout(t);\r\n var now = Date.now();\r\n if (!p || now - p >= threshold) {\r\n p = now;\r\n c = fn.apply(void 0, args);\r\n }\r\n else if (tail) {\r\n t = setTimeout(function () {\r\n c = fn.apply(void 0, args);\r\n }, threshold);\r\n }\r\n return c;\r\n });\r\n};\r\nexports.throttle = throttle;\r\nvar memoize = function (fn, hashFn) {\r\n var cache = {};\r\n return (function () {\r\n var _a, _b;\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var hash = (_a = hashFn === null || hashFn === void 0 ? void 0 : hashFn.apply(void 0, args)) !== null && _a !== void 0 ? _a : JSON.stringify(args);\r\n if (cache[hash] === undefined)\r\n cache[hash] = (_b = fn.apply(void 0, args)) !== null && _b !== void 0 ? _b : null;\r\n return cache[hash];\r\n });\r\n};\r\nexports.memoize = memoize;\r\nvar chunk = function (n, arr) {\r\n var chunks = [];\r\n for (var i = 0; i < arr.length; i++) {\r\n var chunk_1 = Math.floor(i / n);\r\n if (!chunks[chunk_1])\r\n chunks[chunk_1] = [];\r\n chunks[chunk_1].push(arr[i]);\r\n }\r\n return chunks;\r\n};\r\nexports.chunk = chunk;\r\nvar createToggle = function () {\r\n var value = false;\r\n return {\r\n get: function () { return value; },\r\n on: function () { return value = true; },\r\n off: function () { return value = false; },\r\n toggle: function () { return value = !value; },\r\n };\r\n};\r\nexports.createToggle = createToggle;\r\nvar removeIfExists = function (arr, cb) {\r\n var i = arr.findIndex(cb);\r\n if (i !== -1)\r\n arr.splice(i, 1);\r\n return arr;\r\n};\r\nexports.removeIfExists = removeIfExists;\r\nvar clone = function (obj) {\r\n return JSON.parse(JSON.stringify(obj));\r\n};\r\nexports.clone = clone;\r\nvar formatSize = function (bytes) {\r\n var sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\r\n if (bytes == 0)\r\n return \"0 Byte\";\r\n var i = Math.floor(Math.floor(Math.log(bytes) / Math.log(1024)));\r\n var size = (bytes / Math.pow(1024, i));\r\n size = Math.round(size * 100) / 100;\r\n return size + sizes[i];\r\n};\r\nexports.formatSize = formatSize;\r\nvar formatPrice = function (price, decimal, format) {\r\n if (decimal === void 0) { decimal = true; }\r\n if (format === void 0) { format = {}; }\r\n var _a = \"\".concat(Math.round(price * 100) / 100).split(\".\"), n = _a[0], m = _a[1];\r\n var _b = Object.assign({ pre: \"€ \", dot: \",\", post: \"\" }, format), pre = _b.pre, dot = _b.dot, post = _b.post;\r\n var cents = \"\".concat(m !== null && m !== void 0 ? m : 0).padEnd(2, \"0\");\r\n return decimal ? \"\".concat(pre).concat(n).concat(dot).concat(cents).concat(post) : \"\".concat(pre).concat(Math.round(price)).concat(post);\r\n};\r\nexports.formatPrice = formatPrice;\r\nexports.isIE = (0, exports.memoize)(function () {\r\n return (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n}, function () { return navigator.userAgent; });\r\nvar createImage = function (src) {\r\n return new Promise(function (res, rej) {\r\n var img = new Image();\r\n img.crossOrigin = \"Anonymous\";\r\n img.onload = function () { return res(img); };\r\n img.onerror = function (err) { return rej(err); };\r\n img.src = src;\r\n });\r\n};\r\nexports.createImage = createImage;\r\nvar getImageTypeFromB64 = function (source) {\r\n var match = source.match(/(image\\/.*)?;/);\r\n return (match && match[1]) ? match[1] : \"image/png\";\r\n};\r\nexports.getImageTypeFromB64 = getImageTypeFromB64;\r\nvar base64toBlob = function (src) {\r\n var base64Data = src.replace(/^data:image\\/(.*?);base64,/, \"\");\r\n var contentType = (0, exports.getImageTypeFromB64)(src);\r\n var sliceSize = 1024;\r\n var byteCharacters = atob(base64Data);\r\n var bytesLength = byteCharacters.length;\r\n var slicesCount = Math.ceil(bytesLength / sliceSize);\r\n var byteArrays = new Array(slicesCount);\r\n for (var i = 0; i < slicesCount; ++i) {\r\n var begin = i * sliceSize;\r\n var end = Math.min(begin + sliceSize, bytesLength);\r\n var bytes = new Array(end - begin);\r\n for (var offset = begin, i_1 = 0; offset < end; ++i_1, ++offset)\r\n bytes[i_1] = byteCharacters[offset].charCodeAt(0);\r\n byteArrays[i] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n};\r\nexports.base64toBlob = base64toBlob;\r\nvar fileToB64 = function (file) {\r\n return new Promise(function (res, rej) {\r\n var reader = new FileReader();\r\n reader.onload = function () { return res(reader.result); };\r\n reader.onerror = function (err) { return rej(err); };\r\n reader.readAsDataURL(file);\r\n });\r\n};\r\nexports.fileToB64 = fileToB64;\r\nvar imageUrlToB64 = function (url) {\r\n return fetch(url)\r\n .then(function (x) { return x.blob(); })\r\n .then(function (x) { return (0, exports.fileToB64)(x); });\r\n};\r\nexports.imageUrlToB64 = imageUrlToB64;\r\nvar getDynamicVal = function (x) {\r\n return typeof x === \"function\" ? x() : x;\r\n};\r\nexports.getDynamicVal = getDynamicVal;\r\nvar getDynamicObj = function (x) {\r\n return Object.fromEntries(Object.entries(x).map(function (_a) {\r\n var k = _a[0], v = _a[1];\r\n return [k, (0, exports.getDynamicVal)(v)];\r\n }));\r\n};\r\nexports.getDynamicObj = getDynamicObj;\r\n","\"use strict\"\n\nvar parseQueryString = require(\"../querystring/parse\")\n\n// Returns `{path, params}` from `url`\nmodule.exports = function(url) {\n\tvar queryIndex = url.indexOf(\"?\")\n\tvar hashIndex = url.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? url.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = url.slice(0, pathEnd).replace(/\\/{2,}/g, \"/\")\n\n\tif (!path) path = \"/\"\n\telse {\n\t\tif (path[0] !== \"/\") path = \"/\" + path\n\t\tif (path.length > 1 && path[path.length - 1] === \"/\") path = path.slice(0, -1)\n\t}\n\treturn {\n\t\tpath: path,\n\t\tparams: queryIndex < 0\n\t\t\t? {}\n\t\t\t: parseQueryString(url.slice(queryIndex + 1, queryEnd)),\n\t}\n}\n","import { getRootElements } from \"oj-dom-utils\"\r\n\r\nexport const isTouchDevice = () =>\r\n \"ontouchstart\" in window\r\n\r\nexport const isMobileViewport = (width = 768) =>\r\n window.innerWidth <= width\r\n\r\nexport const getFileExtensionFromString = (str: string) =>\r\n str.split(\".\")[1]\r\n\r\nexport const mounter = (selector: string, cb: (root: HTMLElement, data: T | null) => void) =>\r\n getRootElements(selector)\r\n .forEach(x => {\r\n const inputs = Array.from(x.querySelectorAll(\"input\"))\r\n let data: any = null\r\n if (inputs.length > 1)\r\n data = inputs.map(x => {\r\n try {\r\n return JSON.parse(x.value)\r\n } catch (err) {\r\n return x.value\r\n }\r\n })\r\n else if (inputs[0] instanceof HTMLInputElement)\r\n try {\r\n data = JSON.parse(inputs[0].value)\r\n } catch (err) {\r\n data = inputs[0].value\r\n }\r\n cb(x, data)\r\n })\r\n\r\nexport const downloadFile = (response: any, name: string) => {\r\n if (navigator.appVersion.toString().indexOf('.NET') > 0)\r\n window.navigator[\"msSaveBlob\"](response, name)\r\n else {\r\n const blob = new Blob([response], { type: response.type })\r\n const objectUrl = URL.createObjectURL(blob)\r\n const a = document.createElement(\"a\")\r\n a.style.display = \"none\"\r\n document.body.appendChild(a)\r\n a.href = objectUrl\r\n a.download = name\r\n a.click()\r\n URL.revokeObjectURL(objectUrl)\r\n }\r\n}\r\n\r\nexport const testMailAddress = (mail: string) =>\r\n /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)\r\n\r\nexport const loadScript = (src: string) =>\r\n new Promise((resolve, reject) => {\r\n const script = document.createElement(\"script\")\r\n script.type = \"text/javascript\"\r\n script.onload = resolve\r\n script.onerror = reject\r\n script.src = src\r\n document.body.appendChild(script)\r\n })\r\n\r\nexport const loadScriptSource = (txt: string) =>\r\n new Promise((resolve, reject) => {\r\n const script = document.createElement(\"script\")\r\n script.type = \"text/javascript\"\r\n script.onload = resolve\r\n script.onerror = reject\r\n script.innerHTML = txt\r\n document.body.appendChild(script)\r\n })","export const getCulture = (): Culture => (window[\"culture\"] || \"nl-nl\").toLowerCase()\r\n\r\nexport enum Culture {\r\n nlNl = \"nl-nl\",\r\n nlBe = \"nl-be\",\r\n frBe = \"fr-be\",\r\n frFr = \"fr-fr\",\r\n}\r\n\r\nconst base = {\r\n showMore: \"toon meer\",\r\n}\r\n\r\nconst translations: Record = {\r\n [Culture.nlNl]: base,\r\n [Culture.nlBe]: base,\r\n [Culture.frBe]: base,\r\n [Culture.frFr]: base,\r\n}\r\n\r\ntranslations[Culture.frBe] = translations[Culture.frFr] = {\r\n showMore: \"montre plus\",\r\n}\r\n\r\nexport const tls: typeof translations[Culture.nlNl] = {\r\n ...translations[getCulture()]\r\n}\r\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nvar selectorParser = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[(.+?)(?:\\s*=\\s*(\"|'|)((?:\\\\[\"'\\]]|.)*?)\\5)?\\])/g\nvar selectorCache = {}\n\nfunction isEmpty(object) {\n\tfor (var key in object) if (hasOwn.call(object, key)) return false\n\treturn true\n}\n\nfunction compileSelector(selector) {\n\tvar match, tag = \"div\", classes = [], attrs = {}\n\twhile (match = selectorParser.exec(selector)) {\n\t\tvar type = match[1], value = match[2]\n\t\tif (type === \"\" && value !== \"\") tag = value\n\t\telse if (type === \"#\") attrs.id = value\n\t\telse if (type === \".\") classes.push(value)\n\t\telse if (match[3][0] === \"[\") {\n\t\t\tvar attrValue = match[6]\n\t\t\tif (attrValue) attrValue = attrValue.replace(/\\\\([\"'])/g, \"$1\").replace(/\\\\\\\\/g, \"\\\\\")\n\t\t\tif (match[4] === \"class\") classes.push(attrValue)\n\t\t\telse attrs[match[4]] = attrValue === \"\" ? attrValue : attrValue || true\n\t\t}\n\t}\n\tif (classes.length > 0) attrs.className = classes.join(\" \")\n\treturn selectorCache[selector] = {tag: tag, attrs: attrs}\n}\n\nfunction execSelector(state, vnode) {\n\tvar attrs = vnode.attrs\n\tvar hasClass = hasOwn.call(attrs, \"class\")\n\tvar className = hasClass ? attrs.class : attrs.className\n\n\tvnode.tag = state.tag\n\tvnode.attrs = {}\n\n\tif (!isEmpty(state.attrs) && !isEmpty(attrs)) {\n\t\tvar newAttrs = {}\n\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key)) newAttrs[key] = attrs[key]\n\t\t}\n\n\t\tattrs = newAttrs\n\t}\n\n\tfor (var key in state.attrs) {\n\t\tif (hasOwn.call(state.attrs, key) && key !== \"className\" && !hasOwn.call(attrs, key)){\n\t\t\tattrs[key] = state.attrs[key]\n\t\t}\n\t}\n\tif (className != null || state.attrs.className != null) attrs.className =\n\t\tclassName != null\n\t\t\t? state.attrs.className != null\n\t\t\t\t? String(state.attrs.className) + \" \" + String(className)\n\t\t\t\t: className\n\t\t\t: state.attrs.className != null\n\t\t\t\t? state.attrs.className\n\t\t\t\t: null\n\n\tif (hasClass) attrs.class = null\n\n\tfor (var key in attrs) {\n\t\tif (hasOwn.call(attrs, key) && key !== \"key\") {\n\t\t\tvnode.attrs = attrs\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn vnode\n}\n\nfunction hyperscript(selector) {\n\tif (selector == null || typeof selector !== \"string\" && typeof selector !== \"function\" && typeof selector.view !== \"function\") {\n\t\tthrow Error(\"The selector must be either a string or a component.\");\n\t}\n\n\tvar vnode = hyperscriptVnode.apply(1, arguments)\n\n\tif (typeof selector === \"string\") {\n\t\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\t\tif (selector !== \"[\") return execSelector(selectorCache[selector] || compileSelector(selector), vnode)\n\t}\n\n\tvnode.tag = selector\n\treturn vnode\n}\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\n// Call via `hyperscriptVnode.apply(startOffset, arguments)`\n//\n// The reason I do it this way, forwarding the arguments and passing the start\n// offset in `this`, is so I don't have to create a temporary array in a\n// performance-critical path.\n//\n// In native ES6, I'd instead add a final `...args` parameter to the\n// `hyperscript` and `fragment` factories and define this as\n// `hyperscriptVnode(...args)`, since modern engines do optimize that away. But\n// ES5 (what Mithril.js requires thanks to IE support) doesn't give me that luxury,\n// and engines aren't nearly intelligent enough to do either of these:\n//\n// 1. Elide the allocation for `[].slice.call(arguments, 1)` when it's passed to\n// another function only to be indexed.\n// 2. Elide an `arguments` allocation when it's passed to any function other\n// than `Function.prototype.apply` or `Reflect.apply`.\n//\n// In ES6, it'd probably look closer to this (I'd need to profile it, though):\n// module.exports = function(attrs, ...children) {\n// if (attrs == null || typeof attrs === \"object\" && attrs.tag == null && !Array.isArray(attrs)) {\n// if (children.length === 1 && Array.isArray(children[0])) children = children[0]\n// } else {\n// children = children.length === 0 && Array.isArray(attrs) ? attrs : [attrs, ...children]\n// attrs = undefined\n// }\n//\n// if (attrs == null) attrs = {}\n// return Vnode(\"\", attrs.key, attrs, children)\n// }\nmodule.exports = function() {\n\tvar attrs = arguments[this], start = this + 1, children\n\n\tif (attrs == null) {\n\t\tattrs = {}\n\t} else if (typeof attrs !== \"object\" || attrs.tag != null || Array.isArray(attrs)) {\n\t\tattrs = {}\n\t\tstart = this\n\t}\n\n\tif (arguments.length === start + 1) {\n\t\tchildren = arguments[start]\n\t\tif (!Array.isArray(children)) children = [children]\n\t} else {\n\t\tchildren = []\n\t\twhile (start < arguments.length) children.push(arguments[start++])\n\t}\n\n\treturn Vnode(\"\", attrs.key, attrs, children)\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MithrilTsxComponent = /** @class */ (function () {\n function MithrilTsxComponent() {\n }\n return MithrilTsxComponent;\n}());\nexports.MithrilTsxComponent = MithrilTsxComponent;\n","/* global window */\n\"use strict\"\n\nvar PromisePolyfill = require(\"./polyfill\")\n\nif (typeof window !== \"undefined\") {\n\tif (typeof window.Promise === \"undefined\") {\n\t\twindow.Promise = PromisePolyfill\n\t} else if (!window.Promise.prototype.finally) {\n\t\twindow.Promise.prototype.finally = PromisePolyfill.prototype.finally\n\t}\n\tmodule.exports = window.Promise\n} else if (typeof global !== \"undefined\") {\n\tif (typeof global.Promise === \"undefined\") {\n\t\tglobal.Promise = PromisePolyfill\n\t} else if (!global.Promise.prototype.finally) {\n\t\tglobal.Promise.prototype.finally = PromisePolyfill.prototype.finally\n\t}\n\tmodule.exports = global.Promise\n} else {\n\tmodule.exports = PromisePolyfill\n}\n","\"use strict\"\n/** @constructor */\nvar PromisePolyfill = function(executor) {\n\tif (!(this instanceof PromisePolyfill)) throw new Error(\"Promise must be called with 'new'.\")\n\tif (typeof executor !== \"function\") throw new TypeError(\"executor must be a function.\")\n\n\tvar self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false)\n\tvar instance = self._instance = {resolvers: resolvers, rejectors: rejectors}\n\tvar callAsync = typeof setImmediate === \"function\" ? setImmediate : setTimeout\n\tfunction handler(list, shouldAbsorb) {\n\t\treturn function execute(value) {\n\t\t\tvar then\n\t\t\ttry {\n\t\t\t\tif (shouldAbsorb && value != null && (typeof value === \"object\" || typeof value === \"function\") && typeof (then = value.then) === \"function\") {\n\t\t\t\t\tif (value === self) throw new TypeError(\"Promise can't be resolved with itself.\")\n\t\t\t\t\texecuteOnce(then.bind(value))\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tcallAsync(function() {\n\t\t\t\t\t\tif (!shouldAbsorb && list.length === 0) console.error(\"Possible unhandled promise rejection:\", value)\n\t\t\t\t\t\tfor (var i = 0; i < list.length; i++) list[i](value)\n\t\t\t\t\t\tresolvers.length = 0, rejectors.length = 0\n\t\t\t\t\t\tinstance.state = shouldAbsorb\n\t\t\t\t\t\tinstance.retry = function() {execute(value)}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\trejectCurrent(e)\n\t\t\t}\n\t\t}\n\t}\n\tfunction executeOnce(then) {\n\t\tvar runs = 0\n\t\tfunction run(fn) {\n\t\t\treturn function(value) {\n\t\t\t\tif (runs++ > 0) return\n\t\t\t\tfn(value)\n\t\t\t}\n\t\t}\n\t\tvar onerror = run(rejectCurrent)\n\t\ttry {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)}\n\t}\n\n\texecuteOnce(executor)\n}\nPromisePolyfill.prototype.then = function(onFulfilled, onRejection) {\n\tvar self = this, instance = self._instance\n\tfunction handle(callback, list, next, state) {\n\t\tlist.push(function(value) {\n\t\t\tif (typeof callback !== \"function\") next(value)\n\t\t\telse try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)}\n\t\t})\n\t\tif (typeof instance.retry === \"function\" && state === instance.state) instance.retry()\n\t}\n\tvar resolveNext, rejectNext\n\tvar promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject})\n\thandle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false)\n\treturn promise\n}\nPromisePolyfill.prototype.catch = function(onRejection) {\n\treturn this.then(null, onRejection)\n}\nPromisePolyfill.prototype.finally = function(callback) {\n\treturn this.then(\n\t\tfunction(value) {\n\t\t\treturn PromisePolyfill.resolve(callback()).then(function() {\n\t\t\t\treturn value\n\t\t\t})\n\t\t},\n\t\tfunction(reason) {\n\t\t\treturn PromisePolyfill.resolve(callback()).then(function() {\n\t\t\t\treturn PromisePolyfill.reject(reason);\n\t\t\t})\n\t\t}\n\t)\n}\nPromisePolyfill.resolve = function(value) {\n\tif (value instanceof PromisePolyfill) return value\n\treturn new PromisePolyfill(function(resolve) {resolve(value)})\n}\nPromisePolyfill.reject = function(value) {\n\treturn new PromisePolyfill(function(resolve, reject) {reject(value)})\n}\nPromisePolyfill.all = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tvar total = list.length, count = 0, values = []\n\t\tif (list.length === 0) resolve([])\n\t\telse for (var i = 0; i < list.length; i++) {\n\t\t\t(function(i) {\n\t\t\t\tfunction consume(value) {\n\t\t\t\t\tcount++\n\t\t\t\t\tvalues[i] = value\n\t\t\t\t\tif (count === total) resolve(values)\n\t\t\t\t}\n\t\t\t\tif (list[i] != null && (typeof list[i] === \"object\" || typeof list[i] === \"function\") && typeof list[i].then === \"function\") {\n\t\t\t\t\tlist[i].then(consume, reject)\n\t\t\t\t}\n\t\t\t\telse consume(list[i])\n\t\t\t})(i)\n\t\t}\n\t})\n}\nPromisePolyfill.race = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tfor (var i = 0; i < list.length; i++) {\n\t\t\tlist[i].then(resolve, reject)\n\t\t}\n\t})\n}\n\nmodule.exports = PromisePolyfill\n","\"use strict\"\n\nmodule.exports = require(\"./render/render\")(typeof window !== \"undefined\" ? window : null)\n","\"use strict\"\n\nmodule.exports = function(object) {\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") return \"\"\n\n\tvar args = []\n\tfor (var key in object) {\n\t\tdestructure(key, object[key])\n\t}\n\n\treturn args.join(\"&\")\n\n\tfunction destructure(key, value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (var i = 0; i < value.length; i++) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse if (Object.prototype.toString.call(value) === \"[object Object]\") {\n\t\t\tfor (var i in value) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse args.push(encodeURIComponent(key) + (value != null && value !== \"\" ? \"=\" + encodeURIComponent(value) : \"\"))\n\t}\n}\n","// This exists so I'm only saving it once.\n\"use strict\"\n\nvar hasOwn = require(\"./hasOwn\")\n\nmodule.exports = Object.assign || function(target, source) {\n\tfor (var key in source) {\n\t\tif (hasOwn.call(source, key)) target[key] = source[key]\n\t}\n}\n","\"use strict\"\n\nfunction decodeURIComponentSave(str) {\n\ttry {\n\t\treturn decodeURIComponent(str)\n\t} catch(err) {\n\t\treturn str\n\t}\n}\n\nmodule.exports = function(string) {\n\tif (string === \"\" || string == null) return {}\n\tif (string.charAt(0) === \"?\") string = string.slice(1)\n\n\tvar entries = string.split(\"&\"), counters = {}, data = {}\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar entry = entries[i].split(\"=\")\n\t\tvar key = decodeURIComponentSave(entry[0])\n\t\tvar value = entry.length === 2 ? decodeURIComponentSave(entry[1]) : \"\"\n\n\t\tif (value === \"true\") value = true\n\t\telse if (value === \"false\") value = false\n\n\t\tvar levels = key.split(/\\]\\[?|\\[/)\n\t\tvar cursor = data\n\t\tif (key.indexOf(\"[\") > -1) levels.pop()\n\t\tfor (var j = 0; j < levels.length; j++) {\n\t\t\tvar level = levels[j], nextLevel = levels[j + 1]\n\t\t\tvar isNumber = nextLevel == \"\" || !isNaN(parseInt(nextLevel, 10))\n\t\t\tif (level === \"\") {\n\t\t\t\tvar key = levels.slice(0, j).join()\n\t\t\t\tif (counters[key] == null) {\n\t\t\t\t\tcounters[key] = Array.isArray(cursor) ? cursor.length : 0\n\t\t\t\t}\n\t\t\t\tlevel = counters[key]++\n\t\t\t}\n\t\t\t// Disallow direct prototype pollution\n\t\t\telse if (level === \"__proto__\") break\n\t\t\tif (j === levels.length - 1) cursor[level] = value\n\t\t\telse {\n\t\t\t\t// Read own properties exclusively to disallow indirect\n\t\t\t\t// prototype pollution\n\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(cursor, level)\n\t\t\t\tif (desc != null) desc = desc.value\n\t\t\t\tif (desc == null) cursor[level] = desc = isNumber ? [] : {}\n\t\t\t\tcursor = desc\n\t\t\t}\n\t\t}\n\t}\n\treturn data\n}\n","\"use strict\"\n\n// Note: this is mildly perf-sensitive.\n//\n// It does *not* use `delete` - dynamic `delete`s usually cause objects to bail\n// out into dictionary mode and just generally cause a bunch of optimization\n// issues within engines.\n//\n// Ideally, I would've preferred to do this, if it weren't for the optimization\n// issues:\n//\n// ```js\n// const hasOwn = require(\"./hasOwn\")\n// const magic = [\n// \"key\", \"oninit\", \"oncreate\", \"onbeforeupdate\", \"onupdate\",\n// \"onbeforeremove\", \"onremove\",\n// ]\n// module.exports = (attrs, extras) => {\n// const result = Object.assign(Object.create(null), attrs)\n// for (const key of magic) delete result[key]\n// if (extras != null) for (const key of extras) delete result[key]\n// return result\n// }\n// ```\n\nvar hasOwn = require(\"./hasOwn\")\n// Words in RegExp literals are sometimes mangled incorrectly by the internal bundler, so use RegExp().\nvar magic = new RegExp(\"^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$\")\n\nmodule.exports = function(attrs, extras) {\n\tvar result = {}\n\n\tif (extras != null) {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key) && extras.indexOf(key) < 0) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key)) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n","import m from \"mithril\"\r\nimport { MithrilTsxComponent } from \"mithril-tsx-component\"\r\nimport { mounter, isMobileViewport } from \"../utils\"\r\nimport { cleanString, debounce } from \"oj-utils\"\r\nimport { stringify } from \"querystring\"\r\nimport { tls } from \"./translations\"\r\n\r\ninterface IVoucherSelection {\r\n vouchers: IVoucher[]\r\n}\r\n\r\ninterface IVoucher {\r\n discountCode: string,\r\n title: string,\r\n expirationDate: string,\r\n isSelected: boolean\r\n}\r\n\r\nexport class VoucherSelection extends MithrilTsxComponent {\r\n vouchers: IVoucher[]\r\n showMore = false\r\n\r\n oninit(v: m.Vnode) {\r\n this.vouchers = v.attrs.vouchers;\r\n }\r\n\r\n view(v: m.Vnode) {\r\n return
\r\n
\r\n {this.vouchers.slice(0, 4).map(x => )}\r\n
\r\n {this.vouchers.length > 4 &&
\r\n {this.vouchers.slice(4).map(x => )}\r\n
}\r\n {this.vouchers.length > 4 && }\r\n
\r\n }\r\n\r\n setSelected(voucher: IVoucher) {\r\n if (voucher.isSelected) {\r\n voucher.isSelected = false;\r\n document.querySelector(\".cart-total-price\").classList.remove(\"hide-discount-code\");\r\n\r\n fetch(`/${window[\"culture\"]}/Checkout/RemoveDiscountCode/`, {\r\n method: 'GET',\r\n })\r\n .then(res => res.text())\r\n .then(data => {\r\n if (data !== undefined)\r\n window[\"SubmitShoppingcartInit\"].UpdateShoppingCartTotalAndProducts(data)\r\n })\r\n return\r\n }\r\n\r\n document.querySelector(\".cart-total-price\").classList.add(\"hide-discount-code\");\r\n this.vouchers.map(x => x.isSelected = false)\r\n voucher.isSelected = true;\r\n\r\n const payload = new FormData();\r\n payload.append('discountCode', voucher.discountCode);\r\n payload.append('isLoyaltyVoucher', 'true');\r\n // Post the payload using Fetch:\r\n fetch(`/${window[\"culture\"]}/Checkout/SetDiscountCode/`, {\r\n method: 'POST',\r\n body: payload,\r\n })\r\n .then(res => res.text())\r\n .then(data => {\r\n if (data !== undefined)\r\n window[\"SubmitShoppingcartInit\"].UpdateShoppingCartTotalAndProducts(data)\r\n\r\n })\r\n }\r\n}\r\n\r\nmounter(`[data-m-voucher-selection]`, (r, d) => {\r\n m.mount(r, {\r\n view: v => \r\n })\r\n})","\"use strict\"\n\nfunction Vnode(tag, key, attrs, children, text, dom) {\n\treturn {tag: tag, key: key, attrs: attrs, children: children, text: text, dom: dom, domSize: undefined, state: undefined, events: undefined, instance: undefined}\n}\nVnode.normalize = function(node) {\n\tif (Array.isArray(node)) return Vnode(\"[\", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined)\n\tif (node == null || typeof node === \"boolean\") return null\n\tif (typeof node === \"object\") return node\n\treturn Vnode(\"#\", undefined, undefined, String(node), undefined, undefined)\n}\nVnode.normalizeChildren = function(input) {\n\tvar children = []\n\tif (input.length) {\n\t\tvar isKeyed = input[0] != null && input[0].key != null\n\t\t// Note: this is a *very* perf-sensitive check.\n\t\t// Fun fact: merging the loop like this is somehow faster than splitting\n\t\t// it, noticeably so.\n\t\tfor (var i = 1; i < input.length; i++) {\n\t\t\tif ((input[i] != null && input[i].key != null) !== isKeyed) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\tisKeyed && (input[i] != null || typeof input[i] === \"boolean\")\n\t\t\t\t\t\t? \"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.\"\n\t\t\t\t\t\t: \"In fragments, vnodes must either all have keys or none have keys.\"\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < input.length; i++) {\n\t\t\tchildren[i] = Vnode.normalize(input[i])\n\t\t}\n\t}\n\treturn children\n}\n\nmodule.exports = Vnode\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\"\n\nvar hyperscript = require(\"./render/hyperscript\")\n\nhyperscript.trust = require(\"./render/trust\")\nhyperscript.fragment = require(\"./render/fragment\")\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(html) {\n\tif (html == null) html = \"\"\n\treturn Vnode(\"<\", undefined, undefined, html, undefined, undefined)\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\n\nmodule.exports = function() {\n\tvar vnode = hyperscriptVnode.apply(0, arguments)\n\n\tvnode.tag = \"[\"\n\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\treturn vnode\n}\n","\"use strict\"\n\nvar PromisePolyfill = require(\"./promise/promise\")\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./request/request\")(typeof window !== \"undefined\" ? window : null, PromisePolyfill, mountRedraw.redraw)\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a