comparison x/static/js/6205.903f897d.chunk.js.map @ 125:49f3d3878413 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author fubar
date Sat, 05 Oct 2024 23:58:05 +0000
parents
children
comparison
equal deleted inserted replaced
124:137e08517410 125:49f3d3878413
1 {"version":3,"file":"static/js/6205.903f897d.chunk.js","mappings":"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","sources":["../../../node_modules/@mui/icons-material/esm/RotateLeft.js","../../../node_modules/@mui/icons-material/esm/RotateRight.js","../../../node_modules/@mui/icons-material/esm/LockOpen.js","../../../plugins/circular-view/src/CircularView/components/Controls.tsx","../../../plugins/circular-view/src/CircularView/components/ImportForm.tsx","../../../plugins/circular-view/src/CircularView/components/CircularView.tsx","../../../plugins/circular-view/src/CircularView/components/ExportSvgDialog.tsx","../../../plugins/circular-view/src/CircularView/components/Ruler.tsx","../../../node_modules/@mui/icons-material/esm/Lock.js","../../../node_modules/@mui/material/CircularProgress/CircularProgress.js","../../../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../../node_modules/@mui/system/Container/createContainer.js","../../../node_modules/@mui/material/Container/Container.js","../../../node_modules/@mui/system/styled/styled.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7.11 8.53 5.7 7.11C4.8 8.27 4.24 9.61 4.07 11h2.02c.14-.87.49-1.72 1.02-2.47M6.09 13H4.07c.17 1.39.72 2.73 1.62 3.89l1.41-1.42c-.52-.75-.87-1.59-1.01-2.47m1.01 5.32c1.16.9 2.51 1.44 3.9 1.61V17.9c-.87-.15-1.71-.49-2.46-1.03zM13 4.07V1L8.45 5.55 13 10V6.09c2.84.48 5 2.94 5 5.91s-2.16 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93s-3.05-7.44-7-7.93\"\n}), 'RotateLeft');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.55 5.55 11 1v3.07C7.06 4.56 4 7.92 4 12s3.05 7.44 7 7.93v-2.02c-2.84-.48-5-2.94-5-5.91s2.16-5.43 5-5.91V10zM19.93 11c-.17-1.39-.72-2.73-1.62-3.89l-1.42 1.42c.54.75.88 1.6 1.02 2.47zM13 17.9v2.02c1.39-.17 2.74-.71 3.9-1.61l-1.44-1.44c-.75.54-1.59.89-2.46 1.03m3.89-2.42 1.42 1.41c.9-1.16 1.45-2.5 1.62-3.89h-2.02c-.14.87-.48 1.72-1.02 2.48\"\n}), 'RotateRight');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m0 12H6V10h12z\"\n}), 'LockOpen');","import React, { useState } from 'react'\nimport { observer } from 'mobx-react'\nimport { IconButton } from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\nimport JBrowseMenu from '@jbrowse/core/ui/Menu'\n\n// icons\nimport ZoomOutIcon from '@mui/icons-material/ZoomOut'\nimport ZoomInIcon from '@mui/icons-material/ZoomIn'\nimport RotateLeftIcon from '@mui/icons-material/RotateLeft'\nimport RotateRightIcon from '@mui/icons-material/RotateRight'\nimport LockOpenIcon from '@mui/icons-material/LockOpen'\nimport LockIcon from '@mui/icons-material/Lock'\nimport PhotoCamera from '@mui/icons-material/PhotoCamera'\nimport MoreVert from '@mui/icons-material/MoreVert'\nimport { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons'\n\n// locals\nimport { CircularViewModel } from '../models/model'\nimport { getSession } from '@jbrowse/core/util'\nimport ExportSvgDialog from './ExportSvgDialog'\n\nconst useStyles = makeStyles()(theme => ({\n controls: {\n position: 'absolute',\n borderRight: `1px solid ${theme.palette.divider}`,\n borderBottom: `1px solid ${theme.palette.divider}`,\n left: 0,\n top: 0,\n },\n}))\n\nconst Controls = observer(function ({ model }: { model: CircularViewModel }) {\n const { classes } = useStyles()\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n return (\n <div className={classes.controls}>\n <IconButton\n onClick={model.zoomOutButton}\n title={model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out'}\n disabled={model.atMaxBpPerPx || model.lockedFitToWindow}\n >\n <ZoomOutIcon />\n </IconButton>\n\n <IconButton\n onClick={model.zoomInButton}\n disabled={model.atMinBpPerPx}\n title=\"zoom in\"\n >\n <ZoomInIcon />\n </IconButton>\n\n <IconButton\n onClick={model.rotateCounterClockwiseButton}\n title=\"rotate counter-clockwise\"\n >\n <RotateLeftIcon />\n </IconButton>\n\n <IconButton\n onClick={model.rotateClockwiseButton}\n title=\"rotate clockwise\"\n >\n <RotateRightIcon />\n </IconButton>\n\n <IconButton\n onClick={model.toggleFitToWindowLock}\n title={\n model.lockedFitToWindow\n ? 'locked model to window size'\n : 'unlocked model to zoom further'\n }\n disabled={model.tooSmallToLock}\n >\n {model.lockedFitToWindow ? <LockIcon /> : <LockOpenIcon />}\n </IconButton>\n\n <IconButton\n onClick={event => {\n setAnchorEl(event.currentTarget)\n }}\n >\n <MoreVert />\n </IconButton>\n\n {model.hideTrackSelectorButton ? null : (\n <IconButton\n onClick={model.activateTrackSelector}\n title=\"Open track selector\"\n data-testid=\"circular_track_select\"\n >\n <TrackSelectorIcon />\n </IconButton>\n )}\n\n {anchorEl ? (\n <JBrowseMenu\n anchorEl={anchorEl}\n menuItems={[\n {\n label: 'Export SVG',\n icon: PhotoCamera,\n onClick: () => {\n getSession(model).queueDialog(handleClose => [\n ExportSvgDialog,\n { model, handleClose },\n ])\n },\n },\n ]}\n onMenuItemClick={(_event, callback) => {\n callback()\n setAnchorEl(null)\n }}\n open={Boolean(anchorEl)}\n onClose={() => {\n setAnchorEl(null)\n }}\n />\n ) : null}\n </div>\n )\n})\n\nexport default Controls\n","import React, { useState } from 'react'\nimport { Button, Container, Grid } from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\nimport { observer } from 'mobx-react'\nimport { getSession } from '@jbrowse/core/util'\nimport { ErrorMessage, AssemblySelector } from '@jbrowse/core/ui'\nimport { CircularViewModel } from '../models/model'\n\nconst useStyles = makeStyles()(theme => ({\n importFormContainer: {\n padding: theme.spacing(6),\n },\n}))\n\nconst ImportForm = observer(function ({ model }: { model: CircularViewModel }) {\n const { classes } = useStyles()\n const session = getSession(model)\n const { error } = model\n const { assemblyNames, assemblyManager } = session\n const [selectedAsm, setSelectedAsm] = useState(assemblyNames[0]!)\n const assembly = assemblyManager.get(selectedAsm)\n const assemblyError = assemblyNames.length\n ? assembly?.error\n : 'No configured assemblies'\n const regions = assembly?.regions || []\n const err = assemblyError || error\n\n return (\n <Container className={classes.importFormContainer}>\n {err ? (\n <Grid container spacing={1} justifyContent=\"center\" alignItems=\"center\">\n <Grid item>\n <ErrorMessage error={err} />\n </Grid>\n </Grid>\n ) : null}\n <Grid container spacing={1} justifyContent=\"center\" alignItems=\"center\">\n <Grid item>\n <AssemblySelector\n onChange={val => {\n model.setError(undefined)\n setSelectedAsm(val)\n }}\n session={session}\n selected={selectedAsm}\n />\n </Grid>\n\n <Grid item>\n <Button\n disabled={!regions.length}\n onClick={() => {\n model.setError(undefined)\n model.setDisplayedRegions(regions)\n }}\n variant=\"contained\"\n color=\"primary\"\n >\n {/* if there's an error, it's not actively loading so just display open */}\n {regions.length || err ? 'Open' : 'Loading...'}\n </Button>\n </Grid>\n </Grid>\n </Container>\n )\n})\n\nexport default ImportForm\n","import React from 'react'\nimport { observer } from 'mobx-react'\nimport { ResizeHandle } from '@jbrowse/core/ui'\nimport { assembleLocString } from '@jbrowse/core/util'\nimport { makeStyles } from 'tss-react/mui'\n\n// locals\nimport Ruler from './Ruler'\nimport Controls from './Controls'\nimport ImportForm from './ImportForm'\nimport { CircularViewModel } from '../models/model'\n\nconst dragHandleHeight = 3\n\nconst useStyles = makeStyles()(theme => ({\n root: {\n position: 'relative',\n marginBottom: theme.spacing(1),\n overflow: 'hidden',\n },\n scroller: {\n overflow: 'auto',\n },\n}))\n\nconst Slices = observer(({ model }: { model: CircularViewModel }) => {\n return (\n <>\n {model.staticSlices.map(slice => (\n <Ruler\n key={assembleLocString(\n slice.region.elided ? slice.region.regions[0]! : slice.region,\n )}\n model={model}\n slice={slice}\n />\n ))}\n {model.tracks.map(track => {\n const display = track.displays[0]\n return (\n <display.RenderingComponent\n key={display.id}\n display={display}\n view={model}\n />\n )\n })}\n </>\n )\n})\n\nconst CircularView = observer(({ model }: { model: CircularViewModel }) => {\n const initialized =\n !!model.displayedRegions.length &&\n !!model.figureWidth &&\n !!model.figureHeight &&\n model.initialized\n\n const showImportForm = !initialized && !model.disableImportForm\n const showFigure = initialized && !showImportForm\n\n return showImportForm || model.error ? (\n <ImportForm model={model} />\n ) : showFigure ? (\n <CircularViewLoaded model={model} />\n ) : null\n})\n\nconst CircularViewLoaded = observer(function ({\n model,\n}: {\n model: CircularViewModel\n}) {\n const {\n width,\n height,\n id,\n offsetRadians,\n centerXY,\n figureWidth,\n figureHeight,\n hideVerticalResizeHandle,\n } = model\n const { classes } = useStyles()\n return (\n <div className={classes.root} style={{ width, height }} data-testid={id}>\n <div className={classes.scroller} style={{ width, height }}>\n <svg\n style={{\n transform: `rotate(${offsetRadians}rad)`,\n transition: 'transform 0.5s',\n transformOrigin: centerXY.map(x => `${x}px`).join(' '),\n position: 'absolute',\n left: 0,\n top: 0,\n }}\n width={figureWidth}\n height={figureHeight}\n >\n <g transform={`translate(${centerXY})`}>\n <Slices model={model} />\n </g>\n </svg>\n </div>\n <Controls model={model} />\n {hideVerticalResizeHandle ? null : (\n <ResizeHandle\n onDrag={model.resizeHeight}\n style={{\n height: dragHandleHeight,\n position: 'absolute',\n bottom: 0,\n left: 0,\n background: '#ccc',\n boxSizing: 'border-box',\n borderTop: '1px solid #fafafa',\n }}\n />\n )}\n </div>\n )\n})\n\nexport default CircularView\n","import React, { useState } from 'react'\nimport {\n Button,\n Checkbox,\n CircularProgress,\n DialogActions,\n DialogContent,\n FormControlLabel,\n MenuItem,\n TextField,\n TextFieldProps,\n Typography,\n} from '@mui/material'\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\n\n// locals\nimport { ExportSvgOptions } from '../models/model'\nimport { getSession, useLocalStorage } from '@jbrowse/core/util'\n\nfunction LoadingMessage() {\n return (\n <div>\n <CircularProgress size={20} style={{ marginRight: 20 }} />\n <Typography display=\"inline\">Creating SVG</Typography>\n </div>\n )\n}\n\nfunction TextField2({ children, ...rest }: TextFieldProps) {\n return (\n <div>\n <TextField {...rest}>{children}</TextField>\n </div>\n )\n}\nfunction useSvgLocal<T>(key: string, val: T) {\n return useLocalStorage(`svg-${key}`, val)\n}\n\nexport default function ExportSvgDialog({\n model,\n handleClose,\n}: {\n model: { exportSvg(opts: ExportSvgOptions): Promise<void> }\n handleClose: () => void\n}) {\n const session = getSession(model)\n const offscreenCanvas = typeof OffscreenCanvas !== 'undefined'\n const [rasterizeLayers, setRasterizeLayers] = useState(offscreenCanvas)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<unknown>()\n const [filename, setFilename] = useSvgLocal('file', 'jbrowse.svg')\n const [themeName, setThemeName] = useSvgLocal(\n 'theme',\n session.themeName || 'default',\n )\n return (\n <Dialog open onClose={handleClose} title=\"Export SVG\">\n <DialogContent>\n {error ? (\n <ErrorMessage error={error} />\n ) : loading ? (\n <LoadingMessage />\n ) : null}\n <TextField2\n helperText=\"filename\"\n value={filename}\n onChange={event => {\n setFilename(event.target.value)\n }}\n />\n\n {session.allThemes ? (\n <TextField2\n select\n label=\"Theme\"\n value={themeName}\n onChange={event => {\n setThemeName(event.target.value)\n }}\n >\n {Object.entries(session.allThemes()).map(([key, val]) => (\n <MenuItem key={key} value={key}>\n {\n // @ts-expect-error\n val.name || '(Unknown name)'\n }\n </MenuItem>\n ))}\n </TextField2>\n ) : null}\n {offscreenCanvas ? (\n <FormControlLabel\n control={\n <Checkbox\n checked={rasterizeLayers}\n onChange={() => {\n setRasterizeLayers(val => !val)\n }}\n />\n }\n label=\"Rasterize canvas based tracks? File may be much larger if this is turned off\"\n />\n ) : (\n <Typography>\n Note: rasterizing layers not yet supported in this browser, so SVG\n size may be large\n </Typography>\n )}\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n handleClose()\n }}\n >\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={async () => {\n setLoading(true)\n setError(undefined)\n try {\n await model.exportSvg({\n rasterizeLayers,\n filename,\n themeName,\n })\n handleClose()\n } catch (e) {\n console.error(e)\n setError(e)\n } finally {\n setLoading(false)\n }\n }}\n >\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import React from 'react'\nimport { observer } from 'mobx-react'\nimport {\n getSession,\n polarToCartesian,\n radToDeg,\n assembleLocString,\n getStrokeProps,\n getFillProps,\n} from '@jbrowse/core/util'\nimport { makeContrasting } from '@jbrowse/core/util/color'\nimport { useTheme } from '@mui/material/styles'\nimport { makeStyles } from 'tss-react/mui'\n\n// locals\nimport {\n Slice,\n SliceElidedRegion,\n SliceNonElidedRegion,\n} from '../models/slices'\nimport { CircularViewModel } from '../models/model'\n\nconst useStyles = makeStyles()({\n rulerLabel: {\n fontSize: '0.8rem',\n fontWeight: 500,\n lineHeight: 1.6,\n letterSpacing: '0.0075em',\n },\n})\n\nfunction sliceArcPath(\n slice: Slice,\n radiusPx: number,\n startBase: number,\n endBase: number,\n) {\n // A rx ry x-axis-rotation large-arc-flag sweep-flag x y\n if (slice.flipped) {\n ;[startBase, endBase] = [endBase, startBase]\n }\n const startXY = slice.bpToXY(startBase, radiusPx)\n const endXY = slice.bpToXY(endBase, radiusPx)\n const largeArc =\n Math.abs(endBase - startBase) / slice.bpPerRadian > Math.PI ? '1' : '0'\n const sweepFlag = '1'\n return [\n 'M',\n ...startXY,\n 'A',\n radiusPx,\n radiusPx,\n '0',\n largeArc,\n sweepFlag,\n ...endXY,\n ].join(' ')\n}\n\nconst ElisionRulerArc = observer(function ({\n model,\n slice,\n region,\n}: {\n model: CircularViewModel\n slice: Slice\n region: SliceElidedRegion\n}) {\n const theme = useTheme()\n const { radiusPx: modelRadiusPx } = model\n const radiusPx = modelRadiusPx + 1\n const { endRadians, startRadians } = slice\n const startXY = polarToCartesian(radiusPx, startRadians)\n const endXY = polarToCartesian(radiusPx, endRadians)\n const widthPx = (endRadians - startRadians) * radiusPx\n const largeArc = endRadians - startRadians > Math.PI ? '1' : '0'\n // TODO: draw the elision\n const centerRadians = (endRadians + startRadians) / 2\n const regionCount = `[${Number(region.regions.length).toLocaleString()}]`\n return (\n <>\n <RulerLabel\n text={regionCount}\n view={model}\n maxWidthPx={widthPx}\n radians={centerRadians}\n radiusPx={radiusPx}\n title={`${regionCount} more regions`}\n color={theme.palette.text.primary}\n />\n <path\n d={[\n 'M',\n ...startXY,\n 'A',\n radiusPx,\n radiusPx,\n '0',\n largeArc,\n '1',\n ...endXY,\n ].join(' ')}\n {...getStrokeProps(theme.palette.text.secondary)}\n strokeWidth={2}\n strokeDasharray=\"2,2\"\n fill=\"none\"\n />\n </>\n )\n})\n\nconst RulerLabel = observer(function ({\n view,\n text,\n maxWidthPx,\n radians,\n radiusPx,\n title,\n color,\n}: {\n view: CircularViewModel\n text: string\n maxWidthPx: number\n radiusPx: number\n radians: number\n title?: string\n color: string\n}) {\n const { classes } = useStyles()\n const textXY = polarToCartesian(radiusPx + 5, radians)\n if (!text) {\n return null\n }\n\n if (text.length * 6.5 < maxWidthPx) {\n // text is rotated parallel to the ruler arc\n return (\n <text\n x={0}\n y={0}\n className={classes.rulerLabel}\n textAnchor=\"middle\"\n dominantBaseline=\"baseline\"\n transform={`translate(${textXY}) rotate(${radToDeg(radians) + 90})`}\n {...getFillProps(color)}\n >\n {text}\n <title>{title || text}</title>\n </text>\n )\n }\n if (maxWidthPx > 4) {\n // text is rotated perpendicular to the ruler arc\n const overallRotation = radToDeg(radians + view.offsetRadians - Math.PI / 2)\n if (overallRotation >= 180) {\n return (\n <text\n x={0}\n y={0}\n className={classes.rulerLabel}\n textAnchor=\"start\"\n dominantBaseline=\"middle\"\n transform={`translate(${textXY}) rotate(${radToDeg(radians)})`}\n fill={color}\n >\n {text}\n <title>{title || text}</title>\n </text>\n )\n }\n return (\n <text\n x={0}\n y={0}\n className={classes.rulerLabel}\n textAnchor=\"end\"\n dominantBaseline=\"middle\"\n transform={`translate(${textXY}) rotate(${radToDeg(radians) + 180})`}\n fill={color}\n >\n {text}\n <title>{title || text}</title>\n </text>\n )\n }\n\n // if you get here there is no room for the text at all\n return null\n})\n\nconst RegionRulerArc = observer(function ({\n model,\n slice,\n region,\n}: {\n model: CircularViewModel\n slice: Slice\n region: SliceNonElidedRegion\n}) {\n const theme = useTheme()\n const { radiusPx } = model\n const { endRadians, startRadians } = slice\n const centerRadians = (endRadians + startRadians) / 2\n const widthPx = (endRadians - startRadians) * radiusPx\n const session = getSession(model)\n const assembly = session.assemblyManager.get(region.assemblyName)\n let color = assembly ? assembly.getRefNameColor(region.refName) : undefined\n if (color) {\n try {\n color = makeContrasting(color, theme.palette.background.paper)\n } catch (error) {\n color = theme.palette.text.primary\n }\n } else {\n color = theme.palette.text.primary\n }\n\n // TODO: slice flipping\n return (\n <>\n <RulerLabel\n text={region.refName}\n view={model}\n maxWidthPx={widthPx}\n radians={centerRadians}\n radiusPx={radiusPx}\n color={color}\n />\n <path\n d={sliceArcPath(slice, radiusPx + 1, region.start, region.end)}\n stroke={color}\n strokeWidth={2}\n fill=\"none\"\n />\n </>\n )\n})\n\nconst Ruler = observer(function ({\n model,\n slice,\n}: {\n model: CircularViewModel\n slice: Slice\n}) {\n return slice.region.elided ? (\n <ElisionRulerArc\n key={assembleLocString(slice.region.regions[0]!)}\n model={model}\n region={slice.region}\n slice={slice}\n />\n ) : (\n <RegionRulerArc\n key={assembleLocString(slice.region)}\n region={slice.region}\n model={model}\n slice={slice}\n />\n )\n})\n\nexport default Ruler\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z\"\n}), 'Lock');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { getCircularProgressUtilityClass } from \"./circularProgressClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`;\nconst circularDashKeyframe = keyframes`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst rotateAnimation = typeof circularRotateKeyframe !== 'string' ? css`\n animation: ${circularRotateKeyframe} 1.4s linear infinite;\n ` : null;\nconst dashAnimation = typeof circularDashKeyframe !== 'string' ? css`\n animation: ${circularDashKeyframe} 1.4s ease-in-out infinite;\n ` : null;\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-block',\n variants: [{\n props: {\n variant: 'determinate'\n },\n style: {\n transition: theme.transitions.create('transform')\n }\n }, {\n props: {\n variant: 'indeterminate'\n },\n style: rotateAnimation || {\n animation: `${circularRotateKeyframe} 1.4s linear infinite`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n }))]\n})));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(memoTheme(({\n theme\n}) => ({\n stroke: 'currentColor',\n variants: [{\n props: {\n variant: 'determinate'\n },\n style: {\n transition: theme.transitions.create('stroke-dashoffset')\n }\n }, {\n props: {\n variant: 'indeterminate'\n },\n style: {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink,\n style: dashAnimation || {\n // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.\n animation: `${circularDashKeyframe} 1.4s ease-in-out infinite`\n }\n }]\n})));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, {\n className: clsx(classes.root, className),\n style: {\n width: size,\n height: size,\n ...rootStyle,\n ...style\n },\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\",\n ...rootProps,\n ...other,\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useThemePropsSystem from \"../useThemeProps/index.js\";\nimport systemStyled from \"../styled/index.js\";\nimport createTheme from \"../createTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => ({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n ...(!ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n })\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => ({\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ...(ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }),\n ...(ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n })\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg',\n classes: classesProp,\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n disableGutters,\n fixed,\n maxWidth\n };\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, {\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other\n })\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from \"../utils/capitalize.js\";\nimport styled from \"../styles/styled.js\";\nimport useThemeProps from \"../styles/useThemeProps.js\";\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","import createStyled from \"../createStyled/index.js\";\nconst styled = createStyled();\nexport default styled;"],"names":["createSvgIcon","d","useStyles","makeStyles","theme","controls","position","borderRight","palette","divider","borderBottom","left","top","observer","model","classes","anchorEl","setAnchorEl","useState","React","className","IconButton","onClick","zoomOutButton","title","lockedFitToWindow","disabled","atMaxBpPerPx","ZoomOutIcon","zoomInButton","atMinBpPerPx","ZoomInIcon","rotateCounterClockwiseButton","RotateLeftIcon","rotateClockwiseButton","RotateRightIcon","toggleFitToWindowLock","tooSmallToLock","LockIcon","LockOpenIcon","event","currentTarget","MoreVert","hideTrackSelectorButton","activateTrackSelector","TrackSelectorIcon","JBrowseMenu","menuItems","label","icon","PhotoCamera","getSession","queueDialog","handleClose","ExportSvgDialog","onMenuItemClick","_event","callback","open","Boolean","onClose","importFormContainer","padding","spacing","session","error","assemblyNames","assemblyManager","selectedAsm","setSelectedAsm","assembly","get","assemblyError","length","regions","err","Container","Grid","container","justifyContent","alignItems","item","ErrorMessage","AssemblySelector","onChange","val","setError","undefined","selected","Button","setDisplayedRegions","variant","color","root","marginBottom","overflow","scroller","Slices","staticSlices","map","slice","Ruler","key","assembleLocString","region","elided","tracks","track","display","displays","RenderingComponent","id","view","CircularView","initialized","displayedRegions","figureWidth","figureHeight","showImportForm","disableImportForm","showFigure","ImportForm","CircularViewLoaded","width","height","offsetRadians","centerXY","hideVerticalResizeHandle","style","transform","transition","transformOrigin","x","join","Controls","ResizeHandle","onDrag","resizeHeight","bottom","background","boxSizing","borderTop","LoadingMessage","CircularProgress","size","marginRight","Typography","TextField2","children","rest","TextField","useSvgLocal","useLocalStorage","offscreenCanvas","OffscreenCanvas","rasterizeLayers","setRasterizeLayers","loading","setLoading","filename","setFilename","themeName","setThemeName","Dialog","DialogContent","helperText","value","target","allThemes","select","Object","entries","MenuItem","name","FormControlLabel","control","Checkbox","checked","DialogActions","type","async","exportSvg","e","console","rulerLabel","fontSize","fontWeight","lineHeight","letterSpacing","sliceArcPath","radiusPx","startBase","endBase","flipped","startXY","bpToXY","endXY","Math","abs","bpPerRadian","PI","ElisionRulerArc","useTheme","modelRadiusPx","endRadians","startRadians","polarToCartesian","widthPx","largeArc","centerRadians","regionCount","Number","toLocaleString","RulerLabel","text","maxWidthPx","radians","primary","_extends","getStrokeProps","secondary","strokeWidth","strokeDasharray","fill","textXY","y","textAnchor","dominantBaseline","radToDeg","getFillProps","RegionRulerArc","assemblyName","getRefNameColor","refName","makeContrasting","paper","start","end","stroke","circularRotateKeyframe","circularDashKeyframe","rotateAnimation","dashAnimation","CircularProgressRoot","slot","overridesResolver","props","styles","ownerState","variants","transitions","create","animation","filter","vars","main","CircularProgressSVG","svg","CircularProgressCircle","circle","disableShrink","circleDisableShrink","strokeDashoffset","inProps","ref","thickness","other","slots","useUtilityClasses","circleStyle","rootStyle","rootProps","circumference","toFixed","round","role","viewBox","cx","cy","r","getCircularProgressUtilityClass","defaultTheme","createTheme","defaultCreateStyledComponent","capitalize","String","maxWidth","fixed","disableGutters","useThemePropsDefault","useThemeProps","options","createStyledComponent","componentName","ContainerRoot","marginLeft","paddingLeft","paddingRight","breakpoints","up","keys","values","reduce","acc","breakpointValueKey","breakpoint","unit","max","xs","component","classesProp","composeClasses","generateUtilityClass","as","clsx","createContainer"],"sourceRoot":""}