mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2026-03-08 05:41:21 +03:00
Update CodeMirror (#1891)
* Package updates * Updates * Keep fonts import * Update * Update * Update snapshot * Install more packages * Start work on theming * Fix build * Set theme settings * Set theme styles * Remove theme prop and update Editor usage Removed theme prop from Editor and updated usage to wrap in Container for theme context. * Updates
This commit is contained in:
parent
12e561c24f
commit
d61d31a690
5
.changeset/curvy-melons-listen.md
Normal file
5
.changeset/curvy-melons-listen.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@redux-devtools/ui': major
|
||||
---
|
||||
|
||||
Remove theme prop from Editor. Wrap any usage of Editor in Container to provide theme through context.
|
||||
|
|
@ -42,13 +42,17 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.28.6",
|
||||
"@codemirror/lang-javascript": "^6.2.4",
|
||||
"@codemirror/view": "^6.39.7",
|
||||
"@lezer/highlight": "^1.2.3",
|
||||
"@rjsf/core": "^6.3.1",
|
||||
"@rjsf/utils": "^6.3.1",
|
||||
"@rjsf/validator-ajv8": "^6.3.1",
|
||||
"@types/codemirror": "^5.60.17",
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"@types/simple-element-resize-detector": "^1.3.3",
|
||||
"codemirror": "^5.65.21",
|
||||
"@uiw/codemirror-themes": "^4.25.7",
|
||||
"@uiw/react-codemirror": "^4.25.4",
|
||||
"color": "^5.0.3",
|
||||
"react-base16-styling": "workspace:^",
|
||||
"react-icons": "^5.6.0",
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export const MainContainerWrapper = styled.div`
|
|||
font-family: ${(props) => props.theme.fontFamily || 'monaco, monospace'};
|
||||
}
|
||||
|
||||
.CodeMirror div,
|
||||
.cm-editor div,
|
||||
pre,
|
||||
.monitor div,
|
||||
.slider div {
|
||||
|
|
|
|||
|
|
@ -24,15 +24,12 @@ export const Default: Story = {
|
|||
args: {
|
||||
value,
|
||||
lineNumbers: true,
|
||||
lineWrapping: false,
|
||||
foldGutter: true,
|
||||
readOnly: false,
|
||||
autofocus: true,
|
||||
},
|
||||
argTypes: {
|
||||
autofocus: { control: { disable: true } },
|
||||
mode: { control: { disable: true } },
|
||||
theme: { control: { disable: true } },
|
||||
onChange: { control: { disable: true } },
|
||||
},
|
||||
};
|
||||
|
|
@ -45,8 +42,6 @@ export const WithTabs: StoryObj<WithTabsProps> = {
|
|||
},
|
||||
argTypes: {
|
||||
value: { control: { disable: true } },
|
||||
mode: { control: { disable: true } },
|
||||
lineWrapping: { control: { disable: true } },
|
||||
readOnly: { control: { disable: true } },
|
||||
theme: { control: { disable: true } },
|
||||
foldGutter: { control: { disable: true } },
|
||||
|
|
|
|||
|
|
@ -1,108 +1,101 @@
|
|||
import React, { Component } from 'react';
|
||||
import React from 'react';
|
||||
import styled from '@emotion/styled';
|
||||
import CodeMirror, { EditorChange } from 'codemirror';
|
||||
import type { Base16Theme } from 'react-base16-styling';
|
||||
import { defaultStyle, themedStyle } from './styles';
|
||||
import { Theme } from '../themes/default';
|
||||
|
||||
import 'codemirror/mode/javascript/javascript';
|
||||
import 'codemirror/addon/fold/foldgutter';
|
||||
import 'codemirror/addon/fold/foldcode';
|
||||
import 'codemirror/addon/fold/brace-fold';
|
||||
import CodeMirror from '@uiw/react-codemirror';
|
||||
import { createTheme } from '@uiw/codemirror-themes';
|
||||
import { javascript } from '@codemirror/lang-javascript';
|
||||
import type { ViewUpdate } from '@codemirror/view';
|
||||
import { tags as t } from '@lezer/highlight';
|
||||
import { useTheme } from '@emotion/react';
|
||||
import type { ThemeFromProvider } from '../utils/theme';
|
||||
import { defaultStyle } from './styles';
|
||||
|
||||
import '../../fonts/index.css';
|
||||
import 'codemirror/lib/codemirror.css';
|
||||
import 'codemirror/addon/fold/foldgutter.css';
|
||||
|
||||
const EditorContainer = styled.div(
|
||||
'' as unknown as TemplateStringsArray,
|
||||
({ theme }: { theme?: Base16Theme }) =>
|
||||
theme!.scheme === 'default' && (theme as Theme).light
|
||||
? defaultStyle
|
||||
: themedStyle(theme!),
|
||||
defaultStyle,
|
||||
);
|
||||
|
||||
export interface EditorProps {
|
||||
value: string;
|
||||
mode: string;
|
||||
lineNumbers: boolean;
|
||||
lineWrapping: boolean;
|
||||
readOnly: boolean;
|
||||
theme?: Base16Theme;
|
||||
foldGutter: boolean;
|
||||
autofocus: boolean;
|
||||
onChange?: (value: string, change: EditorChange) => void;
|
||||
value?: string;
|
||||
lineNumbers?: boolean;
|
||||
readOnly?: boolean;
|
||||
foldGutter?: boolean;
|
||||
autofocus?: boolean;
|
||||
onChange?: (value: string, viewUpdate: ViewUpdate) => void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Based on [CodeMirror](http://codemirror.net/).
|
||||
*/
|
||||
export default class Editor extends Component<EditorProps> {
|
||||
cm?: CodeMirror.Editor | null;
|
||||
node?: HTMLDivElement | null;
|
||||
export default function Editor({
|
||||
value = '',
|
||||
lineNumbers = true,
|
||||
readOnly = false,
|
||||
foldGutter = true,
|
||||
autofocus = false,
|
||||
onChange,
|
||||
}: EditorProps) {
|
||||
const theme = useTheme() as ThemeFromProvider;
|
||||
|
||||
componentDidMount() {
|
||||
this.cm = CodeMirror(this.node!, {
|
||||
value: this.props.value,
|
||||
mode: this.props.mode,
|
||||
lineNumbers: this.props.lineNumbers,
|
||||
lineWrapping: this.props.lineWrapping,
|
||||
readOnly: this.props.readOnly,
|
||||
autofocus: this.props.autofocus,
|
||||
foldGutter: this.props.foldGutter,
|
||||
gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],
|
||||
});
|
||||
const myTheme =
|
||||
theme.scheme === 'default' && theme.light
|
||||
? undefined
|
||||
: createTheme({
|
||||
theme: theme.light ? 'light' : 'dark',
|
||||
settings: {
|
||||
background: theme.base00,
|
||||
foreground: theme.base04,
|
||||
selection: theme.base01,
|
||||
selectionMatch: 'transparent',
|
||||
gutterBackground: theme.base01,
|
||||
gutterForeground: theme.base05,
|
||||
gutterBorder: 'transparent',
|
||||
gutterActiveForeground: theme.base05,
|
||||
lineHighlight: 'transparent',
|
||||
},
|
||||
styles: [
|
||||
{ tag: t.heading, color: theme.base05 },
|
||||
{ tag: t.quote, color: theme.base09 },
|
||||
{ tag: t.keyword, color: theme.base0F },
|
||||
{ tag: t.atom, color: theme.base0F },
|
||||
{ tag: t.number, color: theme.base0F },
|
||||
{ tag: t.definition(t.variableName), color: theme.base0D },
|
||||
{ tag: t.variableName, color: theme.base05 },
|
||||
{ tag: t.propertyName, color: theme.base0C },
|
||||
{ tag: t.operator, color: theme.base0E },
|
||||
{ tag: t.comment, color: theme.base05, fontStyle: 'italic' },
|
||||
{ tag: t.string, color: theme.base0B },
|
||||
{ tag: t.meta, color: theme.base0B },
|
||||
{ tag: t.tagName, color: theme.base02 },
|
||||
{ tag: t.attributeName, color: theme.base0C },
|
||||
{ tag: t.attributeName, color: theme.base02, cursor: 'pointer' },
|
||||
{
|
||||
tag: t.emphasis,
|
||||
color: '#999',
|
||||
textDecoration: 'underline',
|
||||
textDecorationStyle: 'dotted',
|
||||
},
|
||||
{ tag: t.strong, color: theme.base01 },
|
||||
{
|
||||
tag: t.invalid,
|
||||
color: theme.base05,
|
||||
borderBottom: `1px dotted ${theme.base08}`,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
if (this.props.onChange) {
|
||||
this.cm.on('change', (doc, change) => {
|
||||
this.props.onChange!(doc.getValue(), change);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
UNSAFE_componentWillReceiveProps(nextProps: EditorProps) {
|
||||
if (nextProps.value !== this.cm!.getValue()) {
|
||||
this.cm!.setValue(nextProps.value);
|
||||
}
|
||||
if (nextProps.readOnly !== this.props.readOnly) {
|
||||
this.cm!.setOption('readOnly', nextProps.readOnly);
|
||||
}
|
||||
if (nextProps.lineNumbers !== this.props.lineNumbers) {
|
||||
this.cm!.setOption('lineNumbers', nextProps.lineNumbers);
|
||||
}
|
||||
if (nextProps.lineWrapping !== this.props.lineWrapping) {
|
||||
this.cm!.setOption('lineWrapping', nextProps.lineWrapping);
|
||||
}
|
||||
if (nextProps.foldGutter !== this.props.foldGutter) {
|
||||
this.cm!.setOption('foldGutter', nextProps.foldGutter);
|
||||
}
|
||||
}
|
||||
|
||||
shouldComponentUpdate() {
|
||||
return false;
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
const node = this.node!;
|
||||
node.removeChild(node.children[0]);
|
||||
this.cm = null;
|
||||
}
|
||||
|
||||
getRef: React.RefCallback<HTMLDivElement> = (node) => {
|
||||
this.node = node;
|
||||
};
|
||||
|
||||
render() {
|
||||
return <EditorContainer ref={this.getRef} theme={this.props.theme} />;
|
||||
}
|
||||
|
||||
static defaultProps = {
|
||||
value: '',
|
||||
mode: 'javascript',
|
||||
lineNumbers: true,
|
||||
lineWrapping: false,
|
||||
readOnly: false,
|
||||
foldGutter: true,
|
||||
autofocus: false,
|
||||
};
|
||||
return (
|
||||
<EditorContainer>
|
||||
<CodeMirror
|
||||
value={value}
|
||||
theme={myTheme}
|
||||
extensions={[javascript()]}
|
||||
onChange={onChange}
|
||||
readOnly={readOnly}
|
||||
autoFocus={autofocus}
|
||||
basicSetup={{
|
||||
lineNumbers,
|
||||
foldGutter,
|
||||
}}
|
||||
/>
|
||||
</EditorContainer>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ interface TabProps {
|
|||
lineNumbers: boolean;
|
||||
}
|
||||
|
||||
/* eslint-disable react/prop-types */
|
||||
export default class WithTabs extends Component<WithTabsProps> {
|
||||
state = {
|
||||
selected: 'Function 1',
|
||||
|
|
|
|||
|
|
@ -1,184 +1,10 @@
|
|||
import { css } from '@emotion/react';
|
||||
import { Base16Theme } from 'react-base16-styling';
|
||||
|
||||
export const defaultStyle = `
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
|
||||
> div {
|
||||
.cm-theme,
|
||||
.cm-editor {
|
||||
height: 100%;
|
||||
line-height: 1.45em;
|
||||
}
|
||||
`;
|
||||
|
||||
export const themedStyle = (theme: Base16Theme) => css`
|
||||
height: 100%;
|
||||
|
||||
> div {
|
||||
height: 100%;
|
||||
line-height: 1.45em;
|
||||
background-color: ${theme.base00};
|
||||
color: ${theme.base04};
|
||||
|
||||
.cm-header {
|
||||
color: ${theme.base05};
|
||||
}
|
||||
.cm-quote {
|
||||
color: ${theme.base09};
|
||||
}
|
||||
|
||||
.cm-keyword {
|
||||
color: ${theme.base0F};
|
||||
}
|
||||
.cm-atom {
|
||||
color: ${theme.base0F};
|
||||
}
|
||||
.cm-number {
|
||||
color: ${theme.base0F};
|
||||
}
|
||||
.cm-def {
|
||||
color: ${theme.base0D};
|
||||
}
|
||||
|
||||
.cm-variable {
|
||||
color: ${theme.base05};
|
||||
}
|
||||
.cm-variable-2 {
|
||||
color: ${theme.base0A};
|
||||
}
|
||||
.cm-variable-3 {
|
||||
color: ${theme.base0E};
|
||||
}
|
||||
|
||||
.cm-property {
|
||||
color: ${theme.base0C};
|
||||
}
|
||||
.cm-operator {
|
||||
color: ${theme.base0E};
|
||||
}
|
||||
|
||||
.cm-comment {
|
||||
color: ${theme.base05};
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.cm-string {
|
||||
color: ${theme.base0B};
|
||||
}
|
||||
.cm-string-2 {
|
||||
color: ${theme.base0A};
|
||||
}
|
||||
|
||||
.cm-meta {
|
||||
color: ${theme.base0B};
|
||||
}
|
||||
.cm-qualifier {
|
||||
color: ${theme.base0A};
|
||||
}
|
||||
.cm-builtin {
|
||||
color: ${theme.base0F};
|
||||
}
|
||||
.cm-bracket {
|
||||
color: ${theme.base09};
|
||||
}
|
||||
.CodeMirror-matchingbracket {
|
||||
color: ${theme.base0B};
|
||||
}
|
||||
.CodeMirror-nonmatchingbracket {
|
||||
color: ${theme.base08};
|
||||
}
|
||||
.cm-tag {
|
||||
color: ${theme.base02};
|
||||
}
|
||||
.cm-attribute {
|
||||
color: ${theme.base0C};
|
||||
}
|
||||
|
||||
.cm-hr {
|
||||
color: transparent;
|
||||
border-top: 1px solid ${theme.base05};
|
||||
display: block;
|
||||
}
|
||||
|
||||
.cm-link {
|
||||
color: ${theme.base02};
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cm-special {
|
||||
color: ${theme.base0E};
|
||||
}
|
||||
|
||||
.cm-em {
|
||||
color: #999;
|
||||
text-decoration: underline;
|
||||
text-decoration-style: dotted;
|
||||
}
|
||||
|
||||
.cm-strong {
|
||||
color: ${theme.base01};
|
||||
}
|
||||
|
||||
.cm-error,
|
||||
.cm-invalidchar {
|
||||
color: ${theme.base05};
|
||||
border-bottom: 1px dotted ${theme.base08};
|
||||
}
|
||||
|
||||
div.CodeMirror-selected {
|
||||
background: ${theme.base01};
|
||||
}
|
||||
|
||||
.CodeMirror-line::selection,
|
||||
.CodeMirror-line > span::selection,
|
||||
.CodeMirror-line > span > span::selection {
|
||||
background: ${theme.base01};
|
||||
}
|
||||
|
||||
.CodeMirror {
|
||||
box-shadow: inset 7px 0 12px -6px #000;
|
||||
}
|
||||
|
||||
.CodeMirror-gutters {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.CodeMirror-gutters {
|
||||
background-color: ${theme.base01};
|
||||
}
|
||||
|
||||
.CodeMirror-linenumber {
|
||||
color: ${theme.base03};
|
||||
}
|
||||
|
||||
.CodeMirror-linenumber {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.CodeMirror-guttermarker-subtle {
|
||||
color: ${theme.base05};
|
||||
}
|
||||
.CodeMirror-guttermarker {
|
||||
color: ${theme.base09};
|
||||
}
|
||||
|
||||
.CodeMirror-gutter .CodeMirror-gutter-text {
|
||||
color: ${theme.base05};
|
||||
}
|
||||
|
||||
.CodeMirror-cursor {
|
||||
border-left: 1px solid #819090;
|
||||
}
|
||||
|
||||
.cm-fat-cursor .CodeMirror-cursor {
|
||||
background: ${theme.base02};
|
||||
}
|
||||
.cm-animate-fat-cursor {
|
||||
background-color: ${theme.base02};
|
||||
}
|
||||
|
||||
.CodeMirror-activeline-background {
|
||||
background: ${theme.base07};
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -1,40 +1,11 @@
|
|||
import React from 'react';
|
||||
import { render } from '@testing-library/react';
|
||||
import { Editor } from '../src';
|
||||
import 'codemirror/mode/javascript/javascript';
|
||||
|
||||
describe('Editor', function () {
|
||||
const getBoundingClientRect = jest.fn();
|
||||
const getClientRects = jest.fn();
|
||||
|
||||
// See https://github.com/jsdom/jsdom/issues/3002
|
||||
document.createRange = () => {
|
||||
const range = new Range();
|
||||
|
||||
range.getBoundingClientRect = getBoundingClientRect;
|
||||
|
||||
range.getClientRects = () => {
|
||||
getClientRects();
|
||||
return {
|
||||
item: () => null,
|
||||
length: 0,
|
||||
[Symbol.iterator]: jest.fn(),
|
||||
};
|
||||
};
|
||||
|
||||
return range;
|
||||
};
|
||||
const { container } = render(<Editor value="var a = 1;" />);
|
||||
|
||||
it('renders correctly', () => {
|
||||
expect(container.firstChild).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('calls getBoundingClientRect', () => {
|
||||
expect(getBoundingClientRect).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('calls getClientRects', () => {
|
||||
expect(getClientRects).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
exports[`Container renders correctly 1`] = `
|
||||
<div
|
||||
class="css-83ymb"
|
||||
class="css-jqr1ii"
|
||||
>
|
||||
Text
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,135 +2,113 @@
|
|||
|
||||
exports[`Editor renders correctly 1`] = `
|
||||
<div
|
||||
class="css-1u3pnvo"
|
||||
class="css-17hzfkk"
|
||||
>
|
||||
<div
|
||||
class="CodeMirror cm-s-default"
|
||||
translate="no"
|
||||
class="cm-theme"
|
||||
>
|
||||
<div
|
||||
style="overflow: hidden; position: relative; width: 3px; height: 0px;"
|
||||
>
|
||||
<textarea
|
||||
autocapitalize="off"
|
||||
autocorrect="off"
|
||||
spellcheck="false"
|
||||
style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; min-height: 1em; outline: none;"
|
||||
tabindex="0"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="CodeMirror-vscrollbar"
|
||||
cm-not-content="true"
|
||||
tabindex="-1"
|
||||
class="cm-editor ͼ1 ͼ3 ͼ4 ͼ1q ͼ16"
|
||||
>
|
||||
<div
|
||||
style="min-width: 1px;"
|
||||
aria-live="polite"
|
||||
class="cm-announced"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="CodeMirror-hscrollbar"
|
||||
cm-not-content="true"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
style="height: 100%; min-height: 1px;"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="CodeMirror-scrollbar-filler"
|
||||
cm-not-content="true"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-gutter-filler"
|
||||
cm-not-content="true"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-scroll"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
class="CodeMirror-sizer"
|
||||
style="margin-left: 0px; min-width: 3px;"
|
||||
class="cm-scroller"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
style="position: relative;"
|
||||
aria-hidden="true"
|
||||
class="cm-gutters cm-gutters-before"
|
||||
style="min-height: 14px; position: sticky;"
|
||||
>
|
||||
<div
|
||||
class="CodeMirror-lines"
|
||||
role="presentation"
|
||||
class="cm-gutter cm-lineNumbers"
|
||||
>
|
||||
<div
|
||||
role="presentation"
|
||||
style="position: relative; outline: none;"
|
||||
class="cm-gutterElement"
|
||||
style="height: 0px; visibility: hidden; pointer-events: none;"
|
||||
>
|
||||
<div
|
||||
class="CodeMirror-measure"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-measure"
|
||||
>
|
||||
<pre
|
||||
class="CodeMirror-line"
|
||||
role="presentation"
|
||||
>
|
||||
<span
|
||||
role="presentation"
|
||||
style="padding-right: 0.1px;"
|
||||
>
|
||||
<span
|
||||
class="cm-keyword"
|
||||
>
|
||||
var
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="cm-def"
|
||||
>
|
||||
a
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="cm-operator"
|
||||
>
|
||||
=
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="cm-number"
|
||||
>
|
||||
1
|
||||
</span>
|
||||
;
|
||||
</span>
|
||||
</pre>
|
||||
</div>
|
||||
<div
|
||||
style="position: relative; z-index: 1;"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-cursors"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-code"
|
||||
role="presentation"
|
||||
/>
|
||||
9
|
||||
</div>
|
||||
<div
|
||||
class="cm-gutterElement cm-activeLineGutter"
|
||||
style="height: 14px;"
|
||||
>
|
||||
1
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="cm-gutter cm-foldGutter"
|
||||
>
|
||||
<div
|
||||
class="cm-gutterElement"
|
||||
style="height: 0px; visibility: hidden; pointer-events: none;"
|
||||
>
|
||||
<span
|
||||
title="Unfold line"
|
||||
>
|
||||
›
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="cm-gutterElement cm-activeLineGutter"
|
||||
style="height: 14px;"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
style="position: absolute; height: 50px; width: 1px;"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-gutters"
|
||||
>
|
||||
<div
|
||||
class="CodeMirror-gutter CodeMirror-linenumbers"
|
||||
style="width: 1px;"
|
||||
aria-multiline="true"
|
||||
autocapitalize="off"
|
||||
autocorrect="off"
|
||||
class="cm-content"
|
||||
contenteditable="true"
|
||||
data-language="javascript"
|
||||
role="textbox"
|
||||
spellcheck="false"
|
||||
style="tab-size: 4;"
|
||||
translate="no"
|
||||
writingsuggestions="false"
|
||||
>
|
||||
<div
|
||||
class="cm-line cm-activeLine"
|
||||
>
|
||||
<span
|
||||
class="ͼ19"
|
||||
>
|
||||
var
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="ͼ1c"
|
||||
>
|
||||
a
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="ͼ1f"
|
||||
>
|
||||
=
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="ͼ1b"
|
||||
>
|
||||
1
|
||||
</span>
|
||||
;
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
aria-hidden="true"
|
||||
class="cm-layer cm-layer-above cm-cursorLayer"
|
||||
style="z-index: 150; animation-duration: 1200ms;"
|
||||
/>
|
||||
<div
|
||||
class="CodeMirror-gutter CodeMirror-foldgutter"
|
||||
aria-hidden="true"
|
||||
class="cm-layer cm-selectionLayer"
|
||||
style="z-index: -2;"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
232
pnpm-lock.yaml
232
pnpm-lock.yaml
|
|
@ -2354,6 +2354,15 @@ importers:
|
|||
'@babel/runtime':
|
||||
specifier: ^7.28.6
|
||||
version: 7.28.6
|
||||
'@codemirror/lang-javascript':
|
||||
specifier: ^6.2.4
|
||||
version: 6.2.5
|
||||
'@codemirror/view':
|
||||
specifier: ^6.39.7
|
||||
version: 6.39.16
|
||||
'@lezer/highlight':
|
||||
specifier: ^1.2.3
|
||||
version: 1.2.3
|
||||
'@rjsf/core':
|
||||
specifier: ^6.3.1
|
||||
version: 6.3.1(@rjsf/utils@6.3.1(react@19.2.4))(react@19.2.4)
|
||||
|
|
@ -2372,9 +2381,12 @@ importers:
|
|||
'@types/simple-element-resize-detector':
|
||||
specifier: ^1.3.3
|
||||
version: 1.3.3
|
||||
codemirror:
|
||||
specifier: ^5.65.21
|
||||
version: 5.65.21
|
||||
'@uiw/codemirror-themes':
|
||||
specifier: ^4.25.7
|
||||
version: 4.25.7(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)
|
||||
'@uiw/react-codemirror':
|
||||
specifier: ^4.25.4
|
||||
version: 4.25.7(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.16)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||
color:
|
||||
specifier: ^5.0.3
|
||||
version: 5.0.3
|
||||
|
|
@ -3541,6 +3553,33 @@ packages:
|
|||
'@changesets/write@0.4.0':
|
||||
resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
|
||||
|
||||
'@codemirror/autocomplete@6.20.1':
|
||||
resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==}
|
||||
|
||||
'@codemirror/commands@6.10.2':
|
||||
resolution: {integrity: sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==}
|
||||
|
||||
'@codemirror/lang-javascript@6.2.5':
|
||||
resolution: {integrity: sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==}
|
||||
|
||||
'@codemirror/language@6.12.2':
|
||||
resolution: {integrity: sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==}
|
||||
|
||||
'@codemirror/lint@6.9.5':
|
||||
resolution: {integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==}
|
||||
|
||||
'@codemirror/search@6.6.0':
|
||||
resolution: {integrity: sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==}
|
||||
|
||||
'@codemirror/state@6.5.4':
|
||||
resolution: {integrity: sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==}
|
||||
|
||||
'@codemirror/theme-one-dark@6.1.3':
|
||||
resolution: {integrity: sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==}
|
||||
|
||||
'@codemirror/view@6.39.16':
|
||||
resolution: {integrity: sha512-m6S22fFpKtOWhq8HuhzsI1WzUP/hB9THbDj0Tl5KX4gbO6Y91hwBl7Yky33NdvB6IffuRFiBxf1R8kJMyXmA4Q==}
|
||||
|
||||
'@cspotcode/source-map-support@0.8.1':
|
||||
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||
engines: {node: '>=12'}
|
||||
|
|
@ -4241,12 +4280,27 @@ packages:
|
|||
'@leichtgewicht/ip-codec@2.0.5':
|
||||
resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
|
||||
|
||||
'@lezer/common@1.5.1':
|
||||
resolution: {integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==}
|
||||
|
||||
'@lezer/highlight@1.2.3':
|
||||
resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==}
|
||||
|
||||
'@lezer/javascript@1.5.4':
|
||||
resolution: {integrity: sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==}
|
||||
|
||||
'@lezer/lr@1.4.8':
|
||||
resolution: {integrity: sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==}
|
||||
|
||||
'@manypkg/find-root@1.1.0':
|
||||
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
|
||||
|
||||
'@manypkg/get-packages@1.1.3':
|
||||
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
|
||||
|
||||
'@marijn/find-cluster-break@1.0.2':
|
||||
resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
|
||||
|
||||
'@mswjs/data@0.16.2':
|
||||
resolution: {integrity: sha512-/C0d/PBcJyQJokUhcjO4HiZPc67hzllKlRtD1XELygl2t991/ATAAQJVcStn4YtVALsNodruzOHT0JIvgr0hnA==}
|
||||
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
|
||||
|
|
@ -5245,6 +5299,35 @@ packages:
|
|||
resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@uiw/codemirror-extensions-basic-setup@4.25.7':
|
||||
resolution: {integrity: sha512-tPV/AGjF4yM22D5mnyH7EuYBkWO05wF5Y4x3lmQJo6LuHmhjh0RQsVDjqeIgNOkXT3UO9OdkL4dzxw465/JZVg==}
|
||||
peerDependencies:
|
||||
'@codemirror/autocomplete': '>=6.0.0'
|
||||
'@codemirror/commands': '>=6.0.0'
|
||||
'@codemirror/language': '>=6.0.0'
|
||||
'@codemirror/lint': '>=6.0.0'
|
||||
'@codemirror/search': '>=6.0.0'
|
||||
'@codemirror/state': '>=6.0.0'
|
||||
'@codemirror/view': '>=6.0.0'
|
||||
|
||||
'@uiw/codemirror-themes@4.25.7':
|
||||
resolution: {integrity: sha512-Rcx1XiQiMOJzk/efVuZioCv3VuswUb2CPmiM1NIXY5N4vEMmWLY3N8T4/WkPzJ8ZZuk7o3OH2VI5bj7729fDYg==}
|
||||
peerDependencies:
|
||||
'@codemirror/language': '>=6.0.0'
|
||||
'@codemirror/state': '>=6.0.0'
|
||||
'@codemirror/view': '>=6.0.0'
|
||||
|
||||
'@uiw/react-codemirror@4.25.7':
|
||||
resolution: {integrity: sha512-s/EbEe0dFANWEgfLbfdIrrOGv0R7M1XhkKG3ShroBeH6uP9pVNQy81YHOLRCSVcytTp9zAWRNfXR/+XxZTvV7w==}
|
||||
peerDependencies:
|
||||
'@babel/runtime': '>=7.11.0'
|
||||
'@codemirror/state': '>=6.0.0'
|
||||
'@codemirror/theme-one-dark': '>=6.0.0'
|
||||
'@codemirror/view': '>=6.0.0'
|
||||
codemirror: '>=6.0.0'
|
||||
react: '>=17.0.0'
|
||||
react-dom: '>=17.0.0'
|
||||
|
||||
'@ungap/structured-clone@1.3.0':
|
||||
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
||||
|
||||
|
|
@ -6214,8 +6297,8 @@ packages:
|
|||
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
|
||||
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
|
||||
|
||||
codemirror@5.65.21:
|
||||
resolution: {integrity: sha512-6teYk0bA0nR3QP0ihGMoxuKzpl5W80FpnHpBJpgy66NK3cZv5b/d/HY8PnRvfSsCG1MTfr92u2WUl+wT0E40mQ==}
|
||||
codemirror@6.0.2:
|
||||
resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==}
|
||||
|
||||
collect-v8-coverage@1.0.3:
|
||||
resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==}
|
||||
|
|
@ -6384,6 +6467,9 @@ packages:
|
|||
create-require@1.1.1:
|
||||
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
||||
|
||||
crelt@1.0.6:
|
||||
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
|
||||
|
||||
cross-env@10.1.0:
|
||||
resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==}
|
||||
engines: {node: '>=20'}
|
||||
|
|
@ -9753,6 +9839,9 @@ packages:
|
|||
peerDependencies:
|
||||
webpack: ^5.27.0
|
||||
|
||||
style-mod@4.1.3:
|
||||
resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==}
|
||||
|
||||
stylis@4.2.0:
|
||||
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
|
||||
|
||||
|
|
@ -10248,6 +10337,9 @@ packages:
|
|||
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
w3c-keyname@2.2.8:
|
||||
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
|
||||
|
||||
w3c-xmlserializer@5.0.0:
|
||||
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
|
||||
engines: {node: '>=18'}
|
||||
|
|
@ -11685,6 +11777,69 @@ snapshots:
|
|||
human-id: 4.1.3
|
||||
prettier: 2.8.8
|
||||
|
||||
'@codemirror/autocomplete@6.20.1':
|
||||
dependencies:
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
'@lezer/common': 1.5.1
|
||||
|
||||
'@codemirror/commands@6.10.2':
|
||||
dependencies:
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
'@lezer/common': 1.5.1
|
||||
|
||||
'@codemirror/lang-javascript@6.2.5':
|
||||
dependencies:
|
||||
'@codemirror/autocomplete': 6.20.1
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/lint': 6.9.5
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
'@lezer/common': 1.5.1
|
||||
'@lezer/javascript': 1.5.4
|
||||
|
||||
'@codemirror/language@6.12.2':
|
||||
dependencies:
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
'@lezer/common': 1.5.1
|
||||
'@lezer/highlight': 1.2.3
|
||||
'@lezer/lr': 1.4.8
|
||||
style-mod: 4.1.3
|
||||
|
||||
'@codemirror/lint@6.9.5':
|
||||
dependencies:
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
crelt: 1.0.6
|
||||
|
||||
'@codemirror/search@6.6.0':
|
||||
dependencies:
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
crelt: 1.0.6
|
||||
|
||||
'@codemirror/state@6.5.4':
|
||||
dependencies:
|
||||
'@marijn/find-cluster-break': 1.0.2
|
||||
|
||||
'@codemirror/theme-one-dark@6.1.3':
|
||||
dependencies:
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
'@lezer/highlight': 1.2.3
|
||||
|
||||
'@codemirror/view@6.39.16':
|
||||
dependencies:
|
||||
'@codemirror/state': 6.5.4
|
||||
crelt: 1.0.6
|
||||
style-mod: 4.1.3
|
||||
w3c-keyname: 2.2.8
|
||||
|
||||
'@cspotcode/source-map-support@0.8.1':
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.9
|
||||
|
|
@ -12467,6 +12622,22 @@ snapshots:
|
|||
|
||||
'@leichtgewicht/ip-codec@2.0.5': {}
|
||||
|
||||
'@lezer/common@1.5.1': {}
|
||||
|
||||
'@lezer/highlight@1.2.3':
|
||||
dependencies:
|
||||
'@lezer/common': 1.5.1
|
||||
|
||||
'@lezer/javascript@1.5.4':
|
||||
dependencies:
|
||||
'@lezer/common': 1.5.1
|
||||
'@lezer/highlight': 1.2.3
|
||||
'@lezer/lr': 1.4.8
|
||||
|
||||
'@lezer/lr@1.4.8':
|
||||
dependencies:
|
||||
'@lezer/common': 1.5.1
|
||||
|
||||
'@manypkg/find-root@1.1.0':
|
||||
dependencies:
|
||||
'@babel/runtime': 7.28.6
|
||||
|
|
@ -12483,6 +12654,8 @@ snapshots:
|
|||
globby: 11.1.0
|
||||
read-yaml-file: 1.1.0
|
||||
|
||||
'@marijn/find-cluster-break@1.0.2': {}
|
||||
|
||||
'@mswjs/data@0.16.2(@types/node@24.11.0)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@types/lodash': 4.17.24
|
||||
|
|
@ -13640,6 +13813,39 @@ snapshots:
|
|||
'@typescript-eslint/types': 8.56.1
|
||||
eslint-visitor-keys: 5.0.1
|
||||
|
||||
'@uiw/codemirror-extensions-basic-setup@4.25.7(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.2)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)':
|
||||
dependencies:
|
||||
'@codemirror/autocomplete': 6.20.1
|
||||
'@codemirror/commands': 6.10.2
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/lint': 6.9.5
|
||||
'@codemirror/search': 6.6.0
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
|
||||
'@uiw/codemirror-themes@4.25.7(@codemirror/language@6.12.2)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)':
|
||||
dependencies:
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
|
||||
'@uiw/react-codemirror@4.25.7(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.16)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
|
||||
dependencies:
|
||||
'@babel/runtime': 7.28.6
|
||||
'@codemirror/commands': 6.10.2
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/theme-one-dark': 6.1.3
|
||||
'@codemirror/view': 6.39.16
|
||||
'@uiw/codemirror-extensions-basic-setup': 4.25.7(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.2)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.5.4)(@codemirror/view@6.39.16)
|
||||
codemirror: 6.0.2
|
||||
react: 19.2.4
|
||||
react-dom: 19.2.4(react@19.2.4)
|
||||
transitivePeerDependencies:
|
||||
- '@codemirror/autocomplete'
|
||||
- '@codemirror/language'
|
||||
- '@codemirror/lint'
|
||||
- '@codemirror/search'
|
||||
|
||||
'@ungap/structured-clone@1.3.0': {}
|
||||
|
||||
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
|
||||
|
|
@ -15040,7 +15246,15 @@ snapshots:
|
|||
|
||||
co@4.6.0: {}
|
||||
|
||||
codemirror@5.65.21: {}
|
||||
codemirror@6.0.2:
|
||||
dependencies:
|
||||
'@codemirror/autocomplete': 6.20.1
|
||||
'@codemirror/commands': 6.10.2
|
||||
'@codemirror/language': 6.12.2
|
||||
'@codemirror/lint': 6.9.5
|
||||
'@codemirror/search': 6.6.0
|
||||
'@codemirror/state': 6.5.4
|
||||
'@codemirror/view': 6.39.16
|
||||
|
||||
collect-v8-coverage@1.0.3: {}
|
||||
|
||||
|
|
@ -15187,6 +15401,8 @@ snapshots:
|
|||
|
||||
create-require@1.1.1: {}
|
||||
|
||||
crelt@1.0.6: {}
|
||||
|
||||
cross-env@10.1.0:
|
||||
dependencies:
|
||||
'@epic-web/invariant': 1.0.0
|
||||
|
|
@ -19239,6 +19455,8 @@ snapshots:
|
|||
dependencies:
|
||||
webpack: 5.105.3(esbuild@0.27.3)(webpack-cli@6.0.1)
|
||||
|
||||
style-mod@4.1.3: {}
|
||||
|
||||
stylis@4.2.0: {}
|
||||
|
||||
sumchecker@3.0.1:
|
||||
|
|
@ -19739,6 +19957,8 @@ snapshots:
|
|||
|
||||
void-elements@3.1.0: {}
|
||||
|
||||
w3c-keyname@2.2.8: {}
|
||||
|
||||
w3c-xmlserializer@5.0.0:
|
||||
dependencies:
|
||||
xml-name-validator: 5.0.0
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user