{"version":3,"file":"webpack-chunks/chunk.scripts_components_miles-counter_js.b980fe5ea953e0647110.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/miles-counter.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 counter => { // 'miles-counter'\r\n\tconst \tsection = h('section').Node,\r\n\t\t\trate = 0.1 / parseFloat(counter.getAttribute('rate')),\r\n\t\t\tkRate = rate * 1000,\r\n\t\t\tcount = [...parseInt(counter.getAttribute('miles')).toString().split(''),'0'].map( miles => {\r\n\t\t\t\tlet digits = digitDom();\r\n\t\t\t\tsection.appendChild(digits);\r\n\t\t\t\treturn {cur: 0, target: parseInt(miles), digits};\r\n\t\t\t});\r\n\r\n\tcounter.appendChild(section);\r\n\r\n\t[...section.querySelectorAll('digit-holder:last-child > span')].forEach(span => domWrap(span).css({transition: `transform ${rate}s linear`}));\r\n\r\n\tsetTimeout(() => {\r\n\t\tlet final = 0;\r\n\t\tcount.forEach( digit => {\r\n\t\t\tlet random = Math.floor(Math.random() * 750) + 10;\r\n\t\t\twhile (digit.cur < digit.target) {\r\n\t\t\t\tdigit.cur = digit.cur + 1;\r\n\t\t\t\tlet delay = Math.floor(750 / ((digit.target - digit.cur) + 2)) + random;\r\n\r\n\t\t\t\tfinal = Math.max(final,delay);\r\n\r\n\t\t\t\tsetTimeout(target => digit.digits.setAttribute('current',target),delay, parseInt(digit.cur.toString()));\r\n\t\t\t}\r\n\t\t});\r\n\t\tsetTimeout(()=>{\r\n\t\t\tcounter();\r\n\t\t\tfunction counter(){\r\n\t\t\t\tlet rerun = false;\r\n\t\t\t\tcount.reduceRight((carry,digit) => {\r\n\t\t\t\t\tlet inc = 0;\r\n\t\t\t\t\tdigit.cur = digit.cur + carry;\r\n\t\t\t\t\tif(digit.cur > 9){\r\n\t\t\t\t\t\tinc = 1;\r\n\t\t\t\t\t\tdigit.cur = 0;\r\n\t\t\t\t\t\trerun = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(inc === 1){\r\n\t\t\t\t\t\tdigit.digits.setAttribute('current',10);\r\n\t\t\t\t\t\tsetTimeout(()=>digit.digits.setAttribute('current',0),kRate);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tdigit.digits.setAttribute('current',digit.cur);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn inc;\r\n\t\t\t\t},1);\r\n\t\t\t\tsetTimeout(counter,kRate + (rerun ? 20 : 0));\r\n\t\t\t}\t\r\n\t\t},final + 250);\r\n\t},250);\t\t\t\r\n}\r\n\r\nfunction digitDom(){\r\n\treturn h('digit-holder', Object.keys([...Array(11)]).map( num => h(`span number=\"${num}\"`).toString()).join('')).Node;\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","counter","section","Node","rate","parseFloat","getAttribute","kRate","count","parseInt","toString","split","map","miles","digits","digitDom","appendChild","cur","target","querySelectorAll","forEach","span","css","transition","setTimeout","final","digit","random","Math","floor","delay","max","setAttribute","rerun","reduceRight","carry","inc","Object","keys","Array","num","join","element","document","createElement","empty","store","on","action","delegationOrFn","fn","delegation","addEventListener","event","parentNode","matches","call","setSelected","className","childNodes","node","classList","remove","add","trigger","dispatchEvent","Event","bubbles","styles","key","style","wrapInner","wrapper","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","defineProperty","get","template","innerHTML","Nodes","length","createRange","createContextualFragment"],"sourceRoot":""}