{"version":3,"file":"tridion-diagram.min.js","sources":["tridion-diagram.min.js"],"sourcesContent":["\"use strict\";\n\n(function () {\n var diagramPoint = document.querySelectorAll('.diagram__point');\n var diagramContent = document.querySelectorAll('.diagram_content');\n var diagramMenu = document.getElementById('diagram_points');\n var diagramButton = document.getElementById('diagram_button');\n var openerPoints = document.getElementById('opener_points');\n var labelClass = \"diagram__point_label\";\n var openedContentId = null;\n var getContent = function getContent(id) {\n return document.querySelector('[data-content-id=\"' + id + '\"]');\n };\n var getPoint = function getPoint(id) {\n return document.querySelector('[data-point-id=\"' + id + '\"]');\n };\n var isDesktop = function isDesktop() {\n return window.innerWidth >= 1200;\n };\n var resetDiagram = function resetDiagram() {\n diagramContent.forEach(function (content) {\n content.classList.remove('opened');\n });\n diagramPoint.forEach(function (point) {\n point.classList.remove('active');\n point.setAttribute('tabindex', 0);\n });\n diagramMenu.classList.remove('hover', 'selected');\n document.getElementById(\"opener_points\").checked = false;\n };\n if (diagramPoint.length > 0 && diagramContent.length > 0 && diagramMenu && diagramButton) {\n diagramContent.forEach(function (content) {\n content.addEventListener('click', function (event) {\n if (isDesktop()) return;\n var current = event.currentTarget;\n var contentId = current.dataset.contentId;\n if (openedContentId !== contentId && openedContentId) {\n getContent(openedContentId).classList.remove('opened');\n }\n current.classList.toggle('opened');\n openedContentId = contentId;\n });\n }); // Mobile/Tablet Only - Diagram Accordion\n\n diagramPoint.forEach(function (point) {\n point.addEventListener('mouseover', function (event) {\n if (event.target.classList.contains(labelClass)) return;\n var contentId = point.dataset.pointId;\n var content = getContent(contentId);\n diagramMenu.classList.add(\"hovered\");\n if (content !== null) content.classList.add('visible');\n if (openedContentId !== contentId && openedContentId) {\n var openedContent = getContent(openedContentId);\n var openedPoint = getPoint(openedContentId);\n openedContent.classList.remove('opened');\n openedPoint.classList.remove('active');\n diagramMenu.classList.remove('selected');\n diagramPoint.forEach(function (p) {\n if (p !== openedPoint) {\n p.setAttribute('tabindex', -1);\n }\n });\n }\n });\n point.addEventListener('mouseout', function () {\n diagramMenu.classList.remove(\"hovered\");\n diagramContent.forEach(function (elem) {\n elem.classList.remove('visible');\n });\n });\n point.addEventListener('keydown', function (event) {\n if (event.code === 'Space' || event.code === 'Enter') {\n event.preventDefault();\n point.click();\n }\n });\n point.addEventListener('click', function (event) {\n var current = event.currentTarget;\n var contentId = point.dataset.pointId;\n var content = getContent(contentId);\n if (content !== null) {\n current.classList.toggle(\"active\");\n diagramMenu.classList.toggle('selected');\n content.classList.toggle('opened');\n openedContentId = contentId;\n if (current.classList.contains(\"active\")) {\n current.setAttribute('aria-expanded', 'true');\n diagramPoint.forEach(function (p) {\n if (p !== point) {\n p.setAttribute('tabindex', -1);\n }\n });\n } else {\n current.setAttribute('aria-expanded', 'false');\n diagramPoint.forEach(function (p) {\n p.setAttribute('tabindex', 0);\n });\n }\n }\n });\n }); // Desktop Only - Diagram\n\n diagramButton.addEventListener('click', function () {\n if (openerPoints.checked && openedContentId) {\n var content = getContent(openedContentId);\n if (content !== null) {\n content.classList.remove('opened');\n document.querySelector('[data-point-id=\"' + openedContentId + '\"]').classList.remove(\"active\");\n diagramMenu.classList.remove('selected');\n }\n openedContentId = null;\n }\n if (diagramButton.getAttribute('aria-expanded') === \"true\") {\n diagramPoint.forEach(function (p) {\n p.setAttribute('tabindex', -1);\n p.classList.remove('opened');\n });\n } else {\n diagramPoint.forEach(function (p) {\n p.setAttribute('tabindex', 0);\n p.classList.remove('opened');\n });\n }\n });\n diagramButton.addEventListener('keydown', function (event) {\n if (event.code === 'Enter') {\n diagramButton.click();\n }\n });\n var resetTimeout;\n window.addEventListener('resize', function () {\n clearTimeout(resetTimeout);\n resetTimeout = setTimeout(resetDiagram, 100);\n });\n }\n})();"],"names":["getContent","id","document","querySelector","resetDiagram","diagramContent","forEach","content","classList","remove","diagramPoint","point","setAttribute","diagramMenu","getElementById","checked","resetTimeout","querySelectorAll","diagramButton","openerPoints","openedContentId","length","addEventListener","event","contentId","window","innerWidth","current","currentTarget","dataset","toggle","openedContent","openedPoint","target","contains","pointId","add","p","elem","code","preventDefault","click","getAttribute","clearTimeout","setTimeout"],"mappings":"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"}