{
  "version": 3,
  "sources": ["../../src/settings/DefaultMapSettings.ts", "../../src/AnimatedHeatMapSettings.ts", "../../src/contexts/MapboxAccessToken/Context.ts", "../../src/contexts/MapboxAccessToken/Provider.tsx", "../../src/contexts/MapboxAccessToken/use.ts", "../../src/hooks/useFindHashes.tsx", "../../src/hooks/useHeatMapColors.tsx", "../../src/lib/MapStyle.ts", "../../src/types/NetworkLocationAnswerBase.ts"],
  "sourcesContent": ["import type { MapSetting } from './MapSetting.ts'\n\nexport const DefaultMapSettings: () => MapSetting = () => ({\n  debugLayer: {\n    devMode: true,\n    field: 'debugLayer',\n    hidden: true,\n    label: 'Debug Layer',\n    value: false,\n  },\n  debugLogging: {\n    devMode: true,\n    field: 'debugLogging',\n    hidden: true,\n    label: 'Debug Logging',\n    value: false,\n  },\n  dynamicMapResize: {\n    devMode: true,\n    field: 'dynamicMapResize',\n    hidden: true,\n    label: 'Auto Map Resize',\n    value: true,\n  },\n  enableControls: {\n    devMode: true,\n    field: 'enableControls',\n    hidden: true,\n    label: 'Map Controls',\n    value: false,\n  },\n  fitToPoints: {\n    devMode: true,\n    field: 'fitToPoints',\n    hidden: true,\n    label: 'Fit To Points',\n    value: false,\n  },\n  preferDark: {\n    devMode: false,\n    field: 'preferDark',\n    hidden: true,\n    label: 'Prefer dark',\n    value: false,\n  },\n  scrollToZoom: {\n    devMode: true,\n    field: 'scrollToZoom',\n    hidden: true,\n    label: 'Scroll To Zoom',\n    value: false,\n  },\n})\n", "import { DefaultMapSettings } from './settings/index.ts'\n\nexport const AnimatedHeatMapSettings = DefaultMapSettings()\nconst {\n  debugLayer, scrollToZoom, fitToPoints, preferDark,\n} = AnimatedHeatMapSettings\ndebugLayer.hidden = false\nscrollToZoom.value = true\nfitToPoints.value = false\npreferDark.value = true\n", "import { createContextEx } from '@xylabs/react-shared'\n\nimport type { MapboxAccessTokenContextState } from './State.ts'\n\nexport const MapboxAccessTokenContext = createContextEx<MapboxAccessTokenContextState>()\n", "import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { MapboxAccessTokenContext } from './Context.ts'\nimport type { MapboxAccessTokenContextState } from './State.ts'\n\nexport interface MapboxAccessTokenProviderProps {\n  defaultAccessToken?: string\n}\n\nexport const MapboxAccessTokenProvider: React.FC<PropsWithChildren<MapboxAccessTokenProviderProps>> = ({ defaultAccessToken, ...props }) => {\n  const [accessToken, setAccessToken] = useState<string>()\n\n  const value: MapboxAccessTokenContextState = useMemo(() => ({\n    accessToken: accessToken ?? defaultAccessToken, provided: true, setAccessToken,\n  }), [accessToken, defaultAccessToken, setAccessToken])\n\n  return (\n    <MapboxAccessTokenContext\n      value={value}\n      {...props}\n    />\n  )\n}\n", "import { useContextEx } from '@xylabs/react-shared'\n\nimport { MapboxAccessTokenContext } from './Context.ts'\n\nexport const useMapboxAccessToken = (required = false) => {\n  return useContextEx(MapboxAccessTokenContext, 'MapboxAccessToken', required)\n}\n", "import type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistPreset } from '@xyo-network/react-network'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { useMemo } from 'react'\n\nconst animatedAnswerHashesConst = [\n  '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n  '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n  'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n  '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n  'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n  '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n  '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n  '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n  '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n  '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n  '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e,',\n] as Hash[]\n\nconst staticAnswerHashConst = 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5' as Hash\n\nexport const useFindHashes = () => {\n  const { network } = useNetwork()\n  const exploreMapHashes = (network?.nodes?.find(node => node.type === 'archivist') as ArchivistPreset)?.explorerMapHashes\n  const animatedAnswerHashes = exploreMapHashes?.animatedAnswerHashes || animatedAnswerHashesConst\n  const staticAnswerHash = exploreMapHashes?.staticAnswerHash || staticAnswerHashConst\n  const foundHashes = useMemo(() => [staticAnswerHash, ...animatedAnswerHashes], [animatedAnswerHashes, staticAnswerHash])\n  return foundHashes\n}\n", "import { useTheme } from '@mui/material'\n\nimport type { AnimatedHeatMapColorProps, ColorGradientLegendProps } from '../colors/index.ts'\n\nconst useHeatMapColors = () => {\n  const theme = useTheme()\n  const staticMapColor = '#FFFF75'\n  const highUsageColor = '#FF0000'\n\n  const heatMapColorProps: AnimatedHeatMapColorProps = {\n    highUsageColor,\n    lowUsageColor: '#FFB3B3',\n    staticMapColor,\n  }\n\n  const legendProps: ColorGradientLegendProps = {\n    endColor: highUsageColor,\n    endLabel: 'High',\n    heading: 'Network Usage',\n    startColor: staticMapColor,\n    startLabel: 'Low',\n    textColor: theme.vars.palette.common.white,\n  }\n\n  return { heatMapColorProps, legendProps }\n}\n\nexport { useHeatMapColors }\n", "import type { EnumValue } from '@xylabs/sdk-js'\nimport { Enum } from '@xylabs/sdk-js'\n\nexport const MapStyle = Enum({\n  Dark: 'mapbox/dark-v10',\n  Light: 'mapbox/light-v10',\n  Outdoors: 'mapbox/outdoors-v11',\n  Satellite: 'mapbox/satellite-v9',\n  SatelliteStreets: 'mapbox/satellite-streets-v11',\n  Streets: 'mapbox/streets-v11',\n})\n\nexport type MapStyle = EnumValue<typeof MapStyle>\n", "import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\nimport type {\n  Feature, Point, Polygon,\n} from 'geojson'\n\nexport interface NetworkLocationAnswerBase<T> {\n  result: T\n}\n\nexport const NetworkLocationAnswerSchema = asSchema('network.xyo.location.range.answer', true)\nexport type NetworkLocationAnswerSchema = typeof NetworkLocationAnswerSchema\nexport type NetworkLocationAnswerPayload = Payload<NetworkLocationAnswerBase<{ features: Feature<Point>[] }>, NetworkLocationAnswerSchema>\nexport const isNetworkLocationAnswer = isPayloadOfSchemaType<NetworkLocationAnswerPayload>(NetworkLocationAnswerSchema)\n\nexport const NetworkLocationHeatmapAnswerSchema = asSchema('network.xyo.location.heatmap.answer', true)\nexport type NetworkLocationHeatmapAnswerSchema = typeof NetworkLocationHeatmapAnswerSchema\nexport type NetworkLocationHeatmapAnswerPayload = Payload<\n  NetworkLocationAnswerBase<{ features: Feature<Polygon>[] }>,\n  NetworkLocationHeatmapAnswerSchema\n>\nexport const isNetworkLocationHeatmapAnswer = isPayloadOfSchemaType<NetworkLocationHeatmapAnswerPayload>(NetworkLocationHeatmapAnswerSchema)\n\nexport const NetworkLocationHeatmapQuadkeyAnswerSchema = asSchema('network.xyo.location.heatmap.quadkey.answer', true)\nexport type NetworkLocationHeatmapQuadkeyAnswerSchema = typeof NetworkLocationHeatmapQuadkeyAnswerSchema\nexport type NetworkLocationHeatmapQuadkeyAnswerPayload = Payload<\n  NetworkLocationAnswerBase<{ density: number; quadkey: string }[]>,\n  NetworkLocationHeatmapQuadkeyAnswerSchema\n>\nexport const isNetworkLocationHeatmapQuadkeyAnswer = isPayloadOfSchemaType<NetworkLocationHeatmapQuadkeyAnswerPayload>(\n  NetworkLocationHeatmapQuadkeyAnswerSchema,\n)\n"],
  "mappings": "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",
  "names": ["useMemo"]
}
