{"version":3,"sources":["core.ts"],"names":[],"mappings":"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","file":"core.js","sourcesContent":["\"use strict\";\r\ndeclare function gtag(tag: string, action: string, parameters: object);\r\nfunction setupVideoReplay() {\r\n\tconst videos = document.querySelectorAll(\"video[autoplay]:not([loop])\") as NodeListOf;\r\n\tvideos.forEach(video => video.addEventListener(\"ended\", function (event) {\r\n\t\tconst fragment = (document.querySelector(\"#template-replay\") as HTMLTemplateElement).content.cloneNode(true) as DocumentFragment;\r\n\t\tconst button = document.importNode(fragment.querySelector(\"button\"), true) as HTMLButtonElement;\r\n\t\tconst frame = this.parentElement;\r\n\t\tconst video = this;\r\n\t\tconst source = new URL(video.src);\r\n\t\tlet animationFrame = 0;\r\n\t\tbutton.style.position = \"absolute\";\r\n\t\tframe.style.position = \"relative\";\r\n\t\tframe.appendChild(button);\r\n\t\tbutton.addEventListener(\"click\", function (event) {\r\n\t\t\tcancelAnimationFrame(animationFrame);\r\n\t\t\tthis.remove();\r\n\t\t\tvideo.play();\r\n\t\t});\r\n\t\tconst updateButtonLocation = function (timestamp?: number) {\r\n\t\t\tconst fbcr = frame.getBoundingClientRect();\r\n\t\t\tconst vbcr = video.getBoundingClientRect();\r\n\t\t\tconst bbcr = button.getBoundingClientRect();\r\n\t\t\tconst x = fbcr.left - vbcr.left + vbcr.width - bbcr.width;\r\n\t\t\tconst y = fbcr.top - vbcr.top + vbcr.height - bbcr.height;\r\n\t\t\tbutton.style.left = \"calc(\" + x + \"px - 1em)\";\r\n\t\t\tbutton.style.top = \"calc(\" + y + \"px - 1.5em)\";\r\n\t\t\tanimationFrame = requestAnimationFrame(updateButtonLocation);\r\n\t\t};\r\n\t\tupdateButtonLocation();\r\n\t}));\r\n}\r\nfunction setupStickyHeaders() {\r\n\tconst main = document.querySelector(\".site-main\") as HTMLElement;\r\n\tconst page = document.querySelector(\".page\") as HTMLElement;\r\n\tconst header = page.querySelector(\".page-header\") as HTMLElement;\r\n\tif (header) {\r\n\t\tlet collapseEnabled = true;\r\n\t\tlet lastScrollTop = main.scrollTop;\r\n\t\theader.style.height = header.getBoundingClientRect().height + \"px\";\r\n\t\twindow.addEventListener(\"resize\", function (event) {\r\n\t\t\theader.style.height = \"auto\";\r\n\t\t\twindow.setTimeout(function () {\r\n\t\t\t\theader.style.height = header.getBoundingClientRect().height + \"px\";\r\n\t\t\t}, 200);\r\n\t\t});\r\n\t\tmain.addEventListener(\"scroll\", function (event) {\r\n\t\t\tconst delta = lastScrollTop - main.scrollTop\r\n\t\t\tif (delta < 0 && main.scrollTop > 0 && collapseEnabled) {\r\n\t\t\t\theader.classList.add(\"-collapsed\");\r\n\t\t\t\tcollapseEnabled = false;\r\n\t\t\t\twindow.setTimeout(function () {\r\n\t\t\t\t\tcollapseEnabled = true;\r\n\t\t\t\t}, 200);\r\n\t\t\t} else if (delta > 0 && main.scrollTop == 0 && collapseEnabled) {\r\n\t\t\t\theader.classList.remove(\"-collapsed\");\r\n\t\t\t}\r\n\t\t\tlastScrollTop = main.scrollTop;\r\n\t\t});\r\n\t\theader.classList.add(\"-animated\");\r\n\t}\r\n}\r\nsetupVideoReplay();\r\nsetupStickyHeaders();\r\n"]}