{
  "version": 3,
  "sources": ["../../src/modules/powered-by-xyo/components/ArchivistSummary.tsx", "../../src/modules/powered-by-xyo/components/ModuleSummary.tsx", "../../src/modules/powered-by-xyo/components/BridgeSummary.tsx", "../../src/modules/powered-by-xyo/components/DebugDialog.tsx", "../../src/modules/powered-by-xyo/components/NodeDetails.tsx", "../../src/modules/powered-by-xyo/components/ModuleAccordion.tsx", "../../src/modules/powered-by-xyo/components/ModuleDetails.tsx", "../../src/modules/powered-by-xyo/components/JsonViewerButton.tsx", "../../src/modules/powered-by-xyo/components/TypedModuleSummary.tsx", "../../src/modules/powered-by-xyo/components/DivinerSummary.tsx", "../../src/modules/powered-by-xyo/components/NodeSummary.tsx", "../../src/modules/powered-by-xyo/components/SentinelSummary.tsx", "../../src/modules/powered-by-xyo/components/WitnessSummary.tsx", "../../src/modules/powered-by-xyo/components/PoweredByXyo.tsx", "../../src/modules/powered-by-xyo/components/PoweredByXyoButton.tsx", "../../src/modules/powered-by-xyo/img/xyo-color-logo.svg", "../../src/modules/powered-by-xyo/img/xyo-color-logo-text-only.svg", "../../src/modules/powered-by-xyo/components/XyoBusy.tsx"],
  "sourcesContent": ["import { Inventory2Rounded as Inventory2RoundedIcon } from '@mui/icons-material'\nimport type { ArchivistInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for an archivist instance with an inventory icon. */\nexport const ArchivistSummary: React.FC<ModuleSummaryProps<ArchivistInstance>> = ({ mod, ...props }) => {\n  return <ModuleSummary mod={mod} icon={<Inventory2RoundedIcon />} {...props} />\n}\n", "import { delay } from '@ariestools/sdk'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Extension as ExtensionIcon } from '@mui/icons-material'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport type { ReactNode } from 'react'\nimport React, { useState } from 'react'\n\nimport { useWeakModulesFromNode } from '#node'\nimport { TypographyEx } from '#shared'\n\n/** Props for {@link ModuleSummary}. */\nexport interface ModuleSummaryProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n  icon?: ReactNode\n  mod?: T\n}\n\n/** Compact row showing a module icon, name, and up/down resolution counts. */\nexport const ModuleSummary: React.FC<ModuleSummaryProps> = ({\n  children, icon, mod, ...props\n}) => {\n  const [downModules] = useWeakModulesFromNode(undefined, { direction: 'down' })\n  const [upModules] = useWeakModulesFromNode(undefined, { direction: 'up' })\n  const [busy, setBusy] = useState(false)\n\n  const downModulesFromResolve = downModules?.length\n  const upModulesFromResolve = upModules?.length\n\n  mod?.on('moduleBusy', async ({ busy }) => {\n    setBusy(busy)\n    await delay(2000)\n    setBusy(false)\n  })\n\n  return (\n    <FlexCol\n      {...props}\n      sx={[{\n        alignItems: 'stretch',\n        width: '100%',\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <FlexRow sx={{ justifyContent: 'flex-start' }}>\n        <FlexRow>\n          <TypographyEx sx={{ color: busy ? 'gray' : undefined }}>\n            {icon ?? <ExtensionIcon />}\n          </TypographyEx>\n          <TypographyEx sx={{ marginX: 1 }}>\n            {mod?.config?.name ?? '<Unknown>'}\n          </TypographyEx>\n        </FlexRow>\n        {(children ?? (downModulesFromResolve !== undefined && upModulesFromResolve !== undefined))\n          ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]`\n          : null}\n      </FlexRow>\n    </FlexCol>\n  )\n}\n", "import { InsertLinkRounded as InsertLinkRoundedIcon } from '@mui/icons-material'\nimport type { BridgeInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for a bridge instance with a link icon. */\nexport const BridgeSummary: React.FC<ModuleSummaryProps<BridgeInstance>> = ({ mod, ...props }) => {\n  return <ModuleSummary mod={mod} icon={<InsertLinkRoundedIcon />} {...props}></ModuleSummary>\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n  Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nimport { NodeDetails } from './NodeDetails.tsx'\n\n/** Props for {@link DebugDialog}. */\nexport interface DebugDialogProps extends DialogProps {}\n\n/** Full-screen dialog that shows the current node module tree for debugging. */\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n  return (\n    <Dialog {...props}>\n      <DialogTitle>Xyo Module Viewer</DialogTitle>\n      <DialogContent>\n        <NodeDetails sx={{ width: '100%' }} />\n      </DialogContent>\n      <DialogActions>\n        <Button onClick={event => onClose?.(event, 'backdropClick')}>Close</Button>\n      </DialogActions>\n    </Dialog>\n  )\n}\n", "import { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport type { NodeInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { useProvidedNode, useWeakModulesFromNode } from '#node'\n\nimport { ModuleAccordion } from './ModuleAccordion.tsx'\nimport type { ModuleDetailsProps } from './ModuleDetails.tsx'\n\n/** Props for {@link NodeDetails}. */\nexport interface NodeViewerProps extends ModuleDetailsProps<NodeInstance> {}\n\n/** Lists child modules of a node as expandable {@link ModuleAccordion} rows. */\nexport const NodeDetails: React.FC<NodeViewerProps> = ({ mod, ...props }) => {\n  const [node = mod] = useProvidedNode()\n\n  const [children] = useWeakModulesFromNode(undefined, { node: node ?? undefined })\n\n  return (\n    <FlexCol\n      {...props}\n      sx={[{ alignItems: 'stretch' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      {children\n        ? (\n            <FlexCol\n              sx={{\n                alignItems: 'stretch',\n                marginY: 1,\n              }}\n            >\n              {children?.map((child) => {\n                const instance = child.deref()\n                return instance ? <ModuleAccordion key={instance.address} mod={instance} /> : null\n              })}\n            </FlexCol>\n          )\n        : null}\n    </FlexCol>\n  )\n}\n", "import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport type { ModuleInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\n/** Props for {@link ModuleAccordion}. */\nexport interface ModuleAccordionProps<T extends ModuleInstance = ModuleInstance> extends Omit<AccordionProps, 'children'> {\n  mod?: T\n}\n\nimport type { AccordionProps } from '@mui/material'\nimport {\n  Accordion, AccordionDetails, AccordionSummary,\n} from '@mui/material'\n\nimport { ModuleDetails } from './ModuleDetails.tsx'\nimport { TypedModuleSummary } from './TypedModuleSummary.tsx'\n\n/** Expandable accordion that shows a typed module summary and its details. */\nexport const ModuleAccordion: React.FC<ModuleAccordionProps> = ({ mod, ...props }) => {\n  return (\n    <Accordion {...props}>\n      <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n        <TypedModuleSummary mod={mod} />\n      </AccordionSummary>\n      <AccordionDetails>\n        <ModuleDetails mod={mod} />\n      </AccordionDetails>\n    </Accordion>\n  )\n}\n", "import { ButtonEx } from '@ariestools/sdk-react/button'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport { ButtonGroup } from '@mui/material'\nimport type { ModuleDescriptionPayload, ModuleInstance } from '@xyo-network/sdk'\nimport { isPayloadOfSchemaType, ModuleDescriptionSchema } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { Property } from '#property'\n\nimport { JsonViewerButton } from './JsonViewerButton.tsx'\n\n/** Props for {@link ModuleDetails}. */\nexport interface ModuleDetailsProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n  mod?: T\n}\n\n/** Displays a module address plus JSON viewers for manifest, config, and queries. */\nexport const ModuleDetails: React.FC<ModuleDetailsProps> = ({ mod, ...props }) => {\n  const [manifest] = usePromise(async () => {\n    return await mod?.manifest()\n  }, [mod])\n\n  const [discover] = usePromise(async () => {\n    return await mod?.state()\n  }, [mod])\n\n  const [describe] = usePromise(async () => {\n    const state = await mod?.state()\n    return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n  }, [mod])\n\n  const queries = mod?.queries\n\n  const config = mod?.config\n\n  return (\n    <FlexCol\n      {...props}\n      sx={[{ alignItems: 'stretch' }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <Property title=\"Address\" value={mod?.address} />\n      <FlexRow\n        sx={{\n          gap: 1,\n          justifyContent: 'space-between',\n        }}\n      >\n        <ButtonGroup>\n          {manifest\n            ? (\n                <JsonViewerButton variant=\"contained\" src={manifest}>\n                  Manifest\n                </JsonViewerButton>\n              )\n            : null}\n          {config\n            ? (\n                <JsonViewerButton variant=\"contained\" src={config}>\n                  Config\n                </JsonViewerButton>\n              )\n            : null}\n          {discover\n            ? (\n                <JsonViewerButton variant=\"contained\" src={discover}>\n                  Discover\n                </JsonViewerButton>\n              )\n            : null}\n          {describe\n            ? (\n                <JsonViewerButton variant=\"contained\" src={describe}>\n                  Describe\n                </JsonViewerButton>\n              )\n            : null}\n          {queries\n            ? (\n                <JsonViewerButton variant=\"contained\" src={queries}>\n                  Queries\n                </JsonViewerButton>\n              )\n            : null}\n        </ButtonGroup>\n        <ButtonGroup>\n          <ButtonEx target=\"_blank\" href={`https://explore.xyo.network/block?network=main&address=${mod?.address}`} variant=\"outlined\">\n            Main\n          </ButtonEx>\n          <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=kerplunk&address=${mod?.address}`} variant=\"outlined\">\n            Kerplunk\n          </ButtonEx>\n          <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=local&address=${mod?.address}`} variant=\"outlined\">\n            Local\n          </ButtonEx>\n        </ButtonGroup>\n      </FlexRow>\n    </FlexCol>\n  )\n}\n", "import type { ButtonExProps } from '@ariestools/sdk-react/button'\nimport { ButtonEx } from '@ariestools/sdk-react/button'\nimport {\n  Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React, { useState } from 'react'\n\nimport type { JsonViewerExProps } from '#payload-raw-info'\nimport { JsonViewerEx } from '#payload-raw-info'\n\n/** Props for {@link JsonViewerButton}. */\nexport type JsonViewerButtonProps = ButtonExProps & {\n  jsonViewProps?: Partial<JsonViewerExProps>\n  src: object\n}\n\n/** Button that opens a dialog showing the given object in a JSON viewer. */\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({\n  children, jsonViewProps, src, title, ...props\n}) => {\n  const [open, setOpen] = useState(false)\n  return (\n    <>\n      <ButtonEx onClick={() => setOpen(!open)} {...props}>\n        {children ?? 'JSON'}\n      </ButtonEx>\n      <Dialog open={open} onClose={() => setOpen(false)}>\n        {title\n          ? <DialogTitle>{title}</DialogTitle>\n          : null}\n        <DialogContent>\n          <JsonViewerEx value={src} {...jsonViewProps} />\n        </DialogContent>\n        <DialogActions>\n          <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n        </DialogActions>\n      </Dialog>\n    </>\n  )\n}\n", "import {\n  isArchivistInstance, isBridgeInstance, isDivinerInstance, isNodeInstance, isSentinelInstance, isWitnessInstance,\n} from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { ArchivistSummary } from './ArchivistSummary.tsx'\nimport { BridgeSummary } from './BridgeSummary.tsx'\nimport { DivinerSummary } from './DivinerSummary.tsx'\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\nimport { NodeSummary } from './NodeSummary.tsx'\nimport { SentinelSummary } from './SentinelSummary.tsx'\nimport { WitnessSummary } from './WitnessSummary.tsx'\n\n/** Dispatches to the module-type-specific summary component for the given instance. */\nexport const TypedModuleSummary: React.FC<ModuleSummaryProps> = ({ mod, ...props }) => {\n  if (isArchivistInstance(mod)) {\n    return <ArchivistSummary mod={mod} {...props} />\n  }\n  if (isDivinerInstance(mod)) {\n    return <DivinerSummary mod={mod} {...props} />\n  }\n  if (isNodeInstance(mod)) {\n    return <NodeSummary mod={mod} {...props} />\n  }\n  if (isWitnessInstance(mod)) {\n    return <WitnessSummary mod={mod} {...props} />\n  }\n  if (isBridgeInstance(mod)) {\n    return <BridgeSummary mod={mod} {...props} />\n  }\n  if (isSentinelInstance(mod)) {\n    return <SentinelSummary mod={mod} {...props} />\n  }\n  return <ModuleSummary mod={mod} {...props} />\n}\n", "import { BubbleChartRounded as BubbleChartRoundedIcon } from '@mui/icons-material'\nimport type { DivinerInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for a diviner instance with a chart icon. */\nexport const DivinerSummary: React.FC<ModuleSummaryProps<DivinerInstance>> = ({ mod, ...props }) => {\n  return <ModuleSummary mod={mod} icon={<BubbleChartRoundedIcon />} {...props} />\n}\n", "import { usePromise } from '@ariestools/sdk-react/promise'\nimport { HubRounded as HubRoundedIcon } from '@mui/icons-material'\nimport type { NodeInstance, NodeManifest } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { useWeakModulesFromNode } from '#node'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for a node, including public and resolved module counts. */\nexport const NodeSummary: React.FC<ModuleSummaryProps<NodeInstance>> = ({ mod, ...props }) => {\n  const [manifest] = usePromise(async () => {\n    return (await mod?.manifest()) as NodeManifest\n  }, [mod])\n\n  const [downModules] = useWeakModulesFromNode(undefined, { direction: 'down' })\n  const [upModules] = useWeakModulesFromNode(undefined, { direction: 'up' })\n\n  const downModulesFromResolve = downModules?.length\n  const upModulesFromResolve = upModules?.length\n\n  const manifestPublicModules = manifest?.modules?.public?.length\n\n  return (\n    <ModuleSummary mod={mod} icon={<HubRoundedIcon />} {...props}>\n      {manifestPublicModules !== undefined && downModulesFromResolve !== undefined && upModulesFromResolve !== undefined\n        ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]`\n        : null}\n    </ModuleSummary>\n  )\n}\n", "import { TimerRounded as TimerRoundedIcon } from '@mui/icons-material'\nimport type { SentinelInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for a sentinel instance with a timer icon. */\nexport const SentinelSummary: React.FC<ModuleSummaryProps<SentinelInstance>> = ({ mod, ...props }) => {\n  return <ModuleSummary mod={mod} icon={<TimerRoundedIcon />} {...props} />\n}\n", "import { VisibilityRounded as VisibilityRoundedIcon } from '@mui/icons-material'\nimport type { WitnessInstance } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { ModuleSummaryProps } from './ModuleSummary.tsx'\nimport { ModuleSummary } from './ModuleSummary.tsx'\n\n/** Module summary row for a witness instance with a visibility icon. */\nexport const WitnessSummary: React.FC<ModuleSummaryProps<WitnessInstance>> = ({ mod, ...props }) => {\n  return <ModuleSummary mod={mod} icon={<VisibilityRoundedIcon />} {...props} />\n}\n", "import { delay, forget } from '@ariestools/sdk'\nimport { useAsyncEffect } from '@ariestools/sdk-react/async-effect'\nimport type { ButtonExProps } from '@ariestools/sdk-react/button'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Paper } from '@mui/material'\nimport type { Module, NodeInstance } from '@xyo-network/sdk'\nimport type { KeyboardEvent } from 'react'\nimport React, { useState } from 'react'\n\nimport { useProvidedNode } from '#node'\n\nimport { DebugDialog } from './DebugDialog.tsx'\nimport type { PoweredByXyoButtonProps } from './PoweredByXyoButton.tsx'\nimport { PoweredByXyoButton } from './PoweredByXyoButton.tsx'\n\n/** Props for {@link PoweredByXyo}. */\nexport interface PoweredByXyoProps extends FlexBoxProps {\n  autoStop?: boolean\n  busy?: boolean\n  buttonProps?: Omit<PoweredByXyoButtonProps, 'href' | 'to' | 'toOptions'>\n  debugDialog?: boolean\n  disableAnimation?: boolean\n  href?: ButtonExProps['href']\n  logoHeight?: number\n  logoTextSize?: number\n  node?: NodeInstance\n  onButtonClick?: ButtonExProps['onClick']\n}\n\n/** Floating \"Powered by XYO\" badge that reflects node busy state and optional debug UI. */\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n  autoStop,\n  busy,\n  buttonProps,\n  debugDialog = false,\n  disableAnimation = false,\n  href = 'https://xyo.network',\n  logoHeight,\n  logoTextSize,\n  onButtonClick,\n  node: propNode,\n  ...props\n}) => {\n  const [node] = useProvidedNode()\n  const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n  const busyMap: Record<string, boolean> = {}\n\n  const activeBusy = busy ?? Object.values(busyMap).includes(true)\n\n  const activeOnButtonClick: PoweredByXyoProps['onButtonClick']\n    = (debugDialog\n      ? (event) => {\n          if (event.shiftKey && event.altKey) {\n            setDebugDialogOpen(true)\n          } else if (href) {\n            window.open(href, undefined, 'noopener,noreferrer')\n          }\n        }\n      : undefined) ?? onButtonClick\n\n  const activeHref = activeOnButtonClick ? undefined : href\n\n  const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n    if (event.key === 'Escape' && debugDialogOpen) {\n      setDebugDialogOpen(false)\n    }\n  }\n\n  useAsyncEffect(\n    async () => {\n      const activeNode = propNode ?? node\n      if (disableAnimation) {\n        return\n      } else if (activeNode) {\n        const mods = await activeNode?.resolve('*')\n        for (const childMod of mods ?? []) {\n          childMod.on('moduleBusy', ({ mod, busy }) => {\n            busyMap[(mod as Module).address] = busy\n            if (autoStop) {\n              forget(\n                (async () => {\n                  await delay(1000)\n                  busyMap[(mod as Module).address] = false\n                })(),\n              )\n            }\n          })\n        }\n        activeNode?.on('moduleBusy', ({ mod, busy }) => {\n          busyMap[(mod as Module).address] = busy\n          if (autoStop) {\n            forget(\n              (async () => {\n                await delay(1000)\n                busyMap[(mod as Module).address] = false\n              })(),\n            )\n          }\n        })\n      }\n    },\n    [disableAnimation, propNode, node, busyMap, autoStop],\n  )\n\n  return (\n    <FlexCol\n      {...props}\n      sx={[{\n        alignItems: 'stretch',\n        position: 'absolute',\n        bottom: '0',\n        left: '0',\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <Paper sx={{ borderRadius: 0 }}>\n        {activeHref\n          ? (\n              <PoweredByXyoButton\n                onClick={activeOnButtonClick}\n                href={activeHref}\n                busy={activeBusy}\n                logoHeight={logoHeight}\n                logoTextSize={logoTextSize}\n                fullWidth\n                {...buttonProps}\n              />\n            )\n          : (\n              <PoweredByXyoButton\n                onClick={activeOnButtonClick}\n                busy={activeBusy}\n                logoHeight={logoHeight}\n                logoTextSize={logoTextSize}\n                fullWidth\n                {...buttonProps}\n              />\n            )}\n      </Paper>\n      {debugDialog && debugDialogOpen\n        ? <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n        : null}\n    </FlexCol>\n  )\n}\n", "import type { ButtonExProps } from '@ariestools/sdk-react/button'\nimport { ButtonEx } from '@ariestools/sdk-react/button'\nimport { FlexCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Typography } from '@mui/material'\nimport React, { useEffect, useState } from 'react'\n\nimport { xyoColorLogoText } from '../img/index.ts'\nimport { XyoBusy } from './XyoBusy.tsx'\n\n/** Props for {@link PoweredByXyoButton}. */\nexport type PoweredByXyoButtonProps = ButtonExProps & {\n  busy?: boolean\n  logoHeight?: number\n  logoTextSize?: number\n}\n\n/** Button labeled \"Powered by\" with the XYO logo and optional busy spinner. */\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n  busy = false,\n  logoHeight,\n  logoTextSize,\n  ...props\n}) => {\n  // preloading image to prevent shifting\n  const [imageLoaded, setImageLoaded] = useState(false)\n  useEffect(() => {\n    const img = new Image()\n    const onImageLoaded = () => setImageLoaded(true)\n    img.addEventListener('load', onImageLoaded)\n    img.src = xyoColorLogoText\n    return () => {\n      img.removeEventListener('load', onImageLoaded)\n    }\n  }, [])\n  return imageLoaded\n    ? (\n        <ButtonEx\n          {...props}\n          target={props.target ?? '_blank'}\n          variant={props.variant ?? 'text'}\n          sx={{\n            textDecoration: 'none', borderRadius: 0, padding: 0, ...props.sx,\n          }}\n        >\n          <FlexCol sx={{ padding: 0.5 }}>\n            <Typography\n              style={{ fontSize: logoTextSize ?? 10 }}\n              sx={{ fontSize: 'small' }}\n            >\n              Powered by\n            </Typography>\n            <FlexRow>\n              <XyoBusy busy={busy} />\n              <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n            </FlexRow>\n          </FlexCol>\n        </ButtonEx>\n      )\n    : null\n}\n", "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class=\"cls-1\" d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"/><path class=\"cls-2\" d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"/><path class=\"cls-3\" d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"/><path class=\"cls-4\" d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"/></svg>", "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"250 0 451 238\"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class=\"cls-1\" d=\"M570,55.35a61.13,61.13,0,1,0,61.11,61.1A61.21,61.21,0,0,0,570,55.35Zm-266.4.1-8.2,8.14,53,52.91-53,52.91,8.2,8.2,52.91-53,44.77,44.77,8.14,8.2,114-114-8.14-8.14-52.91,52.91-53-52.91-8.14,8.14-44.77,44.77ZM570,66.84a49.61,49.61,0,1,1-49.61,49.61A49.54,49.54,0,0,1,570,66.84ZM409.45,71.73l44.77,44.77-44.77,44.77L364.68,116.5Z\"/></svg>\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport React, { useEffect, useState } from 'react'\n\nimport { xyoColorLogo } from '../img/index.ts'\n\n/** Props for {@link XyoBusy}. */\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n  busy?: boolean\n  spinsPerSecond?: number\n  widthInPixels?: number\n}\n\n/** Spinning XYO logo used as a busy indicator. */\nexport const XyoBusy: React.FC<XyoBusyProps> = ({\n  widthInPixels, busy, spinsPerSecond = 0.5, ...props\n}) => {\n  // preloading image to prevent shifting\n  const [imageLoaded, setImageLoaded] = useState(false)\n  useEffect(() => {\n    if (!imageLoaded) {\n      const img = new Image()\n      const onLoad = () => setImageLoaded(true)\n      img.addEventListener('load', onLoad)\n      img.src = xyoColorLogo\n      return () => img.removeEventListener('load', onLoad)\n    }\n  }, [imageLoaded])\n  return imageLoaded\n    ? (\n        <FlexCol\n          sx={{\n            '@keyframes spin': {\n              '0%': { transform: 'rotate(360deg)' },\n              '100%': { transform: 'rotate(0deg)' },\n            },\n            'animation': busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n            'animationDirection': 'reverse',\n          }}\n          {...props}\n        >\n          <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n        </FlexCol>\n      )\n    : null\n}\n"],
  "mappings": "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",
  "names": ["busy", "jsx", "jsx", "Dialog", "DialogActions", "DialogContent", "DialogTitle", "FlexCol", "useWeakModulesFromNode", "ButtonEx", "FlexCol", "FlexRow", "useState", "jsx", "jsxs", "jsx", "jsxs", "FlexCol", "FlexRow", "ButtonEx", "jsx", "usePromise", "useWeakModulesFromNode", "jsx", "usePromise", "useWeakModulesFromNode", "jsx", "jsx", "jsx", "jsx", "jsxs", "jsx", "useWeakModulesFromNode", "FlexCol", "jsx", "jsxs", "Dialog", "DialogTitle", "DialogContent", "DialogActions", "delay", "FlexCol", "useState", "useProvidedNode", "ButtonEx", "FlexCol", "FlexRow", "useEffect", "useState", "FlexCol", "useState", "jsx", "useState", "FlexCol", "jsx", "jsxs", "useState", "useEffect", "ButtonEx", "FlexCol", "FlexRow", "jsx", "jsxs", "useProvidedNode", "useState", "busy", "delay", "FlexCol"]
}
