{"version":3,"file":"webpack-chunks/chunk.scripts_components_truck_js.15c473b848bfeb278b09.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/truck.js","webpack://freightliner/./scripts/utils/domWrap.js","webpack://freightliner/./scripts/utils/htm.js"],"sourcesContent":["import domWrap from \"../utils/domWrap\";\r\nimport h from \"../utils/htm\";\r\n\r\nexport default async truckHero => { // 'comp-truck-hero'\r\n\tconst \tcabs = [...truckHero.querySelectorAll(':scope > .cabs > img')],\r\n\t\t\ttabHolder = truckHero.querySelector(':scope > .cab-tabs'),\r\n\t\t\t// tabs = [...tabHolder.querySelectorAll('button')],\r\n\t\t\tselected = cabs.findIndex(item => document.referrer.indexOf(item.getAttribute('name').toLowerCase().split(' ').join('-')) !== -1);\r\n\r\n\tif(selected !== -1){\r\n\t\tactivate({cabs,tabs,index:selected});\r\n\t\t[...truckHero.querySelectorAll(':scope > .cabs > img.active')].forEach(img => {\r\n\t\t\timg.addEventListener('load',truckHero.classList.add('loaded'));\r\n\t\t\tif(img.complete) truckHero.classList.add('loaded');\r\n\t\t});\r\n\t}\r\n\telse{\r\n\t\t[...truckHero.querySelectorAll(':scope > img')].forEach(img => {\r\n\t\t\timg.addEventListener('load',truckHero.classList.add('loaded'));\r\n\t\t\tif(img.complete) truckHero.classList.add('loaded');\r\n\t\t});\r\n\t}\r\n\r\n\t// Loaded fallback\r\n\tsetTimeout(() => truckHero.classList.add('loaded'),1500);\r\n\r\n\tdomWrap(tabHolder).on('click','button',function(){\r\n\t\tactivate({index:this.classList.contains('on') ? selected : parseInt(this.getAttribute('index')),cabs,tabs});\r\n\t});\r\n\r\n\t[...document.querySelectorAll('comp-truck-hero .specs .row > div')].forEach(element => element.innerHTML = element.textContent.split('(').reduce((html,cur) => {\r\n\t\tconst split = cur.split(')');\r\n\t\treturn html + (split.length > 1 ? h('i class=\"icon-plus-icon\" title=\"'+split[0]+'\"') : split[0]);\r\n\t},''));\r\n};\r\n\r\nfunction activate({cabs,tabs,index}){\r\n\tdomWrap(cabs[index]).setSelected('active');\r\n\tdomWrap(tabs[index]).setSelected('on');\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;","function htm(selector,content){\r\n let current = [];\r\n\r\n function self(selector,content){\r\n if(typeof selector === 'string' && selector.trim() !== ''){\r\n current.push(['<', selector, '>',content || '',''].join(''));\r\n }\r\n return self;\r\n }\r\n\r\n self.toString = () => current.join('');\r\n\r\n Object.defineProperty(self, 'Nodes', {\r\n get() { \r\n let template = document.createElement('div');\r\n template.innerHTML = self.toString();\r\n return template.childNodes;\r\n }\r\n });\r\n\r\n Object.defineProperty(self, 'Node', {\r\n get() { \r\n return this.Nodes.length === 1 ? this.Nodes[0] : document.createRange().createContextualFragment(self.toString());\r\n }\r\n });\r\n\r\n return self(selector,content);\r\n}\r\n\r\nexport default htm;"],"names":["domWrap","h","truckHero","cabs","querySelectorAll","tabHolder","querySelector","selected","findIndex","item","document","referrer","indexOf","getAttribute","toLowerCase","split","join","activate","tabs","index","forEach","img","addEventListener","classList","add","complete","setTimeout","on","contains","parseInt","element","innerHTML","textContent","reduce","html","cur","length","setSelected","createElement","empty","store","action","delegationOrFn","fn","delegation","event","target","parentNode","matches","call","className","childNodes","node","remove","trigger","dispatchEvent","Event","bubbles","css","styles","Object","keys","key","style","wrapInner","wrapper","appendChild","firstChild","data","value","offset","rect","getBoundingClientRect","top","window","scrollY","left","scrollX","check","overflowLeft","overflowHorizontal","scrollLeft","overflowRight","scrollWidth","offsetWidth","htm","selector","content","current","self","trim","push","toString","defineProperty","get","template","Nodes","createRange","createContextualFragment"],"sourceRoot":""}