{"version":3,"file":"static/chunks/23831-571534da40184e01.js","mappings":"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","sources":["webpack://_N_E/../../src/icons/arrow-right.ts","webpack://_N_E/../../src/icons/github.ts","webpack://_N_E/../../src/icons/linkedin.ts","webpack://_N_E/./src/components/ErrorBoundary/ErrorBoundary.tsx","webpack://_N_E/./src/components/FadeIn/FadeIn.tsx","webpack://_N_E/./src/components/FadeIn/index.ts","webpack://_N_E/./src/components/JericaMascot/JericaMascot.tsx","webpack://_N_E/./src/components/JericaMascot/index.ts","webpack://_N_E/./src/components/OverscrollColor/OverscrollColor.tsx","webpack://_N_E/./src/components/SiteFooter/UpsideDownJerica.tsx","webpack://_N_E/./src/components/SkipNav/SkipNav.tsx","webpack://_N_E/./node_modules/.pnpm/next@15.1.3_@babel+core@7.24.6_react-dom@19.0.0-rc-f994737d14-20240522_react@19.0.0-rc-f99473_henqbhbmro4if2cwhftw2bam2a/node_modules/next/dist/api/app-dynamic.js","webpack://_N_E/../../src/shared/lib/app-dynamic.tsx","webpack://_N_E/../../src/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.tsx","webpack://_N_E/../../src/shared/lib/lazy-dynamic/loadable.tsx","webpack://_N_E/../../src/shared/lib/lazy-dynamic/preload-chunks.tsx","webpack://_N_E/./node_modules/.pnpm/use-sound@5.0.0_react@19.0.0-rc-f994737d14-20240522/node_modules/use-sound/dist/use-sound.esm.js","webpack://_N_E/./src/components/FadeIn/FadeIn.linaria.module.css","webpack://_N_E/./src/components/JericaMascot/JericaMascot.linaria.module.css","webpack://_N_E/./src/components/SiteFooter/ExtraCloud.linaria.module.css","webpack://_N_E/./src/components/SiteFooter/FooterSwoops.linaria.module.css","webpack://_N_E/./src/components/SiteFooter/FullFatSiteFooter.linaria.module.css","webpack://_N_E/./src/components/SiteFooter/UpsideDownJerica.linaria.module.css","webpack://_N_E/./src/components/SkipNav/SkipNav.linaria.module.css"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ArrowRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJtMTIgNSA3IDctNyA3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/arrow-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowRight = createLucideIcon('ArrowRight', [\n ['path', { d: 'M5 12h14', key: '1ays0h' }],\n ['path', { d: 'm12 5 7 7-7 7', key: 'xquz4c' }],\n]);\n\nexport default ArrowRight;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Github\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjJ2LTRhNC44IDQuOCAwIDAgMC0xLTMuNWMzIDAgNi0yIDYtNS41LjA4LTEuMjUtLjI3LTIuNDgtMS0zLjUuMjgtMS4xNS4yOC0yLjM1IDAtMy41IDAgMC0xIDAtMyAxLjUtMi42NC0uNS01LjM2LS41LTggMEM2IDIgNSAyIDUgMmMtLjMgMS4xNS0uMyAyLjM1IDAgMy41QTUuNDAzIDUuNDAzIDAgMCAwIDQgOWMwIDMuNSAzIDUuNSA2IDUuNS0uMzkuNDktLjY4IDEuMDUtLjg1IDEuNjUtLjE3LjYtLjIyIDEuMjMtLjE1IDEuODV2NCIgLz4KICA8cGF0aCBkPSJNOSAxOGMtNC41MSAyLTUtMi03LTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/github\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n * @deprecated Brand icons have been deprecated and are due to be removed, please refer to https://github.com/lucide-icons/lucide/issues/670. We recommend using https://simpleicons.org/?q=github instead. This icon will be removed in v1.0\n */\nconst Github = createLucideIcon('Github', [\n [\n 'path',\n {\n d: 'M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4',\n key: 'tonef',\n },\n ],\n ['path', { d: 'M9 18c-4.51 2-5-2-7-2', key: '9comsn' }],\n]);\n\nexport default Github;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Linkedin\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgOGE2IDYgMCAwIDEgNiA2djdoLTR2LTdhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDAtMiAydjdoLTR2LTdhNiA2IDAgMCAxIDYtNnoiIC8+CiAgPHJlY3Qgd2lkdGg9IjQiIGhlaWdodD0iMTIiIHg9IjIiIHk9IjkiIC8+CiAgPGNpcmNsZSBjeD0iNCIgY3k9IjQiIHI9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/linkedin\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n * @deprecated Brand icons have been deprecated and are due to be removed, please refer to https://github.com/lucide-icons/lucide/issues/670. We recommend using https://simpleicons.org/?q=linkedin instead. This icon will be removed in v1.0\n */\nconst Linkedin = createLucideIcon('Linkedin', [\n [\n 'path',\n {\n d: 'M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z',\n key: 'c2jq9f',\n },\n ],\n ['rect', { width: '4', height: '12', x: '2', y: '9', key: 'mk3on5' }],\n ['circle', { cx: '4', cy: '4', r: '2', key: 'bt5ra8' }],\n]);\n\nexport default Linkedin;\n","'use client';\n\nimport React from 'react';\n\ninterface Props {\n fallback?: React.ReactNode;\n children: React.ReactNode;\n}\n\ninterface State {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError() {\n return { hasError: true };\n }\n\n // Add the componentDidCatch lifecycle method, with types\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error(error);\n console.info({ errorInfo });\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback || null;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from 'react';\nimport { styled } from '@linaria/react';\n\ninterface Props extends React.HTMLAttributes {\n duration?: number;\n delay?: number;\n children: React.ReactNode;\n}\n\nconst FadeIn = ({\n duration = 333,\n delay = 0,\n children,\n ...delegated\n}: Props) => {\n return (\n \n {children}\n \n );\n};\n\nconst Wrapper = styled.div`\n @media (prefers-reduced-motion: no-preference) {\n animation-name: fadeIn;\n animation-fill-mode: backwards;\n }\n`;\n\nexport default FadeIn;\n","export { default } from './FadeIn';\n","'use client';\n\nimport React from 'react';\nimport { styled } from '@linaria/react';\n\nimport { UserPreferencesContext } from '@/components/UserPreferencesProvider';\nimport FadeIn from '@/components/FadeIn';\n\n// I have other moods, but I need to fix the dark mode images before I can use them. See instructions in /images/josh/__README.md\nexport type Mood = 'happy' | 'sad' | 'very-happy' | 'heart-eyes';\n\nexport interface Props extends React.HTMLAttributes {\n colorModeOverride?: 'light' | 'dark';\n mood?: Mood;\n fadeDuration?: number;\n fadeDelay?: number;\n}\n\nfunction JericaMascot({\n colorModeOverride,\n mood = 'happy',\n fadeDuration = 600,\n fadeDelay = 200,\n ...delegated\n}: Props) {\n const isUsingGlobalColorMode = !colorModeOverride;\n\n const { colorMode: globalColorMode } = React.useContext(\n UserPreferencesContext\n );\n\n const colorMode = colorModeOverride || globalColorMode;\n\n return (\n \n \n \n \n \n \n {mood !== 'happy' && (\n \n \n \n \n )}\n \n \n \n \n \n \n {mood !== 'happy' && (\n \n \n \n \n )}\n \n \n );\n}\n\nconst Wrapper = styled(FadeIn)`\n position: relative;\n`;\n\nconst DarkLayer = styled.div`\n position: relative;\n`;\n\nconst LightLayer = styled.div`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n opacity: var(--opacity);\n transition: opacity calc(var(--color-swap-duration) + 500ms)\n var(--color-swap-timing-function);\n\n /*\n Ok there's some tricky business here.\n When this component first renders on the server, we don't know what the user’s chosen color mode is. If we specify an override, we don't care, but otherwise, we'll read the global color value from the HTML tag. That way, the correct mascot is shown from the very first paint.\n */\n html[data-color-mode='light'] &[data-use-global-color-mode='true'] {\n opacity: 1;\n }\n html[data-color-mode='dark'] &[data-use-global-color-mode='true'] {\n opacity: 0;\n }\n`;\n\nconst MascotBase = styled.img`\n display: block;\n top: 0;\n left: 0;\n width: 137.5px;\n height: 232px;\n user-select: none;\n pointer-events: none;\n`;\n\nconst Head = styled.img`\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n /* Dragging the face off is SUPER creepy */\n user-select: none;\n pointer-events: none;\n`;\n\nexport default JericaMascot;\n","export { default } from './JericaMascot';\n","/*\n This component works by changing the background color of the element, so that when the user tries to scroll beyond the page bounds, the correct color is shown.\n\n It only sets a single color for both top and bottom, because the alternative is a flickery mess.\n\n This *could* be a custom hook, but then the parent component would need to become a Client Component, and I generally want to manage overscroll colors at the page level. So I'm keeping it as a component for now.\n*/\n'use client';\n\nimport * as React from 'react';\n\nimport { useColorMode } from '@/components/UserPreferencesProvider';\n\ninterface Props {\n color?: string;\n lightColor?: string;\n darkColor?: string;\n}\n\nfunction OverscrollColor({ color, lightColor, darkColor }: Props) {\n const colorMode = useColorMode();\n\n React.useEffect(() => {\n let actualColor = color;\n if (colorMode === 'light' && lightColor) {\n actualColor = lightColor;\n } else if (colorMode === 'dark' && darkColor) {\n actualColor = darkColor;\n }\n\n if (!actualColor) {\n return;\n }\n\n document.documentElement.style.setProperty(\n 'background',\n actualColor\n );\n }, [color, lightColor, darkColor, colorMode]);\n\n // When the component unmounts, unset the background color\n React.useEffect(() => {\n return () => {\n document.documentElement.style.removeProperty('background');\n };\n }, []);\n\n return null;\n}\n\nexport default OverscrollColor;\n","'use client';\n\nimport React from 'react';\nimport { styled } from '@linaria/react';\nimport { useSpring, animated } from 'react-spring';\n\nimport { BREAKPOINTS } from '@/constants';\n\nimport JericaMascot from '@/components/JericaMascot';\n\nfunction UpsideDownJerica() {\n const [offset, setOffset] = React.useState(-216);\n const wrapperRef = React.useRef(null);\n\n React.useEffect(() => {\n const target = wrapperRef.current;\n\n if (!target) {\n return;\n }\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.intersectionRatio < 0.2) {\n setOffset(-226);\n } else if (entry.intersectionRatio < 0.5) {\n setOffset(-150);\n } else {\n setOffset(-82);\n }\n },\n {\n threshold: [0.2, 0.5],\n }\n );\n\n observer.observe(target);\n\n return () => {\n if (target) {\n observer.disconnect();\n }\n };\n }, []);\n\n const style = useSpring({\n '--offset': `${offset}px`,\n config: {\n tension: 160,\n friction: 32,\n },\n });\n\n return (\n \n \n \n \n \n );\n}\n\nconst MascotWrapper = styled.div`\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow: clip;\n`;\n\nconst Slider = styled(animated.div)`\n position: absolute;\n left: 50%;\n transform: translate(-533px, var(--offset)) rotate(180deg);\n will-change: transform;\n\n @media (max-width: 67.5rem) {\n left: 0;\n transform: translateY(-82px) rotate(180deg);\n }\n @media ${BREAKPOINTS.smAndSmaller} {\n display: none;\n }\n`;\n\nexport default UpsideDownJerica;\n","'use client';\n\nimport React from 'react';\nimport { styled } from '@linaria/react';\n\nconst SKIP_TARGET_ID = `jwc-skip-here`;\n\nexport function SkipNavTrigger({\n children = `Skip to content`,\n}: {\n children?: React.ReactNode;\n}) {\n const [hasAValidTarget, setHasAValidTarget] = React.useState(false);\n\n React.useEffect(() => {\n const target = document.querySelector(`#${SKIP_TARGET_ID}`);\n\n if (!!target !== hasAValidTarget) {\n setHasAValidTarget(!!target);\n }\n // We only want to do this on-mount, because we have no way of knowing when the SkipNavTarget will show up. We assume it's there on mount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // If we've rendered the trigger, but there is no target available, we don't want to show the trigger. Doing so would just be frustrating, since it wouldn't skip anything.\n if (!hasAValidTarget) {\n return null;\n }\n\n return {children};\n}\n\nexport function SkipNavTarget({\n scrollMarginTop = 64,\n}: {\n scrollMarginTop?: number;\n}) {\n return ;\n}\n\nconst Trigger = styled.a`\n position: fixed;\n z-index: 99999;\n top: 32px;\n left: 32px;\n padding: 16px 24px;\n border-radius: 12px;\n background: var(--color-background);\n color: var(--color-text);\n box-shadow:\n 0 -5.9px 2.7px rgba(0, 0, 0, 0.018),\n 0 -1.2px 6.9px rgba(0, 0, 0, 0.024),\n 0 8px 14.2px rgba(0, 0, 0, 0.03),\n 0 21.9px 29.2px rgba(0, 0, 0, 0.039),\n 0 49px 80px rgba(0, 0, 0, 0.07);\n\n /* Visually hidden stuff */\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n overflow: hidden;\n position: absolute !important;\n width: 1px;\n\n &:focus {\n width: auto;\n height: auto;\n clip: auto;\n }\n`;\n\nconst Target = styled.div`\n contain: none;\n`;\n","export * from '../shared/lib/app-dynamic';\nexport { default } from '../shared/lib/app-dynamic';\n\n//# sourceMappingURL=app-dynamic.js.map","import type React from 'react'\nimport type { JSX } from 'react'\nimport Loadable from './lazy-dynamic/loadable'\n\nimport type {\n LoadableGeneratedOptions,\n DynamicOptionsLoadingProps,\n Loader,\n LoaderComponent,\n} from './lazy-dynamic/types'\n\nexport {\n type LoadableGeneratedOptions,\n type DynamicOptionsLoadingProps,\n type Loader,\n type LoaderComponent,\n}\n\nexport type DynamicOptions

= LoadableGeneratedOptions & {\n loading?: () => JSX.Element | null\n loader?: Loader

\n loadableGenerated?: LoadableGeneratedOptions\n modules?: string[]\n ssr?: boolean\n}\n\nexport type LoadableOptions

= DynamicOptions

\n\nexport type LoadableFn

= (\n opts: LoadableOptions

\n) => React.ComponentType

\n\nexport type LoadableComponent

= React.ComponentType

\n\nexport default function dynamic

(\n dynamicOptions: DynamicOptions

| Loader

,\n options?: DynamicOptions

\n): React.ComponentType

{\n const loadableOptions: LoadableOptions

= {}\n\n if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions\n }\n\n const mergedOptions = {\n ...loadableOptions,\n ...options,\n }\n\n return Loadable({\n ...mergedOptions,\n modules: mergedOptions.loadableGenerated?.modules,\n })\n}\n","'use client'\n\nimport type { ReactElement } from 'react'\nimport { BailoutToCSRError } from './bailout-to-csr'\n\ninterface BailoutToCSRProps {\n reason: string\n children: ReactElement\n}\n\n/**\n * If rendered on the server, this component throws an error\n * to signal Next.js that it should bail out to client-side rendering instead.\n */\nexport function BailoutToCSR({ reason, children }: BailoutToCSRProps) {\n if (typeof window === 'undefined') {\n throw new BailoutToCSRError(reason)\n }\n\n return children\n}\n","import { Suspense, Fragment, lazy } from 'react'\nimport { BailoutToCSR } from './dynamic-bailout-to-csr'\nimport type { ComponentModule } from './types'\nimport { PreloadChunks } from './preload-chunks'\n\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule

(\n mod: React.ComponentType

| ComponentModule

| undefined\n): {\n default: React.ComponentType

\n} {\n // Check \"default\" prop before accessing it, as it could be client reference proxy that could break it reference.\n // Cases:\n // mod: { default: Component }\n // mod: Component\n // mod: { default: proxy(Component) }\n // mod: proxy(Component)\n const hasDefault = mod && 'default' in mod\n return {\n default: hasDefault\n ? (mod as ComponentModule

).default\n : (mod as React.ComponentType

),\n }\n}\n\nconst defaultOptions = {\n loader: () => Promise.resolve(convertModule(() => null)),\n loading: null,\n ssr: true,\n}\n\ninterface LoadableOptions {\n loader?: () => Promise | ComponentModule>\n loading?: React.ComponentType | null\n ssr?: boolean\n modules?: string[]\n}\n\nfunction Loadable(options: LoadableOptions) {\n const opts = { ...defaultOptions, ...options }\n const Lazy = lazy(() => opts.loader().then(convertModule))\n const Loading = opts.loading\n\n function LoadableComponent(props: any) {\n const fallbackElement = Loading ? (\n \n ) : null\n\n // If it's non-SSR or provided a loading component, wrap it in a suspense boundary\n const hasSuspenseBoundary = !opts.ssr || !!opts.loading\n const Wrap = hasSuspenseBoundary ? Suspense : Fragment\n const wrapProps = hasSuspenseBoundary ? { fallback: fallbackElement } : {}\n const children = opts.ssr ? (\n <>\n {/* During SSR, we need to preload the CSS from the dynamic component to avoid flash of unstyled content */}\n {typeof window === 'undefined' ? (\n \n ) : null}\n \n \n ) : (\n \n \n \n )\n\n return {children}\n }\n\n LoadableComponent.displayName = 'LoadableComponent'\n\n return LoadableComponent\n}\n\nexport default Loadable\n","'use client'\n\nimport { preload } from 'react-dom'\n\nimport { workAsyncStorage } from '../../../server/app-render/work-async-storage.external'\nimport { encodeURIPath } from '../encode-uri-path'\n\nexport function PreloadChunks({\n moduleIds,\n}: {\n moduleIds: string[] | undefined\n}) {\n // Early return in client compilation and only load requestStore on server side\n if (typeof window !== 'undefined') {\n return null\n }\n\n const workStore = workAsyncStorage.getStore()\n if (workStore === undefined) {\n return null\n }\n\n const allFiles = []\n\n // Search the current dynamic call unique key id in react loadable manifest,\n // and find the corresponding CSS files to preload\n if (workStore.reactLoadableManifest && moduleIds) {\n const manifest = workStore.reactLoadableManifest\n for (const key of moduleIds) {\n if (!manifest[key]) continue\n const chunks = manifest[key].files\n allFiles.push(...chunks)\n }\n }\n\n if (allFiles.length === 0) {\n return null\n }\n\n return (\n <>\n {allFiles.map((chunk) => {\n const href = `${workStore.assetPrefix}/_next/${encodeURIPath(chunk)}`\n const isCss = chunk.endsWith('.css')\n // If it's stylesheet we use `precedence` o help hoist with React Float.\n // For stylesheets we actually need to render the CSS because nothing else is going to do it so it needs to be part of the component tree.\n // The `preload` for stylesheet is not optional.\n if (isCss) {\n return (\n \n )\n } else {\n // If it's script we use ReactDOM.preload to preload the resources\n preload(href, {\n as: 'script',\n fetchPriority: 'low',\n })\n return null\n }\n })}\n \n )\n}\n","import React__default, { useEffect } from 'react';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\n\nfunction useOnMount(callback) {\n useEffect(callback, []);\n}\n\nvar _excluded = [\"id\", \"volume\", \"playbackRate\", \"soundEnabled\", \"interrupt\", \"onload\"];\nfunction useSound(src, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$volume = _ref.volume,\n volume = _ref$volume === void 0 ? 1 : _ref$volume,\n _ref$playbackRate = _ref.playbackRate,\n playbackRate = _ref$playbackRate === void 0 ? 1 : _ref$playbackRate,\n _ref$soundEnabled = _ref.soundEnabled,\n soundEnabled = _ref$soundEnabled === void 0 ? true : _ref$soundEnabled,\n _ref$interrupt = _ref.interrupt,\n interrupt = _ref$interrupt === void 0 ? false : _ref$interrupt,\n onload = _ref.onload,\n delegated = _objectWithoutPropertiesLoose(_ref, _excluded);\n var HowlConstructor = React__default.useRef(null);\n var isMounted = React__default.useRef(false);\n var _React$useState = React__default.useState(null),\n duration = _React$useState[0],\n setDuration = _React$useState[1];\n var _React$useState2 = React__default.useState(null),\n sound = _React$useState2[0],\n setSound = _React$useState2[1];\n var handleLoad = function handleLoad() {\n if (typeof onload === 'function') {\n // @ts-ignore\n onload.call(this);\n }\n if (isMounted.current) {\n // @ts-ignore\n setDuration(this.duration() * 1000);\n }\n // @ts-ignore\n setSound(this);\n };\n // We want to lazy-load Howler, since sounds can't play on load anyway.\n useOnMount(function () {\n import('howler').then(function (mod) {\n if (!isMounted.current) {\n var _mod$Howl;\n // Depending on the module system used, `mod` might hold\n // the export directly, or it might be under `default`.\n HowlConstructor.current = (_mod$Howl = mod.Howl) !== null && _mod$Howl !== void 0 ? _mod$Howl : mod[\"default\"].Howl;\n isMounted.current = true;\n new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n rate: playbackRate,\n onload: handleLoad\n }, delegated));\n }\n });\n return function () {\n isMounted.current = false;\n };\n });\n // When the `src` changes, we have to do a whole thing where we recreate\n // the Howl instance. This is because Howler doesn't expose a way to\n // tweak the sound\n React__default.useEffect(function () {\n if (HowlConstructor.current && sound) {\n setSound(new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n onload: handleLoad\n }, delegated)));\n }\n // The linter wants to run this effect whenever ANYTHING changes,\n // but very specifically I only want to recreate the Howl instance\n // when the `src` changes. Other changes should have no effect.\n // Passing array to the useEffect dependencies list will result in\n // ifinite loop so we need to stringify it, for more details check\n // https://github.com/facebook/react/issues/14476#issuecomment-471199055\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(src)]);\n // Whenever volume/playbackRate are changed, change those properties\n // on the sound instance.\n React__default.useEffect(function () {\n if (sound) {\n sound.volume(volume);\n // HACK: When a sprite is defined, `sound.rate()` throws an error, because Howler tries to reset the \"_default\" sprite, which doesn't exist. This is likely a bug within Howler, but I don’t have the bandwidth to investigate, so instead, we’re ignoring playbackRate changes when a sprite is defined.\n if (!delegated.sprite) {\n sound.rate(playbackRate);\n }\n }\n }, [sound, volume, playbackRate]);\n var play = React__default.useCallback(function (options) {\n if (typeof options === 'undefined') {\n options = {};\n }\n if (!sound || !soundEnabled && !options.forceSoundEnabled) {\n return;\n }\n if (interrupt) {\n sound.stop();\n }\n if (options.playbackRate) {\n sound.rate(options.playbackRate);\n }\n sound.play(options.id);\n }, [sound, soundEnabled, interrupt]);\n var stop = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.stop(id);\n }, [sound]);\n var pause = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.pause(id);\n }, [sound]);\n var returnedValue = [play, {\n sound: sound,\n stop: stop,\n pause: pause,\n duration: duration\n }];\n return returnedValue;\n}\n\nexport default useSound;\nexport { useSound };\n//# sourceMappingURL=use-sound.esm.js.map\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wv8ehy8\":\"wv8ehy8\",\"fadeIn\":\"fadeIn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wvm4gg4\":\"wvm4gg4\",\"d1qadnsl\":\"d1qadnsl\",\"l1enswin\":\"l1enswin\",\"mr2l5ys\":\"mr2l5ys\",\"hjm134z\":\"hjm134z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wfzqr02\":\"wfzqr02\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"w1r7oec7\":\"w1r7oec7\",\"s1q6y8ki\":\"s1q6y8ki\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"w1e2q9l8\":\"w1e2q9l8\",\"s1uqj89y\":\"s1uqj89y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mzwsl9m\":\"mzwsl9m\",\"scefed4\":\"scefed4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"t1v2vbab\":\"t1v2vbab\",\"t1jehbg7\":\"t1jehbg7\"};"],"names":["ErrorBoundary","React","getDerivedStateFromError","hasError","componentDidCatch","error","errorInfo","console","info","render","state","props","fallback","children","constructor","Wrapper","styled","name","class","propsAsIs","FadeIn","duration","delay","delegated","style","animationDelay","_exp","DarkLayer","LightLayer","MascotBase","Head","JericaMascot","colorModeOverride","mood","fadeDuration","fadeDelay","colorMode","globalColorMode","UserPreferencesContext","OverscrollColor","color","lightColor","darkColor","useColorMode","actualColor","document","documentElement","setProperty","removeProperty","MascotWrapper","Slider","animated","div","UpsideDownJerica","offset","setOffset","HTMLDivElement","target","wrapperRef","current","observer","IntersectionObserver","entry","intersectionRatio","observe","disconnect","useSpring","config","tension","friction","SKIP_TARGET_ID","SkipNavTrigger","hasAValidTarget","setHasAValidTarget","querySelector","SkipNavTarget","scrollMarginTop","Trigger","Target","dynamic","dynamicOptions","options","mergedOptions","loadableOptions","loader","Loadable","modules","loadableGenerated","BailoutToCSR","reason","window","BailoutToCSRError","convertModule","mod","default","hasDefault","defaultOptions","Promise","resolve","loading","ssr","opts","Lazy","lazy","then","Loading","LoadableComponent","fallbackElement","isLoading","pastDelay","hasSuspenseBoundary","Wrap","Suspense","Fragment","PreloadChunks","moduleIds","wrapProps","displayName","workStore","workAsyncStorage","getStore","undefined","allFiles","reactLoadableManifest","manifest","key","chunks","files","push","length","map","href","assetPrefix","encodeURIPath","chunk","endsWith","isCss","link","precedence","rel","as","preload","fetchPriority"],"sourceRoot":"","ignoreList":[11,16]}