{"version":3,"file":"webpack-chunks/chunk.scripts_components_accordion-solo_js.566828c3c3b8ccc2e4f5.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/accordion-solo.js"],"sourcesContent":["\r\nfunction AccordionService() {\r\n\r\n const _accordions = {};\r\n\r\n this.GetAccordions = () => {\r\n return _accordions;\r\n };\r\n\r\n this.Load = () => {\r\n for (let x in _accordions) {\r\n\r\n if (_accordions[x].IsOpen())\r\n _accordions[x].Open();\r\n\r\n const key = x;\r\n\r\n _accordions[x].AddClickEvent(() => { this.Toggle(key); });\r\n }\r\n }\r\n\r\n this.Open = (key) => {\r\n if (_accordions[key]) {\r\n _accordions[key].Open();\r\n }\r\n };\r\n\r\n this.Toggle = (key) => {\r\n\r\n if (_accordions[key]) {\r\n\r\n if (!_accordions[key].IsOpen()) {\r\n // Open active accordion\r\n _accordions[key].Open();\r\n // Close all others\r\n for (let x in _accordions) {\r\n if (x !== key)\r\n _accordions[x].Close();\r\n }\r\n } else {\r\n // Close active accordion\r\n _accordions[key].Close();\r\n } \r\n }\r\n };\r\n\r\n this.TryAddElement = (element) => {\r\n\r\n const key = element.dataset['key'];\r\n\r\n if (key !== undefined) {\r\n\r\n if (!_accordions[key])\r\n _accordions[key] = new Accordion(key);\r\n\r\n const type = element.dataset['type'];\r\n\r\n if (type === 'header') {\r\n _accordions[key].SetHeader(element);\r\n\r\n const isOpen = element.dataset['open'];\r\n\r\n if (isOpen !== undefined && isOpen.toLowerCase() === 'true')\r\n _accordions[key].SetIsOpen(true);\r\n }\r\n else if (type === 'panel') {\r\n _accordions[key].SetPanel(element);\r\n } \r\n }\r\n } \r\n}\r\n\r\nfunction Accordion(key) {\r\n\r\n let _key = key;\r\n let _header = undefined;\r\n let _panel = undefined;\r\n let _isOpen = false;\r\n\r\n function AddClassToHeader(className) {\r\n if (_header && _header.classList && !_header.classList.contains(className))\r\n _header.classList.add(className);\r\n }\r\n\r\n function CloseHeader() {\r\n if (_header) {\r\n RemoveClassFromHeader('active');\r\n _header.children[0].style = null;\r\n _header.style = null;\r\n }\r\n }\r\n\r\n function ClosePanel() {\r\n if (_panel) {\r\n _panel.style.maxHeight = null;\r\n }\r\n }\r\n\r\n function OpenHeader() {\r\n if (_header) {\r\n AddClassToHeader('active');\r\n _header.children[0].style = \"transform: rotateZ(-180deg);\";\r\n _header.style.border = \"0\"; \r\n }\r\n }\r\n\r\n function OpenPanel() {\r\n if (_panel) {\r\n _panel.style.maxHeight = _panel.scrollHeight + \"px\";\r\n }\r\n }\r\n\r\n function RemoveClassFromHeader (className) {\r\n if (_header && _header.classList && _header.classList.contains(className))\r\n _header.classList.remove(className);\r\n }\r\n\r\n this.AddClickEvent = (fn) => {\r\n if (_header) {\r\n _header.addEventListener('click', fn);\r\n }\r\n };\r\n\r\n this.Close = () => {\r\n ClosePanel();\r\n CloseHeader();\r\n _isOpen = false;\r\n _header.dataset['open'] = 'false';\r\n };\r\n\r\n this.IsOpen = () => {\r\n return _isOpen;\r\n };\r\n\r\n this.Open = () => { \r\n OpenPanel();\r\n OpenHeader();\r\n _isOpen = true;\r\n _header.dataset['open'] = 'true';\r\n }\r\n\r\n this.SetHeader = (header) => {\r\n _header = header;\r\n };\r\n\r\n this.SetIsOpen = (isOpen) => {\r\n _isOpen = isOpen;\r\n };\r\n\r\n this.SetPanel = (panel) => {\r\n _panel = panel;\r\n };\r\n}\r\n\r\nexport default async accordion => { //
\r\n\r\n const _svc = new AccordionService();\r\n\r\n for (let i = 0, l = accordion.children.length; i < l; i++) {\r\n _svc.TryAddElement(accordion.children[i]);\r\n }\r\n \r\n _svc.Load();\r\n};"],"names":["AccordionService","_accordions","GetAccordions","Load","x","IsOpen","Open","key","AddClickEvent","Toggle","Close","TryAddElement","element","dataset","undefined","Accordion","type","SetHeader","isOpen","toLowerCase","SetIsOpen","SetPanel","_key","_header","_panel","_isOpen","AddClassToHeader","className","classList","contains","add","CloseHeader","RemoveClassFromHeader","children","style","ClosePanel","maxHeight","OpenHeader","border","OpenPanel","scrollHeight","remove","fn","addEventListener","header","panel","accordion","_svc","i","l","length"],"sourceRoot":""}