{"version":3,"sources":["dQuery.ts","shelf.ts","../node_modules/eventlistener-polyfill/src/index.js","dropdown.ts","clipboard.ts","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","payment.ts","tabs.ts","videos.ts","main.ts"],"names":[],"mappings":"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","file":"main.js","sourceRoot":"..\\..\\Scripts","sourcesContent":["export default function dQuery(selectorOrElement: Function | string | HTMLElement | HTMLDocument | NodeListOf | Element[]) {\r\n if (selectorOrElement instanceof Function) {\r\n document.addEventListener(\"DOMContentLoaded\", e => (selectorOrElement as Function)(e));\r\n return null;\r\n }\r\n\r\n if (selectorOrElement instanceof Array) {\r\n return new QueryResponse(selectorOrElement);\r\n }\r\n\r\n if (selectorOrElement instanceof HTMLElement || selectorOrElement instanceof HTMLDocument) {\r\n return new QueryResponse([selectorOrElement as HTMLElement]);\r\n }\r\n\r\n if (selectorOrElement instanceof NodeList) {\r\n const elements = [].slice.call(selectorOrElement as NodeListOf);\r\n return new QueryResponse(elements);\r\n }\r\n\r\n if (typeof selectorOrElement === \"string\") {\r\n return dQuery(document.querySelectorAll(selectorOrElement));\r\n }\r\n}\r\n\r\nclass QueryResponse {\r\n private static handlers: { [name: string]: EventListener } = {};\r\n\r\n constructor(private elements: Element[]) {\r\n this.elements = !!elements ? elements.filter(e => e instanceof HTMLElement) : [];\r\n elements.forEach(e => {\r\n if (!!e && !e.id) {\r\n e.id = \"_\" + Math.random().toString(36).substr(2, 9);\r\n }\r\n });\r\n }\r\n\r\n private invoke(method: string, ...params: any[]): any[] {\r\n return this.elements.map(e => {\r\n return e[method].call(e, ...params);\r\n });\r\n }\r\n\r\n on(event: string, handler: EventListener) {\r\n handler = handler.bind(this);\r\n const name = event + \":\" + this.elements.map(e => e.id).join(\",\");\r\n QueryResponse.handlers[name] = handler;\r\n this.invoke(\"addEventListener\", event, handler);\r\n return this;\r\n }\r\n\r\n off(event: string) {\r\n const name = event + \":\" + this.elements.map(e => e.id).join(\",\");\r\n const handler = QueryResponse.handlers[name];\r\n delete QueryResponse.handlers[name];\r\n this.invoke(\"removeEventListener\", event, handler);\r\n return this;\r\n }\r\n\r\n once(event: string, handler: EventListener) {\r\n const specialHandler = (e) => {\r\n this.off(event);\r\n\r\n handler(e);\r\n };\r\n\r\n this.on(event, specialHandler);\r\n return this;\r\n }\r\n\r\n find(selector: string) {\r\n // convert NodeList to array\r\n const items = this.invoke('querySelectorAll', selector).map(l => Array.prototype.slice.call(l)) as Element[][];\r\n const flattened = items.reduce((a, b) => a.concat(b), []);\r\n return new QueryResponse(flattened);\r\n }\r\n\r\n parent() {\r\n return new QueryResponse(this.elements\r\n .map(e => e.parentElement as HTMLElement)\r\n .filter(value => !!value)\r\n .filter((value, index, self) => self.indexOf(value) === index));\r\n }\r\n\r\n children() {\r\n return new QueryResponse(this.elements\r\n .map(e => e.childNodes)\r\n .map(l => Array.prototype.slice.call(l))\r\n .reduce((a, b) => a.concat(b), [])\r\n .filter(n => n instanceof HTMLElement));\r\n }\r\n\r\n next(selector?: string) {\r\n const children = this.elements.map(e => {\r\n return dQuery(`#${e.id} ~ ${selector}`).elements;\r\n });\r\n const flattened = children.reduce((a, b) => a.concat(b), []);\r\n return new QueryResponse(flattened);\r\n }\r\n\r\n addClass(cls: string) {\r\n this.elements.forEach(e => e.classList.add(cls));\r\n return this;\r\n }\r\n\r\n removeClass(cls: string) {\r\n this.elements.forEach(e => e.classList.remove(cls));\r\n return this;\r\n }\r\n\r\n toggleClass(cls: string, force?: boolean) {\r\n this.elements.forEach(e => e.classList.toggle(cls, force));\r\n return this;\r\n }\r\n\r\n hasClass(cls: string) {\r\n return this.elements\r\n .map(e => e.classList.contains(cls))\r\n .filter(e => e)\r\n .length > 0;\r\n }\r\n\r\n text(text: string) {\r\n this.elements\r\n .forEach(e => e.textContent = text);\r\n }\r\n}","import $ from \"./dQuery\";\r\n\r\nexport default function (triggerSelector: string = '[dc-shelf-trigger]') {\r\n\r\n $(triggerSelector)\r\n .on('click', () => {\r\n $('.stage-shelf').toggleClass('hidden');\r\n $('.stage').toggleClass('stage-open');\r\n });\r\n};","var passiveSupported = false\nvar onceSupported = false\nfunction noop() {}\ntry {\n var options = Object.create({}, {\n passive: {get: function() { passiveSupported = true }},\n once: {get: function() { onceSupported = true }},\n })\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n} catch (e) { /* */ }\n\nvar enhance = module.exports = function enhance(proto) {\n var originalAddEventListener = proto.addEventListener\n var originalRemoveEventListener = proto.removeEventListener\n\n var listeners = new WeakMap()\n proto.addEventListener = function(name, originalCallback, optionsOrCapture) {\n if (\n optionsOrCapture === undefined ||\n optionsOrCapture === true ||\n optionsOrCapture === false ||\n (!originalCallback || typeof originalCallback !== 'function' && typeof originalCallback !== 'object')\n ) {\n return originalAddEventListener.call(this, name, originalCallback, optionsOrCapture)\n }\n\n var callback = originalCallback\n var options = typeof optionsOrCapture === 'boolean' ? {capture: optionsOrCapture} : optionsOrCapture || {}\n var passive = Boolean(options.passive)\n var once = Boolean(options.once)\n var capture = Boolean(options.capture)\n var oldCallback = callback\n\n if (!onceSupported && once) {\n callback = function(event) {\n this.removeEventListener(name, originalCallback, options)\n oldCallback.call(this, event)\n }\n }\n\n if (!passiveSupported && passive) {\n callback = function(event) {\n event.preventDefault = noop\n oldCallback.call(this, event)\n }\n }\n\n if (!listeners.has(this)) listeners.set(this, new WeakMap())\n var elementMap = listeners.get(this)\n if (!elementMap.has(originalCallback)) elementMap.set(originalCallback, [])\n var optionsOctal = (passive * 1) + (once * 2) + (capture * 4)\n elementMap.get(originalCallback)[optionsOctal] = callback\n\n originalAddEventListener.call(this, name, callback, capture)\n }\n\n proto.removeEventListener = function(name, originalCallback, optionsOrCapture) {\n var capture = Boolean(typeof optionsOrCapture === 'object' ? optionsOrCapture.capture : optionsOrCapture)\n\n var elementMap = listeners.get(this)\n if (!elementMap) return originalRemoveEventListener.call(this, name, originalCallback, optionsOrCapture)\n var callbacks = elementMap.get(originalCallback)\n if (!callbacks) return originalRemoveEventListener.call(this, name, originalCallback, optionsOrCapture)\n\n for (var optionsOctal in callbacks) {\n var callbackIsCapture = Boolean(optionsOctal & 4)\n if (callbackIsCapture !== capture) continue // when unbinding, capture is the only option that counts\n originalRemoveEventListener.call(this, name, callbacks[optionsOctal], callbackIsCapture)\n }\n\n }\n\n}\n\nif (!passiveSupported || !onceSupported) {\n\n if (typeof EventTarget !== 'undefined') {\n enhance(EventTarget.prototype)\n } else {\n enhance(Text.prototype)\n enhance(HTMLElement.prototype)\n enhance(HTMLDocument.prototype)\n enhance(Window.prototype)\n enhance(XMLHttpRequest.prototype)\n }\n\n}\n","import \"eventlistener-polyfill\";\r\nimport $ from \"./dQuery\";\r\n\r\nexport default function (toggleSelector: string = '.dropdown-toggle', menuSelector: string = '.dropdown-menu', showClass: string = 'show') {\r\n $(toggleSelector)\r\n .on('click', (e: Event) => {\r\n const menu = $(e.currentTarget as HTMLElement).next(menuSelector);\r\n if (!menu.hasClass(showClass)) {\r\n menu.addClass(showClass);\r\n setTimeout(() => {\r\n $(document).once('click', () => menu.removeClass(showClass));\r\n },\r\n 1);\r\n } else {\r\n menu.removeClass(showClass);\r\n }\r\n });\r\n}\r\n\r\n ","import $ from './dQuery';\r\n\r\nexport function copyTextToClipboard(text): boolean {\r\n const textArea = document.createElement(\"textarea\");\r\n\r\n //\r\n // *** This styling is an extra step which is likely not required. ***\r\n //\r\n // Why is it here? To ensure:\r\n // 1. the element is able to have focus and selection.\r\n // 2. if element was to flash render it has minimal visual impact.\r\n // 3. less flakyness with selection and copying which **might** occur if\r\n // the textarea element is not visible.\r\n //\r\n // The likelihood is the element won't even render, not even a flash,\r\n // so some of these are just precautions. However in IE the element\r\n // is visible whilst the popup box asking the user for permission for\r\n // the web page to copy to the clipboard.\r\n //\r\n\r\n // Place in top-left corner of screen regardless of scroll position.\r\n textArea.style.position = \"fixed\";\r\n textArea.style.top = \"0\";\r\n textArea.style.left = \"0\";\r\n\r\n // Ensure it has a small width and height. Setting to 1px / 1em\r\n // doesn't work as this gives a negative w/h on some browsers.\r\n textArea.style.width = \"2em\";\r\n textArea.style.height = \"2em\";\r\n\r\n // We don't need padding, reducing the size if it does flash render.\r\n textArea.style.padding = \"0\";\r\n\r\n // Clean up any borders.\r\n textArea.style.border = \"none\";\r\n textArea.style.outline = \"none\";\r\n textArea.style.boxShadow = \"none\";\r\n\r\n // Avoid flash of white box if rendered for any reason.\r\n textArea.style.background = \"transparent\";\r\n\r\n textArea.value = text;\r\n\r\n document.body.appendChild(textArea);\r\n\r\n textArea.select();\r\n\r\n let result = false;\r\n try {\r\n result = document.execCommand(\"copy\");\r\n } catch (err) {\r\n }\r\n\r\n document.body.removeChild(textArea);\r\n return result;\r\n}\r\n\r\n$('[copy]')\r\n .on('click',\r\n (e: Event) => {\r\n const text = (e.currentTarget as Element).getAttribute(\"copy\");\r\n copyTextToClipboard(text);\r\n e.preventDefault();\r\n e.stopPropagation();\r\n alert(\"Copied to clipboard\");\r\n return false;\r\n });","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","import $ from \"./dQuery\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\ndeclare var checkoutItems: any;\r\ndeclare var gtag: Function;\r\ndeclare var StripeCheckout: any;\r\n\r\n$(function() {\r\n const form: HTMLFormElement = document.forms[\"orderForm\"];\r\n\r\n if (!!form) {\r\n const price = parseFloat(form.dataset.price as string);\r\n const seatsElement = form.elements[\"Details.Seats\"];\r\n const volumeDiscounts: { [volume: string]: number; } = !seatsElement ? {} : JSON.parse(seatsElement.dataset.discounts);\r\n const periodsRadioElements = form.querySelectorAll('input[name=\"Details.PrepayPeriods\"]');\r\n const countryElement = form.elements[\"Country\"];\r\n\r\n const update = function () {\r\n const volume = !seatsElement ? 1 : parseInt(seatsElement.value, 10);\r\n const qualifiedDiscounts = Object.keys(volumeDiscounts)\r\n .map(l => parseInt(l, 10))\r\n .filter(l => volume >= l)\r\n .sort((a, b) => a < b ? -1 : a === b ? 0 : 1)\r\n .reverse();\r\n\r\n let periodLength = 1,\r\n periodDiscount = 0,\r\n periodDiscountItemAmount = 0;\r\n if (periodsRadioElements.length > 0) {\r\n const selectedPeriodElement = form.querySelector('input[name=\"Details.PrepayPeriods\"]:checked') as HTMLInputElement;\r\n periodDiscount = parseFloat(selectedPeriodElement.dataset.discount as string);\r\n periodLength = parseFloat(selectedPeriodElement.value);\r\n periodDiscountItemAmount = -price * periodLength * periodDiscount;\r\n }\r\n\r\n const volumeDiscount = qualifiedDiscounts.length > 0 ? volumeDiscounts[qualifiedDiscounts[0]] : 0;\r\n const volumeDiscountItemAmount = -price * periodLength * volumeDiscount;\r\n\r\n $(\".volume-discount-percentage\").text((volumeDiscount * 100).toFixed(0));\r\n $('.volume-discount-item').text(volumeDiscountItemAmount.toFixed(2));\r\n $(\".volume-discount-total\").text((volumeDiscountItemAmount * volume).toFixed(2));\r\n $(\".volume-discount-row\").toggleClass(\"hidden\", volumeDiscount === 0);\r\n\r\n $(\".period-discount-percentage\").text((periodDiscount * 100).toFixed(0));\r\n $(\".period-discount-item\").text(periodDiscountItemAmount.toFixed(2));\r\n $(\".period-discount-total\").text((periodDiscountItemAmount * volume).toFixed(2));\r\n $(\".period-discount-row\").toggleClass(\"hidden\", periodDiscount === 0);\r\n $(\".years\").text(periodLength);\r\n\r\n $(\".quantity\").text(volume);\r\n $(\".price-license\").text((price * volume * periodLength).toFixed(2));\r\n $(\".price-item\").text((price * periodLength).toFixed(2));\r\n\r\n const totalBeforeVAT = ((price * periodLength) + volumeDiscountItemAmount + periodDiscountItemAmount) * volume;\r\n\r\n const vatRate = countryElement.value.toUpperCase() === \"NO\" ? 0.25 : 0;\r\n $('.vat-row').toggleClass(\"hidden\", vatRate === 0);\r\n $('.vat-rate').text((vatRate * 100).toFixed(0));\r\n const vatAmount = totalBeforeVAT * vatRate;\r\n $('.vat-amount').text(vatAmount.toFixed(2));\r\n\r\n $('.total').text((totalBeforeVAT + vatAmount).toFixed(2));\r\n\r\n var items = [checkoutItems[0]];\r\n items[0].quantity = volume;\r\n if (periodDiscount > 0) {\r\n items.push({\r\n \"id\": \"period-discount\",\r\n \"name\": $('.period-discount-text').elements[0].innerText,\r\n \"category\": \"Discount\",\r\n \"quantity\": volume,\r\n \"price\": periodDiscountItemAmount.toFixed(2)\r\n });\r\n }\r\n\r\n if (volumeDiscount > 0) {\r\n items.push({\r\n \"id\": \"volume-discount\",\r\n \"name\": $('.volume-discount-text').elements[0].innerText,\r\n \"category\": \"Discount\",\r\n \"quantity\": volume,\r\n \"price\": volumeDiscountItemAmount.toFixed(2)\r\n });\r\n }\r\n\r\n gtag('event', 'checkout_progress',\r\n {\r\n items: checkoutItems,\r\n checkout_step: 1,\r\n currency: \"EUR\",\r\n tax: vatAmount.toFixed(),\r\n value: (totalBeforeVAT + vatAmount).toFixed(2)\r\n });\r\n };\r\n const debouncedUpdate = debounce(update, 50);\r\n\r\n let elements = [];\r\n elements = elements.concat(Array.prototype.slice.call(periodsRadioElements));\r\n elements.push(countryElement);\r\n\r\n if (!!seatsElement) {\r\n elements.push(seatsElement);\r\n }\r\n $(elements)\r\n .on(\"change\", debouncedUpdate)\r\n .on(\"keyup\", debouncedUpdate)\r\n .on(\"click\", debouncedUpdate)\r\n .on(\"blur\", debouncedUpdate);\r\n\r\n update();\r\n }\r\n});","import $ from \"./dQuery\";\r\n\r\n$(function() {\r\n $('.nav [data-toggle=\"tab\"]').on('click',\r\n function (e) {\r\n e.preventDefault();\r\n\r\n const selectedTab = e.currentTarget as HTMLAnchorElement;\r\n const tab = selectedTab.parentElement as HTMLElement;\r\n const tabGroup = tab.parentElement as HTMLElement;\r\n\r\n $(tabGroup).find('.nav-link').removeClass(\"active\");\r\n $(selectedTab).addClass(\"active\");\r\n\r\n const contentGroup = $(tabGroup).next('.tab-content');\r\n contentGroup.children().removeClass(\"show\").removeClass(\"active\");\r\n const clickedTabHref = selectedTab.getAttribute(\"href\") as string;\r\n contentGroup.find(clickedTabHref).addClass(\"active\").addClass(\"show\");\r\n });\r\n});","import $ from \"./dQuery\";\r\n\r\n$(function () {\r\n $('.surface-video').on('click',\r\n function(e) {\r\n var video = $(e.currentTarget).find('video').elements[0];\r\n\r\n if (video.paused) {\r\n video.play();\r\n $(e.currentTarget).addClass('playing');\r\n } else {\r\n video.pause();\r\n $(e.currentTarget).removeClass('playing');\r\n }\r\n\r\n e.preventDefault();\r\n console.log('playing');\r\n });\r\n});","import shelf from './shelf';\r\nimport dropdown from './dropdown';\r\nimport './clipboard';\r\nimport './payment';\r\nimport './tabs';\r\nimport './videos';\r\n\r\ndeclare var hljs: any;\r\n\r\nshelf();\r\ndropdown();"]}