{"version":3,"file":"webpack-chunks/chunk.scripts_components_tabs_js.f2f908f54d5c8cb44485.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/tabs.js","webpack://freightliner/./scripts/utils/domWrap.js"],"sourcesContent":["import domWrap from \"../utils/domWrap\";\r\n\r\nexport default async tabs => { // 'comp-tabs'\r\n\tconst tabTargets = [...tabs.querySelectorAll('button')].reduce((map, button, index) => {\r\n\t\tconst \tkey = button.getAttribute('data-target'),\r\n\t\t\t\telement = domWrap(document.querySelector(key));\r\n\t\telement.classList.add('tab-content');\r\n\t\tif(index === 0) element.classList.add('expanded');\r\n\t\treturn !key ? map : {\r\n\t\t\t...map,\r\n\t\t\t[key]: element\r\n\t\t};\r\n\t},{});\r\n\tdomWrap(tabs).on('click','button',function(){\r\n\t\tconst button = domWrap(this);\r\n\t\tbutton.setSelected('on');\r\n\t\ttabTargets[button.getAttribute('data-target')].setSelected('expanded');\r\n\t});\r\n};","const domWrap = (element) => {\r\n\tif(!element) {\r\n\t\telement = document.createElement('div');\r\n\t\telement.empty = true;\r\n\t}\r\n\telement.store = element.store || {};\r\n\telement.on = (action,delegationOrFn, fn) => {\r\n\t\tif(typeof delegationOrFn === 'function') fn = delegationOrFn;\r\n\t\tlet delegation = typeof delegationOrFn === 'string' ? delegationOrFn : false;\r\n\t\tif(!fn) return;\r\n\t\telement.addEventListener(action, function(event){\r\n\t\t\tfor (let target = event.target; target && target!=this; target=target.parentNode) {\r\n\t\t\t\t// loop parent nodes from the target to the delegation node\r\n\t\t\t\tif (!delegation || target.matches(delegation)) {\r\n\t\t\t\t\tfn.call(target, event);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, false);\r\n\t\treturn element;\r\n\t};\r\n\telement.setSelected = (className = 'selected') => {\r\n\t\t[...element.parentNode.childNodes].forEach(node => node.classList?.remove(className));\r\n\t\telement.classList?.add(className);\r\n\t\treturn element;\r\n\t};\r\n\telement.trigger = event => {\r\n\t\telement.dispatchEvent(new Event(event,{bubbles:true}));\r\n\t\treturn element;\r\n\t};\r\n\telement.css = styles => {\r\n\t\tObject.keys(styles).forEach(key => element.style[key] = styles[key]);\r\n\t\treturn element;\r\n\t};\r\n\telement.wrapInner = (wrapper) => {\r\n\t\telement.appendChild(wrapper);\r\n\t\twhile (element.firstChild !== wrapper) {\r\n\t\t\twrapper.appendChild(element.firstChild);\r\n\t \t}\r\n\t\treturn element;\r\n\t};\r\n\telement.data = (key, value) => {\r\n\t\tif(value) {\r\n\t\t\telement.store[key] = value;\r\n\t\t\treturn element;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn element.store[key];\r\n\t\t}\r\n\t},\r\n\telement.offset = () => {\r\n\t\tconst rect = element.getBoundingClientRect();\r\n\t\treturn { \r\n\t\t\ttop: rect.top + window.scrollY, \r\n\t\t\tleft: rect.left + window.scrollX, \r\n\t\t};\r\n\t},\r\n\telement.check = {\r\n\t\tget overflowLeft() {\r\n\t\t\treturn overflowHorizontal(element) && element.scrollLeft > 0;\r\n\t\t},\r\n\t\tget overflowRight() {\r\n\t\t\treturn overflowHorizontal(element) && element.scrollWidth - element.scrollLeft > element.offsetWidth;\r\n\t\t}\r\n\t};\r\n\r\n\treturn element;\r\n};\r\n\r\nfunction overflowHorizontal(element){\r\n\treturn element.scrollWidth - element.offsetWidth > 1;\r\n}\r\n\r\n\r\nexport default domWrap;"],"names":["domWrap","tabs","tabTargets","querySelectorAll","reduce","map","button","index","key","getAttribute","element","document","querySelector","classList","add","on","setSelected","createElement","empty","store","action","delegationOrFn","fn","delegation","addEventListener","event","target","parentNode","matches","call","className","childNodes","forEach","node","remove","trigger","dispatchEvent","Event","bubbles","css","styles","Object","keys","style","wrapInner","wrapper","appendChild","firstChild","data","value","offset","rect","getBoundingClientRect","top","window","scrollY","left","scrollX","check","overflowLeft","overflowHorizontal","scrollLeft","overflowRight","scrollWidth","offsetWidth"],"sourceRoot":""}