{"version":3,"file":"comparison-table.min.js","sources":["comparison-table.min.js"],"sourcesContent":["\"use strict\";\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n(function () {\n var comparisonTables = document.querySelectorAll('[data-comparison-table]');\n var KEYCODE_SPACE = 32;\n if (comparisonTables.length > 0) {\n comparisonTables.forEach(function (table) {\n var selected = [0, 1];\n var expandButton = table.querySelector('[data-expand-all]'),\n sectionHead = table.querySelector('[data-section-head]'),\n sections = table.querySelectorAll('.checkbox_section'),\n sectionsFilters = table.querySelectorAll('.table_filter'),\n arias = table.querySelectorAll('[aria-expanded]'),\n tab = table.closest('.tab_panel'),\n isTabOpened = function isTabOpened() {\n return !!tab.classList.contains('checked');\n },\n toggleText = function toggleText(text) {\n return expandButton.innerHTML = text;\n },\n isTablet = function isTablet() {\n return window.innerWidth < 900;\n },\n isDesktop = function isDesktop() {\n return window.innerWidth >= 1200;\n },\n getSelected = function getSelected() {\n return selected;\n },\n setSelected = function setSelected(newValue) {\n return selected = newValue;\n };\n var toggleProduct = function toggleProduct(current) {\n var index = parseInt(current.dataset.value, 10);\n var prod = _toConsumableArray(getSelected());\n var indexOf = prod.indexOf(index);\n var count = getSelected().length;\n if (current.classList.contains('checked')) {\n if (isTablet() && count >= 2 || !isTablet() && count >= 4) {\n prod.splice(0, 1);\n }\n prod.push(index);\n } else if (count <= 2) {\n current.classList.add('checked');\n } else {\n prod.splice(indexOf, 1);\n }\n sectionsFilters.forEach(function (filter) {\n var productId = parseInt(filter.dataset.value, 10);\n var products = table.querySelectorAll('[data-product-id=\\'' + productId + '\\']');\n var checked = prod.indexOf(productId) !== -1;\n filter.classList.toggle('checked', checked);\n products.forEach(function (product) {\n return product.classList.toggle('show-product', checked);\n });\n });\n setSelected(prod);\n };\n var setFilters = function setFilters(selected) {\n setSelected(_toConsumableArray(selected).slice(0, isTablet() ? 2 : 4));\n sectionsFilters.forEach(function (filter) {\n var productId = parseInt(filter.dataset.value, 10);\n var products = table.querySelectorAll('[data-product-id=\\'' + productId + '\\']');\n var checked = productId <= getSelected().length - 1;\n filter.classList.toggle('checked', checked);\n products.forEach(function (product) {\n return product.classList.toggle('show-product', checked);\n });\n });\n };\n if (sectionsFilters.length > 0) {\n var showedProducts = Array.from(Array(sectionsFilters.length).keys());\n sectionsFilters.forEach(function (filter) {\n return filter.addEventListener('click', function () {\n return setTimeout(function () {\n return toggleProduct(filter);\n }, 100);\n });\n });\n if (sections.length > 0 && expandButton) {\n var collapse = false;\n !!expandButton.dataset.textExpand && toggleText(expandButton.dataset.textExpand);\n expandButton.addEventListener('click', function (event) {\n collapse = !collapse;\n sections.forEach(function (section) {\n return section.classList.toggle('checked', collapse);\n });\n arias.forEach(function (aria) {\n return aria.setAttribute('aria-expanded', \"\".concat(collapse));\n });\n if (!!expandButton.dataset.textExpand && !!expandButton.dataset.textCollapse) {\n if (collapse) {\n toggleText(event.target.dataset.textCollapse);\n } else {\n toggleText(event.target.dataset.textExpand);\n }\n }\n });\n expandButton.addEventListener('keydown', function (e) {\n if (e.key === ' ' || e.keyCode === KEYCODE_SPACE) {\n e.preventDefault();\n expandButton.click();\n }\n });\n }\n setFilters(showedProducts);\n var resetTimeout;\n window.addEventListener('resize', function () {\n clearTimeout(resetTimeout);\n resetTimeout = setTimeout(function () {\n return setFilters(showedProducts);\n }, 50);\n });\n }\n if (sectionHead.classList.contains('static')) return;\n var nav = document.querySelector('[data-secondary-nav]'),\n content = table.querySelector('[data-table-content]'),\n secondary = function secondary() {\n return nav !== null && nav !== void 0 && nav.classList.contains(\"sticky\") && isDesktop() ? nav.offsetHeight : 0;\n },\n stickyHead = function stickyHead() {\n if (!!tab && !isTabOpened()) return;\n var tableRect = content.getBoundingClientRect();\n var headerRect = sectionHead.getBoundingClientRect();\n var isCustomSticky = sectionHead.classList.contains('custom-sticky');\n var start = tableRect.top + secondary() <= 0;\n var end = tableRect.bottom > headerRect.height + secondary();\n sectionHead.classList.toggle(\"sticky\", start);\n isCustomSticky && start && end && sectionHead.style.setProperty('--scroll-top', \"\".concat(Math.abs(tableRect.top), \"px\"));\n };\n stickyHead();\n document.addEventListener('DOMContentLoaded', function () {\n window.addEventListener('scroll', stickyHead, {\n passive: true\n });\n window.addEventListener('resize', stickyHead, {\n passive: true\n });\n });\n });\n }\n})();"],"names":["_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","t","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","e","n","comparisonTables","document","querySelectorAll","forEach","table","toggleText","text","expandButton","innerHTML","isTablet","window","innerWidth","getSelected","selected","setSelected","newValue","setFilters","sectionsFilters","filter","productId","parseInt","dataset","value","products","checked","classList","toggle","product","showedProducts","collapse","resetTimeout","nav","content","secondary","stickyHead","querySelector","sectionHead","sections","arias","tab","closest","isDesktop","keys","addEventListener","setTimeout","current","index","prod","indexOf","count","contains","splice","push","add","textExpand","event","section","aria","setAttribute","concat","textCollapse","target","key","keyCode","preventDefault","click","clearTimeout","offsetHeight","tableRect","isCustomSticky","start","end","getBoundingClientRect","headerRect","top","bottom","height","style","setProperty","Math","abs","passive"],"mappings":"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"}