{"version":3,"file":"webpack-chunks/chunk.scripts_components_revealer_js.ca628380ccfa8000b6ae.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/revealer.js","webpack://freightliner/./scripts/utils/domWrap.js","webpack://freightliner/./scripts/utils/throttle.js"],"sourcesContent":["import domWrap from \"../utils/domWrap\";\r\nimport throttle from \"../utils/throttle\";\r\n\r\nexport default async revealer => { // 'comp-revealer'\r\n\tconst revealerFigures = [...revealer.querySelectorAll(':scope > figure')];\r\n\trevealerFigures.forEach(figure => drags(domWrap(figure.querySelector('span')),domWrap(figure.querySelector('div')), domWrap(figure)));\r\n\tdomWrap(revealer.querySelector('nav')).on('click','button',function(){\r\n\t\tconst index = this.getAttribute('index');\r\n\t\tdomWrap(revealer.querySelector(`[index=\"${index}\"]`)).setSelected('active');\r\n\t});\r\n\t\r\n\tconst checkPosition = throttle(() => {\r\n\t\trevealerFigures.forEach(container => {\r\n\t\t\tif( window.scrollY + window.innerHeight * 0.5 > domWrap(container).offset().top) {\r\n\t\t\t\tcontainer.classList.add('is-visible');\r\n\t\t\t\twindow.removeEventListener('scroll',checkPosition);\r\n\t\t\t}\r\n\t\t});\r\n\t},500);\r\n\t\r\n\twindow.addEventListener('scroll',checkPosition);\r\n\tcheckPosition();\r\n};\r\n\r\nfunction drags(dragElement, resizeElement, container) {\r\n\tconst parent = dragElement.parentNode;\r\n\tlet dragWidth = dragElement.offsetWidth,\r\n\t\txPosition,\r\n\t\tcontainerOffset = container.offset().left,\r\n\t\tcontainerWidth = container.offsetWidth,\r\n\t\tminLeft = containerOffset + 10,\r\n\t\tmaxLeft = containerOffset + containerWidth - dragWidth - 10,\r\n\t\tdragging = false;\r\n\tdragElement.addEventListener('pointerdown',e => {\r\n\t\te.preventDefault();\r\n\t\txPosition = dragElement.offset().left + dragWidth - e.pageX\r\n\t\tdragging = true;\r\n\t});\r\n\tparent.addEventListener('pointermove',e => {\r\n\t\tlet leftValue = e.pageX + xPosition - dragWidth;\r\n\t\t//constrain the draggable element to move inside its container\r\n\t\tif(leftValue < minLeft ) {\r\n\t\t\tleftValue = minLeft;\r\n\t\t} else if ( leftValue > maxLeft) {\r\n\t\t\tleftValue = maxLeft;\r\n\t\t}\r\n\r\n\t\tlet widthValue = (leftValue + dragWidth/2 - containerOffset)*100/containerWidth+'%';\r\n\t\t\r\n\t\tif(dragging){\r\n\t\t\tdragElement.style.left = widthValue;\r\n\t\t\tresizeElement.style.width = widthValue;\r\n\t\t}\r\n\t});\r\n\tdragElement.addEventListener('pointerup',() => dragging = false);\r\n\tparent.addEventListener('pointerup',() => dragging = false);\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;","export default (func, wait) => {\r\n\tvar context, args, result;\r\n\tvar timeout = null;\r\n\tvar previous = 0;\r\n\tvar later = function() {\r\n\t\tprevious = new Date;\r\n\t\ttimeout = null;\r\n\t\tresult = func.apply(context, args);\r\n\t};\r\n\treturn function() {\r\n\t\tvar now = new Date;\r\n\t\tif (!previous) previous = now;\r\n\t\tvar remaining = wait - (now - previous);\r\n\t\tcontext = this;\r\n\t\targs = arguments;\r\n\t\tif (remaining <= 0) {\r\n\t\tclearTimeout(timeout);\r\n\t\ttimeout = null;\r\n\t\tprevious = now;\r\n\t\tresult = func.apply(context, args);\r\n\t\t} else if (!timeout) {\r\n\t\ttimeout = setTimeout(later, remaining);\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n};"],"names":["domWrap","throttle","revealer","revealerFigures","querySelectorAll","forEach","figure","drags","querySelector","on","index","getAttribute","setSelected","checkPosition","container","window","scrollY","innerHeight","offset","top","classList","add","removeEventListener","addEventListener","dragElement","resizeElement","parent","parentNode","dragWidth","offsetWidth","xPosition","containerOffset","left","containerWidth","minLeft","maxLeft","dragging","e","preventDefault","pageX","leftValue","widthValue","style","width","element","document","createElement","empty","store","action","delegationOrFn","fn","delegation","event","target","matches","call","className","childNodes","node","remove","trigger","dispatchEvent","Event","bubbles","css","styles","Object","keys","key","wrapInner","wrapper","appendChild","firstChild","data","value","rect","getBoundingClientRect","scrollX","check","overflowLeft","overflowHorizontal","scrollLeft","overflowRight","scrollWidth","func","wait","context","args","result","timeout","previous","later","Date","apply","now","remaining","arguments","clearTimeout","setTimeout"],"sourceRoot":""}