{
  "version": 3,
  "sources": ["../../src/modules/witness/components/Card/Card.tsx", "../../src/modules/witness/components/Card/CardActions.tsx", "../../src/modules/witness/components/Card/CardContent.tsx", "../../src/modules/witness/components/Card/CardHeader.tsx", "../../src/modules/witness/hooks/node/useWeakWitnessesFromNode.tsx", "../../src/modules/witness/hooks/node/useWeakWitnessFromNode.tsx", "../../src/modules/witness/hooks/node/useWitnessesFromNode.tsx", "../../src/modules/witness/hooks/node/useWitnessFromNode.tsx"],
  "sourcesContent": ["import { usePromise } from '@ariestools/sdk-react/promise'\nimport type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { WitnessInstance } from '@xyo-network/sdk'\nimport React, { useState } from 'react'\n\nimport type { ModuleRenderProps } from '#module'\n\nimport { WitnessCardActions } from './CardActions.tsx'\nimport { WitnessCardContent } from './CardContent.tsx'\nimport { WitnessCardHeader } from './CardHeader.tsx'\n\n/** Card UI for a witness module that can trigger observe and show results. */\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({\n  children, mod, ...props\n}) => {\n  const [retry, setRetry] = useState(-1)\n  const [observation] = usePromise(async () => {\n    if (retry >= 0) {\n      return await mod?.observe()\n    }\n  }, [mod, retry])\n  return (\n    <Card {...props}>\n      <WitnessCardHeader mod={mod} />\n      <WitnessCardContent mod={mod} observation={observation} />\n      {children}\n      <WitnessCardActions mod={mod} onObserve={() => setRetry(retry + 1)} />\n    </Card>\n  )\n}\n", "import { ButtonEx } from '@ariestools/sdk-react/button'\nimport type { CardActionsProps } from '@mui/material'\nimport type { WitnessInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '#module'\nimport { ModuleCardActions } from '#module'\n\n/** Props for {@link WitnessCardActions}. */\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance>\n  & CardActionsProps & {\n    onObserve?: (mod?: WitnessInstance) => void\n  }\n\n/** Card actions for a witness, including an Observe button. */\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({\n  onObserve, mod, ...props\n}) => {\n  return (\n    <ModuleCardActions mod={mod} {...props}>\n      <ButtonEx onClick={() => onObserve?.(mod)} size=\"small\" variant=\"outlined\">\n        Observe\n      </ButtonEx>\n    </ModuleCardActions>\n  )\n}\n", "import { FlexGrowRow } from '@ariestools/sdk-react/flexbox'\nimport type { CardContentProps } from '@mui/material'\nimport type { Payload, WitnessInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '#module'\nimport { ModuleCardContent } from '#module'\nimport { JsonViewerEx } from '#payload-raw-info'\n\n/** Props for {@link WitnessCardContent}. */\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance>\n  & CardContentProps & {\n    observation?: Payload[]\n  }\n\n/** Card content that displays witness observation payloads as JSON. */\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({\n  children, observation, mod, ...props\n}) => {\n  return (\n    <ModuleCardContent mod={mod} {...props}>\n      <FlexGrowRow\n        sx={{\n          flexWrap: 'wrap',\n          justifyContent: 'start',\n          gap: 2,\n        }}\n      >\n        {observation\n          ? <JsonViewerEx value={observation} />\n          : null}\n        {children}\n      </FlexGrowRow>\n    </ModuleCardContent>\n  )\n}\n", "import type { CardHeaderProps } from '@mui/material'\nimport type { WitnessInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '#module'\nimport { ModuleCardHeader } from '#module'\n\n/** Card header for a witness module, defaulting the title to the module name. */\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({\n  title, mod, ...props\n}) => {\n  return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Witness'} {...props} />\n}\n", "import { exists } from '@ariestools/sdk'\nimport type { ModuleIdentifier, WitnessInstance } from '@xyo-network/sdk'\nimport { asWitnessInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from '#node'\nimport { useWeakModulesFromNode } from '#node'\n\n/** Resolves multiple witnesses from the current node as WeakRefs. */\nexport const useWeakWitnessesFromNode = (\n  ids?: ModuleIdentifier[],\n  config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n  const [modules, error] = useWeakModulesFromNode(ids, config)\n  if (error) {\n    return [null, error]\n  }\n  return [\n    modules\n      ?.map((mod) => {\n        const instance = asWitnessInstance(mod?.deref())\n        if (instance) {\n          return new WeakRef(instance)\n        }\n      })\n      .filter(exists) ?? [],\n    undefined,\n  ]\n}\n", "import type { WitnessInstance } from '@xyo-network/sdk'\nimport { isWitnessInstance } from '@xyo-network/sdk'\n\nimport type { WeakModuleFromNodeConfig } from '#node'\nimport { useWeakModuleFromNode } from '#node'\n\n/** Resolves a witness from the current node as a WeakRef. */\nexport const useWeakWitnessFromNode = (\n  nameOrAddressOrInstance?: string | WitnessInstance,\n  config?: WeakModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n  return useWeakModuleFromNode<WitnessInstance>(nameOrAddressOrInstance, { identity: isWitnessInstance, ...config })\n}\n", "import type { ModuleIdentifier, WitnessInstance } from '@xyo-network/sdk'\nimport { isWitnessInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from '#node'\nimport { useModulesFromNode } from '#node'\n\n/** Resolves multiple witness module instances from the current node. */\nexport const useWitnessesFromNode = (\n  ids?: ModuleIdentifier[],\n  config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n  const [modules, error] = useModulesFromNode(ids, config)\n  if (error) {\n    return [null, error]\n  }\n  return modules\n    ? [\n\n        modules.reduce<WitnessInstance[]>((prev, mod) => {\n          if (isWitnessInstance(mod)) {\n            prev.push(mod)\n          }\n          return prev\n        }, []),\n        undefined,\n      ]\n    : [modules, error]\n}\n", "import type { WitnessInstance } from '@xyo-network/sdk'\nimport { asWitnessInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from '#node'\nimport { useModuleFromNode } from '#node'\n\n/** Resolves a witness module instance from the current node. */\nexport const useWitnessFromNode = (\n  nameOrAddressOrInstance?: string | WitnessInstance,\n  config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n  const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n  const instance = asWitnessInstance(mod)\n  if (mod && !instance) {\n    const error = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n    console.error(error.message)\n    return [undefined, error]\n  }\n  return [instance, error]\n}\n"],
  "mappings": "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",
  "names": ["jsx", "jsx", "jsx", "jsxs", "isWitnessInstance", "asWitnessInstance", "error"]
}
