diff --git a/editor-packages/editor-debugger/package.json b/editor-packages/editor-debugger/package.json
deleted file mode 100644
index 7569c855..00000000
--- a/editor-packages/editor-debugger/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "@code-editor/debugger",
- "version": "0.0.0",
- "private": false
-}
\ No newline at end of file
diff --git a/editor-packages/editor-devtools/components/console-feed/index.ts b/editor-packages/editor-devtools/components/console-feed/index.ts
new file mode 100644
index 00000000..9977fad1
--- /dev/null
+++ b/editor-packages/editor-devtools/components/console-feed/index.ts
@@ -0,0 +1 @@
+export * from "./window-console-feed";
diff --git a/editor-packages/editor-devtools/components/console-feed/window-console-feed.tsx b/editor-packages/editor-devtools/components/console-feed/window-console-feed.tsx
new file mode 100644
index 00000000..4d01f97f
--- /dev/null
+++ b/editor-packages/editor-devtools/components/console-feed/window-console-feed.tsx
@@ -0,0 +1,24 @@
+import React, { useEffect, useState } from "react";
+import { Console, Hook, Unhook } from "@code-editor/console-feed";
+
+export function WindowConsoleFeed({ style }: { style?: React.CSSProperties }) {
+ const [logs, setLogs] = useState([]);
+
+ useEffect(() => {
+ // run once
+ Hook(
+ window.console,
+ (log) => setLogs((currLogs) => [...currLogs, log]),
+ false
+ );
+ return () => {
+ Unhook(window.console as any);
+ };
+ }, []);
+
+ return (
+
+
+
+ );
+}
diff --git a/editor-packages/editor-devtools/components/index.ts b/editor-packages/editor-devtools/components/index.ts
new file mode 100644
index 00000000..72091986
--- /dev/null
+++ b/editor-packages/editor-devtools/components/index.ts
@@ -0,0 +1,4 @@
+export * from "./tab";
+export * from "./tab-badge";
+export * from "./console-feed";
+export * from "./visualization";
diff --git a/editor-packages/editor-devtools/components/tab-badge/index.tsx b/editor-packages/editor-devtools/components/tab-badge/index.tsx
new file mode 100644
index 00000000..e1293e22
--- /dev/null
+++ b/editor-packages/editor-devtools/components/tab-badge/index.tsx
@@ -0,0 +1,52 @@
+import React from "react";
+import styled from "@emotion/styled";
+
+const bgcolortypemap = {
+ default: "rgba(255, 255, 255, 0.1)",
+ warning: "rgba(255, 230, 0, 0.1)",
+ error: "rgba(255, 0, 0, 0.1)",
+};
+
+export function TabBadge({
+ type = "default",
+ value,
+}: {
+ type?: "default" | "warning" | "error";
+ value: string | number;
+}) {
+ const background = bgcolortypemap[type];
+
+ if (value === undefined || value === null) {
+ return <>>;
+ }
+
+ return (
+
+ {value}
+
+ );
+}
+
+const Value = styled.span`
+ color: rgb(151, 151, 151);
+ text-overflow: ellipsis;
+ font-size: 10px;
+ font-family: Inter, sans-serif;
+ font-weight: 400;
+ text-align: center;
+`;
+
+const BaseDevtoolsTabBadge = styled.div<{ background: string }>`
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ align-items: center;
+ flex: none;
+ gap: 10px;
+ border-radius: 50%;
+ width: 18px;
+ height: 18px;
+ background-color: ${(p) => p.background};
+ box-sizing: border-box;
+ padding: 10px;
+`;
diff --git a/editor-packages/editor-devtools/components/tab/index.tsx b/editor-packages/editor-devtools/components/tab/index.tsx
new file mode 100644
index 00000000..e3238b62
--- /dev/null
+++ b/editor-packages/editor-devtools/components/tab/index.tsx
@@ -0,0 +1,50 @@
+import React from "react";
+import styled from "@emotion/styled";
+import { TabBadge } from "../tab-badge";
+
+export function DevtoolsTab({
+ label,
+ badge,
+ selected,
+ onTap,
+}: {
+ selected?: boolean;
+ label: string;
+ badge?: string | number;
+ onTap?: () => void;
+}) {
+ return (
+
+
+
+
+ );
+}
+
+const TabBase = styled.div`
+ cursor: pointer;
+ user-select: none;
+ display: flex;
+ justify-content: flex-start;
+ flex-direction: row;
+ align-items: center;
+ gap: 8px;
+ box-sizing: border-box;
+`;
+
+const Label = styled.span`
+ color: rgb(151, 151, 151);
+ text-overflow: ellipsis;
+ font-size: 12px;
+ font-family: Inter, sans-serif;
+ font-weight: 400;
+ text-align: left;
+
+ &:hover {
+ color: white;
+ }
+
+ &[data-selected="true"] {
+ color: white;
+ }
+`;
diff --git a/editor-packages/editor-debugger/components/visualization/README.md b/editor-packages/editor-devtools/components/visualization/README.md
similarity index 100%
rename from editor-packages/editor-debugger/components/visualization/README.md
rename to editor-packages/editor-devtools/components/visualization/README.md
diff --git a/editor-packages/editor-debugger/components/visualization/index.ts b/editor-packages/editor-devtools/components/visualization/index.ts
similarity index 100%
rename from editor-packages/editor-debugger/components/visualization/index.ts
rename to editor-packages/editor-devtools/components/visualization/index.ts
diff --git a/editor-packages/editor-debugger/components/visualization/json-visualization/json-tree.tsx b/editor-packages/editor-devtools/components/visualization/json-visualization/json-tree.tsx
similarity index 100%
rename from editor-packages/editor-debugger/components/visualization/json-visualization/json-tree.tsx
rename to editor-packages/editor-devtools/components/visualization/json-visualization/json-tree.tsx
diff --git a/editor-packages/editor-debugger/components/visualization/node-visualization/index.ts b/editor-packages/editor-devtools/components/visualization/node-visualization/index.ts
similarity index 100%
rename from editor-packages/editor-debugger/components/visualization/node-visualization/index.ts
rename to editor-packages/editor-devtools/components/visualization/node-visualization/index.ts
diff --git a/editor-packages/editor-debugger/components/visualization/node-visualization/tree-view.tsx b/editor-packages/editor-devtools/components/visualization/node-visualization/tree-view.tsx
similarity index 100%
rename from editor-packages/editor-debugger/components/visualization/node-visualization/tree-view.tsx
rename to editor-packages/editor-devtools/components/visualization/node-visualization/tree-view.tsx
diff --git a/editor-packages/editor-debugger/debugger-panel.tsx b/editor-packages/editor-devtools/debugger-panel.tsx
similarity index 95%
rename from editor-packages/editor-debugger/debugger-panel.tsx
rename to editor-packages/editor-devtools/debugger-panel.tsx
index f3a851ad..74660f5e 100644
--- a/editor-packages/editor-debugger/debugger-panel.tsx
+++ b/editor-packages/editor-devtools/debugger-panel.tsx
@@ -2,7 +2,7 @@ import React, { useEffect, useRef, useState } from "react";
import styled from "@emotion/styled";
import { useRouter } from "next/router";
import { ClearRemoteDesignSessionCache } from "components/clear-remote-design-session-cache";
-import { WidgetTree } from "@code-editor/debugger/components/visualization/json-visualization/json-tree";
+import { WidgetTree } from "@code-editor/devtools/components/visualization/json-visualization/json-tree";
import Link from "next/link";
export const Debugger = ({
diff --git a/editor-packages/editor-debugger/index.ts b/editor-packages/editor-devtools/index.ts
similarity index 53%
rename from editor-packages/editor-debugger/index.ts
rename to editor-packages/editor-devtools/index.ts
index 86b95544..3c4e44c4 100644
--- a/editor-packages/editor-debugger/index.ts
+++ b/editor-packages/editor-devtools/index.ts
@@ -1 +1,2 @@
export * from "./debugger-panel";
+export * from "./components";
diff --git a/editor-packages/editor-devtools/package.json b/editor-packages/editor-devtools/package.json
new file mode 100644
index 00000000..a3451301
--- /dev/null
+++ b/editor-packages/editor-devtools/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "@code-editor/devtools",
+ "version": "0.0.0",
+ "private": false,
+ "dependencies": {
+ "@code-editor/console-feed": "^3.3.1"
+ }
+}
\ No newline at end of file
diff --git a/editor-packages/editor-preview-pip/lib/resizable-pip.tsx b/editor-packages/editor-preview-pip/lib/resizable-pip.tsx
index ed71e430..66054b0f 100644
--- a/editor-packages/editor-preview-pip/lib/resizable-pip.tsx
+++ b/editor-packages/editor-preview-pip/lib/resizable-pip.tsx
@@ -2,7 +2,10 @@ import React from "react";
import PIP from "./pip";
import { ResizableBox } from "react-resizable";
import "react-resizable/css/styles.css";
-import type { ResizableBoxProps as RawResizableBoxProps } from "react-resizable";
+import type {
+ ResizableBoxProps as RawResizableBoxProps,
+ ResizableProps,
+} from "react-resizable";
import styled from "@emotion/styled";
interface ResizableBoxProps
@@ -17,7 +20,7 @@ interface ResizableBoxProps
* resize handle to display - a react component
* @default none
*/
- resizeHandle?: React.ReactNode;
+ resizeHandle?: ResizableProps["handle"];
/**
* @default 500
*/
diff --git a/editor-packages/editor-services-esbuild/index.ts b/editor-packages/editor-services-esbuild/index.ts
index 724ac3e3..d3cd8782 100644
--- a/editor-packages/editor-services-esbuild/index.ts
+++ b/editor-packages/editor-services-esbuild/index.ts
@@ -44,7 +44,6 @@ const bundler = async (rawCode: string, lang: Loader) => {
return { code: result.outputFiles[0].text, err: null };
} catch (error: any) {
- console.error("esbuild error: ", error);
return {
code: null,
err: { method: "error", data: [error.message], id: nanoid() },
diff --git a/editor/components/app-runner/vanilla-esbuild-app-runner.tsx b/editor/components/app-runner/vanilla-esbuild-app-runner.tsx
index 7a5b9aec..27d4549d 100644
--- a/editor/components/app-runner/vanilla-esbuild-app-runner.tsx
+++ b/editor/components/app-runner/vanilla-esbuild-app-runner.tsx
@@ -1,5 +1,6 @@
import React, { useCallback, useEffect, useRef, useState } from "react";
import { VanillaRunner } from "components/app-runner/vanilla-app-runner";
+import { useDispatch } from "core/dispatch";
export function VanillaESBuildAppRunner({
doc,
@@ -13,6 +14,17 @@ export function VanillaESBuildAppRunner({
};
}) {
const ref = useRef();
+ const dispatch = useDispatch();
+
+ const consoleLog = useCallback(
+ (p: { method; data }) => {
+ dispatch({
+ type: "devtools-console",
+ log: p,
+ });
+ },
+ [dispatch]
+ );
const loadCode = useCallback(
(e: HTMLIFrameElement) => {
@@ -29,6 +41,22 @@ export function VanillaESBuildAppRunner({
}
}, [doc?.html, doc?.css, doc?.javascript]);
+ useEffect(() => {
+ const handler = (event: any) => {
+ if (event.data.type === "console") {
+ console[event.data.method](JSON.parse(event.data.data).join(" "));
+ consoleLog({
+ method: event.data.method,
+ data: JSON.parse(event.data.data),
+ });
+ }
+ };
+
+ window.addEventListener("message", handler);
+
+ return () => window.removeEventListener("message", handler);
+ }, []);
+
return (
{}
@@ -35,8 +35,10 @@ export function CodeEditor({
diff --git a/editor/components/editor-hierarchy/editor-layer-hierarchy/index.tsx b/editor/components/editor-hierarchy/editor-layer-hierarchy/index.tsx
index 2da02d95..0cdf2a58 100644
--- a/editor/components/editor-hierarchy/editor-layer-hierarchy/index.tsx
+++ b/editor/components/editor-hierarchy/editor-layer-hierarchy/index.tsx
@@ -1,9 +1,9 @@
import React, { useState } from "react";
import styled from "@emotion/styled";
-import TreeView from "@material-ui/lab/TreeView";
-import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
-import ChevronRightIcon from "@material-ui/icons/ChevronRight";
-import TreeItem from "@material-ui/lab/TreeItem";
+import TreeView from "@mui/lab/TreeView";
+import TreeItem from "@mui/lab/TreeItem";
+import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
+import ChevronRightIcon from "@mui/icons-material/ChevronRight";
import { SideNavigation } from "components/side-navigation";
interface LayerTree {
diff --git a/editor/components/editor/editor-appbar/editor-appbar-fragment-for-sidebar.tsx b/editor/components/editor/editor-appbar/editor-appbar-fragment-for-sidebar.tsx
index e0cc5d59..93819795 100644
--- a/editor/components/editor/editor-appbar/editor-appbar-fragment-for-sidebar.tsx
+++ b/editor/components/editor/editor-appbar/editor-appbar-fragment-for-sidebar.tsx
@@ -1,6 +1,6 @@
import React from "react";
import styled from "@emotion/styled";
-import { ArrowBack } from "@material-ui/icons";
+import { ArrowBack } from "@mui/icons-material";
import { useRouter } from "next/router";
import { colors } from "theme";
import ClientOnly from "components/client-only";
diff --git a/editor/components/index.ts b/editor/components/index.ts
index 301a4145..d6613956 100644
--- a/editor/components/index.ts
+++ b/editor/components/index.ts
@@ -2,5 +2,5 @@ export * as figmacomp from "./figma";
export * as canvas from "./design-preview-as-is";
export * as code from "./code-editor";
export * as runner from "./app-runner";
-export * as visualization from "../../editor-packages/editor-debugger/components/visualization";
+export * as visualization from "../../editor-packages/editor-devtools/components/visualization";
export * from "./client-only";
diff --git a/editor/core/actions/index.ts b/editor/core/actions/index.ts
index 784ee1a1..54187be4 100644
--- a/editor/core/actions/index.ts
+++ b/editor/core/actions/index.ts
@@ -1,5 +1,5 @@
import type { FrameworkConfig } from "@designto/config";
-import type { EditorState, ScenePreviewData } from "core/states";
+import type { ConsoleLog, EditorState, ScenePreviewData } from "core/states";
export type WorkspaceAction =
//
@@ -20,7 +20,8 @@ export type Action =
| HighlightLayerAction
| CanvasModeAction
| PreviewAction
- | CodeEditorAction;
+ | CodeEditorAction
+ | DevtoolsAction;
export type ActionType = Action["type"];
@@ -74,3 +75,13 @@ export interface CodeEditorEditComponentCodeAction {
componentName: string;
raw: string;
}
+
+export type DevtoolsAction = DevtoolsConsoleAction | DevtoolsConsoleClearAction;
+export interface DevtoolsConsoleAction {
+ type: "devtools-console";
+ log: ConsoleLog;
+}
+
+export interface DevtoolsConsoleClearAction {
+ type: "devtools-console-clear";
+}
diff --git a/editor/core/reducers/editor-reducer.ts b/editor/core/reducers/editor-reducer.ts
index c8e97dca..91e2e05d 100644
--- a/editor/core/reducers/editor-reducer.ts
+++ b/editor/core/reducers/editor-reducer.ts
@@ -8,6 +8,8 @@ import type {
CanvasModeGobackAction,
PreviewBuildingStateUpdateAction,
PreviewSetAction,
+ DevtoolsConsoleAction,
+ DevtoolsConsoleClearAction,
} from "core/actions";
import { EditorState } from "core/states";
import { useRouter } from "next/router";
@@ -153,6 +155,35 @@ export function editorReducer(state: EditorState, action: Action): EditorState {
draft.currentPreview = data; // set
});
}
+ case "devtools-console": {
+ const { log } = action;
+ return produce(state, (draft) => {
+ if (!draft.devtoolsConsole?.logs?.length) {
+ draft.devtoolsConsole = { logs: [] };
+ }
+
+ const logs = Array.from(state.devtoolsConsole?.logs ?? []);
+ logs.push(log);
+
+ draft.devtoolsConsole.logs = logs;
+ });
+ break;
+ }
+ case "devtools-console-clear": {
+ const {} = action;
+ return produce(state, (draft) => {
+ if (draft.devtoolsConsole?.logs?.length) {
+ draft.devtoolsConsole.logs = [
+ {
+ id: "clear",
+ method: "info",
+ data: ["Console was cleared"],
+ },
+ ];
+ }
+ });
+ break;
+ }
default:
throw new Error(`Unhandled action type: ${action["type"]}`);
}
diff --git a/editor/core/states/editor-state.ts b/editor/core/states/editor-state.ts
index 8bbe99a8..855ec2f2 100644
--- a/editor/core/states/editor-state.ts
+++ b/editor/core/states/editor-state.ts
@@ -27,6 +27,7 @@ export interface EditorState {
currentPreview?: ScenePreviewData;
code?: CodeRepository;
editingModule?: EditingModule;
+ devtoolsConsole?: DevtoolsConsole;
}
export interface EditorSnapshot {
@@ -109,3 +110,24 @@ export interface EditingModule {
lang: string;
raw: string;
}
+
+interface DevtoolsConsole {
+ logs: ConsoleLog[];
+}
+
+export interface ConsoleLog {
+ id?: string;
+ data: any[];
+ method:
+ | "log"
+ | "debug"
+ | "info"
+ | "warn"
+ | "error"
+ | "table"
+ | "clear"
+ | "time"
+ | "timeEnd"
+ | "count"
+ | "assert";
+}
diff --git a/editor/icons/icon-angle-down.tsx b/editor/icons/icon-angle-down.tsx
new file mode 100644
index 00000000..2ebd19ef
--- /dev/null
+++ b/editor/icons/icon-angle-down.tsx
@@ -0,0 +1,21 @@
+import React from "react";
+
+export const AngleDownIcon = (props) => {
+ return (
+
+ );
+};
diff --git a/editor/icons/icon-angle-up.tsx b/editor/icons/icon-angle-up.tsx
new file mode 100644
index 00000000..9d8e9041
--- /dev/null
+++ b/editor/icons/icon-angle-up.tsx
@@ -0,0 +1,21 @@
+import React from "react";
+
+export const AngleUpIcon = (props) => {
+ return (
+
+ );
+};
diff --git a/editor/icons/icon-trash.tsx b/editor/icons/icon-trash.tsx
new file mode 100644
index 00000000..753f2593
--- /dev/null
+++ b/editor/icons/icon-trash.tsx
@@ -0,0 +1,28 @@
+import React from "react";
+
+export const TrashIcon = (props) => {
+ return (
+
+ );
+};
diff --git a/editor/layouts/app-menu/app-menu.tsx b/editor/layouts/app-menu/app-menu.tsx
deleted file mode 100644
index 450d8931..00000000
--- a/editor/layouts/app-menu/app-menu.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from "react";
-import Button from "@material-ui/core/Button";
-import Menu from "@material-ui/core/Menu";
-import MenuItem from "@material-ui/core/MenuItem";
-import styled from "@emotion/styled";
-
-export function AppMenu() {
- const [anchorEl, setAnchorEl] = React.useState(null);
-
- const handleClick = (event: React.MouseEvent) => {
- setAnchorEl(event.currentTarget);
- };
-
- const handleClose = () => {
- setAnchorEl(null);
- };
-
- const handleLoadDesignClick = () => {
- console.log("load design click. open design loader prompt");
- handleClose();
- };
-
- return (
-
-
-
-
- );
-}
-
-const AppMenuRoot = styled.div`
- flex-grow: 0;
-`;
diff --git a/editor/layouts/app-menu/index.ts b/editor/layouts/app-menu/index.ts
deleted file mode 100644
index 2d3bd3ec..00000000
--- a/editor/layouts/app-menu/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./app-menu";
diff --git a/editor/layouts/default-editor-workspace-layout.tsx b/editor/layouts/default-editor-workspace-layout.tsx
index 470bc6de..1c8a1bdb 100644
--- a/editor/layouts/default-editor-workspace-layout.tsx
+++ b/editor/layouts/default-editor-workspace-layout.tsx
@@ -1,6 +1,5 @@
import styled from "@emotion/styled";
import React from "react";
-import { AppMenu } from "./app-menu";
import { Resizable } from "re-resizable";
type SidebarElementSignature =
diff --git a/editor/next.config.js b/editor/next.config.js
index 29a4f9a2..68120387 100644
--- a/editor/next.config.js
+++ b/editor/next.config.js
@@ -3,7 +3,7 @@ const withTM = require("next-transpile-modules")([
// region @editor-app
"@editor-app/live-session",
"@code-editor/preview-pip", // TODO: remove me. this is for development. for production, use npm ver instead.
- "@code-editor/debugger",
+ "@code-editor/devtools",
"@code-editor/canvas",
// region editor-submodule deps
diff --git a/editor/package.json b/editor/package.json
index 32c94541..23792f53 100644
--- a/editor/package.json
+++ b/editor/package.json
@@ -19,11 +19,11 @@
"@emotion/css": "^11.5.0",
"@emotion/react": "^11.1.5",
"@emotion/styled": "^11.1.5",
- "@material-ui/core": "^4.12.3",
- "@material-ui/icons": "^4.11.2",
- "@material-ui/lab": "^4.0.0-alpha.60",
"@modulz/design-system": "^0.6.1",
"@monaco-editor/react": "^4.4.1",
+ "@mui/icons-material": "^5.6.1",
+ "@mui/lab": "^5.0.0-alpha.77",
+ "@mui/material": "^5.6.1",
"@reflect-blocks/figma-embed": "^0.0.5",
"@use-gesture/react": "^10.2.11",
"@visx/gradient": "^1.7.0",
diff --git a/editor/pages/_app.tsx b/editor/pages/_app.tsx
index 1aa02f62..0caa7db1 100644
--- a/editor/pages/_app.tsx
+++ b/editor/pages/_app.tsx
@@ -3,6 +3,7 @@ import { Global, css } from "@emotion/react";
import Head from "next/head";
import Script from "next/script";
import { EditorThemeProvider } from "@editor-ui/theme";
+import { MuiThemeProvider } from "theme/mui";
import { colors } from "theme";
import { useRouter } from "next/router";
@@ -146,9 +147,11 @@ function EditorApp({ Component, pageProps }) {
return (
-
-
-
+
+
+
+
+
);
}
diff --git a/editor/pages/_development/code-editor/index.tsx b/editor/pages/_development/code-editor/index.tsx
index 61ea4395..c4392672 100644
--- a/editor/pages/_development/code-editor/index.tsx
+++ b/editor/pages/_development/code-editor/index.tsx
@@ -8,11 +8,11 @@ export default function CodeEditorDevPage() {
language: "typescript",
raw: `export * from "./components"`,
},
- "components/index.ts": {
- name: "index.ts",
- language: "typescript",
- raw: `export * from "./app-bar"`,
- },
+ // "components/index.ts": {
+ // name: "index.ts",
+ // language: "typescript",
+ // raw: `export * from "./app-bar"`,
+ // },
};
return ;
diff --git a/editor/pages/figma/inspect-component.tsx b/editor/pages/figma/inspect-component.tsx
index f3cdac37..18cb5e25 100644
--- a/editor/pages/figma/inspect-component.tsx
+++ b/editor/pages/figma/inspect-component.tsx
@@ -4,12 +4,12 @@ import { tokenize } from "@designto/token";
import React from "react";
import { canvas } from "components";
import { LayerHierarchy } from "components/editor-hierarchy";
-import { visualize_node } from "@code-editor/debugger/components/visualization";
+import { visualize_node } from "@code-editor/devtools/components/visualization";
import {
JsonTree,
WidgetTree,
WidgetTreeLegend,
-} from "@code-editor/debugger/components/visualization/json-visualization/json-tree";
+} from "@code-editor/devtools/components/visualization/json-visualization/json-tree";
import { DefaultEditorWorkspaceLayout } from "layouts/default-editor-workspace-layout";
import LoadingLayout from "layouts/loading-overlay";
import {
diff --git a/editor/pages/figma/to-reflect.tsx b/editor/pages/figma/to-reflect.tsx
index 7f5145b3..b4e7217d 100644
--- a/editor/pages/figma/to-reflect.tsx
+++ b/editor/pages/figma/to-reflect.tsx
@@ -1,8 +1,8 @@
import React, { useState } from "react";
import { canvas } from "components";
import { ReflectSceneNode } from "@design-sdk/core";
-import { visualize_node } from "@code-editor/debugger/components/visualization";
-import { JsonTree } from "@code-editor/debugger/components/visualization/json-visualization/json-tree";
+import { visualize_node } from "@code-editor/devtools/components/visualization";
+import { JsonTree } from "@code-editor/devtools/components/visualization/json-visualization/json-tree";
import { useReflectTargetNode } from "../../query/from-figma";
export default function FigmaToReflectNodePage() {
diff --git a/editor/pages/figma/to-token.tsx b/editor/pages/figma/to-token.tsx
index ae27ff47..7b0f04f5 100644
--- a/editor/pages/figma/to-token.tsx
+++ b/editor/pages/figma/to-token.tsx
@@ -4,7 +4,7 @@ import { tokenize } from "@designto/token";
import {
JsonTree,
WidgetTree,
-} from "@code-editor/debugger/components/visualization/json-visualization/json-tree";
+} from "@code-editor/devtools/components/visualization/json-visualization/json-tree";
import { DefaultEditorWorkspaceLayout } from "layouts/default-editor-workspace-layout";
import { LayerHierarchy } from "components/editor-hierarchy";
import { WorkspaceContentPanelGridLayout } from "layouts/panel/workspace-content-panel-grid-layout";
diff --git a/editor/pages/integrations/index.tsx b/editor/pages/integrations/index.tsx
index 1e5f812d..a5675359 100644
--- a/editor/pages/integrations/index.tsx
+++ b/editor/pages/integrations/index.tsx
@@ -1,5 +1,4 @@
-import React, { useEffect, useState } from "react";
-import styled from "@emotion/styled";
+import React from "react";
import { DefaultEditorWorkspaceLayout } from "layouts/default-editor-workspace-layout";
import { HomeHeading, HomeSidebar } from "components/home";
import Link from "next/link";
diff --git a/editor/pages/preferences/access-tokens.tsx b/editor/pages/preferences/access-tokens.tsx
index 3d0b960e..6e0e7da1 100644
--- a/editor/pages/preferences/access-tokens.tsx
+++ b/editor/pages/preferences/access-tokens.tsx
@@ -1,6 +1,6 @@
import React, { useState } from "react";
import styled from "@emotion/styled";
-import { TextField } from "@material-ui/core";
+import { TextField } from "@mui/material";
import { personal } from "@design-sdk/figma-auth-store";
export default function AccessTokenConfigurationPage_Dev() {
diff --git a/editor/pages/preferences/index.tsx b/editor/pages/preferences/index.tsx
index 286d32a2..4efaff0a 100644
--- a/editor/pages/preferences/index.tsx
+++ b/editor/pages/preferences/index.tsx
@@ -2,9 +2,9 @@ import React from "react";
import Link from "next/link";
import styled from "@emotion/styled";
-import FormGroup from "@material-ui/core/FormGroup";
-import FormControlLabel from "@material-ui/core/FormControlLabel";
-import Checkbox from "@material-ui/core/Checkbox";
+import FormGroup from "@mui/material/FormGroup";
+import FormControlLabel from "@mui/material/FormControlLabel";
+import Checkbox from "@mui/material/Checkbox";
import { WorkspacePreferenceStore } from "store/workspace-preference-store";
export default function PreferencesHomePage() {
diff --git a/editor/scaffolds/canvas/canvas.tsx b/editor/scaffolds/canvas/canvas.tsx
index e79d81f1..2838b932 100644
--- a/editor/scaffolds/canvas/canvas.tsx
+++ b/editor/scaffolds/canvas/canvas.tsx
@@ -7,7 +7,7 @@ import useMeasure from "react-use-measure";
import { useDispatch } from "core/dispatch";
import { FrameTitleRenderer } from "./render/frame-title";
import { IsolateModeCanvas } from "./isolate-mode";
-import { Dialog } from "@material-ui/core";
+import { Dialog } from "@mui/material";
import { FullScreenPreview } from "scaffolds/preview-full-screen";
/**
diff --git a/editor/scaffolds/canvas/isolate-mode.tsx b/editor/scaffolds/canvas/isolate-mode.tsx
index 7e4c28ae..3924e6b7 100644
--- a/editor/scaffolds/canvas/isolate-mode.tsx
+++ b/editor/scaffolds/canvas/isolate-mode.tsx
@@ -3,6 +3,7 @@ import { IsolatedCanvas } from "components/canvas";
import { PreviewAndRunPanel } from "components/preview-and-run";
import { useEditorState } from "core/states";
import { VanillaDedicatedPreviewRenderer } from "components/app-runner";
+import { Devtools } from "scaffolds/devtools";
export function IsolateModeCanvas({
hidden = false,
@@ -50,6 +51,7 @@ export function IsolateModeCanvas({
)}
>
+
);
}
diff --git a/editor/scaffolds/devtools/console-feed.tsx b/editor/scaffolds/devtools/console-feed.tsx
new file mode 100644
index 00000000..4e4a0966
--- /dev/null
+++ b/editor/scaffolds/devtools/console-feed.tsx
@@ -0,0 +1,16 @@
+import React from "react";
+import { Console } from "@code-editor/console-feed";
+import { useEditorState } from "core/states";
+
+export function EditorConsoleFeed({ style }: { style?: React.CSSProperties }) {
+ const [state] = useEditorState();
+
+ return (
+
+
+
+ );
+}
diff --git a/editor/scaffolds/devtools/index.tsx b/editor/scaffolds/devtools/index.tsx
new file mode 100644
index 00000000..68ab587d
--- /dev/null
+++ b/editor/scaffolds/devtools/index.tsx
@@ -0,0 +1,193 @@
+import React, { useCallback, useEffect, useState } from "react";
+import styled from "@emotion/styled";
+import { DevtoolsTab } from "@code-editor/devtools";
+import { colors } from "theme";
+import { Resizable } from "re-resizable";
+import { AngleDownIcon } from "icons/icon-angle-down";
+import { AngleUpIcon } from "icons/icon-angle-up";
+import { TrashIcon } from "icons/icon-trash";
+import { useDispatch } from "core/dispatch";
+import { EditorConsoleFeed } from "./console-feed";
+import { useEditorState } from "core/states";
+
+const min_body_height = 120;
+const max_body_height = 500;
+const precalculated_bar_height = 44;
+const expand_default_height = min_body_height + precalculated_bar_height;
+
+const height_store = {
+ get: () => {
+ const stored = localStorage.getItem("devtools-height");
+ if (stored) {
+ return parseInt(stored);
+ }
+ return expand_default_height;
+ },
+ set: (height) => {
+ localStorage.setItem("devtools-height", height.toString());
+ },
+};
+
+export function Devtools() {
+ const [expanded, setExpended] = useState(false);
+ const [height, setHeight] = useState(
+ expanded ? height_store.get() : precalculated_bar_height
+ );
+
+ const dispatch = useDispatch();
+
+ const clearConsole = useCallback(() => {
+ dispatch({
+ type: "devtools-console-clear",
+ });
+ }, [dispatch]);
+
+ // save height
+ useEffect(() => {
+ if (expanded) {
+ height_store.set(height);
+ }
+ }, [height, expanded]);
+
+ return (
+ {
+ if (!expanded && di === "top") {
+ setExpended(true);
+ setHeight(expand_default_height);
+ }
+ }}
+ onResizeStop={(e, di, r, { height: dh }) => {
+ const nh = height + dh;
+ setHeight(nh);
+ if (nh <= precalculated_bar_height) {
+ setExpended(false);
+ }
+ }}
+ enable={{
+ top: true,
+ right: false,
+ bottom: false,
+ left: false,
+ }}
+ size={{
+ width: "auto",
+ height: height,
+ }}
+ minHeight={precalculated_bar_height}
+ style={{
+ opacity: expanded ? 1 : 0.8,
+ transition: "opacity 0.2s",
+ overflow: "hidden",
+ marginLeft: 21,
+ marginRight: 21,
+ marginBottom: 16,
+ boxShadow: "0px 4px 32px 4px rgba(0, 0, 0, 0.25)",
+ border: "solid 1px rgba(255, 255, 255, 0.04)",
+ borderRadius: 6,
+ boxSizing: "border-box",
+ position: "absolute",
+ bottom: 0,
+ left: 0,
+ right: 0,
+ display: "flex",
+ flexDirection: "column",
+ background: colors.color_editor_bg_on_dark,
+ }}
+ >
+ {
+ if (expanded) {
+ setHeight(precalculated_bar_height);
+ } else {
+ setHeight(height_store.get());
+ }
+ setExpended(!expanded);
+ }}
+ onClearConsole={clearConsole}
+ />
+
+
+ );
+}
+
+function ContentBody({ hidden = false }: { hidden?: boolean }) {
+ return (
+
+ );
+}
+
+function ControllerBar({
+ onToggleExpand,
+ expanded,
+ onClearConsole,
+}: {
+ onToggleExpand: () => void;
+ expanded: boolean;
+ onClearConsole: () => void;
+}) {
+ return (
+
+
+
+ {expanded ? (
+
+ ) : null}
+ {expanded ? (
+
+ ) : (
+
+ )}
+
+
+ );
+}
+
+const ControllerBarActionArea = styled.div`
+ display: flex;
+ gap: 10px;
+`;
+
+function Tabs({ onClick }: { onClick?: () => void }) {
+ const [state] = useEditorState();
+ const { devtoolsConsole } = state;
+
+ return (
+
+
+ {/*
+
+ */}
+
+ );
+}
diff --git a/editor/scaffolds/editor/editor-preview-provider.tsx b/editor/scaffolds/editor/editor-preview-provider.tsx
index 93aee854..3c3de889 100644
--- a/editor/scaffolds/editor/editor-preview-provider.tsx
+++ b/editor/scaffolds/editor/editor-preview-provider.tsx
@@ -106,6 +106,16 @@ export function EditorPreviewDataProvider({
[dispatch]
);
+ const consoleLog = useCallback(
+ (p: { method; data }) => {
+ dispatch({
+ type: "devtools-console",
+ log: p,
+ });
+ },
+ [dispatch]
+ );
+
const _is_mode_requires_preview_build =
state.canvasMode === "fullscreen-preview" ||
state.canvasMode === "isolated-view";
@@ -201,8 +211,13 @@ export function EditorPreviewDataProvider({
componentName: componentName,
});
}
+ } else {
+ consoleLog({ ...d.err });
}
})
+ .catch((e) => {
+ consoleLog({ method: "error", data: [e.message] });
+ })
.finally(() => {
updateBuildingState(false);
});
diff --git a/editor/scaffolds/editor/skeleton.tsx b/editor/scaffolds/editor/skeleton.tsx
index ba7a4e9b..e6d5eafb 100644
--- a/editor/scaffolds/editor/skeleton.tsx
+++ b/editor/scaffolds/editor/skeleton.tsx
@@ -1,9 +1,8 @@
import React from "react";
import styled from "@emotion/styled";
import { HomeLogo } from "icons/home-logo";
-import { withStyles } from "@material-ui/core/styles";
-import Box from "@material-ui/core/Box";
-import LinearProgress from "@material-ui/core/LinearProgress";
+import Box from "@mui/material/Box";
+import LinearProgress from "@mui/material/LinearProgress";
import ClientOnly from "components/client-only";
export function EditorSkeleton({
@@ -20,7 +19,9 @@ export function EditorSkeleton({
-
+
+
+
@@ -70,32 +71,18 @@ const LogoAndLoading = styled.div`
box-sizing: border-box;
`;
-const styles = (props) => ({
- colorPrimary: {
- backgroundColor: "rgba(255, 255, 255, 0.3)",
- },
- barColorPrimary: {
- backgroundColor: "#fff",
- },
-});
+// const styles = (props) => ({
+// colorPrimary: {
+// backgroundColor: "rgba(255, 255, 255, 0.3)",
+// },
+// barColorPrimary: {
+// backgroundColor: "#fff",
+// },
+// });
-const ColoredLinearProgress = withStyles(styles)(function (props: {
- value?: number;
-}) {
- //@ts-ignore
- const { classes } = props;
- return (
-
-
-
- );
-});
+const ColoredLinearProgress = styled(LinearProgress)`
+ color: white;
+`;
export function TipsContainer() {
return (
diff --git a/editor/scaffolds/preview-full-screen/index.tsx b/editor/scaffolds/preview-full-screen/index.tsx
index f2f1e2c9..fdfebcfd 100644
--- a/editor/scaffolds/preview-full-screen/index.tsx
+++ b/editor/scaffolds/preview-full-screen/index.tsx
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
import { useEditorState } from "core/states";
import styled from "@emotion/styled";
import { useWindowSize } from "hooks";
-import Close from "@material-ui/icons/Close";
+import Close from "@mui/icons-material/Close";
import ClientOnly from "components/client-only";
import { VanillaDedicatedPreviewRenderer } from "components/app-runner";
diff --git a/editor/theme/mui.tsx b/editor/theme/mui.tsx
new file mode 100644
index 00000000..807700fa
--- /dev/null
+++ b/editor/theme/mui.tsx
@@ -0,0 +1,20 @@
+import { ThemeProvider, createTheme } from "@mui/material/styles";
+
+const muitheme = createTheme({
+ components: {
+ MuiLinearProgress: {
+ styleOverrides: {
+ colorPrimary: {
+ backgroundColor: "rgba(255, 255, 255, 0.3)",
+ },
+ barColorPrimary: {
+ backgroundColor: "white",
+ },
+ },
+ },
+ },
+});
+
+export function MuiThemeProvider({ children }: { children }) {
+ return {children};
+}
diff --git a/yarn.lock b/yarn.lock
index f6f6ea3c..bf45fa15 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1128,13 +1128,20 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.6", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.3", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.6", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.3", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.17.8"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.17.2":
+ version "7.17.9"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72"
+ integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.3.3":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
@@ -1266,6 +1273,14 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
+"@code-editor/console-feed@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/@code-editor/console-feed/-/console-feed-3.3.1.tgz#8d54ee586b0b512287ad46be49c1c026d564a22c"
+ integrity sha512-QlU36vyBn5pJpPBx6gpxae90zdWGxDwpjmihSzVT18iU9QSNp6UXlvTjZteSAM/PpquzwTcy6I5oflNvXO0R3g==
+ dependencies:
+ linkifyjs "^2.1.6"
+ react-inspector "^5.1.0"
+
"@code-ui/color-scheme@^0.0.2":
version "0.0.2"
resolved "https://registry.yarnpkg.com/@code-ui/color-scheme/-/color-scheme-0.0.2.tgz#aa3e805068591cad4f2f7f476d89fba037cb4d85"
@@ -1294,6 +1309,39 @@
dependencies:
"@tippyjs/react" "^4.2.5"
+"@date-io/core@^2.13.1":
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/@date-io/core/-/core-2.13.1.tgz#f041765aff5c55fbc7e37fdd75fc1792733426d6"
+ integrity sha512-pVI9nfkf2qClb2Cxdq0Q4zJhdawMG4ybWZUVGifT78FDwzRMX2SwXBb55s5NRJk0HcIicDuxktmCtemZqMH1Zg==
+
+"@date-io/date-fns@^2.11.0":
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/@date-io/date-fns/-/date-fns-2.13.1.tgz#19d8a245dab61c03c95ba492d679d98d2b0b4af5"
+ integrity sha512-8fmfwjiLMpFLD+t4NBwDx0eblWnNcgt4NgfT/uiiQTGI81fnPu9tpBMYdAcuWxaV7LLpXgzLBx1SYWAMDVUDQQ==
+ dependencies:
+ "@date-io/core" "^2.13.1"
+
+"@date-io/dayjs@^2.11.0":
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/@date-io/dayjs/-/dayjs-2.13.1.tgz#98461d22ee98179b9f2dca3b36f1b618704ae593"
+ integrity sha512-5bL4WWWmlI4uGZVScANhHJV7Mjp93ec2gNeUHDqqLaMZhp51S0NgD25oqj/k0LqBn1cdU2MvzNpk/ObMmVv5cQ==
+ dependencies:
+ "@date-io/core" "^2.13.1"
+
+"@date-io/luxon@^2.11.1":
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/@date-io/luxon/-/luxon-2.13.1.tgz#3701b3cabfffda5102af302979aa6e58acfda91a"
+ integrity sha512-yG+uM7lXfwLyKKEwjvP8oZ7qblpmfl9gxQYae55ifbwiTs0CoCTkYkxEaQHGkYtTqGTzLqcb0O9Pzx6vgWg+yg==
+ dependencies:
+ "@date-io/core" "^2.13.1"
+
+"@date-io/moment@^2.11.0":
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/@date-io/moment/-/moment-2.13.1.tgz#122a51e4bdedf71ff3babb264427737dc022c1e6"
+ integrity sha512-XX1X/Tlvl3TdqQy2j0ZUtEJV6Rl8tOyc5WOS3ki52He28Uzme4Ro/JuPWTMBDH63weSWIZDlbR7zBgp3ZA2y1A==
+ dependencies:
+ "@date-io/core" "^2.13.1"
+
"@design-sdk/figma-remote-api@0.0.0":
version "0.0.0"
resolved "https://registry.yarnpkg.com/@design-sdk/figma-remote-api/-/figma-remote-api-0.0.0.tgz#c1937575bbf824ca8fc45141db5327dd98d789ff"
@@ -2544,88 +2592,6 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@material-ui/core@^4.12.3":
- version "4.12.4"
- resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.4.tgz#4ac17488e8fcaf55eb6a7f5efb2a131e10138a73"
- integrity sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==
- dependencies:
- "@babel/runtime" "^7.4.4"
- "@material-ui/styles" "^4.11.5"
- "@material-ui/system" "^4.12.2"
- "@material-ui/types" "5.1.0"
- "@material-ui/utils" "^4.11.3"
- "@types/react-transition-group" "^4.2.0"
- clsx "^1.0.4"
- hoist-non-react-statics "^3.3.2"
- popper.js "1.16.1-lts"
- prop-types "^15.7.2"
- react-is "^16.8.0 || ^17.0.0"
- react-transition-group "^4.4.0"
-
-"@material-ui/icons@^4.11.2":
- version "4.11.3"
- resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.11.3.tgz#b0693709f9b161ce9ccde276a770d968484ecff1"
- integrity sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==
- dependencies:
- "@babel/runtime" "^7.4.4"
-
-"@material-ui/lab@^4.0.0-alpha.60":
- version "4.0.0-alpha.61"
- resolved "https://registry.yarnpkg.com/@material-ui/lab/-/lab-4.0.0-alpha.61.tgz#9bf8eb389c0c26c15e40933cc114d4ad85e3d978"
- integrity sha512-rSzm+XKiNUjKegj8bzt5+pygZeckNLOr+IjykH8sYdVk7dE9y2ZuUSofiMV2bJk3qU+JHwexmw+q0RyNZB9ugg==
- dependencies:
- "@babel/runtime" "^7.4.4"
- "@material-ui/utils" "^4.11.3"
- clsx "^1.0.4"
- prop-types "^15.7.2"
- react-is "^16.8.0 || ^17.0.0"
-
-"@material-ui/styles@^4.11.5":
- version "4.11.5"
- resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.5.tgz#19f84457df3aafd956ac863dbe156b1d88e2bbfb"
- integrity sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==
- dependencies:
- "@babel/runtime" "^7.4.4"
- "@emotion/hash" "^0.8.0"
- "@material-ui/types" "5.1.0"
- "@material-ui/utils" "^4.11.3"
- clsx "^1.0.4"
- csstype "^2.5.2"
- hoist-non-react-statics "^3.3.2"
- jss "^10.5.1"
- jss-plugin-camel-case "^10.5.1"
- jss-plugin-default-unit "^10.5.1"
- jss-plugin-global "^10.5.1"
- jss-plugin-nested "^10.5.1"
- jss-plugin-props-sort "^10.5.1"
- jss-plugin-rule-value-function "^10.5.1"
- jss-plugin-vendor-prefixer "^10.5.1"
- prop-types "^15.7.2"
-
-"@material-ui/system@^4.12.2":
- version "4.12.2"
- resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.12.2.tgz#f5c389adf3fce4146edd489bf4082d461d86aa8b"
- integrity sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==
- dependencies:
- "@babel/runtime" "^7.4.4"
- "@material-ui/utils" "^4.11.3"
- csstype "^2.5.2"
- prop-types "^15.7.2"
-
-"@material-ui/types@5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2"
- integrity sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==
-
-"@material-ui/utils@^4.11.3":
- version "4.11.3"
- resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.3.tgz#232bd86c4ea81dab714f21edad70b7fdf0253942"
- integrity sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==
- dependencies:
- "@babel/runtime" "^7.4.4"
- prop-types "^15.7.2"
- react-is "^16.8.0 || ^17.0.0"
-
"@mdx-js/loader@^1.6.22":
version "1.6.22"
resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.6.22.tgz#d9e8fe7f8185ff13c9c8639c048b123e30d322c4"
@@ -2724,6 +2690,124 @@
call-me-maybe "^1.0.1"
glob-to-regexp "^0.3.0"
+"@mui/base@5.0.0-alpha.76":
+ version "5.0.0-alpha.76"
+ resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.76.tgz#683d68eff6d52e19e9962f608a5d3b8b6fb6ef55"
+ integrity sha512-Pd0l4DvjXiGRyipn/CTDlYB2XrJwhpLktVXvbvcmzL2SMDaNprSarZqBkPHIubkulmRDZEEcnFDrpKgeSJDg4A==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@emotion/is-prop-valid" "^1.1.2"
+ "@mui/types" "^7.1.3"
+ "@mui/utils" "^5.6.1"
+ "@popperjs/core" "^2.11.5"
+ clsx "^1.1.1"
+ prop-types "^15.7.2"
+ react-is "^17.0.2"
+
+"@mui/icons-material@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.6.1.tgz#421e2b73992349abb07f8f03074d7e56e20bf7ba"
+ integrity sha512-I1x8u+FRLOmoJpRJASMx9UG+jZrSkNLyRQmBXivQQwXu3m3iasMoaKYhhI0J18t8+FWktbkNTp63oEUHE9Gw0Q==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+
+"@mui/lab@^5.0.0-alpha.77":
+ version "5.0.0-alpha.77"
+ resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.77.tgz#0ef32c33f9e55b1a84443d8b011f490503e9d477"
+ integrity sha512-N+XVPqb3/IAH2i6oz2rk0sPogxOws9FNG045702z6cGL/F9lccOxF+3B12GxrHgKt9dmdeGV+BYDIf0bv2W+Eg==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@mui/base" "5.0.0-alpha.76"
+ "@mui/system" "^5.6.1"
+ "@mui/utils" "^5.6.1"
+ "@mui/x-date-pickers" "5.0.0-alpha.0"
+ clsx "^1.1.1"
+ prop-types "^15.7.2"
+ react-is "^17.0.2"
+ react-transition-group "^4.4.2"
+ rifm "^0.12.1"
+
+"@mui/material@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.6.1.tgz#b74cfbe4666586e054a28cf3df448369892085e1"
+ integrity sha512-xg6pPq+1jxWupwmPpnfmsHNjrsOe2xynUQWrRfcH8WHrrr1sQulq0VF4gORq/l8DD8a/jb4s8SsC20e/e6mHKQ==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@mui/base" "5.0.0-alpha.76"
+ "@mui/system" "^5.6.1"
+ "@mui/types" "^7.1.3"
+ "@mui/utils" "^5.6.1"
+ "@types/react-transition-group" "^4.4.4"
+ clsx "^1.1.1"
+ csstype "^3.0.11"
+ hoist-non-react-statics "^3.3.2"
+ prop-types "^15.7.2"
+ react-is "^17.0.2"
+ react-transition-group "^4.4.2"
+
+"@mui/private-theming@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.6.1.tgz#198ccec972375db999c293109b5f26456b9c3a22"
+ integrity sha512-8lgh+tUt/3ftStfvml3dwAzhW3fe/cUFjLcBViOTnWk7UixWR79me4qehsO4NVj0THpu3d2qclrLzdD8qBAWAQ==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@mui/utils" "^5.6.1"
+ prop-types "^15.7.2"
+
+"@mui/styled-engine@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.6.1.tgz#e2c859a4dbdd65af89e77703a0725285aef471fd"
+ integrity sha512-jEhH6TBY8jc9S8yVncXmoTYTbATjEu44RMFXj6sIYfKr5NArVwTwRo3JexLL0t3BOAiYM4xsFLgfKEIvB9SAeQ==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@emotion/cache" "^11.7.1"
+ prop-types "^15.7.2"
+
+"@mui/system@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.6.1.tgz#dd47a15b82012f44464a0f25765e3dec6182ba98"
+ integrity sha512-Y5pDvEOK6VOY+0vgNeyDuEEO5QCinhXbZQDyLOlaGLKuAoRGLXO9pcSsjZoGkewYZitXD44EDfgBQ+BqsAfgUA==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@mui/private-theming" "^5.6.1"
+ "@mui/styled-engine" "^5.6.1"
+ "@mui/types" "^7.1.3"
+ "@mui/utils" "^5.6.1"
+ clsx "^1.1.1"
+ csstype "^3.0.11"
+ prop-types "^15.7.2"
+
+"@mui/types@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.3.tgz#d7636f3046110bcccc63e6acfd100e2ad9ca712a"
+ integrity sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==
+
+"@mui/utils@^5.2.3", "@mui/utils@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.6.1.tgz#4ab79a21bd481555d9a588f4b18061b3c28ea5db"
+ integrity sha512-CPrzrkiBusCZBLWu0Sg5MJvR3fKJyK3gKecLVX012LULyqg2U64Oz04BKhfkbtBrPBbSQxM+DWW9B1c9hmV9nQ==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ "@types/prop-types" "^15.7.4"
+ "@types/react-is" "^16.7.1 || ^17.0.0"
+ prop-types "^15.7.2"
+ react-is "^17.0.2"
+
+"@mui/x-date-pickers@5.0.0-alpha.0":
+ version "5.0.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-5.0.0-alpha.0.tgz#a62ffbab453d3c2dcd4ec20bd4f3f6338ad2ed3f"
+ integrity sha512-JTzTaNSWbxNi8KDUJjHCH6im0YlIEv88gPoKhGm7s6xCGT1q6FtMp/oQ40nhfwrJ73nkM5G1JXRIzI/yfsHXQQ==
+ dependencies:
+ "@date-io/date-fns" "^2.11.0"
+ "@date-io/dayjs" "^2.11.0"
+ "@date-io/luxon" "^2.11.1"
+ "@date-io/moment" "^2.11.0"
+ "@mui/utils" "^5.2.3"
+ clsx "^1.1.1"
+ prop-types "^15.7.2"
+ react-transition-group "^4.4.2"
+ rifm "^0.12.1"
+
"@next/env@12.1.4":
version "12.1.4"
resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.4.tgz#5af629b43075281ecd7f87938802b7cf5b67e94b"
@@ -2889,7 +2973,7 @@
schema-utils "^3.0.0"
source-map "^0.7.3"
-"@popperjs/core@^2.5.4", "@popperjs/core@^2.6.0", "@popperjs/core@^2.9.0":
+"@popperjs/core@^2.11.5", "@popperjs/core@^2.5.4", "@popperjs/core@^2.6.0", "@popperjs/core@^2.9.0":
version "2.11.5"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64"
integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==
@@ -5645,6 +5729,13 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+"@types/react-is@^16.7.1 || ^17.0.0":
+ version "17.0.3"
+ resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a"
+ integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-native@^0.66.16":
version "0.66.17"
resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.66.17.tgz#7a137f84be9b1b12074361fe58a081f93419d612"
@@ -5666,7 +5757,7 @@
dependencies:
"@types/react" "*"
-"@types/react-transition-group@^4.2.0":
+"@types/react-transition-group@^4.4.4":
version "4.4.4"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e"
integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==
@@ -8159,14 +8250,6 @@ css-selector-tokenizer@^0.7.0:
cssesc "^3.0.0"
fastparse "^1.1.2"
-css-vendor@^2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d"
- integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==
- dependencies:
- "@babel/runtime" "^7.8.3"
- is-in-browser "^1.0.2"
-
css-what@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
@@ -8208,12 +8291,12 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
-csstype@^2.5.2, csstype@^2.5.7:
+csstype@^2.5.7:
version "2.6.20"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda"
integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==
-csstype@^3.0.10, csstype@^3.0.2, csstype@^3.0.4, csstype@^3.0.8:
+csstype@^3.0.10, csstype@^3.0.11, csstype@^3.0.2, csstype@^3.0.4, csstype@^3.0.8:
version "3.0.11"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
@@ -10551,11 +10634,6 @@ humps@^2.0.1:
resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa"
integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=
-hyphenate-style-name@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
- integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
-
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.5:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -11037,11 +11115,6 @@ is-hexadecimal@^1.0.0:
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
-is-in-browser@^1.0.2, is-in-browser@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
- integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
-
is-installed-globally@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
@@ -11981,76 +12054,6 @@ jsonschema-key-compression@1.6.1:
resolved "https://registry.yarnpkg.com/jsonschema-key-compression/-/jsonschema-key-compression-1.6.1.tgz#fa1f98938ee5f5c4b5f90b1efa78e9da0682b3a4"
integrity sha512-7SIbS09K7J40sd/hKCAOLQ1ss45aQ76pz99K1esBlgH/CkdCbetTEx6v+gPeCIXwnT1VHU5JKGjNbJO7ktZNFQ==
-jss-plugin-camel-case@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.0.tgz#4921b568b38d893f39736ee8c4c5f1c64670aaf7"
- integrity sha512-UH6uPpnDk413/r/2Olmw4+y54yEF2lRIV8XIZyuYpgPYTITLlPOsq6XB9qeqv+75SQSg3KLocq5jUBXW8qWWww==
- dependencies:
- "@babel/runtime" "^7.3.1"
- hyphenate-style-name "^1.0.3"
- jss "10.9.0"
-
-jss-plugin-default-unit@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.0.tgz#bb23a48f075bc0ce852b4b4d3f7582bc002df991"
- integrity sha512-7Ju4Q9wJ/MZPsxfu4T84mzdn7pLHWeqoGd/D8O3eDNNJ93Xc8PxnLmV8s8ZPNRYkLdxZqKtm1nPQ0BM4JRlq2w==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.9.0"
-
-jss-plugin-global@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.9.0.tgz#fc07a0086ac97aca174e37edb480b69277f3931f"
- integrity sha512-4G8PHNJ0x6nwAFsEzcuVDiBlyMsj2y3VjmFAx/uHk/R/gzJV+yRHICjT4MKGGu1cJq2hfowFWCyrr/Gg37FbgQ==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.9.0"
-
-jss-plugin-nested@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.9.0.tgz#cc1c7d63ad542c3ccc6e2c66c8328c6b6b00f4b3"
- integrity sha512-2UJnDrfCZpMYcpPYR16oZB7VAC6b/1QLsRiAutOt7wJaaqwCBvNsosLEu/fUyKNQNGdvg2PPJFDO5AX7dwxtoA==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.9.0"
- tiny-warning "^1.0.2"
-
-jss-plugin-props-sort@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.0.tgz#30e9567ef9479043feb6e5e59db09b4de687c47d"
- integrity sha512-7A76HI8bzwqrsMOJTWKx/uD5v+U8piLnp5bvru7g/3ZEQOu1+PjHvv7bFdNO3DwNPC9oM0a//KwIJsIcDCjDzw==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.9.0"
-
-jss-plugin-rule-value-function@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.0.tgz#379fd2732c0746fe45168011fe25544c1a295d67"
- integrity sha512-IHJv6YrEf8pRzkY207cPmdbBstBaE+z8pazhPShfz0tZSDtRdQua5jjg6NMz3IbTasVx9FdnmptxPqSWL5tyJg==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.9.0"
- tiny-warning "^1.0.2"
-
-jss-plugin-vendor-prefixer@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.0.tgz#aa9df98abfb3f75f7ed59a3ec50a5452461a206a"
- integrity sha512-MbvsaXP7iiVdYVSEoi+blrW+AYnTDvHTW6I6zqi7JcwXdc6I9Kbm234nEblayhF38EftoenbM+5218pidmC5gA==
- dependencies:
- "@babel/runtime" "^7.3.1"
- css-vendor "^2.0.8"
- jss "10.9.0"
-
-jss@10.9.0, jss@^10.5.1:
- version "10.9.0"
- resolved "https://registry.yarnpkg.com/jss/-/jss-10.9.0.tgz#7583ee2cdc904a83c872ba695d1baab4b59c141b"
- integrity sha512-YpzpreB6kUunQBbrlArlsMpXYyndt9JATbt95tajx0t4MTJJcCJdd4hdNpHmOIDiUJrF/oX5wtVFrS3uofWfGw==
- dependencies:
- "@babel/runtime" "^7.3.1"
- csstype "^3.0.2"
- is-in-browser "^1.1.3"
- tiny-warning "^1.0.2"
-
jstransform@~11.0.0:
version "11.0.3"
resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-11.0.3.tgz#09a78993e0ae4d4ef4487f6155a91f6190cb4223"
@@ -12173,6 +12176,11 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+linkifyjs@^2.1.6:
+ version "2.1.9"
+ resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-2.1.9.tgz#af06e45a2866ff06c4766582590d098a4d584702"
+ integrity sha512-74ivurkK6WHvHFozVaGtQWV38FzBwSTGNmJolEgFp7QgR2bl6ArUWlvT4GcHKbPe1z3nWYi+VUdDZk16zDOVug==
+
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -13741,11 +13749,6 @@ popmotion@11.0.3:
style-value-types "5.0.0"
tslib "^2.1.0"
-popper.js@1.16.1-lts:
- version "1.16.1-lts"
- resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05"
- integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==
-
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -14620,7 +14623,7 @@ react-inspector@^5.1.0:
is-dom "^1.0.0"
prop-types "^15.0.0"
-react-is@17.0.2, "react-is@^16.8.0 || ^17.0.0", react-is@^17.0.1, react-is@^17.0.2:
+react-is@17.0.2, react-is@^17.0.1, react-is@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
@@ -14769,7 +14772,7 @@ react-textarea-autosize@^8.3.0:
use-composed-ref "^1.0.0"
use-latest "^1.0.0"
-react-transition-group@^4.4.0:
+react-transition-group@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
@@ -15188,6 +15191,11 @@ reusify@^1.0.4:
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+rifm@^0.12.1:
+ version "0.12.1"
+ resolved "https://registry.yarnpkg.com/rifm/-/rifm-0.12.1.tgz#8fa77f45b7f1cda2a0068787ac821f0593967ac4"
+ integrity sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==
+
rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -16337,11 +16345,6 @@ tiny-queue@^0.2.0:
resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046"
integrity sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=
-tiny-warning@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
tinycolor2@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"