{
  "version": 3,
  "sources": ["../../src/modules/node/components/NodeDescriptionBox.tsx", "../../src/modules/node/hooks/getModuleFilterOptions.ts", "../../src/modules/node/hooks/getWeakModuleFilterOptions.ts", "../../src/modules/node/hooks/ModuleFromNodeConfig.ts", "../../src/modules/node/hooks/provided/useProvidedNode.tsx", "../../src/modules/node/hooks/provided/useWeakProvidedNode.tsx", "../../src/modules/node/hooks/useModuleFromNode.ts", "../../src/modules/node/hooks/useNode.ts", "../../src/modules/node/hooks/useNodeConfigNodeField.ts", "../../src/modules/node/hooks/useModulesFromNode.ts", "../../src/modules/node/hooks/useNodeDescription.ts", "../../src/modules/node/hooks/useNodeFromNode.tsx", "../../src/modules/node/hooks/useNodesFromNode.tsx", "../../src/modules/node/hooks/useWeakModuleFromNode.ts", "../../src/modules/node/hooks/useWeakNode.ts", "../../src/modules/node/hooks/useWeakNodeConfigNodeField.ts", "../../src/modules/node/hooks/WeakModuleFromNodeConfig.ts", "../../src/modules/node/hooks/useWeakModulesFromNode.ts", "../../src/modules/node/hooks/useWeakNodeDescription.ts", "../../src/modules/node/hooks/useWeakNodeFromNode.tsx", "../../src/modules/node/components/Node.tsx", "../../src/modules/node/components/NodeDrawer.tsx", "../../src/modules/node/components/render/ModuleDescriptionBox.tsx", "../../src/modules/node/components/render/RenderModule.tsx", "../../src/modules/node/index.ts"],
  "sourcesContent": ["import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport type { NodeInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { useWeakNodeDescription } from '../hooks/index.ts'\n\n/** Props for {@link NodeDescriptionBox}. */\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n  node?: string | WeakRef<NodeInstance>\n}\n\n/** Displays a node's module description payload as formatted JSON. */\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n  const [description, error] = useWeakNodeDescription({ node })\n\n  return (\n    <FlexCol {...props}>\n      <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n    </FlexCol>\n  )\n}\n", "import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\n/** Extracts module filter fields (`direction`, `identity`, `maxDepth`) from config. */\nexport const getModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n  const {\n    direction, identity, maxDepth,\n  } = config ?? {}\n  return {\n    direction, identity, maxDepth,\n  }\n}\n", "import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n/** Extracts module filter fields from a {@link WeakModuleFromNodeConfig}. */\nexport const getWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n  const {\n    direction, identity, maxDepth,\n  } = config ?? {}\n  return {\n    direction, identity, maxDepth,\n  }\n}\n", "import type { Logger } from '@ariestools/sdk'\nimport type {\n  ModuleFilterOptions, ModuleInstance, NodeInstance,\n} from '@xyo-network/sdk'\n\n/** Options for resolving modules from a node, including optional logger and node override. */\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n  logger?: Logger\n  node?: NodeInstance | string\n}\n\n/** Returns the optional logger from a {@link ModuleFromNodeConfig}. */\nexport const getModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n  return config?.logger\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { use } from 'react'\n\nimport { NodeContext } from '#node-context'\n\n/** Returns the {@link NodeInstance} from {@link NodeContext}. */\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n  const { node } = use(NodeContext)\n  return [node]\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { use, useMemo } from 'react'\n\nimport { NodeContext } from '#node-context'\n\n/** Returns a weak reference to the {@link NodeInstance} from {@link NodeContext}. */\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n  const { node } = use(NodeContext)\n  const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n  return [weakNode]\n}\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport { isModuleInstance } from '@xyo-network/sdk'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { getModuleFromNodeConfigLogger } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/**\n * Resolves a module by name, address, or instance from the active node.\n * @deprecated use useWeakModuleFromNode\n */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n  nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance),\n  config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n  const [node, nodeError] = useNode(config)\n  const logger = getModuleFromNodeConfigLogger(config)\n  const filterOptions = getModuleFilterOptions(config)\n  const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n  const [, error] = usePromise(async () => {\n    logger?.debug('useModuleFromNode: resolving')\n    const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n      T extends ModuleInstance ? T : ModuleInstance\n    >\n    if (node && nameOrAddressOrInstance) {\n      node.on('moduleAttached', ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n        if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n          setResult(identity(mod) ? (mod) : undefined)\n        }\n      })\n      node.on('moduleDetached', ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n        if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n          setResult(undefined)\n        }\n      })\n      if (identity(nameOrAddressOrInstance)) {\n        setResult(nameOrAddressOrInstance)\n      } else {\n        const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n        logger?.debug(`Result: ${result?.address}`)\n        setResult(identity(result) ? (result) : undefined)\n      }\n      return result\n    }\n    logger?.debug('Result: No Node')\n  }, [node, nameOrAddressOrInstance])\n  return [result, nodeError ?? error]\n}\n", "import { usePromise } from '@ariestools/sdk-react/promise'\nimport type { NodeInstance } from '@xyo-network/sdk'\nimport { asNodeInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useProvidedNode } from './provided/index.ts'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField.ts'\n\n/** Resolves the active node from config override, address, or the provided node context. */\nexport const useNode = (config?: ModuleFromNodeConfig): [NodeInstance | undefined, Error | undefined] => {\n  const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n  const [providedNode] = useProvidedNode()\n  const [nodeAddressNode, error] = usePromise(async () => {\n    if (providedNode && nodeAddress) {\n      return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n    }\n  }, [providedNode, nodeAddress])\n  return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { useMemo } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\n/** Splits a config `node` field into an address string or node instance. */\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig): [string | undefined, NodeInstance | undefined] => {\n  const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n  const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n  return [nodeAddress, nodeInstance]\n}\n", "import { exists } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/sdk'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/**\n * Resolves multiple modules by id from the active node, refreshing on attach/detach.\n * @deprecated use useWeakModulesFromNode\n */\nexport const useModulesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n  const [node, nodeError] = useNode(config)\n  const logger = config?.logger\n  const filterOptions = getModuleFilterOptions()\n  const [result, setResult] = useState<ModuleInstance[] | undefined>()\n  const [, error] = usePromise(async () => {\n    logger?.debug('useModuleFromNode: resolving')\n    if (node) {\n      const refreshModules = async () => {\n        const moduleInstances = ids\n          ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n          : await node.resolve('*', filterOptions)\n        setResult(moduleInstances)\n        return moduleInstances\n      }\n      node.on('moduleAttached', async ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n        await refreshModules()\n      })\n      node.on('moduleDetached', async ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n        await refreshModules()\n      })\n      return await refreshModules()\n    }\n    console.log('Result: No Node')\n  }, [node, ids])\n  return [result, nodeError ?? error]\n}\n", "import { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/sdk'\nimport { isPayloadOfSchemaType, ModuleDescriptionSchema } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** Loads the {@link ModuleDescription} payload from the active node's state. */\nexport const useNodeDescription = (config?: ModuleFromNodeConfig): [ModuleDescription | undefined, Error | undefined] => {\n  const [activeNode, nodeError] = useNode(config)\n  const [description, error] = usePromise(async () => {\n    const state = await activeNode?.state()\n    return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n  }, [activeNode])\n  return [description, nodeError ?? error]\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { asNodeInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFromNode } from './useModuleFromNode.ts'\n\n/**\n * Resolves a child node by name, address, or instance from the active node.\n * @deprecated use useWeakNodeFromNode instead\n */\nexport const useNodeFromNode = (\n  nameOrAddressOrInstance?: string | NodeInstance,\n  config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n  const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n  const instance = asNodeInstance(mod)\n  if (mod && !instance) {\n    const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n    console.error(error.message)\n    return [undefined, error]\n  }\n  return [instance, error]\n}\n", "import type { ModuleIdentifier, NodeInstance } from '@xyo-network/sdk'\nimport { isNodeInstance } from '@xyo-network/sdk'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModulesFromNode } from './useModulesFromNode.ts'\n\n/**\n * Resolves modules by id and filters them to {@link NodeInstance} values.\n * @deprecated use useWeakNodesFromNode\n */\nexport const useNodesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [NodeInstance[] | 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<NodeInstance[]>((prev, mod) => {\n          if (isNodeInstance(mod)) {\n            prev.push(mod)\n          }\n          return prev\n        }, []),\n        undefined,\n      ]\n    : [modules, error]\n}\n", "import type { TypeCheck } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport { isModuleInstance } from '@xyo-network/sdk'\nimport { useState } from 'react'\n\nimport { getWeakModuleFilterOptions } from './getWeakModuleFilterOptions.ts'\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\nimport { getWeakModuleFromNodeConfigLogger } from './WeakModuleFromNodeConfig.ts'\n\n/** Resolves a module from a weak node ref by name, address, or instance. */\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n  nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance),\n  config?: WeakModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n  const [node, nodeError] = useWeakNode(config)\n  const logger = getWeakModuleFromNodeConfigLogger(config)\n  const filterOptions = getWeakModuleFilterOptions(config)\n  const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n  const [, error] = usePromise(async () => {\n    logger?.debug('useModuleFromNode: resolving')\n    const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n      T extends ModuleInstance ? T : ModuleInstance\n    >\n    const nodeInstance = node?.deref()\n    if (nodeInstance && nameOrAddressOrInstance) {\n      nodeInstance.on('moduleAttached', ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n        if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n          setResult(identity(mod) ? new WeakRef(mod) : undefined)\n        }\n      })\n      nodeInstance.on('moduleDetached', ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n        if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n          setResult(undefined)\n        }\n      })\n      if (identity(nameOrAddressOrInstance)) {\n        setResult(new WeakRef(nameOrAddressOrInstance))\n      } else {\n        const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n        logger?.debug(`Result: ${result?.address}`)\n        setResult(identity(result) ? new WeakRef(result) : undefined)\n      }\n      return result\n    }\n    logger?.debug('Result: No Node')\n  }, [node, nameOrAddressOrInstance])\n  return [result, nodeError ?? error]\n}\n", "import { isDefined } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { NodeInstance } from '@xyo-network/sdk'\nimport { asNodeInstance } from '@xyo-network/sdk'\n\nimport { useWeakProvidedNode } from './provided/index.ts'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n/** Resolves the active node as a weak reference from config or provided context. */\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n  const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n  const [providedNode] = useWeakProvidedNode()\n  const [nodeAddressNode, error] = usePromise(async () => {\n    const providedNodeInstance = providedNode?.deref()\n    if (providedNodeInstance && isDefined(nodeAddress)) {\n      return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), () => 'Module is not a node', { required: true }))\n    }\n  }, [providedNode, nodeAddress])\n  return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { useMemo } from 'react'\n\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n/** Splits a weak-config `node` field into an address string or weak node ref. */\nexport const useWeakNodeConfigNodeField = (\n  config?: WeakModuleFromNodeConfig,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n  const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n  const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n  return [nodeAddress, nodeInstance]\n}\n", "import type { Logger } from '@ariestools/sdk'\nimport type { ModuleFilterOptions, NodeInstance } from '@xyo-network/sdk'\n\n/** Options for resolving modules via weak node refs, including optional logger and node override. */\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n  logger?: Logger\n  node?: WeakRef<NodeInstance> | string\n}\n\n/** Returns the optional logger from a {@link WeakModuleFromNodeConfig}. */\nexport const getWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n  return config?.logger\n}\n", "import { exists } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/sdk'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** Resolves modules by id and returns them as weak references, refreshing on attach/detach. */\nexport const useWeakModulesFromNode = (\n  ids?: ModuleIdentifier[],\n  config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n  const [node, nodeError] = useNode(config)\n  const logger = config?.logger\n  const filterOptions = getModuleFilterOptions()\n  const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n  const [, error] = usePromise(async () => {\n    logger?.debug('useModuleFromNode: resolving')\n    const nodeInstance = node\n    if (nodeInstance) {\n      const refreshModules = async () => {\n        const moduleInstances = ids\n          ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n          : await node.resolve('*', filterOptions)\n        setResult(moduleInstances.map(mod => new WeakRef(mod)))\n        return moduleInstances\n      }\n      nodeInstance.on('moduleAttached', async ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n        await refreshModules()\n      })\n      nodeInstance.on('moduleDetached', async ({ mod }) => {\n        logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n        await refreshModules()\n      })\n      return await refreshModules()\n    }\n    console.log('Result: No Node')\n  }, [node, ids])\n  return [result, nodeError ?? error]\n}\n", "import { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/sdk'\nimport { isPayloadOfSchemaType, ModuleDescriptionSchema } from '@xyo-network/sdk'\n\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n/** Loads the {@link ModuleDescription} payload from a weak-referenced node's state. */\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig): [ModuleDescription | undefined, Error | undefined] => {\n  const [activeNode, nodeError] = useWeakNode(config)\n  const [description, error] = usePromise(async () => {\n    const state = await activeNode?.deref()?.state()\n    return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n  }, [activeNode])\n  return [description, nodeError ?? error]\n}\n", "import type { NodeInstance } from '@xyo-network/sdk'\nimport { isNodeInstance } from '@xyo-network/sdk'\n\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n/** Resolves a child node as a weak reference by name, address, or instance. */\nexport const useWeakNodeFromNode = (\n  nameOrAddressOrInstance?: string | NodeInstance,\n  config?: WeakModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n  return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport type { NodeInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox.tsx'\n\n/** Props for {@link NodeBox}. */\nexport interface NodeBoxProps extends FlexBoxProps {\n  node?: string | WeakRef<NodeInstance>\n  variant?: 'description'\n}\n\n/** Flex box that renders a node's description for the selected display variant. */\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n  switch (variant) {\n    // eslint-disable-next-line unicorn/no-useless-switch-case\n    case 'description':\n    default: {\n      return <NodeDescriptionBox {...props} />\n    }\n  }\n}\n", "import { FlexGrowCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Close as CloseIcon } from '@mui/icons-material'\nimport type { DrawerProps } from '@mui/material'\nimport {\n  ClickAwayListener, Drawer, IconButton,\n} from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { useNodeDrawer } from '#node-provider'\n\nimport { useWeakProvidedNode } from '../hooks/index.ts'\nimport { ModuleDescriptionBox } from './render/index.ts'\n\n/** Props for {@link NodeDrawer}. */\nexport interface NodeDrawerProps extends PropsWithChildren, Omit<DrawerProps, 'open'> {}\n\n/** Right-side drawer showing the provided node's module description tree. */\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n  const { open, setOpen } = useNodeDrawer()\n  const [node] = useWeakProvidedNode()\n\n  return (\n    <Drawer open={open ?? false} anchor=\"right\" {...props}>\n      <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n        <FlexGrowCol\n          role=\"presentation\"\n          sx={{\n            justifyContent: 'start',\n            p: 2,\n            rowGap: 2,\n            minWidth: '33vw',\n          }}\n        >\n          <FlexRow\n            sx={{\n              alignContent: 'start',\n              justifyContent: 'start',\n              width: '100%',\n            }}\n          >\n            <IconButton onClick={() => setOpen?.(false)}>\n              <CloseIcon />\n            </IconButton>\n          </FlexRow>\n          <ModuleDescriptionBox mod={node} />\n          {children}\n        </FlexGrowCol>\n      </ClickAwayListener>\n    </Drawer>\n  )\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { SimpleTreeView } from '@mui/x-tree-view'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { RenderModule } from './RenderModule.tsx'\n\n/** Props for {@link ModuleDescriptionBox}. */\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n  mod?: WeakRef<ModuleInstance> | null\n}\n\n/** Tree view of a module's address, queries, and nested children. */\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {\n  return (\n    <>\n      {mod\n        ? (\n            <>\n              <Typography variant=\"h4\">Node Configuration</Typography>\n              <StyledTreeView\n                aria-label=\"file system navigator\"\n                slots={{ collapseIcon: ExpandMoreIcon, expandIcon: ChevronRightIcon }}\n                sx={{ flexGrow: 1 }}\n              >\n                <RenderModule mod={mod} />\n              </StyledTreeView>\n            </>\n          )\n        : mod === null\n          ? <Typography variant=\"h4\">Node loading...</Typography>\n          : <Typography variant=\"h4\">Node not found</Typography>}\n    </>\n  )\n}\n\nconst StyledTreeView = styled(SimpleTreeView, { name: 'StyledTreeView' })(() => ({\n  height: 'auto',\n  maxWidth: 'auto',\n}))\n", "import { useAsyncEffect } from '@ariestools/sdk-react/async-effect'\nimport { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport React, { useState } from 'react'\n\n/** Recursive tree item that shows a module's queries and child modules. */\nexport const RenderModule: React.FC<{\n  mod: WeakRef<ModuleInstance>\n}> = ({ mod }) => {\n  const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n  useAsyncEffect(\n\n    async (mounted) => {\n      const moduleInstance = mod.deref()\n      const { address } = moduleInstance ?? {}\n      if (moduleInstance) {\n        const children = (await moduleInstance.resolve('*')).filter(childModule => childModule.address !== address)\n        if (mounted()) {\n          setChildModules(children.map(childModule => new WeakRef(childModule)))\n        }\n      }\n    },\n    [mod],\n  )\n\n  const moduleInstance = mod.deref()\n  const { queries, address } = moduleInstance ?? {}\n  const baseId = address ?? 'unknown'\n\n  return (\n    <StyledAddressTreeItem itemId={baseId} label={`address: ${address}`}>\n      {queries?.map((query, index) => {\n        return (\n          <TreeItem\n            key={query}\n            itemId={`${baseId}-query-${query}`}\n            label={`query : ${query}`}\n            sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }}\n          />\n        )\n      })}\n      {childModules && childModules.length > 0\n        ? (\n            <TreeItem itemId={`${baseId}-children`} label=\"children\" sx={{ mb: 0.5 }}>\n              {childModules.map((childModuleRef) => {\n                const childModule = childModuleRef.deref()\n                return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} /> : null\n              })}\n            </TreeItem>\n          )\n        : null}\n    </StyledAddressTreeItem>\n  )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => (\n  { '& .MuiTreeItem-content': { marginBottom: theme.spacing(0.25) } }\n))\n", "export * from './components/index.ts'\nexport * from './hooks/index.ts'\nexport * from '#node-context'\nexport * from '#node-provider'\n"],
  "mappings": ";AACA,SAAS,eAAe;;;ACEjB,IAAM,yBAAyB,CAAC,WAAkC;AACvE,QAAM;AAAA,IACJ;AAAA,IAAW;AAAA,IAAU;AAAA,EACvB,IAAI,UAAU,CAAC;AACf,SAAO;AAAA,IACL;AAAA,IAAW;AAAA,IAAU;AAAA,EACvB;AACF;;;ACPO,IAAM,6BAA6B,CAAC,WAAsC;AAC/E,QAAM;AAAA,IACJ;AAAA,IAAW;AAAA,IAAU;AAAA,EACvB,IAAI,UAAU,CAAC;AACf,SAAO;AAAA,IACL;AAAA,IAAW;AAAA,IAAU;AAAA,EACvB;AACF;;;ACEO,IAAM,gCAAgC,CAAC,WAAkC;AAC9E,SAAO,QAAQ;AACjB;;;ACbA,SAAS,WAAW;AAEpB,SAAS,mBAAmB;AAGrB,IAAM,kBAAkB,MAAyC;AACtE,QAAM,EAAE,KAAK,IAAI,IAAI,WAAW;AAChC,SAAO,CAAC,IAAI;AACd;;;ACRA,SAAS,OAAAA,MAAK,eAAe;AAE7B,SAAS,eAAAC,oBAAmB;AAGrB,IAAM,sBAAsB,MAAkD;AACnF,QAAM,EAAE,KAAK,IAAID,KAAIC,YAAW;AAChC,QAAM,WAAW,QAAQ,MAAO,OAAO,IAAI,QAAQ,IAAI,IAAI,MAAO,CAAC,IAAI,CAAC;AACxE,SAAO,CAAC,QAAQ;AAClB;;;ACTA,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;;;ACJzB,SAAS,kBAAkB;AAE3B,SAAS,sBAAsB;;;ACD/B,SAAS,WAAAC,gBAAe;AAKjB,IAAM,yBAAyB,CAAC,WAAkF;AACvH,QAAM,cAAcA,SAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,eAAeA,SAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADDO,IAAM,UAAU,CAAC,WAAiF;AACvG,QAAM,CAAC,aAAa,YAAY,IAAI,uBAAuB,MAAM;AACjE,QAAM,CAAC,YAAY,IAAI,gBAAgB;AACvC,QAAM,CAAC,iBAAiB,KAAK,IAAI,WAAW,YAAY;AACtD,QAAI,gBAAgB,aAAa;AAC/B,aAAO,eAAe,MAAM,aAAa,QAAQ,WAAW,GAAG,sBAAsB;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;ADHO,IAAM,oBAAoB,CAC/B,yBACA,WACqF;AACrF,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,8BAA8B,MAAM;AACnD,QAAM,gBAAgB,uBAAuB,MAAM;AACnD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAsE;AAClG,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,UAAM,WAAsE,QAAQ,YAAY;AAGhG,QAAI,QAAQ,yBAAyB;AACnC,WAAK,GAAG,kBAAkB,CAAC,EAAE,IAAI,MAAM;AACrC,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,YAAI,IAAI,YAAY,2BAA2B,IAAI,QAAQ,SAAS,yBAAyB;AAC3F,oBAAU,SAAS,GAAG,IAAK,MAAO,MAAS;AAAA,QAC7C;AAAA,MACF,CAAC;AACD,WAAK,GAAG,kBAAkB,CAAC,EAAE,IAAI,MAAM;AACrC,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,YAAI,IAAI,YAAY,2BAA2B,IAAI,QAAQ,SAAS,yBAAyB;AAC3F,oBAAU,MAAS;AAAA,QACrB;AAAA,MACF,CAAC;AACD,UAAI,SAAS,uBAAuB,GAAG;AACrC,kBAAU,uBAAuB;AAAA,MACnC,OAAO;AACL,cAAMC,UAAS,MAAM,KAAK,QAAQ,yBAAyB,aAAa;AACxE,gBAAQ,MAAM,WAAWA,SAAQ,OAAO,EAAE;AAC1C,kBAAU,SAASA,OAAM,IAAKA,UAAU,MAAS;AAAA,MACnD;AACA,aAAO;AAAA,IACT;AACA,YAAQ,MAAM,iBAAiB;AAAA,EACjC,GAAG,CAAC,MAAM,uBAAuB,CAAC;AAClC,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;AGrDA,SAAS,cAAc;AACvB,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,YAAAC,iBAAgB;AAUlB,IAAM,qBAAqB,CAAC,KAA0B,WAAqF;AAChJ,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAuC;AACnE,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,QAAI,MAAM;AACR,YAAM,iBAAiB,YAAY;AACjC,cAAM,kBAAkB,OACnB,MAAM,QAAQ,IAAI,IAAI,IAAI,QAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,CAAC,GAAG,OAAO,MAAM,IACjF,MAAM,KAAK,QAAQ,KAAK,aAAa;AACzC,kBAAU,eAAe;AACzB,eAAO;AAAA,MACT;AACA,WAAK,GAAG,kBAAkB,OAAO,EAAE,IAAI,MAAM;AAC3C,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,cAAM,eAAe;AAAA,MACvB,CAAC;AACD,WAAK,GAAG,kBAAkB,OAAO,EAAE,IAAI,MAAM;AAC3C,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,cAAM,eAAe;AAAA,MACvB,CAAC;AACD,aAAO,MAAM,eAAe;AAAA,IAC9B;AACA,YAAQ,IAAI,iBAAiB;AAAA,EAC/B,GAAG,CAAC,MAAM,GAAG,CAAC;AACd,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;ACzCA,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,uBAAuB,+BAA+B;AAMxD,IAAM,qBAAqB,CAAC,WAAsF;AACvH,QAAM,CAAC,YAAY,SAAS,IAAI,QAAQ,MAAM;AAC9C,QAAM,CAAC,aAAa,KAAK,IAAIC,YAAW,YAAY;AAClD,UAAM,QAAQ,MAAM,YAAY,MAAM;AACtC,WAAO,OAAO,KAA+B,sBAAsB,uBAAuB,CAAC;AAAA,EAC7F,GAAG,CAAC,UAAU,CAAC;AACf,SAAO,CAAC,aAAa,aAAa,KAAK;AACzC;;;ACdA,SAAS,kBAAAC,uBAAsB;AASxB,IAAM,kBAAkB,CAC7B,yBACA,WACkD;AAClD,QAAM,CAAC,KAAK,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACtE,QAAM,WAAWC,gBAAe,GAAG;AACnC,MAAI,OAAO,CAAC,UAAU;AACpB,UAAMC,SAAQ,IAAI,MAAM,0CAA0C,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,GAAG;AAC1H,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;;;ACrBA,SAAS,sBAAsB;AASxB,IAAM,mBAAmB,CAAC,KAA0B,WAA0F;AACnJ,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,KAAK,MAAM;AACvD,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,SAAO,UACH;AAAA,IAEE,QAAQ,OAAuB,CAAC,MAAM,QAAQ;AAC5C,UAAI,eAAe,GAAG,GAAG;AACvB,aAAK,KAAK,GAAG;AAAA,MACf;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,IACL;AAAA,EACF,IACA,CAAC,SAAS,KAAK;AACrB;;;AC1BA,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,oBAAAC,yBAAwB;AACjC,SAAS,YAAAC,iBAAgB;;;ACJzB,SAAS,iBAAiB;AAC1B,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,kBAAAC,uBAAsB;;;ACF/B,SAAS,WAAAC,gBAAe;AAKjB,IAAM,6BAA6B,CACxC,WAC4D;AAC5D,QAAM,cAAcA,SAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,eAAeA,SAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADFO,IAAM,cAAc,CAAC,WAA8F;AACxH,QAAM,CAAC,aAAa,YAAY,IAAI,2BAA2B,MAAM;AACrE,QAAM,CAAC,YAAY,IAAI,oBAAoB;AAC3C,QAAM,CAAC,iBAAiB,KAAK,IAAIC,YAAW,YAAY;AACtD,UAAM,uBAAuB,cAAc,MAAM;AACjD,QAAI,wBAAwB,UAAU,WAAW,GAAG;AAClD,aAAO,IAAI,QAAQC,gBAAe,MAAM,qBAAqB,QAAQ,WAAW,GAAG,MAAM,wBAAwB,EAAE,UAAU,KAAK,CAAC,CAAC;AAAA,IACtI;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;AEVO,IAAM,oCAAoC,CAAC,WAAsC;AACtF,SAAO,QAAQ;AACjB;;;AHAO,IAAM,wBAAwB,CACnC,yBACA,WAC4F;AAC5F,QAAM,CAAC,MAAM,SAAS,IAAI,YAAY,MAAM;AAC5C,QAAM,SAAS,kCAAkC,MAAM;AACvD,QAAM,gBAAgB,2BAA2B,MAAM;AACvD,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAA6E;AACzG,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,UAAM,WAAsE,QAAQ,YAAYC;AAGhG,UAAM,eAAe,MAAM,MAAM;AACjC,QAAI,gBAAgB,yBAAyB;AAC3C,mBAAa,GAAG,kBAAkB,CAAC,EAAE,IAAI,MAAM;AAC7C,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,YAAI,IAAI,YAAY,2BAA2B,IAAI,QAAQ,SAAS,yBAAyB;AAC3F,oBAAU,SAAS,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,MAAS;AAAA,QACxD;AAAA,MACF,CAAC;AACD,mBAAa,GAAG,kBAAkB,CAAC,EAAE,IAAI,MAAM;AAC7C,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,YAAI,IAAI,YAAY,2BAA2B,IAAI,QAAQ,SAAS,yBAAyB;AAC3F,oBAAU,MAAS;AAAA,QACrB;AAAA,MACF,CAAC;AACD,UAAI,SAAS,uBAAuB,GAAG;AACrC,kBAAU,IAAI,QAAQ,uBAAuB,CAAC;AAAA,MAChD,OAAO;AACL,cAAMC,UAAS,MAAM,aAAa,QAAQ,yBAAyB,aAAa;AAChF,gBAAQ,MAAM,WAAWA,SAAQ,OAAO,EAAE;AAC1C,kBAAU,SAASA,OAAM,IAAI,IAAI,QAAQA,OAAM,IAAI,MAAS;AAAA,MAC9D;AACA,aAAO;AAAA,IACT;AACA,YAAQ,MAAM,iBAAiB;AAAA,EACjC,GAAG,CAAC,MAAM,uBAAuB,CAAC;AAClC,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;AInDA,SAAS,UAAAC,eAAc;AACvB,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,YAAAC,iBAAgB;AAOlB,IAAM,yBAAyB,CACpC,KACA,WAC+D;AAC/D,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAgD;AAC5E,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,UAAM,eAAe;AACrB,QAAI,cAAc;AAChB,YAAM,iBAAiB,YAAY;AACjC,cAAM,kBAAkB,OACnB,MAAM,QAAQ,IAAI,IAAI,IAAI,QAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,CAAC,GAAG,OAAOC,OAAM,IACjF,MAAM,KAAK,QAAQ,KAAK,aAAa;AACzC,kBAAU,gBAAgB,IAAI,SAAO,IAAI,QAAQ,GAAG,CAAC,CAAC;AACtD,eAAO;AAAA,MACT;AACA,mBAAa,GAAG,kBAAkB,OAAO,EAAE,IAAI,MAAM;AACnD,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,cAAM,eAAe;AAAA,MACvB,CAAC;AACD,mBAAa,GAAG,kBAAkB,OAAO,EAAE,IAAI,MAAM;AACnD,gBAAQ,MAAM,sCAAsC,IAAI,OAAO,QAAQ,IAAI,OAAO,GAAG;AACrF,cAAM,eAAe;AAAA,MACvB,CAAC;AACD,aAAO,MAAM,eAAe;AAAA,IAC9B;AACA,YAAQ,IAAI,iBAAiB;AAAA,EAC/B,GAAG,CAAC,MAAM,GAAG,CAAC;AACd,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;AC1CA,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,yBAAAC,wBAAuB,2BAAAC,gCAA+B;AAMxD,IAAM,yBAAyB,CAAC,WAA0F;AAC/H,QAAM,CAAC,YAAY,SAAS,IAAI,YAAY,MAAM;AAClD,QAAM,CAAC,aAAa,KAAK,IAAIC,YAAW,YAAY;AAClD,UAAM,QAAQ,MAAM,YAAY,MAAM,GAAG,MAAM;AAC/C,WAAO,OAAO,KAA+BC,uBAAsBC,wBAAuB,CAAC;AAAA,EAC7F,GAAG,CAAC,UAAU,CAAC;AACf,SAAO,CAAC,aAAa,aAAa,KAAK;AACzC;;;ACdA,SAAS,kBAAAC,uBAAsB;AAMxB,IAAM,sBAAsB,CACjC,yBACA,WAC2D;AAC3D,SAAO,sBAAoC,yBAAyB,EAAE,UAAUC,iBAAgB,GAAG,OAAO,CAAC;AAC7G;;;AnBMM;AALC,IAAM,qBAAwD,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,aAAa,KAAK,IAAI,uBAAuB,EAAE,KAAK,CAAC;AAE5D,SACE,oBAAC,WAAS,GAAG,OACX,8BAAC,UAAK,OAAO,QAAQ,QAAQ,QAAY,kBAAQ,MAAM,UAAU,KAAK,UAAU,aAAa,MAAM,CAAC,GAAE,GACxG;AAEJ;;;AoBHa,gBAAAC,YAAA;AALN,IAAM,UAAkC,CAAC,EAAE,SAAS,GAAG,MAAM,MAAM;AACxE,UAAQ,SAAS;AAAA;AAAA,IAEf,KAAK;AAAA,IACL,SAAS;AACP,aAAO,gBAAAA,KAAC,sBAAoB,GAAG,OAAO;AAAA,IACxC;AAAA,EACF;AACF;;;ACrBA,SAAS,aAAa,eAAe;AACrC,SAAS,SAAS,iBAAiB;AAEnC;AAAA,EACE;AAAA,EAAmB;AAAA,EAAQ;AAAA,OACtB;AAIP,SAAS,qBAAqB;;;ACR9B,SAAS,gBAAgB,kBAAkB,cAAc,sBAAsB;AAC/E,SAAS,UAAAC,SAAQ,kBAAkB;AACnC,SAAS,sBAAsB;;;ACH/B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,gBAAgB;AAEzB,SAAgB,YAAAC,iBAAgB;AA4B5B,SAGM,OAAAC,MAHN;AAzBG,IAAM,eAER,CAAC,EAAE,IAAI,MAAM;AAChB,QAAM,CAAC,cAAc,eAAe,IAAID,UAAoC;AAE5E;AAAA,IAEE,OAAO,YAAY;AACjB,YAAME,kBAAiB,IAAI,MAAM;AACjC,YAAM,EAAE,SAAAC,SAAQ,IAAID,mBAAkB,CAAC;AACvC,UAAIA,iBAAgB;AAClB,cAAM,YAAY,MAAMA,gBAAe,QAAQ,GAAG,GAAG,OAAO,iBAAe,YAAY,YAAYC,QAAO;AAC1G,YAAI,QAAQ,GAAG;AACb,0BAAgB,SAAS,IAAI,iBAAe,IAAI,QAAQ,WAAW,CAAC,CAAC;AAAA,QACvE;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,QAAM,iBAAiB,IAAI,MAAM;AACjC,QAAM,EAAE,SAAS,QAAQ,IAAI,kBAAkB,CAAC;AAChD,QAAM,SAAS,WAAW;AAE1B,SACE,qBAAC,yBAAsB,QAAQ,QAAQ,OAAO,YAAY,OAAO,IAC9D;AAAA,aAAS,IAAI,CAAC,OAAO,UAAU;AAC9B,aACE,gBAAAF;AAAA,QAAC;AAAA;AAAA,UAEC,QAAQ,GAAG,MAAM,UAAU,KAAK;AAAA,UAChC,OAAO,WAAW,KAAK;AAAA,UACvB,IAAI,EAAE,IAAI,UAAU,QAAQ,SAAS,IAAI,MAAM,IAAI;AAAA;AAAA,QAH9C;AAAA,MAIP;AAAA,IAEJ,CAAC;AAAA,IACA,gBAAgB,aAAa,SAAS,IAEjC,gBAAAA,KAAC,YAAS,QAAQ,GAAG,MAAM,aAAa,OAAM,YAAW,IAAI,EAAE,IAAI,IAAI,GACpE,uBAAa,IAAI,CAAC,mBAAmB;AACpC,YAAM,cAAc,eAAe,MAAM;AACzC,aAAO,cAAc,gBAAAA,KAAC,gBAAwC,KAAK,kBAA3B,aAAa,OAA8B,IAAK;AAAA,IAC1F,CAAC,GACH,IAEF;AAAA,KACN;AAEJ;AAEA,IAAM,wBAAwB,OAAO,UAAU,EAAE,MAAM,wBAAwB,CAAC,EAAE,CAAC,EAAE,MAAM,OACzF,EAAE,0BAA0B,EAAE,cAAc,MAAM,QAAQ,IAAI,EAAE,EAAE,EACnE;;;ADvCW,mBACE,OAAAG,MADF,QAAAC,aAAA;AALL,IAAM,uBAAyD,CAAC,EAAE,IAAI,MAAM;AACjF,SACE,gBAAAD,KAAA,YACG,gBAEK,gBAAAC,MAAA,YACE;AAAA,oBAAAD,KAAC,cAAW,SAAQ,MAAK,gCAAkB;AAAA,IAC3C,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACX,OAAO,EAAE,cAAc,gBAAgB,YAAY,iBAAiB;AAAA,QACpE,IAAI,EAAE,UAAU,EAAE;AAAA,QAElB,0BAAAA,KAAC,gBAAa,KAAU;AAAA;AAAA,IAC1B;AAAA,KACF,IAEF,QAAQ,OACN,gBAAAA,KAAC,cAAW,SAAQ,MAAK,6BAAe,IACxC,gBAAAA,KAAC,cAAW,SAAQ,MAAK,4BAAc,GAC/C;AAEJ;AAEA,IAAM,iBAAiBE,QAAO,gBAAgB,EAAE,MAAM,iBAAiB,CAAC,EAAE,OAAO;AAAA,EAC/E,QAAQ;AAAA,EACR,UAAU;AACZ,EAAE;;;ADhBM,SAiBM,OAAAC,MAjBN,QAAAC,aAAA;AAPD,IAAM,aAAwC,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AAC/E,QAAM,EAAE,MAAM,QAAQ,IAAI,cAAc;AACxC,QAAM,CAAC,IAAI,IAAI,oBAAoB;AAEnC,SACE,gBAAAD,KAAC,UAAO,MAAM,QAAQ,OAAO,QAAO,SAAS,GAAG,OAC9C,0BAAAA,KAAC,qBAAkB,aAAa,MAAM,UAAU,KAAK,GACnD,0BAAAC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,IAAI;AAAA,QACF,gBAAgB;AAAA,QAChB,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,UAAU;AAAA,MACZ;AAAA,MAEA;AAAA,wBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,cAAc;AAAA,cACd,gBAAgB;AAAA,cAChB,OAAO;AAAA,YACT;AAAA,YAEA,0BAAAA,KAAC,cAAW,SAAS,MAAM,UAAU,KAAK,GACxC,0BAAAA,KAAC,aAAU,GACb;AAAA;AAAA,QACF;AAAA,QACA,gBAAAA,KAAC,wBAAqB,KAAK,MAAM;AAAA,QAChC;AAAA;AAAA;AAAA,EACH,GACF,GACF;AAEJ;;;AGjDA,cAAc;AACd,cAAc;",
  "names": ["use", "NodeContext", "usePromise", "useMemo", "usePromise", "result", "usePromise", "useState", "useState", "usePromise", "usePromise", "usePromise", "asNodeInstance", "asNodeInstance", "error", "usePromise", "isModuleInstance", "useState", "usePromise", "asNodeInstance", "useMemo", "usePromise", "asNodeInstance", "useState", "usePromise", "isModuleInstance", "result", "exists", "usePromise", "useState", "useState", "usePromise", "exists", "usePromise", "isPayloadOfSchemaType", "ModuleDescriptionSchema", "usePromise", "isPayloadOfSchemaType", "ModuleDescriptionSchema", "isNodeInstance", "isNodeInstance", "jsx", "styled", "useState", "jsx", "moduleInstance", "address", "jsx", "jsxs", "styled", "jsx", "jsxs"]
}
