@xyo-network/react-typedoc 2.64.7 → 2.64.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/browser/ProjectTwoPanelReflectionViewer.cjs +6 -6
  2. package/dist/browser/ProjectTwoPanelReflectionViewer.cjs.map +1 -1
  3. package/dist/browser/ProjectTwoPanelReflectionViewer.js +3 -3
  4. package/dist/browser/ProjectTwoPanelReflectionViewer.js.map +1 -1
  5. package/dist/browser/ReflectionViewer/Container.cjs +2 -2
  6. package/dist/browser/ReflectionViewer/Container.cjs.map +1 -1
  7. package/dist/browser/ReflectionViewer/Container.js +1 -1
  8. package/dist/browser/ReflectionViewer/Container.js.map +1 -1
  9. package/dist/browser/ReflectionViewer/DeclarationContainer.cjs +4 -4
  10. package/dist/browser/ReflectionViewer/DeclarationContainer.cjs.map +1 -1
  11. package/dist/browser/ReflectionViewer/DeclarationContainer.js +2 -2
  12. package/dist/browser/ReflectionViewer/DeclarationContainer.js.map +1 -1
  13. package/dist/browser/ReflectionViewer/Project.cjs +2 -2
  14. package/dist/browser/ReflectionViewer/Project.cjs.map +1 -1
  15. package/dist/browser/ReflectionViewer/Project.js +1 -1
  16. package/dist/browser/ReflectionViewer/Project.js.map +1 -1
  17. package/dist/browser/ReflectionViewer/ReflectionGroupViewer.cjs +2 -2
  18. package/dist/browser/ReflectionViewer/ReflectionGroupViewer.cjs.map +1 -1
  19. package/dist/browser/ReflectionViewer/ReflectionGroupViewer.js +1 -1
  20. package/dist/browser/ReflectionViewer/ReflectionGroupViewer.js.map +1 -1
  21. package/dist/browser/ReflectionViewer/index.cjs +4 -4
  22. package/dist/browser/ReflectionViewer/index.cjs.map +1 -1
  23. package/dist/browser/ReflectionViewer/index.js +2 -2
  24. package/dist/browser/ReflectionViewer/index.js.map +1 -1
  25. package/dist/browser/TreeViewer/Reflection.cjs +2 -2
  26. package/dist/browser/TreeViewer/Reflection.cjs.map +1 -1
  27. package/dist/browser/TreeViewer/Reflection.js +1 -1
  28. package/dist/browser/TreeViewer/Reflection.js.map +1 -1
  29. package/dist/browser/TreeViewer/index.cjs +2 -2
  30. package/dist/browser/TreeViewer/index.cjs.map +1 -1
  31. package/dist/browser/TreeViewer/index.js +1 -1
  32. package/dist/browser/TreeViewer/index.js.map +1 -1
  33. package/dist/browser/TwoPanelReflectionViewer.cjs +4 -4
  34. package/dist/browser/TwoPanelReflectionViewer.cjs.map +1 -1
  35. package/dist/browser/TwoPanelReflectionViewer.js +2 -2
  36. package/dist/browser/TwoPanelReflectionViewer.js.map +1 -1
  37. package/dist/browser/index.cjs +6 -6
  38. package/dist/browser/index.cjs.map +1 -1
  39. package/dist/browser/index.js +3 -3
  40. package/dist/browser/index.js.map +1 -1
  41. package/dist/docs.json +72 -72
  42. package/dist/node/ProjectTwoPanelReflectionViewer.cjs +6 -6
  43. package/dist/node/ProjectTwoPanelReflectionViewer.cjs.map +1 -1
  44. package/dist/node/ProjectTwoPanelReflectionViewer.js +3 -3
  45. package/dist/node/ProjectTwoPanelReflectionViewer.js.map +1 -1
  46. package/dist/node/ReflectionViewer/Container.cjs +2 -2
  47. package/dist/node/ReflectionViewer/Container.cjs.map +1 -1
  48. package/dist/node/ReflectionViewer/Container.js +1 -1
  49. package/dist/node/ReflectionViewer/Container.js.map +1 -1
  50. package/dist/node/ReflectionViewer/DeclarationContainer.cjs +4 -4
  51. package/dist/node/ReflectionViewer/DeclarationContainer.cjs.map +1 -1
  52. package/dist/node/ReflectionViewer/DeclarationContainer.js +2 -2
  53. package/dist/node/ReflectionViewer/DeclarationContainer.js.map +1 -1
  54. package/dist/node/ReflectionViewer/Project.cjs +2 -2
  55. package/dist/node/ReflectionViewer/Project.cjs.map +1 -1
  56. package/dist/node/ReflectionViewer/Project.js +1 -1
  57. package/dist/node/ReflectionViewer/Project.js.map +1 -1
  58. package/dist/node/ReflectionViewer/ReflectionGroupViewer.cjs +2 -2
  59. package/dist/node/ReflectionViewer/ReflectionGroupViewer.cjs.map +1 -1
  60. package/dist/node/ReflectionViewer/ReflectionGroupViewer.js +1 -1
  61. package/dist/node/ReflectionViewer/ReflectionGroupViewer.js.map +1 -1
  62. package/dist/node/ReflectionViewer/index.cjs +4 -4
  63. package/dist/node/ReflectionViewer/index.cjs.map +1 -1
  64. package/dist/node/ReflectionViewer/index.js +2 -2
  65. package/dist/node/ReflectionViewer/index.js.map +1 -1
  66. package/dist/node/TreeViewer/Reflection.cjs +2 -2
  67. package/dist/node/TreeViewer/Reflection.cjs.map +1 -1
  68. package/dist/node/TreeViewer/Reflection.js +1 -1
  69. package/dist/node/TreeViewer/Reflection.js.map +1 -1
  70. package/dist/node/TreeViewer/index.cjs +2 -2
  71. package/dist/node/TreeViewer/index.cjs.map +1 -1
  72. package/dist/node/TreeViewer/index.js +1 -1
  73. package/dist/node/TreeViewer/index.js.map +1 -1
  74. package/dist/node/TwoPanelReflectionViewer.cjs +4 -4
  75. package/dist/node/TwoPanelReflectionViewer.cjs.map +1 -1
  76. package/dist/node/TwoPanelReflectionViewer.js +2 -2
  77. package/dist/node/TwoPanelReflectionViewer.js.map +1 -1
  78. package/dist/node/index.cjs +6 -6
  79. package/dist/node/index.cjs.map +1 -1
  80. package/dist/node/index.js +3 -3
  81. package/dist/node/index.js.map +1 -1
  82. package/package.json +7 -4
  83. package/src/ProjectTwoPanelReflectionViewer.stories.tsx +1 -1
  84. package/src/ReflectionViewer/DeclarationContainer.tsx +1 -1
  85. package/src/ReflectionViewer/ReflectionGroupViewer.tsx +1 -1
  86. package/src/TreeViewer/Reflection.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/TwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/JsonViewerButton.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/CommentViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/TreeViewer/Reflection.tsx"],"sourcesContent":["import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n reflection.children?.forEach((item) => (lookup[item.id] = item as unknown as T))\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom-6'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object':\n return child\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default:\n throw Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.substring(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push('<')\n parts.push(\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n )\n parts.push('>')\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic':\n parts.push(someType.name)\n break\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal':\n parts.push(JSON.stringify(someType.value))\n break\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default:\n parts.push('#')\n parts.push(someType.type)\n parts.push('#')\n break\n }\n return parts.join('')\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom-6'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["FlexCol","FlexRow","useState","Typography","FlexCol","FlexRow","FlexCol","jsx","Typography","Typography","Fragment","jsx","Fragment","jsx","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","hide","FlexCol","jsx","jsxs","hide","hiddenFlags","FlexCol","FlexRow","Typography","Typography","FlexCol","jsx","jsx","jsxs","useState","props","FlexCol","FlexRow"]}
1
+ {"version":3,"sources":["../../src/TwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/JsonViewerButton.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/CommentViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/TreeViewer/Reflection.tsx"],"sourcesContent":["import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n reflection.children?.forEach((item) => (lookup[item.id] = item as unknown as T))\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object':\n return child\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default:\n throw Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.substring(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push('<')\n parts.push(\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n )\n parts.push('>')\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic':\n parts.push(someType.name)\n break\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal':\n parts.push(JSON.stringify(someType.value))\n break\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default:\n parts.push('#')\n parts.push(someType.type)\n parts.push('#')\n break\n }\n return parts.join('')\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["FlexCol","FlexRow","useState","Typography","FlexCol","FlexRow","FlexCol","jsx","Typography","Typography","Fragment","jsx","Fragment","jsx","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","hide","FlexCol","jsx","jsxs","hide","hiddenFlags","FlexCol","FlexRow","Typography","Typography","FlexCol","jsx","jsx","jsxs","useState","props","FlexCol","FlexRow"]}
@@ -90,7 +90,7 @@ var createLookup = (reflection) => {
90
90
  var import_material5 = require("@mui/material");
91
91
  var import_react_flexbox4 = require("@xylabs/react-flexbox");
92
92
  var import_react2 = require("react");
93
- var import_react_router_dom_6 = require("react-router-dom-6");
93
+ var import_react_router_dom = require("react-router-dom");
94
94
 
95
95
  // src/resolveChildren.ts
96
96
  var resolveChildren = (reflection, lookup = {}) => {
@@ -308,7 +308,7 @@ var ReflectionGroupViewer = ({
308
308
  const visibleChildren = hiddenFlags ? resolvedChildern.reduce((acc, item) => {
309
309
  return acc + (hide2(item.flags, hiddenFlags) ? 0 : 1);
310
310
  }, 0) : 1;
311
- const { hash } = (0, import_react_router_dom_6.useLocation)();
311
+ const { hash } = (0, import_react_router_dom.useLocation)();
312
312
  (0, import_react2.useEffect)(() => {
313
313
  if (hash && autoscroll) {
314
314
  document.querySelector(hash)?.scrollIntoView({ behavior: "smooth" });
@@ -400,7 +400,7 @@ var DeclarationReflectionViewer = ({ reflection, hiddenFlags, ...props }) => {
400
400
 
401
401
  // src/ReflectionViewer/DeclarationContainer.tsx
402
402
  var import_material6 = require("@mui/material");
403
- var import_react_router_dom_62 = require("react-router-dom-6");
403
+ var import_react_router_dom2 = require("react-router-dom");
404
404
  var import_jsx_runtime10 = require("react/jsx-runtime");
405
405
  var DeclarationContainerReflectionViewer = ({
406
406
  reflection,
@@ -408,7 +408,7 @@ var DeclarationContainerReflectionViewer = ({
408
408
  itemRenderer = DeclarationReflectionViewer,
409
409
  ...props
410
410
  }) => {
411
- const { hash } = (0, import_react_router_dom_62.useLocation)();
411
+ const { hash } = (0, import_react_router_dom2.useLocation)();
412
412
  const theme = (0, import_material6.useTheme)();
413
413
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
414
414
  ContainerReflectionViewer,
@@ -465,10 +465,10 @@ var import_icons_material = require("@mui/icons-material");
465
465
  var import_material7 = require("@mui/material");
466
466
  var import_x_tree_view = require("@mui/x-tree-view");
467
467
  var import_react_flexbox5 = require("@xylabs/react-flexbox");
468
- var import_react_router_dom_63 = require("react-router-dom-6");
468
+ var import_react_router_dom3 = require("react-router-dom");
469
469
  var import_jsx_runtime12 = require("react/jsx-runtime");
470
470
  var ReflectionTreeViewer = ({ lookup, reflection, searchTerm, ...props }) => {
471
- const navigate = (0, import_react_router_dom_63.useNavigate)();
471
+ const navigate = (0, import_react_router_dom3.useNavigate)();
472
472
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_flexbox5.FlexCol, { alignItems: "stretch", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
473
473
  import_x_tree_view.TreeView,
474
474
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/CommentViewer.tsx","../../src/JsonViewerButton.tsx","../../src/ProjectTwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/ReflectionViewer/Container.tsx","../../src/ReflectionViewer/Declaration.tsx","../../src/ReflectionViewer/DeclarationContainer.tsx","../../src/ReflectionViewer/Project.tsx","../../src/TwoPanelReflectionViewer.tsx","../../src/TreeViewer/Reflection.tsx","../../src/TreeViewer/ReflectionGroup.tsx","../../src/SourceViewer.tsx"],"sourcesContent":["export * from './CommentViewer'\nexport * from './JsonViewerButton'\nexport * from './ProjectTwoPanelReflectionViewer'\nexport * from './ReflectionLookup'\nexport * from './ReflectionViewer'\nexport * from './SomeReflection'\nexport * from './SourceViewer'\nexport * from './TreeViewer'\nexport * from './TwoPanelReflectionViewer'\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { ProjectReflection } from 'typedoc'\n\nimport { ContainerReflectionViewerProps, DeclarationContainerReflectionViewer } from './ReflectionViewer'\nimport { TwoPanelReflectionViewer } from './TwoPanelReflectionViewer'\n\nexport const ProjectTwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n itemRenderer = DeclarationContainerReflectionViewer,\n ...props\n}) => {\n assertEx(reflection.isProject, 'Project expected to be Project')\n return <TwoPanelReflectionViewer itemRenderer={itemRenderer} reflection={reflection} {...props} />\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n reflection.children?.forEach((item) => (lookup[item.id] = item as unknown as T))\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom-6'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object':\n return child\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default:\n throw Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.substring(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push('<')\n parts.push(\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n )\n parts.push('>')\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic':\n parts.push(someType.name)\n break\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal':\n parts.push(JSON.stringify(someType.value))\n break\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default:\n parts.push('#')\n parts.push(someType.type)\n parts.push('#')\n break\n }\n return parts.join('')\n}\n","import type { ContainerReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ContainerReflectionViewerProps<T extends ContainerReflection = ContainerReflection> extends ReflectionViewerProps<T> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemRenderer?: React.FC<ReflectionViewerProps<any>>\n}\n\nexport const ContainerReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n children,\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = createLookup(reflection)\n\n return (\n <ReflectionViewer title=\"ContainerReflectionViewer\" sources reflection={reflection} lookup={lookup} {...props}>\n {reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n margin={1}\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n hiddenFlags={hiddenFlags}\n alignItems=\"stretch\"\n />\n )\n })}\n {children}\n </ReflectionViewer>\n )\n}\n","import type { DeclarationReflection, SignatureReflection } from 'typedoc'\n\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport const DeclarationReflectionViewer: React.FC<ReflectionViewerProps<DeclarationReflection>> = ({ reflection, hiddenFlags, ...props }) => {\n const safeSignatures = (signatures?: SignatureReflection[] | SignatureReflection) => {\n return Array.isArray(signatures) ? signatures : signatures ? [signatures] : undefined\n }\n\n return (\n <ReflectionViewer\n nameViewer={reflection.signatures || reflection.getSignature || reflection.setSignature ? null : undefined}\n title=\"DeclarationReflectionViewer\"\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n {...props}\n >\n {reflection.signatures?.map((signature) => {\n return <ReflectionViewer key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.getSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.setSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n </ReflectionViewer>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { useLocation } from 'react-router-dom-6'\nimport type { DeclarationReflection } from 'typedoc'\n\nimport { ContainerReflectionViewer, ContainerReflectionViewerProps } from './Container'\nimport { DeclarationReflectionViewer } from './Declaration'\n\nexport interface DeclarationContainerReflectionViewerProps extends ContainerReflectionViewerProps {\n reflection: DeclarationReflection\n}\n\nexport const DeclarationContainerReflectionViewer: React.FC<DeclarationContainerReflectionViewerProps> = ({\n reflection,\n lookup,\n itemRenderer = DeclarationReflectionViewer,\n ...props\n}) => {\n const { hash } = useLocation()\n const theme = useTheme()\n\n return (\n <ContainerReflectionViewer\n title=\"DeclarationContainerReflectionViewer\"\n paper={hash.substring(1) === reflection.name}\n bgcolor={hash.substring(1) === reflection.name ? theme.palette.background.default : undefined}\n lookup={lookup}\n itemRenderer={itemRenderer}\n reflection={reflection}\n {...props}\n />\n )\n}\n","import { useMemo } from 'react'\nimport type { ProjectReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ContainerReflectionViewerProps } from './Container'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\n\nexport const ProjectReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n return (\n <ReflectionViewer title=\"ProjectReflectionViewer\" hiddenFlags={hiddenFlags} reflection={reflection} {...props}>\n {useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n key={group.title}\n renderer={itemRenderer}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [lookup, reflection, hiddenFlags, itemRenderer])}\n </ReflectionViewer>\n )\n}\n","import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom-6'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { ReflectionGroupViewerProps, ReflectionViewer } from '../ReflectionViewer'\nimport { resolveChildren } from '../resolveChildren'\n\nexport const ReflectionGroupTreeViewer: React.FC<ReflectionGroupViewerProps> = ({\n variant,\n group,\n children,\n lookup,\n renderer = ReflectionViewer,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div key={reflection.id}>{renderer({ lookup, margin: 1, reflection })}</div>\n ) : null\n })}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { SourceReference } from 'typedoc'\n\nexport interface SourceViewerProps extends FlexBoxProps {\n source: SourceReference\n}\n\nexport const SourceViewer: React.FC<SourceViewerProps> = ({ source, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography style={{ opacity: 0.5 }} variant=\"body2\">\n <i>{source.fileName}</i>\n </Typography>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_react_flexbox","import_material","import_react_flexbox","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","hide","import_jsx_runtime","hide","hiddenFlags","import_jsx_runtime","import_jsx_runtime","import_material","import_react_router_dom_6","import_jsx_runtime","import_react","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_router_dom_6","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","props","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/CommentViewer.tsx","../../src/JsonViewerButton.tsx","../../src/ProjectTwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/ReflectionViewer/Container.tsx","../../src/ReflectionViewer/Declaration.tsx","../../src/ReflectionViewer/DeclarationContainer.tsx","../../src/ReflectionViewer/Project.tsx","../../src/TwoPanelReflectionViewer.tsx","../../src/TreeViewer/Reflection.tsx","../../src/TreeViewer/ReflectionGroup.tsx","../../src/SourceViewer.tsx"],"sourcesContent":["export * from './CommentViewer'\nexport * from './JsonViewerButton'\nexport * from './ProjectTwoPanelReflectionViewer'\nexport * from './ReflectionLookup'\nexport * from './ReflectionViewer'\nexport * from './SomeReflection'\nexport * from './SourceViewer'\nexport * from './TreeViewer'\nexport * from './TwoPanelReflectionViewer'\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { ProjectReflection } from 'typedoc'\n\nimport { ContainerReflectionViewerProps, DeclarationContainerReflectionViewer } from './ReflectionViewer'\nimport { TwoPanelReflectionViewer } from './TwoPanelReflectionViewer'\n\nexport const ProjectTwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n itemRenderer = DeclarationContainerReflectionViewer,\n ...props\n}) => {\n assertEx(reflection.isProject, 'Project expected to be Project')\n return <TwoPanelReflectionViewer itemRenderer={itemRenderer} reflection={reflection} {...props} />\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n reflection.children?.forEach((item) => (lookup[item.id] = item as unknown as T))\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object':\n return child\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default:\n throw Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.substring(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push('<')\n parts.push(\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n )\n parts.push('>')\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic':\n parts.push(someType.name)\n break\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal':\n parts.push(JSON.stringify(someType.value))\n break\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default:\n parts.push('#')\n parts.push(someType.type)\n parts.push('#')\n break\n }\n return parts.join('')\n}\n","import type { ContainerReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ContainerReflectionViewerProps<T extends ContainerReflection = ContainerReflection> extends ReflectionViewerProps<T> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemRenderer?: React.FC<ReflectionViewerProps<any>>\n}\n\nexport const ContainerReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n children,\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = createLookup(reflection)\n\n return (\n <ReflectionViewer title=\"ContainerReflectionViewer\" sources reflection={reflection} lookup={lookup} {...props}>\n {reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n margin={1}\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n hiddenFlags={hiddenFlags}\n alignItems=\"stretch\"\n />\n )\n })}\n {children}\n </ReflectionViewer>\n )\n}\n","import type { DeclarationReflection, SignatureReflection } from 'typedoc'\n\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport const DeclarationReflectionViewer: React.FC<ReflectionViewerProps<DeclarationReflection>> = ({ reflection, hiddenFlags, ...props }) => {\n const safeSignatures = (signatures?: SignatureReflection[] | SignatureReflection) => {\n return Array.isArray(signatures) ? signatures : signatures ? [signatures] : undefined\n }\n\n return (\n <ReflectionViewer\n nameViewer={reflection.signatures || reflection.getSignature || reflection.setSignature ? null : undefined}\n title=\"DeclarationReflectionViewer\"\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n {...props}\n >\n {reflection.signatures?.map((signature) => {\n return <ReflectionViewer key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.getSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.setSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n </ReflectionViewer>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { useLocation } from 'react-router-dom'\nimport type { DeclarationReflection } from 'typedoc'\n\nimport { ContainerReflectionViewer, ContainerReflectionViewerProps } from './Container'\nimport { DeclarationReflectionViewer } from './Declaration'\n\nexport interface DeclarationContainerReflectionViewerProps extends ContainerReflectionViewerProps {\n reflection: DeclarationReflection\n}\n\nexport const DeclarationContainerReflectionViewer: React.FC<DeclarationContainerReflectionViewerProps> = ({\n reflection,\n lookup,\n itemRenderer = DeclarationReflectionViewer,\n ...props\n}) => {\n const { hash } = useLocation()\n const theme = useTheme()\n\n return (\n <ContainerReflectionViewer\n title=\"DeclarationContainerReflectionViewer\"\n paper={hash.substring(1) === reflection.name}\n bgcolor={hash.substring(1) === reflection.name ? theme.palette.background.default : undefined}\n lookup={lookup}\n itemRenderer={itemRenderer}\n reflection={reflection}\n {...props}\n />\n )\n}\n","import { useMemo } from 'react'\nimport type { ProjectReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ContainerReflectionViewerProps } from './Container'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\n\nexport const ProjectReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n return (\n <ReflectionViewer title=\"ProjectReflectionViewer\" hiddenFlags={hiddenFlags} reflection={reflection} {...props}>\n {useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n key={group.title}\n renderer={itemRenderer}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [lookup, reflection, hiddenFlags, itemRenderer])}\n </ReflectionViewer>\n )\n}\n","import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { ReflectionGroupViewerProps, ReflectionViewer } from '../ReflectionViewer'\nimport { resolveChildren } from '../resolveChildren'\n\nexport const ReflectionGroupTreeViewer: React.FC<ReflectionGroupViewerProps> = ({\n variant,\n group,\n children,\n lookup,\n renderer = ReflectionViewer,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div key={reflection.id}>{renderer({ lookup, margin: 1, reflection })}</div>\n ) : null\n })}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { SourceReference } from 'typedoc'\n\nexport interface SourceViewerProps extends FlexBoxProps {\n source: SourceReference\n}\n\nexport const SourceViewer: React.FC<SourceViewerProps> = ({ source, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography style={{ opacity: 0.5 }} variant=\"body2\">\n <i>{source.fileName}</i>\n </Typography>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_react_flexbox","import_material","import_react_flexbox","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","hide","import_jsx_runtime","hide","hiddenFlags","import_jsx_runtime","import_jsx_runtime","import_material","import_react_router_dom","import_jsx_runtime","import_react","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_router_dom","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","props","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime"]}
@@ -41,7 +41,7 @@ var createLookup = (reflection) => {
41
41
  import { Typography as Typography4 } from "@mui/material";
42
42
  import { FlexCol as FlexCol3, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
43
43
  import { useEffect } from "react";
44
- import { useLocation } from "react-router-dom-6";
44
+ import { useLocation } from "react-router-dom";
45
45
 
46
46
  // src/resolveChildren.ts
47
47
  var resolveChildren = (reflection, lookup = {}) => {
@@ -351,7 +351,7 @@ var DeclarationReflectionViewer = ({ reflection, hiddenFlags, ...props }) => {
351
351
 
352
352
  // src/ReflectionViewer/DeclarationContainer.tsx
353
353
  import { useTheme } from "@mui/material";
354
- import { useLocation as useLocation2 } from "react-router-dom-6";
354
+ import { useLocation as useLocation2 } from "react-router-dom";
355
355
  import { jsx as jsx10 } from "react/jsx-runtime";
356
356
  var DeclarationContainerReflectionViewer = ({
357
357
  reflection,
@@ -416,7 +416,7 @@ import { Add, Remove } from "@mui/icons-material";
416
416
  import { Typography as Typography5 } from "@mui/material";
417
417
  import { TreeItem, TreeView } from "@mui/x-tree-view";
418
418
  import { FlexCol as FlexCol4 } from "@xylabs/react-flexbox";
419
- import { useNavigate } from "react-router-dom-6";
419
+ import { useNavigate } from "react-router-dom";
420
420
  import { jsx as jsx12 } from "react/jsx-runtime";
421
421
  var ReflectionTreeViewer = ({ lookup, reflection, searchTerm, ...props }) => {
422
422
  const navigate = useNavigate();