{
  "version": 3,
  "sources": ["../../src/Collapsible/provider.tsx", "../../src/contextEx/create.ts", "../../src/contextEx/use.ts", "../../src/Collapsible/context.ts", "../../src/Collapsible/use.ts", "../../src/components/BusyCircularProgress.tsx", "../../src/components/BusyLinearProgress.tsx", "../../src/components/NotFound.tsx", "../../src/hooks/useBreakpoint.ts", "../../src/hooks/useInterval.ts", "../../src/hooks/useLocalStorage.ts", "../../src/lib/getApiStage.ts", "../../src/lib/isLocalHost.ts", "../../src/lib/profile.ts", "../../src/lib/safeLocalStorage.ts", "../../src/lib/safeSessionStorage.ts", "../../src/hooks/useMediaQuery.ts", "../../src/hooks/useMounted.tsx", "../../src/hooks/useSpacing.tsx", "../../src/hooks/useTimeout.ts", "../../src/hooks/useWebP.tsx", "../../src/hooks/useWindowSize.ts", "../../src/calcSpacing.ts", "../../src/mergeBoxlikeStyles.ts"],
  "sourcesContent": ["import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport type { ProvidedContextExState } from '../contextEx/index.ts'\nimport { CollapsibleContext } from './context.ts'\nimport type { CollapsibleState } from './State.ts'\n\nexport interface CollapsibleProviderProps extends PropsWithChildren {\n  defaultCollapse?: boolean\n  defaultCollapseEnd?: boolean\n}\n\nexport const CollapsibleProvider: React.FC<CollapsibleProviderProps> = ({\n  defaultCollapse = false, defaultCollapseEnd = false, children,\n}) => {\n  const [collapse, setCollapse] = useState(() => defaultCollapse)\n  const [collapseEnd, setCollapseEnd] = useState(() => defaultCollapseEnd)\n\n  const value = useMemo(() => {\n    const value: ProvidedContextExState<CollapsibleState> = {\n      collapse, collapseEnd, provided: true, setCollapse, setCollapseEnd,\n    }\n    return value\n  }, [collapse, collapseEnd])\n\n  return (\n    <CollapsibleContext value={value}>\n      {children}\n    </CollapsibleContext>\n  )\n}\n", "import type { Context } from 'react'\nimport { createContext } from 'react'\n\nimport type { EmptyObject } from './ContextExProviderProps.ts'\nimport type { ContextExState } from './State.ts'\n\nexport const createContextEx = <T extends EmptyObject>(): Context<ContextExState<T>> => {\n  const ExContext = createContext<ContextExState<T>>({ provided: false })\n  ExContext.displayName = 'ExContext'\n  return ExContext\n}\n", "import type { Context } from 'react'\nimport { use } from 'react'\n\nimport type { EmptyObject } from './ContextExProviderProps.ts'\nimport type { ContextExState } from './State.ts'\n\nexport const useContextEx = <T extends EmptyObject>(context: Context<ContextExState<T>>, contextName: string, required = true) => {\n  const { provided, ...props } = use(context)\n  if (!provided && required) {\n    throw new Error(`use${contextName} can not be used outside of a ${contextName} Context when required=true`)\n  }\n  return props\n}\n\nexport const useProvided = <T extends EmptyObject>(context: Context<ContextExState<T>>) => {\n  const { provided } = use(context)\n  return provided\n}\n", "import { createContextEx } from '../contextEx/index.ts'\nimport type { CollapsibleState } from './State.ts'\n\nexport const CollapsibleContext = createContextEx<CollapsibleState>()\n", "import { useContextEx } from '../contextEx/index.ts'\nimport { CollapsibleContext } from './context.ts'\n\nexport const useCollapsible = () => useContextEx(CollapsibleContext, 'Collapsible', false)\n", "import type { CircularProgressProps } from '@mui/material'\nimport {\n  alpha,\n  Box, CircularProgress, useTheme,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface BusyCircularProgressProps extends CircularProgressProps {\n  bgcolor?: string\n  opacity?: number | string\n  rounded?: boolean\n  size?: string | number\n}\n\nconst percentBackground = (percent: number) => `color-mix(in srgb, var(--mui-palette-background-default), transparent ${percent}%)`\n\nconst BusyCircularProgress: React.FC<BusyCircularProgressProps> = ({\n  bgcolor, style, rounded, size, opacity = 0.85, ...props\n}) => {\n  const theme = useTheme()\n  const opacityNumber = Number.parseFloat(`${opacity}`)\n  return (\n    <Box\n      style={{ borderRadius: rounded ? theme.shape.borderRadius : 0, ...style }}\n      sx={{\n        display: 'flex',\n        bgcolor: (bgcolor === undefined) ? percentBackground(opacityNumber * 100) : alpha(bgcolor, opacityNumber),\n        flexGrow: 1,\n        position: 'absolute',\n        left: 0,\n        right: 0,\n        top: 0,\n        bottom: 0,\n        justifyContent: 'center',\n        alignItems: 'center',\n        overflow: 'hidden',\n      }}\n    >\n      <CircularProgress size={size} {...props} />\n    </Box>\n  )\n}\n\nexport { BusyCircularProgress }\n", "import type { LinearProgressProps } from '@mui/material'\nimport {\n  alpha,\n  Box, LinearProgress, useTheme,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface BusyLinearProgressProps extends LinearProgressProps {\n  bgcolor?: string\n  opacity?: string | number\n  rounded?: boolean\n}\n\nconst percentBackground = (percent: number) => `color-mix(in srgb, var(--mui-palette-background-default), transparent ${percent}%)`\n\nconst BusyLinearProgress: React.FC<BusyLinearProgressProps> = ({\n  bgcolor, style, rounded, opacity = 0.85, ...props\n}) => {\n  const theme = useTheme()\n  const opacityNumber = Number.parseFloat(`${opacity}`)\n  return (\n    <Box\n      style={{ borderRadius: rounded ? theme.shape.borderRadius : 0, ...style }}\n      sx={{\n        display: 'flex',\n        flexDirection: 'column',\n        bgcolor: (bgcolor === undefined) ? percentBackground(opacityNumber * 100) : alpha(bgcolor, opacityNumber),\n        position: 'absolute',\n        left: 0,\n        right: 0,\n        top: 0,\n        bottom: 0,\n        justifyContent: 'flex-start',\n        alignItems: 'stretch',\n        overflow: 'hidden',\n      }}\n    >\n      <LinearProgress {...props} />\n    </Box>\n  )\n}\n\nexport { BusyLinearProgress }\n", "import type { BoxProps } from '@mui/material'\nimport { Box, Typography } from '@mui/material'\nimport React from 'react'\n\nconst NotFound: React.FC<BoxProps> = ({ sx, ...props }) => {\n  return (\n    <Box\n      sx={{\n        display: 'flex', flexDirection: 'column', ...sx,\n      }}\n      {...props}\n    >\n      <Typography variant=\"h2\">Sorry!</Typography>\n      <Typography\n        variant=\"body2\"\n        sx={{ marginY: 3 }}\n      >\n        {'Can\\'t find anything here'}\n      </Typography>\n    </Box>\n  )\n}\n\nexport { NotFound }\n", "import { useMediaQuery, useTheme } from '@mui/material'\n\nexport const useBreakpoint = () => {\n  const theme = useTheme()\n  const xs = useMediaQuery(theme.breakpoints.only('xs'))\n  const sm = useMediaQuery(theme.breakpoints.only('sm'))\n  const md = useMediaQuery(theme.breakpoints.only('md'))\n  const lg = useMediaQuery(theme.breakpoints.only('lg'))\n  const xl = useMediaQuery(theme.breakpoints.only('xl'))\n\n  if (xs) {\n    return 'xs'\n  } else if (sm) {\n    return 'sm'\n  } else if (md) {\n    return 'md'\n  } else if (lg) {\n    return 'lg'\n  } else if (xl) {\n    return 'xl'\n  }\n}\n", "import { useEffect, useRef } from 'react'\n\nexport const useInterval = (callback: () => void, delay: number) => {\n  const intervalRef = useRef<ReturnType<typeof globalThis.setInterval>>(undefined)\n  const savedCallbackRef = useRef(callback)\n\n  useEffect(() => {\n    savedCallbackRef.current = callback\n  }, [callback])\n\n  useEffect(() => {\n    const tick = () => savedCallbackRef.current()\n    intervalRef.current = globalThis.setInterval(tick, delay)\n\n    return () => globalThis.clearInterval(intervalRef.current)\n  }, [delay])\n\n  return intervalRef\n}\n", "import { useCallback, useState } from 'react'\n\nimport { getLocalStorageObject, setLocalStorageObject } from '../lib/index.ts'\n\nexport const useLocalStorage = <T>(key: string, defaultValue: T): [T, (value: T) => void] => {\n  const [storedValue, setStoredValue] = useState<T>(() => {\n    // Guard for SSR: `localStorage` is undefined on the server, and\n    // this initializer fires during the FIRST render. Short-circuit\n    // to defaultValue \u2014 the value will rehydrate on the first client\n    // render when localStorage is actually available.\n    if (globalThis.window === undefined) return defaultValue\n    try {\n      const item = getLocalStorageObject<T>(key)\n      if (typeof item === 'boolean' || typeof item === 'string' || typeof item === 'number') {\n        return item\n      } else if (Array.isArray(item)) {\n        return item\n      } else if (Object.keys(item as object).length > 0) {\n        return item\n      } else {\n        setLocalStorageObject(key, defaultValue)\n        return defaultValue\n      }\n    } catch {\n      // Error is already logged\n      return defaultValue\n    }\n  })\n  const setValue = useCallback(\n    (value: T) => {\n      setStoredValue(value)\n      setLocalStorageObject(key, value)\n    },\n    [setStoredValue, key],\n  )\n\n  return [storedValue, setValue]\n}\n", "import { getApiStage as baseGetApiStage } from '@xylabs/sdk-js'\n\nconst getApiStage = () => {\n  return baseGetApiStage(document.location.hostname)\n}\n\nexport { getApiStage }\n", "const isLocalhost = () =>\n  !!(\n    globalThis.location.hostname === 'localhost'\n    // [::1] is the IPv6 localhost address.\n    || globalThis.location.hostname === '[::1]'\n    // 127.0.0.0/8 are considered localhost for IPv4.\n    || /^127(?:\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d{1,2})){3}$/.test(globalThis.location.hostname)\n  )\n\nexport { isLocalhost }\n", "export interface ProfileResult {\n  endTime: number\n  name: string\n  startTime: number\n}\n\nlet logProfiling = false\n\nexport const enableProfileLogging = (enabled: boolean) => {\n  logProfiling = enabled\n}\n\nexport const profileResults: ProfileResult[] = []\n\nexport const profileBlock = async (name: string, closure: () => Promise<unknown>) => {\n  const startTime = Date.now()\n  await closure()\n  const endTime = Date.now()\n  profileResults.push({\n    endTime, name, startTime,\n  })\n  if (logProfiling) {\n    console.log(`Timed ${name} [${endTime - startTime}ms]`)\n  }\n}\n", "import type { Logger } from '@xylabs/sdk-js'\n\nexport const getLocalStorageObject = <T>(key: string, log?: Logger): T => {\n  let result = {} as T\n  try {\n    result = JSON.parse(localStorage.getItem(key) ?? '{}') as T\n  } catch (e) {\n    log?.error('getLocalStorageObject', e)\n  }\n  return result\n}\n\nexport const setLocalStorageObject = <T>(key: string, value: T, log?: Logger) => {\n  try {\n    localStorage.setItem(key, JSON.stringify(value))\n  } catch (e) {\n    log?.error('setLocalStorageObject', e)\n  }\n}\n", "import type { Logger } from '@xylabs/sdk-js'\n\nexport const getSessionStorageObject = <T>(key: string, log?: Logger): T => {\n  let result = {} as T\n  try {\n    result = JSON.parse(sessionStorage.getItem(key) ?? '{}') as T\n  } catch (e) {\n    log?.error('getSessionStorageObject', e)\n  }\n  return result\n}\n\nexport const setSessionStorageObject = <T>(key: string, value: T, log?: Logger) => {\n  try {\n    sessionStorage.setItem(key, JSON.stringify(value))\n  } catch (e) {\n    log?.error('setSessionStorageObject', e)\n  }\n}\n", "/** @deprecated  use @mui/material version instead */\nexport { useMediaQuery } from '@mui/material'\n", "import { useEffect, useState } from 'react'\n\nexport const useMounted = () => {\n  const [mounted, setMounted] = useState(true)\n  useEffect(() => {\n    // disabling since we want to actually know the mounted state of the useEffect itself\n    // eslint-disable-next-line react-hooks/set-state-in-effect, react-x/set-state-in-effect\n    setMounted(true)\n    return () => {\n      setMounted(false)\n    }\n  }, [])\n  return () => {\n    return mounted\n  }\n}\n", "import { useTheme } from '@mui/material'\n\nexport const useSpacing = (value: string | number) => {\n  const theme = useTheme()\n  return theme.spacing(typeof value === 'string' ? Number.parseInt(value) : value)\n}\n", "import { useEffect, useRef } from 'react'\n\nexport const useTimeout = (callback: () => void, delay: number) => {\n  const timeoutRef = useRef<ReturnType<typeof globalThis.setTimeout>>(undefined)\n  const savedCallbackRef = useRef(callback)\n\n  useEffect(() => {\n    savedCallbackRef.current = callback\n  }, [callback])\n\n  useEffect(() => {\n    const tick = () => savedCallbackRef.current()\n    timeoutRef.current = globalThis.setTimeout(tick, delay)\n\n    return () => globalThis.clearTimeout(timeoutRef.current)\n  }, [delay])\n\n  return timeoutRef\n}\n", "import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { useState } from 'react'\n\nlet supportsWebP: boolean | undefined\n\nexport const useWebP = (webp: string, alt: string) => {\n  const [img, setImg] = useState<string>()\n  useAsyncEffect(\n    async (mounted) => {\n      supportsWebP ??= await getSupportsWebP()\n      if (mounted()) {\n        setImg(supportsWebP ? webp : alt)\n      }\n    },\n    [alt, webp],\n  )\n  return img\n}\n\nconst getSupportsWebP = async () => {\n  return await new Promise<boolean>((resolve) => {\n    const image = new Image()\n    const onError = () => resolve(false)\n    image.addEventListener('error', onError)\n    const onLoad = () => resolve(image.width === 1)\n    image.addEventListener('load', onLoad)\n    image.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA='\n  }).catch(() => false)\n}\n", "import { useEffect, useState } from 'react'\n\nexport interface Size {\n  height?: number\n  width?: number\n}\n\nexport function useWindowSize(): Size {\n  // Guard for SSR: `window` is undefined on the server, and this\n  // initializer fires during the FIRST render (which is server-side\n  // during static prerender). Returning `{}` matches the existing\n  // optional-property shape; the resize effect will populate the real\n  // values on first client paint.\n  const [windowSize, setWindowSize] = useState<Size>(\n    globalThis.window === undefined\n      ? {}\n      : { height: window.innerHeight, width: window.innerWidth },\n  )\n\n  const handleResize = () => {\n    setWindowSize({\n      height: window.innerHeight,\n      width: window.innerWidth,\n    })\n  }\n\n  useEffect(() => {\n    window.addEventListener('resize', handleResize)\n\n    return () => window.removeEventListener('resize', handleResize)\n  }, [])\n  return windowSize\n}\n", "import type { Theme } from '@mui/material'\n\nimport type { Margin } from './BoxlikeComponentProps.ts'\n\nexport const calcSpacing = (theme: Theme, values: Margin[]) => {\n  for (const value of values) {\n    if (value !== undefined) {\n      if (typeof value === 'string') {\n        return value\n      } else if (typeof value === 'number') {\n        return theme.spacing(value)\n      }\n    }\n  }\n}\n", "import type { Theme } from '@mui/material'\n\nimport type { BoxlikeComponentProps } from './BoxlikeComponentProps.ts'\nimport { calcSpacing } from './calcSpacing.ts'\n\nconst mergeBoxlikeStyles = <T extends BoxlikeComponentProps>(theme: Theme, props: BoxlikeComponentProps, defaultProps?: BoxlikeComponentProps): T => {\n  const {\n    alignContent,\n    alignItems,\n    alignSelf,\n    bgcolor,\n    border,\n    borderColor,\n    display,\n    flexGrow,\n    flexShrink,\n    flexDirection,\n    flexWrap,\n    justifyContent,\n    justifyItems,\n    justifySelf,\n    height,\n    minHeight,\n    minWidth,\n    margin,\n    marginX,\n    marginY,\n    marginTop,\n    marginLeft,\n    marginRight,\n    marginBottom,\n    padding,\n    paddingX,\n    paddingY,\n    paddingTop,\n    paddingLeft,\n    paddingRight,\n    paddingBottom,\n    position,\n    style,\n    width,\n    ...rootProps\n  } = { ...defaultProps, ...props }\n  const mergedStyle: React.CSSProperties = {\n    alignContent,\n    alignItems,\n    alignSelf,\n    backgroundColor: bgcolor,\n    border,\n    borderColor,\n    display,\n    flexDirection,\n    flexGrow,\n    flexShrink,\n    flexWrap,\n    height,\n    justifyContent,\n    justifyItems,\n    justifySelf,\n    marginBottom: calcSpacing(theme, [marginBottom, marginY, margin]),\n    marginLeft: calcSpacing(theme, [marginLeft, marginX, margin]),\n    marginRight: calcSpacing(theme, [marginRight, marginX, margin]),\n    marginTop: calcSpacing(theme, [marginTop, marginY, margin]),\n    minHeight,\n    minWidth,\n    paddingBottom: calcSpacing(theme, [paddingBottom, paddingY, padding]),\n    paddingLeft: calcSpacing(theme, [paddingLeft, paddingX, padding]),\n    paddingRight: calcSpacing(theme, [paddingRight, paddingX, padding]),\n    paddingTop: calcSpacing(theme, [paddingTop, paddingY, padding]),\n    position,\n    width,\n    ...style,\n  }\n  return {\n    ...rootProps,\n    style: mergedStyle,\n  } as T\n}\n\nexport { mergeBoxlikeStyles }\n"],
  "mappings": "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",
  "names": ["value", "jsx", "alpha", "Box", "useTheme", "jsx", "percentBackground", "Box", "jsx", "useTheme", "useState", "useState", "useMediaQuery", "useEffect", "useState", "useTheme", "useEffect", "useRef", "useState", "useEffect", "useState"]
}
