diff --git a/.gitignore b/.gitignore index a5e1358d2c..fad568c715 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,8 @@ iteration-plan.md tools/electron/app tools/electron/extensions tools/workspace + +# jupyter +.ipynb_checkpoints + +*.tsbuildinfo \ No newline at end of file diff --git a/configs/ts/references/tsconfig.notebook.json b/configs/ts/references/tsconfig.notebook.json new file mode 100644 index 0000000000..f0d102ed23 --- /dev/null +++ b/configs/ts/references/tsconfig.notebook.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "module": "esnext", + "moduleResolution": "bundler", + "rootDir": "../../../packages/notebook/src", + "outDir": "../../../packages/notebook/lib" + }, + "include": ["../../../packages/notebook/src"] +} diff --git a/configs/ts/tsconfig.base.json b/configs/ts/tsconfig.base.json index f3d381aad3..59c8159b2c 100644 --- a/configs/ts/tsconfig.base.json +++ b/configs/ts/tsconfig.base.json @@ -1,8 +1,8 @@ { "baseUrl": "./", "compilerOptions": { - "module": "commonjs", - "target": "es2017", + "module": "nodenext", + "target": "es2018", "moduleResolution": "nodenext", "strict": true, "strictPropertyInitialization": false, diff --git a/configs/ts/tsconfig.build.json b/configs/ts/tsconfig.build.json index e8f7b26cfb..d231ac6cce 100644 --- a/configs/ts/tsconfig.build.json +++ b/configs/ts/tsconfig.build.json @@ -182,6 +182,9 @@ }, { "path": "./references/tsconfig.playwright.json" + }, + { + "path": "./references/tsconfig.notebook.json" } ] } diff --git a/configs/ts/tsconfig.resolve.json b/configs/ts/tsconfig.resolve.json index e3e432ef7b..b56bfd9200 100644 --- a/configs/ts/tsconfig.resolve.json +++ b/configs/ts/tsconfig.resolve.json @@ -124,7 +124,9 @@ "@opensumi/ide-design": ["../packages/design/src/index.ts"], "@opensumi/ide-design/lib/*": ["../packages/design/src/*"], "@opensumi/ide-ai-native": ["../packages/ai-native/src/index.ts"], - "@opensumi/ide-ai-native/lib/*": ["../packages/ai-native/src/*"] + "@opensumi/ide-ai-native/lib/*": ["../packages/ai-native/src/*"], + "@opensumi/ide-notebook": ["../packages/notebook/src/index.ts"], + "@opensumi/ide-notebook/lib/*": ["../packages/notebook/src/*"] } } } diff --git a/package.json b/package.json index a84d0ac403..c49ff4831a 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,75 @@ { "name": "@opensumi/core", "private": true, + "repository": { + "type": "git", + "url": "git@github.com:opensumi/core.git" + }, "license": "MIT", + "workspaces": [ + "packages/*", + "tools/dev-tool", + "tools/playwright", + "tools/cli-engine" + ], "scripts": { - "preinstall": "node scripts/preinstall.js && husky install", - "clean": "rimraf \"./packages/*/lib\" && lerna run clean", - "check:dep": "tsx ./scripts/depcheck", - "init": "yarn run clean && yarn run build:all", - "start": "yarn run rebuild:node && cross-env HOST=127.0.0.1 WS_PATH=ws://127.0.0.1:8000 NODE_ENV=development tsx ./scripts/start", - "start:remote": "yarn run rebuild:node && cross-env NODE_ENV=development tsx ./scripts/start", - "start:electron": "cross-env NODE_ENV=development tsx ./scripts/start-electron", - "build:components": "cd packages/components && yarn run build:dist", - "start:lite": "cross-env NODE_ENV=development tsx ./scripts/start --script=start:lite", - "bundle:lite": "tsx ./scripts/start --script=bundle:lite", - "bundle:preview": "tsx ./scripts/start --script=bundle:preview", - "start:pty-service": "KTLOG_SHOW_DEBUG=1 npx tsx packages/terminal-next/src/node/pty.proxy.remote.exec.ts", - "create": "tsx ./scripts/create", - "add:node": "tsx ./scripts/add-node", "add:browser": "tsx ./scripts/add-browser", + "add:node": "tsx ./scripts/add-node", "build": "yarn run compile", "build:all": "yarn build:webview-prebuilt && yarn run build && yarn run build:worker-host && yarn run build:ext-host && yarn run build:components && yarn build:monaco-worker", - "compile": "cross-env NODE_ENV=production tsx ./scripts/build", - "build:worker-host": "cd packages/extension && yarn run compile:worker", - "build:ext-host": "cd packages/extension && yarn run build:ext-host", "build:cli-engine": "cd tools/cli-engine && yarn run build", + "build:components": "cd packages/components && yarn run build:dist", + "build:ext-host": "cd packages/extension && yarn run build:ext-host", "build:monaco-worker": "cd packages/monaco && yarn run build:worker", "build:webview-prebuilt": "yarn workspace @opensumi/ide-webview bundle-webview", - "watch:ext-host": "cd packages/extension && yarn run watch:ext-host", - "watch:worker-host": "cd packages/extension && yarn run watch:worker", - "watch": "yarn run rebuild:node && cross-env NODE_ENV=production tsx ./scripts/watch", - "publish": "yarn run build:all && tsx ./scripts/publish", - "publish:snapshot": "yarn run publish --rollback --type=snapshot", - "publish:next": "yarn run publish --rollback --type=next", - "update-version": "tsx ./scripts/publish --versionOnly", - "update-disttag": "tsx ./scripts/dist-tag", + "build:worker-host": "cd packages/extension && yarn run compile:worker", + "bundle:lite": "tsx ./scripts/start --script=bundle:lite", + "bundle:preview": "tsx ./scripts/start --script=bundle:preview", + "changelog": "tsx -P scripts/tsconfig.scripts.json scripts/changelog/index.ts", + "changelog-old": "node scripts/changelog/index.js", + "check:dep": "tsx ./scripts/depcheck", + "ci": "yarn run init && yarn run test:cov", + "clean": "rimraf \"./packages/*/lib\" && lerna run clean", + "compile": "cross-env NODE_ENV=production tsx ./scripts/build", + "create": "tsx ./scripts/create", + "download-extension": "cross-env DEBUG=InstallExtension MARKETPLACE=ALI node scripts/download.js", + "format": "yarn run lint:fix && prettier \"**/*.{js,jsx,ts,tsx,html,css,less}\" --write", + "init": "yarn run clean && yarn run build:all", + "preinstall": "node scripts/preinstall.js && husky install", + "iteration": "tsx -P scripts/tsconfig.scripts.json scripts/iteration-plan.ts", "lint": "eslint . --ext .js,.jsx,.ts,.tsx", "lint:fix": "yarn run lint --fix", - "format": "yarn run lint:fix && prettier \"**/*.{js,jsx,ts,tsx,html,css,less}\" --write", + "manifest": "tsx ./scripts/generate-manifest-json", + "prepare:test": "yarn && yarn run compile && yarn run build:worker-host", + "publish": "yarn run build:all && tsx ./scripts/publish", + "publish:next": "yarn run publish --rollback --type=next", + "publish:snapshot": "yarn run publish --rollback --type=snapshot", "rebuild:node": "sumi rebuild", - "test:module": "cross-env NODE_OPTIONS=--max-old-space-size=5120 tsx ./scripts/module-jest", + "start": "yarn run rebuild:node && cross-env HOST=127.0.0.1 WS_PATH=ws://127.0.0.1:8000 NODE_ENV=development tsx ./scripts/start", "start:e2e": "yarn start --script=start:e2e", + "start:electron": "cross-env NODE_ENV=development tsx ./scripts/start-electron", + "start:lite": "cross-env NODE_ENV=development tsx ./scripts/start --script=start:lite", + "start:pty-service": "KTLOG_SHOW_DEBUG=1 npx tsx packages/terminal-next/src/node/pty.proxy.remote.exec.ts", + "start:remote": "yarn run rebuild:node && cross-env NODE_ENV=development tsx ./scripts/start", + "test": "node --expose-gc ./node_modules/.bin/jest --forceExit --detectOpenHandles", + "test:cov": "cross-env NODE_OPTIONS=--max-old-space-size=32768 yarn run test:heap --coverage", + "test:heap": "yarn test --logHeapUsage", + "test:module": "cross-env NODE_OPTIONS=--max-old-space-size=5120 tsx ./scripts/module-jest", "test:ui": "tsx ./scripts/run-ui-tests", "test:ui-ci": "tsx ./scripts/run-ui-tests --ci=true", "test:ui-headful": "tsx ./scripts/run-ui-tests --headful=true", "test:ui-report": "tsx ./scripts/run-ui-tests --report=true", - "test": "node --expose-gc ./node_modules/.bin/jest --forceExit --detectOpenHandles", - "test:heap": "yarn test --logHeapUsage", - "prepare:test": "yarn && yarn run compile && yarn run build:worker-host", - "test:cov": "cross-env NODE_OPTIONS=--max-old-space-size=32768 yarn run test:heap --coverage", - "ci": "yarn run init && yarn run test:cov", - "download-extension": "cross-env DEBUG=InstallExtension node scripts/download.js", + "update-disttag": "tsx ./scripts/dist-tag", + "update-version": "tsx ./scripts/publish --versionOnly", "update:iconfont": "tsx ./scripts/download-iconfont.ts", - "changelog-old": "node scripts/changelog/index.js", - "changelog": "tsx -P scripts/tsconfig.scripts.json scripts/changelog/index.ts", - "iteration": "tsx -P scripts/tsconfig.scripts.json scripts/iteration-plan.ts", - "manifest": "tsx ./scripts/generate-manifest-json" - }, - "engines": { - "node": ">=18.12.0" + "watch": "yarn run rebuild:node && cross-env NODE_ENV=production tsx ./scripts/watch", + "watch:ext-host": "cd packages/extension && yarn run watch:ext-host", + "watch:worker-host": "cd packages/extension && yarn run watch:worker" }, "lint-staged": { "*.{js,jsx,ts,tsx,md,html,css,less,json,yml}": "prettier --write", "*.{js,jsx,ts,tsx}": "eslint --fix --quiet" }, - "repository": { - "type": "git", - "url": "git@github.com:opensumi/core.git" - }, "devDependencies": { "@ast-grep/napi": "^0.17.1", "@commitlint/cli": "^19.2.1", @@ -79,7 +82,7 @@ "@types/jest": "^29.5.6", "@types/jsdom": "^16.2.14", "@types/lodash": "^4.14.202", - "@types/node": "^20.11.30", + "@types/node": "^22.7.6", "@types/node-fetch": "^2.6.1", "@types/react": "^18.2.0", "@types/react-dom": "^18.2.0", @@ -137,15 +140,12 @@ "ts-node": "^10.9.1", "tslib": "^2.6.2", "tsx": "^4.7.1", - "typescript": "4.9.3", + "typescript": "^5.6.3", "webpack": "^5.90.0", "webpack-manifest-plugin": "^5.0.0" }, - "workspaces": [ - "packages/*", - "tools/dev-tool", - "tools/playwright", - "tools/cli-engine" - ], - "packageManager": "yarn@4.4.1" + "packageManager": "yarn@4.4.1", + "engines": { + "node": ">=18.12.0" + } } diff --git a/packages/ai-native/src/browser/contrib/inline-completions/provider.ts b/packages/ai-native/src/browser/contrib/inline-completions/provider.ts index 3756970239..37e40c790e 100644 --- a/packages/ai-native/src/browser/contrib/inline-completions/provider.ts +++ b/packages/ai-native/src/browser/contrib/inline-completions/provider.ts @@ -23,7 +23,7 @@ export async function getPrefixPrompt( const { maxPromptTokenSize } = promptConfig; - const prefixPercent = 1 - promptConfig.wishList.afterCursor.extOption.suffixPercent ?? 0.25; + const prefixPercent = 1 - (promptConfig.wishList.afterCursor.extOption.suffixPercent ?? 0.25); const beforeCursorMaxTokenSize = Math.ceil(prefixPercent * maxPromptTokenSize); const leftTokenSize = beforeCursorMaxTokenSize; diff --git a/packages/comments/src/browser/comments.service.ts b/packages/comments/src/browser/comments.service.ts index 70dd683cf1..cc20304b56 100644 --- a/packages/comments/src/browser/comments.service.ts +++ b/packages/comments/src/browser/comments.service.ts @@ -1106,7 +1106,7 @@ export class CommentsService extends Disposable implements ICommentsService { public getProviderIdsByLine(line: number): string[] { const result: string[] = []; if (this.rangeOwner.size === 1) { - return [this.rangeOwner.keys().next().value]; + return [this.rangeOwner.keys().next().value!]; } for (const rangeOwner of this.rangeOwner) { const [id, ranges] = rangeOwner; diff --git a/packages/components/src/menu/MenuItem.tsx b/packages/components/src/menu/MenuItem.tsx index 0ed1be9c4e..35096333f7 100644 --- a/packages/components/src/menu/MenuItem.tsx +++ b/packages/components/src/menu/MenuItem.tsx @@ -21,6 +21,7 @@ export interface MenuItemProps onKeyDown?: (e: React.KeyboardEvent) => void; onMouseEnter?: (e: { key: string; domEvent: React.MouseEvent }) => void; onMouseLeave?: (e: { key: string; domEvent: React.MouseEvent }) => void; + ref?: React.Ref | undefined; } export default class MenuItem extends React.Component { diff --git a/packages/components/src/menu/SubMenu.tsx b/packages/components/src/menu/SubMenu.tsx index e93050e414..142d0b43e6 100644 --- a/packages/components/src/menu/SubMenu.tsx +++ b/packages/components/src/menu/SubMenu.tsx @@ -19,6 +19,7 @@ export interface SubMenuProps extends RCSubMenuProps { onKeyDown?: (e: React.KeyboardEvent) => void; popupOffset?: [number, number]; popupClassName?: string; + ref?: React.Ref | undefined; } class SubMenu extends React.Component { diff --git a/packages/core-browser/src/bootstrap/app.view.tsx b/packages/core-browser/src/bootstrap/app.view.tsx index cc7df9fd8b..8d8a7837ee 100644 --- a/packages/core-browser/src/bootstrap/app.view.tsx +++ b/packages/core-browser/src/bootstrap/app.view.tsx @@ -2,7 +2,7 @@ import React from 'react'; import ReactDom from 'react-dom/client'; import { ComponentContextProvider, IIconResourceOptions } from '@opensumi/ide-components'; -import { IEventBus, URI, getDebugLogger, localize } from '@opensumi/ide-core-common'; +import { ContributionProvider, IEventBus, URI, getDebugLogger, localize } from '@opensumi/ide-core-common'; import { IClientApp } from '../browser-module'; import { DefaultLayout } from '../components/layout/default-layout'; @@ -12,6 +12,8 @@ import { allSlot } from '../react-providers/slot'; import { LabelService } from '../services'; import { getIcon } from '../style/icon/icon'; +import { ClientAppContextContribution } from './context-contribution'; + export interface AppProps { app: IClientApp; main: React.ComponentType<{ callback?: () => void }>; @@ -70,7 +72,7 @@ const defaultAppRender = const debugLogger = getDebugLogger(); export function renderClientApp(app: IClientApp, container: HTMLElement | IAppRenderer) { - const Layout = app.config.layoutComponent || DefaultLayout; + let Layout = app.config.layoutComponent || DefaultLayout; const overlayComponents = app.browserModules .filter((mod) => mod.isOverlay) .map((mod) => { @@ -82,6 +84,12 @@ export function renderClientApp(app: IClientApp, container: HTMLElement | IAppRe }) .filter(Boolean) as React.ComponentType[]; + const injector = app.injector; + const clientAppContextContribution: ContributionProvider = + injector.get(ClientAppContextContribution); + const contextContrib = clientAppContextContribution.getContributions(); + contextContrib.forEach((contextProvider) => (Layout = contextProvider.registerClientAppContext(Layout, injector))); + const IdeApp = (props) => ; const render = typeof container === 'function' ? container : defaultAppRender(container); diff --git a/packages/core-browser/src/bootstrap/context-contribution.tsx b/packages/core-browser/src/bootstrap/context-contribution.tsx new file mode 100644 index 0000000000..da1b6291e4 --- /dev/null +++ b/packages/core-browser/src/bootstrap/context-contribution.tsx @@ -0,0 +1,7 @@ +import { Injector } from '@opensumi/di'; + +export const ClientAppContextContribution = Symbol('ClientAppContextContribution'); + +export interface ClientAppContextContribution { + registerClientAppContext: (layout: React.FC, injector: Injector) => React.FC; +} diff --git a/packages/core-browser/src/bootstrap/index.ts b/packages/core-browser/src/bootstrap/index.ts index 0568216bcb..6ab08af165 100644 --- a/packages/core-browser/src/bootstrap/index.ts +++ b/packages/core-browser/src/bootstrap/index.ts @@ -1,3 +1,4 @@ export * from './app.interface'; export * from './app.view'; export * from './connection'; +export * from './context-contribution'; diff --git a/packages/core-browser/src/bootstrap/inner-providers.ts b/packages/core-browser/src/bootstrap/inner-providers.ts index f0969a1c41..b88562d791 100644 --- a/packages/core-browser/src/bootstrap/inner-providers.ts +++ b/packages/core-browser/src/bootstrap/inner-providers.ts @@ -80,6 +80,7 @@ import { VariableContribution, VariableRegistry, VariableRegistryImpl } from '.. import { IWindowService } from '../window'; import { WindowService } from '../window/window.service'; +import { ClientAppContextContribution } from './context-contribution'; import { AppLifeCycleService } from './lifecycle.service'; export function injectInnerProviders(injector: Injector) { @@ -96,6 +97,7 @@ export function injectInnerProviders(injector: Injector) { createContributionProvider(injector, TabBarToolbarContribution); createContributionProvider(injector, ToolBarActionContribution); createContributionProvider(injector, StaticResourceContribution); + createContributionProvider(injector, ClientAppContextContribution); // 一些内置抽象实现 const providers: Provider[] = [ diff --git a/packages/core-browser/src/react-providers/config-provider.tsx b/packages/core-browser/src/react-providers/config-provider.tsx index 28ed6fa14b..fdf480b95d 100644 --- a/packages/core-browser/src/react-providers/config-provider.tsx +++ b/packages/core-browser/src/react-providers/config-provider.tsx @@ -303,6 +303,15 @@ export interface AppConfig { * This is useful when your scenario is one-time use, and you can control the opening of the editor tab yourself. */ disableRestoreEditorGroupState?: boolean; + /** + * Notebook Server Host + * Provide when you want to connect to a notebook server + */ + notebookServerHost?: string; + /** + * The authentication token for requests. Use an empty string to disable. + */ + notebookServerToken?: string; } export interface ICollaborationClientOpts { diff --git a/packages/core-browser/src/services/label-service.ts b/packages/core-browser/src/services/label-service.ts index 5aa7215183..cb72972654 100644 --- a/packages/core-browser/src/services/label-service.ts +++ b/packages/core-browser/src/services/label-service.ts @@ -328,7 +328,7 @@ const getIconClass = ( }; export function cssEscape(str: string): string { - return str.replace(/[\11\12\14\15\40]/g, '/'); // HTML class names can not contain certain whitespace characters, use / instead, which doesn't exist in file names. + return str.replace(/[\x09\x0a\x0c\x0d\x20]/g, '/'); // HTML class names can not contain certain whitespace characters, use / instead, which doesn't exist in file names. } export function basenameOrAuthority(resource: URI) { diff --git a/packages/core-common/src/const/application.ts b/packages/core-common/src/const/application.ts index df2b4c2a44..2cdb3942af 100644 --- a/packages/core-common/src/const/application.ts +++ b/packages/core-common/src/const/application.ts @@ -10,4 +10,4 @@ export namespace DEFAULT_ALIPAY_CLOUD_REGISTRY { export const MASTER_KEY = 'i6rkupqyvC6Bc6CiO0yVLNqq'; } -export const DEFAULT_VSCODE_ENGINE_VERSION = '1.68.0'; +export const DEFAULT_VSCODE_ENGINE_VERSION = '1.90.0'; diff --git a/packages/core-common/src/problem-pattern.ts b/packages/core-common/src/problem-pattern.ts index 474395d4ac..f343276a65 100644 --- a/packages/core-common/src/problem-pattern.ts +++ b/packages/core-common/src/problem-pattern.ts @@ -15,14 +15,13 @@ ********************************************************************************/ // Some code copied and modified from https://github.com/eclipse-theia/theia/tree/v1.14.0/packages/core/src/common/severity.ts -// eslint-disable-next-line import/no-unresolved -import { Diagnostic } from 'vscode'; - import { Injectable } from '@opensumi/di'; import { Disposable, DisposableCollection, IDisposable, URI, isArray, isString } from '@opensumi/ide-utils'; import { ProblemMatcher } from './problem-matcher'; +import type { Diagnostic } from 'vscode'; + export enum ApplyToKind { allDocuments, openDocuments, diff --git a/packages/debug/src/browser/view/configuration/debug-toolbar.view.tsx b/packages/debug/src/browser/view/configuration/debug-toolbar.view.tsx index af30bfed61..4e5db4f754 100644 --- a/packages/debug/src/browser/view/configuration/debug-toolbar.view.tsx +++ b/packages/debug/src/browser/view/configuration/debug-toolbar.view.tsx @@ -40,10 +40,10 @@ class FloatController { private origin: number = 0; state = derived(this, (reader) => ({ - enable: this._enable.read(reader), - x: this._x.read(reader), - line: this._line.read(reader), - })); + enable: this._enable.read(reader), + x: this._x.read(reader), + line: this._line.read(reader), + })); setEnable(value: boolean) { transaction((tx) => { diff --git a/packages/editor/src/browser/quick-open/workspace-symbol-quickopen.ts b/packages/editor/src/browser/quick-open/workspace-symbol-quickopen.ts index 2556d7d9c3..a6e0ab9c73 100644 --- a/packages/editor/src/browser/quick-open/workspace-symbol-quickopen.ts +++ b/packages/editor/src/browser/quick-open/workspace-symbol-quickopen.ts @@ -221,7 +221,7 @@ export class SymbolInformationQuickOpenItem extends QuickOpenItem { } getIconClass() { - return getSymbolIcon(this.symbol.kind); + return getSymbolIcon(this.symbol.kind as SymbolKindEnum); } getDescription() { diff --git a/packages/editor/src/browser/tab.view.tsx b/packages/editor/src/browser/tab.view.tsx index 33d46aa3c5..a875864c93 100644 --- a/packages/editor/src/browser/tab.view.tsx +++ b/packages/editor/src/browser/tab.view.tsx @@ -73,7 +73,7 @@ export const Tabs = ({ group }: ITabsProps) => { const tabWrapperRef = useRef(); const contentRef = useRef(); const editorActionUpdateTimer = useRef(null); - const editorActionRef = useRef(null); + const editorActionRef = useRef(null); const resourceService = useInjectable(ResourceService) as ResourceService; const eventBus = useInjectable(IEventBus) as IEventBus; const configContext = useContext(ConfigContext); @@ -210,7 +210,7 @@ export const Tabs = ({ group }: ITabsProps) => { } editorActionUpdateTimer.current = setTimeout(() => { fastdom.measure(() => { - const _marginReight = editorActionRef.current?.offsetWidth; + const _marginReight = (editorActionRef.current as HTMLDivElement)?.offsetWidth; if (_marginReight !== lastMarginRight) { setLastMarginRight(_marginReight); } @@ -547,7 +547,7 @@ export interface IEditorActionsBaseProps { export type IEditorActionsProps = IEditorActionsBaseProps & HTMLAttributes; export const EditorActions = forwardRef( - (props: IEditorActionsProps, ref: Ref) => { + (props: IEditorActionsProps, ref: React.LegacyRef) => { const styles_editor_actions = useDesignStyles(styles.editor_actions, 'editor_actions'); const { group, className } = props; diff --git a/packages/express-file-server/src/common/index.ts b/packages/express-file-server/src/common/index.ts index 4356d13b70..3568853faf 100644 --- a/packages/express-file-server/src/common/index.ts +++ b/packages/express-file-server/src/common/index.ts @@ -4,6 +4,7 @@ export const EXPRESS_SERVER_PATH = process.env.STATIC_SERVER_PATH || `http://127 export const ALLOW_MIME = { gif: 'image/gif', jpg: 'image/jpeg', + jpeg: 'image/jpeg', png: 'image/png', webp: 'image/webp', svg: 'image/svg+xml', diff --git a/packages/extension/src/common/vscode/testing/testCollection.ts b/packages/extension/src/common/vscode/testing/testCollection.ts index acc0d0a495..4a5efb0e30 100644 --- a/packages/extension/src/common/vscode/testing/testCollection.ts +++ b/packages/extension/src/common/vscode/testing/testCollection.ts @@ -434,7 +434,8 @@ export class SingleUseTestCollection extends Disposable { } }; - let r: Thenable | void; + // eslint-disable-next-line no-undef-init + let r: Thenable | void = undefined; try { r = this._resolveHandler(internal.actual === this.root ? undefined : internal.actual); } catch (err) { diff --git a/packages/extension/src/hosted/api/vscode/ext.host.tests.ts b/packages/extension/src/hosted/api/vscode/ext.host.tests.ts index 8795f2e415..5395f7caff 100644 --- a/packages/extension/src/hosted/api/vscode/ext.host.tests.ts +++ b/packages/extension/src/hosted/api/vscode/ext.host.tests.ts @@ -836,7 +836,7 @@ export class MirroredTestCollection extends AbstractIncrementalTestCollection', + }, + }), +); +``` + +> 注:目前 Notebook 能力依赖了 antd 组件库,会导致打包体积增大较多,请按需引入。 diff --git a/packages/notebook/package.json b/packages/notebook/package.json new file mode 100644 index 0000000000..5529495e19 --- /dev/null +++ b/packages/notebook/package.json @@ -0,0 +1,40 @@ +{ + "name": "@opensumi/ide-notebook", + "version": "3.4.3", + "license": "MIT", + "main": "lib/index.js", + "typings": "lib/index.d.ts", + "files": [ + "lib", + "src", + "worker" + ], + "scripts": { + "build": "tsc --build ../../configs/ts/references/tsconfig.notebook.json", + "prepublishOnly": "yarn run build" + }, + "dependencies": { + "@ant-design/icons": "^4.6.4", + "@difizen/libro-code-editor": "0.2.45", + "@difizen/libro-common": "0.2.45", + "@difizen/libro-core": "0.2.45", + "@difizen/libro-jupyter": "0.2.45", + "@difizen/libro-kernel": "0.2.45", + "@difizen/libro-lsp": "0.2.45", + "@difizen/libro-toc": "0.2.45", + "@difizen/mana-app": "^0.1.27", + "@opensumi/ide-components": "workspace:*", + "@opensumi/ide-core-browser": "workspace:*", + "@opensumi/ide-core-common": "workspace:*", + "@opensumi/ide-editor": "workspace:*", + "@opensumi/ide-explorer": "workspace:*", + "@opensumi/ide-file-service": "workspace:*", + "@opensumi/ide-main-layout": "workspace:*", + "@opensumi/ide-monaco": "workspace:*", + "@opensumi/ide-outline": "workspace:*", + "@opensumi/ide-overlay": "workspace:*", + "@opensumi/ide-theme": "workspace:*", + "@opensumi/monaco-editor-core": "0.47.0-patch.15", + "antd": "^5.21.4" + } +} diff --git a/packages/notebook/src/browser/index.ts b/packages/notebook/src/browser/index.ts new file mode 100644 index 0000000000..295450750a --- /dev/null +++ b/packages/notebook/src/browser/index.ts @@ -0,0 +1,38 @@ +import { Injectable, Provider } from '@opensumi/di'; +import { BrowserModule } from '@opensumi/ide-core-browser'; +import { INotebookService } from '@opensumi/ide-editor'; + +import { KernelPanelContribution } from './kernel-panel/kernel.panel.contribution'; +import { LibroKeybindContribution } from './libro-keybind-contribution'; +import { LibroCommandContribution } from './libro.command'; +import { LibroContribution } from './libro.contribution'; +import { ILibroOpensumiService, LibroOpensumiService } from './libro.service'; +import { NotebookServiceOverride } from './notebook.service'; +import { TocContribution } from './toc/toc.contribution'; + +export * from './kernel-panel'; +export * from './libro.color.tokens'; +export * from './libro.contribution'; +export * from './libro.protocol'; +export * from './libro.service'; +export * from './toc/index'; + +@Injectable() +export class NotebookModule extends BrowserModule { + providers: Provider[] = [ + LibroContribution, + LibroCommandContribution, + TocContribution, + { + token: ILibroOpensumiService, + useClass: LibroOpensumiService, + }, + LibroKeybindContribution, + { + token: INotebookService, + useClass: NotebookServiceOverride, + override: true, + }, + KernelPanelContribution, + ]; +} diff --git a/packages/notebook/src/browser/kernel-panel/collapse/collapse-content.tsx b/packages/notebook/src/browser/kernel-panel/collapse/collapse-content.tsx new file mode 100644 index 0000000000..938ba9f988 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/collapse-content.tsx @@ -0,0 +1,46 @@ +import { CloseOutlined } from '@ant-design/icons'; +import { message } from 'antd'; +import React from 'react'; + +import { LibroPanelCollapseItem, LibroPanelCollapseItemType } from '../kernel.panel.protocol'; + +import { OpenedPage, RunningKernel } from './icon'; + +export const getIcon = (type: LibroPanelCollapseItemType) => { + switch (type) { + case LibroPanelCollapseItemType.PAGE: + return ; + case LibroPanelCollapseItemType.KERNEL: + return ; + } +}; + +interface Props { + type: LibroPanelCollapseItemType; + items: LibroPanelCollapseItem[]; +} + +export const LibroCollapseContent: React.FC = (props: Props) => ( + <> + {props.items.map((item) => ( +
+
{getIcon(props.type)}
+
{item.name}
+
{ + e.stopPropagation(); + e.preventDefault(); + if (item.shutdown) { + item.shutdown().catch((error) => { + message.error(`shutdown ${props.type} failed`); + }); + } + }} + > + +
+
+ ))} + + ); diff --git a/packages/notebook/src/browser/kernel-panel/collapse/icon.tsx b/packages/notebook/src/browser/kernel-panel/collapse/icon.tsx new file mode 100644 index 0000000000..3935872d41 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/icon.tsx @@ -0,0 +1,171 @@ +import React from 'react'; + +export function FileUnderKernel() { + return ( + + CPU#1 + + + + + + + + + + + + + + + + + + ); +} + +export function RunningKernel() { + return ( + + py + + + + + + + + + + + + + + + + + ); +} + +export function existedLSP() { + return ( + + robot-fill + + + + + + + + + + + + + + + + ); +} + +export function OpenedPage() { + return ( + + 广告主流水@2x + + + + + + + + + + + + + + + + + + ); +} + +export function KernelAndTerminal() { + return ( + + app store-fill + + + + + + + + + + + + ); +} diff --git a/packages/notebook/src/browser/kernel-panel/collapse/index.less b/packages/notebook/src/browser/kernel-panel/collapse/index.less new file mode 100644 index 0000000000..82622ae80a --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/index.less @@ -0,0 +1,95 @@ +.libro-panel-collapse-container { + width: 100%; + margin-bottom: 16px; +} + +.libro-panel-collapse-header { + user-select: none; // 双击不选中文本 + color: var(--kernel-panel-collapse-header-label); + font-size: 12px; + + .libro-panel-collapse-header-left { + display: inline-block; + cursor: pointer; + + .libro-panel-collapse-header-icon { + display: inline-block; + margin-right: 5px; + } + + .libro-panel-collapse-header-label { + display: inline-block; + } + } + + .libro-panel-collapse-header-close-all { + // display: inline-block; + cursor: pointer; + color: var(--kernel-panel-collapse-header-close-all); + float: right; + } +} + +.libro-panel-collapse-kernel-item-container { + margin-left: 15px; +} + +.libro-panel-collapse-content, +.libro-panel-collapse-kernel-item-container { + .libro-panel-collapse-item, + .libro-panel-collapse-kernel-item { + height: 20px; + cursor: pointer; + user-select: none; // 双击不选中文本 + color: var(--kernel-panel-collapse-item); + font-size: 12px; + margin: 2px 0; + padding: 0 10px; + display: flex; + + .libro-panel-collapse-item-toggle { + display: inline-block; + margin: auto 5px auto 0; + } + + .libro-panel-collapse-item-icon, + .libro-panel-collapse-kernel-item-icon { + display: inline-block; + margin: auto 5px auto 0; + + & > :first-child { + vertical-align: middle; + } + } + + .libro-panel-collapse-item-label, + .libro-panel-collapse-kernel-item-name { + display: inline-block; + min-width: 50px; + white-space: nowrap; /* 避免文本换行 */ + overflow: hidden; /* 隐藏超出div的内容 */ + text-overflow: ellipsis; /* 在文本超出宽度时显示省略号 */ + margin: auto 0; + } + + .libro-panel-collapse-item-close { + // display: inline-block; + display: flex; + align-items: center; + justify-content: center; + margin: auto 0 auto auto; + width: 16px; + height: 16px; + } + + .libro-panel-collapse-item-close:hover { + background: var(--kernel-panel-collapse-header-close-hover); + border-radius: 4px; + } + } + + .libro-panel-collapse-item:hover { + background: var(--kernel-panel-collapse-item-hover); + border-radius: 4px; + } +} diff --git a/packages/notebook/src/browser/kernel-panel/collapse/index.tsx b/packages/notebook/src/browser/kernel-panel/collapse/index.tsx new file mode 100644 index 0000000000..7a67d4f622 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/index.tsx @@ -0,0 +1,118 @@ +import { CaretDownOutlined, CaretRightOutlined } from '@ant-design/icons'; +import { ConfigProvider, Empty, Popconfirm, message, theme } from 'antd'; +import React, { useEffect, useState } from 'react'; + +import { localize, useInjectable } from '@opensumi/ide-core-browser'; +import { IThemeService } from '@opensumi/ide-theme/lib/common'; + +import { + LibroPanelCollapseItem, + LibroPanelCollapseItemType, + LibroPanelCollapseKernelItem, + Props, +} from '../kernel.panel.protocol'; + +import './index.less'; +import { LibroKernelCollapseContent } from './kernel-collapse-content'; +import { OpenedTabs } from './page-collapse-content'; + +const getCollapseContentView = ( + type: LibroPanelCollapseItemType, + items: LibroPanelCollapseItem[] | undefined, + refresh: () => void, +) => { + if (!items) { + return ( + + ); + } + + switch (type) { + case LibroPanelCollapseItemType.PAGE: + return ; + + case LibroPanelCollapseItemType.KERNEL: + return ( + + ); + } +}; + +const getCollapseHeaderLabel = (type: LibroPanelCollapseItemType) => { + switch (type) { + case LibroPanelCollapseItemType.PAGE: + return localize('notebook.kernel.panel.opened.pages'); + case LibroPanelCollapseItemType.KERNEL: + return localize('notebook.kernel.panel.running.kernels'); + } +}; + +export const LibroCollapse: React.FC = (props: Props) => { + const [open, setOpen] = useState(true); + const themeService = useInjectable(IThemeService); + const [themeType, setThemeType] = useState('dark'); + useEffect(() => { + themeService.getCurrentTheme().then((theme) => { + setThemeType(theme.type); + }); + const disposable = themeService.onThemeChange((e) => { + setThemeType(e.type); + }); + return () => { + disposable.dispose(); + }; + }, []); + return ( + +
+
+
{ + setOpen(!open); + }} + > +
+ {open ? : } +
+
{getCollapseHeaderLabel(props.type)}
+
+
+ { + if (props.shutdownAll) { + props + .shutdownAll() + .then(() => { + props.refresh(); + }) + .catch((e) => { + message.error(`shutdown all ${props.type}s error`); + }); + } + }} + > + {localize('editor.closeAllInGroup')} + +
+
+ {open && ( +
+ {getCollapseContentView(props.type, props.items, props.refresh)} +
+ )} +
+
+ ); +}; diff --git a/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content-item.tsx b/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content-item.tsx new file mode 100644 index 0000000000..1bbc7e3d9d --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content-item.tsx @@ -0,0 +1,77 @@ +import { CaretDownOutlined, CaretRightOutlined, CloseOutlined } from '@ant-design/icons'; +import React, { useState } from 'react'; + +import { URI, useInjectable } from '@opensumi/ide-core-browser'; +import { WorkbenchEditorService } from '@opensumi/ide-editor'; +import { WorkbenchEditorServiceImpl } from '@opensumi/ide-editor/lib/browser/workbench-editor.service'; + +import { LibroPanelCollapseKernelItem } from '../kernel.panel.protocol'; + +import { FileUnderKernel, RunningKernel } from './icon'; + +interface Props { + item: LibroPanelCollapseKernelItem; + refresh: () => void; +} + +export const LibroKernelCollapseContentItem: React.FC = (props: Props) => { + const item = props.item; + const [open, setOpen] = useState(true); + const editorService = useInjectable(WorkbenchEditorService); + + return ( + <> +
{ + setOpen(!open); + }} + > +
{open ? : }
+
+ +
+
{item.name}
+
{ + if (item.shutdown) { + item + .shutdown() + .then(() => { + props.refresh(); + }) + .catch((error) => { + // console.error(error); + }); + } + e.preventDefault(); + e.stopPropagation(); + }} + > + +
+
+ {open && ( +
+ {item.notebooks.map((notebook) => ( +
{ + const uri = new URI(notebook.path); + editorService.openUris([uri]); + }} + > +
+ +
+
{notebook.name}
+
+ ))} +
+ )} + + ); +}; diff --git a/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content.tsx b/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content.tsx new file mode 100644 index 0000000000..55d435ae10 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/kernel-collapse-content.tsx @@ -0,0 +1,17 @@ +import React from 'react'; + +import { LibroPanelCollapseItemType, LibroPanelCollapseKernelItem } from '../kernel.panel.protocol'; + +import { LibroKernelCollapseContentItem } from './kernel-collapse-content-item'; + +interface Props { + type: LibroPanelCollapseItemType; + items: LibroPanelCollapseKernelItem[]; + refresh: () => void; +} + +export const LibroKernelCollapseContent: React.FC = (props: Props) => ( + <> + {props.items.map((item) => )} + + ); diff --git a/packages/notebook/src/browser/kernel-panel/collapse/page-collapse-content.tsx b/packages/notebook/src/browser/kernel-panel/collapse/page-collapse-content.tsx new file mode 100644 index 0000000000..7aeb9e86f8 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/collapse/page-collapse-content.tsx @@ -0,0 +1,51 @@ +import { CloseOutlined } from '@ant-design/icons'; +import React, { useEffect, useState } from 'react'; + +import { URI, useInjectable } from '@opensumi/ide-core-browser'; +import { IResource, ResourceService, WorkbenchEditorService } from '@opensumi/ide-editor'; +import { WorkbenchEditorServiceImpl } from '@opensumi/ide-editor/lib/browser/workbench-editor.service'; + +export const OpenedTab: React.FC<{ item: URI; refresh: () => void }> = ({ item, refresh }) => { + const [resource, setResource] = useState(); + const resourceService = useInjectable(ResourceService); + const editorService = useInjectable(WorkbenchEditorService); + + useEffect(() => { + resourceService.getResource(item).then((resource) => { + if (resource !== null) { + setResource(resource); + } + }); + }, []); + + return ( +
+ {resource?.icon && } +
{item.displayName}
+
{ + e.stopPropagation(); + editorService.close(item).then(() => { + refresh(); + }); + }} + > + +
+
+ ); +}; + +export const OpenedTabs: React.FC<{ refresh: () => void }> = ({ refresh }) => { + const editorService = useInjectable(WorkbenchEditorService); + const openedUris = editorService.getAllOpenedUris(); + + return ( +
+ {openedUris.map((item) => ( + + ))} +
+ ); +}; diff --git a/packages/notebook/src/browser/kernel-panel/index.less b/packages/notebook/src/browser/kernel-panel/index.less new file mode 100644 index 0000000000..aee05dcc4d --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/index.less @@ -0,0 +1,20 @@ +.mana-app { + width: 100%; + height: 100%; + overflow: hidden; +} +.mana-toolbar { + display: flex; +} +.kernel-and-panel { + height: 100%; + padding: 0 10px; + overflow-y: scroll; +} + +.kernel-and-panel-header { + height: 35px; + display: flex; + align-items: center; + justify-content: space-between; +} diff --git a/packages/notebook/src/browser/kernel-panel/index.ts b/packages/notebook/src/browser/kernel-panel/index.ts new file mode 100644 index 0000000000..7fddab9df7 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/index.ts @@ -0,0 +1,4 @@ +export * from './kernel-panel-view'; +export * from './kernel.panel.color.tokens'; +export * from './kernel.panel.contribution'; +export * from './kernel.panel.protocol'; diff --git a/packages/notebook/src/browser/kernel-panel/kernel-panel-view.tsx b/packages/notebook/src/browser/kernel-panel/kernel-panel-view.tsx new file mode 100644 index 0000000000..d67335b466 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/kernel-panel-view.tsx @@ -0,0 +1,104 @@ +import { LibroKernelManager, LibroSessionManager } from '@difizen/libro-kernel'; +import { Container } from '@difizen/mana-app'; +import { useEffect, useState } from 'react'; +import React from 'react'; + +import { localize, useInjectable } from '@opensumi/ide-core-browser'; +import { IThemeService } from '@opensumi/ide-theme/lib/common'; + +import { ManaContainer } from '../mana'; + +import { LibroCollapse } from './collapse'; +import './index.less'; +import { LibroPanelCollapseItemType, LibroPanelCollapseKernelItem } from './kernel.panel.protocol'; + +export const KernelPanel: React.FC = () => { + const manaContainer = useInjectable(ManaContainer); + + const libroKernelManager = manaContainer.get(LibroKernelManager); + + const libroSessionManager = manaContainer.get(LibroSessionManager); + + const [refresh, setRefresh] = useState(new Date().toUTCString()); + + const themeService = useInjectable(IThemeService); + + const [theme, setTheme] = useState('dark'); + + const [kernelItems, setKernelItems] = useState(); + + const handleRefresh = () => { + setRefresh(new Date().toUTCString()); + }; + + useEffect(() => { + themeService.getCurrentTheme().then((curTheme) => { + setTheme(curTheme.type); + }); + themeService.onThemeChange((curTheme) => { + setTheme(curTheme.type); + }); + }, []); + + useEffect(() => { + if (!libroSessionManager.running || (libroSessionManager.running && libroSessionManager.running.size === 0)) { + setKernelItems(undefined); + return; + } + + // kernelId -> item + const items = new Map(); + + const runningSessions = libroSessionManager.running.values(); + + for (const session of runningSessions) { + const kernel = session.kernel!; + if (items.has(kernel.id)) { + items.get(kernel.id)?.notebooks.push({ + sessionId: session.id, + name: session.name, + path: session.path, + }); + } else { + items.set(kernel.id, { + id: kernel.id, + name: kernel.name, + shutdown: async () => { + await libroKernelManager.shutdown(kernel.id); + await libroSessionManager.refreshRunning(); + }, + notebooks: [{ sessionId: session.id, name: session.name, path: session.path }], + }); + } + } + + setKernelItems(Array.from(items.values())); + }, [libroKernelManager, libroSessionManager.running]); + + return ( +
+
+
{localize('notebook.kernel.panel.title')}
+ +
+ { + await libroKernelManager.shutdownAll(); + await libroSessionManager.refreshRunning(); + }} + /> +
+ ); +}; diff --git a/packages/notebook/src/browser/kernel-panel/kernel.panel.color.tokens.ts b/packages/notebook/src/browser/kernel-panel/kernel.panel.color.tokens.ts new file mode 100644 index 0000000000..e98f8c9d60 --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/kernel.panel.color.tokens.ts @@ -0,0 +1,39 @@ +import { localize } from '@opensumi/ide-core-browser'; +import { registerColor } from '@opensumi/ide-theme/lib/common'; + +export const initKernelPanelColorToken = () => { + registerColor( + 'kernel.panel.collapse.header.label', + { dark: '#ffffffd9', light: '#000a1ae3', hcDark: null, hcLight: null }, + localize('kernel.panel.collapse.header.label', 'the collapse header label of kernel panel'), + true, + ); + + registerColor( + 'kernel.panel.collapse.item', + { dark: '#ffffffa6', light: '#000a1ae3', hcDark: null, hcLight: null }, + localize('kernel.panel.collapse.item', 'the collapse item color of kernel panel'), + true, + ); + + registerColor( + 'kernel.panel.collapse.item.hover', + { dark: '#ffffff14', light: '#151b2114', hcDark: null, hcLight: null }, + localize('kernel.panel.collapse.item.hover', 'the collapse item hover color of kernel panel'), + true, + ); + + registerColor( + 'kernel.panel.collapse.header.close.all', + { dark: '#878c93', light: '#3c8dff', hcDark: null, hcLight: null }, + localize('kernel.panel.collapse.header.close.all', 'the close all color of kernel panel'), + true, + ); + + registerColor( + 'kernel.panel.collapse.header.close.hover', + { dark: '#253944', light: '#151b2114', hcDark: null, hcLight: null }, + localize('kernel.panel.collapse.header.close.all', 'the close all color of kernel panel'), + true, + ); +}; diff --git a/packages/notebook/src/browser/kernel-panel/kernel.panel.contribution.ts b/packages/notebook/src/browser/kernel-panel/kernel.panel.contribution.ts new file mode 100644 index 0000000000..2206712b9e --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/kernel.panel.contribution.ts @@ -0,0 +1,32 @@ +import { Autowired } from '@opensumi/di'; +import { ComponentContribution, ComponentRegistry, Domain, localize } from '@opensumi/ide-core-browser'; +import { IconService } from '@opensumi/ide-theme/lib/browser'; +import { IconType } from '@opensumi/ide-theme/lib/common'; + +import { KernelPanel } from './kernel-panel-view'; +import { KERNEL_PANEL_ID } from './kernel.panel.protocol'; + +@Domain(ComponentContribution) +export class KernelPanelContribution implements ComponentContribution { + @Autowired(IconService) + protected readonly iconService: IconService; + + registerComponent(registry: ComponentRegistry) { + const iconClass = this.iconService.fromIcon( + '', + { + dark: 'https://mdn.alipayobjects.com/huamei_xt20ge/afts/img/A*ae86Sq9KTxcAAAAAAAAAAAAADiuUAQ/original', + light: 'https://mdn.alipayobjects.com/huamei_xt20ge/afts/img/A*fWPISIBPGfsAAAAAAAAAAAAADiuUAQ/original', + }, + IconType.Background, + ); + registry.register('@opensumi/ide-notebook', [], { + containerId: KERNEL_PANEL_ID, + iconClass, + title: localize('notebook.kernel.panel.title'), + component: KernelPanel, + priority: 0, + activateKeyBinding: 'ctrlcmd+shift+k', + }); + } +} diff --git a/packages/notebook/src/browser/kernel-panel/kernel.panel.protocol.ts b/packages/notebook/src/browser/kernel-panel/kernel.panel.protocol.ts new file mode 100644 index 0000000000..212808a49b --- /dev/null +++ b/packages/notebook/src/browser/kernel-panel/kernel.panel.protocol.ts @@ -0,0 +1,24 @@ +export const KERNEL_PANEL_ID = 'kernel-panel'; + +export enum LibroPanelCollapseItemType { + PAGE = 'Page', + KERNEL = 'Kernel', +} + +export interface LibroPanelCollapseItem { + id: string; + name: string; + shutdown?: () => Promise; + restart?: () => Promise; +} + +export interface LibroPanelCollapseKernelItem extends LibroPanelCollapseItem { + notebooks: { sessionId: string; name: string; path: string }[]; +} + +export interface Props { + type: LibroPanelCollapseItemType; + items: LibroPanelCollapseItem[] | undefined; + refresh: () => void; + shutdownAll?: () => Promise; +} diff --git a/packages/notebook/src/browser/libro-keybind-contribution.ts b/packages/notebook/src/browser/libro-keybind-contribution.ts new file mode 100644 index 0000000000..bcc26ca1d8 --- /dev/null +++ b/packages/notebook/src/browser/libro-keybind-contribution.ts @@ -0,0 +1,147 @@ +import { LibroSearchToggleCommand, LibroService, LibroView, NotebookCommands } from '@difizen/libro-jupyter/noeditor'; +import { Container, CommandRegistry as LibroCommandRegistry } from '@difizen/mana-app'; + +import { Autowired } from '@opensumi/di'; +import { + ClientAppContribution, + CommandRegistry, + Domain, + IContextKeyService, + KeybindingRegistry, + KeybindingScope, +} from '@opensumi/ide-core-browser'; +import { WorkbenchEditorService } from '@opensumi/ide-editor'; + +import { LIBRO_COMPONENTS_SCHEME_ID } from './libro.protocol'; +import { ManaContainer } from './mana'; + +@Domain(ClientAppContribution) +export class LibroKeybindContribution implements ClientAppContribution { + @Autowired(IContextKeyService) contextKeyService: IContextKeyService; + @Autowired(KeybindingRegistry) keybindingRegistry: KeybindingRegistry; + @Autowired(WorkbenchEditorService) + workbenchEditorService: WorkbenchEditorService; + @Autowired(CommandRegistry) + protected readonly commandRegistry: CommandRegistry; + @Autowired(ManaContainer) + private readonly manaContainer: Container; + + onStart() { + this.registerContextKey(); + this.registerCommand(); + this.registerKeybind(); + } + + registerContextKey() { + const notebookFocusContext = this.contextKeyService.createKey( + 'libroNotebookFocused', + this.hasActiveNotebook(), + ); + + this.workbenchEditorService.onActiveResourceChange((e) => { + if (e?.uri?.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + notebookFocusContext.set(true); + } else { + notebookFocusContext.set(false); + } + }); + } + + get libroService() { + return this.manaContainer.get(LibroService); + } + + get libroCommandRegistry() { + return this.manaContainer.get(LibroCommandRegistry); + } + + hasActiveNotebook() { + return this.libroService.active instanceof LibroView; + } + + registerCommand() { + this.commandRegistry.registerCommand(NotebookCommands['EnterCommandMode'], { + execute: () => { + this.libroCommandRegistry.executeCommand(NotebookCommands['EnterCommandMode'].id); + }, + }); + this.commandRegistry.registerCommand(NotebookCommands['RunCell'], { + execute: () => { + this.libroCommandRegistry.executeCommand(NotebookCommands['RunCell'].id); + }, + }); + this.commandRegistry.registerCommand(NotebookCommands['RunCellAndSelectNext'], { + execute: () => { + this.libroCommandRegistry.executeCommand(NotebookCommands['RunCellAndSelectNext'].id); + }, + }); + this.commandRegistry.registerCommand(NotebookCommands['RunCellAndInsertBelow'], { + execute: () => { + this.libroCommandRegistry.executeCommand(NotebookCommands['RunCellAndInsertBelow'].id); + }, + }); + this.commandRegistry.registerCommand(NotebookCommands['SplitCellAntCursor'], { + execute: () => { + this.libroCommandRegistry.executeCommand(NotebookCommands['SplitCellAntCursor'].id); + }, + }); + this.commandRegistry.registerCommand(LibroSearchToggleCommand.ShowLibroSearch, { + execute: () => { + this.libroCommandRegistry.executeCommand(LibroSearchToggleCommand.ShowLibroSearch.id); + }, + }); + } + + registerKeybind() { + this.keybindingRegistry.registerKeybindings( + [ + { + keybinding: 'f1', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'f8', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'f9', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'esc', + command: NotebookCommands['EnterCommandMode'].id, + when: 'libroNotebookFocused && !editorHasSelection && !editorHasMultipleSelections', + }, + { + keybinding: 'ctrlcmd+enter', + command: NotebookCommands['RunCell'].id, + when: 'libroNotebookFocused && !findWidgetVisible && !referenceSearchVisible', + }, + { + keybinding: 'shift+enter', + command: NotebookCommands['RunCellAndSelectNext'].id, + when: 'libroNotebookFocused && !findInputFocussed', + }, + { + keybinding: 'alt+enter', + command: NotebookCommands['RunCellAndInsertBelow'].id, + when: 'libroNotebookFocused && !findWidgetVisible', + }, + { + keybinding: 'ctrlcmd+shift+-', + command: NotebookCommands['SplitCellAntCursor'].id, + when: 'libroNotebookFocused && !findWidgetVisible', + }, + { + keybinding: 'ctrlcmd+f', + command: LibroSearchToggleCommand.ShowLibroSearch.id, + when: 'libroNotebookFocused', + }, + ], + KeybindingScope.USER, + ); + } +} diff --git a/packages/notebook/src/browser/libro-opener.ts b/packages/notebook/src/browser/libro-opener.ts new file mode 100644 index 0000000000..ba0d5bf7d9 --- /dev/null +++ b/packages/notebook/src/browser/libro-opener.ts @@ -0,0 +1,101 @@ +import { IPosition as LibroPosition, IRange as LibroRange } from '@difizen/libro-code-editor'; +import { CellUri, EditorCellView, ExecutableNotebookModel } from '@difizen/libro-jupyter/noeditor'; + +import { Autowired, Injectable } from '@opensumi/di'; +import { IOpener, IPosition, IRange, URI } from '@opensumi/ide-core-browser'; +import { ILogger, Schemes } from '@opensumi/ide-core-common'; + +import { LibroOpensumiService } from './libro.service'; + +export const toEditorRange = (range: IRange): LibroRange => ({ + start: { + line: range.startLineNumber - 1, + column: range.startColumn - 1, + }, + end: { + line: range.endLineNumber - 1, + column: range.endColumn - 1, + }, +}); + +export const toMonacoPosition = (position: IPosition | undefined): LibroPosition => { + if (!position) { + return { + column: 0, + line: 0, + }; + } + return { + column: position?.column - 1, + line: position?.lineNumber - 1, + }; +}; + +@Injectable() +export class LibroOpener implements IOpener { + @Autowired(ILogger) + private readonly logger: ILogger; + + @Autowired(LibroOpensumiService) + libroOpensumiService: LibroOpensumiService; + + async open(uri: URI) { + let range: IRange | undefined; + const match = /^L?(\d+)(?:,(\d+))?/.exec(uri.fragment); + if (match) { + // support file:///some/file.js#73,84 + // support file:///some/file.js#L73 + const startLineNumber = parseInt(match[1], 10); + const startColumn = match[2] ? parseInt(match[2], 10) : 1; + range = { + startLineNumber, + startColumn, + endLineNumber: startLineNumber, + endColumn: startColumn, + }; + } + await this.openCell(uri, range); + return true; + } + + protected async openCell(uri: URI, range?: IRange) { + const notebookUri = URI.file(uri.path.toString()); + const libroView = await this.libroOpensumiService.getOrCreateLibroView(notebookUri); + + if (!libroView) { + return false; + } + + const cell = libroView.model.cells.find( + (item) => + ExecutableNotebookModel.is(libroView.model) && + CellUri.from(libroView.model.filePath, item.model.id).toString() === decodeURIComponent(uri.toString()), + ); + + if (!EditorCellView.is(cell)) { + return; + } + + libroView.selectCell(cell); + let line = 0; + if (range) { + const editor = cell.editor; + if (!editor) { + this.logger.error('Editor not available for cell'); + return; + } + editor.focus(); + editor.revealSelection(toEditorRange(range)); + editor.setCursorPosition(toEditorRange(range).start); + + line = toEditorRange(range).start.line; + } + // TODO: 优化Libro的滚动API + libroView.model.scrollToView(cell, (line ?? 0) * 20); + } + + handleScheme(scheme: string) { + // 使用 handleURI 后会忽略 handleScheme + return scheme === Schemes.notebookCell; + } +} diff --git a/packages/notebook/src/browser/libro.color.tokens.ts b/packages/notebook/src/browser/libro.color.tokens.ts new file mode 100644 index 0000000000..96bf13f6b0 --- /dev/null +++ b/packages/notebook/src/browser/libro.color.tokens.ts @@ -0,0 +1,32 @@ +import { localize } from '@opensumi/ide-core-browser'; +import { registerColor } from '@opensumi/ide-theme/lib/common'; + +export const initLibroColorToken = () => { + registerColor( + 'libro.background', + { dark: '#151b21', light: '#ffffff', hcDark: null, hcLight: null }, + localize('libro.background', 'Background color of libroView'), + true, + ); + + registerColor( + 'libro.side.toolbar.background', + { dark: '#20262E', light: '#ffffff', hcDark: null, hcLight: null }, + localize('libro.side.toolbar.background', 'the side toolbar color of libro'), + true, + ); + + registerColor( + 'libro.output.background', + { dark: '#222830', light: '#ffffff', hcDark: null, hcLight: null }, + localize('libro.output.background', 'the output color of libro'), + true, + ); + + registerColor( + 'libro.input.background', + { dark: '#151b21', light: '#f4f6fb', hcDark: null, hcLight: null }, + localize('libro.input.background', 'the input color of libro'), + true, + ); +}; diff --git a/packages/notebook/src/browser/libro.command.ts b/packages/notebook/src/browser/libro.command.ts new file mode 100644 index 0000000000..b351addf6d --- /dev/null +++ b/packages/notebook/src/browser/libro.command.ts @@ -0,0 +1,64 @@ +import { LibroSearchManager, LibroService } from '@difizen/libro-jupyter/noeditor'; +import { Container } from '@difizen/mana-app'; + +import { Autowired } from '@opensumi/di'; +import { CommandContribution, CommandRegistry, Domain, EDITOR_COMMANDS } from '@opensumi/ide-core-browser'; +import { MARKER_CONTAINER_ID } from '@opensumi/ide-core-browser/lib/common/container-id'; + +import { ManaContainer } from './mana'; + +@Domain(CommandContribution) +export class LibroCommandContribution implements CommandContribution { + @Autowired(ManaContainer) + private readonly manaContainer: Container; + + registerCommands(commands: CommandRegistry): void { + commands.registerHandler(EDITOR_COMMANDS.SAVE_CURRENT.id, { + execute: () => { + const libroService = this.manaContainer.get(LibroService); + const libro = libroService.active; + libro?.save(); + }, + isEnabled: () => { + const libroService = this.manaContainer.get(LibroService); + if (libroService.focus) { + return true; + } + return false; + }, + }); + commands.registerHandler(EDITOR_COMMANDS.FOCUS_IF_NOT_ACTIVATE_ELEMENT.id, { + execute: () => { + const libroService = this.manaContainer.get(LibroService); + const libro = libroService.active; + const libroSearchManager = this.manaContainer.get(LibroSearchManager); + if (libro) { + libroSearchManager.showSearchView(libro); + } + }, + isEnabled: () => { + const libroService = this.manaContainer.get(LibroService); + if (libroService.focus) { + return true; + } + return false; + }, + }); + commands.registerHandler(MARKER_CONTAINER_ID, { + execute: () => { + const libroService = this.manaContainer.get(LibroService); + const libro = libroService.active; + if (libro && libro.activeCell) { + libro.mergeCellBelow(libro.activeCell); + } + }, + isEnabled: () => { + const libroService = this.manaContainer.get(LibroService); + if (libroService.focus) { + return true; + } + return false; + }, + }); + } +} diff --git a/packages/notebook/src/browser/libro.contribution.tsx b/packages/notebook/src/browser/libro.contribution.tsx new file mode 100644 index 0000000000..51de29fe20 --- /dev/null +++ b/packages/notebook/src/browser/libro.contribution.tsx @@ -0,0 +1,216 @@ +import { + ISettings, + LibroJupyterNoEditorModule, + ServerConnection, + ServerManager, +} from '@difizen/libro-jupyter/noeditor'; +import { LibroTOCModule } from '@difizen/libro-toc'; +import { Container, ManaAppPreset, ManaComponents, ThemeService } from '@difizen/mana-app'; +import React, { useState } from 'react'; + +import { Autowired, Injector } from '@opensumi/di'; +import { + AppConfig, + ClientAppContextContribution, + ClientAppContribution, + CommandContribution, + type CommandRegistry, + Disposable, + Domain, + IClientApp, + IOpenerService, + OpenerContribution, + Schemes, + URI, +} from '@opensumi/ide-core-browser'; +import { message } from '@opensumi/ide-core-browser/lib/components'; +import { + BrowserEditorContribution, + EditorComponentRegistry, + INotebookService, + IResource, + ResourceService, + WorkbenchEditorService, +} from '@opensumi/ide-editor/lib/browser'; +import { IEditorDocumentModelContentRegistry } from '@opensumi/ide-editor/lib/browser/doc-model/types'; +import { IconService } from '@opensumi/ide-theme/lib/browser'; +import { IThemeService, IconType } from '@opensumi/ide-theme/lib/common'; + +import { initKernelPanelColorToken } from './kernel-panel'; +import { LibroOpensumiModule } from './libro'; +import { LibroOpener } from './libro-opener'; +import { initLibroColorToken } from './libro.color.tokens'; +import { LIBRO_COMPONENTS_ID, LIBRO_COMPONENTS_SCHEME_ID } from './libro.protocol'; +import { OpensumiLibroView } from './libro.view'; +import { ManaContainer, initLibroOpensumi, manaContainer } from './mana/index'; +import { NotebookDocumentContentProvider } from './notebook-document-content-provider'; +import { NotebookServiceOverride } from './notebook.service'; +import { initTocPanelColorToken } from './toc'; + +const LIBRO_COMPONENTS_VIEW_COMMAND = { + id: 'opensumi-libro', +}; + +const LayoutWrapper: React.FC = ({ children }) => { + const [isReady, setIsReady] = useState(false); + return ( + setIsReady(true)} + > + {isReady ? children : 'loading'} + + ); +}; + +@Domain( + ClientAppContribution, + BrowserEditorContribution, + ClientAppContextContribution, + CommandContribution, + OpenerContribution, +) +export class LibroContribution + extends Disposable + implements + ClientAppContribution, + BrowserEditorContribution, + ClientAppContextContribution, + CommandContribution, + OpenerContribution +{ + @Autowired(ManaContainer) + private readonly manaContainer: Container; + + @Autowired(IconService) + protected readonly iconService: IconService; + + @Autowired(WorkbenchEditorService) + protected readonly editorService: WorkbenchEditorService; + + @Autowired(IThemeService) + protected readonly themeService: IThemeService; + + @Autowired(INotebookService) + protected readonly notebookService: NotebookServiceOverride; + + @Autowired(NotebookDocumentContentProvider) + protected readonly notebookDocumentContentProvider: NotebookDocumentContentProvider; + + @Autowired(LibroOpener) + protected readonly libroOpener: LibroOpener; + + @Autowired(AppConfig) + config: AppConfig; + + private serverManagerInited = false; + + registerOpener(registry: IOpenerService): void { + registry.registerOpener(this.libroOpener); + } + + initialize(app: IClientApp) { + initLibroOpensumi(app.injector, manaContainer); + } + + registerClientAppContext(Layout: React.FC, injector: Injector): React.FC { + initLibroColorToken(); + initKernelPanelColorToken(); + initTocPanelColorToken(); + return () => ( + + + + ); + } + + registerCommands(registry: CommandRegistry) { + registry.registerCommand(LIBRO_COMPONENTS_VIEW_COMMAND, { + execute: () => { + this.editorService.open(new URI(`${LIBRO_COMPONENTS_SCHEME_ID}://`), { + preview: false, + }); + }, + }); + } + + registerEditorComponent(registry: EditorComponentRegistry) { + registry.registerEditorComponent({ + uid: LIBRO_COMPONENTS_ID, + scheme: LIBRO_COMPONENTS_SCHEME_ID, + component: OpensumiLibroView, + }); + + registry.registerEditorComponentResolver(Schemes.file, (resource, results) => { + if (resource.uri.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + // 首次打开 notebook 文件时初始化 jupyter 服务连接 + if (!this.serverManagerInited && this.config.notebookServerHost) { + this.serverManagerInited = true; + // 目前直接从浏览器连接 jupyter 服务,对服务的cors等配置会有要求 + this.connectJupyterServer(this.config.notebookServerHost).catch((err) => message.error(err.message)); + } + results.push({ + type: 'component', + componentId: LIBRO_COMPONENTS_ID, + }); + } + }); + } + + registerEditorDocumentModelContentProvider(registry: IEditorDocumentModelContentRegistry) { + registry.registerEditorDocumentModelContentProvider(this.notebookDocumentContentProvider); + } + + registerResource(service: ResourceService) { + service.registerResourceProvider({ + scheme: LIBRO_COMPONENTS_SCHEME_ID, + provideResource: async (uri: URI): Promise> => { + const iconClass = this.iconService.fromIcon( + '', + 'https://mdn.alipayobjects.com/huamei_xt20ge/afts/img/A*LDFvSptm_zgAAAAAAAAAAAAADiuUAQ/original', + IconType.Background, + ); + return { + uri, + name: 'notebook', + icon: iconClass!, + }; + }, + }); + } + + async onDidStart() { + this.addDispose(this.notebookService.listenLibro()); + this.addDispose(this.notebookService.listenEditor()); + + const manaThemeService = this.manaContainer.get(ThemeService); + const curTheme = await this.themeService.getCurrentTheme(); + manaThemeService.setCurrentTheme(curTheme.type); + this.addDispose( + this.themeService.onThemeChange((theme) => { + manaThemeService.setCurrentTheme(theme.type); + }), + ); + } + + protected async connectJupyterServer(serverHost: string) { + const libroServerConnection = this.manaContainer.get(ServerConnection); + const token = this.config.notebookServerToken; + const setting: Partial = + window.location.protocol === 'https:' + ? { + baseUrl: `https://${serverHost}/`, + wsUrl: `wss://${serverHost}/`, + } + : { + baseUrl: `http://${serverHost}/`, + wsUrl: `ws://${serverHost}/`, + }; + + libroServerConnection.updateSettings({ ...setting, token }); + const serverManager = this.manaContainer.get(ServerManager); + await serverManager.launch(); + } +} diff --git a/packages/notebook/src/browser/libro.module.less b/packages/notebook/src/browser/libro.module.less new file mode 100644 index 0000000000..b17a1b1e95 --- /dev/null +++ b/packages/notebook/src/browser/libro.module.less @@ -0,0 +1,43 @@ +.libroView { + height: 100%; + + :global { + .libro-view { + background-color: var(--libro-background); + + .cm-editor, + .cm-gutters { + background-color: var(--libro-input-background); + } + } + + .libro-cell-right-toolbar { + background-color: var(--libro-side-toolbar-background); + } + + .libro-cell-output-container { + background-color: var(--libro-output-background); + } + + .libro-cell-container, + .libro-input-hidden { + background-color: var(--libro-input-background); + } + + .libro-e2-editor-container { + background-color: var(--libro-input-background) !important; + } + + .libro-e2-editor { + background: var(--mana-libro-input-background) !important; + + .monaco-editor-background, + .margin { + background: var(--libro-input-background) !important; + } + } + .libro-view-top { + padding: 0 12px; + } + } +} diff --git a/packages/notebook/src/browser/libro.protocol.ts b/packages/notebook/src/browser/libro.protocol.ts new file mode 100644 index 0000000000..e45a1c7dc8 --- /dev/null +++ b/packages/notebook/src/browser/libro.protocol.ts @@ -0,0 +1,2 @@ +export const LIBRO_COMPONENTS_ID = 'opensumi:libro'; +export const LIBRO_COMPONENTS_SCHEME_ID = 'ipynb'; diff --git a/packages/notebook/src/browser/libro.service.ts b/packages/notebook/src/browser/libro.service.ts new file mode 100644 index 0000000000..103c36fce6 --- /dev/null +++ b/packages/notebook/src/browser/libro.service.ts @@ -0,0 +1,73 @@ +import { CellUri, CellView, LanguageSpecRegistry, LibroService, LibroView } from '@difizen/libro-jupyter/noeditor'; +import { Container, URI as ManaURI, getOrigin } from '@difizen/mana-app'; + +import { Autowired, Injectable } from '@opensumi/di'; +import { URI, WithEventBus, path } from '@opensumi/ide-core-browser'; +import { ResourceDecorationNeedChangeEvent, WorkbenchEditorService } from '@opensumi/ide-editor'; + +import { ContentLoaderType, ManaContainer } from './mana'; + +export const ILibroOpensumiService = Symbol('ILibroOpensumiService'); + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export interface ILibroOpensumiService { + getOrCreateLibroView: (uri: URI) => Promise; + updateDirtyStatus: (uri: URI, dirty: boolean) => void; + getCellViewByUri: (uri: URI) => Promise; + getCellLanguage: (cell: CellView) => string | undefined; +} + +@Injectable() +export class LibroOpensumiService extends WithEventBus implements ILibroOpensumiService { + @Autowired(ManaContainer) + private readonly manaContainer: Container; + + @Autowired(WorkbenchEditorService) + protected readonly editorService: WorkbenchEditorService; + + get libroService() { + const libroService = this.manaContainer.get(LibroService); + return libroService; + } + + getOrCreateLibroView = async (uri: URI) => { + const libroOption = { + modelId: uri.toString(), + resource: uri.toString(), + loadType: ContentLoaderType, + }; + return await this.libroService.getOrCreateView(libroOption); + }; + + getCellViewByUri = async (uri: URI) => { + const parsed = CellUri.parse(new ManaURI(uri.toString(), { simpleMode: false })); + if (!parsed) { + return; + } + const { notebookId, cellId } = parsed; + // const notebookUri = URI.file(notebookId); + /** + * 这里需要兼容各种不同的 content contribution 加载数据的方式,采取匹配model id的方式来找到libroview, 因为model id是会被编码进uri的 + */ + const libroView = Array.from(this.libroService.getViewCache().values()).find( + (item) => path.join('/', String(item.model.id)) === notebookId, + ); + return libroView?.model.cells.find((cell) => cell.model.id === cellId); + }; + + getCellLanguage = (cell: CellView) => { + const languageSpecRegistry = this.manaContainer.get(LanguageSpecRegistry); + return getOrigin(languageSpecRegistry.languageSpecs).find((item) => item.mime === cell.model.mimeType)?.language; + }; + + updateDirtyStatus(uri: URI, dirty: boolean) { + this.eventBus.fire( + new ResourceDecorationNeedChangeEvent({ + uri, + decoration: { + dirty, + }, + }), + ); + } +} diff --git a/packages/notebook/src/browser/libro.view.tsx b/packages/notebook/src/browser/libro.view.tsx new file mode 100644 index 0000000000..99d47b6517 --- /dev/null +++ b/packages/notebook/src/browser/libro.view.tsx @@ -0,0 +1,56 @@ +import { DocumentCommands, LibroView } from '@difizen/libro-jupyter/noeditor'; +import { CommandRegistry, Container, Disposable, ViewRender } from '@difizen/mana-app'; +import * as React from 'react'; + +import { message } from '@opensumi/ide-components'; +import { localize, useInjectable } from '@opensumi/ide-core-browser'; +import { ReactEditorComponent } from '@opensumi/ide-editor/lib/browser/types'; + +import styles from './libro.module.less'; +import { ILibroOpensumiService } from './libro.service'; +import { ManaContainer } from './mana'; + +const AUTO_SAVE_DELAY = 1000; // ms + +export const OpensumiLibroView: ReactEditorComponent = (...params) => { + const libroOpensumiService = useInjectable(ILibroOpensumiService); + const manaContainer = useInjectable(ManaContainer); + const commandRegistry = manaContainer.get(CommandRegistry); + + const [libroView, setLibroView] = React.useState(undefined); + + React.useEffect(() => { + let autoSaveHandle: undefined | number; + let modelChangeDisposer: undefined | Disposable; + libroOpensumiService.getOrCreateLibroView(params[0].resource.uri).then((libro) => { + setLibroView(libro); + modelChangeDisposer = libro.model.onChanged(() => { + libroOpensumiService.updateDirtyStatus(params[0].resource.uri, true); + if (autoSaveHandle) { + window.clearTimeout(autoSaveHandle); + } + autoSaveHandle = window.setTimeout(() => { + commandRegistry + .executeCommand(DocumentCommands.Save.id, undefined, libro, undefined, { reason: 'autoSave' }) + .then(() => { + if (libro) { + libro.model.dirty = false; + } + }) + .catch((error) => { + message.error(localize('doc.saveError.failed'), error); + }); + }, AUTO_SAVE_DELAY); + }); + libro.onSave(() => { + libroOpensumiService.updateDirtyStatus(params[0].resource.uri, false); + }); + }); + return () => { + modelChangeDisposer?.dispose(); + window.clearTimeout(autoSaveHandle); + }; + }, []); + + return
{libroView && }
; +}; diff --git a/packages/notebook/src/browser/libro/editor/editor-contribution.ts b/packages/notebook/src/browser/libro/editor/editor-contribution.ts new file mode 100644 index 0000000000..0e4939598b --- /dev/null +++ b/packages/notebook/src/browser/libro/editor/editor-contribution.ts @@ -0,0 +1,42 @@ +import { CodeEditorContribution, CodeEditorFactory, LanguageSpecRegistry } from '@difizen/libro-code-editor'; +import { EditorStateFactory } from '@difizen/libro-jupyter/noeditor'; +import { inject, singleton } from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; + +import { OpensumiInjector } from '../../mana'; + +import { + LibroOpensumiEditorFactory, + OpensumiEditorState, + libroOpensumiEditorDefaultConfig, + stateFactory, +} from './opensumi-editor'; + +@singleton({ contrib: [CodeEditorContribution] }) +export class LibroE2EditorContribution implements CodeEditorContribution { + @inject(LanguageSpecRegistry) + protected readonly languageSpecRegistry: LanguageSpecRegistry; + + factory: CodeEditorFactory; + + stateFactory: EditorStateFactory; + + defaultConfig = libroOpensumiEditorDefaultConfig; + + constructor( + @inject(LibroOpensumiEditorFactory) + libroOpensumiEditorFactory: LibroOpensumiEditorFactory, + @inject(OpensumiInjector) injector: Injector, + ) { + this.factory = libroOpensumiEditorFactory; + this.stateFactory = stateFactory(injector); + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + canHandle(mime: string): number { + const LIBRO_MONACO_WEIGHT = 51; + // 代码编辑都使用opensumi编辑器 + return LIBRO_MONACO_WEIGHT + 1; + } +} diff --git a/packages/notebook/src/browser/libro/editor/index.less b/packages/notebook/src/browser/libro/editor/index.less new file mode 100644 index 0000000000..5327e6e681 --- /dev/null +++ b/packages/notebook/src/browser/libro/editor/index.less @@ -0,0 +1,47 @@ +.libro-opensumi-editor-container { + padding: 12px 0 18px; + background: var(--mana-libro-input-background) !important; + border-radius: 4px; +} + +.libro-opensumi-editor-container .libro-opensumi-editor .margin { + background-color: var(--mana-libro-input-background) !important; +} + +.libro-opensumi-editor { + background: var(--mana-libro-input-background) !important; + + .monaco-editor-background { + background-color: var(--mana-libro-input-background) !important; + } + + .monaco-editor-background, + .margin { + background: var(--mana-libro-input-background) !important; + } + + .findMatch { + background-color: var(--mana-libro-editor-search-match) !important; + } + + .currentFindMatch { + background-color: var(--mana-libro-editor-search-currentmatch) !important; + } + + .current-line-margin, + .current-line-both { + background: var(--mana-libro-editor-activeline-color) !important; + border: unset !important; + } + + .line-numbers { + margin-left: 8px; + color: var(--mana-libro-editor-gutter-number-color) !important; + font-weight: 400; + font-size: 13px; + } + + .cursors-layer .cursor { + background-color: var(--mana-libro-editor-cursor-color); + } +} diff --git a/packages/notebook/src/browser/libro/editor/keybind-handler.ts b/packages/notebook/src/browser/libro/editor/keybind-handler.ts new file mode 100644 index 0000000000..591a873ce8 --- /dev/null +++ b/packages/notebook/src/browser/libro/editor/keybind-handler.ts @@ -0,0 +1,121 @@ +import { LibroSearchToggleCommand, LibroService, LibroView, NotebookCommands } from '@difizen/libro-jupyter/noeditor'; +import { ApplicationContribution, CommandRegistry, inject, singleton } from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; +import { + IContextKeyService, + KeybindingRegistry, + KeybindingScope, + CommandRegistry as SumiCommandRegistry, +} from '@opensumi/ide-core-browser'; +import { WorkbenchEditorService } from '@opensumi/ide-editor'; + +import { LIBRO_COMPONENTS_SCHEME_ID } from '../../libro.protocol'; +import { OpensumiInjector } from '../../mana/index'; + +@singleton({ contrib: ApplicationContribution }) +export class Keybindhandler implements ApplicationContribution { + @inject(OpensumiInjector) injector: Injector; + @inject(CommandRegistry) protected readonly commandRegistry: CommandRegistry; + @inject(LibroService) protected readonly libroService: LibroService; + + onStart() { + this.registerContextKey(); + this.registerCommand(); + this.registerKeybind(); + } + + registerContextKey() { + const contextKeyService: IContextKeyService = this.injector.get(IContextKeyService); + const workbenchEditorService: WorkbenchEditorService = this.injector.get(WorkbenchEditorService); + const notebookFocusContext = contextKeyService.createKey('libroNotebookFocused', this.hasActiveNotebook()); + + workbenchEditorService.onActiveResourceChange((e) => { + if (e?.uri?.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + notebookFocusContext.set(true); + } else { + notebookFocusContext.set(false); + } + }); + } + + hasActiveNotebook() { + return this.libroService.active instanceof LibroView; + } + + private registerSingleCommand(command: { id: string }) { + const sumiCommandRegistry: SumiCommandRegistry = this.injector.get(SumiCommandRegistry); + sumiCommandRegistry.registerCommand(command, { + execute: () => { + this.commandRegistry.executeCommand(command.id); + }, + }); + } + + registerCommand() { + const commands = [ + NotebookCommands['EnterCommandMode'], + NotebookCommands['RunCell'], + NotebookCommands['RunCellAndSelectNext'], + NotebookCommands['RunCellAndInsertBelow'], + NotebookCommands['SplitCellAntCursor'], + LibroSearchToggleCommand.ShowLibroSearch, + ]; + + commands.forEach((command) => this.registerSingleCommand(command)); + } + + registerKeybind() { + const keybindingService: KeybindingRegistry = this.injector.get(KeybindingRegistry); + keybindingService.registerKeybindings( + [ + { + keybinding: 'f1', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'f8', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'f9', + command: '', + when: 'libroNotebookFocused', + }, + { + keybinding: 'esc', + command: NotebookCommands['EnterCommandMode'].id, + when: 'libroNotebookFocused && !editorHasSelection && !editorHasMultipleSelections', + }, + { + keybinding: 'ctrlcmd+enter', + command: NotebookCommands['RunCell'].id, + when: 'libroNotebookFocused && !findWidgetVisible && !referenceSearchVisible', + }, + { + keybinding: 'shift+enter', + command: NotebookCommands['RunCellAndSelectNext'].id, + when: 'libroNotebookFocused && !findInputFocussed', + }, + { + keybinding: 'alt+enter', + command: NotebookCommands['RunCellAndInsertBelow'].id, + when: 'libroNotebookFocused && !findWidgetVisible', + }, + { + keybinding: 'ctrlcmd+shift+-', + command: NotebookCommands['SplitCellAntCursor'].id, + when: 'libroNotebookFocused && !findWidgetVisible', + }, + { + keybinding: 'ctrlcmd+f', + command: LibroSearchToggleCommand.ShowLibroSearch.id, + when: 'libroNotebookFocused', + }, + ], + KeybindingScope.USER, + ); + } +} diff --git a/packages/notebook/src/browser/libro/editor/module.ts b/packages/notebook/src/browser/libro/editor/module.ts new file mode 100644 index 0000000000..cf0c64b90e --- /dev/null +++ b/packages/notebook/src/browser/libro/editor/module.ts @@ -0,0 +1,30 @@ +import { CodeEditorModule } from '@difizen/libro-code-editor'; +import { ManaModule } from '@difizen/mana-app'; + +import { LibroE2EditorContribution } from './editor-contribution'; +import { + LibroOpensumiEditor, + LibroOpensumiEditorFactory, + LibroOpensumiEditorOptions, + LibroOpensumiEditorState, +} from './opensumi-editor'; + +import type { EditorState, IEditorOptions } from '@difizen/libro-code-editor'; + +export const LibroOpensumiEditorModule = ManaModule.create() + .register(LibroE2EditorContribution, LibroOpensumiEditor, { + token: LibroOpensumiEditorFactory, + useFactory: (ctx) => (options: IEditorOptions, editorState: EditorState) => { + const child = ctx.container.createChild(); + child.register({ + token: LibroOpensumiEditorOptions, + useValue: options, + }); + child.register({ + token: LibroOpensumiEditorState, + useValue: editorState, + }); + return child.get(LibroOpensumiEditor); + }, + }) + .dependOn(CodeEditorModule); diff --git a/packages/notebook/src/browser/libro/editor/opensumi-editor.ts b/packages/notebook/src/browser/libro/editor/opensumi-editor.ts new file mode 100644 index 0000000000..9248d544b7 --- /dev/null +++ b/packages/notebook/src/browser/libro/editor/opensumi-editor.ts @@ -0,0 +1,744 @@ +import { defaultConfig } from '@difizen/libro-code-editor'; +import { MIME } from '@difizen/libro-common'; +import { EditorStateFactory, IEditorStateOptions } from '@difizen/libro-jupyter/noeditor'; +import { + CommandRegistry, + Deferred, + Disposable, + DisposableCollection, + Emitter, + ThemeService, + getOrigin, + inject, + transient, + watch, +} from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; +import { IEventBus, URI, uuid } from '@opensumi/ide-core-common'; +import { EditorCollectionService, IEditorDocumentModelRef, ICodeEditor as IOpensumiEditor } from '@opensumi/ide-editor'; +import { IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser/doc-model/types'; +import * as monacoTypes from '@opensumi/ide-monaco'; +import { ICodeEditor as IMonacoCodeEditor } from '@opensumi/ide-monaco/lib/browser/monaco-api/types'; +import { Selection } from '@opensumi/monaco-editor-core'; +import { Range as MonacoRange } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/range'; + +import { OpensumiInjector } from '../../mana'; + +import type { + CodeEditorFactory, + CompletionProvider, + EditorState, + IEditor, + IEditorConfig, + IEditorOptions, + IModel, + IModelContentChange, + IPosition, + IRange, + SearchMatch, + TooltipProvider, +} from '@difizen/libro-code-editor'; +import type { LSPProvider } from '@difizen/libro-lsp'; +import type { IStandaloneEditorConstructionOptions as MonacoEditorOptions } from '@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditor'; +import './index.less'; + +export interface LibroOpensumiEditorConfig extends IEditorConfig { + /** + * The mode to use. + */ + mode?: string; + + /** + * content mimetype + */ + mimetype?: string; + + /** + * Whether to use the context-sensitive indentation that the mode provides + * (or just indent the same as the line before). + */ + smartIndent?: boolean; + + /** + * Configures whether the editor should re-indent the current line when a + * character is typed that might change its proper indentation + * (only works if the mode supports indentation). + */ + electricChars?: boolean; + + /** + * Configures the keymap to use. The default is "default", which is the + * only keymap defined in codemirror.js itself. + * Extra keymaps are found in the CodeMirror keymap directory. + */ + keyMap?: string; + + /** + * Can be used to specify extra keybindings for the editor, alongside the + * ones defined by keyMap. Should be either null, or a valid keymap value. + */ + + /** + * Can be used to add extra gutters (beyond or instead of the line number + * gutter). + * Should be an array of CSS class names, each of which defines a width + * (and optionally a background), + * and which will be used to draw the background of the gutters. + * May include the CodeMirror-linenumbers class, in order to explicitly + * set the position of the line number gutter + * (it will default to be to the right of all other gutters). + * These class names are the keys passed to setGutterMarker. + */ + gutters?: string[]; + + /** + * Determines whether the gutter scrolls along with the content + * horizontally (false) + * or whether it stays fixed during horizontal scrolling (true, + * the default). + */ + fixedGutter?: boolean; + + /** + * Whether the cursor should be drawn when a selection is active. + */ + showCursorWhenSelecting?: boolean; + + /** + * When fixedGutter is on, and there is a horizontal scrollbar, by default + * the gutter will be visible to the left of this scrollbar. If this + * option is set to true, it will be covered by an element with class + * CodeMirror-gutter-filler. + */ + coverGutterNextToScrollbar?: boolean; + + /** + * Controls whether drag-and-drop is enabled. + */ + dragDrop?: boolean; + + /** + * Explicitly set the line separator for the editor. + * By default (value null), the document will be split on CRLFs as well as + * lone CRs and LFs, and a single LF will be used as line separator in all + * output (such as getValue). When a specific string is given, lines will + * only be split on that string, and output will, by default, use that + * same separator. + */ + lineSeparator?: string | null; + + /** + * Chooses a scrollbar implementation. The default is "native", showing + * native scrollbars. The core library also provides the "null" style, + * which completely hides the scrollbars. Addons can implement additional + * scrollbar models. + */ + scrollbarStyle?: string; + + /** + * When enabled, which is the default, doing copy or cut when there is no + * selection will copy or cut the whole lines that have cursors on them. + */ + lineWiseCopyCut?: boolean; + + /** + * Whether to scroll past the end of the buffer. + */ + scrollPastEnd?: boolean; + + /** + * Whether to give the wrapper of the line that contains the cursor the class + * cm-activeLine. + */ + styleActiveLine?: boolean; + + /** + * Whether to causes the selected text to be marked with the CSS class + * CodeMirror-selectedtext. Useful to change the colour of the selection + * (in addition to the background). + */ + styleSelectedText?: boolean; + + /** + * Defines the mouse cursor appearance when hovering over the selection. + * It can be set to a string, like "pointer", or to true, + * in which case the "default" (arrow) cursor will be used. + */ + selectionPointer?: boolean | string; +} + +export const LibroOpensumiEditorOptions = Symbol('LibroOpensumiEditorOptions'); + +export interface LibroOpensumiEditorOptions extends IEditorOptions { + lspProvider?: LSPProvider; + + /** + * The configuration options for the editor. + */ + config?: Partial; +} + +export const libroOpensumiEditorDefaultConfig: Required = { + ...defaultConfig, + scrollBarHeight: 12, + mode: 'null', + mimetype: MIME.python, + smartIndent: true, + electricChars: true, + keyMap: 'default', + gutters: [], + fixedGutter: true, + showCursorWhenSelecting: false, + coverGutterNextToScrollbar: false, + dragDrop: true, + lineSeparator: null, + scrollbarStyle: 'native', + lineWiseCopyCut: true, + scrollPastEnd: false, + styleActiveLine: false, + styleSelectedText: true, + selectionPointer: false, + handlePaste: true, + lineWrap: 'off', +}; + +export const LibroOpensumiEditorFactory = Symbol('LibroOpensumiEditorFactory'); +export type LibroOpensumiEditorFactory = CodeEditorFactory; + +export const OpensumiEditorClassname = 'libro-opensumi-editor'; + +export type OpensumiEditorState = IEditorDocumentModelRef | null; +export const LibroOpensumiEditorState = Symbol('LibroOpensumiEditorState'); +export type LibroOpensumiEditorState = EditorState; + +export const stateFactory: (injector: Injector) => EditorStateFactory = + (injector) => (options: IEditorStateOptions) => { + const docModelService: IEditorDocumentModelService = injector.get(IEditorDocumentModelService); + const uri = URI.parse(options.uuid); + const modeRef = getOrigin(docModelService).getModelReference(uri); + return { + toJSON: () => ({}), + dispose: () => { + modeRef?.instance.getMonacoModel()?.dispose(); + }, + state: modeRef, + }; + }; + +@transient() +export class LibroOpensumiEditor implements IEditor { + protected editorReadyDeferred = new Deferred(); + editorReady = this.editorReadyDeferred.promise; + + protected readonly themeService: ThemeService; + protected readonly injector: Injector; + + @inject(CommandRegistry) protected readonly commandRegistry: CommandRegistry; + + protected defaultLineHeight = 20; + + protected toDispose = new DisposableCollection(); + + /** + * The DOM node that hosts the editor. + */ + readonly host: HTMLElement; + /** + * The DOM node that hosts the monaco editor. + */ + readonly editorHost: HTMLElement; + + protected oldDeltaDecorations: string[] = []; + + protected _config: LibroOpensumiEditorConfig; + + private intersectionObserver: IntersectionObserver; + + private editorContentHeight: number; + + protected _uuid = ''; + /** + * The uuid of this editor; + */ + get uuid(): string { + return this._uuid; + } + set uuid(value: string) { + this._uuid = value; + } + + protected _model: IModel; + /** + * Returns a model for this editor. + */ + get model(): IModel { + return this._model; + } + + editorState: EditorState; + + protected _editor?: IOpensumiEditor; + get editor(): IOpensumiEditor | undefined { + return this?._editor; + } + + get monacoEditor(): IMonacoCodeEditor | undefined { + return getOrigin(this?._editor)?.monacoEditor; + } + + get lineCount(): number { + return this.monacoEditor?.getModel()?.getLineCount() || 0; + } + + protected onModelContentChangedEmitter = new Emitter(); + onModelContentChanged = this.onModelContentChangedEmitter.event; + + lspProvider?: LSPProvider; + + completionProvider?: CompletionProvider; + + tooltipProvider?: TooltipProvider; + + protected isLayouting = false; + + protected hasHorizontalScrollbar = false; + + get eventbus() { + return this.injector.get(IEventBus); + } + + constructor( + @inject(LibroOpensumiEditorOptions) options: LibroOpensumiEditorOptions, + @inject(LibroOpensumiEditorState) state: LibroOpensumiEditorState, + @inject(ThemeService) themeService: ThemeService, + @inject(OpensumiInjector) injector: Injector, + ) { + this.themeService = themeService; + this.injector = injector; + this.host = options.host; + this.host.classList.add('libro-opensumi-editor-container'); + this._uuid = options.uuid || uuid(); + + this._model = options.model; + + const config = options.config || {}; + const fullConfig = { + ...libroOpensumiEditorDefaultConfig, + ...config, + mimetype: options.model.mimeType, + }; + this._config = fullConfig; + + this.completionProvider = options.completionProvider; + this.tooltipProvider = options.tooltipProvider; + this.lspProvider = options.lspProvider; + + this.editorHost = document.createElement('div'); + this.host.append(this.editorHost); + + this.editorState = state; + this.createEditor(this.editorHost, fullConfig); + + this.onMimeTypeChanged(); + this.onCursorActivity(); + + this.toDispose.push(watch(this._model, 'mimeType', this.onMimeTypeChanged)); + this.toDispose.push(watch(this._model, 'selections', this.onSelectionChange)); + } + + get theme(): string { + const themetype = this.themeService.getActiveTheme().type; + return this._config.theme[themetype]; + } + + protected toMonacoOptions(editorConfig: Partial): MonacoEditorOptions { + return { + minimap: { + enabled: false, + }, + lineHeight: editorConfig.lineHeight ?? this.defaultLineHeight, + lineNumbers: editorConfig.lineNumbers ? 'on' : 'off', + wordWrap: editorConfig.lineWrap, + renderLineHighlightOnlyWhenFocus: true, + scrollBeyondLastLine: false, + fixedOverflowWidgets: true, + scrollbar: { + alwaysConsumeMouseWheel: false, + verticalScrollbarSize: 0, + }, + glyphMargin: false, + extraEditorClassName: OpensumiEditorClassname, + readOnly: editorConfig.readOnly, + maxTokenizationLineLength: 10000, + wrappingStrategy: 'advanced', + }; + } + + getState(): EditorState { + const cursorPosition = this.getCursorPosition(); + const selections = this.getSelections(); + return { + ...this.editorState, + cursorPosition, + selections, + }; + } + + protected async createEditor(host: HTMLElement, config: LibroOpensumiEditorConfig) { + const editorConfig: LibroOpensumiEditorConfig = { + ...config, + }; + this._config = editorConfig; + + let modelRef = getOrigin(this.editorState.state); + + const options: MonacoEditorOptions = { + ...this.toMonacoOptions(editorConfig), + }; + + const editorCollectionService: EditorCollectionService = this.injector.get(EditorCollectionService); + + if (!modelRef) { + const docModelService: IEditorDocumentModelService = this.injector.get(IEditorDocumentModelService); + const uri = URI.parse(this._uuid); + modelRef = await getOrigin(docModelService).createModelReference(uri, 'libro-opensumi-editor'); + } + this._editor = getOrigin(editorCollectionService).createCodeEditor(host, options); + + getOrigin(this._editor).open(modelRef); + + this.toDispose.push( + modelRef.instance.getMonacoModel()?.onDidChangeContent((e) => { + const value = this.monacoEditor?.getValue(); + this.model.value = value ?? ''; + this.onModelContentChangedEmitter.fire( + e.changes.map((item) => ({ + range: this.toEditorRange(item.range), + rangeLength: item.rangeLength, + rangeOffset: item.rangeOffset, + text: item.text, + })), + ); + }) ?? Disposable.NONE, + ); + this.toDispose.push( + this.monacoEditor?.onDidContentSizeChange(() => { + this.updateEditorSize(); + }) ?? Disposable.NONE, + ); + this.toDispose.push( + this.monacoEditor?.onDidBlurEditorText(() => { + this.blur(); + }) ?? Disposable.NONE, + ); + + this.updateEditorSize(); + this.inspectResize(); + this.editorReadyDeferred.resolve(); + } + + protected inspectResize() { + this.intersectionObserver = new IntersectionObserver((entries) => { + if (entries[0].isIntersecting) { + this.updateEditorSize(); + } + }); + this.intersectionObserver.observe(this.host); + } + + protected getEditorNode() { + return Array.from(this.host.getElementsByClassName(OpensumiEditorClassname))[0] as HTMLDivElement; + } + + protected updateEditorSize() { + try { + this.isLayouting = true; + const contentHeight = this.monacoEditor?.getContentHeight() ?? this.defaultLineHeight; + + const lineHeight = this.getOption('lineHeight') ?? this.defaultLineHeight; + + if (contentHeight > this.lineCount * lineHeight) { + this.hasHorizontalScrollbar = true; + } else { + this.hasHorizontalScrollbar = false; + } + if (this.editorContentHeight === contentHeight) { + if (this.hasHorizontalScrollbar) { + this.monacoEditor?.layout({ + height: contentHeight, + width: this.host.offsetWidth, + }); + } + return; + } else { + this.editorContentHeight = contentHeight; + } + + this.host.style.height = `${contentHeight + this.getOption('paddingTop') + this.getOption('paddingBottom')}px`; + this.monacoEditor?.layout({ + width: this.host.offsetWidth, + height: contentHeight, + }); + } finally { + this.isLayouting = false; + } + } + + protected onValueChange() {} + + protected onSelectionChange() { + this.setSelections(this.model.selections); + } + + /** + * Handles a mime type change. + * 切换语言 + * cell 切换没走这里 + */ + protected onMimeTypeChanged(): void {} + + /** + * Handles a cursor activity event. + */ + protected onCursorActivity(): void {} + + getOption(option: K) { + return this._config[option]; + } + + /** + * + * @param option + * @param value + */ + setOption = (option: K, value: LibroOpensumiEditorConfig[K]) => { + if (value === null || value === undefined) { + return; + } + + const sizeKeys = ['fontFamily', 'fontSize', 'lineHeight', 'wordWrapColumn', 'lineWrap']; + const monacoOptionkeys = sizeKeys.concat(['readOnly', 'insertSpaces', 'tabSize']); + + if (monacoOptionkeys.includes(option)) { + this._config = { ...this._config, [option]: value }; + + this.monacoEditor?.updateOptions(this.toMonacoOptions(this._config)); + } + + if (sizeKeys.includes(option)) { + this.updateEditorSize(); + } + }; + + getLine = (line: number) => this.monacoEditor?.getModel()?.getLineContent(line); + getOffsetAt = (position: IPosition) => + this.monacoEditor?.getModel()?.getOffsetAt({ lineNumber: position.line, column: position.column }) || 0; + undo = () => { + this.monacoEditor?.trigger('source', 'undo', {}); + }; + + redo = () => { + this.monacoEditor?.trigger('source', 'redo', {}); + }; + focus = () => { + window.requestAnimationFrame(() => { + this.monacoEditor?.focus(); + }); + }; + hasFocus = () => this.monacoEditor?.hasWidgetFocus() ?? false; + blur = () => { + document.documentElement.focus(); + }; + resizeToFit = () => { + this.monacoEditor?.layout(); + }; + getPositionForCoordinate = () => null; + + protected modalChangeEmitter = new Emitter(); + get onModalChange() { + return this.modalChangeEmitter.event; + } + + protected toMonacoRange(range: IRange) { + const selection = range ?? this.getSelection(); + const monacoSelection = { + startLineNumber: selection.start.line || 1, + startColumn: selection.start.column || 1, + endLineNumber: selection.end.line || 1, + endColumn: selection.end.column || 1, + }; + return monacoSelection; + } + + protected toEditorRange(range: monacoTypes.IRange): IRange { + return { + start: { + line: range.startLineNumber - 1, + column: range.startColumn - 1, + }, + end: { + line: range.endLineNumber - 1, + column: range.endColumn - 1, + }, + }; + } + + getSelectionValue = (range?: IRange | undefined) => { + const selection = range ?? this.getSelection(); + return this.monacoEditor?.getModel()?.getValueInRange(this.toMonacoRange(selection)); + }; + + getPositionAt = (offset: number): IPosition | undefined => { + const position = this.monacoEditor?.getModel()?.getPositionAt(offset); + return position ? { line: position.lineNumber, column: position.column } : position; + }; + + protected toMonacoMatch(match: SearchMatch): monacoTypes.FindMatch { + const start = this.getPositionAt(match.position); + const end = this.getPositionAt(match.position + match.text.length); + return { + range: new MonacoRange(start?.line ?? 1, start?.column ?? 1, end?.line ?? 1, end?.column ?? 1), + matches: [match.text], + _findMatchBrand: undefined, + }; + } + + replaceSelection = (text: string, range: IRange) => { + this.monacoEditor?.executeEdits(undefined, [ + { + range: this.toMonacoRange(range), + text, + }, + ]); + this.monacoEditor?.pushUndoStop(); + }; + + replaceSelections = (edits: { text: string; range: IRange }[]) => { + this.monacoEditor?.executeEdits( + undefined, + edits.map((item) => ({ + range: this.toMonacoRange(item.range), + text: item.text, + })), + ); + this.monacoEditor?.pushUndoStop(); + }; + + getCursorPosition = () => { + const position: IPosition = { + line: this.monacoEditor?.getPosition()?.lineNumber || 1, + column: this.monacoEditor?.getPosition()?.column || 1, + }; + + return position; + }; + setCursorPosition = (position: IPosition) => { + this.monacoEditor?.setPosition({ + column: position.column + 1, + lineNumber: position.line + 1, + }); + }; + getSelection = () => { + const selection = { + start: { + line: this.monacoEditor?.getSelection()?.startLineNumber || 1, + column: this.monacoEditor?.getSelection()?.startColumn || 1, + } as IPosition, + end: { + line: this.monacoEditor?.getSelection()?.endLineNumber || 1, + column: this.monacoEditor?.getSelection()?.endColumn || 1, + } as IPosition, + }; + return selection; + }; + setSelection = (selection: IRange) => { + this.monacoEditor?.setSelection(this.toMonacoRange(selection)); + }; + getSelections = () => { + const selections: IRange[] = []; + this.monacoEditor?.getSelections()?.map((selection: any) => + selections.push({ + start: { + line: selection.startLineNumber || 1, + column: selection.startColumn || 1, + } as IPosition, + end: { + line: selection.endLineNumber || 1, + column: selection.endColumn || 1, + } as IPosition, + }), + ); + return selections; + }; + setSelections = (selections: IRange[]) => { + this.monacoEditor?.setSelections( + selections.map( + (item) => new Selection(item.start.line, item.start.column, item.end.line, item.end.column), + ), + ); + }; + + revealSelection = (selection: IRange) => { + this.monacoEditor?.revealRange(this.toMonacoRange(selection)); + }; + highlightMatches = (matches: SearchMatch[], currentIndex: number | undefined) => { + let currentMatch: SearchMatch | undefined; + const _matches: monacoTypes.IModelDeltaDecoration[] = matches + .map((item, index) => { + if (index === currentIndex) { + currentMatch = item; + return { + range: item, + options: { + description: '', + }, + }; + } + return { + range: item, + options: { + description: '', + }, + }; + }) + .map((item) => ({ + ...item, + range: this.toMonacoMatch(item.range).range, + })); + this.oldDeltaDecorations = this.monacoEditor?.deltaDecorations(this.oldDeltaDecorations, _matches) || []; + if (currentMatch) { + const start = this.getPositionAt(currentMatch.position); + const end = this.getPositionAt(currentMatch.position + currentMatch.text.length); + if (start && end) { + this.revealSelection({ end, start }); + } + } + }; + + format = () => { + this.monacoEditor?.trigger('libro-format', 'editor.action.formatDocument', ''); + }; + + protected _isDisposed = false; + /** + * Tests whether the editor is disposed. + */ + get disposed(): boolean { + return this._isDisposed; + } + dispose = () => { + if (this.disposed) { + return; + } + this.disposeResizeObserver(); + this.toDispose.dispose(); + this._isDisposed = true; + }; + + disposeResizeObserver = () => { + if (this.intersectionObserver) { + getOrigin(this.intersectionObserver).disconnect(); + } + }; +} diff --git a/packages/notebook/src/browser/libro/index.ts b/packages/notebook/src/browser/libro/index.ts new file mode 100644 index 0000000000..49c8220f44 --- /dev/null +++ b/packages/notebook/src/browser/libro/index.ts @@ -0,0 +1,3 @@ +export * from './libro-opensumi-content-contribution'; +export * from './libro-opensumi-save-content-contribution'; +export * from './mana-module'; diff --git a/packages/notebook/src/browser/libro/libro-opensumi-content-contribution.ts b/packages/notebook/src/browser/libro/libro-opensumi-content-contribution.ts new file mode 100644 index 0000000000..2d3be8bd74 --- /dev/null +++ b/packages/notebook/src/browser/libro/libro-opensumi-content-contribution.ts @@ -0,0 +1,63 @@ +import { ContentContribution } from '@difizen/libro-core'; +import { IContentsModel, INotebookContent, LibroJupyterModel, NotebookOption } from '@difizen/libro-jupyter/noeditor'; +import { getOrigin, inject, singleton } from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; +import { URI } from '@opensumi/ide-core-browser'; +import { IFileServiceClient } from '@opensumi/ide-file-service'; +import { IMessageService } from '@opensumi/ide-overlay'; + +import { ContentLoaderType, OpensumiInjector } from '../mana'; + +@singleton({ contrib: ContentContribution }) +export class LibroOpensumiContentContribution implements ContentContribution { + @inject(OpensumiInjector) injector: Injector; + + canHandle = (options) => options.loadType === ContentLoaderType ? 100 : 1; + async loadContent(options: NotebookOption, model: LibroJupyterModel) { + const fileServiceClient: IFileServiceClient = this.injector.get(IFileServiceClient); + const messageService = this.injector.get(IMessageService); + let notebookContent: INotebookContent; + try { + const { content } = await getOrigin(fileServiceClient).readFile(options.resource.toString()); + const stat = await getOrigin(fileServiceClient).getFileStat(options.resource.toString()); + if (content.byteLength === 0) { + notebookContent = { + cells: [], + metadata: {}, + nbformat: 4, + nbformat_minor: 5, + }; + } else { + notebookContent = JSON.parse(content.toString()); + } + const uri = new URI(options.resource.toString()); + const currentFileContents: IContentsModel = { + name: uri.path.name, + path: uri.path.toString(), + last_modified: stat?.lastModification.toString() || new Date().toJSON(), + created: stat?.createTime?.toString() || new Date().toJSON(), + content: notebookContent, + size: stat?.size, + writable: true, + type: 'notebook', + }; + model.currentFileContents = currentFileContents; + model.filePath = currentFileContents.path; + model.id = currentFileContents.path; // + model.lastModified = model.currentFileContents.last_modified; + if (model.executable) { + model.startKernelConnection(); + } + } catch (e) { + messageService.error(`Notebook file ${options.resource.toString()} read error: ${e}`); + notebookContent = { + cells: [], + metadata: {}, + nbformat: 4, + nbformat_minor: 5, + }; + } + return notebookContent; + } +} diff --git a/packages/notebook/src/browser/libro/libro-opensumi-save-content-contribution.ts b/packages/notebook/src/browser/libro/libro-opensumi-save-content-contribution.ts new file mode 100644 index 0000000000..7c7b588097 --- /dev/null +++ b/packages/notebook/src/browser/libro/libro-opensumi-save-content-contribution.ts @@ -0,0 +1,43 @@ +import { + ContentSaveContribution, + LibroJupyterModel, + NotebookOption, + SaveFileErrorModal, +} from '@difizen/libro-jupyter/noeditor'; +import { ModalService, URI, getOrigin, inject, singleton } from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; +import { IFileServiceClient } from '@opensumi/ide-file-service'; + +import { ContentLoaderType, OpensumiInjector } from '../mana'; + +@singleton({ contrib: ContentSaveContribution }) +export class LibroOpensumiContentSaveContribution implements ContentSaveContribution { + @inject(ModalService) protected readonly modalService: ModalService; + @inject(OpensumiInjector) injector: Injector; + + canHandle = (options: NotebookOption) => options.loadType === ContentLoaderType ? 100 : 1; + saveContent = async (options: NotebookOption, model: LibroJupyterModel) => { + const uri = new URI(options.resource.toString()); + const fileServiceClient: IFileServiceClient = getOrigin(this.injector.get(IFileServiceClient)); + const stat = await getOrigin(fileServiceClient).getFileStat(options.resource.toString()); + try { + const notebookContent = model.toJSON(); + if (!stat) {throw new Error('Get file stat error!');} + getOrigin(fileServiceClient).setContent(stat, JSON.stringify(notebookContent)); + } catch (e: any) { + model.fileService.fileSaveErrorEmitter.fire({ + cause: e.errorCause, + msg: e.message, + name: uri.path?.name || model.currentFileContents.name, + path: uri?.path.toString() || model.currentFileContents.path, + created: stat?.createTime?.toString() || model.currentFileContents.created, + last_modified: stat?.lastModification.toString() || model.currentFileContents.last_modified, + size: stat?.size || model.currentFileContents.size, + type: 'notebook', + }); + this.modalService.openModal(SaveFileErrorModal); + throw new Error('File Save Error', e); + } + }; +} diff --git a/packages/notebook/src/browser/libro/mana-module.ts b/packages/notebook/src/browser/libro/mana-module.ts new file mode 100644 index 0000000000..af4fa70818 --- /dev/null +++ b/packages/notebook/src/browser/libro/mana-module.ts @@ -0,0 +1,9 @@ +import { ManaModule } from '@difizen/mana-app'; + +import { LibroOpensumiEditorModule } from './editor/module'; +import { LibroOpensumiContentContribution } from './libro-opensumi-content-contribution'; +import { LibroOpensumiContentSaveContribution } from './libro-opensumi-save-content-contribution'; + +export const LibroOpensumiModule = ManaModule.create() + .register(LibroOpensumiContentContribution, LibroOpensumiContentSaveContribution) + .dependOn(LibroOpensumiEditorModule); diff --git a/packages/notebook/src/browser/mana/index.ts b/packages/notebook/src/browser/mana/index.ts new file mode 100644 index 0000000000..ccd87344dd --- /dev/null +++ b/packages/notebook/src/browser/mana/index.ts @@ -0,0 +1,20 @@ +import { GlobalContainer, Syringe } from '@difizen/mana-app'; + +import { Injector } from '@opensumi/di'; + +export const OpensumiInjector = Syringe.defineToken('OpensumiInjector'); +export const ManaContainer = Symbol('ManaContainer'); + +export const initLibroOpensumi = (injector: Injector, container?: Syringe.Container) => { + const initInjector = injector; + const initContainer = container || GlobalContainer; + initInjector.addProviders({ + token: ManaContainer, + useValue: initContainer, + }); + initContainer?.register({ token: OpensumiInjector, useValue: initInjector }); +}; + +export const manaContainer = GlobalContainer.createChild(); + +export const ContentLoaderType = 'libro-opensumi-loader'; diff --git a/packages/notebook/src/browser/notebook-document-content-provider.ts b/packages/notebook/src/browser/notebook-document-content-provider.ts new file mode 100644 index 0000000000..7ab8765bd9 --- /dev/null +++ b/packages/notebook/src/browser/notebook-document-content-provider.ts @@ -0,0 +1,74 @@ +import { LibroCellURIScheme } from '@difizen/libro-common'; + +import { Autowired, Injectable } from '@opensumi/di'; +import { PreferenceService, getLanguageIdFromMonaco } from '@opensumi/ide-core-browser'; +import { + Emitter, + Event, + IApplicationService, + IEditorDocumentModelSaveResult, + MaybePromise, + SaveTaskResponseState, + URI, +} from '@opensumi/ide-core-common'; +import { IEditorDocumentModelContentProvider } from '@opensumi/ide-editor/lib/browser/doc-model/types'; + +import { ILibroOpensumiService } from './libro.service'; + +@Injectable() +export class NotebookDocumentContentProvider implements IEditorDocumentModelContentProvider { + @Autowired(IApplicationService) + protected readonly applicationService: IApplicationService; + + @Autowired(PreferenceService) + protected readonly preferenceService: PreferenceService; + + @Autowired(ILibroOpensumiService) + protected readonly libroOpensumiService: ILibroOpensumiService; + + private _onDidChangeContent: Emitter = new Emitter(); + + public onDidChangeContent: Event = this._onDidChangeContent.event; + + handlesScheme?(scheme: string): MaybePromise { + return scheme === LibroCellURIScheme; + } + + async provideEditorDocumentModelContent(uri: URI, encoding?: string | undefined): Promise { + const cell = await this.libroOpensumiService.getCellViewByUri(uri); + return cell?.model.value ?? ''; + } + isReadonly(): MaybePromise { + return false; + } + saveDocumentModel?(): MaybePromise { + return { + state: SaveTaskResponseState.SUCCESS, + }; + } + async preferLanguageForUri?(uri: URI): Promise { + const cell = await this.libroOpensumiService.getCellViewByUri(uri); + if (!cell) { + return; + } + return this.libroOpensumiService.getCellLanguage(cell); + } + provideEncoding?(uri: URI): MaybePromise { + const encoding = this.preferenceService.get( + 'files.encoding', + undefined, + uri.toString(), + getLanguageIdFromMonaco(uri)!, + ); + return encoding || 'utf8'; + } + isAlwaysDirty?(uri: URI): MaybePromise { + return false; + } + closeAutoSave?(uri: URI): MaybePromise { + return true; + } + disposeEvenDirty?(uri: URI): MaybePromise { + return false; + } +} diff --git a/packages/notebook/src/browser/notebook.service.ts b/packages/notebook/src/browser/notebook.service.ts new file mode 100644 index 0000000000..283b980892 --- /dev/null +++ b/packages/notebook/src/browser/notebook.service.ts @@ -0,0 +1,199 @@ +import { CellUri, CellView, LibroJupyterView, LibroService, LibroView, MIME } from '@difizen/libro-jupyter/noeditor'; +import { Container, getOrigin } from '@difizen/mana-app'; + +import { Autowired, Injectable } from '@opensumi/di'; +import { URI } from '@opensumi/ide-core-browser'; +import { DisposableCollection, Uri } from '@opensumi/ide-core-common'; +import { + CellKind, + INotebookModelAddedData, + NotebookCellDto, + NotebookCellsChangeType, + NotebookRawContentEventDto, + WorkbenchEditorService, +} from '@opensumi/ide-editor'; +import { IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser/doc-model/types'; +import { NotebookService } from '@opensumi/ide-editor/lib/browser/notebook.service'; + +import { LIBRO_COMPONENTS_SCHEME_ID } from './libro.protocol'; +import { ILibroOpensumiService } from './libro.service'; +import { ManaContainer } from './mana'; + +@Injectable() +export class NotebookServiceOverride extends NotebookService { + @Autowired(ManaContainer) + private readonly manaContainer: Container; + @Autowired(IEditorDocumentModelService) + private readonly editorModelService: IEditorDocumentModelService; + @Autowired(WorkbenchEditorService) + private readonly workbenchEditorService: WorkbenchEditorService; + @Autowired(ILibroOpensumiService) + private readonly libroOpensumiService: ILibroOpensumiService; + + listenEditor() { + return this.workbenchEditorService.onActiveResourceChange((e) => { + if (e?.uri?.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + this.libroOpensumiService.getOrCreateLibroView(e.uri).then((libroView) => { + this.handleOpenNotebook(libroView); + }); + } + }); + } + + protected notebookVersions = new Map(); + + protected getNotebookVersion(libroView: LibroView) { + const uri = this.getNotebookUri(libroView as LibroJupyterView).toString(); + return this.notebookVersions.get(uri) ?? 1; + } + + protected deleteNotebookVersion(libroView: LibroView) { + const uri = this.getNotebookUri(libroView as LibroJupyterView).toString(); + return this.notebookVersions.delete(uri); + } + + protected updateNotebookVersion(libroView: LibroView) { + const uri = this.getNotebookUri(libroView as LibroJupyterView).toString(); + const versionId = this.notebookVersions.get(uri) ?? 1; + this.notebookVersions.set(uri, versionId + 1); + } + + protected isValidNotebook(view: LibroView): boolean { + if (view instanceof LibroJupyterView) { + return true; + } + return false; + } + + isCodeCell(mime: string) { + return ([MIME.odpssql, MIME.python] as string[]).includes(mime); + } + + getCellURI(cell: CellView) { + return CellUri.from(cell.parent.model.id, cell.model.id); + } + + getCellModelRef(cell: CellView) { + return this.editorModelService.getModelReference(URI.parse(this.getCellURI(cell).toString())); + } + + asNotebookCell(cell: CellView): NotebookCellDto { + return { + cellKind: this.isCodeCell(cell.model.mimeType) ? CellKind.Code : CellKind.Markup, + eol: '\n', + handle: 1, + language: this.libroOpensumiService.getCellLanguage(cell) ?? 'plaintext', + mime: cell.model.mimeType, + outputs: [], + source: cell.model.value.split('\n'), + uri: Uri.parse(this.getCellURI(cell).toString()), + }; + } + + getNotebookUri(notebook: LibroJupyterView) { + return Uri.parse(notebook.model.filePath); + } + + asNotebook(notebook: LibroJupyterView): INotebookModelAddedData { + return { + uri: this.getNotebookUri(notebook), + viewType: 'jupyter-notebook', + versionId: this.getNotebookVersion(notebook), + cells: notebook.model.cells.map((item) => this.asNotebookCell(item)), + }; + } + + listenLibro() { + const disposables = new DisposableCollection(); + const libroService = this.manaContainer.get(LibroService); + disposables.push(libroService.onNotebookViewCreated(this.handleOpenNotebook)); + disposables.push( + libroService.onNotebookViewClosed((libroView) => { + if (!this.isValidNotebook(libroView)) { + return; + } + this.deleteNotebookVersion(libroView); + this._onDidCloseNotebookDocument.fire(this.getNotebookUri(libroView as LibroJupyterView)); + }), + ); + disposables.push( + libroService.onNotebookViewSaved((libroView) => { + if (!this.isValidNotebook(libroView)) { + return; + } + this.updateNotebookVersion(libroView); + this._onDidSaveNotebookDocument.fire(this.getNotebookUri(libroView as LibroJupyterView)); + }), + ); + disposables.push( + libroService.onNotebookViewChanged((event) => { + if (!this.isValidNotebook(event.libroView)) { + return; + } + + if (!event.libroView.model.isInitialized) { + return; + } + + const events: NotebookRawContentEventDto[] = []; + + if (event.contentChanges) { + event.contentChanges.forEach((item) => { + if (item.addedCells.length > 0) { + events.push({ + kind: NotebookCellsChangeType.ModelChange, + changes: [[item.range.start, 0, item.addedCells.map((cell) => this.asNotebookCell(cell))]], + }); + } + if (item.removedCells.length > 0) { + events.push({ + kind: NotebookCellsChangeType.ModelChange, + changes: [[item.range.start, item.range.end - item.range.start, []]], + }); + } + }); + } + + this.updateNotebookVersion(event.libroView); + this._onDidChangeNotebookDocument.fire({ + uri: this.getNotebookUri(event.libroView as LibroJupyterView), + event: { + rawEvents: events, + versionId: this.getNotebookVersion(event.libroView), + }, + isDirty: getOrigin(event.libroView.model.dirty), + }); + }), + ); + + disposables.push( + libroService.onNotebookCellChanged((event) => { + const events: NotebookRawContentEventDto[] = []; + const index = event.cell.parent.findCellIndex(event.cell); + const modelRef = this.getCellModelRef(event.cell); + events.push({ + kind: NotebookCellsChangeType.ChangeCellContent, + index, + }); + this._onDidChangeNotebookDocument.fire({ + uri: this.getNotebookUri(event.cell.parent as LibroJupyterView), + event: { + rawEvents: events, + versionId: modelRef?.instance.getMonacoModel().getVersionId() ?? 1, + }, + isDirty: getOrigin(event.cell.parent.model.dirty), + }); + }), + ); + return disposables; + } + + protected handleOpenNotebook = async (libroView: LibroView) => { + if (!this.isValidNotebook(libroView)) { + return; + } + await libroView.initialized; + this.updateNotebookVersion(libroView); + this._onDidOpenNotebookDocument.fire(this.asNotebook(libroView as LibroJupyterView)); + }; +} diff --git a/packages/notebook/src/browser/toc/index.ts b/packages/notebook/src/browser/toc/index.ts new file mode 100644 index 0000000000..1f8aed2946 --- /dev/null +++ b/packages/notebook/src/browser/toc/index.ts @@ -0,0 +1,3 @@ +export * from './toc.contribution'; +export * from './toc.panel'; +export * from './toc.panel.color.tokens'; diff --git a/packages/notebook/src/browser/toc/toc.contribution.ts b/packages/notebook/src/browser/toc/toc.contribution.ts new file mode 100644 index 0000000000..b1a0ce6f80 --- /dev/null +++ b/packages/notebook/src/browser/toc/toc.contribution.ts @@ -0,0 +1,24 @@ +import { Autowired } from '@opensumi/di'; +import { Domain, localize } from '@opensumi/ide-core-browser'; +import { EXPLORER_CONTAINER_ID } from '@opensumi/ide-explorer/lib/browser/explorer-contribution'; +import { IMainLayoutService, MainLayoutContribution } from '@opensumi/ide-main-layout'; + +import { TocPanel } from './toc.panel'; + +@Domain(MainLayoutContribution) +export class TocContribution implements MainLayoutContribution { + @Autowired(IMainLayoutService) + private mainLayoutService: IMainLayoutService; + + onDidRender() { + this.mainLayoutService.collectViewComponent( + { + component: TocPanel, + collapsed: true, + id: 'outline-view', + name: localize('outline.title'), + }, + EXPLORER_CONTAINER_ID, + ); + } +} diff --git a/packages/notebook/src/browser/toc/toc.module.less b/packages/notebook/src/browser/toc/toc.module.less new file mode 100644 index 0000000000..3c60cddfb9 --- /dev/null +++ b/packages/notebook/src/browser/toc/toc.module.less @@ -0,0 +1,23 @@ +.toc { + :global { + .libro-toc-collapsed { + svg { + vertical-align: sub; + } + } + + .markdown-toc-container { + width: 100%; + + .markdown-toc-container-anchor { + color: var(--toc-panel-text-color); + font-size: 12px; + line-height: 20px; + } + + .markdown-toc-container-title { + display: none; + } + } + } +} diff --git a/packages/notebook/src/browser/toc/toc.panel.color.tokens.ts b/packages/notebook/src/browser/toc/toc.panel.color.tokens.ts new file mode 100644 index 0000000000..a49221eef0 --- /dev/null +++ b/packages/notebook/src/browser/toc/toc.panel.color.tokens.ts @@ -0,0 +1,11 @@ +import { localize } from '@opensumi/ide-core-browser'; +import { registerColor } from '@opensumi/ide-theme/lib/common'; + +export const initTocPanelColorToken = () => { + registerColor( + 'toc.panel.text.color', + { dark: '#A6AAAD', light: '#363C42', hcDark: null, hcLight: null }, + localize('toc.panel.text.color', 'the text color of toc panel'), + true, + ); +}; diff --git a/packages/notebook/src/browser/toc/toc.panel.tsx b/packages/notebook/src/browser/toc/toc.panel.tsx new file mode 100644 index 0000000000..5d3afb6dec --- /dev/null +++ b/packages/notebook/src/browser/toc/toc.panel.tsx @@ -0,0 +1,66 @@ +import { TOCView } from '@difizen/libro-toc'; +import { Container, ViewManager, ViewRender } from '@difizen/mana-app'; +import React, { PropsWithChildren, useEffect, useState } from 'react'; + +import { URI, ViewState, useInjectable } from '@opensumi/ide-core-browser'; +import { WorkbenchEditorService } from '@opensumi/ide-editor'; +import { WorkbenchEditorServiceImpl } from '@opensumi/ide-editor/lib/browser/workbench-editor.service'; +import { OutlinePanel } from '@opensumi/ide-outline/lib/browser/outline'; + +import { LIBRO_COMPONENTS_SCHEME_ID } from '../libro.protocol'; +import { ILibroOpensumiService } from '../libro.service'; +import { ManaContainer } from '../mana'; + +import styles from './toc.module.less'; + +export const TocPanel = ({ viewState }: PropsWithChildren<{ viewState: ViewState }>) => { + const editorService = useInjectable(WorkbenchEditorService); + const libroOpensumiService = useInjectable(ILibroOpensumiService); + const manaContainer = useInjectable(ManaContainer); + + const [libroTocView, setLibroTocView] = useState(); + + useEffect(() => { + if (editorService.currentResource?.uri.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + libroOpensumiService.getOrCreateLibroView(editorService.currentResource.uri).then((libro) => { + const viewManager = manaContainer.get(ViewManager); + viewManager + .getOrCreateView(TOCView, { + id: (editorService.currentResource?.uri as URI).toString(), + }) + .then((libroTocView) => { + libroTocView.parent = libro; + setLibroTocView(libroTocView); + return; + }); + }); + } + editorService.onActiveResourceChange((e) => { + if (e?.uri.path.ext === `.${LIBRO_COMPONENTS_SCHEME_ID}`) { + libroOpensumiService.getOrCreateLibroView(e.uri).then((libro) => { + const viewManager = manaContainer.get(ViewManager); + viewManager + .getOrCreateView(TOCView, { + id: (e.uri as URI).toString(), + }) + .then((libroTocView) => { + libroTocView.parent = libro; + setLibroTocView(libroTocView); + return; + }); + }); + } else { + setLibroTocView(undefined); + } + }); + }); + if (libroTocView) { + return ( +
+ +
+ ); + } else { + return ; + } +}; diff --git a/packages/notebook/src/index.ts b/packages/notebook/src/index.ts new file mode 100644 index 0000000000..6346d4753f --- /dev/null +++ b/packages/notebook/src/index.ts @@ -0,0 +1 @@ +export * from './browser'; diff --git a/packages/notebook/tsconfig.json b/packages/notebook/tsconfig.json new file mode 100644 index 0000000000..042ad27ecd --- /dev/null +++ b/packages/notebook/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../configs/ts/tsconfig.resolve.json", + "compilerOptions": { + "sourceMap": true, + "skipLibCheck": false, + "outDir": "./lib", + "module": "esnext", + "moduleResolution": "bundler", + "noUnusedLocals": false + } +} diff --git a/packages/notebook/typings/style/index.d.ts b/packages/notebook/typings/style/index.d.ts new file mode 100644 index 0000000000..b243ca03a6 --- /dev/null +++ b/packages/notebook/typings/style/index.d.ts @@ -0,0 +1,6 @@ +declare module '*.less'; +declare module '*.css'; +declare module '*.module.less' { + const classes: { [className: string]: string }; + export default classes; +} diff --git a/packages/quick-open/src/browser/quick-title-bar.ts b/packages/quick-open/src/browser/quick-title-bar.ts index ab2139411a..2a711ab1d2 100644 --- a/packages/quick-open/src/browser/quick-title-bar.ts +++ b/packages/quick-open/src/browser/quick-title-bar.ts @@ -27,11 +27,15 @@ export class QuickTitleBar { readonly step = observableValue(this, undefined); readonly totalSteps = observableValue(this, undefined); readonly buttons = observableValue(this, []); - readonly leftButtons = derived>(this, (reader) => this.buttons.read(reader).filter((btn) => btn.side === QuickTitleButtonSide.LEFT)); + readonly leftButtons = derived>(this, (reader) => + this.buttons.read(reader).filter((btn) => btn.side === QuickTitleButtonSide.LEFT), + ); - readonly rightButtons = derived>(this, (reader) => this.buttons - .read(reader) - .filter((btn) => btn.side === QuickTitleButtonSide.RIGHT || typeof btn.side === 'undefined')); + readonly rightButtons = derived>(this, (reader) => + this.buttons + .read(reader) + .filter((btn) => btn.side === QuickTitleButtonSide.RIGHT || typeof btn.side === 'undefined'), + ); get onDidTriggerButton(): Event { return this.onDidTriggerButtonEmitter.event; diff --git a/packages/startup/entry/web/app.tsx b/packages/startup/entry/web/app.tsx index c6a0ee6c96..e292f0b95a 100644 --- a/packages/startup/entry/web/app.tsx +++ b/packages/startup/entry/web/app.tsx @@ -1,6 +1,7 @@ import { AI_CHAT_LOGO_AVATAR_ID } from '@opensumi/ide-ai-native'; import { SlotLocation } from '@opensumi/ide-core-browser'; import { DESIGN_MENUBAR_CONTAINER_VIEW_ID, DESIGN_MENU_BAR_RIGHT } from '@opensumi/ide-design'; +import { NotebookModule } from '@opensumi/ide-notebook/lib/browser'; import { AIModules } from '@opensumi/ide-startup/lib/browser/common-modules'; import { MENU_BAR_FEATURE_TIP } from '@opensumi/ide-startup/lib/browser/menu-bar-help-icon'; @@ -8,7 +9,7 @@ import { getDefaultClientAppOpts, renderApp } from './render-app'; renderApp( getDefaultClientAppOpts({ - modules: [...AIModules], + modules: [...AIModules, NotebookModule], opts: { layoutViewSize: { menubarHeight: 48, @@ -26,6 +27,7 @@ renderApp( minimumReportThresholdTime: 400, }, }, + notebookServerHost: 'localhost:8888', }, }), ); diff --git a/packages/startup/package.json b/packages/startup/package.json index 068a73aa8d..cda30ca887 100644 --- a/packages/startup/package.json +++ b/packages/startup/package.json @@ -91,6 +91,7 @@ "@opensumi/ide-menu-bar": "workspace:*", "@opensumi/ide-monaco": "workspace:*", "@opensumi/ide-monaco-enhance": "workspace:*", + "@opensumi/ide-notebook": "workspace:*", "@opensumi/ide-opened-editor": "workspace:*", "@opensumi/ide-outline": "workspace:*", "@opensumi/ide-output": "workspace:*", diff --git a/packages/task/src/browser/problem-line-matcher.ts b/packages/task/src/browser/problem-line-matcher.ts index 6d68fc1e51..1466359099 100644 --- a/packages/task/src/browser/problem-line-matcher.ts +++ b/packages/task/src/browser/problem-line-matcher.ts @@ -138,7 +138,8 @@ export abstract class AbstractLineMatcher { if (trim) { value = value.trim(); } - (data[property] as string) = value; + // TODO: ts will regrard data[property] as undefined + (data[property] as any) = value; } } } @@ -276,7 +277,8 @@ export abstract class AbstractLineMatcher { result = this.matcher.severity || Severity.Error; } } - return Severity.toDiagnosticSeverity(result as Severity); + // FIXME: 这里转换的类型和插件需要的类型是不对齐的 + return Severity.toDiagnosticSeverity(result as Severity) as any; } private getResource(filename: string, matcher: ProblemMatcher): URI { diff --git a/packages/terminal-next/src/browser/component/resize.view.tsx b/packages/terminal-next/src/browser/component/resize.view.tsx index 8fb257761e..2ab14fa8d5 100644 --- a/packages/terminal-next/src/browser/component/resize.view.tsx +++ b/packages/terminal-next/src/browser/component/resize.view.tsx @@ -103,14 +103,14 @@ export default (props: IResizeViewProps) => {
{widgets && widgets.map((widget) => ( - - ))} + + ))}
); diff --git a/packages/terminal-next/src/browser/component/tab.view.tsx b/packages/terminal-next/src/browser/component/tab.view.tsx index fe48809d65..742fa0eeae 100644 --- a/packages/terminal-next/src/browser/component/tab.view.tsx +++ b/packages/terminal-next/src/browser/component/tab.view.tsx @@ -45,19 +45,19 @@ export default () => { (el ? (tabContainer.current = el.ref) : null)}>
{groups.filter(Boolean).map((group, index) => ( - group.unedit()} - onInputEnter={(_: string, name: string) => group.rename(name)} - onClick={() => view.selectGroup(index)} - onClose={() => view.removeGroup(index)} - onContextMenu={(event) => menuService.onTabContextMenu(event, index)} - provider={provider} - theme={theme} - > - ))} + group.unedit()} + onInputEnter={(_: string, name: string) => group.rename(name)} + onClick={() => view.selectGroup(index)} + onClose={() => view.removeGroup(index)} + onContextMenu={(event) => menuService.onTabContextMenu(event, index)} + provider={provider} + theme={theme} + > + ))}
'label then the unit tests state, for example "Addition Tests (Running)"'; -export const testConfigurationGroupNames: { [K in TestRunProfileBitset]: string } = { +export const testConfigurationGroupNames: { [K in TestRunProfileBitset]?: string } = { [TestRunProfileBitset.Debug]: localize('testGroup.debug', 'Debug'), [TestRunProfileBitset.Run]: localize('testGroup.run', 'Run'), [TestRunProfileBitset.Coverage]: localize('testGroup.coverage', 'Coverage'), diff --git a/packages/theme/src/browser/icon-theme-data.ts b/packages/theme/src/browser/icon-theme-data.ts index c62c81470f..e293ed9a8f 100644 --- a/packages/theme/src/browser/icon-theme-data.ts +++ b/packages/theme/src/browser/icon-theme-data.ts @@ -288,6 +288,6 @@ function processIconThemeDocument( } function escapeCSS(str: string) { - str = str.replace(/[\11\12\14\15\40]/g, '/'); // HTML class names can not contain certain whitespace characters, use / instead, which doesn't exist in file names. + str = str.replace(/[\x09\x0a\x0c\x0d\x20]/g, '/'); // HTML class names can not contain certain whitespace characters, use / instead, which doesn't exist in file names. return window.CSS.escape(str); } diff --git a/packages/utils/src/arrays.ts b/packages/utils/src/arrays.ts index b07918b0c8..3388725782 100644 --- a/packages/utils/src/arrays.ts +++ b/packages/utils/src/arrays.ts @@ -179,7 +179,7 @@ export function enumValueToArray(enumeration: T): NonFunctiona return Object.keys(enumeration) .filter((key) => isNaN(Number(key))) .map((key) => enumeration[key]) - .filter((val) => typeof val === 'number' || typeof val === 'string'); + .filter((val: NonFunctional) => typeof val === 'number' || typeof val === 'string'); } /** diff --git a/packages/utils/src/linked-text.ts b/packages/utils/src/linked-text.ts index 9d44847e91..98e1b86cee 100644 --- a/packages/utils/src/linked-text.ts +++ b/packages/utils/src/linked-text.ts @@ -23,7 +23,7 @@ export class LinkedText { } } -const LINK_REGEX = /\[([^\]]+)\]\(((?:https?:\/\/|command:)[^\)\s]+)(?: ("|')([^\3]+)(\3))?\)/gi; +const LINK_REGEX = /\[([^\]]+)\]\(((?:https?:\/\/|command:)[^\)\s]+)(?: ("|')([^\x03]+)(\3))?\)/gi; export function parseLinkedText(text: string): LinkedText { const result: LinkedTextNode[] = []; diff --git a/packages/workspace-edit/src/browser/refactor-preview.service.tsx b/packages/workspace-edit/src/browser/refactor-preview.service.tsx index 9ba455f9f0..25df203372 100644 --- a/packages/workspace-edit/src/browser/refactor-preview.service.tsx +++ b/packages/workspace-edit/src/browser/refactor-preview.service.tsx @@ -47,7 +47,7 @@ export class RefactorPreviewServiceImpl implements IRefactorPreviewService { @Autowired(IDialogService) protected readonly dialogService: IDialogService; - + p; @Autowired(INJECTOR_TOKEN) protected readonly injector: Injector; diff --git a/tools/cli-engine/configs/tsconfig.node.json b/tools/cli-engine/configs/tsconfig.node.json index 0379a768b0..5f30bd0dae 100644 --- a/tools/cli-engine/configs/tsconfig.node.json +++ b/tools/cli-engine/configs/tsconfig.node.json @@ -11,7 +11,6 @@ "experimentalDecorators": true, "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, - "suppressImplicitAnyIndexErrors": true, "declaration": true, "baseUrl": "../src/node", "outDir": "../lib/node" diff --git a/tools/cli-engine/package.json b/tools/cli-engine/package.json index 977f858c80..3e4f4aa250 100644 --- a/tools/cli-engine/package.json +++ b/tools/cli-engine/package.json @@ -48,7 +48,7 @@ "devDependencies": { "@types/ejs": "^3.0.2", "@types/koa-mount": "^4.0.0", - "@types/node": "^20.11.30", + "@types/node": "^22.7.6", "@types/react": "^18.2.0", "@types/react-dom": "^18.2.0", "assets-webpack-plugin": "^7.1.1", @@ -68,7 +68,7 @@ "ts-loader": "^9.5.1", "tsconfig-paths": "^4.2.0", "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "4.9.3", + "typescript": "^5.6.3", "webpack": "^5.90.0", "webpack-cli": "^5.1.4" } diff --git a/tools/dev-tool/package.json b/tools/dev-tool/package.json index 2a6a026926..f825c36c22 100644 --- a/tools/dev-tool/package.json +++ b/tools/dev-tool/package.json @@ -33,7 +33,7 @@ "ts-loader": "^9.5.1", "tsconfig-paths": "^4.2.0", "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "4.9.3", + "typescript": "^5.6.3", "webpack": "^5.90.0", "webpack-cli": "^5.1.4", "webpack-merge": "^5.10.0" diff --git a/tools/dev-tool/src/webpack.js b/tools/dev-tool/src/webpack.js index ce3b78547d..bcf9d8ab69 100644 --- a/tools/dev-tool/src/webpack.js +++ b/tools/dev-tool/src/webpack.js @@ -12,6 +12,7 @@ const { merge } = require('webpack-merge'); const reactPath = path.resolve(path.join(__dirname, '../../../node_modules/react')); const reactDOMPath = path.resolve(path.join(__dirname, '../../../node_modules/react-dom')); const tsConfigPath = path.join(__dirname, '../../../tsconfig.json'); +const esmodulePath = path.join(__dirname, '../../../packages/notebook'); const HOST = process.env.HOST || '0.0.0.0'; const IDE_FRONT_PORT = process.env.IDE_FRONT_PORT || 8080; @@ -67,6 +68,7 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) { child_process: false, url: false, fs: false, + stream: false, }, }, bail: true, @@ -78,6 +80,26 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) { rules: [ { test: /\.tsx?$/, + include: esmodulePath, + use: [ + { + loader: 'ts-loader', + options: { + happyPackMode: true, + transpileOnly: true, + configFile: tsConfigPath, + compilerOptions: { + module: 'esnext', + moduleResolution: 'bundler', + target: 'es2015', + }, + }, + }, + ], + }, + { + test: /\.tsx?$/, + exclude: esmodulePath, use: [ { loader: 'ts-loader', @@ -155,7 +177,7 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) { test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/, type: 'asset/resource', generator: { - filename: 'fonts/[name][ext][query]', + filename: 'fonts/[name][hash:8][ext][query]', }, }, ], diff --git a/tools/electron/package.json b/tools/electron/package.json index 267133dff7..685ab195e4 100644 --- a/tools/electron/package.json +++ b/tools/electron/package.json @@ -66,7 +66,7 @@ "ts-loader": "^9.5.1", "tsconfig-paths": "^4.2.0", "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "4.9.3", + "typescript": "^5.6.3", "webpack": "^5.94.0", "webpack-cli": "^5.1.4" } diff --git a/tools/playwright/package.json b/tools/playwright/package.json index bc3da4a0cd..fa41e57576 100644 --- a/tools/playwright/package.json +++ b/tools/playwright/package.json @@ -32,6 +32,6 @@ "@opensumi/ide-utils": "workspace:*", "allure-commandline": "^2.25.0", "allure-playwright": "^2.10.0", - "typescript": "4.9.3" + "typescript": "^5.6.3" } } diff --git a/yarn.lock b/yarn.lock index f46bc35d58..d1d1bdf951 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,7 +31,57 @@ __metadata: languageName: node linkType: hard -"@ant-design/icons-svg@npm:^4.3.0": +"@ant-design/colors@npm:^7.0.0, @ant-design/colors@npm:^7.1.0": + version: 7.1.0 + resolution: "@ant-design/colors@npm:7.1.0" + dependencies: + "@ctrl/tinycolor": "npm:^3.6.1" + checksum: 10/207f6d98e9d7f85c676279d516d87b6faa1794fdcbef17779dbc09ab033ca2dff048dc7bce71cb7095fcc053a84a65aff4d786e5b55af24a372a8bfa0ebf8fc8 + languageName: node + linkType: hard + +"@ant-design/cssinjs-utils@npm:^1.1.1": + version: 1.1.1 + resolution: "@ant-design/cssinjs-utils@npm:1.1.1" + dependencies: + "@ant-design/cssinjs": "npm:^1.21.0" + "@babel/runtime": "npm:^7.23.2" + rc-util: "npm:^5.38.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/48934bb94f0e5f802223b1d4d8a5c44da7da573a9281d5582d9bc63e71cce212b620bbbcfaddec34a40a41612e081a3c5a107f8876172fffc61054fac0d645b4 + languageName: node + linkType: hard + +"@ant-design/cssinjs@npm:^1.21.0, @ant-design/cssinjs@npm:^1.21.1": + version: 1.21.1 + resolution: "@ant-design/cssinjs@npm:1.21.1" + dependencies: + "@babel/runtime": "npm:^7.11.1" + "@emotion/hash": "npm:^0.8.0" + "@emotion/unitless": "npm:^0.7.5" + classnames: "npm:^2.3.1" + csstype: "npm:^3.1.3" + rc-util: "npm:^5.35.0" + stylis: "npm:^4.3.3" + peerDependencies: + react: ">=16.0.0" + react-dom: ">=16.0.0" + checksum: 10/c26b84ec05df784ed83496463a5eb9db21c6ca3a4710aaec7af07090b562cf1bdabd7543b92e8c64da4dc8ac5be88baf94bda53cee1ca83428e45133389079b8 + languageName: node + linkType: hard + +"@ant-design/fast-color@npm:^2.0.6": + version: 2.0.6 + resolution: "@ant-design/fast-color@npm:2.0.6" + dependencies: + "@babel/runtime": "npm:^7.24.7" + checksum: 10/94167d70e10d4c267875b97bbe282fe32e6a60aabbfb70dd9f3c5500c559e4c91c4881a364168629ec1c150441e37f0da3fa97d34cb3d24373535a792d91e627 + languageName: node + linkType: hard + +"@ant-design/icons-svg@npm:^4.3.0, @ant-design/icons-svg@npm:^4.4.0": version: 4.4.2 resolution: "@ant-design/icons-svg@npm:4.4.2" checksum: 10/cb926eb6b0386c8364514fd60760a7a467bdef1146f1edd3cdfc28b025a06fc84ceb179dea773ef357de88f33f2c27f10c091d5d1bdec94c28dc02a72aa0ac0b @@ -55,6 +105,37 @@ __metadata: languageName: node linkType: hard +"@ant-design/icons@npm:^5.1.0, @ant-design/icons@npm:^5.5.1": + version: 5.5.1 + resolution: "@ant-design/icons@npm:5.5.1" + dependencies: + "@ant-design/colors": "npm:^7.0.0" + "@ant-design/icons-svg": "npm:^4.4.0" + "@babel/runtime": "npm:^7.24.8" + classnames: "npm:^2.2.6" + rc-util: "npm:^5.31.1" + peerDependencies: + react: ">=16.0.0" + react-dom: ">=16.0.0" + checksum: 10/8e5c75df40285af0b87fbb88adaa0c2f566c7fda3282233e802981034a99e968f03f39705ecc7870824d4b4b3ee5dc1b8e733a3073717441dc5c691e07c28536 + languageName: node + linkType: hard + +"@ant-design/react-slick@npm:~1.1.2": + version: 1.1.2 + resolution: "@ant-design/react-slick@npm:1.1.2" + dependencies: + "@babel/runtime": "npm:^7.10.4" + classnames: "npm:^2.2.5" + json2mq: "npm:^0.2.0" + resize-observer-polyfill: "npm:^1.5.1" + throttle-debounce: "npm:^5.0.0" + peerDependencies: + react: ">=16.9.0" + checksum: 10/b38e44630936c8fa3b055c9f7cdbd510b78d18ce31fe32165be4d0e8d082ee735216daa9228881d41b79e85f22eac8deee182ed8103f23108517c72606348132 + languageName: node + linkType: hard + "@ast-grep/napi-darwin-arm64@npm:0.17.1": version: 0.17.1 resolution: "@ast-grep/napi-darwin-arm64@npm:0.17.1" @@ -498,6 +579,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.6, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.24.8, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.25.7 + resolution: "@babel/runtime@npm:7.25.7" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10/73411fe0f1bff3a962586cef05b30f49e554b6563767e6d84f7d79d605b2c20e7fc3df291a3aebef69043181a8f893afdab9e6672557a5c2d08b9377d6f678cd + languageName: node + linkType: hard + "@babel/runtime@npm:^7.3.4": version: 7.24.1 resolution: "@babel/runtime@npm:7.24.1" @@ -554,6 +644,173 @@ __metadata: languageName: node linkType: hard +"@choojs/findup@npm:^0.2.0": + version: 0.2.1 + resolution: "@choojs/findup@npm:0.2.1" + dependencies: + commander: "npm:^2.15.1" + bin: + findup: bin/findup.js + checksum: 10/550c58aac2943d9c576150a4866b595ab35e1604dce7443c684d96dae9acc1919eda2c991e7c06fecf5538c82091a5cff0564c9cba043b2abadb161ef0c70a6f + languageName: node + linkType: hard + +"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.12.0, @codemirror/autocomplete@npm:^6.3.2, @codemirror/autocomplete@npm:^6.7.1": + version: 6.18.1 + resolution: "@codemirror/autocomplete@npm:6.18.1" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + peerDependencies: + "@codemirror/language": ^6.0.0 + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + "@lezer/common": ^1.0.0 + checksum: 10/3b56ac6c57214e3e50c6ed79c12ac1822e3774afb033e0e4fb98dffd252f5ae64e5bed67dc2ad9cbd5d784373031be90995ddb1b36a10c16a2eef6af832041e2 + languageName: node + linkType: hard + +"@codemirror/commands@npm:^6.3.3": + version: 6.7.0 + resolution: "@codemirror/commands@npm:6.7.0" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.4.0" + "@codemirror/view": "npm:^6.27.0" + "@lezer/common": "npm:^1.1.0" + checksum: 10/3f331b4c2f4e3cc029cbfd75946d85bf82b403dcaf4b0dd317ad0fff1018b872378adaae5d9f1c66a3a470f376fb270ea8578264b77d70b6aadeb545c984cb02 + languageName: node + linkType: hard + +"@codemirror/lang-css@npm:^6.0.0": + version: 6.3.0 + resolution: "@codemirror/lang-css@npm:6.3.0" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.0.2" + "@lezer/css": "npm:^1.1.7" + checksum: 10/192a91d8314597f1e9fa843f7cbef95746883d2a5961bfbf02ed21c142d9492fdbc3793646e2532f9aa7512232a5f367524ee3cf9f03f49e23d6e87ee144a40a + languageName: node + linkType: hard + +"@codemirror/lang-html@npm:^6.0.0": + version: 6.4.9 + resolution: "@codemirror/lang-html@npm:6.4.9" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/lang-css": "npm:^6.0.0" + "@codemirror/lang-javascript": "npm:^6.0.0" + "@codemirror/language": "npm:^6.4.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/css": "npm:^1.1.0" + "@lezer/html": "npm:^1.3.0" + checksum: 10/db4288a9e87613a54836313cd48df7e11450b885c64b5a6c054d057d33501ee1501cf72d246eb588131b90574e5471509f00944fc5b55bacc83750f1321a58e1 + languageName: node + linkType: hard + +"@codemirror/lang-javascript@npm:^6.0.0": + version: 6.2.2 + resolution: "@codemirror/lang-javascript@npm:6.2.2" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/javascript": "npm:^1.0.0" + checksum: 10/eac2e57a7a595cf0c93afd4bb42034902230c73e5525554ba925bad12aa544ca58014c017466288a2b34f1684d6efa5537507ed8b57e276d02665c2821c7a9d6 + languageName: node + linkType: hard + +"@codemirror/lang-markdown@npm:^6.2.4": + version: 6.3.0 + resolution: "@codemirror/lang-markdown@npm:6.3.0" + dependencies: + "@codemirror/autocomplete": "npm:^6.7.1" + "@codemirror/lang-html": "npm:^6.0.0" + "@codemirror/language": "npm:^6.3.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + "@lezer/common": "npm:^1.2.1" + "@lezer/markdown": "npm:^1.0.0" + checksum: 10/672ed8ab85785fc188b67039b63fe83b73a765615c1b0b53672e5e37c097a67817f1b3fecf26596be6644edeb943bd0be60a32a7599195fff2c4bfaf43f56f7b + languageName: node + linkType: hard + +"@codemirror/lang-python@npm:^6.1.3": + version: 6.1.6 + resolution: "@codemirror/lang-python@npm:6.1.6" + dependencies: + "@codemirror/autocomplete": "npm:^6.3.2" + "@codemirror/language": "npm:^6.8.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.2.1" + "@lezer/python": "npm:^1.1.4" + checksum: 10/a0a893d5947a58eaf09e0b4b6b76184755e23db3a56030c3a8a80d52ec568bd06e8099a4b3453ee985e7f60b9e323d72ed2e10403032440ac4e8869cf0405b10 + languageName: node + linkType: hard + +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.10.0, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0, @codemirror/language@npm:^6.8.0": + version: 6.10.3 + resolution: "@codemirror/language@npm:6.10.3" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.23.0" + "@lezer/common": "npm:^1.1.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + style-mod: "npm:^4.0.0" + checksum: 10/75869ca19c76998cc9be76f02061b6212d389b29647cf72505a06495fba3b330003f9952ddf8762bcaa2bf4defd39fd4f240d05b3df0b28c1c4415a025bc257c + languageName: node + linkType: hard + +"@codemirror/lint@npm:^6.0.0": + version: 6.8.2 + resolution: "@codemirror/lint@npm:6.8.2" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + crelt: "npm:^1.0.5" + checksum: 10/b3e1bcce92fc039251066f885f7184d017811ccf8e7f0c01ade2e4b4ceeb4ee83c02ff9b29b8103ce9aa63537980fd0796266051462aefdbde8afa054082dd45 + languageName: node + linkType: hard + +"@codemirror/search@npm:^6.0.0": + version: 6.5.6 + resolution: "@codemirror/search@npm:6.5.6" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + crelt: "npm:^1.0.5" + checksum: 10/6668a34b4617e909617d3d831627d74b7a7985e8cd86d396bfcb3e86262f2310fc029fd6c846f1b8f1e6768e75985c9f1b0b18b31e05341f06b5b75c1ffde38d + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0": + version: 6.4.1 + resolution: "@codemirror/state@npm:6.4.1" + checksum: 10/a9ec56c7d7d52034ce8ebea3a9a4d216b9e972d701b32b5000e56c97790d0d46af129aeba0b80bed36648b4024b3ba3e4910cf5bfed11de4a9e89252e0707a70 + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0": + version: 6.34.1 + resolution: "@codemirror/view@npm:6.34.1" + dependencies: + "@codemirror/state": "npm:^6.4.0" + style-mod: "npm:^4.1.0" + w3c-keyname: "npm:^2.2.4" + checksum: 10/012f195d7c9da2f9693b2192e0e52c7d3f94d9c887c46e218ddb36ee1a050978ee6a13c7d0207dd3fb970b4454198962112b9afe17e1f23d2b89a274b7d186a0 + languageName: node + linkType: hard + "@commitlint/cli@npm:^19.2.1": version: 19.5.0 resolution: "@commitlint/cli@npm:19.5.0" @@ -764,158 +1021,714 @@ __metadata: languageName: node linkType: hard -"@ctrl/tinycolor@npm:^3.4.0": +"@ctrl/tinycolor@npm:^3.4.0, @ctrl/tinycolor@npm:^3.6.1": version: 3.6.1 resolution: "@ctrl/tinycolor@npm:3.6.1" checksum: 10/f3c77b2d29076402d6b94632975cea1ce11942b05ca65d9108c951ff4d61965184dd7e480296e6625cb6df9e7de8b7938ce36a88cf1794c3b8ac83c908af468e languageName: node linkType: hard -"@discoveryjs/json-ext@npm:0.5.7, @discoveryjs/json-ext@npm:^0.5.0": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10/b95682a852448e8ef50d6f8e3b7ba288aab3fd98a2bafbe46881a3db0c6e7248a2debe9e1ee0d4137c521e4743ca5bbcb1c0765c9d7b3e0ef53231506fec42b4 +"@difizen/libro-code-cell@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-code-cell@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + peerDependencies: + react: ">=16" + checksum: 10/45db2e73f624d4f3fbbb2ed854d5215155443d7ecf5a9a5cccf19c57ac8a6f42115bc5e3c122de4377d463c9a5df59d729e6efdd34563223f5d4362826653a0e languageName: node linkType: hard -"@eggjs/yauzl@npm:^2.11.0": - version: 2.11.0 - resolution: "@eggjs/yauzl@npm:2.11.0" +"@difizen/libro-code-editor@npm:0.2.45, @difizen/libro-code-editor@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-code-editor@npm:0.2.45" dependencies: - buffer-crc32: "npm:~0.2.3" - fd-slicer2: "npm:^1.2.0" - checksum: 10/f40cc10f77643bacc23d1069bbefd486fb14bd1215ef548fcbc10f66f1c7d113c343b4c30c15572deb8b9a4f6c0464412e575fe6e11e87aa24b6394de3730b49 + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + uuid: "npm:^9.0.0" + peerDependencies: + react: ">=16" + checksum: 10/f7696fbbdbd4f98cc43ea82df1032c428c54966fdd62fa118817314888bbebee714a672bc7c564f75d074e395772987db7dac348923ed6a4c4e2f43cfdd7a47f + languageName: node + linkType: hard + +"@difizen/libro-codemirror@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-codemirror@npm:0.2.45" + dependencies: + "@codemirror/autocomplete": "npm:^6.12.0" + "@codemirror/commands": "npm:^6.3.3" + "@codemirror/lang-markdown": "npm:^6.2.4" + "@codemirror/lang-python": "npm:^6.1.3" + "@codemirror/language": "npm:^6.10.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/search": "npm:^6.0.0" + "@codemirror/state": "npm:^6.4.0" + "@codemirror/view": "npm:^6.23.0" + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-lsp": "npm:^0.2.45" + "@difizen/libro-rendermime": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + "@lezer/common": "npm:^1.2.1" + "@lezer/highlight": "npm:^1.1.4" + highlight.js: "npm:^11.9.0" + markdown-it: "npm:^13.0.1" + uuid: "npm:^9.0.0" + vscode-languageserver-protocol: "npm:^3.17.0" + checksum: 10/125650aaeb6178d8d119e5d72b174374b82e386087822c9a2d11bee8308f8e77e0d5ddffa554bb5d594f2e469374f266f550a7fd00b4b1659f776786edf8d07c languageName: node linkType: hard -"@electron/get@npm:^2.0.0": - version: 2.0.3 - resolution: "@electron/get@npm:2.0.3" +"@difizen/libro-cofine-editor-contribution@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-cofine-editor-contribution@npm:0.2.45" dependencies: - debug: "npm:^4.1.1" - env-paths: "npm:^2.2.0" - fs-extra: "npm:^8.1.0" - global-agent: "npm:^3.0.0" - got: "npm:^11.8.5" - progress: "npm:^2.0.3" - semver: "npm:^6.2.0" - sumchecker: "npm:^3.0.1" - dependenciesMeta: - global-agent: - optional: true - checksum: 10/ac736cdeac52513b23038c761ebcb9fd315d443675f12c975805d7bcddcdabe5be492310ce5f6f1915d27013bcdcf19d0dac73c72353120948bbdf01fb3e11bf + "@difizen/mana-app": "npm:latest" + checksum: 10/a2d28a0ddf798e93ec9d70ff9c6364a67c9903e7cb25a20e644d991dc46f6a1753a0c8364ca88ab586fff6925a57630c10634bff3b34647e9c5db4048eac649d languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 +"@difizen/libro-cofine-editor-core@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-cofine-editor-core@npm:0.2.45" + dependencies: + "@difizen/libro-cofine-editor-contribution": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/monaco-editor-core": "npm:0.39.4" + debug: "npm:^4.3.2" + reflect-metadata: "npm:^0.1.13" + checksum: 10/faa822798bc419bfcb7c91e8ac980ea9012651ee10e95737667df5932040967e25731773d24d8726ee7245a03bb31001f8f1d02d116a9a135c41e36c1aa90c5c languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/aix-ppc64@npm:0.24.0" - conditions: os=aix & cpu=ppc64 +"@difizen/libro-cofine-editor@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-cofine-editor@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-cofine-editor-core": "npm:^0.2.45" + "@difizen/libro-cofine-textmate": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-lsp": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/monaco-editor-core": "npm:0.39.4" + resize-observer-polyfill: "npm:^1.5.1" + uuid: "npm:^9.0.0" + vscode-languageserver-protocol: "npm:^3.17.4" + peerDependencies: + react: ">=16" + checksum: 10/ffe5d5f0e847a9a79c644b3c18a2e87195ec0315f4f5bb338fde2846cb86aec81fb680863da290544adbcb382528387264f9e1f207b7b50c8ce4ca06c404f62d languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 +"@difizen/libro-cofine-textmate@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-cofine-textmate@npm:0.2.45" + dependencies: + "@difizen/libro-cofine-editor-core": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + fast-plist: "npm:^0.1.2" + vscode-oniguruma: "npm:^1.5.1" + vscode-textmate: "npm:^9.0.0" + checksum: 10/bd3e831854de86c8b4ad69380feeba757b7532d98d6c7cb8654fbad61ded656179d50f5cb642a727b5461b5b580a1193ace39fd7c73732ebc7f86252105589fe languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm64@npm:0.24.0" - conditions: os=android & cpu=arm64 +"@difizen/libro-common@npm:0.2.45, @difizen/libro-common@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-common@npm:0.2.45" + dependencies: + "@difizen/mana-app": "npm:latest" + path-browserify: "npm:^1.0.0" + sanitize-html: "npm:^2.7.2" + url-parse: "npm:^1.5.10" + peerDependencies: + react: ">=16" + checksum: 10/ff448b7d9b550a4bc1a5fa9daddd1313b46cdd5501e671de2a41e09aaa68a1160918cd339f8cc5ff6e60c625a1e1341a46ccf36268278e73b28c8a2c67cfef4a languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm +"@difizen/libro-core@npm:0.2.45, @difizen/libro-core@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-core@npm:0.2.45" + dependencies: + "@ant-design/icons": "npm:^5.1.0" + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-shared-model": "npm:^0.2.45" + "@difizen/libro-virtualized": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + "@difizen/mana-react": "npm:latest" + classnames: "npm:^2.3.2" + dayjs: "npm:^1.11.10" + dnd-core: "npm:^16.0.1" + react-dnd: "npm:^16.0.1" + react-dnd-html5-backend: "npm:^16.0.1" + resize-observer-polyfill: "npm:^1.5.1" + uuid: "npm:^9.0.0" + peerDependencies: + antd: ^5.8.6 + react: ">=16" + checksum: 10/3ab1f84ecd9721996ae4d926372a4838d5788166e82bb65e63c2df9f6be35fe64515abf5f00563afe5422d0dcdc540f4a8f568cfee7a0d88a6afe9263d1123f8 + languageName: node + linkType: hard + +"@difizen/libro-jupyter@npm:0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-jupyter@npm:0.2.45" + dependencies: + "@ant-design/colors": "npm:^7.0.0" + "@ant-design/icons": "npm:^5.1.0" + "@difizen/libro-code-cell": "npm:^0.2.45" + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-codemirror": "npm:^0.2.45" + "@difizen/libro-cofine-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-kernel": "npm:^0.2.45" + "@difizen/libro-l10n": "npm:^0.2.45" + "@difizen/libro-language-client": "npm:^0.2.45" + "@difizen/libro-lsp": "npm:^0.2.45" + "@difizen/libro-markdown-cell": "npm:^0.2.45" + "@difizen/libro-output": "npm:^0.2.45" + "@difizen/libro-raw-cell": "npm:^0.2.45" + "@difizen/libro-rendermime": "npm:^0.2.45" + "@difizen/libro-search": "npm:^0.2.45" + "@difizen/libro-search-code-cell": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + classnames: "npm:^2.3.2" + moment: "npm:^2.29.4" + plotly.js: "npm:^2.35.0" + peerDependencies: + antd: ^5.8.6 + react: ">=16" + checksum: 10/9dc23624ce0bca43e458b74cf345dd2a2e2a46045d459b32d991c304fbeb92f7dbbfdc179a30e6226df1f6477a346ca23dfbbd75eddaad7f8e4eb1a890dca9f1 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm@npm:0.24.0" - conditions: os=android & cpu=arm +"@difizen/libro-kernel@npm:0.2.45, @difizen/libro-kernel@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-kernel@npm:0.2.45" + dependencies: + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + minimist: "npm:^1.2.8" + query-string: "npm:^8.1.0" + uuid: "npm:^9.0.0" + peerDependencies: + react: ">=16" + checksum: 10/47dc8f9708df6586d1d0850d06c6ada76362cb5c30a2fa2725120c109215d216312602133d2bfec9c83af068b8519b2f30e67f9129aaba74cbacdc7419c71d6f languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 +"@difizen/libro-l10n@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-l10n@npm:0.2.45" + dependencies: + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + checksum: 10/394b12ed9a8bb1757696ea4e739491de76f534e85dcf1ad390dde113336fa90c18fe83c0b4d9f88348155f6c050e884dd75d37ef2f2e4f5fbe1e3e7f2231bdf2 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-x64@npm:0.24.0" - conditions: os=android & cpu=x64 +"@difizen/libro-language-client@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-language-client@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-kernel": "npm:^0.2.45" + "@difizen/libro-lsp": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-common": "npm:latest" + "@difizen/monaco-editor-core": "npm:^0.39.4" + "@difizen/vscode-languageserver-protocol": "npm:^3.17.6-next.2" + minimatch: "npm:^9.0.3" + uuid: "npm:^9.0.0" + vscode-uri: "npm:^3.0.8" + vscode-ws-jsonrpc: "npm:^3.1.0" + peerDependencies: + react: ">=16" + checksum: 10/8aa0331a5deaac1f770202b09c05e7169f6c4575a5316fce647b85cb6d6275c3ff7c28e344646488040e51107d3a78883b00ac83224ae2d7372d5d9aa5c33239 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 +"@difizen/libro-lsp@npm:0.2.45, @difizen/libro-lsp@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-lsp@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-kernel": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + lodash.mergewith: "npm:^4.6.2" + uuid: "npm:^9.0.0" + vscode-jsonrpc: "npm:^6.0.0" + vscode-languageserver-protocol: "npm:^3.17.0" + vscode-ws-jsonrpc: "npm:~1.0.2" + peerDependencies: + react: ">=16" + checksum: 10/200ecd0c27736fb9c93395f2f834eabd24694033841a0213fffa323fad4f00a6d943aa94fd6dfa2d5aa93384ca06ea4ad181b861d3897580482f3b61d86426f4 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-arm64@npm:0.24.0" - conditions: os=darwin & cpu=arm64 +"@difizen/libro-markdown-cell@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-markdown-cell@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-markdown": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@types/markdown-it": "npm:^12.2.3" + markdown-it: "npm:^13.0.1" + markdown-it-anchor: "npm:^8.6.5" + peerDependencies: + react: ">=16" + checksum: 10/071fbbab4562916ae1a8368fdb93270544be7b1472feacb49729987b86250a1dc39967cf8cf56fc5a3fb391b3d3ce62e14de118115544e64140f9579ad205e77 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 +"@difizen/libro-markdown@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-markdown@npm:0.2.45" + dependencies: + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:^0.1.24" + "@traptitech/markdown-it-katex": "npm:^3.6.0" + "@types/markdown-it": "npm:^12.2.3" + katex: "npm:^0.16.10" + markdown-it: "npm:^13.0.1" + markdown-it-anchor: "npm:^8.6.5" + checksum: 10/fd5cbc6b3640c1902456d59cff383b1613bf5691a798a1b6fa84451dc90880aa632cd7f3d6f4c81a9c8f0669c7987237b18bc08dbbd833b6ca7af5499cf88b3f languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-x64@npm:0.24.0" - conditions: os=darwin & cpu=x64 +"@difizen/libro-output@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-output@npm:0.2.45" + dependencies: + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-rendermime": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + markdown-it: "npm:^13.0.1" + peerDependencies: + antd: ^5.8.6 + react: ">=16" + checksum: 10/5c7c02aa007dce7e33eedced3107a9dd029a1ea2a95389e5344927dc0a41334a4f66d8a6f8b40340da7dc0bb0e6b9281fe942ec8b7177ee17ca645be56f685cb languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 +"@difizen/libro-raw-cell@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-raw-cell@npm:0.2.45" + dependencies: + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + peerDependencies: + react: ">=16" + checksum: 10/105afc37248e892786979a1b58f2efd88eefc71a07e3b8e66216e0d4bdcbce05818b117bb9e2529f03f8027ec430c435c529ee7699bf2ddc8969dc9ecd764f00 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-arm64@npm:0.24.0" - conditions: os=freebsd & cpu=arm64 +"@difizen/libro-rendermime@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-rendermime@npm:0.2.45" + dependencies: + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-markdown": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + lodash.escape: "npm:^4.0.1" + peerDependencies: + react: ">=16" + checksum: 10/ab1dd814d1278a147d9b469c3d75ea1bda3084068d3c74506101bacbfc8acbf2071786a818a3ce91ba85ade2738e1126d3c9321ab0d4b011289b16509d76cde8 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 +"@difizen/libro-search-code-cell@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-search-code-cell@npm:0.2.45" + dependencies: + "@difizen/libro-code-cell": "npm:^0.2.45" + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-search": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + checksum: 10/beb3be7c081c36d337d53ce2ec36b718c012a744368ef9933ca7f293a399730cc57e4322cca712a303bc2e3d85c87ed69460c3b139bc7200b8af9efc28e19b59 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-x64@npm:0.24.0" - conditions: os=freebsd & cpu=x64 +"@difizen/libro-search@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-search@npm:0.2.45" + dependencies: + "@ant-design/icons": "npm:^5.1.0" + "@difizen/libro-code-editor": "npm:^0.2.45" + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + "@types/lodash.debounce": "npm:^4.0.7" + classnames: "npm:^2.3.2" + lodash.debounce: "npm:^4.0.8" + reflect-metadata: "npm:^0.1.13" + peerDependencies: + antd: ^5.8.6 + react: ">=16" + checksum: 10/48f49dc4b4e7b2296fb7017222691355e5adfecb2aaa5cdb4fc73510d158ac7b7ffe05f749e6b0354c6603a3555114bcdde0d88cfddd17cb7fc993fc992ea60d + languageName: node + linkType: hard + +"@difizen/libro-shared-model@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-shared-model@npm:0.2.45" + dependencies: + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + uuid: "npm:^9.0.0" + y-protocols: "npm:^1.0.5" + yjs: "npm:^13.5.40" + checksum: 10/69d06d981c6e45139272339e569526021e84518bdf06d121377f4c4b56376c1c18e84d69abcb5702dc01546c0787f6d97ef1763570e5c71e2be9b3f3db7869e5 + languageName: node + linkType: hard + +"@difizen/libro-toc@npm:0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-toc@npm:0.2.45" + dependencies: + "@difizen/libro-common": "npm:^0.2.45" + "@difizen/libro-core": "npm:^0.2.45" + "@difizen/libro-markdown": "npm:^0.2.45" + "@difizen/libro-rendermime": "npm:^0.2.45" + "@difizen/mana-app": "npm:latest" + "@difizen/mana-l10n": "npm:latest" + peerDependencies: + react: ">=16" + checksum: 10/dda2b1c675b5d287be3d1f18b917a3b257b2a94a699ca00c1e6b82e543322bbe27ae11f8d8f6380da267e49925c627dbee945ee916200dcf4ca3f3ea3affe57e + languageName: node + linkType: hard + +"@difizen/libro-virtualized@npm:^0.2.45": + version: 0.2.45 + resolution: "@difizen/libro-virtualized@npm:0.2.45" + dependencies: + classnames: "npm:^2.3.2" + dom-helpers: "npm:^5.2.1" + peerDependencies: + react: ">=16" + react-dom: ">=16" + checksum: 10/b3e1164b687ad2854293d6ab633a9bba286ce4c467f8909706984a39e4559b023aa4fe3489a58e2858a092c42ecb07c813d7b7ec02eea44f7edf1b72222c583b + languageName: node + linkType: hard + +"@difizen/mana-app@npm:^0.1.27, @difizen/mana-app@npm:latest": + version: 0.1.27 + resolution: "@difizen/mana-app@npm:0.1.27" + dependencies: + "@ant-design/icons": "npm:^5.1.0" + "@difizen/mana-common": "npm:^0.1.27" + "@difizen/mana-core": "npm:^0.1.27" + "@difizen/mana-l10n": "npm:^0.1.27" + "@difizen/mana-observable": "npm:^0.1.27" + "@difizen/mana-react": "npm:^0.1.27" + "@difizen/mana-syringe": "npm:^0.1.27" + "@types/lodash.debounce": "npm:4.0.3" + "@types/react-virtualized": "npm:^9.21.22" + classnames: "npm:^2.3.2" + debug: "npm:^4.3.1" + file-icons-js: "npm:~1.0.3" + font-awesome: "npm:^4.7.0" + lodash.debounce: "npm:^4.0.8" + perfect-scrollbar: "npm:^1.5.5" + rc-tooltip: "npm:^5.1.1" + react-virtualized: "npm:^9.22.5" + uuid: "npm:^9.0.0" + vscode-uri: "npm:^2.1.1" + peerDependencies: + react: ">=16.8.6" + react-dom: ">=16.8.6" + checksum: 10/bbb82c0115c9d69580cf85b5e894063ba9c2ae7b674a6c782db3bc6f471c215c3e3cccd50630cad4d4927081f23ea304689bf8ab396c88541cf1db9f37b6f5ec + languageName: node + linkType: hard + +"@difizen/mana-common@npm:^0.1.27, @difizen/mana-common@npm:latest": + version: 0.1.27 + resolution: "@difizen/mana-common@npm:0.1.27" + dependencies: + path-browserify: "npm:^1.0.0" + checksum: 10/ae38c8ca4c70b2e02bd7c623ed6a2bf8e643d4f13eeed9bc6677b87e49e526c1376394837c9482e8acebeba88971864c83233a218e79f3f4a1c3d2489776232f + languageName: node + linkType: hard + +"@difizen/mana-core@npm:^0.1.27": + version: 0.1.27 + resolution: "@difizen/mana-core@npm:0.1.27" + dependencies: + "@difizen/mana-common": "npm:^0.1.27" + "@difizen/mana-observable": "npm:^0.1.27" + "@difizen/mana-syringe": "npm:^0.1.27" + ajv: "npm:^8.12.0" + debug: "npm:^4.3.1" + resize-observer-polyfill: "npm:^1.5.1" + vscode-uri: "npm:^2.1.1" + checksum: 10/17287ea628951b0c781aaacb6ef46830123629f0ebfde7939df2a29ccb45d302a614fccaf3e23760274617806f02225f6250ba4fa388414a47acbc619b2325d6 + languageName: node + linkType: hard + +"@difizen/mana-l10n@npm:^0.1.24, @difizen/mana-l10n@npm:^0.1.27, @difizen/mana-l10n@npm:latest": + version: 0.1.27 + resolution: "@difizen/mana-l10n@npm:0.1.27" + peerDependencies: + react: ">=16.8.6" + checksum: 10/338a29c6fe736f2add02ef3e936c7c49690173d3f901e5ca3e772e0da11ab2ba15ecb82a07c187f5bf06e0c1b37cc0149f1233bc5d8f22b54bc09fc771575779 + languageName: node + linkType: hard + +"@difizen/mana-observable@npm:^0.1.27": + version: 0.1.27 + resolution: "@difizen/mana-observable@npm:0.1.27" + dependencies: + "@difizen/mana-common": "npm:^0.1.27" + "@difizen/mana-syringe": "npm:^0.1.27" + reflect-metadata: "npm:^0.1.13" + peerDependencies: + react: ">=16.8.6" + checksum: 10/d3fbb1c2b8a33f0410e3eea11eea806954cc6188048c334001291e86590a561d09456799959fe19dc584afc8fbaa50930fa1cd6c58eab9ab4c4d790817676cb7 + languageName: node + linkType: hard + +"@difizen/mana-react@npm:^0.1.27, @difizen/mana-react@npm:latest": + version: 0.1.27 + resolution: "@difizen/mana-react@npm:0.1.27" + dependencies: + "@ant-design/icons": "npm:^5.1.0" + "@difizen/mana-common": "npm:^0.1.27" + classnames: "npm:^2.3.2" + rc-dropdown: "npm:^3.2.0" + rc-motion: "npm:^2.9.2" + rc-notification: "npm:^5.6.0" + rc-tabs: "npm:^11.10.1" + rc-util: "npm:^4.21.1" + peerDependencies: + react: ">=16.8.6" + react-dom: ">=16.8.6" + checksum: 10/97112088cd93ae850be14e6404994a1845a8f1258992d6ae34c14d7c50a6d75f3de121da57f1fde3f258623739db4c7f27c2991ced4f10c25f4319fa050c6dd6 + languageName: node + linkType: hard + +"@difizen/mana-syringe@npm:^0.1.27": + version: 0.1.27 + resolution: "@difizen/mana-syringe@npm:0.1.27" + dependencies: + "@difizen/mana-common": "npm:^0.1.27" + inversify: "npm:^5.1.1" + reflect-metadata: "npm:^0.1.13" + checksum: 10/9b98d4f434adb8b147f3621a200525667bea7da039649dc0874570d2d3726e0a7fa72db06f94f0d9a7bdd18041c39111a671921f63263f21df28dc95cd43bdcd + languageName: node + linkType: hard + +"@difizen/monaco-editor-core@npm:0.39.4, @difizen/monaco-editor-core@npm:^0.39.4": + version: 0.39.4 + resolution: "@difizen/monaco-editor-core@npm:0.39.4" + checksum: 10/143f145a4d92178ece4a4a7687d51aa2603a5d339827310daa76933a403799a387e8f6c9c4b3aa5d770e034c75c7e9be71e001c91c1fce82b39194b44733e6ac + languageName: node + linkType: hard + +"@difizen/vscode-languageserver-protocol@npm:^3.17.6-next.2": + version: 3.17.6-next.2 + resolution: "@difizen/vscode-languageserver-protocol@npm:3.17.6-next.2" + dependencies: + "@difizen/vscode-languageserver-types": "npm:3.17.6-next.1" + vscode-jsonrpc: "npm:8.2.1-next.1" + checksum: 10/d654f2a996538afaaabec90e16bdee0cce540ebfdcb7c424cfad0711b918ab4977c45e0e3cacfbbb77f4d95b9bba88c6c8864163b5c7400b52e00d4eb095d5b5 + languageName: node + linkType: hard + +"@difizen/vscode-languageserver-types@npm:3.17.6-next.1": + version: 3.17.6-next.1 + resolution: "@difizen/vscode-languageserver-types@npm:3.17.6-next.1" + checksum: 10/c32f818a693721e8a9dea4b4d0b21fd6ad7225c7e3a945dc6f3ff761b623c41e3dad060a43ee8220b000efd66bcfadc591970e27584b7e4566ef317a692733fb + languageName: node + linkType: hard + +"@discoveryjs/json-ext@npm:0.5.7, @discoveryjs/json-ext@npm:^0.5.0": + version: 0.5.7 + resolution: "@discoveryjs/json-ext@npm:0.5.7" + checksum: 10/b95682a852448e8ef50d6f8e3b7ba288aab3fd98a2bafbe46881a3db0c6e7248a2debe9e1ee0d4137c521e4743ca5bbcb1c0765c9d7b3e0ef53231506fec42b4 + languageName: node + linkType: hard + +"@eggjs/yauzl@npm:^2.11.0": + version: 2.11.0 + resolution: "@eggjs/yauzl@npm:2.11.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer2: "npm:^1.2.0" + checksum: 10/f40cc10f77643bacc23d1069bbefd486fb14bd1215ef548fcbc10f66f1c7d113c343b4c30c15572deb8b9a4f6c0464412e575fe6e11e87aa24b6394de3730b49 + languageName: node + linkType: hard + +"@electron/get@npm:^2.0.0": + version: 2.0.3 + resolution: "@electron/get@npm:2.0.3" + dependencies: + debug: "npm:^4.1.1" + env-paths: "npm:^2.2.0" + fs-extra: "npm:^8.1.0" + global-agent: "npm:^3.0.0" + got: "npm:^11.8.5" + progress: "npm:^2.0.3" + semver: "npm:^6.2.0" + sumchecker: "npm:^3.0.1" + dependenciesMeta: + global-agent: + optional: true + checksum: 10/ac736cdeac52513b23038c761ebcb9fd315d443675f12c975805d7bcddcdabe5be492310ce5f6f1915d27013bcdcf19d0dac73c72353120948bbdf01fb3e11bf + languageName: node + linkType: hard + +"@emotion/hash@npm:^0.8.0": + version: 0.8.0 + resolution: "@emotion/hash@npm:0.8.0" + checksum: 10/4b35d88a97e67275c1d990c96d3b0450451d089d1508619488fc0acb882cb1ac91e93246d471346ebd1b5402215941ef4162efe5b51534859b39d8b3a0e3ffaa + languageName: node + linkType: hard + +"@emotion/unitless@npm:^0.7.5": + version: 0.7.5 + resolution: "@emotion/unitless@npm:0.7.5" + checksum: 10/f976e5345b53fae9414a7b2e7a949aa6b52f8bdbcc84458b1ddc0729e77ba1d1dfdff9960e0da60183877873d3a631fa24d9695dd714ed94bcd3ba5196586a6b + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/aix-ppc64@npm:0.24.0" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm64@npm:0.24.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-arm@npm:0.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/android-x64@npm:0.24.0" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-arm64@npm:0.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/darwin-x64@npm:0.24.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-arm64@npm:0.24.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.24.0": + version: 0.24.0 + resolution: "@esbuild/freebsd-x64@npm:0.24.0" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -1657,36 +2470,221 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1": + version: 1.2.2 + resolution: "@lezer/common@npm:1.2.2" + checksum: 10/3894115f8c4ed7ee3f9a8160fb9a984ced272e13883c8f4e6a34c49e6fd50b6890201114417f9bc1e2fd08c8d575edec015c60ea9f8447fedf5909d8ce13327d + languageName: node + linkType: hard + +"@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": + version: 1.1.9 + resolution: "@lezer/css@npm:1.1.9" dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/bcc277bb6b806961ebfd03e98faf8e5870dd7da2eb565c43922ac378d926b49f479309b28cc824fd4e17baac2c8952966807d06fbe2a45d53e9a3f1518134729 languageName: node linkType: hard -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 +"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3, @lezer/highlight@npm:^1.1.4": + version: 1.2.1 + resolution: "@lezer/highlight@npm:1.2.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10/fec3082419ee87fb265039b680fbac6796f862d8e3042dcb860e8c5a34291503a74927302b568ff1a626f0d2b5cf8dae02a51cfd200084eb329e5fd1236c3163 languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" +"@lezer/html@npm:^1.3.0": + version: 1.3.10 + resolution: "@lezer/html@npm:1.3.10" dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/b69f796492c0a2c000ebba88e1b1f0dc0885ed3392c11b46a9d7c638da1a325d6a288375fbeec52d0d05437b801302299e0e57359f95a494db1e251b3d66d29c languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.1 - resolution: "@npmcli/agent@npm:2.2.1" +"@lezer/javascript@npm:^1.0.0": + version: 1.4.19 + resolution: "@lezer/javascript@npm:1.4.19" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.1.3" + "@lezer/lr": "npm:^1.3.0" + checksum: 10/4f9811df15fd20797b4eaaac829016ba8d33ac327f21ef70e9e9a3fc35527bc3d5c2ded2dc3fb3405dc61145760fa6069d15cb73d572a2fe6b1984d8309baa18 + languageName: node + linkType: hard + +"@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0": + version: 1.4.2 + resolution: "@lezer/lr@npm:1.4.2" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10/f7b505906c8d8df14c07866553cf3dae1e065b1da8b28fbb4193fd67ab8d187eb45f92759e29a2cfe4283296f0aa864b38a0a91708ecfc3e24b8f662d626e0c6 + languageName: node + linkType: hard + +"@lezer/markdown@npm:^1.0.0": + version: 1.3.1 + resolution: "@lezer/markdown@npm:1.3.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + "@lezer/highlight": "npm:^1.0.0" + checksum: 10/e955dbd7ee15a4c957694e4bea18847e9dc17e6226c05efde9e1df3253f00e98bde821398ba5827feb76047983822a390d16dd0b3938e3cf3280c30b4d17135b + languageName: node + linkType: hard + +"@lezer/python@npm:^1.1.4": + version: 1.1.14 + resolution: "@lezer/python@npm:1.1.14" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/5b8c5ba9483fb13749425a1bd986821ba6b825a40914d80f51397cb5f672d7b8d9cec460ad862dedd92d0c698a505b047d19c84fda0bc019accdae875c1d55a7 + languageName: node + linkType: hard + +"@mapbox/geojson-rewind@npm:^0.5.2": + version: 0.5.2 + resolution: "@mapbox/geojson-rewind@npm:0.5.2" + dependencies: + get-stream: "npm:^6.0.1" + minimist: "npm:^1.2.6" + bin: + geojson-rewind: geojson-rewind + checksum: 10/721470ab5e8912d69aef06fa4db891bade8b028d6708a35a982b1dfec0f40eb4ba05a749258867f5844cf4e776e53866813bf9c97e3289054b21cbf7840d3608 + languageName: node + linkType: hard + +"@mapbox/geojson-types@npm:^1.0.2": + version: 1.0.2 + resolution: "@mapbox/geojson-types@npm:1.0.2" + checksum: 10/5ea7cf2bd9a4297f65a0ef132973951575250d02fbb76758e613824544b850bf084ce7630a55ee921d58109b8f4a739cc9d306c53bdcbbae51acb04c4c6874b3 + languageName: node + linkType: hard + +"@mapbox/jsonlint-lines-primitives@npm:^2.0.2, @mapbox/jsonlint-lines-primitives@npm:~2.0.2": + version: 2.0.2 + resolution: "@mapbox/jsonlint-lines-primitives@npm:2.0.2" + checksum: 10/6d8e64d34d912ebf29fead0d1917c8d8ad86e96f69b6100a9764af8cba391609474cdce7f7e4a2d579ccea58a142d1454257b795403179e9133a09af13101068 + languageName: node + linkType: hard + +"@mapbox/mapbox-gl-supported@npm:^1.5.0": + version: 1.5.0 + resolution: "@mapbox/mapbox-gl-supported@npm:1.5.0" + peerDependencies: + mapbox-gl: ">=0.32.1 <2.0.0" + checksum: 10/bb5d62d8bd29f26b79b03272a211dfde3fc188c19e5b590ae9720bde535455555ae106ad0ad3e656a6efdcef698d01361aef4bb54a0fdfd4571fea80ca4aa2ef + languageName: node + linkType: hard + +"@mapbox/point-geometry@npm:0.1.0, @mapbox/point-geometry@npm:^0.1.0, @mapbox/point-geometry@npm:~0.1.0": + version: 0.1.0 + resolution: "@mapbox/point-geometry@npm:0.1.0" + checksum: 10/f6f78ac8a7f798efb19db6eb1a9e05da7ba942102f5347c1a673d94202d0c606ec3f522efa3e76d583cdca46fb96dde52c3d37234f162d21df42f9e8c4f182bd + languageName: node + linkType: hard + +"@mapbox/tiny-sdf@npm:^1.1.1": + version: 1.2.5 + resolution: "@mapbox/tiny-sdf@npm:1.2.5" + checksum: 10/14084de2a2c7bcaca7556e3e50723c95503902dfcf3c51b91bd4b32655495b86d07838eca52e183a2ef1639101eb0b6a95c44527e17732946dd3f710dc8dd5af + languageName: node + linkType: hard + +"@mapbox/tiny-sdf@npm:^2.0.6": + version: 2.0.6 + resolution: "@mapbox/tiny-sdf@npm:2.0.6" + checksum: 10/61da9df5fea197137bb76c07cbf12336382d0e6fa84426558b05bffc53f27f6a6465cd09e6af7b50a7b0b7283b7b68f0dcc7f7dd05ef4d88658dc325163f422c + languageName: node + linkType: hard + +"@mapbox/unitbezier@npm:^0.0.0": + version: 0.0.0 + resolution: "@mapbox/unitbezier@npm:0.0.0" + checksum: 10/211fc5b0a40fafa0127baf87938a6a00535b22b51bec95df2f6141cf1dd50339bca2a9729c7a9803cdee5c2b4e0e3323a882655c74f1a86e557096684196e1ff + languageName: node + linkType: hard + +"@mapbox/unitbezier@npm:^0.0.1": + version: 0.0.1 + resolution: "@mapbox/unitbezier@npm:0.0.1" + checksum: 10/bf104c85dbff37bf47d3217d9457a3abbf23714f78fefadea64e56bdc7c538491b626166809ef28db134f09baccd6ca3df6988a6422df90d8d0c9a23b0686043 + languageName: node + linkType: hard + +"@mapbox/vector-tile@npm:^1.3.1": + version: 1.3.1 + resolution: "@mapbox/vector-tile@npm:1.3.1" + dependencies: + "@mapbox/point-geometry": "npm:~0.1.0" + checksum: 10/ed31eeef0d593befde76b5b4edf0472709a2ba66dd6b32fad5671caa245fdac976e23ff385facf36e297f14a53c905bfde8911599e8aa690354d52b22bc4cfc5 + languageName: node + linkType: hard + +"@mapbox/whoots-js@npm:^3.1.0": + version: 3.1.0 + resolution: "@mapbox/whoots-js@npm:3.1.0" + checksum: 10/c1837c04effd205b207f441356d952eae7e8aad6c58f7c4900de50318c2147cf175936fc9434f20dfa409f9e6a78ec604d61e70c1c20572db0cc7655fbb65f50 + languageName: node + linkType: hard + +"@maplibre/maplibre-gl-style-spec@npm:^20.3.1": + version: 20.3.1 + resolution: "@maplibre/maplibre-gl-style-spec@npm:20.3.1" + dependencies: + "@mapbox/jsonlint-lines-primitives": "npm:~2.0.2" + "@mapbox/unitbezier": "npm:^0.0.1" + json-stringify-pretty-compact: "npm:^4.0.0" + minimist: "npm:^1.2.8" + quickselect: "npm:^2.0.0" + rw: "npm:^1.3.3" + sort-object: "npm:^3.0.3" + tinyqueue: "npm:^3.0.0" + bin: + gl-style-format: dist/gl-style-format.mjs + gl-style-migrate: dist/gl-style-migrate.mjs + gl-style-validate: dist/gl-style-validate.mjs + checksum: 10/11478919e665c6a0be2c382d330f30bbf198a51131a54933f6a2767a2427b7af74a8e703254c1e4f636191b63a29ee0d3a4b84f4d4a6f3561e92a193b122c4b7 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.1 + resolution: "@npmcli/agent@npm:2.2.1" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" @@ -2088,7 +3086,7 @@ __metadata: "@opensumi/ide-startup": "workspace:*" "@types/ejs": "npm:^3.0.2" "@types/koa-mount": "npm:^4.0.0" - "@types/node": "npm:^20.11.30" + "@types/node": "npm:^22.7.6" "@types/react": "npm:^18.2.0" "@types/react-dom": "npm:^18.2.0" assets-webpack-plugin: "npm:^7.1.1" @@ -2118,7 +3116,7 @@ __metadata: tsconfig-paths: "npm:^4.2.0" tsconfig-paths-webpack-plugin: "npm:^4.1.0" tslib: "npm:^2.6.2" - typescript: "npm:4.9.3" + typescript: "npm:^5.6.3" webpack: "npm:^5.90.0" webpack-cli: "npm:^5.1.4" languageName: unknown @@ -2139,7 +3137,7 @@ __metadata: "@types/jest": "npm:^29.5.6" "@types/jsdom": "npm:^16.2.14" "@types/lodash": "npm:^4.14.202" - "@types/node": "npm:^20.11.30" + "@types/node": "npm:^22.7.6" "@types/node-fetch": "npm:^2.6.1" "@types/react": "npm:^18.2.0" "@types/react-dom": "npm:^18.2.0" @@ -2197,7 +3195,7 @@ __metadata: ts-node: "npm:^10.9.1" tslib: "npm:^2.6.2" tsx: "npm:^4.7.1" - typescript: "npm:4.9.3" + typescript: "npm:^5.6.3" webpack: "npm:^5.90.0" webpack-manifest-plugin: "npm:^5.0.0" languageName: unknown @@ -2513,7 +3511,7 @@ __metadata: ts-loader: "npm:^9.5.1" tsconfig-paths: "npm:^4.2.0" tsconfig-paths-webpack-plugin: "npm:^4.1.0" - typescript: "npm:4.9.3" + typescript: "npm:^5.6.3" webpack: "npm:^5.90.0" webpack-cli: "npm:^5.1.4" webpack-merge: "npm:^5.10.0" @@ -2859,6 +3857,35 @@ __metadata: languageName: unknown linkType: soft +"@opensumi/ide-notebook@workspace:*, @opensumi/ide-notebook@workspace:packages/notebook": + version: 0.0.0-use.local + resolution: "@opensumi/ide-notebook@workspace:packages/notebook" + dependencies: + "@ant-design/icons": "npm:^4.6.4" + "@difizen/libro-code-editor": "npm:0.2.45" + "@difizen/libro-common": "npm:0.2.45" + "@difizen/libro-core": "npm:0.2.45" + "@difizen/libro-jupyter": "npm:0.2.45" + "@difizen/libro-kernel": "npm:0.2.45" + "@difizen/libro-lsp": "npm:0.2.45" + "@difizen/libro-toc": "npm:0.2.45" + "@difizen/mana-app": "npm:^0.1.27" + "@opensumi/ide-components": "workspace:*" + "@opensumi/ide-core-browser": "workspace:*" + "@opensumi/ide-core-common": "workspace:*" + "@opensumi/ide-editor": "workspace:*" + "@opensumi/ide-explorer": "workspace:*" + "@opensumi/ide-file-service": "workspace:*" + "@opensumi/ide-main-layout": "workspace:*" + "@opensumi/ide-monaco": "workspace:*" + "@opensumi/ide-outline": "workspace:*" + "@opensumi/ide-overlay": "workspace:*" + "@opensumi/ide-theme": "workspace:*" + "@opensumi/monaco-editor-core": "npm:0.47.0-patch.15" + antd: "npm:^5.21.4" + languageName: unknown + linkType: soft + "@opensumi/ide-opened-editor@workspace:*, @opensumi/ide-opened-editor@workspace:packages/opened-editor": version: 0.0.0-use.local resolution: "@opensumi/ide-opened-editor@workspace:packages/opened-editor" @@ -3052,6 +4079,7 @@ __metadata: "@opensumi/ide-menu-bar": "workspace:*" "@opensumi/ide-monaco": "workspace:*" "@opensumi/ide-monaco-enhance": "workspace:*" + "@opensumi/ide-notebook": "workspace:*" "@opensumi/ide-opened-editor": "workspace:*" "@opensumi/ide-outline": "workspace:*" "@opensumi/ide-output": "workspace:*" @@ -3307,7 +4335,7 @@ __metadata: "@playwright/test": "npm:1.43.0" allure-commandline: "npm:^2.25.0" allure-playwright: "npm:^2.10.0" - typescript: "npm:4.9.3" + typescript: "npm:^5.6.3" languageName: unknown linkType: soft @@ -3427,6 +4455,84 @@ __metadata: languageName: node linkType: hard +"@plotly/d3-sankey-circular@npm:0.33.1": + version: 0.33.1 + resolution: "@plotly/d3-sankey-circular@npm:0.33.1" + dependencies: + d3-array: "npm:^1.2.1" + d3-collection: "npm:^1.0.4" + d3-shape: "npm:^1.2.0" + elementary-circuits-directed-graph: "npm:^1.0.4" + checksum: 10/40811051cc25b2bc1783f260c036dd3992063f49db3ba93482c59307ad07ac4b32168028a0a639e2a0f02bf2d8cfcff43479a1b34e28d8906412cb8d74de07a6 + languageName: node + linkType: hard + +"@plotly/d3-sankey@npm:0.7.2": + version: 0.7.2 + resolution: "@plotly/d3-sankey@npm:0.7.2" + dependencies: + d3-array: "npm:1" + d3-collection: "npm:1" + d3-shape: "npm:^1.2.0" + checksum: 10/6a57105fb93cff60d53ec253b80d75a8c003062bdb3d94f1feea17f1ffbf35a32c7fc2dd63c848df834158bf615c93a796c50d6bdccf9e085a3afe1c337a00da + languageName: node + linkType: hard + +"@plotly/d3@npm:3.8.2": + version: 3.8.2 + resolution: "@plotly/d3@npm:3.8.2" + checksum: 10/88c78efcb0f41a0e67fb86d7a55b7606f9cd67a1279cc2c50a3ea1151898b4d8ed716aa97942bb1799ccdff68292addbdb6a72a816c75c9debfcda40d80a50f6 + languageName: node + linkType: hard + +"@plotly/mapbox-gl@npm:1.13.4": + version: 1.13.4 + resolution: "@plotly/mapbox-gl@npm:1.13.4" + dependencies: + "@mapbox/geojson-rewind": "npm:^0.5.2" + "@mapbox/geojson-types": "npm:^1.0.2" + "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" + "@mapbox/mapbox-gl-supported": "npm:^1.5.0" + "@mapbox/point-geometry": "npm:^0.1.0" + "@mapbox/tiny-sdf": "npm:^1.1.1" + "@mapbox/unitbezier": "npm:^0.0.0" + "@mapbox/vector-tile": "npm:^1.3.1" + "@mapbox/whoots-js": "npm:^3.1.0" + csscolorparser: "npm:~1.0.3" + earcut: "npm:^2.2.2" + geojson-vt: "npm:^3.2.1" + gl-matrix: "npm:^3.2.1" + grid-index: "npm:^1.1.0" + murmurhash-js: "npm:^1.0.0" + pbf: "npm:^3.2.1" + potpack: "npm:^1.0.1" + quickselect: "npm:^2.0.0" + rw: "npm:^1.3.3" + supercluster: "npm:^7.1.0" + tinyqueue: "npm:^2.0.3" + vt-pbf: "npm:^3.1.1" + checksum: 10/d07cd05fbf3707747128858e153b386a9e01ebe3b7d3a3d81f49690cafc67366ad2be6bd53dadda117491af6ddb04423572866626ae5fff35cb114279ecb6a43 + languageName: node + linkType: hard + +"@plotly/point-cluster@npm:^3.1.9": + version: 3.1.9 + resolution: "@plotly/point-cluster@npm:3.1.9" + dependencies: + array-bounds: "npm:^1.0.1" + binary-search-bounds: "npm:^2.0.4" + clamp: "npm:^1.0.1" + defined: "npm:^1.0.0" + dtype: "npm:^2.0.0" + flatten-vertex-data: "npm:^1.0.2" + is-obj: "npm:^1.0.1" + math-log2: "npm:^1.0.1" + parse-rect: "npm:^1.2.0" + pick-by-alias: "npm:^1.2.0" + checksum: 10/6f9b3ce9eaa0e5ac605e93744dc74b14ae9c477bbbbc379998b84b769f36e26015c1c7349acb2cefa8b5d60f33c28d8306f1cf3ddfbdb3f38af9e829a4c2d54d + languageName: node + linkType: hard + "@polka/url@npm:^1.0.0-next.24": version: 1.0.0-next.25 resolution: "@polka/url@npm:1.0.0-next.25" @@ -3434,6 +4540,43 @@ __metadata: languageName: node linkType: hard +"@rc-component/async-validator@npm:^5.0.3": + version: 5.0.4 + resolution: "@rc-component/async-validator@npm:5.0.4" + dependencies: + "@babel/runtime": "npm:^7.24.4" + checksum: 10/b5e4431a073ec047a3fd1425f30d38bb600d5ad3fc180ec7afa977a6361d7e83df30d66ce9c637910907b6a50debf8bb64d7378fe3d39b352c395144a2eaf1d5 + languageName: node + linkType: hard + +"@rc-component/color-picker@npm:~2.0.1": + version: 2.0.1 + resolution: "@rc-component/color-picker@npm:2.0.1" + dependencies: + "@ant-design/fast-color": "npm:^2.0.6" + "@babel/runtime": "npm:^7.23.6" + classnames: "npm:^2.2.6" + rc-util: "npm:^5.38.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/7c4268063a476184a8cf68fadc6f353ae303832f0e458478c5d6ad12ed4a4ffa77ae3d46aebc8823ebfa9e7efb44207e0478099a3ba0ea323cc338f1aebff6ef + languageName: node + linkType: hard + +"@rc-component/context@npm:^1.4.0": + version: 1.4.0 + resolution: "@rc-component/context@npm:1.4.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + rc-util: "npm:^5.27.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/77b84e6cea11d7adbf68a89a49142d96129abbe485449851702d83d34ba507872404adacee39171dd47e9000556260cc76ab327e09f3320937ecb0c7e6906caa + languageName: node + linkType: hard + "@rc-component/mini-decimal@npm:^1.0.1": version: 1.1.0 resolution: "@rc-component/mini-decimal@npm:1.1.0" @@ -3443,7 +4586,21 @@ __metadata: languageName: node linkType: hard -"@rc-component/portal@npm:^1.1.0": +"@rc-component/mutate-observer@npm:^1.1.0": + version: 1.1.0 + resolution: "@rc-component/mutate-observer@npm:1.1.0" + dependencies: + "@babel/runtime": "npm:^7.18.0" + classnames: "npm:^2.3.2" + rc-util: "npm:^5.24.4" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/ffd79ad54b1f4dd02a94306373d3ebe408d5348156ac7908a86937f58c169f2fd42457461a5dc27bb874b9af5c2c196dc11a18db6bb6a5ff514cfd6bc1a3bb6a + languageName: node + linkType: hard + +"@rc-component/portal@npm:^1.0.0-8, @rc-component/portal@npm:^1.0.0-9, @rc-component/portal@npm:^1.0.2, @rc-component/portal@npm:^1.1.0, @rc-component/portal@npm:^1.1.1": version: 1.1.2 resolution: "@rc-component/portal@npm:1.1.2" dependencies: @@ -3457,6 +4614,36 @@ __metadata: languageName: node linkType: hard +"@rc-component/qrcode@npm:~1.0.0": + version: 1.0.0 + resolution: "@rc-component/qrcode@npm:1.0.0" + dependencies: + "@babel/runtime": "npm:^7.24.7" + classnames: "npm:^2.3.2" + rc-util: "npm:^5.38.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/946393e8c5522b5a1431ac433919f0d2c5654dd213d0e5aee1ffc2f9ab3508bd99be152261ccee2d8d6253d3ec25b19094ada54ab46e7373466aa9a20523cade + languageName: node + linkType: hard + +"@rc-component/tour@npm:~1.15.1": + version: 1.15.1 + resolution: "@rc-component/tour@npm:1.15.1" + dependencies: + "@babel/runtime": "npm:^7.18.0" + "@rc-component/portal": "npm:^1.0.0-9" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.3.2" + rc-util: "npm:^5.24.4" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/6dfbb662c19456d78ac653e4ecdc359cea6590cbf52da5f8a06ddb229d367a567630c8aa493c479d631a11cd9fab12c744757a180324ce1c07861983e7444f43 + languageName: node + linkType: hard + "@rc-component/trigger@npm:^2.0.0": version: 2.0.0 resolution: "@rc-component/trigger@npm:2.0.0" @@ -3474,6 +4661,44 @@ __metadata: languageName: node linkType: hard +"@rc-component/trigger@npm:^2.1.1, @rc-component/trigger@npm:^2.2.3": + version: 2.2.3 + resolution: "@rc-component/trigger@npm:2.2.3" + dependencies: + "@babel/runtime": "npm:^7.23.2" + "@rc-component/portal": "npm:^1.1.0" + classnames: "npm:^2.3.2" + rc-motion: "npm:^2.0.0" + rc-resize-observer: "npm:^1.3.1" + rc-util: "npm:^5.38.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/1747ae80f8dd46f3d288b989ae5b799eaf1b37dbc23166fcbcae6bd5c45c6b3413b7e43724e9d8c363d4f8cd2ed6e91d94f3f26f32006cc65808842f246b2417 + languageName: node + linkType: hard + +"@react-dnd/asap@npm:^5.0.1": + version: 5.0.2 + resolution: "@react-dnd/asap@npm:5.0.2" + checksum: 10/a75039720b89da11bc678c2b61b1d2840c8349023ef2b8f8ca9099e7ece6953e9be704bf393bf799eae83d245f62115eb5302499612c2aa009c1d91caa9462df + languageName: node + linkType: hard + +"@react-dnd/invariant@npm:^4.0.1": + version: 4.0.2 + resolution: "@react-dnd/invariant@npm:4.0.2" + checksum: 10/b638e9643e6e93da03ef463be3c1b92055daadc391fc08e4ce8639ef8c7738f91058ec83ee52a0d0df0d3a6dd2811a7703e1450737708f043c2e909c0a99dd31 + languageName: node + linkType: hard + +"@react-dnd/shallowequal@npm:^4.0.1": + version: 4.0.2 + resolution: "@react-dnd/shallowequal@npm:4.0.2" + checksum: 10/7f21d691bddbfd4d2830948cbeefecca1600b2b46bcb1934926795f07ae8a1fa60a3dfd3a2112be5ef682c3820c80a99711e9fa15843f7e300acb25a4ecb70ab + languageName: node + linkType: hard + "@rjsf/core@npm:5.20.0": version: 5.20.0 resolution: "@rjsf/core@npm:5.20.0" @@ -3696,6 +4921,15 @@ __metadata: languageName: node linkType: hard +"@traptitech/markdown-it-katex@npm:^3.6.0": + version: 3.6.0 + resolution: "@traptitech/markdown-it-katex@npm:3.6.0" + dependencies: + katex: "npm:^0.16.0" + checksum: 10/b399a6e861a2378cb97089029952b4ece4d3575835bddbba0590294fc7f330f7fd64f9a2b05c2f4d5380ed4cdfb45ed799ad8fb2c57f6d55ff5c1e2e3d23a099 + languageName: node + linkType: hard + "@trysound/sax@npm:0.2.0": version: 0.2.0 resolution: "@trysound/sax@npm:0.2.0" @@ -3765,40 +4999,96 @@ __metadata: languageName: node linkType: hard -"@types/accepts@npm:*": - version: 1.3.7 - resolution: "@types/accepts@npm:1.3.7" +"@turf/area@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/area@npm:7.1.0" dependencies: - "@types/node": "npm:*" - checksum: 10/7678cf74976e16093aff6e6f9755826faf069ac1e30179276158ce46ea246348ff22ca6bdd46cef08428881337d9ceefbf00bab08a7731646eb9fc9449d6a1e7 + "@turf/helpers": "npm:^7.1.0" + "@turf/meta": "npm:^7.1.0" + "@types/geojson": "npm:^7946.0.10" + tslib: "npm:^2.6.2" + checksum: 10/59971528e220dfb133a44ed83f65ed492924f68b8211b114ceca0eb7008d0d0ef9c5f8227ba81bf7fdc28484421736f4cb4f3de53a1c4544c4817a09118acede languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" +"@turf/bbox@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/bbox@npm:7.1.0" dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3 + "@turf/helpers": "npm:^7.1.0" + "@turf/meta": "npm:^7.1.0" + "@types/geojson": "npm:^7946.0.10" + tslib: "npm:^2.6.2" + checksum: 10/8223d30660340a18d9a5814a664167a9d76076bf3a7fe9c3ab37cebb1d0761c209fb461c9949bec8ca7d58adf333f36f222ec1b980132fdb13d0eaba81340c8f languageName: node linkType: hard -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" +"@turf/centroid@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/centroid@npm:7.1.0" dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30 + "@turf/helpers": "npm:^7.1.0" + "@turf/meta": "npm:^7.1.0" + "@types/geojson": "npm:^7946.0.10" + tslib: "npm:^2.6.2" + checksum: 10/cf0f2510e25be6323e1f80fd1c196bb67119cfb6976c03d02d3013a01ee6394164e27ca82f30e700f7e246443dfcb48244fd98a23fa1d0f2e1e58809ce71d5b1 languageName: node linkType: hard -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" +"@turf/helpers@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/helpers@npm:7.1.0" + dependencies: + "@types/geojson": "npm:^7946.0.10" + tslib: "npm:^2.6.2" + checksum: 10/13075ac700d67f10db5d948658bc8c6c8092e15ff3f562659717af30996ce46958a4a8a561fb5fdf11ca3db0cc6617433ea8def0f3c9c79c0400c56350a9a360 + languageName: node + linkType: hard + +"@turf/meta@npm:^7.1.0": + version: 7.1.0 + resolution: "@turf/meta@npm:7.1.0" + dependencies: + "@turf/helpers": "npm:^7.1.0" + "@types/geojson": "npm:^7946.0.10" + checksum: 10/22186fbcf72a1c1821b187be08624906aa3181818059e6722ffec6cdba2c1062860e7a0c384d8d6d9a62756afd471527dd7de40d3a5258be0a372005c48b1e47 + languageName: node + linkType: hard + +"@types/accepts@npm:*": + version: 1.3.7 + resolution: "@types/accepts@npm:1.3.7" + dependencies: + "@types/node": "npm:*" + checksum: 10/7678cf74976e16093aff6e6f9755826faf069ac1e30179276158ce46ea246348ff22ca6bdd46cef08428881337d9ceefbf00bab08a7731646eb9fc9449d6a1e7 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.8 + resolution: "@types/babel__generator@npm:7.6.8" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" dependencies: "@babel/parser": "npm:^7.1.0" "@babel/types": "npm:^7.0.0" @@ -3959,6 +5249,22 @@ __metadata: languageName: node linkType: hard +"@types/geojson-vt@npm:3.2.5": + version: 3.2.5 + resolution: "@types/geojson-vt@npm:3.2.5" + dependencies: + "@types/geojson": "npm:*" + checksum: 10/3c77f52c4a82b8087d3e04b86a62027ad1dccf4d339df7c7c191cfcf288564e050b241664e072fc9fd3bb5b71e217dc0dcfb7c467bded4be303ab2b283612b72 + languageName: node + linkType: hard + +"@types/geojson@npm:*, @types/geojson@npm:^7946.0.10, @types/geojson@npm:^7946.0.14": + version: 7946.0.14 + resolution: "@types/geojson@npm:7946.0.14" + checksum: 10/ae511bee6488ae3bd5a3a3347aedb0371e997b14225b8983679284e22fa4ebd88627c6e3ff8b08bf4cc35068cb29310c89427311ffc9322c255615821a922e71 + languageName: node + linkType: hard + "@types/glob@npm:^7.1.1": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" @@ -4163,6 +5469,38 @@ __metadata: languageName: node linkType: hard +"@types/linkify-it@npm:*": + version: 5.0.0 + resolution: "@types/linkify-it@npm:5.0.0" + checksum: 10/c3919044d4876f9d71d037e861745cd2485c95ac8c36a4fa67b132d4e60eb1d067e123cc7965c9cf5110eea351517d767f0d306af5e9147d6d0af87bc374ddcf + languageName: node + linkType: hard + +"@types/lodash.debounce@npm:4.0.3": + version: 4.0.3 + resolution: "@types/lodash.debounce@npm:4.0.3" + dependencies: + "@types/lodash": "npm:*" + checksum: 10/a51b648ef73dc6e2a45e45903f49452cdb8091d96416e86df267f5b2a273126874a680dfa12dc990ceed2384d9221fcf59a984683ce460ed6e94bc33e1325f73 + languageName: node + linkType: hard + +"@types/lodash.debounce@npm:^4.0.7": + version: 4.0.9 + resolution: "@types/lodash.debounce@npm:4.0.9" + dependencies: + "@types/lodash": "npm:*" + checksum: 10/8183a152e01928e3b97ca773f6ae6038b8695e76493ba8bf6b743ec143948a62294fbc9d49fa4a78b52265b3ba4892ef57534e0c13d04aa0f111671b5a944feb + languageName: node + linkType: hard + +"@types/lodash@npm:*": + version: 4.17.10 + resolution: "@types/lodash@npm:4.17.10" + checksum: 10/10fe24a93adc6048cb23e4135c1ed1d52cc39033682e6513f4f51b74a9af6d7a24fbea92203c22dc4e01e35f1ab3aa0fd0a2b487e8a4a2bbdf1fc05970094066 + languageName: node + linkType: hard + "@types/lodash@npm:^4.14.202": version: 4.17.0 resolution: "@types/lodash@npm:4.17.0" @@ -4170,6 +5508,34 @@ __metadata: languageName: node linkType: hard +"@types/mapbox__point-geometry@npm:*, @types/mapbox__point-geometry@npm:^0.1.4": + version: 0.1.4 + resolution: "@types/mapbox__point-geometry@npm:0.1.4" + checksum: 10/d315f3e396bebd40f1cab682595f3d1c5ac46c5ddb080cf65dfcd0401dc6a3f235a7ac9ada2d28e6c49485fa5f231458f29fee87069e42a137e20e5865801dd1 + languageName: node + linkType: hard + +"@types/mapbox__vector-tile@npm:^1.3.4": + version: 1.3.4 + resolution: "@types/mapbox__vector-tile@npm:1.3.4" + dependencies: + "@types/geojson": "npm:*" + "@types/mapbox__point-geometry": "npm:*" + "@types/pbf": "npm:*" + checksum: 10/5715d9da88a5ecadb63e3ca4d52272ead2c1d63fcf616841932719788e458fc10dd9919ad01aa9c95b15c83e9074dae9ffc7193a7ae4ae7b8436d26630f0e269 + languageName: node + linkType: hard + +"@types/markdown-it@npm:^12.2.3": + version: 12.2.3 + resolution: "@types/markdown-it@npm:12.2.3" + dependencies: + "@types/linkify-it": "npm:*" + "@types/mdurl": "npm:*" + checksum: 10/8838017dd0a0a9bd596114b959d287135393a18e3ddc6a46e9770bdd35c824b88d8ba4b60540ee75ae6c79dc0ccc72ff5d7745083c27900c98925c9b5ae058e6 + languageName: node + linkType: hard + "@types/marked@npm:^4.0.7": version: 4.3.2 resolution: "@types/marked@npm:4.3.2" @@ -4177,6 +5543,13 @@ __metadata: languageName: node linkType: hard +"@types/mdurl@npm:*": + version: 2.0.0 + resolution: "@types/mdurl@npm:2.0.0" + checksum: 10/78746e96c655ceed63db06382da466fd52c7e9dc54d60b12973dfdd110cae06b9439c4b90e17bb8d4461109184b3ea9f3e9f96b3e4bf4aa9fe18b6ac35f283c8 + languageName: node + linkType: hard + "@types/mime@npm:*": version: 3.0.4 resolution: "@types/mime@npm:3.0.4" @@ -4261,12 +5634,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.11.30": - version: 20.11.30 - resolution: "@types/node@npm:20.11.30" +"@types/node@npm:^22.7.6": + version: 22.7.6 + resolution: "@types/node@npm:22.7.6" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10/78515bc768d2b878e2e06a1c20eb4f5840072b79b8d28ff3dd0a7feaaf48fd3a2ac03cfa5bc7564da82db5906b43e9ba0e5df9f43d870b7aae2942306e208815 + undici-types: "npm:~6.19.2" + checksum: 10/46a8d6bcd61098ece36f790c4bd500537cf78fe075dbfe48f1e07a29efa6cba18cff3b2564aed80fb183244f5d9a95a63b09e27c9f5181ed927ac16ef493bd95 languageName: node linkType: hard @@ -4291,6 +5664,13 @@ __metadata: languageName: node linkType: hard +"@types/pbf@npm:*, @types/pbf@npm:^3.0.5": + version: 3.0.5 + resolution: "@types/pbf@npm:3.0.5" + checksum: 10/9115eb3cc61e535748dd6de98c7a8bd64e02a4052646796013b075fed66fd52a3a2aaae6b75648e9c0361e8ed462a50549ca0af1015e2e48296cd8c31bb54577 + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.11 resolution: "@types/prop-types@npm:15.7.11" @@ -4339,6 +5719,16 @@ __metadata: languageName: node linkType: hard +"@types/react-virtualized@npm:^9.21.22": + version: 9.21.30 + resolution: "@types/react-virtualized@npm:9.21.30" + dependencies: + "@types/prop-types": "npm:*" + "@types/react": "npm:*" + checksum: 10/b82e804fe512bcccff86e4bb72f5d9872774a1ba33a62cfb540424b61f7182e82fd8bbdd22420733b2928034c9505e0d439b52641a3a2d87bce66ae6d858e759 + languageName: node + linkType: hard + "@types/react-window@npm:^1.8.5": version: 1.8.8 resolution: "@types/react-window@npm:1.8.8" @@ -4446,6 +5836,15 @@ __metadata: languageName: node linkType: hard +"@types/supercluster@npm:^7.1.3": + version: 7.1.3 + resolution: "@types/supercluster@npm:7.1.3" + dependencies: + "@types/geojson": "npm:*" + checksum: 10/e4c4e6174780ea68f4182b6d17f99d2651f9fb23f254c9ee6cfbb74025f75550057027f2c292662775377a53dd12af4b1908d0cecbe5b0f8490d1ce9fc6e726a + languageName: node + linkType: hard + "@types/temp@npm:^0.9.1": version: 0.9.4 resolution: "@types/temp@npm:0.9.4" @@ -5098,6 +6497,13 @@ __metadata: languageName: node linkType: hard +"abs-svg-path@npm:^0.1.1, abs-svg-path@npm:~0.1.1": + version: 0.1.1 + resolution: "abs-svg-path@npm:0.1.1" + checksum: 10/af1a167c09e8bdb76c80adca7333f3d828e5b50e37b9702aa03675e271919e7b1eeaa35cce939970ecba14769953b7465ea34c2129ab683ddff9d973a07f164f + languageName: node + linkType: hard + "abstract-leveldown@npm:^6.2.1": version: 6.3.0 resolution: "abstract-leveldown@npm:6.3.0" @@ -5169,6 +6575,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^7.1.1": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 10/8be2a40714756d713dfb62544128adce3b7102c6eb94bc312af196c2cc4af76e5b93079bd66b05e9ca31b35a9b0ce12171d16bc55f366cafdb794fdab9d753ec + languageName: node + linkType: hard + "acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" @@ -5303,6 +6718,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.12.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10/ee3c62162c953e91986c838f004132b6a253d700f1e51253b99791e2dbfdb39161bc950ebdc2f156f8568035bb5ed8be7bd78289cd9ecbf3381fe8f5b82e3f33 + languageName: node + linkType: hard + "allure-commandline@npm:^2.25.0": version: 2.27.0 resolution: "allure-commandline@npm:2.27.0" @@ -5331,6 +6758,13 @@ __metadata: languageName: node linkType: hard +"almost-equal@npm:^1.1.0": + version: 1.1.0 + resolution: "almost-equal@npm:1.1.0" + checksum: 10/d98e789baad27e73424a5d74a74ed12f29f80d1f473b45a80613408a6627f2778fca534b35ddd80fd6736f0b3afd0983396ddf09f935fad5159088fcf4f627c7 + languageName: node + linkType: hard + "anser@npm:^2.1.1": version: 2.1.1 resolution: "anser@npm:2.1.1" @@ -5430,6 +6864,66 @@ __metadata: languageName: node linkType: hard +"antd@npm:^5.21.4": + version: 5.21.4 + resolution: "antd@npm:5.21.4" + dependencies: + "@ant-design/colors": "npm:^7.1.0" + "@ant-design/cssinjs": "npm:^1.21.1" + "@ant-design/cssinjs-utils": "npm:^1.1.1" + "@ant-design/icons": "npm:^5.5.1" + "@ant-design/react-slick": "npm:~1.1.2" + "@babel/runtime": "npm:^7.25.6" + "@ctrl/tinycolor": "npm:^3.6.1" + "@rc-component/color-picker": "npm:~2.0.1" + "@rc-component/mutate-observer": "npm:^1.1.0" + "@rc-component/qrcode": "npm:~1.0.0" + "@rc-component/tour": "npm:~1.15.1" + "@rc-component/trigger": "npm:^2.2.3" + classnames: "npm:^2.5.1" + copy-to-clipboard: "npm:^3.3.3" + dayjs: "npm:^1.11.11" + rc-cascader: "npm:~3.28.1" + rc-checkbox: "npm:~3.3.0" + rc-collapse: "npm:~3.8.0" + rc-dialog: "npm:~9.6.0" + rc-drawer: "npm:~7.2.0" + rc-dropdown: "npm:~4.2.0" + rc-field-form: "npm:~2.4.0" + rc-image: "npm:~7.11.0" + rc-input: "npm:~1.6.3" + rc-input-number: "npm:~9.2.0" + rc-mentions: "npm:~2.16.1" + rc-menu: "npm:~9.15.1" + rc-motion: "npm:^2.9.3" + rc-notification: "npm:~5.6.2" + rc-pagination: "npm:~4.3.0" + rc-picker: "npm:~4.6.15" + rc-progress: "npm:~4.0.0" + rc-rate: "npm:~2.13.0" + rc-resize-observer: "npm:^1.4.0" + rc-segmented: "npm:~2.5.0" + rc-select: "npm:~14.15.2" + rc-slider: "npm:~11.1.7" + rc-steps: "npm:~6.0.1" + rc-switch: "npm:~4.1.0" + rc-table: "npm:~7.47.5" + rc-tabs: "npm:~15.3.0" + rc-textarea: "npm:~1.8.2" + rc-tooltip: "npm:~6.2.1" + rc-tree: "npm:~5.9.0" + rc-tree-select: "npm:~5.23.0" + rc-upload: "npm:~4.8.1" + rc-util: "npm:^5.43.0" + scroll-into-view-if-needed: "npm:^3.1.0" + throttle-debounce: "npm:^5.0.2" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/941941375a409f24b941a2cc5d1164d9b2304e703fc5202b31140043351ff4d5803b365bf303947884e7af5f78923aafc833596c26e739543faac5c22974b501 + languageName: node + linkType: hard + "anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -5480,6 +6974,20 @@ __metadata: languageName: node linkType: hard +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: 10/b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + +"array-bounds@npm:^1.0.0, array-bounds@npm:^1.0.1": + version: 1.0.1 + resolution: "array-bounds@npm:1.0.1" + checksum: 10/286d67465ff6598f8d979d12d159a5c3c1d47617965da442768a2c668d262142eca0e8fd564f58bc9d99a3a825c0829741349f2a8e1b616ecab7c591b5eb59e4 + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" @@ -5504,6 +7012,13 @@ __metadata: languageName: node linkType: hard +"array-find-index@npm:^1.0.2": + version: 1.0.2 + resolution: "array-find-index@npm:1.0.2" + checksum: 10/aac128bf369e1ac6c06ff0bb330788371c0e256f71279fb92d745e26fb4b9db8920e485b4ec25e841c93146bf71a34dcdbcefa115e7e0f96927a214d237b7081 + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -5531,6 +7046,36 @@ __metadata: languageName: node linkType: hard +"array-normalize@npm:^1.1.4": + version: 1.1.4 + resolution: "array-normalize@npm:1.1.4" + dependencies: + array-bounds: "npm:^1.0.0" + checksum: 10/82d8db2eb391c5ed6b915a7410160821485c0f3e0c5c8b8868631d054d276ed3a4a024a63f28f45100abb141311af8261a1d2be45ebd324cfc2bf00ee62e7d4d + languageName: node + linkType: hard + +"array-range@npm:^1.0.1": + version: 1.0.1 + resolution: "array-range@npm:1.0.1" + checksum: 10/3bf38322cd741078c8d21a485190380ba7eee2166e1b93449b2df5c3551b80e55f547b1865aed67b7e4c40e89862bef65330de874eabff638abdffc068f23bc2 + languageName: node + linkType: hard + +"array-rearrange@npm:^2.2.2": + version: 2.2.2 + resolution: "array-rearrange@npm:2.2.2" + checksum: 10/2de4562457cbd1a5b53c69f0c9bdd0b010658010aecc35815761405804ca822391701114e861b46b00d050d0b551a039ced4301b2f26bfcc4e8e146d185deedf + languageName: node + linkType: hard + +"array-tree-filter@npm:^2.1.0": + version: 2.1.0 + resolution: "array-tree-filter@npm:2.1.0" + checksum: 10/ca65dbeb80777eadadfcd4dbd2658d9eb0be66e426a6b6d64f1a71dff5351f2e6f370e0cbcc418e9e6e01d06b337b128441a71c7143abe4d925d027d5aa0100f + languageName: node + linkType: hard + "array-union@npm:^1.0.1": version: 1.0.2 resolution: "array-union@npm:1.0.2" @@ -5671,6 +7216,13 @@ __metadata: languageName: node linkType: hard +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: 10/c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -5830,6 +7382,13 @@ __metadata: languageName: node linkType: hard +"base64-arraybuffer@npm:^1.0.2": + version: 1.0.2 + resolution: "base64-arraybuffer@npm:1.0.2" + checksum: 10/15e6400d2d028bf18be4ed97702b11418f8f8779fb8c743251c863b726638d52f69571d4cc1843224da7838abef0949c670bde46936663c45ad078e89fee5c62 + languageName: node + linkType: hard + "base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" @@ -5865,6 +7424,13 @@ __metadata: languageName: node linkType: hard +"binary-search-bounds@npm:^2.0.4": + version: 2.0.5 + resolution: "binary-search-bounds@npm:2.0.5" + checksum: 10/34a65dfb835314f01e40584083d5c8675141d6eac1523508e925298b34f7903798f5c8389aa1cb26f01fdafa86245db9837d86c82eb2d16826a57bd0d69a0852 + languageName: node + linkType: hard + "bindings@npm:^1.5.0": version: 1.5.0 resolution: "bindings@npm:1.5.0" @@ -5874,6 +7440,20 @@ __metadata: languageName: node linkType: hard +"bit-twiddle@npm:^1.0.0, bit-twiddle@npm:^1.0.2": + version: 1.0.2 + resolution: "bit-twiddle@npm:1.0.2" + checksum: 10/9fec3df5608a5625ab0dfd221a1755f54cbd541032f1930522221fa445814218ffd15c0af0e22487cf258dcc012f4a81b6aa30e308e58e4f06192c4f148ff1f9 + languageName: node + linkType: hard + +"bitmap-sdf@npm:^1.0.0": + version: 1.0.4 + resolution: "bitmap-sdf@npm:1.0.4" + checksum: 10/03f266b141fe8a7e039be47769e1d0aaa491fc47472eb372b6ad9ed5a5a131dfb39134ff788f885fa0062979e2ec6df7355d058cfe66d92adb91816eed74e6b1 + languageName: node + linkType: hard + "bl@npm:^1.0.0": version: 1.2.3 resolution: "bl@npm:1.2.3" @@ -5884,6 +7464,16 @@ __metadata: languageName: node linkType: hard +"bl@npm:^2.2.1": + version: 2.2.1 + resolution: "bl@npm:2.2.1" + dependencies: + readable-stream: "npm:^2.3.5" + safe-buffer: "npm:^5.1.1" + checksum: 10/6320002f204720a53ce73147f8b46372adb91666371cc8167756120fce1658ffcbb228a5ca6ac61a8c6db6599d11deda133d90f8965497c79e709c34993b6adf + languageName: node + linkType: hard + "bl@npm:^4.0.3, bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -6233,6 +7823,25 @@ __metadata: languageName: node linkType: hard +"bytewise-core@npm:^1.2.2": + version: 1.2.3 + resolution: "bytewise-core@npm:1.2.3" + dependencies: + typewise-core: "npm:^1.2" + checksum: 10/8513f50764abe9430b3b69cabede7bf70f61ca5e6cf61b1deea7344441d4c4666bcfdd2cb52d97f8f7365f20ce4aa5f592c36617ffaaa3a38ec2d3deeefc9423 + languageName: node + linkType: hard + +"bytewise@npm:^1.1.0": + version: 1.1.0 + resolution: "bytewise@npm:1.1.0" + dependencies: + bytewise-core: "npm:^1.2.2" + typewise: "npm:^1.0.3" + checksum: 10/73f09d4257c3cdf1eede4a51ff14c20b3907e639e1e554ecf48e4c5d57f292318b10f520d19f88bae5cce0d5eb01b3dd9129b0e06ff571eacec378e91d6b751d + languageName: node + linkType: hard + "cacache@npm:^16.1.0": version: 16.1.3 resolution: "cacache@npm:16.1.3" @@ -6422,6 +8031,15 @@ __metadata: languageName: node linkType: hard +"canvas-fit@npm:^1.5.0": + version: 1.5.0 + resolution: "canvas-fit@npm:1.5.0" + dependencies: + element-size: "npm:^1.1.1" + checksum: 10/48b632a4ab86447f947b8372ca43afbf031066817f95285acb5536bd76b33164f46b7f69ea696d12e930efe074dfd5f98328c668335e5ee2e3990dc2c1fc0f84 + languageName: node + linkType: hard + "chalk@npm:4.1.0": version: 4.1.0 resolution: "chalk@npm:4.1.0" @@ -6560,7 +8178,14 @@ __metadata: languageName: node linkType: hard -"classnames@npm:2.5.1, classnames@npm:2.x, classnames@npm:^2.2.1, classnames@npm:^2.2.3, classnames@npm:^2.2.5, classnames@npm:^2.2.6, classnames@npm:^2.3.1, classnames@npm:^2.3.2": +"clamp@npm:^1.0.1": + version: 1.0.1 + resolution: "clamp@npm:1.0.1" + checksum: 10/3890dee9c43dc247c7a01b59e041e51e49251b7cea5e9396534b78534f6356d38f950fe2b4450ed8b6613170ce0476f7d9a46936abb755b5d7a5ad3419087aa1 + languageName: node + linkType: hard + +"classnames@npm:2.5.1, classnames@npm:2.x, classnames@npm:^2.2.1, classnames@npm:^2.2.3, classnames@npm:^2.2.5, classnames@npm:^2.2.6, classnames@npm:^2.3.1, classnames@npm:^2.3.2, classnames@npm:^2.5.1": version: 2.5.1 resolution: "classnames@npm:2.5.1" checksum: 10/58eb394e8817021b153bb6e7d782cfb667e4ab390cb2e9dac2fc7c6b979d1cc2b2a733093955fc5c94aa79ef5c8c89f11ab77780894509be6afbb91dddd79d15 @@ -6681,6 +8306,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:^1.0.4": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 10/5ded6f61f15f1fa0350e691ccec43a28b12fb8e64c8e94715f2a937bc3722d4c3ed41d6e945c971fc4dcc2a7213a43323beaf2e1c28654af63ba70c9968a8643 + languageName: node + linkType: hard + "cmd-shim@npm:6.0.1": version: 6.0.1 resolution: "cmd-shim@npm:6.0.1" @@ -6714,6 +8346,24 @@ __metadata: languageName: node linkType: hard +"color-alpha@npm:1.0.4": + version: 1.0.4 + resolution: "color-alpha@npm:1.0.4" + dependencies: + color-parse: "npm:^1.3.8" + checksum: 10/e0e5dd4c7b746113156abf10284efa69e9400e8ff0f2c1b54839e3fe87884c0e561dc09eefc335731b3315f64d42cf7a66671d96aeb5393fc551bd41e09f949f + languageName: node + linkType: hard + +"color-alpha@npm:^1.0.4": + version: 1.1.3 + resolution: "color-alpha@npm:1.1.3" + dependencies: + color-parse: "npm:^1.4.1" + checksum: 10/f2c3abf055f479b17902168b72967d78612f7944e990d888eb39817c2dbebc9235e45551c98dd047c31478f0070db93e3592e2cc72cfcfce76e6e9ce52d2ba2d + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -6732,6 +8382,15 @@ __metadata: languageName: node linkType: hard +"color-id@npm:^1.1.0": + version: 1.1.0 + resolution: "color-id@npm:1.1.0" + dependencies: + clamp: "npm:^1.0.1" + checksum: 10/11590fcaa3413b81a300e665f3995dd0f3e00bff14ce72eb90d387582f7f974e49ccca3576b3392fcdc5c55a7f138184825196113fd57ccee4d16f5136fd9bdb + languageName: node + linkType: hard + "color-name@npm:1.1.3": version: 1.1.3 resolution: "color-name@npm:1.1.3" @@ -6739,62 +8398,146 @@ __metadata: languageName: node linkType: hard -"color-name@npm:^1.1.4, color-name@npm:~1.1.4": +"color-name@npm:^1.0.0, color-name@npm:^1.1.4, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 languageName: node linkType: hard -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 10/4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a +"color-normalize@npm:1.5.0": + version: 1.5.0 + resolution: "color-normalize@npm:1.5.0" + dependencies: + clamp: "npm:^1.0.1" + color-rgba: "npm:^2.1.1" + dtype: "npm:^2.0.0" + checksum: 10/8fba9cf18f1ce737a4e1f9dc2c3aee0a1cc0cce7e123f96df0c6ba54eafd5ada3fa3ec5937987897cb0f520c51544a49737eadaa7c838c5cb6a335525df48432 languageName: node linkType: hard -"colord@npm:^2.9.1": - version: 2.9.3 - resolution: "colord@npm:2.9.3" - checksum: 10/907a4506d7307e2f580b471b581e992181ed75ab0c6925ece9ca46d88161d2fc50ed15891cd0556d0d9321237ca75afc9d462e4c050b939ef88428517f047f30 +"color-normalize@npm:^1.5.0": + version: 1.5.2 + resolution: "color-normalize@npm:1.5.2" + dependencies: + color-rgba: "npm:^2.2.0" + dtype: "npm:^2.0.0" + checksum: 10/5f5b50ef791f6bc3c2e52708bec1b356235630971659f2a031d339645e70184c9bd43e3b141fd43917c8062153d68d12fb344da1d89abf7dbb47f5f56cdc0963 languageName: node linkType: hard -"colorette@npm:^2.0.10, colorette@npm:^2.0.14, colorette@npm:^2.0.20": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f +"color-parse@npm:2.0.0": + version: 2.0.0 + resolution: "color-parse@npm:2.0.0" + dependencies: + color-name: "npm:^1.0.0" + checksum: 10/2eff4814877fa5641319598cb5ce668a504060d248bcbadf026ab6963217093ef7aae7de777fb394633393cf5cb0d7b68300e99dcf05279cf9201174427ba5da languageName: node linkType: hard -"columnify@npm:1.6.0": - version: 1.6.0 - resolution: "columnify@npm:1.6.0" +"color-parse@npm:^1.3.8, color-parse@npm:^1.4.1, color-parse@npm:^1.4.2": + version: 1.4.3 + resolution: "color-parse@npm:1.4.3" dependencies: - strip-ansi: "npm:^6.0.1" - wcwidth: "npm:^1.0.0" - checksum: 10/ab742cc646c07293db603f7a4387ca9d46d32beaaba0a08008c2f31f30042e6e5a940096fb7d2d432495597ed3d5c5fe07a5bacd55e4ac24a768d344a47dd678 + color-name: "npm:^1.0.0" + checksum: 10/426e9c1185186700513b8348f449be1a0b9f40d989a9fee05f8d8a58314a64c0698a028facaa7a26f8e61dc404de99986a9a9bcd823866b5c355623850cda1ef languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" +"color-rgba@npm:2.1.1": + version: 2.1.1 + resolution: "color-rgba@npm:2.1.1" dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10/2e969e637d05d09fa50b02d74c83a1186f6914aae89e6653b62595cc75a221464f884f55f231b8f4df7a49537fba60bdc0427acd2bf324c09a1dbb84837e36e4 + clamp: "npm:^1.0.1" + color-parse: "npm:^1.3.8" + color-space: "npm:^1.14.6" + checksum: 10/0bdceaffa2ced014f51bc6f070181554c578ace7e1a1bea567e5ead3a95c875b27daad33ebacd979d4f5590cd689b260ef4a89d19de2e8045665cbd92595a61d languageName: node linkType: hard -"commander@npm:11.1.0": - version: 11.1.0 +"color-rgba@npm:^2.1.1, color-rgba@npm:^2.2.0": + version: 2.4.0 + resolution: "color-rgba@npm:2.4.0" + dependencies: + color-parse: "npm:^1.4.2" + color-space: "npm:^2.0.0" + checksum: 10/26db88980b0be49bd50da333c132c3a74680026fb99a3f17f80c961acb05c4a455c953a38078845effd96497d5823f7b2028f8a0cb6f9af81693bf8dd55443fd + languageName: node + linkType: hard + +"color-space@npm:^1.14.6": + version: 1.16.0 + resolution: "color-space@npm:1.16.0" + dependencies: + hsluv: "npm:^0.0.3" + mumath: "npm:^3.3.4" + checksum: 10/c0fa9c60c500b18196a0fe8bb7963fa4093179ca20031e8006905943a9b74ced6656cec889e76c355d4dfe9fcda1f0388852da25d158d1030acfd93e570263bc + languageName: node + linkType: hard + +"color-space@npm:^2.0.0": + version: 2.0.1 + resolution: "color-space@npm:2.0.1" + checksum: 10/e74767555b10f2be11cc1c4244d81cd5788a5808ee7bd7c9afebefb567f8e27d6722f8096cb8777e6536662aecca83aa204090fed6537ee56bf0600cac966478 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10/4bcfe30eea1498fe1cabc852bbda6c9770f230ea0e4faf4611c5858b1b9e4dde3730ac485e65f54ca182f4c50b626c1bea7c8441ceda47367a54a818c248aa7a + languageName: node + linkType: hard + +"colord@npm:^2.9.1": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10/907a4506d7307e2f580b471b581e992181ed75ab0c6925ece9ca46d88161d2fc50ed15891cd0556d0d9321237ca75afc9d462e4c050b939ef88428517f047f30 + languageName: node + linkType: hard + +"colorette@npm:^2.0.10, colorette@npm:^2.0.14, colorette@npm:^2.0.20": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f + languageName: node + linkType: hard + +"columnify@npm:1.6.0": + version: 1.6.0 + resolution: "columnify@npm:1.6.0" + dependencies: + strip-ansi: "npm:^6.0.1" + wcwidth: "npm:^1.0.0" + checksum: 10/ab742cc646c07293db603f7a4387ca9d46d32beaaba0a08008c2f31f30042e6e5a940096fb7d2d432495597ed3d5c5fe07a5bacd55e4ac24a768d344a47dd678 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10/2e969e637d05d09fa50b02d74c83a1186f6914aae89e6653b62595cc75a221464f884f55f231b8f4df7a49537fba60bdc0427acd2bf324c09a1dbb84837e36e4 + languageName: node + linkType: hard + +"commander@npm:11.1.0": + version: 11.1.0 resolution: "commander@npm:11.1.0" checksum: 10/66bd2d8a0547f6cb1d34022efb25f348e433b0e04ad76a65279b1b09da108f59a4d3001ca539c60a7a46ea38bcf399fc17d91adad76a8cf43845d8dcbaf5cda1 languageName: node linkType: hard +"commander@npm:2, commander@npm:^2.15.1, commander@npm:^2.20.0, commander@npm:^2.9.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10/90c5b6898610cd075984c58c4f88418a4fb44af08c1b1415e9854c03171bec31b336b7f3e4cefe33de994b3f12b03c5e2d638da4316df83593b9e82554e7e95b + languageName: node + linkType: hard + "commander@npm:2.11.x": version: 2.11.0 resolution: "commander@npm:2.11.0" @@ -6809,13 +8552,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.0, commander@npm:^2.9.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10/90c5b6898610cd075984c58c4f88418a4fb44af08c1b1415e9854c03171bec31b336b7f3e4cefe33de994b3f12b03c5e2d638da4316df83593b9e82554e7e95b - languageName: node - linkType: hard - "commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -6920,6 +8656,13 @@ __metadata: languageName: node linkType: hard +"compute-scroll-into-view@npm:^3.0.2": + version: 3.1.0 + resolution: "compute-scroll-into-view@npm:3.1.0" + checksum: 10/cc5211d49bced5ad23385da5c2eaf69b6045628581b0dcb9f4dd407bfee51bbd26d2bce426be26edf2feaf8c243706f5a7c3759827d89cc5a01a5cf7d299a5eb + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -6927,6 +8670,18 @@ __metadata: languageName: node linkType: hard +"concat-stream@npm:^1.5.2": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10/71db903c84fc073ca35a274074e8d26c4330713d299f8623e993c448c1f6bf8b967806dd1d1a7b0f8add6f15ab1af7435df21fe79b4fe7efd78420c89e054e28 + languageName: node + linkType: hard + "concat-stream@npm:^2.0.0": version: 2.0.0 resolution: "concat-stream@npm:2.0.0" @@ -7139,6 +8894,15 @@ __metadata: languageName: node linkType: hard +"copy-to-clipboard@npm:^3.3.3": + version: 3.3.3 + resolution: "copy-to-clipboard@npm:3.3.3" + dependencies: + toggle-selection: "npm:^1.0.6" + checksum: 10/e0a325e39b7615108e6c1c8ac110ae7b829cdc4ee3278b1df6a0e4228c490442cc86444cd643e2da344fbc424b3aab8909e2fec82f8bc75e7e5b190b7c24eecf + languageName: node + linkType: hard + "copy-to@npm:^2.0.1": version: 2.0.1 resolution: "copy-to@npm:2.0.1" @@ -7236,6 +9000,13 @@ __metadata: languageName: node linkType: hard +"country-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "country-regex@npm:1.1.0" + checksum: 10/e0ac3c9b30c9409f3fb0612c4530f0e429549d7217071d89253ee682dd486547aaa827d8886bafd0f216ca963fcf873224f5d16184c134b27e639f1b8f75a6c0 + languageName: node + linkType: hard + "cp-file@npm:^6.1.0": version: 6.2.0 resolution: "cp-file@npm:6.2.0" @@ -7310,6 +9081,13 @@ __metadata: languageName: node linkType: hard +"crelt@npm:^1.0.5": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: 10/5ed326ca6bd243b1dba6b943f665b21c2c04be03271824bc48f20dba324b0f8233e221f8c67312526d24af2b1243c023dc05a41bd8bd05d1a479fd2c72fb39c3 + languageName: node + linkType: hard + "cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -7413,6 +9191,58 @@ __metadata: languageName: node linkType: hard +"css-font-size-keywords@npm:^1.0.0": + version: 1.0.0 + resolution: "css-font-size-keywords@npm:1.0.0" + checksum: 10/ed0c1e5bd0b3eb2fb2fa590b821f639e4f185a55bc27af6f46bd1b2db7a13ec3ff2f3b036ad5cf86d9287a84d54b4ea64cff02a634574afb20d178e51beb9434 + languageName: node + linkType: hard + +"css-font-stretch-keywords@npm:^1.0.1": + version: 1.0.1 + resolution: "css-font-stretch-keywords@npm:1.0.1" + checksum: 10/8c5ca8e7aa022540889e217e9e3862660a1bc9d01bd5a9a11999b3fdb239782f4126e0495038ae732a2ae2a491d6885bea75d6e18cdd5180a94ce39c7a418c5e + languageName: node + linkType: hard + +"css-font-style-keywords@npm:^1.0.1": + version: 1.0.1 + resolution: "css-font-style-keywords@npm:1.0.1" + checksum: 10/588ff306dc54271d8607b32d1ab5641b6838458e32db63bb218cfa489a7cf019cda871f8d3d965be569207ad513efb81016703d10965a17cc48d8398fac520cd + languageName: node + linkType: hard + +"css-font-weight-keywords@npm:^1.0.0": + version: 1.0.0 + resolution: "css-font-weight-keywords@npm:1.0.0" + checksum: 10/94b60e8dffb2dc513ce30c4140e69f266941d7c5b6ad5ad86fe8462553db9e84ad3f2dcb7e4792d970eac0aa6fceb5dc640dc3f3dc55b70ee51e757e2535c2b7 + languageName: node + linkType: hard + +"css-font@npm:^1.0.0, css-font@npm:^1.2.0": + version: 1.2.0 + resolution: "css-font@npm:1.2.0" + dependencies: + css-font-size-keywords: "npm:^1.0.0" + css-font-stretch-keywords: "npm:^1.0.1" + css-font-style-keywords: "npm:^1.0.1" + css-font-weight-keywords: "npm:^1.0.0" + css-global-keywords: "npm:^1.0.1" + css-system-font-keywords: "npm:^1.0.0" + pick-by-alias: "npm:^1.2.0" + string-split-by: "npm:^1.0.0" + unquote: "npm:^1.1.0" + checksum: 10/7c3da27d0cfd9a33bf031f13b37acd373d875cfbba8fdc88cb62d1c5c950e2fc0efa3cf0047f60dce8684690856bc35291ddda1fd1248756c4d8874ffd8437cc + languageName: node + linkType: hard + +"css-global-keywords@npm:^1.0.1": + version: 1.0.1 + resolution: "css-global-keywords@npm:1.0.1" + checksum: 10/665b72311733292fdae1cb9b8bedb730a66dac8001fb4f5072d79cefd951e8e25049705596553cdf98d6b9f672dcf4994062f58ab57928c1f4570129a5ebe397 + languageName: node + linkType: hard + "css-loader@npm:^6.9.1": version: 6.10.0 resolution: "css-loader@npm:6.10.0" @@ -7437,6 +9267,30 @@ __metadata: languageName: node linkType: hard +"css-loader@npm:^7.1.2": + version: 7.1.2 + resolution: "css-loader@npm:7.1.2" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.33" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.5.4" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.27.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10/ddde22fb103888320f60a1414a6a04638d2e9760a532a52d03c45e6e2830b32dd76c734aeef426f78dd95b2d15f77eeec3854ac53061aff02569732dc6e6801c + languageName: node + linkType: hard + "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -7450,6 +9304,13 @@ __metadata: languageName: node linkType: hard +"css-system-font-keywords@npm:^1.0.0": + version: 1.0.0 + resolution: "css-system-font-keywords@npm:1.0.0" + checksum: 10/b9d3a0071db96e1ec40416807a0bf72af2b93e9a43c8dcbc7d93870b2af0645097822ee3e90f343904708dfd0da7b0d1fdca51b41742a749b3ffc2defc444e27 + languageName: node + linkType: hard + "css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": version: 1.1.3 resolution: "css-tree@npm:1.1.3" @@ -7467,6 +9328,13 @@ __metadata: languageName: node linkType: hard +"csscolorparser@npm:~1.0.3": + version: 1.0.3 + resolution: "csscolorparser@npm:1.0.3" + checksum: 10/b46b9032eaace69e5bb151bb64473547d8e48813b45395c1923cde1c87674bbd030c99536f44373e092de6afdca1a8134933a1503e779aaeb703b7c7897f5eca + languageName: node + linkType: hard + "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -7576,13 +9444,159 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": +"csstype@npm:^3.0.2, csstype@npm:^3.1.3": version: 3.1.3 resolution: "csstype@npm:3.1.3" checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade languageName: node linkType: hard +"d3-array@npm:1, d3-array@npm:^1.2.1": + version: 1.2.4 + resolution: "d3-array@npm:1.2.4" + checksum: 10/0071ad73c23d9acba38997d6d3c402d9c1478514c401bd106ed6e049f3800044897f7b450c942dcca9b831e7d6637449bc22c53eeffe054b463c98739d7bf9bf + languageName: node + linkType: hard + +"d3-collection@npm:1, d3-collection@npm:^1.0.4": + version: 1.0.7 + resolution: "d3-collection@npm:1.0.7" + checksum: 10/73eb77acaa7506ca4d542a8eeca62118738945f54ad3ce5f581bdd610ab156de4b8dfb24b074e8934a474a038e3e4f6751255a60224dd7cce17e9066e83aa97a + languageName: node + linkType: hard + +"d3-color@npm:1 - 3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10/536ba05bfd9f4fcd6fa289b5974f5c846b21d186875684637e22bf6855e6aba93e24a2eb3712985c6af3f502fbbfa03708edb72f58142f626241a8a17258e545 + languageName: node + linkType: hard + +"d3-dispatch@npm:1": + version: 1.0.6 + resolution: "d3-dispatch@npm:1.0.6" + checksum: 10/c04770f3055cf3841b4640fcf41ed75f31c599b0e32a9fa8d51939a780c8bff9e849f2335960ce3f5b9b9294d26fd11b7ee4040d1668f7a7a1140925fddb3f60 + languageName: node + linkType: hard + +"d3-force@npm:^1.2.1": + version: 1.2.1 + resolution: "d3-force@npm:1.2.1" + dependencies: + d3-collection: "npm:1" + d3-dispatch: "npm:1" + d3-quadtree: "npm:1" + d3-timer: "npm:1" + checksum: 10/31e6aed028ff09ec005bd8a811e521a448437a554a5ef92813261bb900a4ae4b16b5ecd02593fa0c8bc8345007ab798b95ce245d60b971109a3fa8eef4b07579 + languageName: node + linkType: hard + +"d3-format@npm:^1.4.5": + version: 1.4.5 + resolution: "d3-format@npm:1.4.5" + checksum: 10/c1b7d8de6f748875d13879e3c97d3568572fc7e011d41799b20a665737abcbc14ea7cef14b9efccffd91ea41c4c2d26f84b6e1ed8505e24608f8150b4259b4f3 + languageName: node + linkType: hard + +"d3-geo-projection@npm:^2.9.0": + version: 2.9.0 + resolution: "d3-geo-projection@npm:2.9.0" + dependencies: + commander: "npm:2" + d3-array: "npm:1" + d3-geo: "npm:^1.12.0" + resolve: "npm:^1.1.10" + bin: + geo2svg: bin/geo2svg + geograticule: bin/geograticule + geoproject: bin/geoproject + geoquantize: bin/geoquantize + geostitch: bin/geostitch + checksum: 10/1ab08b953b99c5f23fdeffee41193a2b53ddb4d9112d8cc03f8fcfccd9210db84e523772e8bd1b07e46b624da20c4f8891effb3e6473b8c4846a3dc663554411 + languageName: node + linkType: hard + +"d3-geo@npm:^1.12.0, d3-geo@npm:^1.12.1": + version: 1.12.1 + resolution: "d3-geo@npm:1.12.1" + dependencies: + d3-array: "npm:1" + checksum: 10/c8f1f8254c3e47a3d514606f166f2c200c2979b31b7530cdfde23146f3f266d2dbb08bab97a1ac4515eb8478d8e76c399889195e0ee55f6365b83e6ea628a9eb + languageName: node + linkType: hard + +"d3-hierarchy@npm:^1.1.9": + version: 1.1.9 + resolution: "d3-hierarchy@npm:1.1.9" + checksum: 10/d2a4e518c3e35de15e0ac7f0a420300a658435850fc32eaf15b7811697e34565b89012e07e60a53babb723dc43df8981102079b4097b790b42ac21c8d23c0424 + languageName: node + linkType: hard + +"d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + checksum: 10/988d66497ef5c190cf64f8c80cd66e1e9a58c4d1f8932d776a8e3ae59330291795d5a342f5a97602782ccbef21a5df73bc7faf1f0dc46a5145ba6243a82a0f0e + languageName: node + linkType: hard + +"d3-path@npm:1": + version: 1.0.9 + resolution: "d3-path@npm:1.0.9" + checksum: 10/6ce1747837ea2a449d9ea32e169a382978ab09a4805eb408feb6bbc12cb5f5f6ce29aefc252dd9a815d420f4813d672f75578b78b3bbaf7811f54d8c7f93fd11 + languageName: node + linkType: hard + +"d3-quadtree@npm:1": + version: 1.0.7 + resolution: "d3-quadtree@npm:1.0.7" + checksum: 10/73d6c72ea4c41a3c287a8d55a897ef58b61681734d59c55b46c8bbff1ce31531f5615d4b8cd0156dcf43529466e9548c56c034bcda68807bc31af182d1179d5e + languageName: node + linkType: hard + +"d3-shape@npm:^1.2.0": + version: 1.3.7 + resolution: "d3-shape@npm:1.3.7" + dependencies: + d3-path: "npm:1" + checksum: 10/1e40fdcfdc8edc9c53a77a6aaea2dbf31bf06df12ebd66cc8d91f76bbde753049ad21dfee0577f7dc5d0a4468554ede4783f6df7d809e291745334dba977c09e + languageName: node + linkType: hard + +"d3-time-format@npm:^2.2.3": + version: 2.3.0 + resolution: "d3-time-format@npm:2.3.0" + dependencies: + d3-time: "npm:1" + checksum: 10/c217d06034d52f6b2bec3fa2134ab7be823a3a94a963b2580dd2a0e7831f412336ed87e84c3b0c2d02eb855912996e3edee25546e6c1c2246b36feb58fd0bc87 + languageName: node + linkType: hard + +"d3-time@npm:1, d3-time@npm:^1.1.0": + version: 1.1.0 + resolution: "d3-time@npm:1.1.0" + checksum: 10/24d450997424fe0d53c3bdf9a637a5bdf634236076d6ab761b1966f8cca3b4057fedfc22a520d695d505ff65ddf44e0780065fa3094f66e8df44cdba84af78c8 + languageName: node + linkType: hard + +"d3-timer@npm:1": + version: 1.0.10 + resolution: "d3-timer@npm:1.0.10" + checksum: 10/aeaf0f849f1ed316ab4467b822333b22851f174faa6c7dd24735b86bf5f3dc75bb3c3ae02b99ba1f16260a7570ac59563728577ecb6083e47edbaff2ca5c9237 + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2": + version: 1.0.2 + resolution: "d@npm:1.0.2" + dependencies: + es5-ext: "npm:^0.10.64" + type: "npm:^2.7.2" + checksum: 10/a3f45ef964622f683f6a1cb9b8dcbd75ce490cd2f4ac9794099db3d8f0e2814d412d84cd3fe522e58feb1f273117bb480f29c5381f6225f0abca82517caaa77a + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -7648,6 +9662,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:^1.11.10, dayjs@npm:^1.11.11": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: 10/7374d63ab179b8d909a95e74790def25c8986e329ae989840bacb8b1888be116d20e1c4eee75a69ea0dfbae13172efc50ef85619d304ee7ca3c01d5878b704f5 + languageName: node + linkType: hard + "debounce@npm:^1.2.1": version: 1.2.1 resolution: "debounce@npm:1.2.1" @@ -7655,7 +9676,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.5.2": +"debug@npm:2, debug@npm:2.6.9, debug@npm:^2.5.2": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -7676,7 +9697,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.0, debug@npm:^3.2.7": +"debug@npm:^3.1.0, debug@npm:^3.2.6, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -7709,6 +9730,13 @@ __metadata: languageName: node linkType: hard +"decode-uri-component@npm:^0.4.1": + version: 0.4.1 + resolution: "decode-uri-component@npm:0.4.1" + checksum: 10/74eec26f7bec3767164e37d526ef19bc1214cb0bbeeeea1c4f0ceb79299e5c38d3ba734e7243d829842aa140f24e5d020f54cc25b17c7082461c8eead8a72ce3 + languageName: node + linkType: hard + "decompress-response@npm:^5.0.0": version: 5.0.0 resolution: "decompress-response@npm:5.0.0" @@ -7869,6 +9897,13 @@ __metadata: languageName: node linkType: hard +"defined@npm:^1.0.0": + version: 1.0.1 + resolution: "defined@npm:1.0.1" + checksum: 10/c4c3c41819721ddc07f689a53cfdf5edb085d8d762e410e9e7705fdbcccb41ff34a7331e795cdc2c416f5e524215413815b47051507c0cd4d3c8a8d74baf8ccb + languageName: node + linkType: hard + "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -7975,6 +10010,13 @@ __metadata: languageName: node linkType: hard +"detect-kerning@npm:^2.1.2": + version: 2.1.2 + resolution: "detect-kerning@npm:2.1.2" + checksum: 10/3d71a9a28cfb1cd7a81017dec270e6434ce1a3c6e1b807ac7da1d09738d2e5b9f515278ec07a1c975bdfb394e5bcf63b6be81ceeb946ce07112d590272b1543c + languageName: node + linkType: hard + "detect-libc@npm:^2.0.0": version: 2.0.2 resolution: "detect-libc@npm:2.0.2" @@ -8039,6 +10081,17 @@ __metadata: languageName: node linkType: hard +"dnd-core@npm:^16.0.1": + version: 16.0.1 + resolution: "dnd-core@npm:16.0.1" + dependencies: + "@react-dnd/asap": "npm:^5.0.1" + "@react-dnd/invariant": "npm:^4.0.1" + redux: "npm:^4.2.0" + checksum: 10/711dc30f88f7c5cb5308f105b337f6a4db7ad098e985d2e120189f17a3d1865d283aadef1641dc129706e0399746835a90e2a92ef65f0cdcf5aa0d0cb8c79265 + languageName: node + linkType: hard + "dns-packet@npm:^5.2.2": version: 5.6.1 resolution: "dns-packet@npm:5.6.1" @@ -8093,6 +10146,16 @@ __metadata: languageName: node linkType: hard +"dom-helpers@npm:^5.1.3, dom-helpers@npm:^5.2.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": "npm:^7.8.7" + csstype: "npm:^3.0.2" + checksum: 10/bed2341adf8864bf932b3289c24f35fdd99930af77df46688abf2d753ff291df49a15850c874d686d9be6ec4e1c6835673906e64dbd8b2839d227f117a11fd41 + languageName: node + linkType: hard + "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -8104,6 +10167,17 @@ __metadata: languageName: node linkType: hard +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10/e3bf9027a64450bca0a72297ecdc1e3abb7a2912268a9f3f5d33a2e29c1e2c3502c6e9f860fc6625940bfe0cfb57a44953262b9e94df76872fdfb8151097eeb3 + languageName: node + linkType: hard + "domain-browser@npm:^4.22.0": version: 4.23.0 resolution: "domain-browser@npm:4.23.0" @@ -8111,7 +10185,7 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" checksum: 10/ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 @@ -8136,6 +10210,15 @@ __metadata: languageName: node linkType: hard +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10/809b805a50a9c6884a29f38aec0a4e1b4537f40e1c861950ed47d10b049febe6b79ab72adaeeebb3cc8fc1cd33f34e97048a72a9265103426d93efafa78d3e96 + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -8147,9 +10230,20 @@ __metadata: languageName: node linkType: hard -"dot-case@npm:^3.0.4": - version: 3.0.4 - resolution: "dot-case@npm:3.0.4" +"domutils@npm:^3.0.1": + version: 3.1.0 + resolution: "domutils@npm:3.1.0" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10/9a169a6e57ac4c738269a73ab4caf785114ed70e46254139c1bbc8144ac3102aacb28a6149508395ae34aa5d6a40081f4fa5313855dc8319c6d8359866b6dfea + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" dependencies: no-case: "npm:^3.0.4" tslib: "npm:^2.0.3" @@ -8180,6 +10274,30 @@ __metadata: languageName: node linkType: hard +"draw-svg-path@npm:^1.0.0": + version: 1.0.0 + resolution: "draw-svg-path@npm:1.0.0" + dependencies: + abs-svg-path: "npm:~0.1.1" + normalize-svg-path: "npm:~0.1.0" + checksum: 10/d1f6b7979193d3989bccc330ee9bf96219df7a1c5925066b4b14a98177c9def1ef5cdaf50b453c13fc7f73c3d06ebd850c3b662143982f33c6061d127f599015 + languageName: node + linkType: hard + +"dtype@npm:^2.0.0": + version: 2.0.0 + resolution: "dtype@npm:2.0.0" + checksum: 10/a8fcdf549eda9237d453a6d9a163a93e7ac5dff10fe50e33e6cca04fe303a63bc63490fc0b4c7a53f058bedb1bf28588bf0b80a6f68d35a99cfa37c90fe2ee59 + languageName: node + linkType: hard + +"dup@npm:^1.0.0": + version: 1.0.0 + resolution: "dup@npm:1.0.0" + checksum: 10/1abda5b5b0b85f7ed1fef0fbe68e426c0951b0b9c0daea264d0e2fd844d6cc644e838faefc4e7db5385896a244e1284bfe3d3f6b4e673f37aac5f58f61970e36 + languageName: node + linkType: hard + "duplexer3@npm:^0.1.4": version: 0.1.5 resolution: "duplexer3@npm:0.1.5" @@ -8194,6 +10312,32 @@ __metadata: languageName: node linkType: hard +"duplexify@npm:^3.4.5": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: "npm:^1.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + stream-shift: "npm:^1.0.0" + checksum: 10/7799984d178fb57e11c43f5f172a10f795322ec85ff664c2a98d2c2de6deeb9d7a30b810f83923dcd7ebe0f1786724b8aee2b62ca4577522141f93d6d48fb31c + languageName: node + linkType: hard + +"earcut@npm:^2.1.5, earcut@npm:^2.2.2": + version: 2.2.4 + resolution: "earcut@npm:2.2.4" + checksum: 10/ca8b24714cc2fa67f98fbca6ddcf64bb42ee8d75d0b4f1a81486b3282b0f7f1bf9ec49ad4d02149985886a0c8a03a173463f2acb1f51fa0bb7ba2e1d4aa1254d + languageName: node + linkType: hard + +"earcut@npm:^3.0.0": + version: 3.0.0 + resolution: "earcut@npm:3.0.0" + checksum: 10/4f7394a657c9789a1beb1be617d18eccf7fd9e1aa0a37fd4e8927000ece7f715bf126180d1a7ce562be35e2c4812ed7fe852a1bfe8e104ced31dee172173e547 + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -8239,6 +10383,22 @@ __metadata: languageName: node linkType: hard +"element-size@npm:^1.1.1": + version: 1.1.1 + resolution: "element-size@npm:1.1.1" + checksum: 10/538bfc8129c3856e341a47d5495802c3a0a8efb1ae561565b80407c535b825da4de0bc3b78ac37598dbe87e3e171ee05ce0f7c7425a4de24d54a859571fc6986 + languageName: node + linkType: hard + +"elementary-circuits-directed-graph@npm:^1.0.4": + version: 1.3.1 + resolution: "elementary-circuits-directed-graph@npm:1.3.1" + dependencies: + strongly-connected-components: "npm:^1.0.1" + checksum: 10/740f053c31fa88edbde721e91b531185976dcc4007107d5099ceceaa90eef2b22b35466c9a79e2c71e7b03b1a9627a028bcf3469cfa2fb8c74e3eae31dab25b0 + languageName: node + linkType: hard + "elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": version: 6.6.0 resolution: "elliptic@npm:6.6.0" @@ -8369,13 +10529,20 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.4.0, entities@npm:^4.5.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 languageName: node linkType: hard +"entities@npm:~3.0.1": + version: 3.0.1 + resolution: "entities@npm:3.0.1" + checksum: 10/3706e0292ea3f3679720b3d3b1ed6290b164aaeb11116691a922a3acea144503871e0de2170b47671c3b735549b8b7f4741d0d3c2987e8f985ccaa0dd3762eba + languageName: node + linkType: hard + "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -8542,6 +10709,18 @@ __metadata: languageName: node linkType: hard +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14": + version: 0.10.64 + resolution: "es5-ext@npm:0.10.64" + dependencies: + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.3" + esniff: "npm:^2.0.1" + next-tick: "npm:^1.1.0" + checksum: 10/0c5d8657708b1695ddc4b06f4e0b9fbdda4d2fe46d037b6bedb49a7d1931e542ec9eecf4824d59e1d357e93229deab014bb4b86485db2d41b1d68e54439689ce + languageName: node + linkType: hard + "es6-error@npm:^4.1.1": version: 4.1.1 resolution: "es6-error@npm:4.1.1" @@ -8549,6 +10728,39 @@ __metadata: languageName: node linkType: hard +"es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.35" + es6-symbol: "npm:^3.1.1" + checksum: 10/dbadecf3d0e467692815c2b438dfa99e5a97cbbecf4a58720adcb467a04220e0e36282399ba297911fd472c50ae4158fffba7ed0b7d4273fe322b69d03f9e3a5 + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.4 + resolution: "es6-symbol@npm:3.1.4" + dependencies: + d: "npm:^1.0.2" + ext: "npm:^1.7.0" + checksum: 10/3743119fe61f89e2f049a6ce52bd82fab5f65d13e2faa72453b73f95c15292c3cb9bdf3747940d504517e675e45fd375554c6b5d35d2bcbefd35f5489ecba546 + languageName: node + linkType: hard + +"es6-weak-map@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.46" + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.1" + checksum: 10/5958a321cf8dfadc82b79eeaa57dc855893a4afd062b4ef5c9ded0010d3932099311272965c3d3fdd3c85df1d7236013a570e704fa6c1f159bbf979c203dd3a3 + languageName: node + linkType: hard + "esbuild@npm:^0.24.0": version: 0.24.0 resolution: "esbuild@npm:0.24.0" @@ -8754,7 +10966,7 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0": +"escodegen@npm:^2.0.0, escodegen@npm:^2.1.0": version: 2.1.0 resolution: "escodegen@npm:2.1.0" dependencies: @@ -8971,6 +11183,18 @@ __metadata: languageName: node linkType: hard +"esniff@npm:^2.0.1": + version: 2.0.1 + resolution: "esniff@npm:2.0.1" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.62" + event-emitter: "npm:^0.3.5" + type: "npm:^2.7.2" + checksum: 10/f6a2abd2f8c5fe57c5fcf53e5407c278023313d0f6c3a92688e7122ab9ac233029fd424508a196ae5bc561aa1f67d23f4e2435b1a0d378030f476596129056ac + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -9045,6 +11269,16 @@ __metadata: languageName: node linkType: hard +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: "npm:1" + es5-ext: "npm:~0.10.14" + checksum: 10/a7f5ea80029193f4869782d34ef7eb43baa49cd397013add1953491b24588468efbe7e3cc9eb87d53f33397e7aab690fd74c079ec440bf8b12856f6bdb6e9396 + languageName: node + linkType: hard + "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -9289,6 +11523,34 @@ __metadata: languageName: node linkType: hard +"ext@npm:^1.7.0": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: "npm:^2.7.2" + checksum: 10/666a135980b002df0e75c8ac6c389140cdc59ac953db62770479ee2856d58ce69d2f845e5f2586716350b725400f6945e51e9159573158c39f369984c72dcd84 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10/8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: "npm:^1.0.0" + is-extendable: "npm:^1.0.1" + checksum: 10/a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + "external-editor@npm:^3.0.3": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -9317,6 +11579,16 @@ __metadata: languageName: node linkType: hard +"falafel@npm:^2.1.0": + version: 2.2.5 + resolution: "falafel@npm:2.2.5" + dependencies: + acorn: "npm:^7.1.1" + isarray: "npm:^2.0.1" + checksum: 10/22d4d2e3e75d889e447064e8756979936ed4559ed2c723217b7096bae968ac07235587f5d9ef87908cf8ff5c0c9c2203703773ef613576d0e3b36caf30720745 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -9337,6 +11609,15 @@ __metadata: languageName: node linkType: hard +"fast-isnumeric@npm:^1.1.4": + version: 1.1.4 + resolution: "fast-isnumeric@npm:1.1.4" + dependencies: + is-string-blank: "npm:^1.0.1" + checksum: 10/88d2d32d98eb24d23caddf8946a3c22f4517a982b5810fe3d2b9556b8f16bc8c5e328545e708a41b2845fb5c8bc3e26e4c92119f720ec658381e803be5402179 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -9351,6 +11632,20 @@ __metadata: languageName: node linkType: hard +"fast-plist@npm:^0.1.2": + version: 0.1.3 + resolution: "fast-plist@npm:0.1.3" + checksum: 10/573688cba1183cd637e377e367e18e6e18c8035d80a28bf1f8cd1d21cd65d61bda1d1988e0d1aeca75d9709c1460c09b66a256ad3bfc5cf3d306d2a23c957727 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.2 + resolution: "fast-uri@npm:3.0.2" + checksum: 10/99224f0198e24a4072b9a8a25fc5fa553aa0153e00d29d41272096a6d97be417c9faa5978682868cbba46b09066dc9348563c7244057f3818067e7737db153b2 + languageName: node + linkType: hard + "fastest-levenshtein@npm:^1.0.12": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -9421,6 +11716,13 @@ __metadata: languageName: node linkType: hard +"file-icons-js@npm:~1.0.3": + version: 1.0.3 + resolution: "file-icons-js@npm:1.0.3" + checksum: 10/3bdd684cc5d176a46e3a841a033d148bea8dfceb5da52b3d9b1d724856cd03e23bc58ae739bbf8b1bbe97329d8b62cec7d0aa8162604cec052d90fa911cd1ed2 + languageName: node + linkType: hard + "file-type@npm:16.5.4": version: 16.5.4 resolution: "file-type@npm:16.5.4" @@ -9457,6 +11759,13 @@ __metadata: languageName: node linkType: hard +"filter-obj@npm:^5.1.0": + version: 5.1.0 + resolution: "filter-obj@npm:5.1.0" + checksum: 10/8f6dab6d8d8855f686e8cc6be289bbbd64a80be52c660124e36e982f78017cf5dae7de95f79ec167fbf62101d6aab93067a3105ae8f56251785a721e678d6b07 + languageName: node + linkType: hard + "finalhandler@npm:1.3.1": version: 1.3.1 resolution: "finalhandler@npm:1.3.1" @@ -9551,6 +11860,15 @@ __metadata: languageName: node linkType: hard +"flatten-vertex-data@npm:^1.0.2": + version: 1.0.2 + resolution: "flatten-vertex-data@npm:1.0.2" + dependencies: + dtype: "npm:^2.0.0" + checksum: 10/22384ef74bc30ded2b0bb7b3583844786a1eb2906bb34ca0d33ca3df64237c8454ee1f945e6e304d568192b4ef3cab46172e62e73b19af1630b4ff9bb0701020 + languageName: node + linkType: hard + "flushwritable@npm:^1.0.0": version: 1.0.0 resolution: "flushwritable@npm:1.0.0" @@ -9568,6 +11886,31 @@ __metadata: languageName: node linkType: hard +"font-atlas@npm:^2.1.0": + version: 2.1.0 + resolution: "font-atlas@npm:2.1.0" + dependencies: + css-font: "npm:^1.0.0" + checksum: 10/1335798f48f9820ad9c94df17f5f4b1c3381ed6732dc6caa208e4b050bf1fc69be9d9ba413746ce8e0437f822ed051a320558762a8cae1e21ee31399fe051092 + languageName: node + linkType: hard + +"font-awesome@npm:^4.7.0": + version: 4.7.0 + resolution: "font-awesome@npm:4.7.0" + checksum: 10/eefb0e49c06428c646c22ae0f406e2b31b05fc89cdf7bedb0352a99ce94cd34b5e2e7bb52e8a8fdfb486b5e6481de010d00d6be79f426e1033a1dea726fbc8a8 + languageName: node + linkType: hard + +"font-measure@npm:^1.2.2": + version: 1.2.2 + resolution: "font-measure@npm:1.2.2" + dependencies: + css-font: "npm:^1.2.0" + checksum: 10/ae508da0a5ad0bab6b687032e9bce3fbd06c4bc71c7d10e6181786eed160df79bb682bdde0301ee61e6118f3f6466facd01afe990bba46f7b9d4d82650341d17 + languageName: node + linkType: hard + "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -9635,6 +11978,16 @@ __metadata: languageName: node linkType: hard +"from2@npm:^2.3.0": + version: 2.3.0 + resolution: "from2@npm:2.3.0" + dependencies: + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + checksum: 10/9164fbe5bbf9a48864bb8960296ccd1173c570ba1301a1c20de453b06eee39b52332f72279f2393948789afe938d8e951d50fea01064ba69fb5674b909f102b6 + languageName: node + linkType: hard + "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -9801,6 +12154,20 @@ __metadata: languageName: node linkType: hard +"geojson-vt@npm:^3.2.1": + version: 3.2.1 + resolution: "geojson-vt@npm:3.2.1" + checksum: 10/66fab64b0b57602efe199919686bfb6ae9bdd644c25b3e69d0188efa471581d00ddb5a851c83cc7301232aad7cb7baffc1d02aef550a7494b946801cec46e033 + languageName: node + linkType: hard + +"geojson-vt@npm:^4.0.2": + version: 4.0.2 + resolution: "geojson-vt@npm:4.0.2" + checksum: 10/2a9e1894321184c48612221b4649d8cc5afa972962ee21b91c09b9d85d9076777164cce6f1d438d0bfb0c7d6b4713f518cf0501de210127f9a601e316197eb91 + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -9808,6 +12175,13 @@ __metadata: languageName: node linkType: hard +"get-canvas-context@npm:^1.0.1": + version: 1.0.2 + resolution: "get-canvas-context@npm:1.0.2" + checksum: 10/16553315bc40ada69cd48ace5e12fdf78867650dac7ba84f8afc20265a983fc9c2aada430d169db84323619633efebf5bbfa617f6810cf4331681542b4ca986e + languageName: node + linkType: hard + "get-east-asian-width@npm:^1.0.0": version: 1.2.0 resolution: "get-east-asian-width@npm:1.2.0" @@ -9905,7 +12279,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: 10/781266d29725f35c59f1d214aedc92b0ae855800a980800e2923b3fbc4e56b3cb6e462c42e09a1cf1a00c64e056a78fa407cbe06c7c92b7e5cd49b4b85c2a497 @@ -9939,6 +12313,13 @@ __metadata: languageName: node linkType: hard +"get-value@npm:^2.0.2, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 10/5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + "git-raw-commits@npm:^3.0.0": version: 3.0.0 resolution: "git-raw-commits@npm:3.0.0" @@ -10033,6 +12414,60 @@ __metadata: languageName: node linkType: hard +"gl-mat4@npm:^1.2.0": + version: 1.2.0 + resolution: "gl-mat4@npm:1.2.0" + checksum: 10/6190ae76da6821615ff201f3c6d38571262cb5c45818738c94ec35d208b036aee71e68a7ce6957f07f59b46ab039933fa8d118b66b8e6da1791d1568828db2d2 + languageName: node + linkType: hard + +"gl-matrix@npm:^3.2.1, gl-matrix@npm:^3.4.3": + version: 3.4.3 + resolution: "gl-matrix@npm:3.4.3" + checksum: 10/25ca2f7c762b7547cf462614ac7e0b98cffb131899f014e60a7e50395f4e9304efbb31dc73921e5af2a355cff663bee984d2710765f6730853e90d1c54d5d8e3 + languageName: node + linkType: hard + +"gl-text@npm:^1.4.0": + version: 1.4.0 + resolution: "gl-text@npm:1.4.0" + dependencies: + bit-twiddle: "npm:^1.0.2" + color-normalize: "npm:^1.5.0" + css-font: "npm:^1.2.0" + detect-kerning: "npm:^2.1.2" + es6-weak-map: "npm:^2.0.3" + flatten-vertex-data: "npm:^1.0.2" + font-atlas: "npm:^2.1.0" + font-measure: "npm:^1.2.2" + gl-util: "npm:^3.1.2" + is-plain-obj: "npm:^1.1.0" + object-assign: "npm:^4.1.1" + parse-rect: "npm:^1.2.0" + parse-unit: "npm:^1.0.1" + pick-by-alias: "npm:^1.2.0" + regl: "npm:^2.0.0" + to-px: "npm:^1.0.1" + typedarray-pool: "npm:^1.1.0" + checksum: 10/2b6e6d0b19fc6d7f2c071d48a24697a7018ee47ee25eb52ffd75fd50911a7d231d876e70ff1dba0e5cd71188640f22421f771f154372d83124df8cb5cacd40eb + languageName: node + linkType: hard + +"gl-util@npm:^3.1.2": + version: 3.1.3 + resolution: "gl-util@npm:3.1.3" + dependencies: + is-browser: "npm:^2.0.1" + is-firefox: "npm:^1.0.3" + is-plain-obj: "npm:^1.1.0" + number-is-integer: "npm:^1.0.1" + object-assign: "npm:^4.1.0" + pick-by-alias: "npm:^1.2.0" + weak-map: "npm:^1.0.5" + checksum: 10/9d2341015be39cfe040a7a745f57be305d88b7b28bfad7639a3688ad7968fa01d8c437c8029a4470edd0f0a27132e4f06aaa0d725aebff0b2b1727a34a6b49e7 + languageName: node + linkType: hard + "glob-parent@npm:5.1.2, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -10174,6 +12609,17 @@ __metadata: languageName: node linkType: hard +"global-prefix@npm:^4.0.0": + version: 4.0.0 + resolution: "global-prefix@npm:4.0.0" + dependencies: + ini: "npm:^4.1.3" + kind-of: "npm:^6.0.3" + which: "npm:^4.0.0" + checksum: 10/535489396c0e5828682f081f5227556a3b7a30ebecde9f5eb35aee4aea121fe5c5fb1b04e0fba85d1e34e6004687e51b306bdd446d391eca8449adbb4666dbe2 + languageName: node + linkType: hard + "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -10241,91 +12687,257 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" +"glsl-inject-defines@npm:^1.0.1": + version: 1.0.3 + resolution: "glsl-inject-defines@npm:1.0.3" dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10/5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca + glsl-token-inject-block: "npm:^1.0.0" + glsl-token-string: "npm:^1.0.1" + glsl-tokenizer: "npm:^2.0.2" + checksum: 10/93dc71d5e74d5c795e889d97788ea10e4d8ecb541218ce6fb13a957558ff9f2ded5efcb6a7acd0724249684df57be7541707443cb804822a2ef8077db901073d languageName: node linkType: hard -"got@npm:^10.6.0": - version: 10.7.0 - resolution: "got@npm:10.7.0" +"glsl-resolve@npm:0.0.1": + version: 0.0.1 + resolution: "glsl-resolve@npm:0.0.1" dependencies: - "@sindresorhus/is": "npm:^2.0.0" - "@szmarczak/http-timer": "npm:^4.0.0" - "@types/cacheable-request": "npm:^6.0.1" - cacheable-lookup: "npm:^2.0.0" - cacheable-request: "npm:^7.0.1" - decompress-response: "npm:^5.0.0" - duplexer3: "npm:^0.1.4" - get-stream: "npm:^5.0.0" - lowercase-keys: "npm:^2.0.0" - mimic-response: "npm:^2.1.0" - p-cancelable: "npm:^2.0.0" - p-event: "npm:^4.0.0" - responselike: "npm:^2.0.0" - to-readable-stream: "npm:^2.0.0" - type-fest: "npm:^0.10.0" - checksum: 10/c1d08073fd39e12c372b0930452f0ebedcedb4a8a84f6b069475fb0cc6c21704b81db6856c8017b3252a6430edeea8c66eb60047540b0f51da1be21795dff7a4 + resolve: "npm:^0.6.1" + xtend: "npm:^2.1.2" + checksum: 10/951ef25c60e2392cafadbbe1376bf39e6a0198a91810010e6c0e5cda23af5072614a9810349fe1743b3b4856126f0b7c303510af4c428fa3a84df28983fb0f22 languageName: node linkType: hard -"got@npm:^11.8.5": - version: 11.8.6 - resolution: "got@npm:11.8.6" - dependencies: - "@sindresorhus/is": "npm:^4.0.0" - "@szmarczak/http-timer": "npm:^4.0.5" - "@types/cacheable-request": "npm:^6.0.1" - "@types/responselike": "npm:^1.0.0" - cacheable-lookup: "npm:^5.0.3" - cacheable-request: "npm:^7.0.2" - decompress-response: "npm:^6.0.0" - http2-wrapper: "npm:^1.0.0-beta.5.2" - lowercase-keys: "npm:^2.0.0" - p-cancelable: "npm:^2.0.0" - responselike: "npm:^2.0.0" - checksum: 10/a30c74029d81bd5fe50dea1a0c970595d792c568e188ff8be254b5bc11e6158d1b014570772d4a30d0a97723e7dd34e7c8cc1a2f23018f60aece3070a7a5c2a5 +"glsl-token-assignments@npm:^2.0.0": + version: 2.0.2 + resolution: "glsl-token-assignments@npm:2.0.2" + checksum: 10/2edf8a9c711859ba650d472609ae0d5c5f9269f53f1d801232e0daceedfc56ceb54d5d321b65b369bdfce8096530e4f6cd504caaf33ceab3c5b77bcf79cdbea5 languageName: node linkType: hard -"graceful-fs@npm:4.1.15": - version: 4.1.15 - resolution: "graceful-fs@npm:4.1.15" - checksum: 10/eecc88fc447c0d92257ac2583e1177574de6995a8627778bff56e8d14991275eb26a9d248e04c3c128fd17522cfbce17d2ce1bd03ec15efd42d2b3a7bab577c2 +"glsl-token-defines@npm:^1.0.0": + version: 1.0.0 + resolution: "glsl-token-defines@npm:1.0.0" + dependencies: + glsl-tokenizer: "npm:^2.0.0" + checksum: 10/79c3738e4c858c1eb400a7d288a372cf275b6aacee4eed2a89f1c4269a9849d3210bbc770123af408bf0a9d8bf909e558154a27f4c976cee287ea9a4bf9b0047 languageName: node linkType: hard -"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 +"glsl-token-depth@npm:^1.1.0, glsl-token-depth@npm:^1.1.1": + version: 1.1.2 + resolution: "glsl-token-depth@npm:1.1.2" + checksum: 10/b487aaa0359742c40c250d3b68a01ac0b9cef587828d171de4b4a8451685a3582d38e3012a9669f8959474ee91fc738564420b8498f71724f0c956c45472328b languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 +"glsl-token-descope@npm:^1.0.2": + version: 1.0.2 + resolution: "glsl-token-descope@npm:1.0.2" + dependencies: + glsl-token-assignments: "npm:^2.0.0" + glsl-token-depth: "npm:^1.1.0" + glsl-token-properties: "npm:^1.0.0" + glsl-token-scope: "npm:^1.1.0" + checksum: 10/fe049928ac85c4776e293ee96e9bbaaea4b75dfcce1dad7c55ddbf72726403e04ba1b0031d0ca544ec30af65b52d88f4872817dce955b18678bc6e855e007f87 languageName: node linkType: hard -"gzip-size@npm:^6.0.0": - version: 6.0.0 - resolution: "gzip-size@npm:6.0.0" - dependencies: - duplexer: "npm:^0.1.2" - checksum: 10/2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194 +"glsl-token-inject-block@npm:^1.0.0": + version: 1.1.0 + resolution: "glsl-token-inject-block@npm:1.1.0" + checksum: 10/49287bef9c4fbef1155c6a4752b592373279fc53b178e927972512c2e56473981490023a2567384ab9877e02b60027865a922facb1991d4a089bb45f3d730c0a languageName: node linkType: hard -"handle-thing@npm:^2.0.0": - version: 2.0.1 - resolution: "handle-thing@npm:2.0.1" - checksum: 10/441ec98b07f26819c70c702f6c874088eebeb551b242fe8fae4eab325746b82bf84ae7a1f6419547698accb3941fa26806c5f5f93c50e19f90e499065a711d61 +"glsl-token-properties@npm:^1.0.0": + version: 1.0.1 + resolution: "glsl-token-properties@npm:1.0.1" + checksum: 10/9b4d1caf02d52f6407479bcd3e780133d6952ba6ae0d85ccd4f3de9ead061a173da0820b0238a0e721ae75370b645152d468bc24eb6f1fd37b5000c500d97cd4 + languageName: node + linkType: hard + +"glsl-token-scope@npm:^1.1.0, glsl-token-scope@npm:^1.1.1": + version: 1.1.2 + resolution: "glsl-token-scope@npm:1.1.2" + checksum: 10/ecc4bff5d6b11ac44660d816b60b0e32f4d2b01ec54b308e06029c7671d292830e0150274d9d4bc5c29bd4ce438e22e16a76a734fd83a0e55a7ee1c7adc09f9a + languageName: node + linkType: hard + +"glsl-token-string@npm:^1.0.1": + version: 1.0.1 + resolution: "glsl-token-string@npm:1.0.1" + checksum: 10/3260c1486b620277396ecb92b13434764eddcd59330ffb7a25d0e5fc2750fbd4330899e2acb5ab36408ea7451f3e103418ca0430b4c6a225a7e5f318b5028fda + languageName: node + linkType: hard + +"glsl-token-whitespace-trim@npm:^1.0.0": + version: 1.0.0 + resolution: "glsl-token-whitespace-trim@npm:1.0.0" + checksum: 10/f45948a1aeaab05f8457a1ef8d1081b91fd7dd7fc6e71cfecd2e4270d9d506a172258c5c616e1d36c8cfc7e35cbd3de63d889461ecc44fee4b92917b7802816c + languageName: node + linkType: hard + +"glsl-tokenizer@npm:^2.0.0, glsl-tokenizer@npm:^2.0.2": + version: 2.1.5 + resolution: "glsl-tokenizer@npm:2.1.5" + dependencies: + through2: "npm:^0.6.3" + checksum: 10/e76b62667182a2f31686a28f10e86b76bab46369f2923da0862a3c7772271889b34cc9cd3fe490b478c8ca303993c067d9d5f6d594d40ef2e8cf1d7f4e13a42c + languageName: node + linkType: hard + +"glslify-bundle@npm:^5.0.0": + version: 5.1.1 + resolution: "glslify-bundle@npm:5.1.1" + dependencies: + glsl-inject-defines: "npm:^1.0.1" + glsl-token-defines: "npm:^1.0.0" + glsl-token-depth: "npm:^1.1.1" + glsl-token-descope: "npm:^1.0.2" + glsl-token-scope: "npm:^1.1.1" + glsl-token-string: "npm:^1.0.1" + glsl-token-whitespace-trim: "npm:^1.0.0" + glsl-tokenizer: "npm:^2.0.2" + murmurhash-js: "npm:^1.0.0" + shallow-copy: "npm:0.0.1" + checksum: 10/377bebc5e3afcab2c95ec07e854567bf7040196175f393be46fce9ecadeaf87fd85183ef29320c97a5b0bb85edf58e527305948e5259f0363eb3706017fbf253 + languageName: node + linkType: hard + +"glslify-deps@npm:^1.2.5": + version: 1.3.2 + resolution: "glslify-deps@npm:1.3.2" + dependencies: + "@choojs/findup": "npm:^0.2.0" + events: "npm:^3.2.0" + glsl-resolve: "npm:0.0.1" + glsl-tokenizer: "npm:^2.0.0" + graceful-fs: "npm:^4.1.2" + inherits: "npm:^2.0.1" + map-limit: "npm:0.0.1" + resolve: "npm:^1.0.0" + checksum: 10/58ba8b376a93cfc6c7ee03cec15bfc23d24027aed0cc3109cac3b6d25127c7a8dd319bfb094ae47d4ae996b89d4d7db21d0d80cd88a025aa4e81c8b55f3e59e3 + languageName: node + linkType: hard + +"glslify@npm:^7.0.0": + version: 7.1.1 + resolution: "glslify@npm:7.1.1" + dependencies: + bl: "npm:^2.2.1" + concat-stream: "npm:^1.5.2" + duplexify: "npm:^3.4.5" + falafel: "npm:^2.1.0" + from2: "npm:^2.3.0" + glsl-resolve: "npm:0.0.1" + glsl-token-whitespace-trim: "npm:^1.0.0" + glslify-bundle: "npm:^5.0.0" + glslify-deps: "npm:^1.2.5" + minimist: "npm:^1.2.5" + resolve: "npm:^1.1.5" + stack-trace: "npm:0.0.9" + static-eval: "npm:^2.0.5" + through2: "npm:^2.0.1" + xtend: "npm:^4.0.0" + bin: + glslify: bin.js + checksum: 10/6bdd14494c6bafb11b3392275832086fcc79754b05a68199acc357ac7d55a087176a2c271fcaacace69b0a4549fab4a4ebb5f5863c0d8cd148bffde195441f03 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10/5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca + languageName: node + linkType: hard + +"got@npm:^10.6.0": + version: 10.7.0 + resolution: "got@npm:10.7.0" + dependencies: + "@sindresorhus/is": "npm:^2.0.0" + "@szmarczak/http-timer": "npm:^4.0.0" + "@types/cacheable-request": "npm:^6.0.1" + cacheable-lookup: "npm:^2.0.0" + cacheable-request: "npm:^7.0.1" + decompress-response: "npm:^5.0.0" + duplexer3: "npm:^0.1.4" + get-stream: "npm:^5.0.0" + lowercase-keys: "npm:^2.0.0" + mimic-response: "npm:^2.1.0" + p-cancelable: "npm:^2.0.0" + p-event: "npm:^4.0.0" + responselike: "npm:^2.0.0" + to-readable-stream: "npm:^2.0.0" + type-fest: "npm:^0.10.0" + checksum: 10/c1d08073fd39e12c372b0930452f0ebedcedb4a8a84f6b069475fb0cc6c21704b81db6856c8017b3252a6430edeea8c66eb60047540b0f51da1be21795dff7a4 + languageName: node + linkType: hard + +"got@npm:^11.8.5": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": "npm:^4.0.0" + "@szmarczak/http-timer": "npm:^4.0.5" + "@types/cacheable-request": "npm:^6.0.1" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^5.0.3" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + http2-wrapper: "npm:^1.0.0-beta.5.2" + lowercase-keys: "npm:^2.0.0" + p-cancelable: "npm:^2.0.0" + responselike: "npm:^2.0.0" + checksum: 10/a30c74029d81bd5fe50dea1a0c970595d792c568e188ff8be254b5bc11e6158d1b014570772d4a30d0a97723e7dd34e7c8cc1a2f23018f60aece3070a7a5c2a5 + languageName: node + linkType: hard + +"graceful-fs@npm:4.1.15": + version: 4.1.15 + resolution: "graceful-fs@npm:4.1.15" + checksum: 10/eecc88fc447c0d92257ac2583e1177574de6995a8627778bff56e8d14991275eb26a9d248e04c3c128fd17522cfbce17d2ce1bd03ec15efd42d2b3a7bab577c2 + languageName: node + linkType: hard + +"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 + languageName: node + linkType: hard + +"grid-index@npm:^1.1.0": + version: 1.1.0 + resolution: "grid-index@npm:1.1.0" + checksum: 10/d42f851f566c6efb91d55dafab2cf0eb953f4ef45315be3ae77b04887a3600ad5bcb090cad2a634d2f9fa2de4d688e4ed870a9e45f173f09d02982669be3bea5 + languageName: node + linkType: hard + +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" + dependencies: + duplexer: "npm:^0.1.2" + checksum: 10/2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194 + languageName: node + linkType: hard + +"handle-thing@npm:^2.0.0": + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 10/441ec98b07f26819c70c702f6c874088eebeb551b242fe8fae4eab325746b82bf84ae7a1f6419547698accb3941fa26806c5f5f93c50e19f90e499065a711d61 languageName: node linkType: hard @@ -10375,6 +12987,24 @@ __metadata: languageName: node linkType: hard +"has-hover@npm:^1.0.1": + version: 1.0.1 + resolution: "has-hover@npm:1.0.1" + dependencies: + is-browser: "npm:^2.0.1" + checksum: 10/115ae4fc576e3480564bd3d1b64e4326e47b411d813eda1728da08af45c8fe73834ab49c746138390095f4adba11825273e452d1c20ac268865112dee56b749f + languageName: node + linkType: hard + +"has-passive-events@npm:^1.0.0": + version: 1.0.0 + resolution: "has-passive-events@npm:1.0.0" + dependencies: + is-browser: "npm:^2.0.1" + checksum: 10/98d0443f744559e46392484acef0d2bde774fdd4be4be9a3e688ac37d3a3b541e2a8a0889371e88154c56eed8e435114f5ceeb157fd3a88898fbdc6480409f7d + languageName: node + linkType: hard + "has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" @@ -10470,6 +13100,13 @@ __metadata: languageName: node linkType: hard +"highlight.js@npm:^11.9.0": + version: 11.10.0 + resolution: "highlight.js@npm:11.10.0" + checksum: 10/fc8747bcd4a491fc6a47ff80536881dcc9ea9b36cdc2a22a7be5670b89d76ca6c26df9d749017a23bbb2eb708331097a5ecbcee6330fb9064512d80cc3369d99 + languageName: node + linkType: hard + "hmac-drbg@npm:^1.0.1": version: 1.0.1 resolution: "hmac-drbg@npm:1.0.1" @@ -10481,6 +13118,15 @@ __metadata: languageName: node linkType: hard +"hoist-non-react-statics@npm:^3.3.2": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: 10/1acbe85f33e5a39f90c822ad4d28b24daeb60f71c545279431dc98c312cd28a54f8d64788e477fe21dc502b0e3cf58589ebe5c1ad22af27245370391c2d24ea6 + languageName: node + linkType: hard + "homedir-polyfill@npm:^1.0.1": version: 1.0.3 resolution: "homedir-polyfill@npm:1.0.3" @@ -10545,6 +13191,13 @@ __metadata: languageName: node linkType: hard +"hsluv@npm:^0.0.3": + version: 0.0.3 + resolution: "hsluv@npm:0.0.3" + checksum: 10/1481b86d534867187150d4dd0e38783550e5a38dfad09e272755334d5694f971daa0f3eac5b42c153d7207f11b320c507936cbb1be4020bf8a16fea5ebda93f4 + languageName: node + linkType: hard + "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -10618,6 +13271,18 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^8.0.0": + version: 8.0.2 + resolution: "htmlparser2@npm:8.0.2" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + entities: "npm:^4.4.0" + checksum: 10/ea5512956eee06f5835add68b4291d313c745e8407efa63848f4b8a90a2dee45f498a698bca8614e436f1ee0cfdd609938b71d67c693794545982b76e53e6f11 + languageName: node + linkType: hard + "http-assert@npm:^1.3.0": version: 1.5.0 resolution: "http-assert@npm:1.5.0" @@ -10806,7 +13471,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -10842,7 +13507,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": +"ieee754@npm:^1.1.12, ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 @@ -10971,7 +13636,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 @@ -10999,6 +13664,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:^4.1.3": + version: 4.1.3 + resolution: "ini@npm:4.1.3" + checksum: 10/f536b414d1442e5b233429e2b56efcdb354109b2d65ddd489e5939d8f0f5ad23c88aa2b19c92987249d0dd63ba8192e9aeb1a02b0459549c5a9ff31acd729a5d + languageName: node + linkType: hard + "init-package-json@npm:5.0.0": version: 5.0.0 resolution: "init-package-json@npm:5.0.0" @@ -11078,6 +13750,13 @@ __metadata: languageName: node linkType: hard +"inversify@npm:^5.1.1": + version: 5.1.1 + resolution: "inversify@npm:5.1.1" + checksum: 10/c8f08fc9030aeef0c7b5649f15989fd2fa78914715ea38443a6b2e4bb0cea3278d513cf63d89577cdcf6e1d4d2c2866adec881298c8572665730ca97f8611e24 + languageName: node + linkType: hard + "invert-kv@npm:^3.0.0": version: 3.0.1 resolution: "invert-kv@npm:3.0.1" @@ -11171,6 +13850,13 @@ __metadata: languageName: node linkType: hard +"is-browser@npm:^2.0.1": + version: 2.1.0 + resolution: "is-browser@npm:2.1.0" + checksum: 10/fe8d9a68d028a8b16111b70ff662efc163b4708dc3a26024ff83a3416b6221321289de95b41abcb72cd41884e01a815d587e2086c98df5662137c6fe38bb3d73 + languageName: node + linkType: hard + "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -11234,6 +13920,22 @@ __metadata: languageName: node linkType: hard +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10/3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + checksum: 10/db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -11241,6 +13943,20 @@ __metadata: languageName: node linkType: hard +"is-finite@npm:^1.0.1": + version: 1.1.0 + resolution: "is-finite@npm:1.1.0" + checksum: 10/532b97ed3d03e04c6bd203984d9e4ba3c0c390efee492bad5d1d1cd1802a68ab27adbd3ef6382f6312bed6c8bb1bd3e325ea79a8dc8fe080ed7a06f5f97b93e7 + languageName: node + linkType: hard + +"is-firefox@npm:^1.0.3": + version: 1.0.3 + resolution: "is-firefox@npm:1.0.3" + checksum: 10/8d4800d6804373ac83bf636a0cfe5b0a5d60ab9a129f0c9eeb4ec604a46f91703c965ad9123c9c1858f56ed71369988a51c1f40afb579e205e50c856abd9b59b + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -11300,6 +14016,13 @@ __metadata: languageName: node linkType: hard +"is-iexplorer@npm:^1.0.0": + version: 1.0.0 + resolution: "is-iexplorer@npm:1.0.0" + checksum: 10/cc6c14c46080a7e2c4a914487d4b82d866f09f70aa7272b939a14166badbeaa6bd97523a84a9b817eac3cb09417d0e60e462ac0e1c544a52cfcbba46ea183339 + languageName: node + linkType: hard + "is-inside-container@npm:^1.0.0": version: 1.0.0 resolution: "is-inside-container@npm:1.0.0" @@ -11325,6 +14048,13 @@ __metadata: languageName: node linkType: hard +"is-mobile@npm:^4.0.0": + version: 4.0.0 + resolution: "is-mobile@npm:4.0.0" + checksum: 10/1c4f32ab030ac6c203d63b547ef23933eacfebe81fd9d800c86739d5a73afad7983aea4c5e832c3d9c0a63d1e68cd318637490e6406bdda1cbadc8f701d5d557 + languageName: node + linkType: hard + "is-nan@npm:^1.3.2": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -11409,7 +14139,7 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^2.0.4": +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" dependencies: @@ -11495,6 +14225,13 @@ __metadata: languageName: node linkType: hard +"is-string-blank@npm:^1.0.1": + version: 1.0.1 + resolution: "is-string-blank@npm:1.0.1" + checksum: 10/d9da2e0ae74fb3f07f7d906082304e3480c976d3c77e123fe691daaabb982fdb7a5820b4fdca137d2a0e6e42fd29141e685da15e5ec6e4a4f9cf17d6a7305816 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -11504,6 +14241,13 @@ __metadata: languageName: node linkType: hard +"is-svg-path@npm:^1.0.1": + version: 1.0.2 + resolution: "is-svg-path@npm:1.0.2" + checksum: 10/c437d686273208b324f8b3f03a5e8b068262226bcfece1089bea64b50d6bc2a9e7faa3462e9e22897c8777cf7c27417dc1a0b12b16c34bec056bb7908513dc68 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" @@ -11588,7 +14332,14 @@ __metadata: languageName: node linkType: hard -"isarray@npm:^2.0.5": +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10/49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + +"isarray@npm:^2.0.1, isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 @@ -12395,6 +15146,13 @@ __metadata: languageName: node linkType: hard +"json-stringify-pretty-compact@npm:^4.0.0": + version: 4.0.0 + resolution: "json-stringify-pretty-compact@npm:4.0.0" + checksum: 10/a10d5c423e467872994a49c5c1b56b073f277ce02d899cf567fc625f3783b89406bee6408bfb3b4bdeeff509b6a562f5259227e26754a6186f721809ca895f0c + languageName: node + linkType: hard + "json-stringify-safe@npm:^5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" @@ -12402,6 +15160,15 @@ __metadata: languageName: node linkType: hard +"json2mq@npm:^0.2.0": + version: 0.2.0 + resolution: "json2mq@npm:0.2.0" + dependencies: + string-convert: "npm:^0.2.0" + checksum: 10/0ad2f6a268308beeaf3077652b5ae2b0701ef357840e1542cc838198424a79af21dad759595e2cce8cd9b154e0b0f758c217adea4b3dfbaafff3ff9bf82394a1 + languageName: node + linkType: hard + "json5@npm:^1.0.1, json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -12475,6 +15242,31 @@ __metadata: languageName: node linkType: hard +"katex@npm:^0.16.0, katex@npm:^0.16.10": + version: 0.16.11 + resolution: "katex@npm:0.16.11" + dependencies: + commander: "npm:^8.3.0" + bin: + katex: cli.js + checksum: 10/adfb95a70168f732c26f44a443d27df393ca641a3533aa9321f37b1b69134cf4b15142d533c187ec9a0b02c0bbfebab5ab26f15bd0cc08a57114e1f767f0d7ae + languageName: node + linkType: hard + +"kdbush@npm:^3.0.0": + version: 3.0.0 + resolution: "kdbush@npm:3.0.0" + checksum: 10/dd1c4b550de185129297a5a7c68655fc72311d8a70691bacfba820b46e53c3056116c795be12b7530be46e4c9e8cd3357f7c1af3c59077982cf221632cc4bc88 + languageName: node + linkType: hard + +"kdbush@npm:^4.0.2": + version: 4.0.2 + resolution: "kdbush@npm:4.0.2" + checksum: 10/ca1f7a106c129056044ab19851909efcc33680d568066872de996d3bc4d41f81d2a6423e577f20436d1a8b96a6f3c514af8cb94cc54a4d784d9df976b43066f8 + languageName: node + linkType: hard + "keycode@npm:^2.2.0": version: 2.2.1 resolution: "keycode@npm:2.2.1" @@ -12933,6 +15725,19 @@ __metadata: languageName: node linkType: hard +"lib0@npm:^0.2.98": + version: 0.2.98 + resolution: "lib0@npm:0.2.98" + dependencies: + isomorphic.js: "npm:^0.2.4" + bin: + 0ecdsa-generate-keypair: bin/0ecdsa-generate-keypair.js + 0gentesthtml: bin/gentesthtml.js + 0serve: bin/0serve.js + checksum: 10/8ec7fb66e211b5041d988e93d768b47946f820dfbf65b9aeb5350041b09ec6fa86d528dc1605fc79eb4d66db6b5391a0e6bf73392c3d53f5a4601430664712c9 + languageName: node + linkType: hard + "libnpmaccess@npm:7.0.2": version: 7.0.2 resolution: "libnpmaccess@npm:7.0.2" @@ -12987,6 +15792,15 @@ __metadata: languageName: node linkType: hard +"linkify-it@npm:^4.0.1": + version: 4.0.1 + resolution: "linkify-it@npm:4.0.1" + dependencies: + uc.micro: "npm:^1.0.1" + checksum: 10/d0a786d2e3f02f46b6f4a9b466af9eb936fb68e86b7cd305933d5457b12fdc53a4d0e0b697b02dc2e7d84a51d2425d719598bb7b47af7e01911e492e07a97957 + languageName: node + linkType: hard + "lint-staged@npm:^15.2.2": version: 15.2.2 resolution: "lint-staged@npm:15.2.2" @@ -13139,6 +15953,13 @@ __metadata: languageName: node linkType: hard +"lodash.escape@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.escape@npm:4.0.1" + checksum: 10/ba1effab9aea7e20ee69b26cbfeb41c73da2eb4d2ab1c261aaf53dd0902ce1afc2f0b34fb24bc69c1d2dd201c332e1d1eb696092fc844a2c5c8e7ccd1ca32014 + languageName: node + linkType: hard + "lodash.ismatch@npm:^4.4.0": version: 4.4.0 resolution: "lodash.ismatch@npm:4.4.0" @@ -13461,6 +16282,15 @@ __metadata: languageName: node linkType: hard +"map-limit@npm:0.0.1": + version: 0.0.1 + resolution: "map-limit@npm:0.0.1" + dependencies: + once: "npm:~1.3.0" + checksum: 10/b7af78c8fee38ac8fbdb16d05b20a157a6e4df5469437c9e2bb08708ceb8d0fd233669460912fce991bcb9fdb870646835e97f54647b2e4ac3068453f8c16754 + languageName: node + linkType: hard + "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -13475,9 +16305,68 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:^7.4.1": - version: 7.4.7 - resolution: "markdown-to-jsx@npm:7.4.7" +"maplibre-gl@npm:^4.5.2": + version: 4.7.1 + resolution: "maplibre-gl@npm:4.7.1" + dependencies: + "@mapbox/geojson-rewind": "npm:^0.5.2" + "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" + "@mapbox/point-geometry": "npm:^0.1.0" + "@mapbox/tiny-sdf": "npm:^2.0.6" + "@mapbox/unitbezier": "npm:^0.0.1" + "@mapbox/vector-tile": "npm:^1.3.1" + "@mapbox/whoots-js": "npm:^3.1.0" + "@maplibre/maplibre-gl-style-spec": "npm:^20.3.1" + "@types/geojson": "npm:^7946.0.14" + "@types/geojson-vt": "npm:3.2.5" + "@types/mapbox__point-geometry": "npm:^0.1.4" + "@types/mapbox__vector-tile": "npm:^1.3.4" + "@types/pbf": "npm:^3.0.5" + "@types/supercluster": "npm:^7.1.3" + earcut: "npm:^3.0.0" + geojson-vt: "npm:^4.0.2" + gl-matrix: "npm:^3.4.3" + global-prefix: "npm:^4.0.0" + kdbush: "npm:^4.0.2" + murmurhash-js: "npm:^1.0.0" + pbf: "npm:^3.3.0" + potpack: "npm:^2.0.0" + quickselect: "npm:^3.0.0" + supercluster: "npm:^8.0.1" + tinyqueue: "npm:^3.0.0" + vt-pbf: "npm:^3.1.3" + checksum: 10/5dae400a26ac8d978a2bc73ab81025b72fdc1972d387f0ce2a68142d88d4c48b7abb743adf649d36d2d31ec976bca036b33786664f0ba19301213fd274c4b15c + languageName: node + linkType: hard + +"markdown-it-anchor@npm:^8.6.5": + version: 8.6.7 + resolution: "markdown-it-anchor@npm:8.6.7" + peerDependencies: + "@types/markdown-it": "*" + markdown-it: "*" + checksum: 10/1b061e9c8fb093dab6040725f9f3cedae7da1160a14ee8f29d144534be7ee5c788f02a4de4019f55eb8514cae5f12d350baaa7d08732c26a62abc60e5e66c7f7 + languageName: node + linkType: hard + +"markdown-it@npm:^13.0.1": + version: 13.0.2 + resolution: "markdown-it@npm:13.0.2" + dependencies: + argparse: "npm:^2.0.1" + entities: "npm:~3.0.1" + linkify-it: "npm:^4.0.1" + mdurl: "npm:^1.0.1" + uc.micro: "npm:^1.0.5" + bin: + markdown-it: bin/markdown-it.js + checksum: 10/4f48271bbd44d16502efd4148d7c05ca1fb4b50719a07d34c91e8d16f8d065c558fed0fafe07cd13ca5958096bfe295b37cd4f042add7ec49f73c70154e75f58 + languageName: node + linkType: hard + +"markdown-to-jsx@npm:^7.4.1": + version: 7.4.7 + resolution: "markdown-to-jsx@npm:7.4.7" peerDependencies: react: ">= 0.14.0" checksum: 10/d421f561a57256164564f4b4ac1c3439493f7b88d46ca8d1ed429e481a199a8756591e180d401654c0826ccabe9e76ce4fb97286a0b3c43a7a6346c735778b2b @@ -13502,6 +16391,13 @@ __metadata: languageName: node linkType: hard +"math-log2@npm:^1.0.1": + version: 1.0.1 + resolution: "math-log2@npm:1.0.1" + checksum: 10/b9a9c746ec0b28157865b5b9e9bdba25d04b77112f45ec65eb129b07ae42b0f017d59919d21e409fb6bb6587da28e5c40b4e49e80b917fa00a74f7ea5446932e + languageName: node + linkType: hard + "md5.js@npm:^1.3.4": version: 1.3.5 resolution: "md5.js@npm:1.3.5" @@ -13520,6 +16416,13 @@ __metadata: languageName: node linkType: hard +"mdurl@npm:^1.0.1": + version: 1.0.1 + resolution: "mdurl@npm:1.0.1" + checksum: 10/ada367d01c9e81d07328101f187d5bd8641b71f33eab075df4caed935a24fa679e625f07108801d8250a5e4a99e5cd4be7679957a11424a3aa3e740d2bb2d5cb + languageName: node + linkType: hard + "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -13986,6 +16889,13 @@ __metadata: languageName: node linkType: hard +"moment@npm:^2.29.4": + version: 2.30.1 + resolution: "moment@npm:2.30.1" + checksum: 10/ae42d876d4ec831ef66110bdc302c0657c664991e45cf2afffc4b0f6cd6d251dde11375c982a5c0564ccc0fa593fc564576ddceb8c8845e87c15f58aa6baca69 + languageName: node + linkType: hard + "moo-color@npm:^1.0.2": version: 1.0.3 resolution: "moo-color@npm:1.0.3" @@ -14006,6 +16916,40 @@ __metadata: languageName: node linkType: hard +"mouse-change@npm:^1.4.0": + version: 1.4.0 + resolution: "mouse-change@npm:1.4.0" + dependencies: + mouse-event: "npm:^1.0.0" + checksum: 10/67f7e5c7e24a61b3eca8e547a3ba56a5b3bc861bdd42e7a3d02a0c2ff0a19ebe7a024dc744bb30ad30a056cfd59ea40aa7df3b8e9ceb51da084c6bff24abe576 + languageName: node + linkType: hard + +"mouse-event-offset@npm:^3.0.2": + version: 3.0.2 + resolution: "mouse-event-offset@npm:3.0.2" + checksum: 10/e700f26b8c126a9172fc81f5d13087313a77d7b071caac5ac7d4e55298289f2dd9629303784e65a510f2e6735ef89b2a147233473abf2b958cbe29fffa123cac + languageName: node + linkType: hard + +"mouse-event@npm:^1.0.0": + version: 1.0.5 + resolution: "mouse-event@npm:1.0.5" + checksum: 10/1e7fa5deb6360b9a9e4de0da701b03f0c3467c55bd6f3c18f1dd22fc156aafbeb390fb8c75dffc69cbdd1c7c5511d4fe92967ccc400a1cb77083c70eb330d5f9 + languageName: node + linkType: hard + +"mouse-wheel@npm:^1.2.0": + version: 1.2.0 + resolution: "mouse-wheel@npm:1.2.0" + dependencies: + right-now: "npm:^1.0.0" + signum: "npm:^1.0.0" + to-px: "npm:^1.0.1" + checksum: 10/28e41ccac43fb4e284cfbbe348c0c5e391417bb997a3f8ad2e280152883721ad55aec1596200060ad4d99b256f5b167dbdf35d4dd83c84c80401a95fa0e5725c + languageName: node + linkType: hard + "move-file@npm:^1.1.0": version: 1.2.0 resolution: "move-file@npm:1.2.0" @@ -14089,6 +17033,22 @@ __metadata: languageName: node linkType: hard +"mumath@npm:^3.3.4": + version: 3.3.4 + resolution: "mumath@npm:3.3.4" + dependencies: + almost-equal: "npm:^1.1.0" + checksum: 10/9d8e84bb7bd3aa774aa6862c38b46a5e5e4b4cd94c29a781c19e5cdf48fa24d96ddb2d99277ba5d007dbcfe21241249da5e0797c71ac868496e2f838696b4a70 + languageName: node + linkType: hard + +"murmurhash-js@npm:^1.0.0": + version: 1.0.0 + resolution: "murmurhash-js@npm:1.0.0" + checksum: 10/875a24e0dd7870e51a7f73906e158fb06de50478669629746a35955cb0a00b6bb797f6b5a2884ee4ec4feefb9c5c27b74190f561eb72530ffc1c5d7c5429f49a + languageName: node + linkType: hard + "mute-stream@npm:0.0.8": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" @@ -14144,6 +17104,13 @@ __metadata: languageName: node linkType: hard +"native-promise-only@npm:^0.8.1": + version: 0.8.1 + resolution: "native-promise-only@npm:0.8.1" + checksum: 10/fbc99d8dc2863658260a519557b0634c45583d9412de85fd706fa4fa9b11bfe4660bdac53f29171c4b2ad01a4b201c658a56f82431d19a5c155cc092c5127170 + languageName: node + linkType: hard + "native-request@npm:^1.0.5": version: 1.1.0 resolution: "native-request@npm:1.1.0" @@ -14158,6 +17125,19 @@ __metadata: languageName: node linkType: hard +"needle@npm:^2.5.2": + version: 2.9.1 + resolution: "needle@npm:2.9.1" + dependencies: + debug: "npm:^3.2.6" + iconv-lite: "npm:^0.4.4" + sax: "npm:^1.2.4" + bin: + needle: ./bin/needle + checksum: 10/ad8df9aff519e719ae98bc3e58a2c623961bee0c5bffdd19288d7876fbb80a4ac1116ace7632026396bc0946d3c02b266acf3b9a1bffc7186055423eb7697e62 + languageName: node + linkType: hard + "negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -14179,6 +17159,13 @@ __metadata: languageName: node linkType: hard +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 10/83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b + languageName: node + linkType: hard + "nice-try@npm:^1.0.4": version: 1.0.5 resolution: "nice-try@npm:1.0.5" @@ -14510,6 +17497,22 @@ __metadata: languageName: node linkType: hard +"normalize-svg-path@npm:^1.0.0": + version: 1.1.0 + resolution: "normalize-svg-path@npm:1.1.0" + dependencies: + svg-arc-to-cubic-bezier: "npm:^3.0.0" + checksum: 10/740b1f63e6041981e80fd1508b10d850a1bd78ff13008f011bf82783c10458fcf6597efb784c6380082d500f049d859666b2e275d53460d1b9427fee25ff7e1f + languageName: node + linkType: hard + +"normalize-svg-path@npm:~0.1.0": + version: 0.1.0 + resolution: "normalize-svg-path@npm:0.1.0" + checksum: 10/6a7dd987680dcf5106ecdb1ebf77a4f40a239edf59f3a6ed244545bfa61c3e1917781345fa711004d147e62f4338d1a0c02f7301fa08ff7810e716fdb106137f + languageName: node + linkType: hard + "normalize-url@npm:^6.0.1": version: 6.1.0 resolution: "normalize-url@npm:6.1.0" @@ -14796,6 +17799,15 @@ __metadata: languageName: node linkType: hard +"number-is-integer@npm:^1.0.1": + version: 1.0.1 + resolution: "number-is-integer@npm:1.0.1" + dependencies: + is-finite: "npm:^1.0.1" + checksum: 10/6cbe30d839d254e5577c8f27f3038339b2d75b3731c6f4a6b4b0168eb00ae716a8035763c9e72ff1b603df805408fab4fa48235570eec1e7b90368bc26edecae + languageName: node + linkType: hard + "nwsapi@npm:^2.2.2": version: 2.2.7 resolution: "nwsapi@npm:2.2.7" @@ -15008,6 +18020,15 @@ __metadata: languageName: node linkType: hard +"once@npm:~1.3.0": + version: 1.3.3 + resolution: "once@npm:1.3.3" + dependencies: + wrappy: "npm:1" + checksum: 10/8e832de08b1d73b470e01690c211cb4fcefccab1fd1bd19e706d572d74d3e9b7e38a8bfcdabdd364f9f868757d9e8e5812a59817dc473eaf698ff3bfae2219f2 + languageName: node + linkType: hard + "onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" @@ -15436,6 +18457,13 @@ __metadata: languageName: node linkType: hard +"parenthesis@npm:^3.1.5": + version: 3.1.8 + resolution: "parenthesis@npm:3.1.8" + checksum: 10/2d4b05e68053861027e78d98110197e849deff7970c7deac1ca07fdea1e8bfca01b7e426908e61c2229563b4578a9ea6ced3b20a05b70d69e06ca3f8d4e70b52 + languageName: node + linkType: hard + "parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.7": version: 5.1.7 resolution: "parse-asn1@npm:5.1.7" @@ -15488,6 +18516,36 @@ __metadata: languageName: node linkType: hard +"parse-rect@npm:^1.2.0": + version: 1.2.0 + resolution: "parse-rect@npm:1.2.0" + dependencies: + pick-by-alias: "npm:^1.2.0" + checksum: 10/ce909178347be94c39cec7c39b77d0aecc9c921ef3923487b05e4f0874c4e26780e849b7d131e0d0c6fc61e45574710a5f6adc6d5d84219e6a642bc628ce26bc + languageName: node + linkType: hard + +"parse-srcset@npm:^1.0.2": + version: 1.0.2 + resolution: "parse-srcset@npm:1.0.2" + checksum: 10/d40c131cfc3ab7bb6333b788d30a30d063d76a83b49fa752229823f96475e36cf29fea09e035ce3b2a634b686e93e2a7429cb8dad0041d8a3a3df622093b9ea1 + languageName: node + linkType: hard + +"parse-svg-path@npm:^0.1.2": + version: 0.1.2 + resolution: "parse-svg-path@npm:0.1.2" + checksum: 10/bba7d4b4207fcc9eaf553b0d34db96ea8a1173635bc94528b5b66e1581902d4792d8d6229103764f01af4d839274234e97a4fa1c6f0fe7dcce195383848cec56 + languageName: node + linkType: hard + +"parse-unit@npm:^1.0.1": + version: 1.0.1 + resolution: "parse-unit@npm:1.0.1" + checksum: 10/54eb27f3f90038030f5c316dd62467e8cf0db59a18e4598b78841b711716d577cc567b2f7fcf9d88fa14c524cc08acf89bb8947955f5b1cfa28d3c6101b2aec9 + languageName: node + linkType: hard + "parse-url@npm:^8.1.0": version: 8.1.0 resolution: "parse-url@npm:8.1.0" @@ -15523,7 +18581,7 @@ __metadata: languageName: node linkType: hard -"path-browserify@npm:^1.0.1": +"path-browserify@npm:^1.0.0, path-browserify@npm:^1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" checksum: 10/7e7368a5207e7c6b9051ef045711d0dc3c2b6203e96057e408e6e74d09f383061010d2be95cb8593fe6258a767c3e9fc6b2bfc7ce8d48ae8c3d9f6994cca9ad8 @@ -15657,6 +18715,18 @@ __metadata: languageName: node linkType: hard +"pbf@npm:^3.2.1, pbf@npm:^3.3.0": + version: 3.3.0 + resolution: "pbf@npm:3.3.0" + dependencies: + ieee754: "npm:^1.1.12" + resolve-protobuf-schema: "npm:^2.1.0" + bin: + pbf: bin/pbf + checksum: 10/46488694528740097c33443efa240ca7f99538a2b96e9fbd2284d9be45ec91dab6954b9c03df237656ac2757d7f046153a031ad24519b4cfcaa2e7b18ddeb5dd + languageName: node + linkType: hard + "pbkdf2@npm:^3.0.3, pbkdf2@npm:^3.1.2": version: 3.1.2 resolution: "pbkdf2@npm:3.1.2" @@ -15684,6 +18754,13 @@ __metadata: languageName: node linkType: hard +"perfect-scrollbar@npm:^1.5.5": + version: 1.5.5 + resolution: "perfect-scrollbar@npm:1.5.5" + checksum: 10/42798bf7cc9a30050dc0c6067aa02f47b14fb6850adb62b255e90a582cb747edc041547bffe0c415fda4a9376c3255226309a2729622088374c439e741117791 + languageName: node + linkType: hard + "performance-now@npm:^2.1.0": version: 2.1.0 resolution: "performance-now@npm:2.1.0" @@ -15691,6 +18768,13 @@ __metadata: languageName: node linkType: hard +"pick-by-alias@npm:^1.2.0": + version: 1.2.0 + resolution: "pick-by-alias@npm:1.2.0" + checksum: 10/720c85f13a75f7ca865fdc44f924419b47ec0e21555c523b3c6ed3dd7304e1447255a092fb49a2d55f30252d5856be9aa044ef00822eb08dad4368db230d1b19 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -15698,6 +18782,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.0": + version: 1.1.0 + resolution: "picocolors@npm:1.1.0" + checksum: 10/a2ad60d94d185c30f2a140b19c512547713fb89b920d32cc6cf658fa786d63a37ba7b8451872c3d9fc34883971fb6e5878e07a20b60506e0bb2554dce9169ccb + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -15827,6 +18918,80 @@ __metadata: languageName: node linkType: hard +"plotly.js@npm:^2.35.0": + version: 2.35.2 + resolution: "plotly.js@npm:2.35.2" + dependencies: + "@plotly/d3": "npm:3.8.2" + "@plotly/d3-sankey": "npm:0.7.2" + "@plotly/d3-sankey-circular": "npm:0.33.1" + "@plotly/mapbox-gl": "npm:1.13.4" + "@turf/area": "npm:^7.1.0" + "@turf/bbox": "npm:^7.1.0" + "@turf/centroid": "npm:^7.1.0" + base64-arraybuffer: "npm:^1.0.2" + canvas-fit: "npm:^1.5.0" + color-alpha: "npm:1.0.4" + color-normalize: "npm:1.5.0" + color-parse: "npm:2.0.0" + color-rgba: "npm:2.1.1" + country-regex: "npm:^1.1.0" + css-loader: "npm:^7.1.2" + d3-force: "npm:^1.2.1" + d3-format: "npm:^1.4.5" + d3-geo: "npm:^1.12.1" + d3-geo-projection: "npm:^2.9.0" + d3-hierarchy: "npm:^1.1.9" + d3-interpolate: "npm:^3.0.1" + d3-time: "npm:^1.1.0" + d3-time-format: "npm:^2.2.3" + fast-isnumeric: "npm:^1.1.4" + gl-mat4: "npm:^1.2.0" + gl-text: "npm:^1.4.0" + has-hover: "npm:^1.0.1" + has-passive-events: "npm:^1.0.0" + is-mobile: "npm:^4.0.0" + maplibre-gl: "npm:^4.5.2" + mouse-change: "npm:^1.4.0" + mouse-event-offset: "npm:^3.0.2" + mouse-wheel: "npm:^1.2.0" + native-promise-only: "npm:^0.8.1" + parse-svg-path: "npm:^0.1.2" + point-in-polygon: "npm:^1.1.0" + polybooljs: "npm:^1.2.2" + probe-image-size: "npm:^7.2.3" + regl: "npm:@plotly/regl@^2.1.2" + regl-error2d: "npm:^2.0.12" + regl-line2d: "npm:^3.1.3" + regl-scatter2d: "npm:^3.3.1" + regl-splom: "npm:^1.0.14" + strongly-connected-components: "npm:^1.0.1" + style-loader: "npm:^4.0.0" + superscript-text: "npm:^1.0.0" + svg-path-sdf: "npm:^1.1.3" + tinycolor2: "npm:^1.4.2" + to-px: "npm:1.0.1" + topojson-client: "npm:^3.1.0" + webgl-context: "npm:^2.2.0" + world-calendars: "npm:^1.0.3" + checksum: 10/daa5dca25dc7895d0fea4e165a3013959f07397900125872964e0ace55fe19a7e48e0c2155f173093e0eebfe63d1e62d47eb0193ac437eb53bca66f9c56a0888 + languageName: node + linkType: hard + +"point-in-polygon@npm:^1.1.0": + version: 1.1.0 + resolution: "point-in-polygon@npm:1.1.0" + checksum: 10/67a6374f0b79bc872bde8e375d7d5ea011a1419c5f4320dfb7705801cd3a8fcaee8bff385465e075b2ce863bbc86ccd74c63345d9f326981cd0807642bc5199c + languageName: node + linkType: hard + +"polybooljs@npm:^1.2.2": + version: 1.2.2 + resolution: "polybooljs@npm:1.2.2" + checksum: 10/fe149038e96e8796e3ce1590cd8b066242f77ebb2383fe3e3a5cfe22f3a594977d1618fe9511ebad3dbf99a362539449ec4917ee2c316cb333068fcce032263a + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -15991,6 +19156,15 @@ __metadata: languageName: node linkType: hard +"postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10/00bfd3aff045fc13ded8e3bbfd8dfc73eff9a9708db1b2a132266aef6544c8d2aee7a5d7e021885f6f9bbd5565a9a9ab52990316e21ad9468a2534f87df8e849 + languageName: node + linkType: hard + "postcss-modules-local-by-default@npm:^4.0.4": version: 4.0.4 resolution: "postcss-modules-local-by-default@npm:4.0.4" @@ -16004,6 +19178,19 @@ __metadata: languageName: node linkType: hard +"postcss-modules-local-by-default@npm:^4.0.5": + version: 4.0.5 + resolution: "postcss-modules-local-by-default@npm:4.0.5" + dependencies: + icss-utils: "npm:^5.0.0" + postcss-selector-parser: "npm:^6.0.2" + postcss-value-parser: "npm:^4.1.0" + peerDependencies: + postcss: ^8.1.0 + checksum: 10/b08b01aa7f3d1a80bb1a5508ba3a208578fdd2fb6e54e5613fac244a4e014aa7ca639a614859fec93b399e5a6f86938f7690ca60f7e57c4e35b75621d3c07734 + languageName: node + linkType: hard + "postcss-modules-scope@npm:^3.1.1": version: 3.1.1 resolution: "postcss-modules-scope@npm:3.1.1" @@ -16015,6 +19202,17 @@ __metadata: languageName: node linkType: hard +"postcss-modules-scope@npm:^3.2.0": + version: 3.2.0 + resolution: "postcss-modules-scope@npm:3.2.0" + dependencies: + postcss-selector-parser: "npm:^6.0.4" + peerDependencies: + postcss: ^8.1.0 + checksum: 10/17c293ad13355ba456498aa5815ddb7a4a736f7b781d89b294e1602a53b8d0e336131175f82460e290a0d672642f9039540042edc361d9000b682c44e766925b + languageName: node + linkType: hard + "postcss-modules-values@npm:^4.0.0": version: 4.0.0 resolution: "postcss-modules-values@npm:4.0.0" @@ -16211,6 +19409,31 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.3.11": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10/f2b50ba9b6fcb795232b6bb20de7cdc538c0025989a8ed9c4438d1960196ba3b7eaff41fdb1a5c701b3504651ea87aeb685577707f0ae4d6ce6f3eae5df79a81 + languageName: node + linkType: hard + +"potpack@npm:^1.0.1": + version: 1.0.2 + resolution: "potpack@npm:1.0.2" + checksum: 10/9dfdbbce012ce80842249abcdd89e20222eb8ae96beba8d578b7e41e78feefc7e33b5c72d46fb8dd3a1e382cb4da9c34574764d88aa8849ab36f542fd2088b42 + languageName: node + linkType: hard + +"potpack@npm:^2.0.0": + version: 2.0.0 + resolution: "potpack@npm:2.0.0" + checksum: 10/6dd41692349936b436c29c28cf9ff1268c03ed6ec96c4384b2d9eb95e58e422fab75d428648f475507dd167934984d1002df2010b83e5747b5c358bea371e8f7 + languageName: node + linkType: hard + "prebuild-install@npm:^7.0.1": version: 7.1.2 resolution: "prebuild-install@npm:7.1.2" @@ -16277,6 +19500,17 @@ __metadata: languageName: node linkType: hard +"probe-image-size@npm:^7.2.3": + version: 7.2.3 + resolution: "probe-image-size@npm:7.2.3" + dependencies: + lodash.merge: "npm:^4.6.2" + needle: "npm:^2.5.2" + stream-parser: "npm:~0.3.1" + checksum: 10/6df205754d823fea28735d856ba8168fe60a76e536c3ba0e491978cb73dd6a7a0128c6b19224af57ee653ce13f04cbb53516c4ee980f4677d8d899c72a6478bb + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -16365,7 +19599,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:15.x, prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.8.1": +"prop-types@npm:15.x, prop-types@npm:^15.5.10, prop-types@npm:^15.5.8, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -16390,6 +19624,13 @@ __metadata: languageName: node linkType: hard +"protocol-buffers-schema@npm:^3.3.1": + version: 3.6.0 + resolution: "protocol-buffers-schema@npm:3.6.0" + checksum: 10/55a1caed123fb2385eae5ea4770dc36b3017d1fe2005ffb1ef20c97dadf43a91876238ebc23bc240ef1f8501d054bdd9d12992796e9abed18ddf958e4f942eea + languageName: node + linkType: hard + "protocols@npm:^2.0.0, protocols@npm:^2.0.1": version: 2.0.1 resolution: "protocols@npm:2.0.1" @@ -16505,6 +19746,17 @@ __metadata: languageName: node linkType: hard +"query-string@npm:^8.1.0": + version: 8.2.0 + resolution: "query-string@npm:8.2.0" + dependencies: + decode-uri-component: "npm:^0.4.1" + filter-obj: "npm:^5.1.0" + split-on-first: "npm:^3.0.0" + checksum: 10/a9a6d4aafd3444d67d5766c658cb0d64ea5a87fec683538deb1f95446089d1660c75c9accbb030ba384ab6d329bdffbb367279e55cc880c56789678e0a55dd9b + languageName: node + linkType: hard + "querystring-es3@npm:^0.2.1": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -16540,6 +19792,20 @@ __metadata: languageName: node linkType: hard +"quickselect@npm:^2.0.0": + version: 2.0.0 + resolution: "quickselect@npm:2.0.0" + checksum: 10/ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c + languageName: node + linkType: hard + +"quickselect@npm:^3.0.0": + version: 3.0.0 + resolution: "quickselect@npm:3.0.0" + checksum: 10/8f72bedb8bb14bce5c3767c55f567bc296fa3ca9d98ba385e3867e434463bc633feee1eddf3dfec17914b7e88feeb08c7b313cf47114a8ff11bf964f77f51cfc + languageName: node + linkType: hard + "raf@npm:^3.1.0, raf@npm:^3.4.0, raf@npm:^3.4.1": version: 3.4.1 resolution: "raf@npm:3.4.1" @@ -16599,6 +19865,22 @@ __metadata: languageName: node linkType: hard +"rc-align@npm:^4.0.0": + version: 4.0.15 + resolution: "rc-align@npm:4.0.15" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + dom-align: "npm:^1.7.0" + rc-util: "npm:^5.26.0" + resize-observer-polyfill: "npm:^1.5.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/de1af4a58a371bc01cf5f327ce82b5e5631960c3e2dbae03532081e63bf86a809cebf9b8a231495db1dc659c28b6dbb35b0b33f2c29579b8b068388c1288c1b1 + languageName: node + linkType: hard + "rc-animate@npm:2.x": version: 2.11.1 resolution: "rc-animate@npm:2.11.1" @@ -16614,6 +19896,52 @@ __metadata: languageName: node linkType: hard +"rc-cascader@npm:~3.28.1": + version: 3.28.2 + resolution: "rc-cascader@npm:3.28.2" + dependencies: + "@babel/runtime": "npm:^7.12.5" + array-tree-filter: "npm:^2.1.0" + classnames: "npm:^2.3.1" + rc-select: "npm:~14.15.0" + rc-tree: "npm:~5.9.0" + rc-util: "npm:^5.37.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/30c583fab14d325959041a6712c045334ba996b5b3370b3d78ca808db52d901f8d18e9c34a0f60352d1df25b7bdb4564fbbbf3cd7a7b361d859c3d94683def45 + languageName: node + linkType: hard + +"rc-checkbox@npm:~3.3.0": + version: 3.3.0 + resolution: "rc-checkbox@npm:3.3.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.3.2" + rc-util: "npm:^5.25.2" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/95d48a1012339163e98bea6e158e5c650e45759550c50f1615f610a19ce31b0af384df899dfded147e1b16d2016e90f16a949792bb79f5b7f6709cf95a9eb1a5 + languageName: node + linkType: hard + +"rc-collapse@npm:~3.8.0": + version: 3.8.0 + resolution: "rc-collapse@npm:3.8.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + rc-motion: "npm:^2.3.4" + rc-util: "npm:^5.27.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/b9d44fb1bd406be23803938a9945d73acdbe0412d2f81ea17ef6ea5620a1cbc3404adbbafe9d114f5f9267c9bfc0bb159a522014effb367d9e066fb43b48ea43 + languageName: node + linkType: hard + "rc-dialog@npm:~7.6.0": version: 7.6.1 resolution: "rc-dialog@npm:7.6.1" @@ -16625,105 +19953,554 @@ __metadata: languageName: node linkType: hard -"rc-dropdown@npm:~2.4.1": - version: 2.4.1 - resolution: "rc-dropdown@npm:2.4.1" +"rc-dialog@npm:~9.6.0": + version: 9.6.0 + resolution: "rc-dialog@npm:9.6.0" dependencies: - babel-runtime: "npm:^6.26.0" + "@babel/runtime": "npm:^7.10.1" + "@rc-component/portal": "npm:^1.0.0-8" classnames: "npm:^2.2.6" - prop-types: "npm:^15.5.8" - rc-trigger: "npm:^2.5.1" - react-lifecycles-compat: "npm:^3.0.2" - checksum: 10/249b6b957ff141c23812fd8d0cb9f9f3919b282960a63cb378a5f971f8314109a92acac64fca70b11e69b01d2be6f3c600781ce7268df954933118f38b54000a + rc-motion: "npm:^2.3.0" + rc-util: "npm:^5.21.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/f6dcdb066f26f7b59fef458e18ba3c257a73b7036774d12022d548c7e343e8a51db2d1f3bae45928bcefb978fb29c4f2d6954c56fd006b0360fcc47c095c01c8 + languageName: node + linkType: hard + +"rc-drawer@npm:~7.2.0": + version: 7.2.0 + resolution: "rc-drawer@npm:7.2.0" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@rc-component/portal": "npm:^1.1.1" + classnames: "npm:^2.2.6" + rc-motion: "npm:^2.6.1" + rc-util: "npm:^5.38.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/1c9c7e5a00bd341a996684e5e288e273fee5083c8daf37e61a5ef5db5204df8aeaf48bcb67d89d01cab4d3c484bcf4d73af257a2d8de2dd71a757fa9cabaed3c + languageName: node + linkType: hard + +"rc-dropdown@npm:^3.2.0": + version: 3.6.2 + resolution: "rc-dropdown@npm:3.6.2" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.2.6" + rc-trigger: "npm:^5.0.4" + rc-util: "npm:^5.17.0" + peerDependencies: + react: ">=16.11.0" + react-dom: ">=16.11.0" + checksum: 10/e1df6ea44dc30104a4a285457468c6f3b165d731e5a38bc629ee68299edfacaf24bb9c43b7db79fef6d3317402dde1c0b7ae773c17b0869d03004c9c63314d66 + languageName: node + linkType: hard + +"rc-dropdown@npm:~2.4.1": + version: 2.4.1 + resolution: "rc-dropdown@npm:2.4.1" + dependencies: + babel-runtime: "npm:^6.26.0" + classnames: "npm:^2.2.6" + prop-types: "npm:^15.5.8" + rc-trigger: "npm:^2.5.1" + react-lifecycles-compat: "npm:^3.0.2" + checksum: 10/249b6b957ff141c23812fd8d0cb9f9f3919b282960a63cb378a5f971f8314109a92acac64fca70b11e69b01d2be6f3c600781ce7268df954933118f38b54000a + languageName: node + linkType: hard + +"rc-dropdown@npm:~4.0.0": + version: 4.0.1 + resolution: "rc-dropdown@npm:4.0.1" + dependencies: + "@babel/runtime": "npm:^7.18.3" + classnames: "npm:^2.2.6" + rc-trigger: "npm:^5.3.1" + rc-util: "npm:^5.17.0" + peerDependencies: + react: ">=16.11.0" + react-dom: ">=16.11.0" + checksum: 10/e92f1e653baa1ba9ee9679a7465b579e6104dbc81852b08b36b0201fee7f3a990b2d67b4404fe00f64fa04bda0362fab45aee81c47870d5e2a39de02a53e371c + languageName: node + linkType: hard + +"rc-dropdown@npm:~4.2.0": + version: 4.2.0 + resolution: "rc-dropdown@npm:4.2.0" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.2.6" + rc-util: "npm:^5.17.0" + peerDependencies: + react: ">=16.11.0" + react-dom: ">=16.11.0" + checksum: 10/92aa4b13abf7814b5a692d9a902ea2c282289fb8a2a4325a28c8e6cb6f07ffda3e0c3bed64702bf9ddda3acb94f31337649af2e7024c13664ab4f2df4610ff80 + languageName: node + linkType: hard + +"rc-field-form@npm:~2.4.0": + version: 2.4.0 + resolution: "rc-field-form@npm:2.4.0" + dependencies: + "@babel/runtime": "npm:^7.18.0" + "@rc-component/async-validator": "npm:^5.0.3" + rc-util: "npm:^5.32.2" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/dcf6928749bd750e55a525e67cc012613d9660eae52401caf48760dac20ca665b4d302bed9c498386a7076c20fae767c1f1e235192685a4397b2207d371c8a1a + languageName: node + linkType: hard + +"rc-image@npm:~7.11.0": + version: 7.11.0 + resolution: "rc-image@npm:7.11.0" + dependencies: + "@babel/runtime": "npm:^7.11.2" + "@rc-component/portal": "npm:^1.0.2" + classnames: "npm:^2.2.6" + rc-dialog: "npm:~9.6.0" + rc-motion: "npm:^2.6.2" + rc-util: "npm:^5.34.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/e66cee768853cf2acde3c8e01a019352ec378afc11ab5093ff30477f7fe746eaefcba064a6410b0bcb232d2936bae47d3079ea5c4f6c3dc0e95adc5fbaae788b + languageName: node + linkType: hard + +"rc-input-number@npm:^7.4.2": + version: 7.4.2 + resolution: "rc-input-number@npm:7.4.2" + dependencies: + "@babel/runtime": "npm:^7.10.1" + "@rc-component/mini-decimal": "npm:^1.0.1" + classnames: "npm:^2.2.5" + rc-util: "npm:^5.28.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/af826860efeada4818e7c08c41a3f8811eafba35ea14af38bebf27aa0a912267f9fa01a88f62ca06c6ade88c8e5b38d6feb2f24eb27fe86f753d10c41c99f556 + languageName: node + linkType: hard + +"rc-input-number@npm:~9.2.0": + version: 9.2.0 + resolution: "rc-input-number@npm:9.2.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + "@rc-component/mini-decimal": "npm:^1.0.1" + classnames: "npm:^2.2.5" + rc-input: "npm:~1.6.0" + rc-util: "npm:^5.40.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/6e7b4778d911bdd16c0ad39b6519ec3145a88b222ce04ffe06daae0a751710be8db4233375ae9ccc703cc9ee738ab0e0eeb7019cd72755adb4ae3eb78dcce4e0 + languageName: node + linkType: hard + +"rc-input@npm:~1.6.0, rc-input@npm:~1.6.3": + version: 1.6.3 + resolution: "rc-input@npm:1.6.3" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.18.1" + peerDependencies: + react: ">=16.0.0" + react-dom: ">=16.0.0" + checksum: 10/e163a4105a5a7b18b88fc3c9cfa65fa36bf397c526843b30c0484eaab788feb0173b1f5af2fec26e6e31db4ec11b58a3619e35878bc4ea410e16e98f514ac664 + languageName: node + linkType: hard + +"rc-mentions@npm:~2.16.1": + version: 2.16.1 + resolution: "rc-mentions@npm:2.16.1" + dependencies: + "@babel/runtime": "npm:^7.22.5" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.2.6" + rc-input: "npm:~1.6.0" + rc-menu: "npm:~9.15.1" + rc-textarea: "npm:~1.8.0" + rc-util: "npm:^5.34.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/eedea461e0d8e6dff9aacc6fa0bf0617653e3f3cd020e7a0274c588a013f691c4475768372f9d680375de28c46c84a64a199d6a4c5ce8b5b09c57a4f3d8ff553 + languageName: node + linkType: hard + +"rc-menu@npm:^9.3.2": + version: 9.13.0 + resolution: "rc-menu@npm:9.13.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:2.x" + rc-motion: "npm:^2.4.3" + rc-overflow: "npm:^1.3.1" + rc-util: "npm:^5.27.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/afabaadadf662b67461bd7a6bfce982fdc0d6093e3e3d86049cd070e0acd7cd7c68fe76aaa59c7accda6fae657d7eec500728c717c82ea843f7eb58d60b8b30e + languageName: node + linkType: hard + +"rc-menu@npm:~9.15.1": + version: 9.15.1 + resolution: "rc-menu@npm:9.15.1" + dependencies: + "@babel/runtime": "npm:^7.10.1" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:2.x" + rc-motion: "npm:^2.4.3" + rc-overflow: "npm:^1.3.1" + rc-util: "npm:^5.27.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/9bcb2cfd9e59d371394ce7b5c1bf37f7dc3e46ee2b87580b500bd91c35cb53e0f156034e3937b2edf01bd8a5a3cfabd04ba567c66e4ab6042ee6bc744d70faa1 + languageName: node + linkType: hard + +"rc-menu@npm:~9.6.0": + version: 9.6.4 + resolution: "rc-menu@npm:9.6.4" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + rc-motion: "npm:^2.4.3" + rc-overflow: "npm:^1.2.0" + rc-trigger: "npm:^5.1.2" + rc-util: "npm:^5.12.0" + shallowequal: "npm:^1.1.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/fc76c236a5a645c80192750a62a9d4e5a4dcc4ac87f736794061820a66ef3094197edda89f450a5e4f108382ed9245ed104b38896eec98f764199adb84a64a05 + languageName: node + linkType: hard + +"rc-motion@npm:^2.0.0, rc-motion@npm:^2.4.3": + version: 2.9.0 + resolution: "rc-motion@npm:2.9.0" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.21.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/12bb290860865edbc8d08a731d377ccc62936a28bbfa83246cfca5b831843a6bfa8912c5ca3624823b28ab43e0ac46215f67e198729f6f6d91e826f64af514a9 + languageName: node + linkType: hard + +"rc-motion@npm:^2.0.1, rc-motion@npm:^2.3.0, rc-motion@npm:^2.3.4, rc-motion@npm:^2.4.4, rc-motion@npm:^2.6.1, rc-motion@npm:^2.6.2, rc-motion@npm:^2.9.0, rc-motion@npm:^2.9.2, rc-motion@npm:^2.9.3": + version: 2.9.3 + resolution: "rc-motion@npm:2.9.3" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.43.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/7468588fdcd49d707a5c4ad071fe2bbea82c704a48e639af7437655a523f35d80ee34cc290d8c7daf4c211fa6d2a27826d6d30eaede1accf8e384b4e61582ff6 + languageName: node + linkType: hard + +"rc-notification@npm:^5.6.0, rc-notification@npm:~5.6.2": + version: 5.6.2 + resolution: "rc-notification@npm:5.6.2" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + rc-motion: "npm:^2.9.0" + rc-util: "npm:^5.20.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/a1d084e3581b088b157e29b191225941684efa549ce64a8cbb84a397f04f56804f9694ef2b837308871ba41b35f61018ea024a90e448b756faf8ec52fd879239 + languageName: node + linkType: hard + +"rc-notification@npm:~3.3.1": + version: 3.3.1 + resolution: "rc-notification@npm:3.3.1" + dependencies: + babel-runtime: "npm:6.x" + classnames: "npm:2.x" + prop-types: "npm:^15.5.8" + rc-animate: "npm:2.x" + rc-util: "npm:^4.0.4" + checksum: 10/a02c04655efbe630b70cc71106de1fa3d1a8a242c463a4802e73ea7a473ee8e9095f8cc05357ab6693d65c27de66fa1bec5f6aecd08de4d4a2276aeb7c891678 + languageName: node + linkType: hard + +"rc-overflow@npm:^1.2.0, rc-overflow@npm:^1.3.1, rc-overflow@npm:^1.3.2": + version: 1.3.2 + resolution: "rc-overflow@npm:1.3.2" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-resize-observer: "npm:^1.0.0" + rc-util: "npm:^5.37.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/a35d6f035de9e5b71f5762ddaf9757770fadab7d5f5e6bf0451346cffb06027e9de75a8104ca782c71e381f55552588a350905a61083cd23d2fb6f24e2807007 + languageName: node + linkType: hard + +"rc-pagination@npm:~4.3.0": + version: 4.3.0 + resolution: "rc-pagination@npm:4.3.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.3.2" + rc-util: "npm:^5.38.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/5ffdf81ae46eccdf308d62483f5e7509a04f8fb60a5e65a2d52373db4e3f19ccf40d71d108fe8aa4c142a292d8688b1726e81fd62e922b914fcff207995fce05 + languageName: node + linkType: hard + +"rc-picker@npm:~4.6.15": + version: 4.6.15 + resolution: "rc-picker@npm:4.6.15" + dependencies: + "@babel/runtime": "npm:^7.24.7" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.2.1" + rc-overflow: "npm:^1.3.2" + rc-resize-observer: "npm:^1.4.0" + rc-util: "npm:^5.43.0" + peerDependencies: + date-fns: ">= 2.x" + dayjs: ">= 1.x" + luxon: ">= 3.x" + moment: ">= 2.x" + react: ">=16.9.0" + react-dom: ">=16.9.0" + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + checksum: 10/62f7fe5473d01bc52bf3f06f789d9b3386a0624f39f45ca6e4aa3f25e8b98a3df3ef94498b4b2af2b364fb03cdd9f3c434342f41be6594a07fa452cd8bcdbac1 + languageName: node + linkType: hard + +"rc-progress@npm:~4.0.0": + version: 4.0.0 + resolution: "rc-progress@npm:4.0.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.2.6" + rc-util: "npm:^5.16.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/c65efbc45fced051715647538c1ebe70a6da761ca6691455d72d38dcbba41d5bb5e7f7de38d4bb8e8939645a2cd120e8d5b2b8690b6d6bb4fa4cf6848700a2d8 + languageName: node + linkType: hard + +"rc-rate@npm:~2.13.0": + version: 2.13.0 + resolution: "rc-rate@npm:2.13.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.2.5" + rc-util: "npm:^5.0.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/ad56526e394245cb610066e44e9ea90e5febb91a45a144a9485d828aa55706ec83df2f5008d692d153ac8be82a9ea265eae8fee0d6a9b0f802e8e4fb5bcb6b6f + languageName: node + linkType: hard + +"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.1.0, rc-resize-observer@npm:^1.3.1, rc-resize-observer@npm:^1.4.0": + version: 1.4.0 + resolution: "rc-resize-observer@npm:1.4.0" + dependencies: + "@babel/runtime": "npm:^7.20.7" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.38.0" + resize-observer-polyfill: "npm:^1.5.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/20af15f915f55f8e046402a209e0de30ecbf720c9a6131aa9d9451f77af9d837fd79dad9218cbbffe200f5d2503a2c03525b1eb38b5c6c21aed2827d535c1e5a + languageName: node + linkType: hard + +"rc-segmented@npm:~2.5.0": + version: 2.5.0 + resolution: "rc-segmented@npm:2.5.0" + dependencies: + "@babel/runtime": "npm:^7.11.1" + classnames: "npm:^2.2.1" + rc-motion: "npm:^2.4.4" + rc-util: "npm:^5.17.0" + peerDependencies: + react: ">=16.0.0" + react-dom: ">=16.0.0" + checksum: 10/f1389a3e0aa0727116ee9adc7861a63dc41c3e0fc8ec9c624cbb51ade433f07784bef328474a375f475a4b218c8551ab915c4152d11160388db93ecb34b4ba95 + languageName: node + linkType: hard + +"rc-select@npm:~14.15.0, rc-select@npm:~14.15.2": + version: 14.15.2 + resolution: "rc-select@npm:14.15.2" + dependencies: + "@babel/runtime": "npm:^7.10.1" + "@rc-component/trigger": "npm:^2.1.1" + classnames: "npm:2.x" + rc-motion: "npm:^2.0.1" + rc-overflow: "npm:^1.3.1" + rc-util: "npm:^5.16.1" + rc-virtual-list: "npm:^3.5.2" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10/707d9de38aaf83063ede754a925b56d6f02740197a3bed93f886c132ce797321d9e70a2fe32cff0546c54d9a11414d6d2c8fc1f914ac665fa11ad2b30a08bc85 + languageName: node + linkType: hard + +"rc-slider@npm:~11.1.7": + version: 11.1.7 + resolution: "rc-slider@npm:11.1.7" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:^2.2.5" + rc-util: "npm:^5.36.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/3b484d7ba4e4b6fc695666c27b767622c64b5819d0386cc0afb6d186c08f8ed4f93dd72f55377af9a957c77ee77db4d7fa73f85ccdaab0f39d9670daf42a17c5 + languageName: node + linkType: hard + +"rc-steps@npm:~6.0.1": + version: 6.0.1 + resolution: "rc-steps@npm:6.0.1" + dependencies: + "@babel/runtime": "npm:^7.16.7" + classnames: "npm:^2.2.3" + rc-util: "npm:^5.16.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/4b4ae96caae47e7ac46351cb97e62d23a8193647781d615d12f6bd83ae8669f453f776045d2c877bffe6a06439c33c21f7e6d1b6ba6e70220880c5f2f2147d53 languageName: node linkType: hard -"rc-input-number@npm:^7.4.2": - version: 7.4.2 - resolution: "rc-input-number@npm:7.4.2" +"rc-switch@npm:~4.1.0": + version: 4.1.0 + resolution: "rc-switch@npm:4.1.0" dependencies: - "@babel/runtime": "npm:^7.10.1" - "@rc-component/mini-decimal": "npm:^1.0.1" - classnames: "npm:^2.2.5" - rc-util: "npm:^5.28.0" + "@babel/runtime": "npm:^7.21.0" + classnames: "npm:^2.2.1" + rc-util: "npm:^5.30.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10/af826860efeada4818e7c08c41a3f8811eafba35ea14af38bebf27aa0a912267f9fa01a88f62ca06c6ade88c8e5b38d6feb2f24eb27fe86f753d10c41c99f556 + checksum: 10/20e310e1b05515804048aeff1b76c52c00a45ec46c9dd4d5504fa452b25a96ff0f6cc634b7608a360139acd337a308302ea6a7f3218817383e09af189966ab94 languageName: node linkType: hard -"rc-menu@npm:^9.3.2": - version: 9.13.0 - resolution: "rc-menu@npm:9.13.0" +"rc-table@npm:~7.47.5": + version: 7.47.5 + resolution: "rc-table@npm:7.47.5" dependencies: "@babel/runtime": "npm:^7.10.1" - "@rc-component/trigger": "npm:^2.0.0" - classnames: "npm:2.x" - rc-motion: "npm:^2.4.3" - rc-overflow: "npm:^1.3.1" - rc-util: "npm:^5.27.0" + "@rc-component/context": "npm:^1.4.0" + classnames: "npm:^2.2.5" + rc-resize-observer: "npm:^1.1.0" + rc-util: "npm:^5.41.0" + rc-virtual-list: "npm:^3.14.2" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10/afabaadadf662b67461bd7a6bfce982fdc0d6093e3e3d86049cd070e0acd7cd7c68fe76aaa59c7accda6fae657d7eec500728c717c82ea843f7eb58d60b8b30e + checksum: 10/ba7cb5057dcf2e0be99d8d35566f03905b53f554ef3b0fc2e3ce1ace1939c1f09046cd7e1ed5b953ca8c3c2be95f62085cfdcc572aea0ed5572c3e0de3439919 languageName: node linkType: hard -"rc-motion@npm:^2.0.0, rc-motion@npm:^2.4.3": - version: 2.9.0 - resolution: "rc-motion@npm:2.9.0" +"rc-tabs@npm:^11.10.1": + version: 11.16.1 + resolution: "rc-tabs@npm:11.16.1" dependencies: - "@babel/runtime": "npm:^7.11.1" - classnames: "npm:^2.2.1" - rc-util: "npm:^5.21.0" + "@babel/runtime": "npm:^7.11.2" + classnames: "npm:2.x" + rc-dropdown: "npm:~4.0.0" + rc-menu: "npm:~9.6.0" + rc-resize-observer: "npm:^1.0.0" + rc-util: "npm:^5.5.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10/12bb290860865edbc8d08a731d377ccc62936a28bbfa83246cfca5b831843a6bfa8912c5ca3624823b28ab43e0ac46215f67e198729f6f6d91e826f64af514a9 + checksum: 10/6e8e790c378399cc2bdbde3c464cccc8e4e72b610adf4e2e49bd7b38ecc114d3853722a392c0ba2da640490f070eaa0e24214899dc3a7b492ef0df5298fb273d languageName: node linkType: hard -"rc-notification@npm:~3.3.1": - version: 3.3.1 - resolution: "rc-notification@npm:3.3.1" +"rc-tabs@npm:~15.3.0": + version: 15.3.0 + resolution: "rc-tabs@npm:15.3.0" dependencies: - babel-runtime: "npm:6.x" + "@babel/runtime": "npm:^7.11.2" classnames: "npm:2.x" - prop-types: "npm:^15.5.8" - rc-animate: "npm:2.x" - rc-util: "npm:^4.0.4" - checksum: 10/a02c04655efbe630b70cc71106de1fa3d1a8a242c463a4802e73ea7a473ee8e9095f8cc05357ab6693d65c27de66fa1bec5f6aecd08de4d4a2276aeb7c891678 + rc-dropdown: "npm:~4.2.0" + rc-menu: "npm:~9.15.1" + rc-motion: "npm:^2.6.2" + rc-resize-observer: "npm:^1.0.0" + rc-util: "npm:^5.34.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/17d20aad12db75954cc283aeaed1bf80d288ed63a049178ca0960d5284db25899b0dea51c2826aa1822ac5aee8d68d28441eac5bab048f12af1dd3982147e8d8 languageName: node linkType: hard -"rc-overflow@npm:^1.3.1": - version: 1.3.2 - resolution: "rc-overflow@npm:1.3.2" +"rc-textarea@npm:~1.8.0, rc-textarea@npm:~1.8.2": + version: 1.8.2 + resolution: "rc-textarea@npm:1.8.2" dependencies: - "@babel/runtime": "npm:^7.11.1" + "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.2.1" + rc-input: "npm:~1.6.0" rc-resize-observer: "npm:^1.0.0" - rc-util: "npm:^5.37.0" + rc-util: "npm:^5.27.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10/a35d6f035de9e5b71f5762ddaf9757770fadab7d5f5e6bf0451346cffb06027e9de75a8104ca782c71e381f55552588a350905a61083cd23d2fb6f24e2807007 + checksum: 10/033145ca79888c4d53a3604829a7b8205610e8ac01e518eadbdf290c981da995a5863e151fa434caeebbf4c0872fbf693fa4a71ebbb098cc0dcda0b44158825b languageName: node linkType: hard -"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.3.1": - version: 1.4.0 - resolution: "rc-resize-observer@npm:1.4.0" +"rc-tooltip@npm:^5.1.1": + version: 5.3.1 + resolution: "rc-tooltip@npm:5.3.1" dependencies: - "@babel/runtime": "npm:^7.20.7" - classnames: "npm:^2.2.1" - rc-util: "npm:^5.38.0" - resize-observer-polyfill: "npm:^1.5.1" + "@babel/runtime": "npm:^7.11.2" + classnames: "npm:^2.3.1" + rc-trigger: "npm:^5.3.1" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10/20af15f915f55f8e046402a209e0de30ecbf720c9a6131aa9d9451f77af9d837fd79dad9218cbbffe200f5d2503a2c03525b1eb38b5c6c21aed2827d535c1e5a + checksum: 10/c7627fbfae753a0e73548d1f93329a5132d76727f737d4eedc5a142f2950986f429dae11b5d8bc13f39bd72a631a22cb32f3b8aaad83bfdde770c19e220708bf languageName: node linkType: hard @@ -16741,6 +20518,52 @@ __metadata: languageName: node linkType: hard +"rc-tooltip@npm:~6.2.1": + version: 6.2.1 + resolution: "rc-tooltip@npm:6.2.1" + dependencies: + "@babel/runtime": "npm:^7.11.2" + "@rc-component/trigger": "npm:^2.0.0" + classnames: "npm:^2.3.1" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/a82064d6d521ba4c03d074505402f6c38f9f50439037235969546b694e38977bab3420b46080bde295aca2436e6725d64b0a330a5ccdd51932deabbb1bf7585b + languageName: node + linkType: hard + +"rc-tree-select@npm:~5.23.0": + version: 5.23.0 + resolution: "rc-tree-select@npm:5.23.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + rc-select: "npm:~14.15.0" + rc-tree: "npm:~5.9.0" + rc-util: "npm:^5.16.1" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10/c39c3ce6c1738e39f4ca1e232378002bbcb7faa8b1bd9a132941cc1d9629e7d00207bc67141f1bf048573bf21f3035c5fc3e7daf4e78ccc6552475bea2c405ad + languageName: node + linkType: hard + +"rc-tree@npm:~5.9.0": + version: 5.9.0 + resolution: "rc-tree@npm:5.9.0" + dependencies: + "@babel/runtime": "npm:^7.10.1" + classnames: "npm:2.x" + rc-motion: "npm:^2.0.1" + rc-util: "npm:^5.16.1" + rc-virtual-list: "npm:^3.5.1" + peerDependencies: + react: "*" + react-dom: "*" + checksum: 10/d7525c4a524c6de8e177ebc90fe9b924046951a02bacee85efd4529fb05a66add936802b43d5ca8d84469f9c63b8d542437365b911480f62a78e03e2c7fbaca0 + languageName: node + linkType: hard + "rc-trigger@npm:^2.5.1": version: 2.6.5 resolution: "rc-trigger@npm:2.6.5" @@ -16756,7 +20579,37 @@ __metadata: languageName: node linkType: hard -"rc-util@npm:^4.0.4, rc-util@npm:^4.15.3, rc-util@npm:^4.16.1, rc-util@npm:^4.4.0": +"rc-trigger@npm:^5.0.4, rc-trigger@npm:^5.1.2, rc-trigger@npm:^5.3.1": + version: 5.3.4 + resolution: "rc-trigger@npm:5.3.4" + dependencies: + "@babel/runtime": "npm:^7.18.3" + classnames: "npm:^2.2.6" + rc-align: "npm:^4.0.0" + rc-motion: "npm:^2.0.0" + rc-util: "npm:^5.19.2" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/32e0a3083ecea27b44d47c8638e399fadab658fe48a526b0f072011acd99f5b26871a9b3c07fc7f121ddbec900e41bf3eb9085a7be18aa66007aae7fd311b1f9 + languageName: node + linkType: hard + +"rc-upload@npm:~4.8.1": + version: 4.8.1 + resolution: "rc-upload@npm:4.8.1" + dependencies: + "@babel/runtime": "npm:^7.18.3" + classnames: "npm:^2.2.5" + rc-util: "npm:^5.2.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/aa8703d2f79a2ed3a0ba751844a6f6b1081af4ef79cf039a3912521bb71b8155ce0531b63adeb75dd94e4df6cc8249b2214207a668ffac1108c51326100e32f3 + languageName: node + linkType: hard + +"rc-util@npm:^4.0.4, rc-util@npm:^4.15.3, rc-util@npm:^4.16.1, rc-util@npm:^4.21.1, rc-util@npm:^4.4.0": version: 4.21.1 resolution: "rc-util@npm:4.21.1" dependencies: @@ -16769,6 +20622,19 @@ __metadata: languageName: node linkType: hard +"rc-util@npm:^5.0.1, rc-util@npm:^5.12.0, rc-util@npm:^5.16.1, rc-util@npm:^5.17.0, rc-util@npm:^5.18.1, rc-util@npm:^5.19.2, rc-util@npm:^5.2.0, rc-util@npm:^5.20.1, rc-util@npm:^5.25.2, rc-util@npm:^5.26.0, rc-util@npm:^5.30.0, rc-util@npm:^5.31.1, rc-util@npm:^5.32.2, rc-util@npm:^5.34.1, rc-util@npm:^5.35.0, rc-util@npm:^5.36.0, rc-util@npm:^5.38.1, rc-util@npm:^5.40.1, rc-util@npm:^5.41.0, rc-util@npm:^5.43.0, rc-util@npm:^5.5.0": + version: 5.43.0 + resolution: "rc-util@npm:5.43.0" + dependencies: + "@babel/runtime": "npm:^7.18.3" + react-is: "npm:^18.2.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/6d5be9d79182c6b4c5a033ad6517b2940d3d2ac42a8e77ef5735591d182f8236f61bc7628d61e82a122d2046ec849462f3fe57c08d3a2a20279646785c34ec4a + languageName: node + linkType: hard + "rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.27.0, rc-util@npm:^5.28.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.9.4": version: 5.39.1 resolution: "rc-util@npm:5.39.1" @@ -16782,6 +20648,21 @@ __metadata: languageName: node linkType: hard +"rc-virtual-list@npm:^3.14.2, rc-virtual-list@npm:^3.5.1, rc-virtual-list@npm:^3.5.2": + version: 3.14.8 + resolution: "rc-virtual-list@npm:3.14.8" + dependencies: + "@babel/runtime": "npm:^7.20.0" + classnames: "npm:^2.2.6" + rc-resize-observer: "npm:^1.0.0" + rc-util: "npm:^5.36.0" + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10/4f37f6adef15d5aeb15120d83ef34ecc73aae0ae274552e2062ef1d8f0b76073a3baa2fe4f7354da94e6c51920f5cc44d7a6c00cc54f80b8eff49353356e132a + languageName: node + linkType: hard + "rc@npm:^1.2.7": version: 1.2.8 resolution: "rc@npm:1.2.8" @@ -16825,6 +20706,40 @@ __metadata: languageName: node linkType: hard +"react-dnd-html5-backend@npm:^16.0.1": + version: 16.0.1 + resolution: "react-dnd-html5-backend@npm:16.0.1" + dependencies: + dnd-core: "npm:^16.0.1" + checksum: 10/fa0feacc01ba8c923fc21461cc5919a856f09384f9a684b4c70ab9cdddc4a6ec64f0de4f65946a8061284ed92c5e3104caca56ae58884235604898a909d82e90 + languageName: node + linkType: hard + +"react-dnd@npm:^16.0.1": + version: 16.0.1 + resolution: "react-dnd@npm:16.0.1" + dependencies: + "@react-dnd/invariant": "npm:^4.0.1" + "@react-dnd/shallowequal": "npm:^4.0.1" + dnd-core: "npm:^16.0.1" + fast-deep-equal: "npm:^3.1.3" + hoist-non-react-statics: "npm:^3.3.2" + peerDependencies: + "@types/hoist-non-react-statics": ">= 3.3.1" + "@types/node": ">= 12" + "@types/react": ">= 16" + react: ">= 16.14" + peerDependenciesMeta: + "@types/hoist-non-react-statics": + optional: true + "@types/node": + optional: true + "@types/react": + optional: true + checksum: 10/e27cf5156c306d183585099854c597266eda014c51e7dfca657f7099d5db0a09a4fe07e4c8cbc3b04ca613b805878a8f97f23cc8e13887dbfb1f05efbe5a12e7 + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -16855,7 +20770,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.12.0, react-is@npm:^16.13.1": +"react-is@npm:^16.12.0, react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: 10/5aa564a1cde7d391ac980bedee21202fc90bdea3b399952117f54fb71a932af1e5902020144fb354b4690b2414a0c7aafe798eb617b76a3d441d956db7726fdf @@ -16913,6 +20828,23 @@ __metadata: languageName: node linkType: hard +"react-virtualized@npm:^9.22.5": + version: 9.22.5 + resolution: "react-virtualized@npm:9.22.5" + dependencies: + "@babel/runtime": "npm:^7.7.2" + clsx: "npm:^1.0.4" + dom-helpers: "npm:^5.1.3" + loose-envify: "npm:^1.4.0" + prop-types: "npm:^15.7.2" + react-lifecycles-compat: "npm:^3.0.4" + peerDependencies: + react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 + react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 + checksum: 10/90baad7426478d9f2bcaee27a16f4f9529fcbd7eeb12c2f3496458ed9702d9056d7728e80a66422341683c8b3707c6aae80f9d583c0617603449e355d099147d + languageName: node + linkType: hard + "react-virtuoso@npm:^3.1.5": version: 3.1.5 resolution: "react-virtuoso@npm:3.1.5" @@ -17042,7 +20974,19 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.1, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": +"readable-stream@npm:>=1.0.33-1 <1.1.0-0": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.1" + isarray: "npm:0.0.1" + string_decoder: "npm:~0.10.x" + checksum: 10/20537fca5a8ffd4af0f483be1cce0e981ed8cbb1087e0c762e2e92ae77f1005627272cebed8422f28047b465056aa1961fefd24baf532ca6a3616afea6811ae0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -17127,6 +21071,15 @@ __metadata: languageName: node linkType: hard +"redux@npm:^4.2.0": + version: 4.2.1 + resolution: "redux@npm:4.2.1" + dependencies: + "@babel/runtime": "npm:^7.9.2" + checksum: 10/371e4833b671193303a7dea7803c8fdc8e0d566740c78f580e0a3b77b4161da25037626900a2205a5d616117fa6ad09a4232e5a110bd437186b5c6355a041750 + languageName: node + linkType: hard + "reflect-metadata@npm:^0.1.13": version: 0.1.14 resolution: "reflect-metadata@npm:0.1.14" @@ -17167,6 +21120,93 @@ __metadata: languageName: node linkType: hard +"regl-error2d@npm:^2.0.12": + version: 2.0.12 + resolution: "regl-error2d@npm:2.0.12" + dependencies: + array-bounds: "npm:^1.0.1" + color-normalize: "npm:^1.5.0" + flatten-vertex-data: "npm:^1.0.2" + object-assign: "npm:^4.1.1" + pick-by-alias: "npm:^1.2.0" + to-float32: "npm:^1.1.0" + update-diff: "npm:^1.1.0" + checksum: 10/8da5684a61a6cc9867760ad1aeb082e22877cd3068694bf180bf4fcfdf028341fe6d0541cadb22548ea0ea406417170726ad16b88428cab755d6f0a656315582 + languageName: node + linkType: hard + +"regl-line2d@npm:^3.1.3": + version: 3.1.3 + resolution: "regl-line2d@npm:3.1.3" + dependencies: + array-bounds: "npm:^1.0.1" + array-find-index: "npm:^1.0.2" + array-normalize: "npm:^1.1.4" + color-normalize: "npm:^1.5.0" + earcut: "npm:^2.1.5" + es6-weak-map: "npm:^2.0.3" + flatten-vertex-data: "npm:^1.0.2" + object-assign: "npm:^4.1.1" + parse-rect: "npm:^1.2.0" + pick-by-alias: "npm:^1.2.0" + to-float32: "npm:^1.1.0" + checksum: 10/153171883159f0e7598c43d98af5a1c47eae8fd81d99575b3bdea332c414434ba7e4a75c8922fedb653b0f8bf05daed7e2c99331d30ac8c0250e232b50877d08 + languageName: node + linkType: hard + +"regl-scatter2d@npm:^3.2.3, regl-scatter2d@npm:^3.3.1": + version: 3.3.1 + resolution: "regl-scatter2d@npm:3.3.1" + dependencies: + "@plotly/point-cluster": "npm:^3.1.9" + array-range: "npm:^1.0.1" + array-rearrange: "npm:^2.2.2" + clamp: "npm:^1.0.1" + color-id: "npm:^1.1.0" + color-normalize: "npm:^1.5.0" + color-rgba: "npm:^2.1.1" + flatten-vertex-data: "npm:^1.0.2" + glslify: "npm:^7.0.0" + is-iexplorer: "npm:^1.0.0" + object-assign: "npm:^4.1.1" + parse-rect: "npm:^1.2.0" + pick-by-alias: "npm:^1.2.0" + to-float32: "npm:^1.1.0" + update-diff: "npm:^1.1.0" + checksum: 10/df0c16538c5a9ae280506cf21d604a08d1c711e98dd549228c37e84623d93c2450c5f20a79aca0665ad6972888888afec43d8b5a717cd562eeecd188492e987f + languageName: node + linkType: hard + +"regl-splom@npm:^1.0.14": + version: 1.0.14 + resolution: "regl-splom@npm:1.0.14" + dependencies: + array-bounds: "npm:^1.0.1" + array-range: "npm:^1.0.1" + color-alpha: "npm:^1.0.4" + flatten-vertex-data: "npm:^1.0.2" + parse-rect: "npm:^1.2.0" + pick-by-alias: "npm:^1.2.0" + raf: "npm:^3.4.1" + regl-scatter2d: "npm:^3.2.3" + checksum: 10/e749729a3b0593b2de09080201832ceaee8625431b84fe60955803647ed112fe21d71ab997f6dc78c58171727c690cc23db32180ee528ec0071db5ea3ddb6eea + languageName: node + linkType: hard + +"regl@npm:@plotly/regl@^2.1.2": + version: 2.1.2 + resolution: "@plotly/regl@npm:2.1.2" + checksum: 10/1e951d5161c3991efb98e3d33a38089306b4c2119d337d7f128d9474f2ff5eb91dd2fce7a0ca290e459432f10568f65ff3db37122c558fe55a270890093ca661 + languageName: node + linkType: hard + +"regl@npm:^2.0.0": + version: 2.1.0 + resolution: "regl@npm:2.1.0" + checksum: 10/01d0b4ef8f32fe8dc195a047afb322917a3be43faf8a38d192d0f202bd101efebeed72b7d177980a7384428136515cb829ff1f756508f3cfaa755690453397dc + languageName: node + linkType: hard + "relateurl@npm:^0.2.7": version: 0.2.7 resolution: "relateurl@npm:0.2.7" @@ -17288,6 +21328,15 @@ __metadata: languageName: node linkType: hard +"resolve-protobuf-schema@npm:^2.1.0": + version: 2.1.0 + resolution: "resolve-protobuf-schema@npm:2.1.0" + dependencies: + protocol-buffers-schema: "npm:^3.3.1" + checksum: 10/88fffab2a3757888884a36f9aa4e24be5186b01820a8c26297dc1ce406b9daf776594926bdf524c2c8e8e5b0aba8ac48362b6584cdecc9a7083215ebca01c599 + languageName: node + linkType: hard + "resolve.exports@npm:^2.0.0": version: 2.0.2 resolution: "resolve.exports@npm:2.0.2" @@ -17295,7 +21344,14 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.3, resolve@npm:^1.22.4": +"resolve@npm:^0.6.1": + version: 0.6.3 + resolution: "resolve@npm:0.6.3" + checksum: 10/b9218564ae02ebe3787559ec3a86c3580ae633df7e43cf4dd83f061185c20018e713849b2d746084376ca9b477a68869345ab99ea95975047ca072f96b6a81fc + languageName: node + linkType: hard + +"resolve@npm:^1.0.0, resolve@npm:^1.1.10, resolve@npm:^1.1.5, resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.3, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -17308,7 +21364,14 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^0.6.1#optional!builtin": + version: 0.6.3 + resolution: "resolve@patch:resolve@npm%3A0.6.3#optional!builtin::version=0.6.3&hash=3bafbf" + checksum: 10/351ad2c8d0124ccce535a321da7415dd6e180aa77d113ee3b177fcd3a843d803b351620b64fe857da6328b230179f81175ab0fb50c9be0447ce6235302cefb48 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.1.10#optional!builtin, resolve@patch:resolve@npm%3A^1.1.5#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -17378,6 +21441,13 @@ __metadata: languageName: node linkType: hard +"right-now@npm:^1.0.0": + version: 1.0.0 + resolution: "right-now@npm:1.0.0" + checksum: 10/3969ddeceff4f7ca04dd368328fd04929a88161fe425219da54038a9a60be515961419afcdc2c910341cb28c0cfda3df689102cb6f68559694cb15a962819e46 + languageName: node + linkType: hard + "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -17478,6 +21548,13 @@ __metadata: languageName: node linkType: hard +"rw@npm:^1.3.3": + version: 1.3.3 + resolution: "rw@npm:1.3.3" + checksum: 10/e90985d64777a00f4ab5f8c0bfea2fb5645c6bda5238840afa339c8a4f86f776e8ce83731155643a7425a0b27ce89077dab27b2f57519996ba4d2fe54cac1941 + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -17531,6 +21608,27 @@ __metadata: languageName: node linkType: hard +"sanitize-html@npm:^2.7.2": + version: 2.13.1 + resolution: "sanitize-html@npm:2.13.1" + dependencies: + deepmerge: "npm:^4.2.2" + escape-string-regexp: "npm:^4.0.0" + htmlparser2: "npm:^8.0.0" + is-plain-object: "npm:^5.0.0" + parse-srcset: "npm:^1.0.2" + postcss: "npm:^8.3.11" + checksum: 10/c6c3218ebd4d50650efc6927eb988e1fe501f9d4d8a5cefaa7c60a158c004f0cde4f3c580b0f74f37d4c640e9cc912b763fa7a154fd121173bcdd9f3f72dbc11 + languageName: node + linkType: hard + +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10/b1c784b545019187b53a0c28edb4f6314951c971e2963a69739c6ce222bfbc767e54d320e689352daba79b7d5e06d22b5d7113b99336219d6e93718e2f99d335 + languageName: node + linkType: hard + "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -17572,6 +21670,15 @@ __metadata: languageName: node linkType: hard +"scroll-into-view-if-needed@npm:^3.1.0": + version: 3.1.0 + resolution: "scroll-into-view-if-needed@npm:3.1.0" + dependencies: + compute-scroll-into-view: "npm:^3.0.2" + checksum: 10/1ea10d84b79db592493ed22563e307a4eaf858527b4c345e70cc26b9c51383636edda31a09d383541fafb5b50a94e59384d85351662cb7d6e5d70805c0d18798 + languageName: node + linkType: hard + "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -17742,6 +21849,18 @@ __metadata: languageName: node linkType: hard +"set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: "npm:^2.0.1" + is-extendable: "npm:^0.1.1" + is-plain-object: "npm:^2.0.3" + split-string: "npm:^3.0.1" + checksum: 10/4f1ccac2e9ad4d1b0851761d41df4bbd3780ed69805f24a80ab237a56d9629760b7b98551cd370931620defe5da329645834e1e9a18574cecad09ce7b2b83296 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.4": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -17784,6 +21903,13 @@ __metadata: languageName: node linkType: hard +"shallow-copy@npm:0.0.1": + version: 0.0.1 + resolution: "shallow-copy@npm:0.0.1" + checksum: 10/916c3a8d687f4eea9f257f08b8c5c2e55aa092fee0f22ca86f241047a45a974af7df86a9169cfb7b7919a827f5095885928ec98e5bf8e17f076bac4f321639a6 + languageName: node + linkType: hard + "shallowequal@npm:^1.1.0": version: 1.1.0 resolution: "shallowequal@npm:1.1.0" @@ -17901,6 +22027,13 @@ __metadata: languageName: node linkType: hard +"signum@npm:^1.0.0": + version: 1.0.0 + resolution: "signum@npm:1.0.0" + checksum: 10/189908d4a97f9f47c56d28069f7e626e463c6e3be66f197cea2568f80f04cf7d1780b55e8995209bb1e341106b914b733f2d2d96f5095401e20c9048fb93f236 + languageName: node + linkType: hard + "sigstore@npm:^1.4.0": version: 1.9.0 resolution: "sigstore@npm:1.9.0" @@ -18077,12 +22210,40 @@ __metadata: languageName: node linkType: hard +"sort-asc@npm:^0.2.0": + version: 0.2.0 + resolution: "sort-asc@npm:0.2.0" + checksum: 10/b3610ab695dc8b2cba1c3e6ead06ce97a41f013ed0a002ff7a0d2a39ca297fd2f58c92d3de67dda3a9313ecb1073de4eacc30da3a740ff8d57eb668c9bb151bd + languageName: node + linkType: hard + +"sort-desc@npm:^0.2.0": + version: 0.2.0 + resolution: "sort-desc@npm:0.2.0" + checksum: 10/fb2c02ea38815c79c0127d014f18926a473a1988c01f4c00de467584b99fc7e9f6e4f61c8386f4c2ac3501c60842931c5a499330b3086be6d8cff4d0b8602bed + languageName: node + linkType: hard + "sort-keys@npm:^2.0.0": version: 2.0.0 resolution: "sort-keys@npm:2.0.0" dependencies: - is-plain-obj: "npm:^1.0.0" - checksum: 10/255f9fb393ef60a3db508e0cc5b18ef401127dbb2376b205ae27d168e245fc0d6b35267dde98fab6410dde684c9321f7fc8bf71f2b051761973231617753380d + is-plain-obj: "npm:^1.0.0" + checksum: 10/255f9fb393ef60a3db508e0cc5b18ef401127dbb2376b205ae27d168e245fc0d6b35267dde98fab6410dde684c9321f7fc8bf71f2b051761973231617753380d + languageName: node + linkType: hard + +"sort-object@npm:^3.0.3": + version: 3.0.3 + resolution: "sort-object@npm:3.0.3" + dependencies: + bytewise: "npm:^1.1.0" + get-value: "npm:^2.0.2" + is-extendable: "npm:^0.1.1" + sort-asc: "npm:^0.2.0" + sort-desc: "npm:^0.2.0" + union-value: "npm:^1.0.1" + checksum: 10/381a6b6fe2309d400bd6ae3a8d0188b2b3b3855345d16d953b4bb5875d28fd5512501c85bd4eb951543056cd3095ff8e197ab3efc11389dcfa0e3334bf4a23a5 languageName: node linkType: hard @@ -18100,6 +22261,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 + languageName: node + linkType: hard + "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -18207,6 +22375,22 @@ __metadata: languageName: node linkType: hard +"split-on-first@npm:^3.0.0": + version: 3.0.0 + resolution: "split-on-first@npm:3.0.0" + checksum: 10/75dc27ecbac65cfbeab9a3b90cf046307220192d3d7a30e46aa0f19571cc9b4802aac813f3de2cc9b16f2e46aae72f275659b5d2614bb5369c77724d739e5f73 + languageName: node + linkType: hard + +"split-string@npm:^3.0.1": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: "npm:^3.0.0" + checksum: 10/f31f4709d2b14fe4ff46b4fb88b2fb68a1c59b59e573c5417907c182397ddb2cb67903232bdc3a8b9dd3bb660c6f533ff11b5d624aff7b1fe0a213e3e4c75f20 + languageName: node + linkType: hard + "split2@npm:^3.2.2": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -18271,6 +22455,13 @@ __metadata: languageName: node linkType: hard +"stack-trace@npm:0.0.9": + version: 0.0.9 + resolution: "stack-trace@npm:0.0.9" + checksum: 10/527698baf4a8d63ed8e4d77ec7206609051959341c953d0f84ccaeb8b2572ad261f25d7908bca3b9eab5d820fe0b06f670b4e412898131bbab7371ab5d7fe04b + languageName: node + linkType: hard + "stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" @@ -18280,6 +22471,15 @@ __metadata: languageName: node linkType: hard +"static-eval@npm:^2.0.5": + version: 2.1.1 + resolution: "static-eval@npm:2.1.1" + dependencies: + escodegen: "npm:^2.1.0" + checksum: 10/b47e8238014745ea457f2dc9e14130298ce5dbec142a5c93a943f338fe1b47d03086d1897114e15d8603a9a7a39fed95bb49ccd3fa95dfc1550952eca0688417 + languageName: node + linkType: hard + "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -18316,6 +22516,22 @@ __metadata: languageName: node linkType: hard +"stream-parser@npm:~0.3.1": + version: 0.3.1 + resolution: "stream-parser@npm:0.3.1" + dependencies: + debug: "npm:2" + checksum: 10/1ea2bbbb4e3ac39875048b8305c273d03864965275b4b2624418a9622747f7a891817782b31facc3e57c4b083c5dd704739a4b1685d55b34fe75809a03788344 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0": + version: 1.0.3 + resolution: "stream-shift@npm:1.0.3" + checksum: 10/a24c0a3f66a8f9024bd1d579a533a53be283b4475d4e6b4b3211b964031447bdf6532dd1f3c2b0ad66752554391b7c62bd7ca4559193381f766534e723d50242 + languageName: node + linkType: hard + "streamifier@npm:^0.1.1": version: 0.1.1 resolution: "streamifier@npm:0.1.1" @@ -18330,6 +22546,13 @@ __metadata: languageName: node linkType: hard +"string-convert@npm:^0.2.0": + version: 0.2.1 + resolution: "string-convert@npm:0.2.1" + checksum: 10/f3eb484a45d29aa2ba2d9fe0471c971d5a56353633b56a4c8bc3e67237a2cdb1b6437f006a67d489b3d41e0a1c1f02e18d334c161a27fd7219e4aee1a9f68aac + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -18340,6 +22563,15 @@ __metadata: languageName: node linkType: hard +"string-split-by@npm:^1.0.0": + version: 1.0.0 + resolution: "string-split-by@npm:1.0.0" + dependencies: + parenthesis: "npm:^3.1.5" + checksum: 10/59b338ce70a680d275478cb7cd4e45e1df6f29fe33272adfee8009cecfa25b23de7f57241205a101bec5cf3416334235d3fe71da05608b6605a83753358a829b + languageName: node + linkType: hard + "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -18426,6 +22658,13 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: 10/cc43e6b1340d4c7843da0e37d4c87a4084c2342fc99dcf6563c3ec273bb082f0cbd4ebf25d5da19b04fb16400d393885fda830be5128e1c416c73b5a6165f175 + languageName: node + linkType: hard + "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -18549,6 +22788,13 @@ __metadata: languageName: node linkType: hard +"strongly-connected-components@npm:^1.0.1": + version: 1.0.1 + resolution: "strongly-connected-components@npm:1.0.1" + checksum: 10/f731c4a1e9b02b9d19a419e6bf1f901b1a7369cb4e0edca3b7ecb6c5076d2afe151ba12103669156594b2c2186ec9cffbd84f9d45c7e7928373d705e7ff7c3b2 + languageName: node + linkType: hard + "strtok3@npm:^6.2.4": version: 6.3.0 resolution: "strtok3@npm:6.3.0" @@ -18568,6 +22814,22 @@ __metadata: languageName: node linkType: hard +"style-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "style-loader@npm:4.0.0" + peerDependencies: + webpack: ^5.27.0 + checksum: 10/93f25b7e70cfca9d1d8427170384262b59a5b0e84e7191a5a26636a77799caeed46d9a3e45ee7b9afa0f69176e3b98d5a6c5e81593ff1fd0946f1c5682fd2a68 + languageName: node + linkType: hard + +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.2 + resolution: "style-mod@npm:4.1.2" + checksum: 10/9da37909d6dbc3c043ab6d18da5d997073a4698c91e86058293252493eb18aca4e44e3fb18f32fcee26dcee8785f393c6c95f3c96cc722a0dd6b8de622b5b293 + languageName: node + linkType: hard + "stylehacks@npm:^5.1.1": version: 5.1.1 resolution: "stylehacks@npm:5.1.1" @@ -18580,6 +22842,13 @@ __metadata: languageName: node linkType: hard +"stylis@npm:^4.3.3": + version: 4.3.4 + resolution: "stylis@npm:4.3.4" + checksum: 10/69b902a3c9fc3329c8ddb18d422f8130068356dd4d4a20ae245953679cc88ae08d49c55e32b0b57c8fe8a76f2ed7f32697240b8db4d368a25fc2db045ebaeba8 + languageName: node + linkType: hard + "substyle@npm:^9.1.0": version: 9.4.1 resolution: "substyle@npm:9.4.1" @@ -18601,6 +22870,31 @@ __metadata: languageName: node linkType: hard +"supercluster@npm:^7.1.0": + version: 7.1.5 + resolution: "supercluster@npm:7.1.5" + dependencies: + kdbush: "npm:^3.0.0" + checksum: 10/5e5efaf0b2a01e71aadf33322fbfd52fdc06e7ca7d3e35e696380b7255f95fa1fc5bb9ac1e3212ee2923092da4cd7592d1e28a89713355e2b6e9bb9fed788f9c + languageName: node + linkType: hard + +"supercluster@npm:^8.0.1": + version: 8.0.1 + resolution: "supercluster@npm:8.0.1" + dependencies: + kdbush: "npm:^4.0.2" + checksum: 10/3e517e54087fe24efa274013a5c116b0083d140d3cd855c5004fef61b64dde83510d2a65cd6565349b693751936aede2305f76d84778e6107ae1b3ffa18a5bae + languageName: node + linkType: hard + +"superscript-text@npm:^1.0.0": + version: 1.0.0 + resolution: "superscript-text@npm:1.0.0" + checksum: 10/c2622e5aeed0a9d07725532640081ca76d319d9a34497796f41692d7d13bfa0a44d87683ed151a4ed940ce93db4ef6522ec6bd1eb9db2a812faff09edba77006 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -18635,6 +22929,38 @@ __metadata: languageName: node linkType: hard +"svg-arc-to-cubic-bezier@npm:^3.0.0": + version: 3.2.0 + resolution: "svg-arc-to-cubic-bezier@npm:3.2.0" + checksum: 10/1b017282c30ab81327dbf6b9657457726f6593e008bed7d7bda3e47ad152b7e90fdd41cde0992dcbeb48fcc1bd3e0df4c6564aee3429c2c14ce25e2536e04008 + languageName: node + linkType: hard + +"svg-path-bounds@npm:^1.0.1": + version: 1.0.2 + resolution: "svg-path-bounds@npm:1.0.2" + dependencies: + abs-svg-path: "npm:^0.1.1" + is-svg-path: "npm:^1.0.1" + normalize-svg-path: "npm:^1.0.0" + parse-svg-path: "npm:^0.1.2" + checksum: 10/225021ac4bf0e86e3af5a20e55a47c997a61273ca368a4204235892fa0dd4c07131249af132de9c82d3d8294c314184e900692621965278e628cd815704cf12d + languageName: node + linkType: hard + +"svg-path-sdf@npm:^1.1.3": + version: 1.1.3 + resolution: "svg-path-sdf@npm:1.1.3" + dependencies: + bitmap-sdf: "npm:^1.0.0" + draw-svg-path: "npm:^1.0.0" + is-svg-path: "npm:^1.0.1" + parse-svg-path: "npm:^0.1.2" + svg-path-bounds: "npm:^1.0.1" + checksum: 10/8b4d619285cbffba6d1e249ee2139676514b552fa90975816ff2367f9c3979da540b8351c066b74625472684c4f72558aea3fb9ea67dcbd4c6b152773da50ed1 + languageName: node + linkType: hard + "svgo@npm:^2.7.0": version: 2.8.0 resolution: "svgo@npm:2.8.0" @@ -18833,7 +23159,24 @@ __metadata: languageName: node linkType: hard -"through2@npm:^2.0.0": +"throttle-debounce@npm:^5.0.0, throttle-debounce@npm:^5.0.2": + version: 5.0.2 + resolution: "throttle-debounce@npm:5.0.2" + checksum: 10/9a5e5ae7f93127d921e913ad741e75e6d2bb946d15e1898ed541037bc646adb9a759c481385400be917ec6d93f078fd8b016980c1a9143e09ea88c99559b0c93 + languageName: node + linkType: hard + +"through2@npm:^0.6.3": + version: 0.6.5 + resolution: "through2@npm:0.6.5" + dependencies: + readable-stream: "npm:>=1.0.33-1 <1.1.0-0" + xtend: "npm:>=4.0.0 <4.1.0-0" + checksum: 10/37571f0bd4fa3d22f421ecf27af4c4b5eee34f350e6ca81d1a748dc09e0ede589a88248497d5bb2855c61a583a8e0dc9cd751e71c130040fceb19f778d43503d + languageName: node + linkType: hard + +"through2@npm:^2.0.0, through2@npm:^2.0.1": version: 2.0.5 resolution: "through2@npm:2.0.5" dependencies: @@ -18887,6 +23230,13 @@ __metadata: languageName: node linkType: hard +"tinycolor2@npm:^1.4.2": + version: 1.6.0 + resolution: "tinycolor2@npm:1.6.0" + checksum: 10/066c3acf4f82b81c58a0d3ab85f49407efe95ba87afc3c7a16b1d77625193dfbe10dd46c26d0a263c1137361dd5a6a68bff2fb71def5fb9b9aec940fb030bcd4 + languageName: node + linkType: hard + "tinyexec@npm:^0.3.0": version: 0.3.0 resolution: "tinyexec@npm:0.3.0" @@ -18894,6 +23244,20 @@ __metadata: languageName: node linkType: hard +"tinyqueue@npm:^2.0.3": + version: 2.0.3 + resolution: "tinyqueue@npm:2.0.3" + checksum: 10/b676fdf2050bc9b2b76fe3faa433f3122c623e3f2c32d2a6921487b1e8fb541a85af79ea0eca3618e261b293280db78b02e1f835321783b8c078c507b739017c + languageName: node + linkType: hard + +"tinyqueue@npm:^3.0.0": + version: 3.0.0 + resolution: "tinyqueue@npm:3.0.0" + checksum: 10/44195ae628e98f4de49acefac1fafa63a7f2b5d8a5c23ace6f49917109db3435db8ec9854f87c0d50f8a8c6a73f1526f3941921618a071e4ee1d246afacf69bb + languageName: node + linkType: hard + "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -18940,6 +23304,13 @@ __metadata: languageName: node linkType: hard +"to-float32@npm:^1.1.0": + version: 1.1.0 + resolution: "to-float32@npm:1.1.0" + checksum: 10/4435b46b0591447ab37f1cedb4c36fbccb90c0e2e60de710cecf39b59872463bbe1c9a324af8a515e42d48c1ba501e48a0508779afb91c1c87d3cea5fdd98498 + languageName: node + linkType: hard + "to-no-case@npm:^1.0.0": version: 1.0.2 resolution: "to-no-case@npm:1.0.2" @@ -18947,6 +23318,24 @@ __metadata: languageName: node linkType: hard +"to-px@npm:1.0.1": + version: 1.0.1 + resolution: "to-px@npm:1.0.1" + dependencies: + parse-unit: "npm:^1.0.1" + checksum: 10/4cf87de44413d7c6391e2e03ddc25efb80a7ca912e8da1fac70dcedc17acd512aecdbc01252a0a914981b99276b9f139a98df62c951792ffe98e77ade2c7da62 + languageName: node + linkType: hard + +"to-px@npm:^1.0.1": + version: 1.1.0 + resolution: "to-px@npm:1.1.0" + dependencies: + parse-unit: "npm:^1.0.1" + checksum: 10/bb434716a751a8918c8c711a79f9a95786b84572fac0253f64cff8d5cf9843ecdbb8e47a6d81152042aa2ccab9db5091f8dca2473f4fb3d3554bf36cfb41b7d9 + languageName: node + linkType: hard + "to-readable-stream@npm:^2.0.0": version: 2.1.0 resolution: "to-readable-stream@npm:2.1.0" @@ -18972,6 +23361,13 @@ __metadata: languageName: node linkType: hard +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: 10/9a0ed0ecbaac72b4944888dacd79fe0a55eeea76120a4c7e46b3bb3d85b24f086e90560bb22f5a965654a25ab43d79ec47dfdb3f1850ba740b14c5a50abc7040 + languageName: node + linkType: hard + "toidentifier@npm:1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" @@ -18989,6 +23385,19 @@ __metadata: languageName: node linkType: hard +"topojson-client@npm:^3.1.0": + version: 3.1.0 + resolution: "topojson-client@npm:3.1.0" + dependencies: + commander: "npm:2" + bin: + topo2geo: bin/topo2geo + topomerge: bin/topomerge + topoquantize: bin/topoquantize + checksum: 10/a0bd2f313dfeb2893ccbe00492f47518c62f0da41f6ee16a9d362dced57f79ba5bd51ae62038387b446463cd8e033d68a217c98c62d8b5fe2b807d9dd18406fc + languageName: node + linkType: hard + "totalist@npm:^3.0.0": version: 3.0.1 resolution: "totalist@npm:3.0.1" @@ -19363,6 +23772,13 @@ __metadata: languageName: node linkType: hard +"type@npm:^2.7.2": + version: 2.7.3 + resolution: "type@npm:2.7.3" + checksum: 10/82e99e7795b3de3ecfe685680685e79a77aea515fad9f60b7c55fbf6d43a5c360b1e6e9443354ec8906b38cdf5325829c69f094cb7cd2a1238e85bef9026dc04 + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -19415,6 +23831,16 @@ __metadata: languageName: node linkType: hard +"typedarray-pool@npm:^1.1.0": + version: 1.2.0 + resolution: "typedarray-pool@npm:1.2.0" + dependencies: + bit-twiddle: "npm:^1.0.0" + dup: "npm:^1.0.0" + checksum: 10/3112071721028a256c9c90a3ba1ff5d500a2cdc9355d51c6fabdd3a0d37120c9ad6fea292bf13e75fa768c7bae3d4a678d76a1aa08c678339f075a1e8e318138 + languageName: node + linkType: hard + "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -19422,16 +23848,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.9.3": - version: 4.9.3 - resolution: "typescript@npm:4.9.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/dda600a5a37b945ad1fff76f0c874e7bfda3fd56cfc43b9f328780d602b6e7127b4342bbc6ad68ccf7bf6645047be329586ea1b393a80fb942d608a796aba0de - languageName: node - linkType: hard - "typescript@npm:>=3 < 6": version: 5.4.2 resolution: "typescript@npm:5.4.2" @@ -19442,13 +23858,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A4.9.3#optional!builtin": - version: 4.9.3 - resolution: "typescript@patch:typescript@npm%3A4.9.3#optional!builtin::version=4.9.3&hash=a66ed4" +"typescript@npm:^5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/cc7506c7cb5419b3e64bff50082307ed31d0de163ed6ccd9f418e94c364ebde2aba3f57087ac431805410855421917718a1a6ed85f46620cf03c87e86d1ce9c5 + checksum: 10/c328e418e124b500908781d9f7b9b93cf08b66bf5936d94332b463822eea2f4e62973bfb3b8a745fdc038785cb66cf59d1092bac3ec2ac6a3e5854687f7833f1 languageName: node linkType: hard @@ -19462,6 +23878,39 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/00504c01ee42d470c23495426af07512e25e6546bce7e24572e72a9ca2e6b2e9bea63de4286c3cfea644874da1467dcfca23f4f98f7caf20f8b03c0213bb6837 + languageName: node + linkType: hard + +"typewise-core@npm:^1.2, typewise-core@npm:^1.2.0": + version: 1.2.0 + resolution: "typewise-core@npm:1.2.0" + checksum: 10/08d787595a4214620a1a255904b3472e339dbdf99883bda12ebc29753c70b55f414e46e1a64d05395db3d0f2bc273c2b3547dbefb9dd77cc8c7d622c33b72d07 + languageName: node + linkType: hard + +"typewise@npm:^1.0.3": + version: 1.0.3 + resolution: "typewise@npm:1.0.3" + dependencies: + typewise-core: "npm:^1.2.0" + checksum: 10/4def6bef2efee1a0ac9a47721ff51b31effc38cbb5cc1319133171704c823946d4fa08b55e2f00c8c5c172406a25f16e150fb816b37eba60864782fc1ae1763e + languageName: node + linkType: hard + +"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": + version: 1.0.6 + resolution: "uc.micro@npm:1.0.6" + checksum: 10/6898bb556319a38e9cf175e3628689347bd26fec15fc6b29fa38e0045af63075ff3fea4cf1fdba9db46c9f0cbf07f2348cd8844889dd31ebd288c29fe0d27e7a + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -19497,6 +23946,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10/cf0b48ed4fc99baf56584afa91aaffa5010c268b8842f62e02f752df209e3dea138b372a60a963b3b2576ed932f32329ce7ddb9cb5f27a6c83040d8cd74b7a70 + languageName: node + linkType: hard + "unicorn-magic@npm:^0.1.0": version: 0.1.0 resolution: "unicorn-magic@npm:0.1.0" @@ -19504,6 +23960,18 @@ __metadata: languageName: node linkType: hard +"union-value@npm:^1.0.1": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: "npm:^3.1.0" + get-value: "npm:^2.0.6" + is-extendable: "npm:^0.1.1" + set-value: "npm:^2.0.1" + checksum: 10/a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -19575,6 +24043,13 @@ __metadata: languageName: node linkType: hard +"unquote@npm:^1.1.0": + version: 1.1.1 + resolution: "unquote@npm:1.1.1" + checksum: 10/71745867d09cba44ba2d26cb71d6dda7045a98b14f7405df4faaf2b0c90d24703ad027a9d90ba9a6e0d096de2c8d56f864fd03f1c0498c0b7a3990f73b4c8f5f + languageName: node + linkType: hard + "upath@npm:2.0.1": version: 2.0.1 resolution: "upath@npm:2.0.1" @@ -19596,6 +24071,13 @@ __metadata: languageName: node linkType: hard +"update-diff@npm:^1.1.0": + version: 1.1.0 + resolution: "update-diff@npm:1.1.0" + checksum: 10/45f2993ad0d424138763394e9ad527fe726ab6b9d205f7a9326790d28d0ed9d86d57c7b460ed53fa23a683cc078eec9ecb9ff965d4b56712126314deba5bed2f + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -19605,7 +24087,7 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": +"url-parse@npm:^1.5.10, url-parse@npm:^1.5.3": version: 1.5.10 resolution: "url-parse@npm:1.5.10" dependencies: @@ -19811,7 +24293,45 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver-types@npm:^3.16.0": +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: 10/6d57c3aed591d0bc89d1c226061d265b04de528582bef183f5998cac5de78a736887e5238fe48b9f6a14ec32f05d8fda71599f92862ac5dacc7f26bf7399b532 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:8.2.1-next.1": + version: 8.2.1-next.1 + resolution: "vscode-jsonrpc@npm:8.2.1-next.1" + checksum: 10/3899cfa8c8be31d051bc09cc44e044610a02994c2dee45575574b6c6020d4bba13f5e5d76b052d953972d0a93153bd4cd8c8111a629042d12bcaa01801f6e4ae + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:^6.0.0": + version: 6.0.0 + resolution: "vscode-jsonrpc@npm:6.0.0" + checksum: 10/c9af7ed831912b5df0d046260ff24f99582f1f75aa49f49a39a67da1dc595dd00ddae756ae3ef64c73bc2c0e4d79b37aa13e56e24a30319f8053a229d6589b19 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:^8.0.2, vscode-jsonrpc@npm:~8.2.1": + version: 8.2.1 + resolution: "vscode-jsonrpc@npm:8.2.1" + checksum: 10/5a30c837abc7a1e45aeca69bc95e9679f43808b56b01830c3b1616d7088782babe8d6ae03276640ff2ba704ddf18305cc68926629bfb0fd8bafff195decb3aad + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:^3.17.0, vscode-languageserver-protocol@npm:^3.17.4": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: "npm:8.2.0" + vscode-languageserver-types: "npm:3.17.5" + checksum: 10/aeb9c190184c365fa6b835e5aa7574c86cb3ecb2789386bcff76a09b22bc8b8e0d5da47c28193a9c73cfb32c10a12a91191779280324a38efb401e3ef7bad294 + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.5, vscode-languageserver-types@npm:^3.16.0": version: 3.17.5 resolution: "vscode-languageserver-types@npm:3.17.5" checksum: 10/900d0b81df5bef8d90933e75be089142f6989cc70fdb2d5a3a5f11fa20feb396aaea23ccffc8fbcc83a2f0e1b13c6ee48ff8151f236cbd6e61a4f856efac1a58 @@ -19825,6 +24345,13 @@ __metadata: languageName: node linkType: hard +"vscode-oniguruma@npm:^1.5.1": + version: 1.7.0 + resolution: "vscode-oniguruma@npm:1.7.0" + checksum: 10/7da9d21459f9788544b258a5fd1b9752df6edd8b406a19eea0209c6bf76507d5717277016799301c4da0d536095f9ca8c06afd1ab8f4001189090c804ca4814e + languageName: node + linkType: hard + "vscode-textmate@npm:7.0.1": version: 7.0.1 resolution: "vscode-textmate@npm:7.0.1" @@ -19832,6 +24359,13 @@ __metadata: languageName: node linkType: hard +"vscode-textmate@npm:^9.0.0": + version: 9.1.0 + resolution: "vscode-textmate@npm:9.1.0" + checksum: 10/fc950b6c5b76af475e402ce981a1a0fe9a0d31a19eec5228c80dad5baeb71906e1efe54596c7dbab054012d9f3849d7f13b1449880cb59ef22bbefcaa85dee56 + languageName: node + linkType: hard + "vscode-uri@npm:3.0.2": version: 3.0.2 resolution: "vscode-uri@npm:3.0.2" @@ -19839,6 +24373,56 @@ __metadata: languageName: node linkType: hard +"vscode-uri@npm:^2.1.1": + version: 2.1.2 + resolution: "vscode-uri@npm:2.1.2" + checksum: 10/9384da42075dafc97f09194119c2f84f9e7838badccc768721aba31d43f96e597744129b717a9fd46162ca7102d6b9a658d4b873b019ead91814ee5cb798b433 + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 10/e882d6b679e0d053cbc042893c0951a135d899a192b62cd07f0a8924f11ae722067a8d6b1b5b147034becf57faf9fff9fb543b17b749fd0f17db1f54f783f07c + languageName: node + linkType: hard + +"vscode-ws-jsonrpc@npm:^3.1.0": + version: 3.3.2 + resolution: "vscode-ws-jsonrpc@npm:3.3.2" + dependencies: + vscode-jsonrpc: "npm:~8.2.1" + checksum: 10/a224e08634bb0814c81dc9a5e8b8510aad138546641e7178d2d70239150fe3009511d94a79f4928ad51c1b27f83244b8a6cf27e2e960de7edc1de00d4b093755 + languageName: node + linkType: hard + +"vscode-ws-jsonrpc@npm:~1.0.2": + version: 1.0.2 + resolution: "vscode-ws-jsonrpc@npm:1.0.2" + dependencies: + vscode-jsonrpc: "npm:^8.0.2" + checksum: 10/0d2e10cbe3d2f00be1d862243c6d76d3cd99f5cfad4a881744b64b5b3595d904d84ff8e7e12fe86c64c1dd69447b4ed34becd7b2f771163d7e7ffbb6d1ce0b72 + languageName: node + linkType: hard + +"vt-pbf@npm:^3.1.1, vt-pbf@npm:^3.1.3": + version: 3.1.3 + resolution: "vt-pbf@npm:3.1.3" + dependencies: + "@mapbox/point-geometry": "npm:0.1.0" + "@mapbox/vector-tile": "npm:^1.3.1" + pbf: "npm:^3.2.1" + checksum: 10/e1b6c5611440f3c5aa6eee59d50d755c8225836c21ed491f880f1de304052967e9534626969119f79a1a1b276c3b9fe01200c2c213e8c7c668297d24ebe515e7 + languageName: node + linkType: hard + +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10/95bafa4c04fa2f685a86ca1000069c1ec43ace1f8776c10f226a73296caeddd83f893db885c2c220ebeb6c52d424e3b54d7c0c1e963bbf204038ff1a944fbb07 + languageName: node + linkType: hard + "w3c-xmlserializer@npm:^4.0.0": version: 4.0.0 resolution: "w3c-xmlserializer@npm:4.0.0" @@ -19885,6 +24469,13 @@ __metadata: languageName: node linkType: hard +"weak-map@npm:^1.0.5": + version: 1.0.8 + resolution: "weak-map@npm:1.0.8" + checksum: 10/562041d8b8691b88bed0455e964712efdfc1a8b1db6c06da0adb2d1461e0568e11192bbceb7bd7bc7e1936ea4303d8e71cada9047c611ba3a350f11b49fdb662 + languageName: node + linkType: hard + "web-tree-sitter@npm:0.22.6": version: 0.22.6 resolution: "web-tree-sitter@npm:0.22.6" @@ -19892,6 +24483,15 @@ __metadata: languageName: node linkType: hard +"webgl-context@npm:^2.2.0": + version: 2.2.0 + resolution: "webgl-context@npm:2.2.0" + dependencies: + get-canvas-context: "npm:^1.0.1" + checksum: 10/b42ed96c348fc1afdd48cec9057bde3031a1a89ead932144e7e5866e3b541672afba2a2f8b241b9f7558b6da78b8e5292212eb77211c17720d6e173bb639b194 + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -20249,6 +24849,15 @@ __metadata: languageName: node linkType: hard +"world-calendars@npm:^1.0.3": + version: 1.0.3 + resolution: "world-calendars@npm:1.0.3" + dependencies: + object-assign: "npm:^4.1.0" + checksum: 10/f5405fed2d305998cb8c5a18c66fdc5a9885f4c44b3e5a59028c825256c75e57756f4db652af6f0eabcc63b29c361bd1a9cee15f743db42b8bf1032dff7c1277 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -20438,13 +25047,20 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.0, xtend@npm:~4.0.1": +"xtend@npm:>=4.0.0 <4.1.0-0, xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.0, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: 10/ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a languageName: node linkType: hard +"xtend@npm:^2.1.2": + version: 2.2.0 + resolution: "xtend@npm:2.2.0" + checksum: 10/9fcd1ddabefdb3c68a698b08177525ad14a6df3423b13bad9a53900d19374e476a43c219b0756d39675776b2326a35fe477c547cfb8a05ae9fea4ba2235bebe2 + languageName: node + linkType: hard + "y-leveldb@npm:^0.1.0": version: 0.1.2 resolution: "y-leveldb@npm:0.1.2" @@ -20605,6 +25221,15 @@ __metadata: languageName: node linkType: hard +"yjs@npm:^13.5.40": + version: 13.6.20 + resolution: "yjs@npm:13.6.20" + dependencies: + lib0: "npm:^0.2.98" + checksum: 10/7c64494f8bff24a95e237ed0e0c561efb9e8d451655620f04963dbbe5910b60e8ea978a0048fa377477493cbacbf002220f39445cf2ede298dc9a0f20ed5b942 + languageName: node + linkType: hard + "ylru@npm:^1.2.0": version: 1.3.2 resolution: "ylru@npm:1.3.2"