{ "version": 3, "sources": ["../../node_modules/@srhazi/simpledom/src/simpledom.ts", "../../src/components/custom-tooltip.tsx", "../../src/components/bubble-text.tsx", "../../src/components/marquee-button.tsx", "../../src/behavior.tsx"], "sourcesContent": [null, "import Gooey, { defineCustomElement, calc, ref, model } from '@srhazi/gooey';\n\ndefineCustomElement({\n tagName: 'custom-tooltip',\n shadowMode: 'open',\n delegatesFocus: true,\n Component: (props, { addEventListener, host }) => {\n const state = model({\n isFocused: false,\n isHovered: false,\n top: 0,\n left: 0,\n });\n const isOpen = calc(() => state.isFocused || state.isHovered);\n const tipRef = ref();\n const measure = () => {\n const hostBox = host.getBoundingClientRect();\n const tipBox = tipRef.current!.getBoundingClientRect();\n state.top = -tipBox.height - 4;\n state.left = Math.max(\n -hostBox.left + 20,\n (hostBox.width - tipBox.width) / 2\n );\n };\n addEventListener('mouseenter', () => {\n measure();\n state.isHovered = true;\n });\n addEventListener('mouseleave', () => {\n state.isHovered = false;\n });\n addEventListener('focusin', () => {\n measure();\n state.isFocused = true;\n });\n addEventListener('focusout', () => {\n state.isFocused = false;\n });\n return (\n <>\n \n \n (isOpen.get() ? 'tip tip--open' : 'tip'))}\n style={calc(() => `top:${state.top}px; left:${state.left}px;`)}\n >\n \n \n \n );\n },\n});\n", "import Gooey, {\n defineCustomElement,\n calc,\n ref,\n model,\n dynGet,\n} from '@srhazi/gooey';\n\ndefineCustomElement({\n tagName: 'bubble-text',\n shadowMode: 'open',\n observedAttributes: ['label', 'min-val', 'max-val', 'prop'],\n Component: (\n { label, 'min-val': minVal, 'max-val': maxVal, prop },\n { onMount }\n ) => {\n const elementDimensions = new Map<\n HTMLSpanElement,\n { top: number; left: number; width: number; height: number }\n >();\n const spanPosition = model({\n left: 0,\n top: 0,\n });\n const spanRef = ref();\n const onMouseMove = (e: MouseEvent) => {\n if (spanRef.current) {\n Array.from(spanRef.current?.childNodes).forEach((charEl) => {\n if (\n charEl instanceof HTMLSpanElement &&\n charEl.className === 'bubble-text_char'\n ) {\n const bounds = elementDimensions.get(charEl);\n if (bounds) {\n const cx = spanPosition.left + bounds.left + bounds.width / 2;\n const cy = spanPosition.top + bounds.top + bounds.height / 2;\n const dx = cx - e.clientX;\n const dy = cy - e.clientY;\n const distance = Math.sqrt(dx ** 2 + dy ** 2);\n const scaledDistance =\n Math.max(100 - distance ** 2 / 100, 0) / 100;\n charEl.style.setProperty(\n '--bubble-text_char_distance',\n scaledDistance.toString()\n );\n } else {\n }\n }\n });\n }\n };\n onMount(() => {\n document.body.addEventListener('mousemove', onMouseMove);\n const handle = setInterval(() => {\n if (spanRef.current) {\n const bounds = spanRef.current.getBoundingClientRect();\n spanPosition.top = bounds.top;\n spanPosition.left = bounds.left;\n }\n }, 100);\n return () => {\n document.body.removeEventListener('mousemove', onMouseMove);\n clearInterval(handle);\n };\n });\n return (\n <>\n \n \n {calc(() => {\n return (\n {\n spanRef.current = el;\n if (el) {\n const bounds = el.getBoundingClientRect();\n spanPosition.top = bounds.top;\n spanPosition.left = bounds.left;\n el.childNodes.forEach((charEl) => {\n if (charEl instanceof HTMLSpanElement) {\n const bounds = charEl.getBoundingClientRect();\n const left = bounds.left - spanPosition.left;\n const top = bounds.top - spanPosition.top;\n elementDimensions.set(charEl, {\n left,\n top,\n width: bounds.width,\n height: bounds.height,\n });\n }\n });\n } else {\n elementDimensions.clear();\n }\n }}\n style={calc(() =>\n [\n `--bubble-text_min-val: ${dynGet(minVal)}`,\n `--bubble-text_max-val: ${dynGet(maxVal)}`,\n ].join(';')\n )}\n class=\"bubble-text\"\n >\n {(dynGet(label) || '').split('').map((c) => (\n {c}\n ))}\n \n );\n })}\n \n );\n },\n});\n", "import Gooey, {\n Component,\n calc,\n Dyn,\n dynGet,\n dynSet,\n dynSubscribe,\n field,\n model,\n ref,\n defineCustomElement,\n} from '@srhazi/gooey';\n\nconst dynGetNumber = (val: Dyn, def: number) => {\n const v = parseFloat(dynGet(val) ?? '');\n return !isFinite(v) ? def : v;\n};\n\nconst safeMod = (a: number, b: number) => ((a % b) + b) % b;\n\nconst DEFAULT_GAP_X = 5;\nconst DEFAULT_GAP_Y = 2;\nconst DEFAULT_SCROLL_EVEN = 10;\nconst DEFAULT_SCROLL_ODD = -15;\nconst DEFAULT_ANGLE = Math.PI * 0.2;\n\ndefineCustomElement({\n tagName: 'marquee-button',\n shadowMode: 'open',\n observedAttributes: [\n 'label',\n 'width',\n 'height',\n 'gap-x',\n 'gap-y',\n 'scroll-even',\n 'scroll-odd',\n 'angle',\n 'force-active',\n ],\n Component: (\n {\n label,\n width,\n height,\n 'gap-x': gapX,\n 'gap-y': gapY,\n 'scroll-even': scrollEven,\n 'scroll-odd': scrollOdd,\n angle,\n 'force-active': forceActive,\n },\n { onMount, addEventListener }\n ) => {\n const hasFocus = field(false);\n const hasHover = field(false);\n const isActive = calc(\n () => hasFocus.get() || hasHover.get() || !!dynGet(forceActive)\n );\n const evenShift = field(0.5);\n const oddShift = field(0);\n\n const elRef = ref();\n const offscreenRef = ref();\n const scrollerRef = ref();\n\n const rawDimensions = model({\n width: 0,\n height: 0,\n });\n\n addEventListener('focusin', () => hasFocus.set(true));\n addEventListener('focusout', () => hasFocus.set(false));\n addEventListener('mouseenter', () => hasHover.set(true));\n addEventListener('mouseleave', () => hasHover.set(false));\n\n const labelDimensions = calc(() => {\n if (!isActive.get() || !offscreenRef.current) {\n return null;\n }\n const spanEl = document.createElement('span');\n spanEl.style.whiteSpace = 'nowrap';\n spanEl.style.display = 'inline-block';\n spanEl.textContent = dynGet(label) ?? '';\n offscreenRef.current.replaceChildren(spanEl);\n const rect = spanEl.getBoundingClientRect();\n return { width: rect.width, height: rect.height };\n });\n\n const nodeInfo = calc(() => {\n if (!isActive.get()) {\n return null;\n }\n const labelDims = labelDimensions.get();\n if (!labelDims) {\n return null;\n }\n const gapXVal = dynGetNumber(gapX, DEFAULT_GAP_X);\n const gapYVal = dynGetNumber(gapY, DEFAULT_GAP_Y);\n const bounds = {\n width: Math.ceil(labelDims.width + gapXVal),\n height: Math.ceil(labelDims.height + gapYVal),\n };\n const ang = dynGetNumber(angle, DEFAULT_ANGLE);\n const rotatedWidth =\n rawDimensions.height * Math.abs(Math.sin(ang)) +\n rawDimensions.width * Math.abs(Math.cos(ang));\n const rotatedHeight =\n rawDimensions.height * Math.abs(Math.cos(ang)) +\n rawDimensions.width * Math.abs(Math.sin(ang));\n let numNodesH = Math.ceil(rotatedWidth / bounds.width) + 2;\n let numNodesV = Math.ceil(rotatedHeight / bounds.height) + 1;\n // Need an even number of nodes in order to keep things centered correctly\n if (numNodesH & 1) {\n numNodesH++;\n }\n if (numNodesV & 1) {\n numNodesV++;\n }\n const totalWidth = numNodesH * bounds.width - gapXVal;\n const totalHeight = numNodesV * bounds.height - gapYVal;\n const totalShiftX = -(totalWidth - rawDimensions.width) / 2;\n const totalShiftY = -(totalHeight - rawDimensions.height) / 2;\n const evenNode = document.createElement('span');\n evenNode.textContent = dynGet(label) ?? '';\n const oddNode = evenNode.cloneNode(true) as HTMLSpanElement;\n evenNode.className = 'marquee-button_item--even';\n oddNode.className = 'marquee-button_item--odd';\n const labelNodes: HTMLSpanElement[] = [];\n for (let x = 0; x < numNodesH; ++x) {\n for (let y = 0; y < numNodesV; ++y) {\n const toClone = y & 1 ? oddNode : evenNode;\n const cloned = toClone.cloneNode(true) as HTMLSpanElement;\n cloned.style.setProperty('--marquee-button_item-col', x.toString());\n cloned.style.setProperty('--marquee-button_item-row', y.toString());\n labelNodes.push(cloned);\n }\n }\n return { bounds, labelNodes, totalShiftX, totalShiftY };\n });\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === elRef.current) {\n if (entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n rawDimensions.width = box.inlineSize;\n rawDimensions.height = box.blockSize;\n } else {\n rawDimensions.width = entry.contentRect.width;\n rawDimensions.height = entry.contentRect.height;\n }\n }\n }\n });\n\n let animationHandle: null | number = null;\n let lastTickMs: null | number = null;\n const tick = (ms: number) => {\n if (lastTickMs === null) {\n lastTickMs = ms;\n }\n let dt = (ms - lastTickMs) / 1000;\n lastTickMs = ms;\n const nodeWidth = nodeInfo.get()?.bounds.width;\n let es =\n evenShift.get() + dynGetNumber(scrollEven, DEFAULT_SCROLL_EVEN) * dt;\n let os =\n oddShift.get() + dynGetNumber(scrollOdd, DEFAULT_SCROLL_ODD) * dt;\n if (nodeWidth) {\n es = safeMod(es, nodeWidth);\n os = safeMod(os, nodeWidth);\n }\n evenShift.set(es);\n oddShift.set(os);\n\n animationHandle = requestAnimationFrame(tick);\n };\n\n onMount(() => {\n if (elRef.current) {\n resizeObserver.observe(elRef.current);\n }\n const unsubscribe = isActive.subscribe((err, val) => {\n if (val) {\n evenShift.set(0);\n oddShift.set(50);\n animationHandle = requestAnimationFrame(tick);\n } else if (animationHandle) {\n cancelAnimationFrame(animationHandle);\n animationHandle = null;\n }\n });\n return () => {\n resizeObserver.disconnect();\n if (animationHandle) {\n cancelAnimationFrame(animationHandle);\n animationHandle = null;\n }\n unsubscribe();\n };\n });\n\n // TODO: bug in gooey where cssprop: props are not bound to dynamic values\n return (\n <>\n \n \n \n `marquee-button ${isActive.get() ? 'marquee-button--active' : ''}`\n )}\n style={calc(() => {\n const widthRaw = dynGet(width) ?? '100%';\n const widthStr =\n typeof widthRaw === 'string' ? widthRaw : `${widthRaw}px`;\n const heightRaw = dynGet(height) ?? '100%';\n const heightStr =\n typeof heightRaw === 'string' ? heightRaw : `${heightRaw}px`;\n return [\n `--marquee-button_width: ${widthStr}`,\n `--marquee-button_height: ${heightStr}`,\n `--marquee-button_calc_width: ${rawDimensions.width}px`,\n `--marquee-button_calc_height: ${rawDimensions.height}px`,\n ].join(';');\n })}\n >\n
\n
\n
\n {\n const info = nodeInfo.get();\n if (!info) {\n return '';\n }\n return [\n `--marquee-button_shifter_angle: ${dynGetNumber(\n angle,\n DEFAULT_ANGLE\n )}`,\n `--marquee-button_total-shift-x: ${info.totalShiftX}px`,\n `--marquee-button_total-shift-y: ${info.totalShiftY}px`,\n `--marquee-button_even-shift: ${evenShift.get()}px`,\n `--marquee-button_odd-shift: ${oddShift.get()}px`,\n `--marquee-button_item-width: ${info.bounds.width}px`,\n `--marquee-button_item-height: ${info.bounds.height}px`,\n ].join(';');\n })}\n >\n {calc(() => nodeInfo.get()?.labelNodes)}\n
\n \n \n \n \n \n );\n },\n});\n", "import Gooey, {\n defineCustomElement,\n calc,\n ref,\n Component,\n model,\n field,\n dynGet,\n Dyn,\n} from '@srhazi/gooey';\nimport './components/custom-tooltip';\nimport './components/bubble-text';\nimport './components/marquee-button';\nimport * as dom from '@srhazi/simpledom';\n\nfunction initTabs() {\n for (const tab of dom.all(HTMLElement, '.tabs')) {\n const tabList = dom.oneFrom(tab, HTMLElement, '.tabs__list');\n const tabButtons = dom.allFrom(tabList, HTMLButtonElement, '.tabs__tab');\n\n function activatePanelButton(button: HTMLButtonElement) {\n const nextTarget = dom.one(\n HTMLElement,\n `#${button.getAttribute('aria-controls')}`\n );\n const currButton = tabButtons.find(\n (button) => button.getAttribute('aria-selected') === 'true'\n );\n if (currButton) {\n const currTarget = dom.one(\n HTMLElement,\n `#${currButton.getAttribute('aria-controls')}`\n );\n currButton.setAttribute('aria-selected', 'false');\n currTarget.classList.remove('tabs__panel--active');\n }\n button.setAttribute('aria-selected', 'true');\n nextTarget.classList.add('tabs__panel--active');\n }\n\n const activeTabButton =\n tabButtons.find(\n (tabButton) => tabButton.getAttribute('aria-selected') === 'true'\n ) || tabButtons[0];\n if (activeTabButton) {\n activatePanelButton(activeTabButton);\n }\n\n dom.on(tabList, 'keydown', HTMLButtonElement, '.tabs__tab', (e, button) => {\n const buttonIndex = tabButtons.indexOf(button);\n if (buttonIndex === -1) return;\n let nextTab: HTMLButtonElement | null = null;\n if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n e.preventDefault();\n tabButtons[buttonIndex].setAttribute('tabindex', '-1');\n nextTab =\n tabButtons[\n buttonIndex <= 0 ? tabButtons.length - 1 : buttonIndex - 1\n ];\n }\n if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n e.preventDefault();\n tabButtons[buttonIndex].setAttribute('tabindex', '-1');\n nextTab =\n tabButtons[\n buttonIndex >= tabButtons.length - 1 ? 0 : buttonIndex + 1\n ];\n }\n if (nextTab) {\n nextTab.setAttribute('tabindex', '0');\n nextTab.focus();\n }\n });\n dom.on(tabList, 'click', HTMLButtonElement, '.tabs__tab', (e, button) => {\n activatePanelButton(button);\n });\n }\n}\n\nfunction initApinav() {\n const dropdownEl = dom.get(HTMLSelectElement, '#apinav_dropdown');\n const searchEl = dom.get(HTMLInputElement, 'input[name=\"search\"]');\n const detailsEls = dom.all(HTMLDetailsElement, '[data-apinav-list] details');\n const itemEls = dom.all(HTMLLIElement, '[data-apinav-list] li');\n const linkEls = dom.all(HTMLElement, '.apinav .apinav__section_item');\n\n const sectionAnchors = dom.all(HTMLAnchorElement, '.apinav__section_anchor');\n\n if (itemEls.length === 0 || linkEls.length === 0) {\n return;\n }\n const sectionAnchorsVisible = new Map();\n\n if (IntersectionObserver) {\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n sectionAnchorsVisible.set(entry.target, entry.isIntersecting);\n }\n const firstVisible = sectionAnchors.find((sectionAnchor) =>\n sectionAnchorsVisible.get(sectionAnchor)\n );\n if (\n firstVisible &&\n firstVisible instanceof HTMLAnchorElement &&\n location.hash !== firstVisible.href\n ) {\n history.replaceState(null, '', firstVisible.href);\n updateActiveNavLink(firstVisible.href);\n }\n },\n {\n threshold: 1.0,\n }\n );\n for (const sectionAnchor of sectionAnchors) {\n sectionAnchorsVisible.set(sectionAnchor, false);\n intersectionObserver.observe(sectionAnchor);\n }\n }\n\n function filter(value: string) {\n for (const detailsEl of detailsEls) {\n detailsEl.open = true;\n }\n for (const itemEl of itemEls) {\n if (!value || itemEl.textContent?.toLowerCase().includes(value)) {\n itemEl.removeAttribute('hidden');\n } else {\n itemEl.setAttribute('hidden', '');\n }\n }\n }\n\n function updateActiveNavLink(url: string) {\n const targetUrl = new URL(url);\n const navLink = dom.get(\n HTMLElement,\n '.apinav .apinav__section_item[href=\"' + targetUrl.hash + '\"]'\n );\n if (navLink) {\n for (const linkEl of linkEls) {\n linkEl.classList.toggle('active', linkEl === navLink);\n }\n if (searchEl) {\n searchEl.value = '';\n }\n filter('');\n var closestDetails = navLink.closest('.apinav details');\n if (closestDetails && closestDetails instanceof HTMLDetailsElement) {\n for (const detailsEl of detailsEls) {\n detailsEl.open =\n detailsEl === closestDetails || detailsEl.contains(closestDetails);\n }\n }\n }\n var dropdownOptionEl = dom.get(\n HTMLOptionElement,\n '#apinav_dropdown option[value=\"' + targetUrl.hash + '\"]'\n );\n if (dropdownEl && dropdownOptionEl) {\n dropdownEl.value = targetUrl.hash;\n }\n }\n\n window.addEventListener('hashchange', function (e) {\n updateActiveNavLink(e.newURL);\n });\n updateActiveNavLink(window.location.toString());\n\n if (searchEl) {\n searchEl.addEventListener('input', function (e) {\n filter(searchEl.value.trim().toLowerCase());\n });\n searchEl.addEventListener('focus', function (e) {\n for (const detailsEl of detailsEls) {\n detailsEl.open = true;\n }\n });\n }\n\n if (dropdownEl) {\n dropdownEl.addEventListener('change', function (e) {\n window.location.hash = dropdownEl.value;\n });\n }\n}\n\ninitApinav();\n\ninitTabs();\n"], "mappings": "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", "names": ["isConstructedBy", "instance", "klass", "allAre", "instanceArray", "typeCheck", "thing", "_i", "instanceArray_1", "SimpleDOMError", "_super", "__extends", "exports", "NotFound", "TypeMismatch", "one", "kind", "selector", "oneFrom", "get", "getFrom", "root", "el", "all", "allFrom", "els", "on", "type", "handler", "options", "listener", "event", "_a", "potential", "build", "html", "doc", "container", "child", "buildMany", "fragment", "Gooey", "defineCustomElement", "calc", "ref", "model", "props", "addEventListener", "host", "state", "isOpen", "tipRef", "measure", "hostBox", "tipBox", "Gooey", "defineCustomElement", "calc", "ref", "model", "dynGet", "defineCustomElement", "label", "minVal", "maxVal", "prop", "onMount", "elementDimensions", "spanPosition", "model", "spanRef", "ref", "onMouseMove", "e", "_a", "charEl", "bounds", "cx", "cy", "dx", "dy", "distance", "__pow", "scaledDistance", "handle", "Gooey", "calc", "dynGet", "el", "left", "top", "c", "Gooey", "calc", "dynGet", "field", "model", "ref", "defineCustomElement", "dynGetNumber", "val", "def", "_a", "v", "safeMod", "a", "b", "DEFAULT_GAP_X", "DEFAULT_GAP_Y", "DEFAULT_SCROLL_EVEN", "DEFAULT_SCROLL_ODD", "DEFAULT_ANGLE", "label", "width", "height", "gapX", "gapY", "scrollEven", "scrollOdd", "angle", "forceActive", "onMount", "addEventListener", "hasFocus", "hasHover", "isActive", "evenShift", "oddShift", "elRef", "offscreenRef", "scrollerRef", "rawDimensions", "labelDimensions", "spanEl", "rect", "nodeInfo", "labelDims", "gapXVal", "gapYVal", "bounds", "ang", "rotatedWidth", "rotatedHeight", "numNodesH", "numNodesV", "totalWidth", "totalHeight", "totalShiftX", "totalShiftY", "evenNode", "oddNode", "labelNodes", "x", "y", "cloned", "resizeObserver", "entries", "entry", "box", "animationHandle", "lastTickMs", "tick", "ms", "dt", "nodeWidth", "es", "os", "unsubscribe", "err", "_b", "widthRaw", "widthStr", "heightRaw", "heightStr", "info", "dom", "initTabs", "tab", "activatePanelButton", "button", "nextTarget", "currButton", "tabButtons", "currTarget", "tabList", "activeTabButton", "tabButton", "e", "buttonIndex", "nextTab", "initApinav", "dropdownEl", "searchEl", "detailsEls", "itemEls", "linkEls", "sectionAnchors", "sectionAnchorsVisible", "intersectionObserver", "entries", "entry", "firstVisible", "sectionAnchor", "updateActiveNavLink", "filter", "value", "_a", "detailsEl", "itemEl", "url", "targetUrl", "navLink", "linkEl", "closestDetails", "dropdownOptionEl"] }