{"version":3,"file":"script.js","mappings":"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","sources":["webpack://easternstandard/./scripts/src/utils.js","webpack://easternstandard/./scripts/src/modules/mask-button.js","webpack://easternstandard/./custom-blocks/flexible/logo-grid/scripts/src/script.js"],"sourcesContent":["const svgNs = \"http://www.w3.org/2000/svg\";\n\n/**\n *\n * @param {String} query\n * @param {HTMLElement} root\n * @returns\n */\nconst query = (query, root) => {\n\treturn (root || document).querySelector(query);\n};\n\n/**\n *\n * @param {String} query\n * @param {HTMLElement} root\n * @returns\n */\nconst queryAll = (query, root) => {\n\treturn (root || document).querySelectorAll(query);\n};\n\nconst toArray = (el) => {\n\treturn Array.isArray(el) ? el : [el];\n};\n\n/**\n *\n * @param {HTMLElement|HTMLElement[]} el\n * @param {Object} props\n */\nconst setProps = (el, props) => {\n\tel = toArray(el);\n\tfor (let i in props) {\n\t\tel.forEach((_el) => _el.style.setProperty(i, props[i]));\n\t}\n};\n\nconst setAttribute = (el, attr) => {\n\tel = toArray(el);\n\tfor (let i in attr) {\n\t\tel.forEach((_el) => _el.setAttribute(i, attr[i]));\n\t}\n};\n\nconst getAttribute = (el, attr) => {\n\treturn el.getAttribute(attr);\n};\n\nconst addClass = (el, ...classname) => {\n\tel = toArray(el);\n\tel.forEach((_el) => _el.classList.add(...classname));\n};\n\nconst removeClass = (el, ...classname) => {\n\tel = toArray(el);\n\tel.forEach((_el) => _el.classList.remove(...classname));\n};\n\nconst hasClass = (el, classname) => {\n\treturn el.classList.contains(classname);\n};\n\nconst itemClass = (el, index) => {\n\treturn el.classList.item(index);\n};\n\nconst toggleClass = (el, classname, force) => {\n\tel.classList.toggle(classname, force);\n};\n\n/**\n *\n * @param {HTMLElement|HTMLElement[]} el\n * @param {Boolean} deep\n */\nconst clearProps = (el, deep) => {\n\tel = toArray(el);\n\tel.forEach((_el) => {\n\t\t_el.removeAttribute(\"style\");\n\t\tif (deep && _el.children && _el.children.length)\n\t\t\tclearProps([..._el.children], deep);\n\t});\n};\n\n/**\n * Quebra o texto em characteres\n * Falta aperfeiçoar a função para tratar tags dentro do elemento.\n * @param {HTMLElement} el\n * @param {Number=0,1,2} [type=0]\n * @param {Boolean} [masked=false]\n * @returns {HTMLElement[]}\n */\nconst splitText = (el, type = 0, masked = false, recursive = false) => {\n\tconst childNodes = [...el.childNodes];\n\tconst span = (content, nowrap) =>\n\t\t`${content}`;\n\tconst maskHTML = (content) =>\n\t\t`${content}`;\n\tconst format = (match, capture) => {\n\t\tlet content = span(match, !masked && capture === undefined);\n\t\treturn masked ? maskHTML(content) : content;\n\t};\n\n\tel.innerHTML = \"\";\n\n\tchildNodes.forEach((child) => {\n\t\tconst children = child.children;\n\t\tif (children) el.appendChild(child);\n\t\telse {\n\t\t\t// const htmlPart = el.textContent.replace(/\\S+/g, type == 1 && masked ? maskHTML(span) : span)\n\t\t\tchild.textContent.split(\"\\n\").forEach((line) => {\n\t\t\t\tif (!line) return;\n\t\t\t\tconst text = line.trim();\n\t\t\t\tconst newLine =\n\t\t\t\t\ttype == 2\n\t\t\t\t\t\t? format(text)\n\t\t\t\t\t\t: text.replace(/\\S+/g, (match) => {\n\t\t\t\t\t\t\t\treturn type\n\t\t\t\t\t\t\t\t\t? format(match)\n\t\t\t\t\t\t\t\t\t: span(match.replace(/\\S|-/g, format), true);\n\t\t\t\t\t\t });\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", newLine);\n\t\t\t});\n\t\t}\n\t});\n\n\tconst _children = el.querySelectorAll(\n\t\t!type\n\t\t\t? masked\n\t\t\t\t? \"span span span\"\n\t\t\t\t: \"span span\"\n\t\t\t: masked\n\t\t\t? \"span span\"\n\t\t\t: \"span\"\n\t);\n\tel._children = _children;\n\treturn _children;\n};\n\n/**\n *\n * @param {HTMLElement} el\n * @returns {DOMRect}\n */\nconst getRect = (el) => {\n\tconst rect =\n\t\tel == window\n\t\t\t? { x: 0, y: 0, width: innerWidth, height: innerHeight }\n\t\t\t: el.getBoundingClientRect();\n\trect.maxX = rect.x + rect.width;\n\trect.maxY = rect.y + rect.height;\n\trect.cX = rect.x + rect.width * 0.5;\n\trect.cY = rect.y + rect.height * 0.5;\n\treturn rect;\n};\n\n/**\n * @private\n * @param {HTMLElement} el\n * @param {String} name\n * @param {HTMLElement} child\n */\nconst addDOMProp = (el, name, child) => {\n\tconst filter = [\"text\", \"title\", \"name\"];\n\tif (filter.indexOf(name) > -1) name = \"_\" + name;\n\tlet value = el[name];\n\tif (value) {\n\t\tif (!value.length) el[name] = [value];\n\t\tel[name].push(child);\n\t} else el[name] = child;\n};\n\n/**\n *\n * @param {HTMLElement} el\n */\nconst clearDOM = (el) => {\n\tlet children = el.children;\n\tfor (let child of children) {\n\t\tlet tagName = child.tagName.toLowerCase();\n\t\tlet classList = child.classList;\n\t\tlet id = child.id;\n\t\tdelete el[tagName];\n\t\tdelete el[id];\n\t\tif (classList.length) {\n\t\t\tlet className = classList[0];\n\t\t\tdelete el[className];\n\t\t}\n\t\tif (child.children.length) {\n\t\t\tclearDOM(child);\n\t\t}\n\t}\n};\n\n/**\n *\n * @param {HTMLElement} el\n * @returns {HTMLElement}\n */\nconst getDOM = (el) => {\n\tclearDOM(el);\n\tlet children = el.children;\n\tfor (let child of children) {\n\t\tlet tagName = child.tagName.toLowerCase();\n\t\tlet classList = child.classList;\n\t\tlet id = child.id;\n\t\taddDOMProp(el, tagName, child);\n\t\taddDOMProp(el, id, child);\n\t\tif (classList.length) {\n\t\t\tlet className = classList[0];\n\t\t\taddDOMProp(el, className, child);\n\t\t}\n\t\tif (child.children.length) {\n\t\t\tgetDOM(child);\n\t\t}\n\t}\n\treturn el;\n};\n\n/**\n *\n * @param {EventTarget} el\n * @param {String} events\n * @param {Function} call\n */\nconst addEventListeners = (el, events, call, props) => {\n\tevents.split(\" \").forEach((event) => {\n\t\tel.addEventListener(event, call, props);\n\t});\n};\n\n/**\n *\n * @param {EventTarget} el\n * @param {String} events\n * @param {Function} call\n */\nconst removeEventListeners = (el, events, call) => {\n\tevents.split(\" \").forEach((event) => {\n\t\tel.removeEventListener(event, call);\n\t});\n};\n\n/**\n *\n * @param {MouseEvent} e\n * @param {Boolean} absolute\n * @returns {{x:Number, y:Number}}\n */\nconst getCursorPoint = (e, absolute) => {\n\tlet target = e.currentTarget;\n\tlet rect = getRect(target);\n\tlet point = e.changedTouches ? e.changedTouches[0] : e;\n\treturn absolute\n\t\t? { x: point.clientX, y: point.clientY }\n\t\t: // : { x: point.pageX - rect.x, y: point.pageY - rect.y }\n\t\t { x: point.clientX - rect.left, y: point.clientY - rect.top };\n};\n\n/**\n *\n * @param {HTMLElement} el\n * @returns {{x:Number, y:Number}}\n */\nconst getCenterPoint = (el) => {\n\tlet bounding = getRect(el);\n\treturn {\n\t\tx: bounding.x + bounding.width * 0.5,\n\t\ty: bounding.y + bounding.height * 0.5,\n\t};\n};\n\n/**\n *\n * @returns {Boolean}\n */\nconst isMobileDevice = () => {\n\treturn typeof window.orientation !== \"undefined\";\n};\n\n/**\n *\n * @returns {String}\n */\nconst randomizeHexColor = () => {\n\treturn `#${Math.round(Math.random() * 0xffffff).toString(16)}`;\n};\n\n/**\n *\n * @param {HTMLElement} el\n */\nconst isVisible = (el) => {\n\treturn el.offsetWidth > 0 && el.offsetHeight > 0;\n};\n\n/**\n *\n * @param {String} nomeDaTag\n * @param {Object} tagName\n * @returns\n */\nconst createElement = (tagName, attributes) => {\n\tconst el = document.createElement(tagName);\n\tif (attributes) {\n\t\tfor (let key in attributes) el.setAttribute(key, attributes[key]);\n\t}\n\treturn el;\n};\n\nconst createElementNS = (tagName, attributes) => {\n\tconst el = document.createElementNS(svgNs, tagName);\n\tif (attributes) {\n\t\tfor (let key in attributes) el.setAttributeNS(null, key, attributes[key]);\n\t}\n\treturn el;\n};\n\n/**\n *\n * @param {String} url\n * @returns\n */\nconst toSeoUrl = (url) => {\n\treturn url\n\t\t.toString()\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.replace(/\\s+/g, \"-\")\n\t\t.toLowerCase()\n\t\t.replace(/&/g, \"-and-\")\n\t\t.replace(/[^a-z0-9\\-]/g, \"\")\n\t\t.replace(/-+/g, \"-\")\n\t\t.replace(/^-*/, \"\")\n\t\t.replace(/-*$/, \"\");\n};\n\n/**\n *\n * @param {String} value\n */\nconst splitValue = (value) => {\n\tlet index = value.length;\n\tlet unit = \"\";\n\tdo {\n\t\tindex--;\n\t\tconst char = value.charAt(index);\n\t\tif (!isNaN(char)) break;\n\t\telse unit = char + unit;\n\t} while (index > 0);\n\n\tconst obj = { value: parseFloat(value.substring(0, index + 1)), unit: unit };\n\treturn obj;\n};\n\nconst wheelNormalize = (e) => {\n\tlet o = e,\n\t\td = o.detail,\n\t\tw = o.wheelDeltaY,\n\t\tn = 225,\n\t\tn1 = n - 1;\n\td = d ? (w && (f = w / d) ? d / f : -d / 1.35) : w / 120;\n\td =\n\t\td < 1\n\t\t\t? d < -1\n\t\t\t\t? (-Math.pow(d, 2) - n1) / n\n\t\t\t\t: d\n\t\t\t: (Math.pow(d, 2) + n1) / n;\n\te.delta = Math.min(Math.max(d / 2, -1), 1);\n\n\treturn e;\n};\n\nconst getExtension = (filename) => {\n\tconst ext = filename.match(/\\.([^\\./\\?]+)($|\\?)/);\n\treturn ext ? ext[1].toLowerCase() : null;\n};\n\nconst getScreenSize = () => {\n\treturn screen.width <= 1080\n\t\t? 1\n\t\t: screen.width <= 1620\n\t\t? 2\n\t\t: screen.width <= 2560\n\t\t? 3\n\t\t: 4;\n};\n\nconst canUseWebP = () => {\n\treturn new Promise((res) => {\n\t\tconst webP = new Image();\n\t\twebP.src =\n\t\t\t\"data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA\";\n\t\twebP.onload = webP.onerror = () => {\n\t\t\tres(webP.height === 2);\n\t\t};\n\t});\n};\n\nconst canUseAvif = () => {\n\treturn new Promise((res) => {\n\t\tconst avif = new Image();\n\t\tavif.src =\n\t\t\t\"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=\";\n\t\tavif.onload = avif.onerror = () => {\n\t\t\tres(avif.height === 2);\n\t\t};\n\t});\n};\n\nexport {\n\tsplitValue,\n\tsetProps,\n\tclearProps,\n\taddClass,\n\tremoveClass,\n\thasClass,\n\titemClass,\n\ttoggleClass,\n\tsplitText,\n\tgetDOM,\n\tgetRect,\n\taddEventListeners,\n\tremoveEventListeners,\n\tgetCursorPoint,\n\tgetCenterPoint,\n\tisMobileDevice,\n\trandomizeHexColor,\n\tquery,\n\tqueryAll,\n\tisVisible,\n\tcreateElement,\n\tcreateElementNS,\n\ttoSeoUrl,\n\twheelNormalize,\n\tgetExtension,\n\tgetScreenSize,\n\tcanUseWebP,\n\tcanUseAvif,\n\tsetAttribute,\n\tgetAttribute,\n};\n","import {\n\tcreateElement,\n\tcreateElementNS,\n\tquery,\n\tqueryAll,\n\tgetCursorPoint,\n\tsetProps,\n\thasClass,\n\taddClass,\n\tremoveClass,\n} from \"../utils.js\";\n\nclass MaskedButton {\n\tbtn;\n\tpoint;\n\tlerpPoint;\n\trunning;\n\tinertia = 0.1;\n\n\tconstructor(el) {\n\t\tthis.btn = el;\n\t\tthis.btn.addEventListener(\"mouseenter\", this.enterHandler);\n\t}\n\n\treset = () => {\n\t\tthis.point = this.lerpPoint = null;\n\t\tthis.running = false;\n\t};\n\n\tenterHandler = (e) => {\n\t\tconst el = e.target;\n\t\tconst container = el;\n\t\tconst svg = query(\".u-svg\", el);\n\n\t\t// if (!svg) {\n\t\t// \tconst clone = hasClass(el, 'clone');\n\t\t// \tconst index = maskBts.indexOf(el);\n\t\t// \tconst maskId = `circle_mask_${index}`;\n\t\t// \tconst circle_1 = createElementNS('circle');\n\t\t// \tconst svg = createElementNS('svg');\n\n\t\t// \tif (clone) {\n\t\t// \t\tconst clipPath = createElementNS('clipPath', { id: maskId });\n\t\t// \t\tclipPath.appendChild(circle_1);\n\t\t// \t\tsvg.appendChild(clipPath);\n\t\t// \t} else svg.appendChild(circle_1);\n\n\t\t// \tel.appendChild(svg);\n\n\t\t// \tif (container && clone) {\n\t\t// \t\tconst style = `clip-path: url(#${maskId});`;\n\t\t// \t\tconst cloneContainer = createElement('div', { class: 'clone-container', style: style });\n\t\t// \t\tconst containerClone = container.cloneNode(true);\n\t\t// \t\tcloneContainer.appendChild(containerClone);\n\t\t// \t\tel.appendChild(cloneContainer);\n\t\t// \t}\n\t\t// }\n\n\t\tel.addEventListener(\"mousemove\", this.moveHandler);\n\t\tel.addEventListener(\"mouseleave\", this.leaveHandler, { once: true });\n\n\t\tconst r = Math.hypot(el.clientWidth, el.clientHeight);\n\t\tsetProps(el, { \"--r\": `${r}px` });\n\n\t\tconst circle = query(\"circle\", el);\n\t\tcircle.removeEventListener(\"transitionend\", this.reset);\n\n\t\tthis.moveHandler(e);\n\t\tif (!this.running) {\n\t\t\tthis.running = true;\n\t\t\tthis.render();\n\t\t}\n\t\taddClass(el, \"hover\");\n\t};\n\n\tmoveHandler = (e) => {\n\t\tthis.point = getCursorPoint(e);\n\t\tif (!this.lerpPoint) this.lerpPoint = this.point;\n\t};\n\n\tleaveHandler = (e) => {\n\t\tconst el = e.target;\n\t\tconst circle = query(\"circle\", el);\n\t\tsetProps(el, { \"--r\": `0px` });\n\t\tel.removeEventListener(\"mousemove\", this.moveHandler);\n\t\tcircle.addEventListener(\"transitionend\", this.reset);\n\t\tremoveClass(el, \"hover\");\n\t};\n\n\trender = () => {\n\t\tif (this.running) {\n\t\t\tthis.lerpPoint.x += (this.point.x - this.lerpPoint.x) * this.inertia;\n\t\t\tthis.lerpPoint.y += (this.point.y - this.lerpPoint.y) * this.inertia;\n\t\t\tsetProps(this.btn, {\n\t\t\t\t\"--x\": `${this.lerpPoint.x}px`,\n\t\t\t\t\"--y\": `${this.lerpPoint.y}px`,\n\t\t\t});\n\t\t\trequestAnimationFrame(this.render);\n\t\t}\n\t};\n}\n\nexport { MaskedButton };\n","import { queryAll } from \"../../../../../scripts/src/utils.js\";\nimport { MaskedButton } from \"../../../../../scripts/src/modules/mask-button.js\";\nclass LogoGrid extends HTMLDivElement {\n\tmaskBtns;\n\tconstructor() {\n\t\tsuper();\n\t\tthis.maskBtns = [...queryAll(\".mask-btn\")];\n\n\t\tthis.maskBtns.forEach((el) => {\n\t\t\tif (!el.instance) el.instance = new MaskedButton(el);\n\t\t});\n\t}\n}\n\ncustomElements.define(\"logo-grid\", LogoGrid, { extends: \"div\" });\n"],"names":["query","root","document","querySelector","queryAll","querySelectorAll","toArray","el","Array","isArray","setProps","props","i","forEach","_el","style","setProperty","MaskedButton","btn","point","lerpPoint","running","inertia","constructor","this","addEventListener","enterHandler","reset","e","target","moveHandler","leaveHandler","once","r","Math","hypot","clientWidth","clientHeight","removeEventListener","render","classname","classList","add","addClass","absolute","rect","window","x","y","width","innerWidth","height","innerHeight","getBoundingClientRect","maxX","maxY","cX","cY","getRect","currentTarget","changedTouches","clientX","left","clientY","top","getCursorPoint","circle","remove","removeClass","requestAnimationFrame","LogoGrid","HTMLDivElement","maskBtns","super","instance","customElements","define","extends"],"sourceRoot":""}