{"version":3,"file":"pricing-revamp.min.js","sources":["../../../../node_modules/jquery.easing/jquery.easing.js","../../../../node_modules/@progress-wad/data-attr-parser/index.mjs","../../../../node_modules/@progress-wad/sticky-element/index.es6.js","../../../../src/js/modules/dataloader.js","../../../../src/js/modules/support-css-property.js","../../../../src/js/pricing-revamp/pricing.js"],"sourcesContent":["/*\n * jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/\n * Open source under the BSD License.\n * Copyright © 2008 George McGinley Smith\n * All rights reserved.\n * https://raw.github.com/gdsmith/jquery-easing/master/LICENSE\n*/\n\n(function (factory) {\n\tif (typeof define === \"function\" && define.amd) {\n\t\tdefine(['jquery'], function ($) {\n\t\t\treturn factory($);\n\t\t});\n\t} else if (typeof module === \"object\" && typeof module.exports === \"object\") {\n\t\texports = factory(require('jquery'));\n\t} else {\n\t\tfactory(jQuery);\n\t}\n})(function($){\n\n// Preserve the original jQuery \"swing\" easing as \"jswing\"\n$.easing.jswing = $.easing.swing;\n\nvar pow = Math.pow,\n\tsqrt = Math.sqrt,\n\tsin = Math.sin,\n\tcos = Math.cos,\n\tPI = Math.PI,\n\tc1 = 1.70158,\n\tc2 = c1 * 1.525,\n\tc3 = c1 + 1,\n\tc4 = ( 2 * PI ) / 3,\n\tc5 = ( 2 * PI ) / 4.5;\n\n// x is the fraction of animation progress, in the range 0..1\nfunction bounceOut(x) {\n\tvar n1 = 7.5625,\n\t\td1 = 2.75;\n\tif ( x < 1/d1 ) {\n\t\treturn n1*x*x;\n\t} else if ( x < 2/d1 ) {\n\t\treturn n1*(x-=(1.5/d1))*x + 0.75;\n\t} else if ( x < 2.5/d1 ) {\n\t\treturn n1*(x-=(2.25/d1))*x + 0.9375;\n\t} else {\n\t\treturn n1*(x-=(2.625/d1))*x + 0.984375;\n\t}\n}\n\n$.extend( $.easing,\n{\n\tdef: 'easeOutQuad',\n\tswing: function (x) {\n\t\treturn $.easing[$.easing.def](x);\n\t},\n\teaseInQuad: function (x) {\n\t\treturn x * x;\n\t},\n\teaseOutQuad: function (x) {\n\t\treturn 1 - ( 1 - x ) * ( 1 - x );\n\t},\n\teaseInOutQuad: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t2 * x * x :\n\t\t\t1 - pow( -2 * x + 2, 2 ) / 2;\n\t},\n\teaseInCubic: function (x) {\n\t\treturn x * x * x;\n\t},\n\teaseOutCubic: function (x) {\n\t\treturn 1 - pow( 1 - x, 3 );\n\t},\n\teaseInOutCubic: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t4 * x * x * x :\n\t\t\t1 - pow( -2 * x + 2, 3 ) / 2;\n\t},\n\teaseInQuart: function (x) {\n\t\treturn x * x * x * x;\n\t},\n\teaseOutQuart: function (x) {\n\t\treturn 1 - pow( 1 - x, 4 );\n\t},\n\teaseInOutQuart: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t8 * x * x * x * x :\n\t\t\t1 - pow( -2 * x + 2, 4 ) / 2;\n\t},\n\teaseInQuint: function (x) {\n\t\treturn x * x * x * x * x;\n\t},\n\teaseOutQuint: function (x) {\n\t\treturn 1 - pow( 1 - x, 5 );\n\t},\n\teaseInOutQuint: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t16 * x * x * x * x * x :\n\t\t\t1 - pow( -2 * x + 2, 5 ) / 2;\n\t},\n\teaseInSine: function (x) {\n\t\treturn 1 - cos( x * PI/2 );\n\t},\n\teaseOutSine: function (x) {\n\t\treturn sin( x * PI/2 );\n\t},\n\teaseInOutSine: function (x) {\n\t\treturn -( cos( PI * x ) - 1 ) / 2;\n\t},\n\teaseInExpo: function (x) {\n\t\treturn x === 0 ? 0 : pow( 2, 10 * x - 10 );\n\t},\n\teaseOutExpo: function (x) {\n\t\treturn x === 1 ? 1 : 1 - pow( 2, -10 * x );\n\t},\n\teaseInOutExpo: function (x) {\n\t\treturn x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?\n\t\t\tpow( 2, 20 * x - 10 ) / 2 :\n\t\t\t( 2 - pow( 2, -20 * x + 10 ) ) / 2;\n\t},\n\teaseInCirc: function (x) {\n\t\treturn 1 - sqrt( 1 - pow( x, 2 ) );\n\t},\n\teaseOutCirc: function (x) {\n\t\treturn sqrt( 1 - pow( x - 1, 2 ) );\n\t},\n\teaseInOutCirc: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 :\n\t\t\t( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2;\n\t},\n\teaseInElastic: function (x) {\n\t\treturn x === 0 ? 0 : x === 1 ? 1 :\n\t\t\t-pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 );\n\t},\n\teaseOutElastic: function (x) {\n\t\treturn x === 0 ? 0 : x === 1 ? 1 :\n\t\t\tpow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1;\n\t},\n\teaseInOutElastic: function (x) {\n\t\treturn x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?\n\t\t\t-( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 :\n\t\t\tpow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1;\n\t},\n\teaseInBack: function (x) {\n\t\treturn c3 * x * x * x - c1 * x * x;\n\t},\n\teaseOutBack: function (x) {\n\t\treturn 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 );\n\t},\n\teaseInOutBack: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 :\n\t\t\t( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2;\n\t},\n\teaseInBounce: function (x) {\n\t\treturn 1 - bounceOut( 1 - x );\n\t},\n\teaseOutBounce: bounceOut,\n\teaseInOutBounce: function (x) {\n\t\treturn x < 0.5 ?\n\t\t\t( 1 - bounceOut( 1 - 2 * x ) ) / 2 :\n\t\t\t( 1 + bounceOut( 2 * x - 1 ) ) / 2;\n\t}\n});\n\n});\n","const rejson = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n\nexport function isNumber(num) {\n var number = +num;\n\n if ((number - number) !== 0) {\n // Discard Infinity and NaN\n return false;\n }\n\n if (number === num) {\n return true;\n }\n\n if (typeof num === 'string') {\n // String parsed, both a non-empty whitespace string and an empty string\n // will have been coerced to 0. If 0 trim the string and see if its empty.\n if (number === 0 && num.trim() === '') {\n return false;\n }\n return true;\n }\n return false;\n};\n\nexport function hyphenToCamelCase(hyphen) {\n return hyphen.replace(/-([a-z])/g, function(match) {\n return match[1].toUpperCase();\n });\n}\n\nexport function camelCaseToHyphen(camelCase) {\n return camelCase.replace(/[A-Z]/g, '-$1').toLowerCase();\n}\n\nexport function attributeToCamelCase(attribute) {\n return hyphenToCamelCase(attribute.replace(/^(data-)?(.*)/, '$2'));\n}\n\nexport function camelCaseToAttribute(camelCase) {\n return 'data-' + camelCaseToHyphen(camelCase);\n}\n\nexport function stringToCamelCase(string) {\n return string.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(letter, index) {\n return index == 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s+/g, '');\n}\n\nexport class DataAttrParser {\n /**\n * @param {DOMStringMap} dataset\n * @param {Array} _prefixes\n */\n static parse(dataset, _prefixes = []) {\n let result = {};\n const keys = Object.keys(dataset);\n const grouping = _prefixes.length;\n const prefixes = _prefixes.map(hyphenToCamelCase);\n\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n let value = dataset[key];\n\n if (value === 'true') {\n result[key] = true;\n continue;\n }\n\n if (value === 'false') {\n result[key] = false;\n continue;\n }\n\n if (isNumber(value)) {\n result[key] = Number(value);\n continue;\n }\n\n if (value === 'null') {\n result[key] = null;\n continue;\n }\n\n if (rejson.test(value)) {\n result[key] = JSON.parse(value);\n continue;\n }\n\n // @String\n result[key] = value;\n }\n\n // Group result object\n prefixes.forEach(prefix => {\n let subResult = {};\n\n Object.keys(result)\n .filter(key => key.startsWith(prefix))\n .forEach(key => {\n let slicedKey = stringToCamelCase(key.replace(prefix, ''));\n if (slicedKey === '') slicedKey = prefix;\n subResult[slicedKey] = result[key];\n delete result[key];\n });\n\n result[prefix] = subResult;\n });\n\n return result;\n }\n}\n","'use strict'\n\nfunction noop() {\n\n}\n\nfunction offset(element, from) {\n return element.getBoundingClientRect()[from] + (window.scrollY || window.pageYOffset)\n}\n\nfunction rect(element, key) {\n return element.getBoundingClientRect()[key]\n}\n\nconst defaults = {\n top: 0, /* Where to stick from top */\n bottom: 0, /* Extra added to stopper selector */\n breakpoint: 0, /* Where to stop or start */\n resize: false, /* Handle resize with js, suited for sidebars and responsive */\n classOnly: true, /* Sticky only with css class with position fixed */\n elevation: false, /* If sticky element is bigger than screen, turn it off */\n fixClass: 'is-fixed', /* Default sticky class */\n selector: '.js-sticky-element', /* The element selector to stick */\n placeholder: true, /* If false, no placeholder is created */\n placeholderClass: 'sticky-element-placeholder', /* Placeholder css class */\n onBreakpointAbove: noop, /* function to be called when above breakpoint */\n onBreakpointBelow: noop /* function to be called when bellow breakpoint */\n}\n\nfunction StickyElement(options, element) {\n this.options = Object.assign({}, defaults, options)\n this.element = element || document.querySelector(this.options.selector)\n this.stopper = document.querySelector(this.options.stopSelector)\n this.fixed = false\n this.ticking = false\n this.pinned = false\n\n if (this.options.placeholder) {\n this.placeholder = document.createElement('div')\n this.placeholder.className = this.options.placeholderClass\n }\n\n this.scrollTop = window.scrollY || window.pageYOffset\n this.initial = this.bounds()\n\n this.turnOn = this.turnOn.bind(this)\n this.turnOff = this.turnOff.bind(this)\n\n this.boundOnScroll = this.onScroll.bind(this)\n this.boundOnResize = this.onResize.bind(this)\n this.boundSwitchHandler = this.switchHandler.bind(this)\n\n this.boundBreakpointHandler = this.breakpointHandler.bind(this)\n this.onBreakpointAbove = this.options.onBreakpointAbove.bind(this)\n this.onBreakpointBelow = this.options.onBreakpointBelow.bind(this)\n\n this.turnOn()\n}\n\nStickyElement.prototype.bounds = function() {\n return {\n top: offset(this.element, 'top'),\n bottom: offset(this.element, 'bottom'),\n width: rect(this.element, 'width'),\n height: rect(this.element, 'height'),\n position: this.element.style.position\n }\n}\n\n\nStickyElement.prototype.css = function(def) {\n Object.keys(def).forEach(function(key) {\n this.element.style[key] = def[key]\n }, this)\n}\n\n\nStickyElement.prototype.addPlaceholder = function() {\n if (this.options.placeholder) {\n this.placeholder.style.height = this.initial.height + 'px'\n this.element.parentElement.insertBefore(this.placeholder, this.element)\n }\n}\n\n\nStickyElement.prototype.fix = function() {\n this.addPlaceholder()\n\n if (!this.options.classOnly) {\n this.css({\n position: 'fixed',\n top: this.options.top + 'px',\n width: this.initial.width + 'px'\n })\n }\n\n this.element.classList.add(this.options.fixClass)\n this.fixed = true\n}\n\n\nStickyElement.prototype.unfix = function() {\n if (document.body.contains(this.placeholder)) {\n this.placeholder.parentElement.removeChild(this.placeholder)\n }\n\n if (!this.options.classOnly) {\n this.css({\n position: this.initial.position,\n top: 'auto',\n width: 'auto'\n })\n }\n\n this.element.classList.remove(this.options.fixClass)\n this.fixed = false\n}\n\n\nStickyElement.prototype.pin = function() {\n this.css({\n transform: `translate3d(0, ${this.diff}px, 0)`\n })\n this.pinned = true\n}\n\n\nStickyElement.prototype.unpin = function() {\n this.css({\n transform: 'translate3d(0, 0, 0)'\n })\n this.pinned = false\n}\n\n\nStickyElement.prototype.requestTick = function(method) {\n if (!this.ticking) {\n window.requestAnimationFrame(method.bind(this))\n }\n this.ticking = true\n}\n\n\nStickyElement.prototype.update = function() {\n if (this.scrollTop + this.options.top >= this.initial.top) {\n if (!this.fixed) {\n this.fix()\n }\n }\n else {\n if (this.fixed) {\n this.unfix()\n }\n }\n\n if (this.stopper) {\n this.diff <= 0 ? this.pin() : this.unpin()\n }\n\n this.ticking = false\n}\n\n\nStickyElement.prototype.calcDiff = function() {\n if (this.stopper) {\n let { top, bottom } = this.options\n this.diff = rect(this.stopper, 'top') - rect(this.element, 'height') - top - bottom\n }\n}\n\n\nStickyElement.prototype.reset = function() {\n this.unfix()\n this.unpin()\n this.initial = this.bounds()\n}\n\n\nStickyElement.prototype.onScroll = function() {\n this.calcDiff()\n this.scrollTop = window.scrollY || window.pageYOffset\n this.requestTick(this.update)\n}\n\n\nStickyElement.prototype.onResize = function() {\n this.reset()\n this.calcDiff()\n this.requestTick(this.update)\n}\n\n\n/*\n * Turn Sticky Behaviour on/off according to breakpoint and elevation options\n */\nStickyElement.prototype.switchHandler = function() {\n let { top, bottom, breakpoint, elevation } = this.options\n let stickyHeight = Math.floor(this.bounds()['height']) + top + bottom\n let clientWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)\n let clientHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)\n\n if (breakpoint && elevation) {\n if ((clientWidth >= breakpoint) && (stickyHeight <= clientHeight)) {\n setTimeout(this.turnOn)\n return\n }\n\n\n if ((clientWidth <= breakpoint) && (stickyHeight >= clientHeight)) {\n setTimeout(this.turnOff)\n return\n }\n\n if ((clientWidth <= breakpoint) && (stickyHeight <= clientHeight)) {\n setTimeout(this.turnOff)\n return\n }\n\n if ((clientWidth >= breakpoint) && (stickyHeight >= clientHeight)) {\n setTimeout(this.turnOff)\n return\n }\n\n return\n }\n\n if (breakpoint) {\n setTimeout(clientWidth <= breakpoint ? this.turnOff : this.turnOn)\n return\n }\n\n if (elevation) {\n setTimeout(stickyHeight >= clientHeight ? this.turnOff : this.turnOn)\n return\n }\n}\n\n\n/*\n * Handle client attached handlers below/above breakpoint\n */\nStickyElement.prototype.breakpointHandler = function() {\n let { breakpoint } = this.options\n let clientWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)\n\n if (!breakpoint) return\n\n if (clientWidth >= breakpoint) {\n if (!this._breakpointAboveHandlerExecuted) {\n this.onBreakpointAbove()\n this._breakpointAboveHandlerExecuted = true\n this._breakpointBelowHandlerExecuted = false\n }\n }\n else {\n if (!this._breakpointBelowHandlerExecuted) {\n this.onBreakpointBelow()\n this._breakpointBelowHandlerExecuted = true\n this._breakpointAboveHandlerExecuted = false\n }\n }\n}\n\n\n/*\n * Turn ON sticky behaviour\n */\nStickyElement.prototype.turnOn = function() {\n if (this._switchedOn) return\n\n let { resize, breakpoint, elevation, onBreakpointBelow, onBreakpointAbove } = this.options\n\n this.boundOnScroll()\n this.boundOnResize()\n this.boundSwitchHandler()\n this.boundBreakpointHandler()\n\n window.addEventListener('scroll', this.boundOnScroll, false)\n if (resize) window.addEventListener('resize', this.boundOnResize, false)\n if (breakpoint || elevation) window.addEventListener('resize', this.boundSwitchHandler, false)\n if (breakpoint && (onBreakpointBelow !== noop || onBreakpointAbove !== noop)) window.addEventListener('resize', this.boundBreakpointHandler, false)\n\n this.reset()\n this._switchedOn = true\n}\n\n\n/*\n * Turn OFF sticky behaviour\n */\nStickyElement.prototype.turnOff = function() {\n if (!this._switchedOn) return\n\n window.removeEventListener('scroll', this.boundOnScroll, false)\n window.removeEventListener('resize', this.boundOnResize, false)\n window.removeEventListener('resize', this.boundBreakpointHandler, false)\n\n this.reset()\n this._switchedOn = false\n}\n\n\nStickyElement.create = function(options) {\n options = options || {}\n return new StickyElement(options)\n}\n\n\n// DEFAULT EXPORT\nexport default StickyElement\n\n// Attach to jquery if presented\nif (window.jQuery) {\n $.fn.StickyElement = function(options) {\n return this.each(function() {\n if (!$.data(this, 'StickyElement')) {\n $.data(this, 'StickyElement', new StickyElement(options, this))\n }\n })\n }\n\n // lowercase, so we can initialize via data attr parser\n $.fn.stickyelement = $.fn.StickyElement;\n}\n\n// Attach to window\nwindow.StickyElement = StickyElement\n","import $ from 'jquery';\nimport { DataAttrParser } from '@progress-wad/data-attr-parser';\n\n/**\n * Init jquery plugins from data-attrs\n * @todo init vanilla js plugins from data-attr\n */\n$(document).ready(() => {\n const elements = Array.from(document.querySelectorAll('[data-tlrk-plugin]'));\n\n elements.forEach(element => {\n const $element = $(element);\n const plugins = element.getAttribute('data-tlrk-plugin').split(' ');\n\n plugins.forEach(plugin => {\n if ($.isFunction($.fn[plugin])) {\n const group = plugin.toLowerCase();\n const options = DataAttrParser.parse(element.dataset, [group]);\n $element[plugin](options[group]);\n }\n });\n });\n});\n","import $ from 'jquery';\n\n/* eslint-disable */\n$.support.cssProperty = (function supportCssPropertyFactory() {\n return function supportCssProperty(a, e) {\n const d = (document.body || document.documentElement).style;\n let c;\n\n if (typeof d === 'undefined') {\n return !1;\n }\n\n if (typeof d[a] === 'string') {\n return e ? a : !0;\n }\n\n const b = 'Moz Webkit Khtml O ms Icab'.split(' ');\n\n for (a = a.charAt(0).toUpperCase() + a.substr(1), c = 0; c < b.length; c++) {\n if (typeof d[b[c] + a] === 'string') {\n return e ? b[c] + a : !0;\n }\n }\n };\n})();\n/* eslint-enable */\n","/* global StickyElement */\nimport $ from 'jquery';\n\n$(document).ready(() => {\n // Create Mobile Headers\n const $wrap = $('.PricingTable-Wrap');\n const headers = $('.PricingTable-Sticky > div').length;\n $wrap.prepend('
');\n\n for (let i = 1; i < headers + 1; i++) {\n $('.m-thead').append(`
`);\n\n $(`.PricingTable-Sticky > div:nth-child(${i}) label`).clone()\n .appendTo($(`.item-${i} > div`));\n\n $(`.PricingTable-Sticky > div:nth-child(${i}) .js-product`).clone()\n .attr('class', 'js-product')\n .appendTo($(`.item-${i} > div`));\n\n $(`.PricingTable-Sticky > div:nth-child(${i}) .js-price`).clone()\n .attr('class', 'js-price')\n .appendTo($(`.item-${i} > div`))\n .find('span')\n .attr('style', '');\n\n $(\n $(`.PricingTable-Sticky > div:nth-child(${i}) .js-support`).clone()\n .attr('class', 'js-support')\n .appendTo($(`.item-${i} > div`))\n .contents()[0]\n ).remove();\n }\n\n $(document).click(() => {\n $('.m-thead-dropdown').slideUp();\n $('.m-thead .is-open').removeClass('is-open');\n });\n\n $('.m-thead .item-1').addClass('is-active');\n $('.sticky-table thead tr:not(:first-child) th:first-child, .sticky-table tr td:nth-child(2)').addClass('is-active');\n $('.m-thead').append('
');\n $('.m-thead .item > div:first-of-type').click(e => {\n e.stopPropagation();\n $('.m-thead-dropdown').slideToggle();\n $(e.target).closest('.item').toggleClass('is-open');\n });\n\n\n // Create Mobile Dropdown\n $('.m-thead .item > div').each((i, el) => {\n $(el)\n .clone()\n .attr('data-target', `item-${i + 1}`)\n .appendTo($('.m-thead-dropdown'))\n .click(e => {\n const target = $(e.target).closest('div[data-target]').attr('data-target');\n\n $('.m-thead .is-active').removeClass('is-active');\n $(`.${target}`).addClass('is-active');\n $('.m-thead-dropdown > div').removeClass('is-disabled');\n $(`.m-thead-dropdown > div[data-target=\"${target}\"]`).addClass('is-disabled');\n $('.m-thead-dropdown').slideUp();\n $('.sticky-table tr th').removeClass('is-active');\n $(`.sticky-table tr:not(:first-child) th:nth-child(${i + 1})`).addClass('is-active');\n $('.sticky-table tr td').removeClass('is-active');\n $(`.sticky-table tr td:nth-child(${i + 2})`).addClass('is-active');\n $('.m-thead .is-open').removeClass('is-open');\n $('.js-mobile-btn a.Btn').attr('href', $('.Pricings-button th.is-active a.Btn').attr('href')).text($('.Pricings-button th.is-active a.Btn').text());\n });\n });\n\n // Set the default state of the dropdown\n $('.m-thead-dropdown > div:first-of-type').addClass('is-disabled');\n\n\n const $table = $('.PricingTable');\n const $firstSupportRow = $('tr.support-services').first();\n const $awardPiece = $('#Award');\n const $button = $('.Btn-details');\n const $allWrap = $('.Wrap');\n const trackClassShow = 'track--show-details-button';\n const trackClassHide = 'track--hide-details-button';\n const classCollapsed = 'is-collapsed';\n\n const fixAwardPostion = () => {\n const posTable = $table.offset().top;\n const posSupport = $firstSupportRow.offset().top;\n const posAward = posSupport - posTable - 12;\n\n $awardPiece.css('top', posAward);\n };\n\n // On table expand/collapse\n $button.on('click', e => {\n e.preventDefault();\n\n if ($allWrap.hasClass(classCollapsed)) {\n fixAwardPostion();\n\n $allWrap.removeClass(classCollapsed);\n $button.removeClass(trackClassShow).addClass(trackClassHide);\n }\n else {\n $button.removeClass(trackClassHide).addClass(trackClassShow);\n $allWrap.addClass(classCollapsed);\n\n $('html, body').animate({\n scrollTop: ($allWrap.offset().top + 500)\n }, 500);\n }\n });\n\n const fixStickyStopper = () => {\n const $stickyCopy = $('.PricingTable-Sticky').clone().css('max-height', 'none').appendTo('#js-sticky-head .container');\n\n $stickyCopy.find('*').css('max-height', 'none');\n\n const stickyHeight = (window.innerWidth < 1240) ? ($stickyCopy.height() - 60) : $stickyCopy.height();\n $stickyCopy.remove();\n $('#js-sticky-stopper').css('top', -Math.abs(stickyHeight));\n };\n\n const setWrapMaxHeight = () => {\n let overlayHeight = $table.find('thead').outerHeight();\n\n // Set wrapper max-height to show 9 visible rows in collapsed state\n $table.find('tbody tr:not(.u-dn)').slice(0, 9).each((i, el) => {\n overlayHeight += $(el).outerHeight();\n });\n\n $wrap.css('max-height', `${overlayHeight - 4}px`);\n\n // Update all sticky elements on the page with a resize event\n window.dispatchEvent(new Event('resize'));\n };\n\n\n // fix support info height so it doesn't flicker on change\n const fixSuppInfoHeight = () => {\n let maxH = 0;\n const $supportInfos = $('.Support-info [class*=support-type]');\n\n $supportInfos.css('height', 'auto');\n $supportInfos.each((i, el) => {\n const $thisCopy = $(el).clone().removeClass('u-dn').appendTo('.Support-info');\n maxH = ($thisCopy.height() > maxH) ? $thisCopy.height() : maxH;\n $thisCopy.remove();\n });\n $supportInfos.css('height', maxH);\n };\n\n // responsive functionality\n const toggleMobile = () => {\n const $overlay = $('.Overlay');\n const $mobileBtn = $('.js-mobile-btn');\n const $mobileHeaders = $('.sticky-table thead tr:not(:first-child):not(#js-sticky-head) th');\n const tblHeaderHeight = ($('.PricingTable-Wrap .Pricings-name').height() > 0) ? $('.PricingTable-Wrap .Pricings-name').height() : $('.m-thead').height();\n let lastState = '';\n\n fixSuppInfoHeight();\n fixStickyStopper();\n\n if (window.innerWidth <= 800) {\n if (lastState === 'mobile') return;\n\n $allWrap.removeClass(classCollapsed);\n $overlay.addClass('u-dn');\n $mobileBtn.removeClass('u-dn');\n $mobileHeaders.attr('colspan', '2');\n\n $('.Tooltip--text').not('.RenewalTooltip').each((i, el) => {\n const id = `Tootltip-litebox${i}`;\n\n $(el).find('.Tooltip-info').clone()\n .attr('id', id)\n .attr('class', 'Tooltip-litebox u-dn')\n .appendTo($(el));\n $(el).find('.Tooltip-info').addClass('u-dn');\n $(el).wrapInner('')\n .contents()\n .unwrap()\n .attr('href', `#${id}`)\n .addClass('Tooltip--text litebox')\n .attr('data-lite-info', 'content')\n .attr('data-lite-noscroll', 'true')\n .attr('data-lite-root', 'body')\n .on('click', e => {\n e.preventDefault();\n });\n });\n\n lastState = 'mobile';\n }\n else {\n $('.Section--up > div:first-child').css('margin-top', -Math.abs(tblHeaderHeight));\n\n if (lastState === 'desktop') return;\n\n $overlay.removeClass('u-dn');\n $mobileBtn.addClass('u-dn');\n $mobileHeaders.attr('colspan', '1');\n\n $('.Tooltip--text.litebox').each((i, el) => {\n $(el).find('.Tooltip-litebox').remove();\n $(el).find('.Tooltip-info').removeClass('u-dn');\n $(el).wrapInner('

')\n .contents()\n .unwrap()\n .addClass('Tooltip--text');\n });\n lastState = 'desktop';\n }\n };\n\n // Create sticky headers\n if ($('#js-sticky-head').length > 0) {\n StickyElement.create({\n top: 60,\n resize: true,\n classOnly: true,\n fixClass: 'is-fixed',\n selector: '#js-sticky-head',\n placeholder: false,\n breakpoint: 800,\n stopSelector: '#js-sticky-stopper'\n });\n }\n\n StickyElement.create({\n top: 0,\n resize: true,\n classOnly: true,\n fixClass: 'is-fixed',\n selector: '.m-thead',\n placeholder: true,\n stopSelector: '#js-sticky-stopper'\n });\n\n toggleMobile();\n if ($('.litebox').length) {\n $('.litebox').litebox();\n }\n $(window).on('resize', toggleMobile);\n fixSuppInfoHeight();\n setWrapMaxHeight();\n\n window.addEventListener('hashchange', setWrapMaxHeight);\n});\n"],"names":["$","easing","jswing","swing","pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","bounceOut","x","n1","d1","extend","def","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","factory","require$$0","rejson","hyphenToCamelCase","hyphen","replace","match","toUpperCase","DataAttrParser","parse","dataset","_prefixes","result","keys","Object","length","prefixes","map","i","key","value","number","num","trim","test","JSON","Number","forEach","prefix","subResult","filter","startsWith","slicedKey","letter","index","toLowerCase","noop","offset","element","from","getBoundingClientRect","window","scrollY","pageYOffset","rect","document","ready","Array","querySelectorAll","$element","getAttribute","split","plugin","isFunction","fn","group","options","$$1","support","cssProperty","a","e","d","body","documentElement","style","c","b","charAt","substr","defaults","top","bottom","breakpoint","resize","classOnly","elevation","fixClass","selector","placeholder","placeholderClass","onBreakpointAbove","onBreakpointBelow","StickyElement","this","assign","querySelector","stopper","stopSelector","fixed","ticking","pinned","createElement","className","scrollTop","initial","bounds","turnOn","bind","turnOff","boundOnScroll","onScroll","boundOnResize","onResize","boundSwitchHandler","switchHandler","boundBreakpointHandler","breakpointHandler","prototype","width","height","position","css","addPlaceholder","parentElement","insertBefore","fix","classList","add","unfix","contains","removeChild","remove","pin","transform","diff","unpin","requestTick","method","requestAnimationFrame","update","calcDiff","reset","stickyHeight","floor","clientWidth","max","innerWidth","clientHeight","innerHeight","setTimeout","_breakpointAboveHandlerExecuted","_breakpointBelowHandlerExecuted","_switchedOn","addEventListener","removeEventListener","create","jQuery","each","data","stickyelement","$wrap","headers","prepend","append","clone","appendTo","attr","find","contents","click","slideUp","removeClass","addClass","stopPropagation","slideToggle","target","closest","toggleClass","el","text","$table","$firstSupportRow","first","$awardPiece","$button","$allWrap","trackClassShow","trackClassHide","classCollapsed","on","preventDefault","hasClass","posTable","posAward","fixAwardPostion","animate","setWrapMaxHeight","overlayHeight","outerHeight","slice","dispatchEvent","Event","fixSuppInfoHeight","maxH","$supportInfos","$thisCopy","toggleMobile","$overlay","$mobileBtn","$mobileHeaders","tblHeaderHeight","lastState","$stickyCopy","abs","fixStickyStopper","not","id","wrapInner","unwrap","litebox"],"mappings":"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","x_google_ignoreList":[0,1,2]}