diff --git a/packages/core/assemblyManager/assemblyManager.ts b/packages/core/assemblyManager/assemblyManager.ts index 72e071e868..45ee3928e5 100644 --- a/packages/core/assemblyManager/assemblyManager.ts +++ b/packages/core/assemblyManager/assemblyManager.ts @@ -1,13 +1,14 @@ import { addDisposer, - cast, getParent, types, Instance, IAnyType, } from 'mobx-state-tree' -import { when } from '../util' import { reaction } from 'mobx' + +// locals +import { when } from '../util' import { readConfObject, AnyConfigurationModel } from '../configuration' import assemblyFactory, { Assembly } from './assembly' import PluginManager from '../PluginManager' @@ -167,20 +168,17 @@ function assemblyManagerFactory(conf: IAnyType, pm: PluginManager) { reaction( () => self.assemblyList, assemblyConfs => { - self.assemblies.forEach(asm => { + for (const asm of self.assemblies) { if (!asm.configuration) { this.removeAssembly(asm) } - }) - assemblyConfs.forEach(conf => { - if ( - !self.assemblies.some( - a => a.name === readConfObject(conf, 'name'), - ) - ) { + } + for (const conf of assemblyConfs) { + const name = readConfObject(conf, 'name') + if (!self.assemblies.some(a => a.name === name)) { this.addAssembly(conf) } - }) + } }, { fireImmediately: true, name: 'assemblyManagerAfterAttach' }, ), @@ -210,16 +208,6 @@ function assemblyManagerFactory(conf: IAnyType, pm: PluginManager) { addAssembly(configuration: Conf) { self.assemblies.push({ configuration }) }, - - /** - * #action - * private: you would generally want to add to manipulate - * jbrowse.assemblies, session.sessionAssemblies, or - * session.temporaryAssemblies instead of using this directly - */ - replaceAssembly(idx: number, configuration: Conf) { - self.assemblies[idx] = cast({ configuration }) - }, })) } diff --git a/plugins/breakpoint-split-view/src/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.tsx b/plugins/breakpoint-split-view/src/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.tsx index 0cdabed361..f757f3f00e 100644 --- a/plugins/breakpoint-split-view/src/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.tsx +++ b/plugins/breakpoint-split-view/src/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.tsx @@ -87,15 +87,16 @@ export async function renderToSvg(model: BSV, opts: ExportSvgOptions) { - + + + @@ -105,15 +106,16 @@ export async function renderToSvg(model: BSV, opts: ExportSvgOptions) { - + + + diff --git a/plugins/comparative-adapters/src/MCScanAnchorsAdapter/MCScanAnchorsAdapter.ts b/plugins/comparative-adapters/src/MCScanAnchorsAdapter/MCScanAnchorsAdapter.ts index ebea237900..ae028e8633 100644 --- a/plugins/comparative-adapters/src/MCScanAnchorsAdapter/MCScanAnchorsAdapter.ts +++ b/plugins/comparative-adapters/src/MCScanAnchorsAdapter/MCScanAnchorsAdapter.ts @@ -73,14 +73,31 @@ export default class MCScanAnchorsAdapter extends BaseFeatureDataAdapter { } async hasDataForRefName() { - // determining this properly is basically a call to getFeatures - // so is not really that important, and has to be true or else - // getFeatures is never called (BaseFeatureDataAdapter filters it out) + // determining this properly is basically a call to getFeatures so is not + // really that important, and has to be true or else getFeatures is never + // called (BaseFeatureDataAdapter filters it out) return true } - async getRefNames() { - // we cannot determine this accurately + getAssemblyNames() { + const assemblyNames = this.getConf('assemblyNames') as string[] + return assemblyNames + } + + async getRefNames(opts: BaseOptions = {}) { + // @ts-expect-error + const r1 = opts.regions?.[0].assemblyName + const { feats } = await this.setup(opts) + + const idx = this.getAssemblyNames().indexOf(r1) + if (idx !== -1) { + const set = new Set() + for (const feat of feats) { + set.add(idx === 0 ? feat[0].refName : feat[1].refName) + } + return [...set] + } + console.warn('Unable to do ref renaming on adapter') return [] } diff --git a/plugins/comparative-adapters/src/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.ts b/plugins/comparative-adapters/src/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.ts index 26e6ffdf93..7f8a22ed5f 100644 --- a/plugins/comparative-adapters/src/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.ts +++ b/plugins/comparative-adapters/src/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.ts @@ -93,8 +93,31 @@ export default class MCScanAnchorsAdapter extends BaseFeatureDataAdapter { return true } - async getRefNames() { - // we cannot determine this accurately + getAssemblyNames() { + const assemblyNames = this.getConf('assemblyNames') as string[] + return assemblyNames + } + + async getRefNames(opts: BaseOptions = {}) { + // @ts-expect-error + const r1 = opts.regions?.[0].assemblyName + const { feats } = await this.setup(opts) + + const idx = this.getAssemblyNames().indexOf(r1) + if (idx !== -1) { + const set = new Set() + for (const feat of feats) { + if (idx === 0) { + set.add(feat[0].refName) + set.add(feat[1].refName) + } else { + set.add(feat[2].refName) + set.add(feat[3].refName) + } + } + return [...set] + } + console.warn('Unable to do ref renaming on adapter') return [] } diff --git a/plugins/config/src/index.ts b/plugins/config/src/index.ts index 0a1fa9909e..4da311a0c8 100644 --- a/plugins/config/src/index.ts +++ b/plugins/config/src/index.ts @@ -23,6 +23,4 @@ export default class ConfigurationPlugin extends Plugin { } } -export { default as JsonEditor } from './ConfigurationEditorWidget/components/JsonEditor' - export { LazyConfigurationEditorComponent as ConfigurationEditor } diff --git a/plugins/linear-comparative-view/src/LinearComparativeDisplay/stateModelFactory.ts b/plugins/linear-comparative-view/src/LinearComparativeDisplay/stateModelFactory.ts index b85c5ed101..6c28b3b0b9 100644 --- a/plugins/linear-comparative-view/src/LinearComparativeDisplay/stateModelFactory.ts +++ b/plugins/linear-comparative-view/src/LinearComparativeDisplay/stateModelFactory.ts @@ -3,7 +3,7 @@ import { ConfigurationReference, AnyConfigurationSchemaType, } from '@jbrowse/core/configuration' -import { types, getSnapshot, Instance } from 'mobx-state-tree' +import { types, getSnapshot, Instance, getParent } from 'mobx-state-tree' import { dedupe, Feature, @@ -34,10 +34,6 @@ function stateModelFactory(configSchema: AnyConfigurationSchemaType) { * #property */ configuration: ConfigurationReference(configSchema), - /** - * #property - */ - height: 100, }), ) .volatile((/* self */) => ({ @@ -165,20 +161,22 @@ function renderBlockData(self: LinearComparativeDisplay) { const { rpcManager } = getSession(self) const display = self - // Alternative to readConfObject(config) is below used because renderProps is - // something under our control. Compare to serverSideRenderedBlock + // Alternative to readConfObject(config) is below used because + // renderProps is something under our control. Compare to + // serverSideRenderedBlock readConfObject(self.configuration) const { adapterConfig } = self const parent = getContainingView(self) as LinearComparativeViewModel const sessionId = getRpcSessionId(self) getSnapshot(parent) - return parent.initialized ? { rpcManager, renderProps: { ...display.renderProps(), + // @ts-expect-error + level: getParent(self, 4).level as number, view: parent, adapterConfig, sessionId, @@ -195,11 +193,10 @@ async function renderBlockEffect(props: ReturnType) { } const { rpcManager, renderProps } = props - const { adapterConfig } = renderProps - const view0 = renderProps.view.views[0] - + const { adapterConfig, level } = renderProps + const view = renderProps.view.views[level] const features = (await rpcManager.call('getFeats', 'CoreGetFeatures', { - regions: view0.staticBlocks.contentBlocks, + regions: view.staticBlocks.contentBlocks, sessionId: 'getFeats', adapterConfig, })) as Feature[] diff --git a/plugins/linear-comparative-view/src/LinearComparativeView/components/Header.tsx b/plugins/linear-comparative-view/src/LinearComparativeView/components/Header.tsx index fda03a343a..0bb095cc82 100644 --- a/plugins/linear-comparative-view/src/LinearComparativeView/components/Header.tsx +++ b/plugins/linear-comparative-view/src/LinearComparativeView/components/Header.tsx @@ -1,9 +1,9 @@ import React, { useState } from 'react' -import { IconButton, Typography } from '@mui/material' +import { Typography } from '@mui/material' import { makeStyles } from 'tss-react/mui' import { SearchBox } from '@jbrowse/plugin-linear-genome-view' import { observer } from 'mobx-react' -import { Menu } from '@jbrowse/core/ui' +import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton' // icons import MoreVertIcon from '@mui/icons-material/MoreVert' @@ -11,9 +11,6 @@ import MoreVertIcon from '@mui/icons-material/MoreVert' // locals import { LinearComparativeViewModel } from '../model' import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons' -import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton' - -type LCV = LinearComparativeViewModel const useStyles = makeStyles()(() => ({ headerBar: { @@ -39,7 +36,11 @@ const useStyles = makeStyles()(() => ({ }, })) -const TrackSelector = observer(({ model }: { model: LCV }) => { +const TrackSelector = observer(function ({ + model, +}: { + model: LinearComparativeViewModel +}) { return ( { ) }) -const Header = observer(function ({ model }: { model: LCV }) { +const Header = observer(function ({ + model, +}: { + model: LinearComparativeViewModel +}) { const { classes } = useStyles() - const [menuAnchorEl, setMenuAnchorEl] = useState() - const anyShowHeaders = model.views.some(view => !view.hideHeader) + const { views } = model + const [showSearchBoxes, setShowSearchBoxes] = useState(false) return (
- - setMenuAnchorEl(event.currentTarget)} + setShowSearchBoxes(!showSearchBoxes), + type: 'checkbox', + }, + ]} > - - {!anyShowHeaders - ? model.views.map(view => ( + + + {showSearchBoxes ? ( +
+ {views.map(view => (
-
- - {Math.round(view.coarseTotalBp).toLocaleString('en-US')} bp - -
+ + {view.assemblyNames.join(',')}{' '} + {Math.round(view.coarseTotalBp).toLocaleString('en-US')} bp +
- )) - : null} + ))} +
+ ) : null}
- - {menuAnchorEl ? ( - { - callback() - setMenuAnchorEl(undefined) - }} - menuItems={model.headerMenuItems()} - onClose={() => setMenuAnchorEl(undefined)} - /> - ) : null}
) }) diff --git a/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeRenderArea.tsx b/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeRenderArea.tsx new file mode 100644 index 0000000000..1a4399468a --- /dev/null +++ b/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeRenderArea.tsx @@ -0,0 +1,90 @@ +import React from 'react' +import { makeStyles } from 'tss-react/mui' +import { observer } from 'mobx-react' +import { getEnv } from '@jbrowse/core/util' +import { ResizeHandle } from '@jbrowse/core/ui' + +// locals +import { LinearComparativeViewModel } from '../model' +import { getConf } from '@jbrowse/core/configuration' +import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view' + +const useStyles = makeStyles()({ + container: { + display: 'grid', + }, + overlay: { + zIndex: 100, + gridArea: '1/1', + }, + resizeHandle: { + height: 4, + background: '#ccc', + }, +}) + +function View({ view }: { view: LinearGenomeViewModel }) { + const { pluginManager } = getEnv(view) + const { ReactComponent } = pluginManager.getViewType(view.type) + return +} + +const LinearComparativeRenderArea = observer(function ({ + model, +}: { + model: LinearComparativeViewModel +}) { + const { classes } = useStyles() + const { views, levels } = model + const RenderList = [ + , + ] as React.ReactNode[] + for (let i = 1; i < views.length; i++) { + RenderList.push( + +
+ +
+ levels[i - 1].setHeight(levels[i - 1].height + n)} + className={classes.resizeHandle} + /> + +
, + ) + } + return
{RenderList}
+}) + +const Overlays = observer(function ({ + model, + level, +}: { + model: LinearComparativeViewModel + level: number +}) { + const { classes } = useStyles() + return ( + <> + {model.levels[level]?.tracks.map(track => { + const [display] = track.displays + const { RenderingComponent } = display + const trackId = getConf(track, 'trackId') + return RenderingComponent ? ( +
+ +
+ ) : null + })} + + ) +}) + +export default LinearComparativeRenderArea diff --git a/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeView.tsx b/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeView.tsx index e6a84eee2f..0ba322ee09 100644 --- a/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeView.tsx +++ b/plugins/linear-comparative-view/src/LinearComparativeView/components/LinearComparativeView.tsx @@ -1,34 +1,14 @@ import React from 'react' import { makeStyles } from 'tss-react/mui' import { observer } from 'mobx-react' -import { getConf, AnyConfigurationModel } from '@jbrowse/core/configuration' -import { getEnv } from '@jbrowse/core/util' -import { ResizeHandle } from '@jbrowse/core/ui' // locals import { LinearComparativeViewModel } from '../model' import Rubberband from './Rubberband' import Header from './Header' +import LinearComparativeRenderArea from './LinearComparativeRenderArea' const useStyles = makeStyles()(theme => ({ - container: { - display: 'grid', - }, - overlay: { - zIndex: 100, - gridArea: '1/1', - }, - content: { - gridArea: '1/1', - position: 'relative', - }, - grid: { - display: 'grid', - }, - relative: { - position: 'relative', - }, - // this helps keep the vertical guide inside the parent view container, // similar style exists in the single LGV's trackscontainer rubberbandContainer: { @@ -46,39 +26,12 @@ const useStyles = makeStyles()(theme => ({ }, })) -type LCV = LinearComparativeViewModel - -const Overlays = observer(({ model }: { model: LCV }) => { - const { classes } = useStyles() - return ( - <> - {model.tracks.map(track => { - const [display] = track.displays - const { RenderingComponent } = display - const trackId = getConf(track, 'trackId') - return RenderingComponent ? ( -
- -
- ) : null - })} - - ) -}) - -// The comparative is in the middle of the views -const MiddleComparativeView = observer(({ model }: { model: LCV }) => { +const LinearComparativeView = observer(function ({ + model, +}: { + model: LinearComparativeViewModel +}) { const { classes } = useStyles() - const { views } = model - const { pluginManager } = getEnv(model) - const { ReactComponent } = pluginManager.getViewType(views[0].type) return (
@@ -87,68 +40,9 @@ const MiddleComparativeView = observer(({ model }: { model: LCV }) => { model={model} ControlComponent={
} /> -
- -
- -
- - model.setMiddleComparativeHeight(model.middleComparativeHeight + n) - } - style={{ - height: 4, - background: '#ccc', - }} - /> - -
+
) }) -const OverlayComparativeView = observer(({ model }: { model: LCV }) => { - const { classes } = useStyles() - const { views } = model - const { pluginManager } = getEnv(model) - return ( -
-
- } - /> - -
-
-
- {views.map(view => { - const { ReactComponent } = pluginManager.getViewType(view.type) - return - })} -
- -
-
-
- ) -}) - -const LinearComparativeView = observer(function (props: { - ExtraButtons?: React.ReactNode - model: LCV -}) { - const { model } = props - - const middle = model.tracks.some(({ displays }) => - displays.some((d: { configuration: AnyConfigurationModel }) => - getConf(d, 'middle'), - ), - ) - return middle ? ( - - ) : ( - - ) -}) export default LinearComparativeView diff --git a/plugins/linear-comparative-view/src/LinearComparativeView/model.ts b/plugins/linear-comparative-view/src/LinearComparativeView/model.ts index e7e77fcaab..1da1e96936 100644 --- a/plugins/linear-comparative-view/src/LinearComparativeView/model.ts +++ b/plugins/linear-comparative-view/src/LinearComparativeView/model.ts @@ -64,15 +64,24 @@ function stateModelFactory(pluginManager: PluginManager) { * #property */ interactToggled: false, + /** * #property */ - middleComparativeHeight: 100, - /** - * #property - */ - tracks: types.array( - pluginManager.pluggableMstType('track', 'stateModel'), + levels: types.array( + types + .model({ + tracks: types.array( + pluginManager.pluggableMstType('track', 'stateModel'), + ), + height: 100, + level: types.number, + }) + .actions(self => ({ + setHeight(n: number) { + self.height = n + }, + })), ), /** * #property @@ -101,12 +110,6 @@ function stateModelFactory(pluginManager: PluginManager) { width: undefined as number | undefined, })) .views(self => ({ - /** - * #getter - */ - get highResolutionScaling() { - return 2 - }, /** * #getter */ @@ -188,9 +191,9 @@ function stateModelFactory(pluginManager: PluginManager) { /** * #action */ - setMiddleComparativeHeight(n: number) { - self.middleComparativeHeight = n - return self.middleComparativeHeight + setLevelHeight(n: number, level = 0) { + self.levels[level].setHeight(n) + return self.levels[level].height }, /** @@ -216,10 +219,10 @@ function stateModelFactory(pluginManager: PluginManager) { /** * #action */ - toggleTrack(trackId: string) { - const hiddenCount = this.hideTrack(trackId) + toggleTrack(trackId: string, level = 0) { + const hiddenCount = this.hideTrack(trackId, level) if (!hiddenCount) { - this.showTrack(trackId) + this.showTrack(trackId, level) return true } return false @@ -228,7 +231,7 @@ function stateModelFactory(pluginManager: PluginManager) { /** * #action */ - showTrack(trackId: string, initialSnapshot = {}) { + showTrack(trackId: string, level = 0, initialSnapshot = {}) { const schema = pluginManager.pluggableConfigSchemaType('track') const configuration = resolveIdentifier(schema, getRoot(self), trackId) if (!configuration) { @@ -250,12 +253,20 @@ function stateModelFactory(pluginManager: PluginManager) { `could not find a compatible display for view type ${self.type}`, ) } - self.tracks.push( + if (!self.levels[level]) { + self.levels[level] = cast({ level }) + } + self.levels[level].tracks.push( trackType.stateModel.create({ ...initialSnapshot, type: configuration.type, configuration, - displays: [{ type: displayConf.type, configuration: displayConf }], + displays: [ + { + type: displayConf.type, + configuration: displayConf, + }, + ], }), ) }, @@ -263,11 +274,15 @@ function stateModelFactory(pluginManager: PluginManager) { /** * #action */ - hideTrack(trackId: string) { + hideTrack(trackId: string, level = 0) { const schema = pluginManager.pluggableConfigSchemaType('track') const config = resolveIdentifier(schema, getRoot(self), trackId) - const shownTracks = self.tracks.filter(t => t.configuration === config) - transaction(() => shownTracks.forEach(t => self.tracks.remove(t))) + const shownTracks = self.levels[level].tracks.filter( + t => t.configuration === config, + ) + transaction(() => + shownTracks.forEach(t => self.levels[level].tracks.remove(t)), + ) return shownTracks.length }, /** @@ -289,7 +304,7 @@ function stateModelFactory(pluginManager: PluginManager) { */ clearView() { self.views = cast([]) - self.tracks = cast([]) + self.levels = cast([]) }, })) .views(() => ({ @@ -360,6 +375,14 @@ function stateModelFactory(pluginManager: PluginManager) { ) }, })) + .preProcessSnapshot(snap => { + // @ts-expect-error + const { tracks, levels = [{ tracks, level: 0 }], ...rest } = snap || {} + return { + ...rest, + levels, + } + }) } export type LinearComparativeViewStateModel = ReturnType< diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/afterAttach.ts b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/afterAttach.ts index fb2ff77554..02deabd0d8 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/afterAttach.ts +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/afterAttach.ts @@ -1,4 +1,4 @@ -import { addDisposer, getSnapshot } from 'mobx-state-tree' +import { addDisposer, getParent, getSnapshot } from 'mobx-state-tree' import { Feature, getContainingView, getSession } from '@jbrowse/core/util' import { bpToPx } from '@jbrowse/core/util/Base1DUtils' @@ -39,7 +39,7 @@ export function doAfterAttach(self: LinearSyntenyDisplayModel) { return } - const height = view.middleComparativeHeight + const height = self.height const width = view.width ctx1.clearRect(0, 0, width, height) ctx3.clearRect(0, 0, width, height) @@ -86,6 +86,8 @@ export function doAfterAttach(self: LinearSyntenyDisplayModel) { } const { assemblyManager } = getSession(self) const view = getContainingView(self) as LSV + // @ts-expect-error + const level = getParent(self, 4).level const viewSnaps = view.views.map(view => ({ ...getSnapshot(view), width: view.width, @@ -113,8 +115,8 @@ export function doAfterAttach(self: LinearSyntenyDisplayModel) { const r2 = mate.refName const ref1 = a1?.getCanonicalRefName(r1) || r1 const ref2 = a2?.getCanonicalRefName(r2) || r2 - const v1 = viewSnaps[0] - const v2 = viewSnaps[1] + const v1 = viewSnaps[level] + const v2 = viewSnaps[level + 1] const p11 = bpToPx({ self: v1, refName: ref1, coord: f1s }) const p12 = bpToPx({ self: v1, refName: ref1, coord: f1e }) const p21 = bpToPx({ self: v2, refName: ref2, coord: f2s }) diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/LinearSyntenyRendering.tsx b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/LinearSyntenyRendering.tsx index 9f66fbd506..014dbd593e 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/LinearSyntenyRendering.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/LinearSyntenyRendering.tsx @@ -24,12 +24,13 @@ const useStyles = makeStyles()({ rel: { position: 'relative', }, - abs: { + mouseoverCanvas: { position: 'absolute', - }, - none: { pointEvents: 'none', }, + mainCanvas: { + position: 'absolute', + }, }) const LinearSyntenyRendering = observer(function ({ @@ -37,11 +38,10 @@ const LinearSyntenyRendering = observer(function ({ }: { model: LinearSyntenyDisplayModel }) { - const { classes, cx } = useStyles() + const { classes } = useStyles() const xOffset = useRef(0) const currScrollFrame = useRef() const view = getContainingView(model) as LinearSyntenyViewModel - const height = view.middleComparativeHeight const width = view.width const delta = useRef(0) const timeout = useRef() @@ -51,7 +51,7 @@ const LinearSyntenyRendering = observer(function ({ const [mouseCurrDownX, setMouseCurrDownX] = useState() const [mouseInitialDownX, setMouseInitialDownX] = useState() const [currY, setCurrY] = useState() - const { mouseoverId } = model + const { mouseoverId, height } = model // these useCallbacks avoid new refs from being created on any mouseover, etc. const k1 = useCallback( @@ -63,8 +63,8 @@ const LinearSyntenyRendering = observer(function ({ (ref: HTMLCanvasElement) => { model.setMainCanvasRef(ref) function onWheel(event: WheelEvent) { - event.preventDefault() if (event.ctrlKey === true) { + event.preventDefault() delta.current += event.deltaY / 500 for (const v of view.views) { v.setScaleFactor( @@ -88,6 +88,7 @@ const LinearSyntenyRendering = observer(function ({ }, 300) } else { if (Math.abs(event.deltaY) < Math.abs(event.deltaX)) { + event.preventDefault() xOffset.current += event.deltaX / 2 } if (currScrollFrame.current === undefined) { @@ -106,12 +107,10 @@ const LinearSyntenyRendering = observer(function ({ if (ref) { ref.addEventListener('wheel', onWheel) - // this is a react 19-ism to have a cleanup in the ref callback + // there is a react 19-ism to have a cleanup in the ref callback // https://react.dev/blog/2024/04/25/react-19#cleanup-functions-for-refs // note: it warns in earlier versions of react - return () => ref.removeEventListener('wheel', onWheel) } - return () => {} }, // eslint-disable-next-line react-hooks/exhaustive-deps [model, height, width], @@ -133,7 +132,7 @@ const LinearSyntenyRendering = observer(function ({ ref={k1} width={width} height={height} - className={cx(classes.abs, classes.none)} + className={classes.mouseoverCanvas} /> onSynContextClick(evt, model, setAnchorEl)} data-testid="synteny_canvas" - className={classes.abs} + className={classes.mainCanvas} width={width} height={height} /> diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/SyntenyContextMenu.tsx b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/SyntenyContextMenu.tsx index 2c3a0077fd..6e44465f68 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/SyntenyContextMenu.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/SyntenyContextMenu.tsx @@ -5,6 +5,7 @@ import { Menu } from '@jbrowse/core/ui' // locals import { LinearSyntenyDisplayModel } from '../model' import { LinearSyntenyViewModel } from '../../LinearSyntenyView/model' +import { getParent } from 'mobx-state-tree' interface ClickCoord { clientX: number @@ -54,22 +55,27 @@ export default function SyntenyContextMenu({ label: 'Center on feature', onClick: () => { const { f } = feature + const track = getParent<{ level: number }>(model, 4) const start = f.get('start') const end = f.get('end') const refName = f.get('refName') const mate = f.get('mate') - view.views[0] - .navToLocString(`${refName}:${start}-${end}`) - .catch(e => { - console.error(e) - getSession(model).notifyError(`${e}`, e) - }) - view.views[1] - .navToLocString(`${mate.refName}:${mate.start}-${mate.end}`) - .catch(e => { - console.error(e) - getSession(model).notifyError(`${e}`, e) - }) + + const l1 = view.views[track.level] + const l2 = view.views[track.level + 1] + l1.navToLocString(`${refName}:${start}-${end}`).catch(e => { + const err = `${l1.assemblyNames[0]}:${e}` + console.error(err) + getSession(model).notifyError(err, e) + }) + + l2.navToLocString( + `${mate.refName}:${mate.start}-${mate.end}`, + ).catch(e => { + const err = `${l2.assemblyNames[0]}:${e}` + console.error(err) + getSession(model).notifyError(err, e) + }) }, }, ]} diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/util.ts b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/util.ts index 8d8b6b296c..4c16225e1c 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/util.ts +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/components/util.ts @@ -34,6 +34,7 @@ export function drawMatchSimple({ feature, ctx, offsets, + level, cb, height, drawCurves, @@ -44,6 +45,7 @@ export function drawMatchSimple({ feature: FeatPos ctx: CanvasRenderingContext2D offsets: number[] + level: number oobLimit: number viewWidth: number cb: (ctx: CanvasRenderingContext2D) => void @@ -53,10 +55,10 @@ export function drawMatchSimple({ }) { const { p11, p12, p21, p22 } = feature - const x11 = p11.offsetPx - offsets[0] - const x12 = p12.offsetPx - offsets[0] - const x21 = p21.offsetPx - offsets[1] - const x22 = p22.offsetPx - offsets[1] + const x11 = p11.offsetPx - offsets[level] + const x12 = p12.offsetPx - offsets[level] + const x21 = p21.offsetPx - offsets[level + 1] + const x22 = p22.offsetPx - offsets[level + 1] const l1 = Math.abs(x12 - x11) const l2 = Math.abs(x22 - x21) diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/drawSynteny.ts b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/drawSynteny.ts index 3ad6f44d14..9f3a564967 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/drawSynteny.ts +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/drawSynteny.ts @@ -3,6 +3,7 @@ import { doesIntersect2, getContainingView } from '@jbrowse/core/util' import { LinearSyntenyViewModel } from '../LinearSyntenyView/model' import { LinearSyntenyDisplayModel } from './model' import { draw, drawMatchSimple } from './components/util' +import { getParent } from 'mobx-state-tree' export const MAX_COLOR_RANGE = 255 * 255 * 255 // max color range @@ -36,9 +37,11 @@ export function drawRef( ctx3?: CanvasRenderingContext2D, ) { const view = getContainingView(model) as LinearSyntenyViewModel + // @ts-expect-error + const level = getParent(model, 4).level const drawCurves = view.drawCurves const drawCIGAR = view.drawCIGAR - const height = view.middleComparativeHeight + const { height, featPositions } = model const width = view.width const bpPerPxs = view.views.map(v => v.bpPerPx) @@ -47,20 +50,18 @@ export function drawRef( } ctx1.beginPath() - const featPos = model.featPositions const offsets = view.views.map(v => v.offsetPx) - - const unitMultiplier = Math.floor(MAX_COLOR_RANGE / featPos.length) + const unitMultiplier = Math.floor(MAX_COLOR_RANGE / featPositions.length) // this loop is optimized to draw many thin lines with a single ctx.stroke // call, a separate loop below draws larger boxes ctx1.fillStyle = colorMap.M ctx1.strokeStyle = colorMap.M - for (const { p11, p12, p21, p22 } of featPos) { - const x11 = p11.offsetPx - offsets[0] - const x12 = p12.offsetPx - offsets[0] - const x21 = p21.offsetPx - offsets[1] - const x22 = p22.offsetPx - offsets[1] + for (const { p11, p12, p21, p22 } of featPositions) { + const x11 = p11.offsetPx - offsets[level] + const x12 = p12.offsetPx - offsets[level] + const x21 = p21.offsetPx - offsets[level + 1] + const x22 = p22.offsetPx - offsets[level + 1] const l1 = Math.abs(x12 - x11) const l2 = Math.abs(x22 - x21) const y1 = 0 @@ -89,11 +90,11 @@ export function drawRef( // ctx.stroke once is much more efficient than calling stroke() many times ctx1.fillStyle = colorMap.M ctx1.strokeStyle = colorMap.M - for (const { p11, p12, p21, p22, f, cigar } of featPos) { - const x11 = p11.offsetPx - offsets[0] - const x12 = p12.offsetPx - offsets[0] - const x21 = p21.offsetPx - offsets[1] - const x22 = p22.offsetPx - offsets[1] + for (const { p11, p12, p21, p22, f, cigar } of featPositions) { + const x11 = p11.offsetPx - offsets[level] + const x12 = p12.offsetPx - offsets[level] + const x21 = p21.offsetPx - offsets[level + 1] + const x22 = p22.offsetPx - offsets[level + 1] const l1 = Math.abs(x12 - x11) const l2 = Math.abs(x22 - x21) const minX = Math.min(x21, x22) @@ -137,8 +138,8 @@ export function drawRef( px2 = cx2 } - const d1 = len / bpPerPxs[0] - const d2 = len / bpPerPxs[1] + const d1 = len / bpPerPxs[level] + const d2 = len / bpPerPxs[level + 1] if (op === 'M' || op === '=' || op === 'X') { cx1 += d1 * rev1 @@ -149,17 +150,17 @@ export function drawRef( cx2 += d2 * rev2 } - // check that we are even drawing in view here, e.g. that all - // points are not all less than 0 or greater than width + // check that we are even drawing in view here, e.g. that + // all points are not all less than 0 or greater than width if ( !( Math.max(px1, px2, cx1, cx2) < 0 || Math.min(px1, px2, cx1, cx2) > width ) ) { - // if it is a small feature and not the last element of the - // CIGAR (which could skip rendering it entire if we did turn - // it on), then turn on continuing flag + // if it is a small feature and not the last element of + // the CIGAR (which could skip rendering it entire if we + // did turn it on), then turn on continuing flag const isNotLast = j < cigar.length - 2 if ( Math.abs(cx1 - px1) <= 1 && @@ -197,8 +198,8 @@ export function drawRef( } ctx2.imageSmoothingEnabled = false ctx2.clearRect(0, 0, width, height) - for (let i = 0; i < featPos.length; i++) { - const feature = featPos[i] + for (let i = 0; i < featPositions.length; i++) { + const feature = featPositions[i] const idx = i * unitMultiplier + 1 ctx2.fillStyle = makeColor(idx) @@ -208,6 +209,7 @@ export function drawRef( feature, ctx: ctx2, drawCurves, + level, offsets, oobLimit, viewWidth: view.width, @@ -222,10 +224,12 @@ export function drawMouseoverSynteny(model: LinearSyntenyDisplayModel) { const highResolutionScaling = 1 const view = getContainingView(model) as LinearSyntenyViewModel const drawCurves = view.drawCurves - const height = view.middleComparativeHeight + const height = model.height const width = view.width const ctx = model.mouseoverCanvas?.getContext('2d') const offsets = view.views.map(v => v.offsetPx) + // @ts-expect-error + const level = getParent(model, 4).level if (!ctx) { return @@ -239,6 +243,7 @@ export function drawMouseoverSynteny(model: LinearSyntenyDisplayModel) { drawMatchSimple({ cb: ctx => ctx.fill(), feature: feature1, + level, ctx, oobLimit, viewWidth: view.width, @@ -255,6 +260,7 @@ export function drawMouseoverSynteny(model: LinearSyntenyDisplayModel) { cb: ctx => ctx.stroke(), feature: feature2, ctx, + level, oobLimit, viewWidth: view.width, drawCurves, diff --git a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/model.ts b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/model.ts index 3efaa999de..a95d5fdc8c 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyDisplay/model.ts +++ b/plugins/linear-comparative-view/src/LinearSyntenyDisplay/model.ts @@ -1,4 +1,4 @@ -import { types, Instance } from 'mobx-state-tree' +import { types, Instance, getParent } from 'mobx-state-tree' import { getConf, ConfigurationReference, @@ -143,6 +143,13 @@ function stateModelFactory(configSchema: AnyConfigurationSchemaType) { get trackIds() { return getConf(self, 'trackIds') as string[] }, + /** + * #getter + */ + get height() { + // @ts-expect-error + return getParent(self, 4).height as number + }, /** * #getter */ diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportCustomTrack.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportCustomTrack.tsx index 063b252e42..7e184aec53 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportCustomTrack.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportCustomTrack.tsx @@ -82,164 +82,162 @@ function getAdapter({ type Conf = SnapshotIn -const OpenTrack = observer( - ({ - assembly1, - assembly2, - setSessionTrackData, - }: { - sessionTrackData: Conf - assembly1: string - assembly2: string - setSessionTrackData: (arg: Conf) => void - }) => { - const [bed2Location, setBed2Location] = useState() - const [bed1Location, setBed1Location] = useState() - const [fileLocation, setFileLocation] = useState() - const [value, setValue] = useState('') - const [error, setError] = useState() - const fileName = getName(fileLocation) +const ImportCustomTrack = observer(function ({ + assembly1, + assembly2, + setSessionTrackData, +}: { + sessionTrackData: Conf + assembly1: string + assembly2: string + setSessionTrackData: (arg: Conf) => void +}) { + const [bed2Location, setBed2Location] = useState() + const [bed1Location, setBed1Location] = useState() + const [fileLocation, setFileLocation] = useState() + const [value, setValue] = useState('') + const [error, setError] = useState() + const fileName = getName(fileLocation) - const radioOption = value || (fileName ? extName(stripGz(fileName)) : '') + const radioOption = value || (fileName ? extName(stripGz(fileName)) : '') - useEffect(() => { - try { - if (fileLocation) { - const fn = fileName ? basename(fileName) : 'MyTrack' - const trackId = `${fn}-${Date.now()}` - setError(undefined) + useEffect(() => { + try { + if (fileLocation) { + const fn = fileName ? basename(fileName) : 'MyTrack' + const trackId = `${fn}-${Date.now()}` + setError(undefined) - setSessionTrackData({ - trackId, - name: fn, - assemblyNames: [assembly2, assembly1], - type: 'SyntenyTrack', - adapter: getAdapter({ - radioOption, - assembly1, - assembly2, - fileLocation, - bed1Location, - bed2Location, - }), - }) - } - } catch (e) { - console.error(e) - setError(e) + setSessionTrackData({ + trackId, + name: fn, + assemblyNames: [assembly2, assembly1], + type: 'SyntenyTrack', + adapter: getAdapter({ + radioOption, + assembly1, + assembly2, + fileLocation, + bed1Location, + bed2Location, + }), + }) } - }, [ - fileName, - assembly1, - assembly2, - bed1Location, - bed2Location, - fileLocation, - radioOption, - setSessionTrackData, - ]) - return ( - - {error ? : null} - - Add a .paf, .out (MashMap), .delta (Mummer), .chain, .anchors or - .anchors.simple (MCScan) file to view in the dotplot. These file types - can also be gzipped. The first assembly should be the query sequence - (e.g. left column of the PAF) and the second assembly should be the - target sequence (e.g. right column of the PAF) - - setValue(event.target.value)} - > - - - } label=".paf" /> - - - } label=".out" /> - - - } - label=".delta" - /> - - - } - label=".chain" - /> - - - } - label=".anchors" - /> - - - } - label=".anchors.simple" - /> - - - + } catch (e) { + console.error(e) + setError(e) + } + }, [ + fileName, + assembly1, + assembly2, + bed1Location, + bed2Location, + fileLocation, + radioOption, + setSessionTrackData, + ]) + return ( + + {error ? : null} + + Add a .paf, .out (MashMap), .delta (Mummer), .chain, .anchors or + .anchors.simple (MCScan) file to view in the dotplot. These file types + can also be gzipped. The first assembly should be the query sequence + (e.g. left column of the PAF) and the second assembly should be the + target sequence (e.g. right column of the PAF) + + setValue(event.target.value)} + > - {value === '.anchors' || value === '.anchors.simple' ? ( -
-
- Open the {value} and .bed files for both genome assemblies - from the MCScan (Python version) pipeline{' '} - - (more info) - + } label=".paf" /> + + + } label=".out" /> + + + } + label=".delta" + /> + + + } + label=".chain" + /> + + + } + label=".anchors" + /> + + + } + label=".anchors.simple" + /> + + + + + + {value === '.anchors' || value === '.anchors.simple' ? ( +
+
+ Open the {value} and .bed files for both genome assemblies from + the MCScan (Python version) pipeline{' '} + + (more info) + +
+
+
+ setFileLocation(loc)} + /> +
+
+ setBed1Location(loc)} + />
-
-
- setFileLocation(loc)} - /> -
-
- setBed1Location(loc)} - /> -
-
- setBed2Location(loc)} - /> -
+
+ setBed2Location(loc)} + />
- ) : ( - setFileLocation(loc)} - /> - )} - +
+ ) : ( + setFileLocation(loc)} + /> + )} - - ) - }, -) + + + ) +}) -export default OpenTrack +export default ImportCustomTrack diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelector.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelector.tsx index f99cf18715..f2e0c81e77 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelector.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelector.tsx @@ -12,71 +12,58 @@ import { observer } from 'mobx-react' // locals import { LinearSyntenyViewModel } from '../../model' -function f(track: AnyConfigurationModel, assembly1: string, assembly2: string) { - const assemblyNames = readConfObject(track, 'assemblyNames') - return ( - assemblyNames.includes(assembly1) && - assemblyNames.includes(assembly2) && - track.type.includes('Synteny') - ) -} - -const Selector = observer( - ({ - model, - assembly1, - assembly2, - setShowTrackId, - }: { - model: LinearSyntenyViewModel - assembly1: string - assembly2: string - setShowTrackId: (arg: string) => void - }) => { - const session = getSession(model) - const { tracks = [], sessionTracks = [] } = session - const allTracks = [...tracks, ...sessionTracks] as AnyConfigurationModel[] - const filteredTracks = allTracks.filter(t => f(t, assembly2, assembly1)) - const resetTrack = filteredTracks[0]?.trackId || '' - const [value, setValue] = useState(resetTrack) - useEffect(() => { - // if assembly1/assembly2 changes, then we will want to use this effect to - // change the state of the useState because it otherwise gets locked to a - // stale value - setValue(resetTrack) - }, [resetTrack]) - - useEffect(() => { - // sets track data in a useEffect because the initial load is needed as well - // as onChange's to the select box - setShowTrackId(value) - }, [value, setShowTrackId]) +const ImportSyntenyTrackSelector = observer(function ({ + model, + assembly1, + assembly2, + setShowTrackId, +}: { + model: LinearSyntenyViewModel + assembly1: string + assembly2: string + setShowTrackId: (arg: string) => void +}) { + const session = getSession(model) + const { tracks = [], sessionTracks = [] } = session + const allTracks = [...tracks, ...sessionTracks] as AnyConfigurationModel[] + const filteredTracks = allTracks.filter(track => { + const assemblyNames = readConfObject(track, 'assemblyNames') return ( - - - Select a track from the select box below, the track will be shown when - you hit "Launch". - - - {filteredTracks.length ? ( - - ) : ( - - )} - + assemblyNames.includes(assembly1) && + assemblyNames.includes(assembly2) && + track.type.includes('Synteny') ) - }, -) + }) + const resetTrack = filteredTracks[0]?.trackId || '' + const [value, setValue] = useState(resetTrack) + + useEffect(() => { + // sets track data in a useEffect because the initial load is needed as well + // as onChange's to the select box + setShowTrackId(value) + }, [value, setShowTrackId]) + return ( + + + Select a track from the select box below, the track will be shown when + you hit "Launch". + + + {filteredTracks.length ? ( + + ) : ( + + )} + + ) +}) -export default Selector +export default ImportSyntenyTrackSelector diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorUtil.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorUtil.tsx new file mode 100644 index 0000000000..6f9f76cd78 --- /dev/null +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorUtil.tsx @@ -0,0 +1,89 @@ +import React, { useState, useEffect } from 'react' +import { + FormControl, + FormLabel, + FormControlLabel, + Radio, + RadioGroup, +} from '@mui/material' +import { SnapshotIn } from 'mobx-state-tree' +import { AnyConfigurationModel } from '@jbrowse/core/configuration' + +// locals +import { LinearSyntenyViewModel } from '../../model' +import ImportCustomTrack from './ImportCustomTrack' +import ImportSyntenyTrackSelector from './ImportSyntenyTrackSelector' + +type Conf = SnapshotIn + +export default function TrackSelector({ + setSessionTrackData, + setShowTrackId, + sessionTrackData, + assembly1, + assembly2, + model, + idx, +}: { + sessionTrackData: Conf + setSessionTrackData: (arg: Conf) => void + setShowTrackId: (arg?: string) => void + model: LinearSyntenyViewModel + assembly1: string + assembly2: string + idx: number +}) { + const [choice, setChoice] = useState('tracklist') + + useEffect(() => { + if (choice === 'none') { + setSessionTrackData(undefined) + setShowTrackId(undefined) + } + }, [choice, setSessionTrackData, setShowTrackId]) + return ( + <> + + + (Optional) Select or add a synteny track between row {idx} and{' '} + {idx + 1} + + setChoice(event.target.value)} + aria-labelledby="group-label" + > + } label="None" /> + } + label="Existing track" + /> + } + label="New track" + /> + + + {choice === 'custom' ? ( + + ) : null} + {choice === 'tracklist' ? ( + + ) : null} + + ) +} diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/index.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/index.tsx index 3df3a68512..11daec95e6 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/index.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/components/ImportForm/index.tsx @@ -1,14 +1,11 @@ -import React, { useState, useEffect } from 'react' +import React, { useState } from 'react' import { Button, Container, FormControl, - FormLabel, - FormControlLabel, Grid, + IconButton, Paper, - Radio, - RadioGroup, } from '@mui/material' import { makeStyles } from 'tss-react/mui' import { observer } from 'mobx-react' @@ -16,11 +13,12 @@ import { AnyConfigurationModel } from '@jbrowse/core/configuration' import { SnapshotIn } from 'mobx-state-tree' import { getSession, isSessionWithAddTracks } from '@jbrowse/core/util' import { ErrorMessage, AssemblySelector } from '@jbrowse/core/ui' - +// icons +import ArrowForward from '@mui/icons-material/ArrowForward' +import ArrowBack from '@mui/icons-material/ArrowBack' // locals import { LinearSyntenyViewModel } from '../../model' -import ImportCustomTrack from './ImportCustomTrack' -import ImportSyntenyTrackSelector from './ImportSyntenyTrackSelector' +import TrackSelector from './ImportSyntenyTrackSelectorUtil' const useStyles = makeStyles()(theme => ({ importFormContainer: { @@ -35,74 +33,6 @@ const useStyles = makeStyles()(theme => ({ type Conf = SnapshotIn -function TrackSelector({ - setSessionTrackData, - setShowTrackId, - sessionTrackData, - assembly1, - assembly2, - model, -}: { - sessionTrackData: Conf - setSessionTrackData: (arg: Conf) => void - setShowTrackId: (arg?: string) => void - model: LinearSyntenyViewModel - assembly1: string - assembly2: string -}) { - const [choice, setChoice] = useState('tracklist') - - useEffect(() => { - if (choice === 'none') { - setSessionTrackData(undefined) - setShowTrackId(undefined) - } - }, [choice, setSessionTrackData, setShowTrackId]) - return ( - <> - - - (Optional) Select or add a synteny track - - setChoice(event.target.value)} - aria-labelledby="group-label" - > - } label="None" /> - } - label="Existing track" - /> - } - label="New track" - /> - - - {choice === 'custom' ? ( - - ) : null} - {choice === 'tracklist' ? ( - - ) : null} - - ) -} - const LinearSyntenyViewImportForm = observer(function ({ model, }: { @@ -111,51 +41,16 @@ const LinearSyntenyViewImportForm = observer(function ({ const { classes } = useStyles() const session = getSession(model) const { assemblyNames } = session - const [assembly2, setAssembly2] = useState(assemblyNames[0] || '') - const [assembly1, setAssembly1] = useState(assemblyNames[0] || '') + const [currIdx, setCurrIdx] = useState(0) + const [assemblies, setAssemblies] = useState([ + assemblyNames[0] || '', + assemblyNames[0] || '', + ]) const [error, setError] = useState() - const [sessionTrackData, setSessionTrackData] = useState() - const [showTrackId, setShowTrackId] = useState() - - async function onOpenClick() { - try { - if (!isSessionWithAddTracks(session)) { - return - } - setError(undefined) - - const { assemblyManager } = session - const assemblies = [assembly1, assembly2] - model.setViews( - await Promise.all( - assemblies.map(async sel => { - const asm = await assemblyManager.waitForAssembly(sel) - if (!asm) { - throw new Error(`Assembly ${sel} failed to load`) - } - return { - type: 'LinearGenomeView' as const, - bpPerPx: 1, - offsetPx: 0, - hideHeader: true, - displayedRegions: asm.regions, - } - }), - ), - ) - model.views.forEach(view => view.setWidth(model.width)) - model.views.forEach(view => view.showAllRegions()) - if (sessionTrackData) { - session.addTrackConf(sessionTrackData) - model.toggleTrack(sessionTrackData.trackId) - } else if (showTrackId) { - model.showTrack(showTrackId) - } - } catch (e) { - console.error(e) - setError(e) - } - } + const [sessionTrackData, setSessionTrackData] = useState< + (Conf | undefined)[] + >([]) + const [showTrackId, setShowTrackId] = useState<(string | undefined)[]>([]) // this is a combination of any displayed error message we have const displayError = error @@ -174,45 +69,117 @@ const LinearSyntenyViewImportForm = observer(function ({

Select assemblies for linear synteny view

- - - setAssembly1(val)} - session={session} - /> - - - setAssembly2(val)} - session={session} - /> - - + <> + {assemblies.map((assembly, idx) => ( +
+ Row {idx + 1}: + + setAssemblies( + assemblies.map((value, index) => + index === idx ? newValue : value, + ), + ) + } + session={session} + /> +
+ ))} + +
- - +
+ + setCurrIdx(currIdx - 1)} + > + + + = assemblies.length - 2} + onClick={() => setCurrIdx(currIdx + 1)} + > + + { + const clone = [...showTrackId] + clone[currIdx] = arg + setShowTrackId(clone) + }} + assembly1={assemblies[currIdx]} + assembly2={assemblies[currIdx + 1]} + setSessionTrackData={arg => { + const clone = [...sessionTrackData] + clone[currIdx] = arg + setSessionTrackData(clone) + }} + sessionTrackData={sessionTrackData[currIdx]} model={model} />
diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/components/LinearSyntenyView.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/components/LinearSyntenyView.tsx index b7145c4907..b9662b7c4e 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/components/LinearSyntenyView.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/components/LinearSyntenyView.tsx @@ -9,7 +9,7 @@ const ImportForm = lazy(() => import('./ImportForm')) type LSV = LinearSyntenyViewModel -const LinearSyntenyView = observer(({ model }: { model: LSV }) => { +const LinearSyntenyView = observer(function ({ model }: { model: LSV }) { return !model.initialized ? ( ) : ( diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/model.test.ts b/plugins/linear-comparative-view/src/LinearSyntenyView/model.test.ts deleted file mode 100644 index 5761fb9989..0000000000 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/model.test.ts +++ /dev/null @@ -1,1605 +0,0 @@ -import PluginManager from '@jbrowse/core/PluginManager' -import LinearGenomeViewPlugin from '@jbrowse/plugin-linear-genome-view' -import SequencePlugin from '@jbrowse/plugin-sequence' -import stateModelFactory from './model' - -test('creation', () => { - const pluginManager = new PluginManager([ - new LinearGenomeViewPlugin(), - new SequencePlugin(), - ]) - .createPluggableElements() - .configure() - const model = stateModelFactory(pluginManager) - model.create({ - // @ts-expect-error - type: 'LinearSyntenyView', - views: [ - { - type: 'LinearGenomeView', - displayedRegions: [ - { - refName: 'Pp01', - start: 0, - end: 47851208, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp02', - start: 0, - end: 30405870, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp03', - start: 0, - end: 27368013, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp04', - start: 0, - end: 25843236, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp05', - start: 0, - end: 18496696, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp06', - start: 0, - end: 30767194, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp07', - start: 0, - end: 22388614, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'Pp08', - start: 0, - end: 22573980, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_12', - start: 0, - end: 167479, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_15', - start: 0, - end: 72028, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_13', - start: 0, - end: 69962, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_16', - start: 0, - end: 38727, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_18', - start: 0, - end: 32503, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_19', - start: 0, - end: 32043, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_20', - start: 0, - end: 30119, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_21', - start: 0, - end: 28663, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_23', - start: 0, - end: 27846, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_24', - start: 0, - end: 25707, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_26', - start: 0, - end: 23005, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_32', - start: 0, - end: 22324, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_28', - start: 0, - end: 21453, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_40', - start: 0, - end: 18616, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_30', - start: 0, - end: 18507, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_38', - start: 0, - end: 18477, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_34', - start: 0, - end: 18055, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_33', - start: 0, - end: 17159, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_35', - start: 0, - end: 16788, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_37', - start: 0, - end: 16633, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_39', - start: 0, - end: 15657, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_101', - start: 0, - end: 15118, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_42', - start: 0, - end: 14945, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_58', - start: 0, - end: 14802, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_57', - start: 0, - end: 13972, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_199', - start: 0, - end: 13173, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_51', - start: 0, - end: 12576, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_295', - start: 0, - end: 12535, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_69', - start: 0, - end: 12322, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_53', - start: 0, - end: 12283, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_54', - start: 0, - end: 12175, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_62', - start: 0, - end: 12137, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_55', - start: 0, - end: 12005, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_61', - start: 0, - end: 11986, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_60', - start: 0, - end: 11897, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_67', - start: 0, - end: 11828, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_68', - start: 0, - end: 11057, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_73', - start: 0, - end: 11032, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_66', - start: 0, - end: 11015, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_78', - start: 0, - end: 10992, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_70', - start: 0, - end: 10689, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_104', - start: 0, - end: 10646, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_72', - start: 0, - end: 10595, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_71', - start: 0, - end: 10576, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_77', - start: 0, - end: 10450, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_196', - start: 0, - end: 10371, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_80', - start: 0, - end: 9725, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_84', - start: 0, - end: 9539, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_297', - start: 0, - end: 8994, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_92', - start: 0, - end: 8951, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_90', - start: 0, - end: 8670, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_135', - start: 0, - end: 8639, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_129', - start: 0, - end: 8426, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_121', - start: 0, - end: 8362, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_97', - start: 0, - end: 8262, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_136', - start: 0, - end: 8239, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_144', - start: 0, - end: 7971, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_260', - start: 0, - end: 7959, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_111', - start: 0, - end: 7938, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_108', - start: 0, - end: 7601, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_123', - start: 0, - end: 7505, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_158', - start: 0, - end: 7410, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_112', - start: 0, - end: 7332, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_130', - start: 0, - end: 7301, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_225', - start: 0, - end: 7279, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_167', - start: 0, - end: 7275, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_127', - start: 0, - end: 7029, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_143', - start: 0, - end: 7028, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_116', - start: 0, - end: 7027, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_125', - start: 0, - end: 6961, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_242', - start: 0, - end: 6946, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_157', - start: 0, - end: 6895, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_149', - start: 0, - end: 6780, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_155', - start: 0, - end: 6743, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_353', - start: 0, - end: 6571, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_137', - start: 0, - end: 6550, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_328', - start: 0, - end: 6504, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_200', - start: 0, - end: 6486, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_134', - start: 0, - end: 6400, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_194', - start: 0, - end: 6379, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_302', - start: 0, - end: 6282, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_138', - start: 0, - end: 6232, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_232', - start: 0, - end: 6198, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_139', - start: 0, - end: 6164, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_146', - start: 0, - end: 6143, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_140', - start: 0, - end: 6128, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_141', - start: 0, - end: 6087, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_166', - start: 0, - end: 6011, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_335', - start: 0, - end: 6007, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_147', - start: 0, - end: 6001, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_171', - start: 0, - end: 6000, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_339', - start: 0, - end: 5997, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_325', - start: 0, - end: 5815, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_162', - start: 0, - end: 5735, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_151', - start: 0, - end: 5646, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_164', - start: 0, - end: 5625, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_211', - start: 0, - end: 5602, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_153', - start: 0, - end: 5581, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_165', - start: 0, - end: 5579, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_340', - start: 0, - end: 5575, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_156', - start: 0, - end: 5507, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_202', - start: 0, - end: 5495, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_161', - start: 0, - end: 5491, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_213', - start: 0, - end: 5334, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_187', - start: 0, - end: 5301, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_168', - start: 0, - end: 5300, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_183', - start: 0, - end: 5295, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_163', - start: 0, - end: 5263, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_169', - start: 0, - end: 5261, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_174', - start: 0, - end: 5192, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_249', - start: 0, - end: 5131, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_189', - start: 0, - end: 5090, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_175', - start: 0, - end: 5047, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_181', - start: 0, - end: 5029, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_326', - start: 0, - end: 5022, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_256', - start: 0, - end: 4999, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_332', - start: 0, - end: 4969, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_234', - start: 0, - end: 4914, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_319', - start: 0, - end: 4850, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_272', - start: 0, - end: 4837, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_208', - start: 0, - end: 4817, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_182', - start: 0, - end: 4817, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_219', - start: 0, - end: 4624, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_188', - start: 0, - end: 4608, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_191', - start: 0, - end: 4575, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_192', - start: 0, - end: 4533, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_247', - start: 0, - end: 4525, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_221', - start: 0, - end: 4499, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_220', - start: 0, - end: 4478, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_258', - start: 0, - end: 4446, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_231', - start: 0, - end: 4391, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_203', - start: 0, - end: 4346, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_236', - start: 0, - end: 4257, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_288', - start: 0, - end: 4251, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_237', - start: 0, - end: 4247, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_228', - start: 0, - end: 4116, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_215', - start: 0, - end: 4100, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_281', - start: 0, - end: 4092, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_244', - start: 0, - end: 4017, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_246', - start: 0, - end: 4016, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_285', - start: 0, - end: 3892, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_280', - start: 0, - end: 3885, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_298', - start: 0, - end: 3815, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_286', - start: 0, - end: 3789, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_276', - start: 0, - end: 3789, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_336', - start: 0, - end: 3708, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_259', - start: 0, - end: 3708, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_239', - start: 0, - end: 3699, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_254', - start: 0, - end: 3576, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_248', - start: 0, - end: 3541, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_250', - start: 0, - end: 3536, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_255', - start: 0, - end: 3476, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_330', - start: 0, - end: 3429, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_279', - start: 0, - end: 3424, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_266', - start: 0, - end: 3415, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_337', - start: 0, - end: 3411, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_270', - start: 0, - end: 3362, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_291', - start: 0, - end: 3320, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_324', - start: 0, - end: 3154, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_271', - start: 0, - end: 3153, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_296', - start: 0, - end: 3020, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_307', - start: 0, - end: 2997, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_346', - start: 0, - end: 2995, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_306', - start: 0, - end: 2957, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_284', - start: 0, - end: 2907, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_311', - start: 0, - end: 2890, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_347', - start: 0, - end: 2805, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_321', - start: 0, - end: 2536, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_308', - start: 0, - end: 2380, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_313', - start: 0, - end: 2374, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_312', - start: 0, - end: 2068, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_334', - start: 0, - end: 1821, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_327', - start: 0, - end: 1589, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_331', - start: 0, - end: 1501, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_333', - start: 0, - end: 1452, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_338', - start: 0, - end: 1306, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_343', - start: 0, - end: 1164, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_344', - start: 0, - end: 1163, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_345', - start: 0, - end: 1145, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_349', - start: 0, - end: 1099, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_350', - start: 0, - end: 1092, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_351', - start: 0, - end: 1071, - reversed: false, - assemblyName: 'peach', - }, - { - refName: 'scaffold_352', - start: 0, - end: 1061, - reversed: false, - assemblyName: 'peach', - }, - ], - bpPerPx: 19914.295609223023, - offsetPx: 3973, - tracks: [], - }, - { - type: 'LinearGenomeView', - displayedRegions: [ - { - refName: 'chr1', - start: 0, - end: 23037639, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr10', - start: 0, - end: 18140952, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr10_random', - start: 0, - end: 789605, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr11', - start: 0, - end: 19818926, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr11_random', - start: 0, - end: 282498, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr12', - start: 0, - end: 22702307, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr12_random', - start: 0, - end: 1566225, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr13', - start: 0, - end: 24396255, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr13_random', - start: 0, - end: 3268264, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr14', - start: 0, - end: 30274277, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr15', - start: 0, - end: 20304914, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr16', - start: 0, - end: 22053297, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr16_random', - start: 0, - end: 740079, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr17', - start: 0, - end: 17126926, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr17_random', - start: 0, - end: 829735, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr18', - start: 0, - end: 29360087, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr18_random', - start: 0, - end: 5170003, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr19', - start: 0, - end: 24021853, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr1_random', - start: 0, - end: 568933, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr2', - start: 0, - end: 18779844, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr3', - start: 0, - end: 19341862, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr3_random', - start: 0, - end: 1220746, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr4', - start: 0, - end: 23867706, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr4_random', - start: 0, - end: 76237, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr5', - start: 0, - end: 25021643, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr5_random', - start: 0, - end: 421237, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr6', - start: 0, - end: 21508407, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr7', - start: 0, - end: 21026613, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr7_random', - start: 0, - end: 1447032, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr8', - start: 0, - end: 22385789, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr9', - start: 0, - end: 23006712, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chr9_random', - start: 0, - end: 487831, - reversed: false, - assemblyName: 'grape', - }, - { - refName: 'chrUn', - start: 0, - end: 43154196, - reversed: false, - assemblyName: 'grape', - }, - ], - bpPerPx: 67300.98485738254, - offsetPx: 5893, - tracks: [], - }, - ], - displayName: 'A vs B', - }) -}) diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.tsx new file mode 100644 index 0000000000..760749e503 --- /dev/null +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.tsx @@ -0,0 +1,55 @@ +import React from 'react' +import { useTheme } from '@mui/material' +import { getFillProps } from '@jbrowse/core/util' +import { + SVGTracks, + SVGRuler, + LinearGenomeViewModel, +} from '@jbrowse/plugin-linear-genome-view' + +export default function SVGLinearGenomeView({ + trackLabelOffset, + fontSize, + textHeight, + trackLabels, + view, + displayResults, + rulerHeight, + shift, +}: { + textHeight: number + trackLabels: string + trackLabelOffset: number + fontSize: number + view: LinearGenomeViewModel + // eslint-disable-next-line @typescript-eslint/no-explicit-any + displayResults: any + rulerHeight: number + shift: number +}) { + const theme = useTheme() + return ( + + + + {view.assemblyNames.join(', ')} + + + + + + + + ) +} diff --git a/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.tsx b/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.tsx index 2a19d9581a..1ffe1e0f10 100644 --- a/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.tsx +++ b/plugins/linear-comparative-view/src/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.tsx @@ -11,29 +11,25 @@ import { renderToAbstractCanvas, renderToStaticMarkup, sum, - getFillProps, } from '@jbrowse/core/util' import { getTrackName } from '@jbrowse/core/util/tracks' import { createJBrowseTheme } from '@jbrowse/core/ui' -import { - SVGTracks, - SVGRuler, - totalHeight, -} from '@jbrowse/plugin-linear-genome-view' +import { totalHeight } from '@jbrowse/plugin-linear-genome-view' // locals import SVGBackground from './SVGBackground' +import SVGLinearGenomeView from './SVGLinearGenomeView' import { ExportSvgOptions, LinearSyntenyViewModel } from '../model' import { drawRef } from '../../LinearSyntenyDisplay/drawSynteny' -type LSV = LinearSyntenyViewModel - // render LGV to SVG -export async function renderToSvg(model: LSV, opts: ExportSvgOptions) { +export async function renderToSvg( + model: LinearSyntenyViewModel, + opts: ExportSvgOptions, +) { await when(() => model.initialized) const { textHeight = 18, - headerHeight = 30, rulerHeight = 30, fontSize = 13, trackLabels = 'offset', @@ -42,15 +38,16 @@ export async function renderToSvg(model: LSV, opts: ExportSvgOptions) { } = opts const session = getSession(model) const themeVar = session.allThemes?.()[themeName] - const { width, views, middleComparativeHeight: synH, tracks } = model + const { width, views, levels } = model const shift = 50 - const offset = headerHeight + rulerHeight + const offset = rulerHeight // eslint-disable-next-line @typescript-eslint/no-explicit-any const { createRootFn } = getRoot(model) const heights = views.map( v => totalHeight(v.tracks, textHeight, trackLabels) + offset, ) - const totalHeightSvg = sum(heights) + synH + 100 + const totalHeightSvg = sum(heights) + sum(levels.map(l => l.height)) + 100 + const displayResults = await Promise.all( views.map( async view => @@ -71,37 +68,42 @@ export async function renderToSvg(model: LSV, opts: ExportSvgOptions) { ) const renderings = await Promise.all( - tracks.map(async track => { - const d = track.displays[0] - await when(() => (d.ready !== undefined ? d.ready : true)) - const r = await renderToAbstractCanvas( - width, - synH, - { exportSVG: opts }, - ctx => drawRef(d, ctx), - ) + levels.map( + async level => + await Promise.all( + level.tracks.map(async track => { + const d = track.displays[0] + await when(() => (d.ready !== undefined ? d.ready : true)) + const r = await renderToAbstractCanvas( + width, + level.height, + { exportSVG: opts }, + ctx => drawRef(d, ctx), + ) - if ('imageData' in r) { - throw new Error('found a canvas in svg export, probably a bug') - } else if ('canvasRecordedData' in r) { - return { - html: await getSerializedSvg({ - ...r, - width, - height: synH, + if ('imageData' in r) { + throw new Error('found a canvas in svg export, probably a bug') + } else if ('canvasRecordedData' in r) { + return { + html: await getSerializedSvg({ + ...r, + width, + height: level.height, + }), + } + } else { + return r + } }), - } - } else { - return r - } - }), + ), + ), ) const trackLabelMaxLen = max( views.flatMap(view => - view.tracks.map(t => - measureText(getTrackName(t.configuration, session), fontSize), + view.tracks.map(track => + measureText(getTrackName(track.configuration, session), fontSize), ), ), 0, @@ -109,6 +111,53 @@ export async function renderToSvg(model: LSV, opts: ExportSvgOptions) { const trackLabelOffset = trackLabels === 'left' ? trackLabelMaxLen : 0 const w = width + trackLabelOffset const theme = createJBrowseTheme(themeVar) + const RenderList = [ + , + ] as React.ReactNode[] + let currOffset = heights[0] + fontSize + rulerHeight + for (let i = 1; i < views.length; i++) { + RenderList.push( + + + + + + + + {renderings[i - 1].map((r, i) => ( + + ))} + + + + + , + ) + currOffset += heights[i] + levels[i - 1].height + fontSize + rulerHeight + } // the xlink namespace is used for rendering tag return renderToStaticMarkup( @@ -122,65 +171,7 @@ export async function renderToSvg(model: LSV, opts: ExportSvgOptions) { viewBox={[0, 0, w + shift * 2, totalHeightSvg].toString()} > - - - - {views[0].assemblyNames.join(', ')} - - - - - - - - - - - - - - {renderings.map((r, i) => ( - - ))} - - - - - {views[1].assemblyNames.join(', ')} - - - - - + {RenderList} , diff --git a/plugins/linear-genome-view/src/LinearGenomeView/components/Scalebar.tsx b/plugins/linear-genome-view/src/LinearGenomeView/components/Scalebar.tsx index d92ffde8b4..75432e2c66 100644 --- a/plugins/linear-genome-view/src/LinearGenomeView/components/Scalebar.tsx +++ b/plugins/linear-genome-view/src/LinearGenomeView/components/Scalebar.tsx @@ -103,7 +103,7 @@ const RenderedRefNameLabels = observer(function ({ model }: { model: LGV }) { ) }) -const RenderedBlockTicks = function ({ +const RenderedBlockTickLabels = function ({ block, bpPerPx, }: { @@ -145,7 +145,9 @@ const RenderedScalebarLabels = observer(function ({ model }: { model: LGV }) { const { key, widthPx } = block const k = `${key}-${idx}` if (block.type === 'ContentBlock') { - return + return ( + + ) } else if (block.type === 'ElidedBlock') { return } else if (block.type === 'InterRegionPaddingBlock') { diff --git a/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx b/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx index 374c4f474e..513797a135 100644 --- a/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +++ b/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx @@ -82,15 +82,16 @@ export async function renderToSvg(model: LGV, opts: ExportSvgOptions) { cytobandHeight={cytobandHeight} /> - + + + diff --git a/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGTracks.tsx b/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGTracks.tsx index 961570c42d..2de1a83ea7 100644 --- a/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGTracks.tsx +++ b/plugins/linear-genome-view/src/LinearGenomeView/svgcomponents/SVGTracks.tsx @@ -21,7 +21,6 @@ interface DisplayResult { export default function SVGTracks({ displayResults, model, - offset, textHeight, fontSize, trackLabels = 'offset', @@ -29,7 +28,6 @@ export default function SVGTracks({ }: { displayResults: DisplayResult[] model: LGV - offset: number textHeight: number fontSize: number trackLabels?: string @@ -37,6 +35,7 @@ export default function SVGTracks({ }) { const session = getSession(model) const textOffset = trackLabels === 'offset' ? textHeight : 0 + let offset = 0 return ( <> {displayResults.map(({ track, result }) => { diff --git a/products/jbrowse-web/src/tests/__image_snapshots__/breakpoint_split_view_snapshot.svg b/products/jbrowse-web/src/tests/__image_snapshots__/breakpoint_split_view_snapshot.svg index 4c62a82fcd..65d47b62b8 100644 --- a/products/jbrowse-web/src/tests/__image_snapshots__/breakpoint_split_view_snapshot.svg +++ b/products/jbrowse-web/src/tests/__image_snapshots__/breakpoint_split_view_snapshot.svg @@ -1 +1 @@ -hg19chr3186,698,000186,700,000chr3186,702,000186,704,0000077HG002.hs37d5.11kbpbsv.BND.3:186700648-6:56758392T[6:56758392[pbsv.BND.3:186700648-6:56758392T[6:56758392[HG002.hs37d5.bndshg19chr656,754,00056,756,00056,758,000chr656,758,00056,760,00056,762,0000088HG002.hs37d5.11kbpbsv.BND.6:56758392-3:186700648]3:186700648]Tpbsv.BND.6:56758392-3:186700648]3:186700648]THG002.hs37d5.bnds \ No newline at end of file +hg19chr3186,698,000186,700,000chr3186,702,000186,704,0000077HG002.hs37d5.11kbpbsv.BND.3:186700648-6:56758392T[6:56758392[pbsv.BND.3:186700648-6:56758392T[6:56758392[HG002.hs37d5.bndshg19chr656,754,00056,756,00056,758,000chr656,758,00056,760,00056,762,0000088HG002.hs37d5.11kbpbsv.BND.6:56758392-3:186700648]3:186700648]Tpbsv.BND.6:56758392-3:186700648]3:186700648]THG002.hs37d5.bnds \ No newline at end of file diff --git a/products/jbrowse-web/src/tests/__image_snapshots__/lgv_snapshot.svg b/products/jbrowse-web/src/tests/__image_snapshots__/lgv_snapshot.svg index 772d0c130a..6563442670 100644 --- a/products/jbrowse-web/src/tests/__image_snapshots__/lgv_snapshot.svg +++ b/products/jbrowse-web/src/tests/__image_snapshots__/lgv_snapshot.svg @@ -1 +1 @@ -volvox80bpctgA020406080001111GTACAGAGTGACGCTCAAAGCvolvox-sorted.bam (ctgA, canvas) \ No newline at end of file +volvox80bpctgA020406080001111GTACAGAGTGACGCTCAAAGCvolvox-sorted.bam (ctgA, canvas) \ No newline at end of file diff --git a/products/jbrowse-web/src/tests/__image_snapshots__/synteny_snapshot.svg b/products/jbrowse-web/src/tests/__image_snapshots__/synteny_snapshot.svg index 8b6b61590c..d6a4525239 100644 --- a/products/jbrowse-web/src/tests/__image_snapshots__/synteny_snapshot.svg +++ b/products/jbrowse-web/src/tests/__image_snapshots__/synteny_snapshot.svg @@ -1 +1 @@ -volvoxctgA1,8001,9002,0002,100333619537636283334354210515volvox_inv_indelsvolvox_random_invctgA1,8001,9002,0002,1003345844231067567193728415volvox_inv_indels \ No newline at end of file +volvoxctgA1,8001,9002,0002,100333619537636283334354210515volvox_inv_indelsvolvox_random_invctgA1,8001,9002,0002,1003345844231067567193728415volvox_inv_indels \ No newline at end of file diff --git a/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap b/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap index 2cbd14b784..19a09e82fd 100644 --- a/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap +++ b/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap @@ -4,6 +4,6 @@ exports[`export svg of circular 1`] = `"ctgA16,00018,00020,00022,00024,000volvoxctgA13,00014,00015,00016,00017,00018,00019,00020,000volvox_random_inv"`; -exports[`export svg of lgv 1`] = `"volvox80bpctgA020406080001111GTACAGAGTGACGCTCAAAGCvolvox-sorted.bam (ctgA, canvas)"`; +exports[`export svg of lgv 1`] = `"volvox80bpctgA020406080001111GTACAGAGTGACGCTCAAAGCvolvox-sorted.bam (ctgA, canvas)"`; -exports[`export svg of synteny 1`] = `"volvoxctgA1,8001,9002,0002,100333619537636283334354210515volvox_inv_indelsvolvox_random_invctgA1,8001,9002,0002,1003345844231067567193728415volvox_inv_indels"`; +exports[`export svg of synteny 1`] = `"volvoxctgA1,8001,9002,0002,100333619537636283334354210515volvox_inv_indelsvolvox_random_invctgA1,8001,9002,0002,1003345844231067567193728415volvox_inv_indels"`; diff --git a/products/jbrowse-web/src/tests/__snapshots__/ExportSvgBreakpointSplitView.test.tsx.snap b/products/jbrowse-web/src/tests/__snapshots__/ExportSvgBreakpointSplitView.test.tsx.snap index 678bcf503d..a2b2980663 100644 --- a/products/jbrowse-web/src/tests/__snapshots__/ExportSvgBreakpointSplitView.test.tsx.snap +++ b/products/jbrowse-web/src/tests/__snapshots__/ExportSvgBreakpointSplitView.test.tsx.snap @@ -1,3 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`export svg of breakpoint split view 1`] = `"hg19chr3186,698,000186,700,000chr3186,702,000186,704,0000077HG002.hs37d5.11kbpbsv.BND.3:186700648-6:56758392T[6:56758392[pbsv.BND.3:186700648-6:56758392T[6:56758392[HG002.hs37d5.bndshg19chr656,754,00056,756,00056,758,000chr656,758,00056,760,00056,762,0000088HG002.hs37d5.11kbpbsv.BND.6:56758392-3:186700648]3:186700648]Tpbsv.BND.6:56758392-3:186700648]3:186700648]THG002.hs37d5.bnds"`; +exports[`export svg of breakpoint split view 1`] = `"hg19chr3186,698,000186,700,000chr3186,702,000186,704,0000077HG002.hs37d5.11kbpbsv.BND.3:186700648-6:56758392T[6:56758392[pbsv.BND.3:186700648-6:56758392T[6:56758392[HG002.hs37d5.bndshg19chr656,754,00056,756,00056,758,000chr656,758,00056,760,00056,762,0000088HG002.hs37d5.11kbpbsv.BND.6:56758392-3:186700648]3:186700648]Tpbsv.BND.6:56758392-3:186700648]3:186700648]THG002.hs37d5.bnds"`; diff --git a/test_data/config_demo.json b/test_data/config_demo.json index b723b05a04..ac59c1bbc2 100644 --- a/test_data/config_demo.json +++ b/test_data/config_demo.json @@ -4326,6 +4326,26 @@ }, "assemblyNames": ["chm13v2.0"] }, + { + "type": "FeatureTrack", + "trackId": "hprc-v1.0-minigraph-grch38.bb.bed", + "name": "hprc-v1.0-minigraph-grch38.bb.bed", + "adapter": { + "type": "BedTabixAdapter", + "bedGzLocation": { + "uri": "hprc-v1.0-minigraph-grch38.bb.bed.gz", + "locationType": "UriLocation" + }, + "index": { + "location": { + "uri": "hprc-v1.0-minigraph-grch38.bb.bed.gz.tbi", + "locationType": "UriLocation" + }, + "indexType": "TBI" + } + }, + "assemblyNames": ["hg38"] + }, { "type": "VariantTrack", "trackId": "NA12878_LINE1", diff --git a/website/yarn.lock b/website/yarn.lock index 788c192bd9..062a9a4060 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -2,13 +2,13 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.17.4": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.4.tgz#43b6160b67cff853e05769c5f15b91ced5eff7c4" - integrity sha512-H1CAzj43RDeC4Vq9FW2JLtRDNxhjRG/aPX69nbNrKbYzX9P0YohxrEj3kJ9G+e20y0L0pYboAOeU6wgbKJ6gOA== +"@algolia/autocomplete-core@1.17.2": + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.2.tgz#dbdd0a57597b05f38d20d4de381ba446cc609001" + integrity sha512-Fi5cPV5pzEmJgTJ/KTcccJoR/v94OkBwJFyLTsmAx9jbBg5rlgoumRXQM41cgwzY1s/eBLNduUMak2KnZYofcA== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.4" - "@algolia/autocomplete-shared" "1.17.4" + "@algolia/autocomplete-plugin-algolia-insights" "1.17.2" + "@algolia/autocomplete-shared" "1.17.2" "@algolia/autocomplete-core@1.9.3": version "1.9.3" @@ -19,22 +19,22 @@ "@algolia/autocomplete-shared" "1.9.3" "@algolia/autocomplete-js@^1.8.2": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-js/-/autocomplete-js-1.17.4.tgz#5bb3990b38123a64568430f3a85e1e92806dc5c3" - integrity sha512-ANhINMwusKmsW/xHhgiKvUSLis/Lll9OilueBR9h/lxBlgEJ/hHIOTnZupzksyna1OtGZaW5keAu04E19+CW1w== + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-js/-/autocomplete-js-1.17.2.tgz#d3affab63094bf28a1bea9050cfdeb382b694a52" + integrity sha512-2UP5ZMEAtIJvnJ3qLiz3AzFjJD66n4UWsAf6mFGFXSYA/UU0LuaC8Bzrfj4CnK1d/AZyPLe+rgZXr6mQtBI8jg== dependencies: - "@algolia/autocomplete-core" "1.17.4" - "@algolia/autocomplete-preset-algolia" "1.17.4" - "@algolia/autocomplete-shared" "1.17.4" + "@algolia/autocomplete-core" "1.17.2" + "@algolia/autocomplete-preset-algolia" "1.17.2" + "@algolia/autocomplete-shared" "1.17.2" htm "^3.1.1" preact "^10.13.2" -"@algolia/autocomplete-plugin-algolia-insights@1.17.4": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.4.tgz#b88e2e54a226da0de47984022f43f8e329607819" - integrity sha512-fPABTwZtfD83qAzwnMYjJQ6ohCK7XE2l2++H+dOtV76cCIsAYYAC1bO5DnCbIi6Ma+OkNOgB1jCPI5EYOEsSpg== +"@algolia/autocomplete-plugin-algolia-insights@1.17.2": + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.2.tgz#af431f36d559ffdeb4bbcb6132d21ba63501bdc1" + integrity sha512-bgVuThYaY9NSQMHOE/GMvlEzQxFzqDH3Lbls7fWuei8iIfcBWGtRUH01m/w5LY1mAw1wv8SyZ9xwuvfdXt8XkA== dependencies: - "@algolia/autocomplete-shared" "1.17.4" + "@algolia/autocomplete-shared" "1.17.2" "@algolia/autocomplete-plugin-algolia-insights@1.9.3": version "1.9.3" @@ -43,12 +43,12 @@ dependencies: "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-preset-algolia@1.17.4": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.4.tgz#ca4dd2308615858d932ff2b2546e77c7873d4983" - integrity sha512-ijYn6hAGr3luVBVYDubaX600KXolVJH6yZlpeWZ9CNCEewgKIQ9ok3eNGha9EEJ0s9REYbp1TmDQ3T1I1aqcBA== +"@algolia/autocomplete-preset-algolia@1.17.2": + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.2.tgz#65387d60c2d8fc8485caea6591bf5e5c5210cc46" + integrity sha512-pXOD059R1giNJkcFpPEWI20XdQevHlmuTxPisKk/XkqjOCFnMmyNq2O7AWJylkcOeb62o2Ord166tJ90vNTSvw== dependencies: - "@algolia/autocomplete-shared" "1.17.4" + "@algolia/autocomplete-shared" "1.17.2" "@algolia/autocomplete-preset-algolia@1.9.3": version "1.9.3" @@ -57,10 +57,10 @@ dependencies: "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-shared@1.17.4": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.4.tgz#446e8b8f1a72d4b9b7cc68f55729d14a8260f6f7" - integrity sha512-AM7KntpKinDZGVYfZ4j8zt5ymgYBRXOZg0CFEeHLmViqu5BvQzzoc1aoNHQx6lBjViGckBYP9szA+t2QzRXy3A== +"@algolia/autocomplete-shared@1.17.2": + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.2.tgz#62d91594eb6077a47a0709fd9410150d1eb3394f" + integrity sha512-L9gmDgv2J6cXXefV4tg/xlfomd+jjbzKmoc6kcvtS2USkxowoLNvqkLRNQP8bHvX+RXXGNLJBwJj+Ul7JIpv8A== "@algolia/autocomplete-shared@1.9.3": version "1.9.3" @@ -68,135 +68,135 @@ integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== "@algolia/autocomplete-theme-classic@^1.8.2": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.17.4.tgz#141a3761c1a546085f1917a73c301868a993ed8b" - integrity sha512-HK72OAhj0R5yYwjEO97gae+WbI7zsGeItl0Awo4H7b9VsYW5RyS4Z9EpO+WiWbYITu1EVz3mu2A6Vh/gNEszOg== - -"@algolia/cache-browser-local-storage@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz#97bc6d067a9fd932b9c922faa6b7fd6e546e1348" - integrity sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww== - dependencies: - "@algolia/cache-common" "4.24.0" - -"@algolia/cache-common@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.24.0.tgz#81a8d3a82ceb75302abb9b150a52eba9960c9744" - integrity sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g== - -"@algolia/cache-in-memory@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz#ffcf8872f3a10cb85c4f4641bdffd307933a6e44" - integrity sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w== - dependencies: - "@algolia/cache-common" "4.24.0" - -"@algolia/client-account@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.24.0.tgz#eba7a921d828e7c8c40a32d4add21206c7fe12f1" - integrity sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA== - dependencies: - "@algolia/client-common" "4.24.0" - "@algolia/client-search" "4.24.0" - "@algolia/transporter" "4.24.0" - -"@algolia/client-analytics@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.24.0.tgz#9d2576c46a9093a14e668833c505ea697a1a3e30" - integrity sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg== - dependencies: - "@algolia/client-common" "4.24.0" - "@algolia/client-search" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/transporter" "4.24.0" - -"@algolia/client-common@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.24.0.tgz#77c46eee42b9444a1d1c1583a83f7df4398a649d" - integrity sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA== - dependencies: - "@algolia/requester-common" "4.24.0" - "@algolia/transporter" "4.24.0" - -"@algolia/client-personalization@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.24.0.tgz#8b47789fb1cb0f8efbea0f79295b7c5a3850f6ae" - integrity sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w== - dependencies: - "@algolia/client-common" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/transporter" "4.24.0" - -"@algolia/client-search@4.24.0", "@algolia/client-search@^4.12.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.24.0.tgz#75e6c02d33ef3e0f34afd9962c085b856fc4a55f" - integrity sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA== - dependencies: - "@algolia/client-common" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/transporter" "4.24.0" + version "1.17.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.17.2.tgz#d0544488ce5a9fc83f76763c8ac77d3d69ca3c21" + integrity sha512-aPH4uJAl4HDnodAWg3+zWoBp+m2+5FFHvWm5qLFfr6CxgytdVfEam5bBTGsv1oCWB5YYrPvtYrh9XfTTxKqP0g== + +"@algolia/cache-browser-local-storage@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz#0cc26b96085e1115dac5fcb9d826651ba57faabc" + integrity sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg== + dependencies: + "@algolia/cache-common" "4.23.3" + +"@algolia/cache-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.23.3.tgz#3bec79092d512a96c9bfbdeec7cff4ad36367166" + integrity sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A== + +"@algolia/cache-in-memory@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz#3945f87cd21ffa2bec23890c85305b6b11192423" + integrity sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg== + dependencies: + "@algolia/cache-common" "4.23.3" + +"@algolia/client-account@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.23.3.tgz#8751bbf636e6741c95e7c778488dee3ee430ac6f" + integrity sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA== + dependencies: + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/transporter" "4.23.3" + +"@algolia/client-analytics@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.23.3.tgz#f88710885278fe6fb6964384af59004a5a6f161d" + integrity sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA== + dependencies: + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" + +"@algolia/client-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.23.3.tgz#891116aa0db75055a7ecc107649f7f0965774704" + integrity sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw== + dependencies: + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" + +"@algolia/client-personalization@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.23.3.tgz#35fa8e5699b0295fbc400a8eb211dc711e5909db" + integrity sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g== + dependencies: + "@algolia/client-common" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" + +"@algolia/client-search@4.23.3", "@algolia/client-search@^4.12.0": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.23.3.tgz#a3486e6af13a231ec4ab43a915a1f318787b937f" + integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== + dependencies: + "@algolia/client-common" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/transporter" "4.23.3" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.24.0.tgz#28d439976019ec0a46ba7a1a739ef493d4ef8123" - integrity sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA== - -"@algolia/logger-console@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.24.0.tgz#c6ff486036cd90b81d07a95aaba04461da7e1c65" - integrity sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg== - dependencies: - "@algolia/logger-common" "4.24.0" - -"@algolia/recommend@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-4.24.0.tgz#8a3f78aea471ee0a4836b78fd2aad4e9abcaaf34" - integrity sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw== - dependencies: - "@algolia/cache-browser-local-storage" "4.24.0" - "@algolia/cache-common" "4.24.0" - "@algolia/cache-in-memory" "4.24.0" - "@algolia/client-common" "4.24.0" - "@algolia/client-search" "4.24.0" - "@algolia/logger-common" "4.24.0" - "@algolia/logger-console" "4.24.0" - "@algolia/requester-browser-xhr" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/requester-node-http" "4.24.0" - "@algolia/transporter" "4.24.0" - -"@algolia/requester-browser-xhr@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz#313c5edab4ed73a052e75803855833b62dd19c16" - integrity sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA== - dependencies: - "@algolia/requester-common" "4.24.0" - -"@algolia/requester-common@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.24.0.tgz#1c60c198031f48fcdb9e34c4057a3ea987b9a436" - integrity sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA== - -"@algolia/requester-node-http@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz#4461593714031d02aa7da221c49df675212f482f" - integrity sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw== - dependencies: - "@algolia/requester-common" "4.24.0" - -"@algolia/transporter@4.24.0": - version "4.24.0" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.24.0.tgz#226bb1f8af62430374c1972b2e5c8580ab275102" - integrity sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA== - dependencies: - "@algolia/cache-common" "4.24.0" - "@algolia/logger-common" "4.24.0" - "@algolia/requester-common" "4.24.0" +"@algolia/logger-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.23.3.tgz#35c6d833cbf41e853a4f36ba37c6e5864920bfe9" + integrity sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g== + +"@algolia/logger-console@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.23.3.tgz#30f916781826c4db5f51fcd9a8a264a06e136985" + integrity sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A== + dependencies: + "@algolia/logger-common" "4.23.3" + +"@algolia/recommend@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-4.23.3.tgz#53d4f194d22d9c72dc05f3f7514c5878f87c5890" + integrity sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w== + dependencies: + "@algolia/cache-browser-local-storage" "4.23.3" + "@algolia/cache-common" "4.23.3" + "@algolia/cache-in-memory" "4.23.3" + "@algolia/client-common" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/logger-console" "4.23.3" + "@algolia/requester-browser-xhr" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/requester-node-http" "4.23.3" + "@algolia/transporter" "4.23.3" + +"@algolia/requester-browser-xhr@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz#9e47e76f60d540acc8b27b4ebc7a80d1b41938b9" + integrity sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw== + dependencies: + "@algolia/requester-common" "4.23.3" + +"@algolia/requester-common@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.23.3.tgz#7dbae896e41adfaaf1d1fa5f317f83a99afb04b3" + integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw== + +"@algolia/requester-node-http@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz#c9f94a5cb96a15f48cea338ab6ef16bbd0ff989f" + integrity sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA== + dependencies: + "@algolia/requester-common" "4.23.3" + +"@algolia/transporter@4.23.3": + version "4.23.3" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.23.3.tgz#545b045b67db3850ddf0bbecbc6c84ff1f3398b7" + integrity sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ== + dependencies: + "@algolia/cache-common" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/requester-common" "4.23.3" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -214,38 +214,38 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.9.tgz#53eee4e68f1c1d0282aa0eb05ddb02d033fc43a0" - integrity sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" + integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== "@babel/core@^7.21.3", "@babel/core@^7.23.3": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" - integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" + integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.9" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-module-transforms" "^7.24.9" - "@babel/helpers" "^7.24.8" - "@babel/parser" "^7.24.8" + "@babel/generator" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helpers" "^7.24.7" + "@babel/parser" "^7.24.7" "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.9" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.3", "@babel/generator@^7.24.8", "@babel/generator@^7.24.9": - version "7.24.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.10.tgz#a4ab681ec2a78bbb9ba22a3941195e28a81d8e76" - integrity sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg== +"@babel/generator@^7.23.3", "@babel/generator@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" + integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== dependencies: - "@babel/types" "^7.24.9" + "@babel/types" "^7.24.7" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -265,26 +265,26 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" - integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" + integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== dependencies: - "@babel/compat-data" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz#47f546408d13c200c0867f9d935184eaa0851b09" - integrity sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA== +"@babel/helper-create-class-features-plugin@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b" + integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-function-name" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.8" + "@babel/helper-member-expression-to-functions" "^7.24.7" "@babel/helper-optimise-call-expression" "^7.24.7" "@babel/helper-replace-supers" "^7.24.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" @@ -333,13 +333,13 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-member-expression-to-functions@^7.24.7", "@babel/helper-member-expression-to-functions@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" - integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== +"@babel/helper-member-expression-to-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz#67613d068615a70e4ed5101099affc7a41c5225f" + integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== dependencies: - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.8" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7": version "7.24.7" @@ -349,10 +349,10 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz#e13d26306b89eea569180868e652e7f514de9d29" - integrity sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw== +"@babel/helper-module-transforms@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" + integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== dependencies: "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" @@ -367,10 +367,10 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" + integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== "@babel/helper-remap-async-to-generator@^7.24.7": version "7.24.7" @@ -413,20 +413,20 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== +"@babel/helper-string-parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" + integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== -"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== +"@babel/helper-validator-option@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" + integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== "@babel/helper-wrap-function@^7.24.7": version "7.24.7" @@ -438,13 +438,13 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helpers@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.8.tgz#2820d64d5d6686cca8789dd15b074cd862795873" - integrity sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ== +"@babel/helpers@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" + integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== dependencies: "@babel/template" "^7.24.7" - "@babel/types" "^7.24.8" + "@babel/types" "^7.24.7" "@babel/highlight@^7.24.7": version "7.24.7" @@ -456,10 +456,10 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.24.7", "@babel/parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f" - integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w== +"@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": version "7.24.7" @@ -696,16 +696,16 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz#ad23301fe5bc153ca4cf7fb572a9bc8b0b711cf7" - integrity sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA== +"@babel/plugin-transform-classes@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz#4ae6ef43a12492134138c1e45913f7c46c41b4bf" + integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-compilation-targets" "^7.24.7" "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-replace-supers" "^7.24.7" "@babel/helper-split-export-declaration" "^7.24.7" globals "^11.1.0" @@ -718,12 +718,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/template" "^7.24.7" -"@babel/plugin-transform-destructuring@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" - integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== +"@babel/plugin-transform-destructuring@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz#a097f25292defb6e6cc16d6333a4cfc1e3c72d9e" + integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-dotall-regex@^7.24.7": version "7.24.7" @@ -819,13 +819,13 @@ "@babel/helper-module-transforms" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-commonjs@^7.24.7", "@babel/plugin-transform-modules-commonjs@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" - integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== +"@babel/plugin-transform-modules-commonjs@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz#9fd5f7fdadee9085886b183f1ad13d1ab260f4ab" + integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== dependencies: - "@babel/helper-module-transforms" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" "@babel/plugin-transform-modules-systemjs@^7.24.7": @@ -903,12 +903,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" - integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== +"@babel/plugin-transform-optional-chaining@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz#b8f6848a80cf2da98a8a204429bec04756c6d454" + integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" @@ -1040,21 +1040,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-typeof-symbol@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" - integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== +"@babel/plugin-transform-typeof-symbol@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz#f074be466580d47d6e6b27473a840c9f9ca08fb0" + integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-typescript@^7.24.7": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.8.tgz#c104d6286e04bf7e44b8cba1b686d41bad57eb84" - integrity sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz#b006b3e0094bf0813d505e0c5485679eeaf4a881" + integrity sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-typescript" "^7.24.7" "@babel/plugin-transform-unicode-escapes@^7.24.7": @@ -1089,14 +1089,14 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.8.tgz#e0db94d7f17d6f0e2564e8d29190bc8cdacec2d1" - integrity sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ== - dependencies: - "@babel/compat-data" "^7.24.8" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.7.tgz#ff067b4e30ba4a72f225f12f123173e77b987f37" + integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== + dependencies: + "@babel/compat-data" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" @@ -1127,9 +1127,9 @@ "@babel/plugin-transform-block-scoping" "^7.24.7" "@babel/plugin-transform-class-properties" "^7.24.7" "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.24.8" + "@babel/plugin-transform-classes" "^7.24.7" "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" + "@babel/plugin-transform-destructuring" "^7.24.7" "@babel/plugin-transform-dotall-regex" "^7.24.7" "@babel/plugin-transform-duplicate-keys" "^7.24.7" "@babel/plugin-transform-dynamic-import" "^7.24.7" @@ -1142,7 +1142,7 @@ "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" "@babel/plugin-transform-member-expression-literals" "^7.24.7" "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-modules-commonjs" "^7.24.7" "@babel/plugin-transform-modules-systemjs" "^7.24.7" "@babel/plugin-transform-modules-umd" "^7.24.7" "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" @@ -1152,7 +1152,7 @@ "@babel/plugin-transform-object-rest-spread" "^7.24.7" "@babel/plugin-transform-object-super" "^7.24.7" "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" + "@babel/plugin-transform-optional-chaining" "^7.24.7" "@babel/plugin-transform-parameters" "^7.24.7" "@babel/plugin-transform-private-methods" "^7.24.7" "@babel/plugin-transform-private-property-in-object" "^7.24.7" @@ -1163,7 +1163,7 @@ "@babel/plugin-transform-spread" "^7.24.7" "@babel/plugin-transform-sticky-regex" "^7.24.7" "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.8" + "@babel/plugin-transform-typeof-symbol" "^7.24.7" "@babel/plugin-transform-unicode-escapes" "^7.24.7" "@babel/plugin-transform-unicode-property-regex" "^7.24.7" "@babel/plugin-transform-unicode-regex" "^7.24.7" @@ -1172,7 +1172,7 @@ babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.4" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.37.1" + core-js-compat "^3.31.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -1213,17 +1213,17 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime-corejs3@^7.22.6": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.8.tgz#c0ae5a1c380f8442920866d0cc51de8024507e28" - integrity sha512-DXG/BhegtMHhnN7YPIvxWd303/9aXvYFD1TjNL3CD6tUrhI2LVsg3Lck0aql5TRH29n4sj3emcROypkZVUfSuA== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.7.tgz#65a99097e4c28e6c3a174825591700cc5abd710e" + integrity sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA== dependencies: core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e" - integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA== + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== dependencies: regenerator-runtime "^0.14.0" @@ -1236,28 +1236,28 @@ "@babel/parser" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/traverse@^7.22.8", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.8.tgz#6c14ed5232b7549df3371d820fbd9abfcd7dfab7" - integrity sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ== +"@babel/traverse@^7.22.8", "@babel/traverse@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" + integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.8" + "@babel/generator" "^7.24.7" "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-function-name" "^7.24.7" "@babel/helper-hoist-variables" "^7.24.7" "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.8" - "@babel/types" "^7.24.8" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.21.3", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.4.4": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.9.tgz#228ce953d7b0d16646e755acf204f4cf3d08cc73" - integrity sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ== +"@babel/types@^7.21.3", "@babel/types@^7.24.7", "@babel/types@^7.4.4": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" + integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== dependencies: - "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-string-parser" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" @@ -1286,25 +1286,25 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.1.tgz#f0a728ecb486c81f2d282650fc1820c914913408" - integrity sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg== +"@docsearch/css@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.0.tgz#0e9f56f704b3a34d044d15fd9962ebc1536ba4fb" + integrity sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ== "@docsearch/react@^3.5.2": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.1.tgz#0f826df08693293806d64277d6d9c38636211b97" - integrity sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.0.tgz#b4f25228ecb7fc473741aefac592121e86dd2958" + integrity sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w== dependencies: "@algolia/autocomplete-core" "1.9.3" "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.6.1" + "@docsearch/css" "3.6.0" algoliasearch "^4.19.1" -"@docusaurus/core@3.3.2", "@docusaurus/core@~3.3.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.3.2.tgz#67b8cd5329b32f47515ecf12eb7aa306dfc69922" - integrity sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA== +"@docusaurus/core@3.4.0", "@docusaurus/core@^3.0.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.4.0.tgz#bdbf1af4b2f25d1bf4a5b62ec6137d84c821cb3c" + integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w== dependencies: "@babel/core" "^7.23.3" "@babel/generator" "^7.23.3" @@ -1316,12 +1316,12 @@ "@babel/runtime" "^7.22.6" "@babel/runtime-corejs3" "^7.22.6" "@babel/traverse" "^7.22.8" - "@docusaurus/cssnano-preset" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/cssnano-preset" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" autoprefixer "^10.4.14" babel-loader "^9.1.3" babel-plugin-dynamic-import-node "^2.3.3" @@ -1375,32 +1375,32 @@ webpack-merge "^5.9.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz#fb971b3e89fe6821721782124b430b2795faeb38" - integrity sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ== +"@docusaurus/cssnano-preset@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz#dc7922b3bbeabcefc9b60d0161680d81cf72c368" + integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ== dependencies: cssnano-preset-advanced "^6.1.2" postcss "^8.4.38" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.3.2.tgz#f43f7e08d4f5403be6a7196659490053e248325f" - integrity sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ== +"@docusaurus/logger@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.4.0.tgz#8b0ac05c7f3dac2009066e2f964dee8209a77403" + integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz#424e3ffac8bcdeba27d8c0eb84a04736702fc187" - integrity sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g== +"@docusaurus/mdx-loader@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz#483d7ab57928fdbb5c8bd1678098721a930fc5f6" + integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" @@ -1423,20 +1423,7 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz#02534449d08d080fd52dc9e046932bb600c38b01" - integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw== - dependencies: - "@docusaurus/types" "3.3.2" - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router-config" "*" - "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@6.0.0" - -"@docusaurus/module-type-aliases@^3.0.0": +"@docusaurus/module-type-aliases@3.4.0", "@docusaurus/module-type-aliases@^3.0.0": version "3.4.0" resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz#2653bde58fc1aa3dbc626a6c08cfb63a37ae1bb8" integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw== @@ -1449,18 +1436,18 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@6.0.0" -"@docusaurus/plugin-content-blog@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz#6496714b071447687ead1472e5756bfb1ae065d0" - integrity sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-blog@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz#6373632fdbababbda73a13c4a08f907d7de8f007" + integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" @@ -1472,19 +1459,19 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz#dadfbb94acfb0b74fae12db51f425c4379e30087" - integrity sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-docs@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz#3088973f72169a2a6d533afccec7153c8720d332" + integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" @@ -1494,114 +1481,114 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz#04fc18d1925618c1102b111b85e6376442c1b7a9" - integrity sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-content-pages@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz#1846172ca0355c7d32a67ef8377750ce02bbb8ad" + integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-debug@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz#bb25fac2cb705eff7857b435219faef907ba949e" - integrity sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q== +"@docusaurus/plugin-debug@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz#74e4ec5686fa314c26f3ac150bacadbba7f06948" + integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" fs-extra "^11.1.1" react-json-view-lite "^1.2.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz#6e51ee8593c79172ed2b2ac4d33e300f04bfbc87" - integrity sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A== +"@docusaurus/plugin-google-analytics@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz#5f59fc25329a59decc231936f6f9fb5663da3c55" + integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz#f8126dfe1dfa6e722157d7301430da40b97354ba" - integrity sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ== +"@docusaurus/plugin-google-gtag@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz#42489ac5fe1c83b5523ceedd5ef74f9aa8bc251b" + integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz#7ce4cf4da6ef177d63bd83beafc4a45428ff01e2" - integrity sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw== +"@docusaurus/plugin-google-tag-manager@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz#cebb03a5ffa1e70b37d95601442babea251329ff" + integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ== dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" tslib "^2.6.0" -"@docusaurus/plugin-sitemap@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz#f64fba6f03ebc14fdf55434aa2219bf80f752a13" - integrity sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/plugin-sitemap@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz#b091d64d1e3c6c872050189999580187537bcbc6" + integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" -"@docusaurus/preset-classic@~3.3.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz#1c89b5f35f9e727a1c91bc03eb25a5b42b7d67a6" - integrity sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/plugin-debug" "3.3.2" - "@docusaurus/plugin-google-analytics" "3.3.2" - "@docusaurus/plugin-google-gtag" "3.3.2" - "@docusaurus/plugin-google-tag-manager" "3.3.2" - "@docusaurus/plugin-sitemap" "3.3.2" - "@docusaurus/theme-classic" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-search-algolia" "3.3.2" - "@docusaurus/types" "3.3.2" - -"@docusaurus/theme-classic@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz#44489580e034a6f5b877ec8bfd1203e226b4a4ab" - integrity sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A== - dependencies: - "@docusaurus/core" "3.3.2" - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/types" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" +"@docusaurus/preset-classic@^3.0.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz#6082a32fbb465b0cb2c2a50ebfc277cff2c0f139" + integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/plugin-debug" "3.4.0" + "@docusaurus/plugin-google-analytics" "3.4.0" + "@docusaurus/plugin-google-gtag" "3.4.0" + "@docusaurus/plugin-google-tag-manager" "3.4.0" + "@docusaurus/plugin-sitemap" "3.4.0" + "@docusaurus/theme-classic" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-search-algolia" "3.4.0" + "@docusaurus/types" "3.4.0" + +"@docusaurus/theme-classic@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz#1b0f48edec3e3ec8927843554b9f11e5927b0e52" + integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q== + dependencies: + "@docusaurus/core" "3.4.0" + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/types" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" @@ -1616,18 +1603,18 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.3.2.tgz#26f8a6d26ea6c297350887f614c6dac73c2ede4a" - integrity sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA== - dependencies: - "@docusaurus/mdx-loader" "3.3.2" - "@docusaurus/module-type-aliases" "3.3.2" - "@docusaurus/plugin-content-blog" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/plugin-content-pages" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" +"@docusaurus/theme-common@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.4.0.tgz#01f2b728de6cb57f6443f52fc30675cf12a5d49f" + integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA== + dependencies: + "@docusaurus/mdx-loader" "3.4.0" + "@docusaurus/module-type-aliases" "3.4.0" + "@docusaurus/plugin-content-blog" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/plugin-content-pages" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1637,19 +1624,19 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz#fe669e756697a2ca79784052e26c43a07ea7e449" - integrity sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w== +"@docusaurus/theme-search-algolia@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz#c499bad71d668df0d0f15b0e5e33e2fc4e330fcc" + integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q== dependencies: "@docsearch/react" "^3.5.2" - "@docusaurus/core" "3.3.2" - "@docusaurus/logger" "3.3.2" - "@docusaurus/plugin-content-docs" "3.3.2" - "@docusaurus/theme-common" "3.3.2" - "@docusaurus/theme-translations" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-validation" "3.3.2" + "@docusaurus/core" "3.4.0" + "@docusaurus/logger" "3.4.0" + "@docusaurus/plugin-content-docs" "3.4.0" + "@docusaurus/theme-common" "3.4.0" + "@docusaurus/theme-translations" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-validation" "3.4.0" algoliasearch "^4.18.0" algoliasearch-helper "^3.13.3" clsx "^2.0.0" @@ -1659,29 +1646,14 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz#39ad011573ce963f1eda98ded925971ca57c5a52" - integrity sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ== +"@docusaurus/theme-translations@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz#e6355d01352886c67e38e848b2542582ea3070af" + integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/types@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.3.2.tgz#0e17689512b22209a98f22ee80ac56899e94d390" - integrity sha512-5p201S7AZhliRxTU7uMKtSsoC8mgPA9bs9b5NQg1IRdRxJfflursXNVsgc3PcMqiUTul/v1s3k3rXXFlRE890w== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.88.1" - webpack-merge "^5.9.0" - "@docusaurus/types@3.4.0": version "3.4.0" resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.4.0.tgz#237c3f737e9db3f7c1a5935a3ef48d6eadde8292" @@ -1697,32 +1669,34 @@ webpack "^5.88.1" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.3.2.tgz#d17868a55a25186bfdb35de317a3878e867f2005" - integrity sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og== +"@docusaurus/utils-common@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.4.0.tgz#2a43fefd35b85ab9fcc6833187e66c15f8bfbbc6" + integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ== dependencies: tslib "^2.6.0" -"@docusaurus/utils-validation@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz#7109888d9c9b23eec787b41341809438f54c2aec" - integrity sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA== +"@docusaurus/utils-validation@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz#0176f6e503ff45f4390ec2ecb69550f55e0b5eb7" + integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils" "3.3.2" - "@docusaurus/utils-common" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils" "3.4.0" + "@docusaurus/utils-common" "3.4.0" + fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" + lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.3.2.tgz#2571baccb5b7ed53d50b670094139a31a53558df" - integrity sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg== +"@docusaurus/utils@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.4.0.tgz#c508e20627b7a55e2b541e4a28c95e0637d6a204" + integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g== dependencies: - "@docusaurus/logger" "3.3.2" - "@docusaurus/utils-common" "3.3.2" + "@docusaurus/logger" "3.4.0" + "@docusaurus/utils-common" "3.4.0" "@svgr/webpack" "^8.1.0" escape-string-regexp "^4.0.0" file-loader "^6.2.0" @@ -1739,18 +1713,19 @@ shelljs "^0.8.5" tslib "^2.6.0" url-loader "^4.1.1" + utility-types "^3.10.0" webpack "^5.88.1" -"@emotion/babel-plugin@^11.12.0": - version "11.12.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" - integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw== +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.2" - "@emotion/memoize" "^0.9.0" - "@emotion/serialize" "^1.2.0" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" @@ -1758,95 +1733,122 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.13.0": - version "11.13.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.0.tgz#8f51748b8116691dee0408b08ad758b8d246b097" - integrity sha512-hPV345J/tH0Cwk2wnU/3PBzORQ9HeX+kQSbwI+jslzpRCHE6fSGTohswksA/Ensr8znPzwfzKZCmAM9Lmlhp7g== +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== dependencies: - "@emotion/memoize" "^0.9.0" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.0" - "@emotion/weak-memoize" "^0.4.0" + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" stylis "4.2.0" -"@emotion/hash@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" - integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== -"@emotion/is-prop-valid@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz#bd84ba972195e8a2d42462387581560ef780e4e2" - integrity sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ== +"@emotion/is-prop-valid@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" + integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== dependencies: - "@emotion/memoize" "^0.9.0" + "@emotion/memoize" "^0.8.1" -"@emotion/memoize@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" - integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== "@emotion/react@^11.10.6": - version "11.13.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.0.tgz#a9ebf827b98220255e5760dac89fa2d38ca7b43d" - integrity sha512-WkL+bw1REC2VNV1goQyfxjx1GYJkcc23CRQkXX+vZNLINyfI7o+uUn/rTGPt/xJ3bJHd5GcljgnxHf4wRw5VWQ== + version "11.11.4" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" + integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.12.0" - "@emotion/cache" "^11.13.0" - "@emotion/serialize" "^1.3.0" - "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" - "@emotion/utils" "^1.4.0" - "@emotion/weak-memoize" "^0.4.0" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.0.tgz#e07cadfc967a4e7816e0c3ffaff4c6ce05cb598d" - integrity sha512-jACuBa9SlYajnpIVXB+XOXnfJHyckDfe6fOpORIM6yhBDlqGuExvDdZYHDQGoDf3bZXGv7tNr+LpLjJqiEQ6EA== +"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" + integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== dependencies: - "@emotion/hash" "^0.9.2" - "@emotion/memoize" "^0.9.0" - "@emotion/unitless" "^0.9.0" - "@emotion/utils" "^1.4.0" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" csstype "^3.0.2" -"@emotion/sheet@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" - integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== "@emotion/styled@^11.10.6": - version "11.13.0" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190" - integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA== + version "11.11.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" + integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.12.0" - "@emotion/is-prop-valid" "^1.3.0" - "@emotion/serialize" "^1.3.0" - "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" - "@emotion/utils" "^1.4.0" - -"@emotion/unitless@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.9.0.tgz#8e5548f072bd67b8271877e51c0f95c76a66cbe2" - integrity sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" - integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.2" + "@emotion/serialize" "^1.1.4" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== -"@emotion/utils@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.0.tgz#262f1d02aaedb2ec91c83a0955dd47822ad5fbdd" - integrity sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ== +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== -"@emotion/weak-memoize@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" - integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@floating-ui/core@^1.0.0": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/react-dom@^2.0.8": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" @@ -1907,9 +1909,9 @@ "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -1960,84 +1962,96 @@ dependencies: "@types/mdx" "^2.0.0" -"@mui/core-downloads-tracker@^5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.4.tgz#a34de72acd7e81fdbcc7eeb07786205e90dda148" - integrity sha512-rNdHXhclwjEZnK+//3SR43YRx0VtjdHnUFhMSGYmAMJve+KiwEja/41EYh8V3pZKqF2geKyfcFUenTfDTYUR4w== +"@mui/base@5.0.0-beta.40": + version "5.0.0-beta.40" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" + integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== + dependencies: + "@babel/runtime" "^7.23.9" + "@floating-ui/react-dom" "^2.0.8" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.14" + "@popperjs/core" "^2.11.8" + clsx "^2.1.0" + prop-types "^15.8.1" + +"@mui/core-downloads-tracker@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.20.tgz#6ede705770797c32f5a4fc0d3002ad0b758d23e8" + integrity sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA== "@mui/icons-material@^5.11.16": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.4.tgz#8c7e228c1e178992d89fab47e057222c8209bd7b" - integrity sha512-j9/CWctv6TH6Dou2uR2EH7UOgu79CW/YcozxCYVLJ7l03pCsiOlJ5sBArnWJxJ+nGkFwyL/1d1k8JEPMDR125A== + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.20.tgz#dbd45d635d82b034fb10dadb5c258c26e3311618" + integrity sha512-oGcKmCuHaYbAAoLN67WKSXtHmEgyWcJToT1uRtmPyxMj9N5uqwc/mRtEnst4Wj/eGr+zYH2FiZQ79v9k7kSk1Q== dependencies: "@babel/runtime" "^7.23.9" "@mui/material@^5.12.0": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.4.tgz#992d630637d9d38620e4937fb11d0a97965fdabf" - integrity sha512-dBnh3/zRYgEVIS3OE4oTbujse3gifA0qLMmuUk13ywsDCbngJsdgwW5LuYeiT5pfA8PGPGSqM7mxNytYXgiMCw== + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.20.tgz#87737404603ca2802a8e074b059f8329e013e615" + integrity sha512-tVq3l4qoXx/NxUgIx/x3lZiPn/5xDbdTE8VrLczNpfblLYZzlrbxA7kb9mI8NoBF6+w9WE9IrxWnKK5KlPI2bg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.16.4" - "@mui/system" "^5.16.4" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.4" - "@popperjs/core" "^2.11.8" + "@mui/base" "5.0.0-beta.40" + "@mui/core-downloads-tracker" "^5.15.20" + "@mui/system" "^5.15.20" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.4.tgz#0118f137975b35dc4774c6d593b8fcf86594c3fc" - integrity sha512-ZsAm8cq31SJ37SVWLRlu02v9SRthxnfQofaiv14L5Bht51B0dz6yQEoVU/V8UduZDCCIrWkBHuReVfKhE/UuXA== +"@mui/private-theming@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.20.tgz#028c4e3c717a13691ac2c8c98e29aa819d89001a" + integrity sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.4" + "@mui/utils" "^5.15.20" prop-types "^15.8.1" -"@mui/styled-engine@^5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.4.tgz#a7a8c9079c307bab91ccd65ed5dd1496ddf2a3ab" - integrity sha512-0+mnkf+UiAmTVB8PZFqOhqf729Yh0Cxq29/5cA3VAyDVTRIUUQ8FXQhiAhUIbijFmM72rY80ahFPXIm4WDbzcA== +"@mui/styled-engine@^5.15.14": + version "5.15.14" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" + integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== dependencies: "@babel/runtime" "^7.23.9" "@emotion/cache" "^11.11.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.4.tgz#c03f971ed273f0ad06c69c949c05e866ad211407" - integrity sha512-ET1Ujl2/8hbsD611/mqUuNArMCGv/fIWO/f8B3ZqF5iyPHM2aS74vhTNyjytncc4i6dYwGxNk+tLa7GwjNS0/w== +"@mui/system@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.20.tgz#f1933aabc4c10f8580c7a951ca3b88542ef0f76b" + integrity sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.4" - "@mui/styled-engine" "^5.16.4" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.4" + "@mui/private-theming" "^5.15.20" + "@mui/styled-engine" "^5.15.14" + "@mui/types" "^7.2.14" + "@mui/utils" "^5.15.20" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.15": - version "7.2.15" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.15.tgz#dadd232fe9a70be0d526630675dff3b110f30b53" - integrity sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q== +"@mui/types@^7.2.14": + version "7.2.14" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" + integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== -"@mui/utils@^5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.4.tgz#8e50e27a630e3d8eeb3e9d3bc31cbb0e4956f5fd" - integrity sha512-nlppYwq10TBIFqp7qxY0SvbACOXeOjeVL3pOcDsK0FT8XjrEXh9/+lkg8AEIzD16z7YfiJDQjaJG2OLkE7BxNg== +"@mui/utils@^5.15.14", "@mui/utils@^5.15.20": + version "5.15.20" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.20.tgz#92778d749ce5ded1598639b4e684aaedb1146e08" + integrity sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A== dependencies: "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.12" - clsx "^2.1.1" + "@types/prop-types" "^15.7.11" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^18.2.0" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2440,9 +2454,9 @@ "@types/node" "*" "@types/node@*": - version "20.14.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b" - integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA== + version "20.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.6.tgz#f3c19ffc98c2220e18de259bb172dd4d892a6075" + integrity sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw== dependencies: undici-types "~5.26.4" @@ -2461,7 +2475,7 @@ resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.4.tgz#1a9e1074619ce1d7322669e5b46fbe823925103a" integrity sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg== -"@types/prop-types@*", "@types/prop-types@^15.7.12": +"@types/prop-types@*", "@types/prop-types@^15.7.11": version "15.7.12" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== @@ -2571,9 +2585,9 @@ integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== "@types/ws@^8.5.5": - version "8.5.11" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.11.tgz#90ad17b3df7719ce3e6bc32f83ff954d38656508" - integrity sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w== + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== dependencies: "@types/node" "*" @@ -2751,9 +2765,9 @@ acorn-walk@^8.0.0: acorn "^8.11.0" acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.7.1, acorn@^8.8.2: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + version "8.12.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" + integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== address@^1.0.1, address@^1.1.2: version "1.2.2" @@ -2798,42 +2812,42 @@ ajv@^6.12.2, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + version "8.16.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.16.0.tgz#22e2a92b94f005f7e0f9c9d39652ef0b8f6f0cb4" + integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== dependencies: fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" + uri-js "^4.4.1" algoliasearch-helper@^3.13.3: - version "3.22.3" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.22.3.tgz#7c67a1a87c3adb0b52ef726a3de3c0b0edcbb5d1" - integrity sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA== + version "3.22.1" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.22.1.tgz#c4b91265aa2e58eea4413bc57c4611eaf391e597" + integrity sha512-fSxJ4YreH4kOME9CnKazbAn2tK/rvBoV37ETd6nTt4j7QfkcnW+c+F22WfuE9Q/sRpvOMnUwU/BXAVEiwW7p/w== dependencies: "@algolia/events" "^4.0.1" algoliasearch@^4.12.0, algoliasearch@^4.18.0, algoliasearch@^4.19.1: - version "4.24.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.24.0.tgz#b953b3e2309ef8f25da9de311b95b994ac918275" - integrity sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g== - dependencies: - "@algolia/cache-browser-local-storage" "4.24.0" - "@algolia/cache-common" "4.24.0" - "@algolia/cache-in-memory" "4.24.0" - "@algolia/client-account" "4.24.0" - "@algolia/client-analytics" "4.24.0" - "@algolia/client-common" "4.24.0" - "@algolia/client-personalization" "4.24.0" - "@algolia/client-search" "4.24.0" - "@algolia/logger-common" "4.24.0" - "@algolia/logger-console" "4.24.0" - "@algolia/recommend" "4.24.0" - "@algolia/requester-browser-xhr" "4.24.0" - "@algolia/requester-common" "4.24.0" - "@algolia/requester-node-http" "4.24.0" - "@algolia/transporter" "4.24.0" + version "4.23.3" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.23.3.tgz#e09011d0a3b0651444916a3e6bbcba064ec44b60" + integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== + dependencies: + "@algolia/cache-browser-local-storage" "4.23.3" + "@algolia/cache-common" "4.23.3" + "@algolia/cache-in-memory" "4.23.3" + "@algolia/client-account" "4.23.3" + "@algolia/client-analytics" "4.23.3" + "@algolia/client-common" "4.23.3" + "@algolia/client-personalization" "4.23.3" + "@algolia/client-search" "4.23.3" + "@algolia/logger-common" "4.23.3" + "@algolia/logger-console" "4.23.3" + "@algolia/recommend" "4.23.3" + "@algolia/requester-browser-xhr" "4.23.3" + "@algolia/requester-common" "4.23.3" + "@algolia/requester-node-http" "4.23.3" + "@algolia/transporter" "4.23.3" ansi-align@^3.0.1: version "3.0.1" @@ -3080,15 +3094,15 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.23.0, browserslist@^4.23.1: - version "4.23.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" node-releases "^2.0.14" - update-browserslist-db "^1.1.0" + update-browserslist-db "^1.0.16" buffer-from@^1.0.0: version "1.1.2" @@ -3167,10 +3181,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001640: - version "1.0.30001642" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz#6aa6610eb24067c246d30c57f055a9d0a7f8d05f" - integrity sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001629: + version "1.0.30001636" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78" + integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg== ccount@^2.0.0: version "2.0.1" @@ -3314,7 +3328,7 @@ clsx@^1.1.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -clsx@^2.0.0, clsx@^2.1.0, clsx@^2.1.1: +clsx@^2.0.0, clsx@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== @@ -3513,7 +3527,7 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.36.1, core-js-compat@^3.37.1: +core-js-compat@^3.31.0, core-js-compat@^3.36.1: version "3.37.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== @@ -3990,10 +4004,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.820: - version "1.4.832" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz#d25882ce0a9237577b039bffa124ecef1822003b" - integrity sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA== +electron-to-chromium@^1.4.796: + version "1.4.807" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.807.tgz#4d6c5ea1516f0164ac5bfd487ccd4ee9507c8f01" + integrity sha512-kSmJl2ZwhNf/bcIuCH/imtNOKlpkLDn2jqT5FJ+/0CXjhnFaOa9cOe9gHKKy71eM49izwuQjZhKk+lWQ1JxB7A== emoji-regex@^8.0.0: version "8.0.0" @@ -4063,9 +4077,9 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + version "1.5.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.3.tgz#25969419de9c0b1fbe54279789023e8a9a788412" + integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" @@ -4159,11 +4173,12 @@ estree-util-to-js@^2.0.0: source-map "^0.7.0" estree-util-value-to-estree@^3.0.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.2.tgz#d2f0e5d350a6c181673eb7299743325b86a9bf5c" - integrity sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag== + version "3.1.1" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.1.tgz#a007388eca677510f319603a2f279fed6d104a15" + integrity sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA== dependencies: "@types/estree" "^1.0.0" + is-plain-obj "^4.0.0" estree-util-visit@^2.0.0: version "2.0.0" @@ -4298,11 +4313,6 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== - fast-url-parser@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -4461,7 +4471,7 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@^11.1.1: +fs-extra@^11.1.1, fs-extra@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== @@ -4701,7 +4711,7 @@ has-yarn@^3.0.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -hasown@^2.0.0, hasown@^2.0.2: +hasown@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== @@ -5157,11 +5167,11 @@ is-ci@^3.0.1: ci-info "^3.2.0" is-core-module@^2.13.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - hasown "^2.0.2" + hasown "^2.0.0" is-decimal@^2.0.0: version "2.0.1" @@ -5876,9 +5886,9 @@ micromark-core-commonmark@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-directive@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.1.tgz#67b3985bb991a69dbcae52664c57ee54b22f635a" - integrity sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg== + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz#527869de497a6de9024138479091bc885dae076b" + integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -5899,9 +5909,9 @@ micromark-extension-frontmatter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" - integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz#f1e50b42e67d441528f39a67133eddde2bbabfd9" + integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== dependencies: micromark-util-character "^2.0.0" micromark-util-sanitize-uri "^2.0.0" @@ -5909,9 +5919,9 @@ micromark-extension-gfm-autolink-literal@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-footnote@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" - integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz#91afad310065a94b636ab1e9dab2c60d1aab953c" + integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== dependencies: devlop "^1.0.0" micromark-core-commonmark "^2.0.0" @@ -5923,9 +5933,9 @@ micromark-extension-gfm-footnote@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" - integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61" + integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -5935,9 +5945,9 @@ micromark-extension-gfm-strikethrough@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-table@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz#5cadedfbb29fca7abf752447967003dc3b6583c9" - integrity sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g== + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7" + integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -5953,9 +5963,9 @@ micromark-extension-gfm-tagfilter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-task-list-item@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" - integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838" + integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -6277,16 +6287,11 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0: +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -"mime-db@>= 1.43.0 < 2": - version "1.53.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== - mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" @@ -6418,9 +6423,9 @@ node-forge@^1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-releases@^2.0.14: - version "2.0.17" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.17.tgz#d74bc4fec38d839eec5db2a3c9c963d4f33cb366" - integrity sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA== + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -6462,9 +6467,9 @@ object-assign@^4.1.1: integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-keys@^1.1.1: version "1.1.1" @@ -7006,9 +7011,9 @@ postcss-reduce-transforms@^6.0.2: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" - integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#49694cb4e7c649299fea510a29fa6577104bcf53" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -7046,18 +7051,18 @@ postcss-zindex@^6.0.2: integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: - version "8.4.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" - integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" - picocolors "^1.0.1" + picocolors "^1.0.0" source-map-js "^1.2.0" preact@^10.13.2: - version "10.22.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.22.1.tgz#6a3589973fe0c6e53211091607d31f4b7b27334d" - integrity sha512-jRYbDDgMpIb5LHq3hkI0bbl+l/TQ9UnkdQ0ww+lp+4MMOdqaUYdFc5qeyP+IV8FAd/2Em7drVPeKdQxsiWCf/A== + version "10.22.0" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.22.0.tgz#a50f38006ae438d255e2631cbdaf7488e6dd4e16" + integrity sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw== pretty-error@^4.0.0: version "4.0.0" @@ -7276,7 +7281,7 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.3.1: +react-is@^18.2.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== @@ -7748,9 +7753,9 @@ semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== send@0.18.0: version "0.18.0" @@ -8210,9 +8215,9 @@ terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: terser "^5.26.0" terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.31.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" - integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== + version "5.31.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" + integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -8307,9 +8312,9 @@ typedarray-to-buffer@^3.1.5: is-typedarray "^1.0.0" typescript@^5.0.4: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== undici-types@~5.26.4: version "5.26.5" @@ -8427,10 +8432,10 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: escalade "^3.1.2" picocolors "^1.0.1" @@ -8455,7 +8460,7 @@ update-notifier@^6.0.2: semver-diff "^4.0.0" xdg-basedir "^5.1.0" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -8507,9 +8512,9 @@ vary@~1.1.2: integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" - integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== + version "5.0.2" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" + integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== dependencies: "@types/unist" "^3.0.0" vfile "^6.0.0" @@ -8523,9 +8528,9 @@ vfile-message@^4.0.0: unist-util-stringify-position "^4.0.0" vfile@^6.0.0, vfile@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.2.tgz#ef49548ea3d270097a67011921411130ceae7deb" - integrity sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" + integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== dependencies: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" @@ -8631,9 +8636,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.88.1: - version "5.93.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" - integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== + version "5.92.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.92.1.tgz#eca5c1725b9e189cffbd86e8b6c3c7400efc5788" + integrity sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" @@ -8740,9 +8745,9 @@ ws@^7.3.1: integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" @@ -8772,9 +8777,9 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" - integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== zwitch@^2.0.0: version "2.0.4"