fix lint.

This commit is contained in:
Simon Larsen
2023-02-06 13:20:41 +00:00
parent 1839e3c2b8
commit aa957a8fa6
15 changed files with 982 additions and 302 deletions

View File

@@ -105,7 +105,7 @@ export enum IconProp {
Wrench,
TransparentCube,
Logs,
Bolt
Bolt,
}
export enum IconType {
@@ -221,16 +221,20 @@ const Icon: FunctionComponent<ComponentProps> = ({
);
} else if (icon === IconProp.Logs) {
return getSvgWrapper(
<path strokeLinecap="round" strokeLinejoin="round" d="M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 010 3.75H5.625a1.875 1.875 0 010-3.75z" />
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 010 3.75H5.625a1.875 1.875 0 010-3.75z"
/>
);
} else if (icon === IconProp.Bolt) {
return getSvgWrapper(
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" />
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z"
/>
);
} else if (icon === IconProp.Chat) {
return getSvgWrapper(
<path
@@ -241,9 +245,11 @@ const Icon: FunctionComponent<ComponentProps> = ({
);
} else if (icon === IconProp.Workflow) {
return getSvgWrapper(
<path strokeLinecap="round" strokeLinejoin="round" d="M2.25 7.125C2.25 6.504 2.754 6 3.375 6h6c.621 0 1.125.504 1.125 1.125v3.75c0 .621-.504 1.125-1.125 1.125h-6a1.125 1.125 0 01-1.125-1.125v-3.75zM14.25 8.625c0-.621.504-1.125 1.125-1.125h5.25c.621 0 1.125.504 1.125 1.125v8.25c0 .621-.504 1.125-1.125 1.125h-5.25a1.125 1.125 0 01-1.125-1.125v-8.25zM3.75 16.125c0-.621.504-1.125 1.125-1.125h5.25c.621 0 1.125.504 1.125 1.125v2.25c0 .621-.504 1.125-1.125 1.125h-5.25a1.125 1.125 0 01-1.125-1.125v-2.25z" />
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M2.25 7.125C2.25 6.504 2.754 6 3.375 6h6c.621 0 1.125.504 1.125 1.125v3.75c0 .621-.504 1.125-1.125 1.125h-6a1.125 1.125 0 01-1.125-1.125v-3.75zM14.25 8.625c0-.621.504-1.125 1.125-1.125h5.25c.621 0 1.125.504 1.125 1.125v8.25c0 .621-.504 1.125-1.125 1.125h-5.25a1.125 1.125 0 01-1.125-1.125v-8.25zM3.75 16.125c0-.621.504-1.125 1.125-1.125h5.25c.621 0 1.125.504 1.125 1.125v2.25c0 .621-.504 1.125-1.125 1.125h-5.25a1.125 1.125 0 01-1.125-1.125v-2.25z"
/>
);
} else if (icon === IconProp.TransparentCube) {
return getSvgWrapper(

View File

@@ -0,0 +1,107 @@
import React, { FunctionComponent, useState } from 'react';
import { Connection, Handle, Position } from 'reactflow';
import Icon, { IconProp } from '../Icon/Icon';
export interface NodeDataProp {
isTrigger: boolean;
}
export interface ComponentProps {
data: NodeDataProp;
}
const Node: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
const [isHovering, setIsHovering] = useState<boolean>(false);
const handleStyle: React.CSSProperties = {
background: '#cbd5e1',
height: '0.75rem',
width: '0.75rem',
};
return (
<div
onMouseOver={() => {
setIsHovering(true);
}}
onMouseOut={() => {
setIsHovering(false);
}}
style={{
borderStyle: 'dashed',
width: '15rem',
height: '8rem',
padding: '1rem',
borderColor: isHovering ? '#94a3b8' : '#cbd5e1',
borderRadius: '0.25rem',
borderWidth: '2px',
backgroundColor: 'white',
}}
>
{!props.data.isTrigger && (
<Handle
type="target"
onConnect={(_params: Connection) => {}}
isConnectable={true}
position={Position.Top}
style={handleStyle}
/>
)}
<div
style={{
width: '100%',
display: 'flex',
justifyContent: 'center',
}}
>
<div
style={{
margin: 'auto',
}}
>
<Icon
icon={
props.data.isTrigger ? IconProp.Bolt : IconProp.Add
}
style={{
color: isHovering ? '#94a3b8' : '#cbd5e1',
width: '1.5rem',
height: '1.5rem',
textAlign: 'center',
margin: 'auto',
marginTop: '5px',
}}
/>
<p
style={{
color: isHovering ? '#94a3b8' : '#cbd5e1',
fontSize: '0.875rem',
lineHeight: '1.25rem',
textAlign: 'center',
marginTop: '6px',
}}
>
{props.data.isTrigger
? 'Add a Trigger'
: 'Add a Component'}
</p>
<p
style={{
color: isHovering ? '#94a3b8' : '#cbd5e1',
fontSize: '0.775rem',
lineHeight: '0.8rem',
textAlign: 'center',
marginTop: '6px',
}}
>
Click to add a new{' '}
{props.data.isTrigger ? 'trigger' : 'component'}
</p>
</div>
</div>
</div>
);
};
export default Node;

View File

@@ -1,76 +0,0 @@
import React, { FunctionComponent, useState } from 'react';
import { Handle, Position } from 'reactflow';
import Icon, { IconProp } from '../Icon/Icon';
export interface NodeDataProp {
isTrigger: boolean
}
export interface ComponentProps {
data: NodeDataProp;
}
const Node: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
const [isHovering, setIsHovering] = useState<boolean>(false);
const handleStyle = {
background: "#cbd5e1",
height: "0.75rem",
width: "0.75rem",
}
return (
<div onMouseOver={() => {
setIsHovering(true)
}} onMouseOut={() => {
setIsHovering(false)
}} style={{
borderStyle: "dashed",
width: "15rem", height: "8rem", padding: "1rem", borderColor: isHovering ? "#94a3b8" : "#cbd5e1", borderRadius: "0.25rem", borderWidth: "2px", backgroundColor: "white"
}
}>
{!props.data.isTrigger && <Handle
type="target"
onConnect={(params) => console.log('handle onConnect', params)}
isConnectable={true}
position={Position.Top}
style={handleStyle}
/>}
<div style={{ width: "100%", display: "flex", justifyContent: "center" }}>
<div style={{
margin: "auto"
}}>
<Icon icon={props.data.isTrigger ? IconProp.Bolt : IconProp.Add} style={{
color: isHovering ? "#94a3b8" : "#cbd5e1",
width: "1.5rem",
height: "1.5rem",
textAlign: "center",
margin: "auto",
marginTop: "5px"
}} />
<p style={{
color: isHovering ? "#94a3b8" : "#cbd5e1", fontSize: "0.875rem",
lineHeight: "1.25rem",
textAlign: "center",
marginTop: "6px"
}}>{props.data.isTrigger ? "Add a Trigger" : "Add a Component"}</p>
<p style={{
color: isHovering ? "#94a3b8" : "#cbd5e1", fontSize: "0.775rem",
lineHeight: "0.8rem",
textAlign: "center",
marginTop: "6px"
}}>Click to add a new {props.data.isTrigger ? "trigger" : "component"}</p>
</div>
</div>
</div>
);
};
export default Node;

View File

@@ -0,0 +1,126 @@
import { JSONObject } from 'Common/Types/JSON';
import React, { FunctionComponent, useState } from 'react';
import { Handle, Position, Connection } from 'reactflow';
import Icon, { IconProp } from '../Icon/Icon';
export interface NodeDataProp {
nodeData: JSONObject;
title: string;
id: string;
description: string;
icon: IconProp;
isTrigger: boolean;
}
export interface ComponentProps {
data: NodeDataProp;
}
const Node: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
const [isHovering, setIsHovering] = useState<boolean>(false);
const handleStyle: React.CSSProperties = {
background: '#4b5563',
height: '0.75rem',
width: '0.75rem',
};
return (
<div
onMouseOver={() => {
setIsHovering(true);
}}
onMouseOut={() => {
setIsHovering(false);
}}
style={{
width: '15rem',
height: '8rem',
padding: '1rem',
borderColor: isHovering ? '#111827' : '#4b5563',
borderRadius: '0.25rem',
borderWidth: '2px',
backgroundColor: 'white',
boxShadow:
'0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',
}}
>
{!props.data.isTrigger && (
<Handle
type="target"
onConnect={(_params: Connection) => {}}
isConnectable={true}
position={Position.Top}
style={handleStyle}
/>
)}
<div
style={{
width: '100%',
display: 'flex',
justifyContent: 'center',
}}
>
<div
style={{
margin: 'auto',
}}
>
<Icon
icon={props.data.icon}
style={{
color: isHovering ? '#111827' : '#4b5563',
width: '1.5rem',
height: '1.5rem',
textAlign: 'center',
margin: 'auto',
}}
/>
<p
style={{
color: isHovering ? '#111827' : '#4b5563',
fontSize: '0.875rem',
lineHeight: '1.25rem',
textAlign: 'center',
marginTop: '6px',
}}
>
{props.data.title}
</p>
<p
style={{
color: isHovering ? '#111827' : '#6b7280',
fontSize: '0.875rem',
textAlign: 'center',
}}
>
({props.data.id})
</p>
<p
style={{
color: isHovering ? '#111827' : '#6b7280',
fontSize: '0.775rem',
lineHeight: '0.8rem',
textAlign: 'center',
marginTop: '6px',
}}
>
{props.data.description}
</p>
</div>
</div>
<Handle
type="source"
id="a"
onConnect={(_params: Connection) => {}}
isConnectable={true}
position={Position.Bottom}
style={handleStyle}
/>
</div>
);
};
export default Node;

View File

@@ -1,97 +0,0 @@
import { JSONObject } from 'Common/Types/JSON';
import React, { FunctionComponent, useState } from 'react';
import { Handle, Position } from 'reactflow';
import Icon, { IconProp } from '../Icon/Icon';
export interface NodeDataProp {
nodeData: JSONObject;
title: string;
id: string;
description: string;
icon: IconProp;
isTrigger: boolean
}
export interface ComponentProps {
data: NodeDataProp;
}
const Node: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
const [isHovering, setIsHovering] = useState<boolean>(false);
const handleStyle = {
background: "#4b5563",
height: "0.75rem",
width: "0.75rem",
}
return (
<div onMouseOver={() => {
setIsHovering(true)
}} onMouseOut={() => {
setIsHovering(false)
}} style={{
width: "15rem", height: "8rem", padding: "1rem", borderColor: isHovering ? "#111827" : "#4b5563", borderRadius: "0.25rem", borderWidth: "2px", backgroundColor: "white", boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)"
}
}>
{!props.data.isTrigger && <Handle
type="target"
onConnect={(params) => console.log('handle onConnect', params)}
isConnectable={true}
position={Position.Top}
style={handleStyle}
/>}
<div style={{ width: "100%", display: "flex", justifyContent: "center" }}>
<div style={{
margin: "auto"
}}>
<Icon icon={props.data.icon} style={{
color: isHovering ? "#111827" : "#4b5563",
width: "1.5rem",
height: "1.5rem",
textAlign: "center",
margin: "auto"
}} />
<p style={{
color: isHovering ? "#111827" : "#4b5563",
fontSize: "0.875rem",
lineHeight: "1.25rem",
textAlign: "center",
marginTop: "6px"
}}>{props.data.title}</p>
<p style={{
color: isHovering ? "#111827" : "#6b7280",
fontSize: "0.875rem",
textAlign: "center",
}}>({props.data.id})</p>
<p style={{
color: isHovering ? "#111827" : "#6b7280",
fontSize: "0.775rem",
lineHeight: "0.8rem",
textAlign: "center",
marginTop: "6px"
}}>{props.data.description}</p>
</div>
</div>
<Handle
type="source"
id="a"
isConnectable={true}
position={Position.Bottom}
style={handleStyle}
/>
</div>
);
};
export default Node;

View File

@@ -1,4 +1,4 @@
import React, { FunctionComponent, useCallback } from 'react';
import React, { FunctionComponent, useCallback, useRef } from 'react';
import ReactFlow, {
MiniMap,
Controls,
@@ -9,64 +9,112 @@ import ReactFlow, {
MarkerType,
Edge,
Connection,
updateEdge
updateEdge,
Node,
ProOptions,
NodeTypes,
OnConnect,
} from 'reactflow';
// 👇 you need to import the reactflow styles
import 'reactflow/dist/style.css';
import { IconProp } from '../Icon/Icon';
import Node from './Node';
import AddNewNode from './AddNewNode';
import WorkflowComponent from './Component';
import AddNewComponent from './AddNewComponent';
const nodeTypes = {
node: Node,
addNewNode: AddNewNode
const nodeTypes: NodeTypes = {
node: WorkflowComponent,
addNewNode: AddNewComponent,
};
const edgeStyle: React.CSSProperties = {
strokeWidth: '2px',
stroke: '#94a3b8',
color: '#94a3b8',
};
const edgeStyle = {
strokeWidth: "2px",
stroke: "#94a3b8",
color: "#94a3b8",
}
const newNodeEdge = {
strokeWidth: "2px",
stroke: "#e2e8f0",
color: "#e2e8f0",
backgroundColor: "#e2e8f0",
}
const initialNodes = [
{ id: '1', type: 'node', position: { x: 100, y: 100 }, data: { id: 'slack-1', title: "Slack", description: "Open a channel", icon: IconProp.Add, isTrigger: true } },
{ id: '2', type: 'addNewNode', position: { x: 100, y: 500 }, data: { id: 'slack-1', title: "Slack", description: "Open a channel", icon: IconProp.Add, isTrigger: true } },
];
const initialEdges = [{
id: 'e1-2', source: '1', target: '2', type: 'smoothstep', markerEnd: {
type: MarkerType.Arrow, color: newNodeEdge.color
},
style: newNodeEdge,
}];
const newNodeEdgeStyle: React.CSSProperties = {
strokeWidth: '2px',
stroke: '#e2e8f0',
color: '#e2e8f0',
backgroundColor: '#e2e8f0',
};
export interface ComponentProps {
name: string;
initialNodes: Array<Node>;
initialEdges: Array<Edge>;
}
const Workflow: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
const edgeUpdateSuccessful: any = useRef(true);
const Workflow: FunctionComponent<ComponentProps> = (_props: ComponentProps) => {
const [nodes, _setNodes, onNodesChange] = useNodesState(initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
const proOptions = { hideAttribution: true };
const onConnect = useCallback((params: any) => setEdges((eds) => addEdge(params, eds)), [setEdges]);
const onEdgeUpdate = useCallback(
(oldEdge: Edge, newConnection: Connection) => setEdges((els) => updateEdge(oldEdge, newConnection, els)),
const [nodes, _setNodes, onNodesChange] = useNodesState(props.initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(
props.initialEdges.map((edge: Edge) => {
// add style.
let isDarkEdge: boolean = true;
const node: Node | undefined = props.initialNodes.find(
(node: Node) => {
return node.id === edge.target;
}
);
if (node && node.type === 'addNewNode') {
isDarkEdge = false;
}
edge = {
...edge,
type: 'smoothstep',
markerEnd: {
type: MarkerType.Arrow,
color: isDarkEdge
? edgeStyle.color?.toString() || ''
: newNodeEdgeStyle.color?.toString() || '',
},
style: isDarkEdge ? edgeStyle : newNodeEdgeStyle,
};
return edge;
})
);
const proOptions: ProOptions = { hideAttribution: true };
const onConnect: OnConnect = useCallback(
(params: any) => {
return setEdges((eds: Array<Edge>) => {
return addEdge(params, eds);
});
},
[setEdges]
);
const onEdgeUpdateStart: any = useCallback(() => {
edgeUpdateSuccessful.current = false;
}, []);
const onEdgeUpdate: any = useCallback(
(oldEdge: Edge, newConnection: Connection) => {
edgeUpdateSuccessful.current = true;
setEdges((eds: Array<Edge>) => {
return updateEdge(oldEdge, newConnection, eds);
});
},
[]
);
const onEdgeUpdateEnd: any = useCallback((_props: any, edge: Edge) => {
if (!edgeUpdateSuccessful.current) {
setEdges((eds: Array<Edge>) => {
return eds.filter((e: Edge) => {
return e.id !== edge.id;
});
});
}
edgeUpdateSuccessful.current = true;
}, []);
return (
<div className='h-[48rem]'>
<div className="h-[48rem]">
<ReactFlow
nodes={nodes}
edges={edges}
@@ -76,14 +124,15 @@ const Workflow: FunctionComponent<ComponentProps> = (_props: ComponentProps) =>
onConnect={onConnect}
onEdgeUpdate={onEdgeUpdate}
nodeTypes={nodeTypes}
onEdgeUpdateStart={onEdgeUpdateStart}
onEdgeUpdateEnd={onEdgeUpdateEnd}
>
<MiniMap />
<Controls />
<Background />
</ReactFlow>
</div>
);
}
};
export default Workflow;
export default Workflow;

View File

@@ -56,6 +56,8 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"peer": true,
"dependencies": {
"sprintf-js": "~1.0.2"
}
@@ -103,6 +105,20 @@
"multicast-dns": "cli.js"
}
},
"node_modules/pkg-up/node_modules/locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"peer": true,
"dependencies": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@emotion/hash": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz",
@@ -3413,6 +3429,22 @@
"url": "https://github.com/sponsors/gregberge"
}
},
"node_modules/pkg-up/node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"peer": true,
"dependencies": {
"p-try": "^2.0.0"
},
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-alphanumerical": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
@@ -4341,6 +4373,13 @@
"node": ">=6"
}
},
"node_modules/jest-watch-typeahead/node_modules/react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true,
"peer": true
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -4658,6 +4697,15 @@
"node": ">=14"
}
},
"node_modules/serve-index/node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -4835,6 +4883,11 @@
"pino": "bin.js"
}
},
"node_modules/typeorm/node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -5178,6 +5231,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/jest-watch-typeahead/node_modules/ansi-styles": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
"peer": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -6691,6 +6757,11 @@
"postcss": "^8.0.9"
}
},
"node_modules/color/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/micromark-util-subtokenize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
@@ -6806,6 +6877,18 @@
"postcss": "^8.4"
}
},
"node_modules/pkg-dir/node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"dependencies": {
"p-locate": "^4.1.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/update-browserslist-db": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
@@ -7506,6 +7589,16 @@
"reusify": "^1.0.4"
}
},
"node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
"peer": true,
"engines": {
"node": ">=8"
}
},
"node_modules/is-buffer": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
@@ -7558,6 +7651,27 @@
"node": ">=6.9.0"
}
},
"node_modules/jest-watch-typeahead/node_modules/jest-message-util": {
"version": "28.1.3",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
"integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
"dev": true,
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
"@jest/types": "^28.1.3",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
"pretty-format": "^28.1.3",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
}
},
"node_modules/escodegen/node_modules/optionator": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -7905,6 +8019,14 @@
"node": ">= 4.9.1"
}
},
"node_modules/locter/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/domexception/node_modules/webidl-conversions": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
@@ -8095,6 +8217,19 @@
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/svgo/node_modules/css-what": {
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
"integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
"dev": true,
"peer": true,
"engines": {
"node": ">= 6"
},
"funding": {
"url": "https://github.com/sponsors/fb55"
}
},
"node_modules/strip-indent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
@@ -8608,7 +8743,6 @@
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"peer": true,
"engines": {
"node": ">=6"
}
@@ -8793,6 +8927,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"peer": true,
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -8825,6 +8960,22 @@
"postcss": ">=8"
}
},
"node_modules/jest-watch-typeahead/node_modules/pretty-format": {
"version": "28.1.3",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
"integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
"dev": true,
"peer": true,
"dependencies": {
"@jest/schemas": "^28.1.3",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^18.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
}
},
"node_modules/mkdirp": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
@@ -9269,6 +9420,11 @@
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"dev": true
},
"node_modules/node-device-detector/node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/npm/node_modules/safer-buffer": {
"version": "2.1.2",
"inBundle": true,
@@ -9952,6 +10108,13 @@
"resolved": "https://registry.npmjs.org/@types/mime-db/-/mime-db-1.43.1.tgz",
"integrity": "sha512-kGZJY+R+WnR5Rk+RPHUMERtb2qBRViIHCBdtUrY+NmwuGb8pQdfTqQiCKPrxpdoycl8KWm2DLdkpoSdt479XoQ=="
},
"node_modules/@eslint/eslintrc/node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
"peer": true
},
"node_modules/svgo/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -10188,6 +10351,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"peer": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -10319,6 +10483,13 @@
"@xtuc/long": "4.2.2"
}
},
"node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true,
"peer": true
},
"node_modules/shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -11605,6 +11776,15 @@
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
}
},
"node_modules/webpack/node_modules/estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true,
"engines": {
"node": ">=4.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -12856,6 +13036,11 @@
"@types/d3-selection": "*"
}
},
"node_modules/fastify/node_modules/pino-std-serializers": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz",
"integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg=="
},
"node_modules/@types/prettier": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz",
@@ -13953,6 +14138,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/escodegen/node_modules/levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
"dev": true,
"peer": true,
"dependencies": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/hast-util-to-parse5": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz",
@@ -14059,6 +14258,11 @@
"postcss": "^8.3"
}
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/webpack-merge": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
@@ -15087,6 +15291,18 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/pkg-dir/node_modules/p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"dependencies": {
"p-limit": "^2.2.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -15382,6 +15598,17 @@
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
},
"node_modules/locter/node_modules/minimatch": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -17569,6 +17796,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/pkg-up/node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
"peer": true,
"engines": {
"node": ">=4"
}
},
"node_modules/@types/eslint": {
"version": "8.4.10",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz",
@@ -18498,6 +18735,13 @@
"tslib": "^2.0.3"
}
},
"node_modules/bl/node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"optional": true,
"peer": true
},
"node_modules/npm/node_modules/cmd-shim": {
"version": "5.0.0",
"inBundle": true,
@@ -20348,6 +20592,7 @@
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
"peer": true,
"engines": {
"node": ">=10"
},
@@ -20451,6 +20696,21 @@
"node": ">= 0.6"
}
},
"node_modules/pkg-dir/node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"dependencies": {
"p-try": "^2.0.0"
},
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@emotion/utils": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz",
@@ -20696,6 +20956,12 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/compression/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/refractor": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/refractor/-/refractor-4.8.0.tgz",
@@ -21745,6 +22011,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"peer": true,
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -24178,7 +24445,9 @@
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true,
"peer": true
},
"node_modules/supports-color": {
"version": "7.2.0",
@@ -24580,6 +24849,16 @@
}
}
},
"node_modules/postcss-svgo/node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
"peer": true,
"engines": {
"node": ">= 10"
}
},
"node_modules/no-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
@@ -26496,7 +26775,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
"devOptional": true
"dev": true
},
"node_modules/object-inspect": {
"version": "1.12.2",
@@ -27100,6 +27379,19 @@
"node": ">= 10"
}
},
"node_modules/pkg-up/node_modules/p-locate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"peer": true,
"dependencies": {
"p-limit": "^2.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/postcss-custom-properties": {
"version": "12.1.11",
"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz",
@@ -30809,6 +31101,13 @@
"strip-json-comments": "^3.1.1"
},
"dependencies": {
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
"peer": true
},
"globals": {
"version": "13.19.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
@@ -34739,6 +35038,8 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"peer": true,
"requires": {
"sprintf-js": "~1.0.2"
}
@@ -35191,6 +35492,13 @@
"safe-buffer": "^5.1.1"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"optional": true,
"peer": true
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -35746,6 +36054,11 @@
"requires": {
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
}
}
},
@@ -35869,6 +36182,12 @@
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -36092,6 +36411,13 @@
"fast-deep-equal": "^3.1.3"
}
},
"json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true,
"peer": true
},
"schema-utils": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
@@ -37135,6 +37461,17 @@
"source-map": "~0.6.1"
},
"dependencies": {
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
"dev": true,
"peer": true,
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
}
},
"optionator": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -37800,6 +38137,11 @@
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}
}
},
@@ -37970,6 +38312,11 @@
"sonic-boom": "^1.0.2"
}
},
"pino-std-serializers": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz",
"integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg=="
},
"sonic-boom": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz",
@@ -39521,7 +39868,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
"devOptional": true
"dev": true
},
"isexe": {
"version": "2.0.0",
@@ -40155,6 +40502,13 @@
"@types/yargs-parser": "*"
}
},
"ansi-styles": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
"peer": true
},
"emittery": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
@@ -40162,6 +40516,33 @@
"dev": true,
"peer": true
},
"jest-message-util": {
"version": "28.1.3",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
"integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
"dev": true,
"peer": true,
"requires": {
"@babel/code-frame": "^7.12.13",
"@jest/types": "^28.1.3",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
"pretty-format": "^28.1.3",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
"dependencies": {
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
"peer": true
}
}
},
"jest-regex-util": {
"version": "28.0.2",
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz",
@@ -40224,6 +40605,26 @@
}
}
},
"pretty-format": {
"version": "28.1.3",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
"integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
"dev": true,
"peer": true,
"requires": {
"@jest/schemas": "^28.1.3",
"ansi-regex": "^5.0.1",
"ansi-styles": "^5.0.0",
"react-is": "^18.0.0"
}
},
"react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true,
"peer": true
},
"slash": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
@@ -40619,6 +41020,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"peer": true,
"requires": {
"p-locate": "^5.0.0"
}
@@ -40632,6 +41034,14 @@
"glob": "^8.1.0"
},
"dependencies": {
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"requires": {
"balanced-match": "^1.0.0"
}
},
"glob": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
@@ -40643,6 +41053,14 @@
"minimatch": "^5.0.1",
"once": "^1.3.0"
}
},
"minimatch": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"requires": {
"brace-expansion": "^2.0.1"
}
}
}
},
@@ -41601,6 +42019,11 @@
"js-yaml": "^4.1.0"
},
"dependencies": {
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -43550,6 +43973,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"peer": true,
"requires": {
"yocto-queue": "^0.1.0"
}
@@ -43559,6 +43983,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"peer": true,
"requires": {
"p-limit": "^3.0.2"
}
@@ -43577,8 +44002,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"peer": true
"dev": true
},
"packet-reader": {
"version": "1.0.0",
@@ -43829,6 +44253,33 @@
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
}
}
},
@@ -43851,6 +44302,44 @@
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"peer": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"peer": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"peer": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
"peer": true
}
}
},
@@ -44561,6 +45050,13 @@
"svgo": "^2.7.0"
},
"dependencies": {
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
"peer": true
},
"css-tree": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
@@ -46107,6 +46603,12 @@
"ms": "2.0.0"
}
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
"dev": true
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
@@ -46448,7 +46950,9 @@
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true,
"peer": true
},
"stable": {
"version": "0.1.8",
@@ -46808,6 +47312,13 @@
"nth-check": "^1.0.2"
}
},
"css-what": {
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
"integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
"dev": true,
"peer": true
},
"dom-serializer": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
@@ -47348,6 +47859,11 @@
"yargs": "^17.3.1"
},
"dependencies": {
"argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
@@ -47930,6 +48446,12 @@
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
}
},
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
}
}
},
@@ -48741,7 +49263,8 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true
"dev": true,
"peer": true
},
"yup": {
"version": "0.32.11",

View File

@@ -188,7 +188,7 @@ const App: FunctionComponent = () => {
} catch (err) {
setError(
(err as HTTPErrorResponse).message ||
'Server Error. Please try again'
'Server Error. Please try again'
);
}
@@ -271,7 +271,7 @@ const App: FunctionComponent = () => {
<NotOperationalMonitors
pageRoute={
RouteMap[
PageMap.HOME_NOT_OPERATIONAL_MONITORS
PageMap.HOME_NOT_OPERATIONAL_MONITORS
] as Route
}
currentProject={selectedProject}
@@ -291,8 +291,8 @@ const App: FunctionComponent = () => {
<OngoingScheduledEvents
pageRoute={
RouteMap[
PageMap
.HOME_ONGOING_SCHEDULED_MAINTENANCE_EVENTS
PageMap
.HOME_ONGOING_SCHEDULED_MAINTENANCE_EVENTS
] as Route
}
currentProject={selectedProject}
@@ -320,7 +320,7 @@ const App: FunctionComponent = () => {
<MonitorInoperational
pageRoute={
RouteMap[
PageMap.MONITORS_INOPERATIONAL
PageMap.MONITORS_INOPERATIONAL
] as Route
}
currentProject={selectedProject}
@@ -362,7 +362,7 @@ const App: FunctionComponent = () => {
<MonitorViewStatusTimeline
pageRoute={
RouteMap[
PageMap.MONITOR_VIEW_STATUS_TIMELINE
PageMap.MONITOR_VIEW_STATUS_TIMELINE
] as Route
}
currentProject={selectedProject}
@@ -379,7 +379,7 @@ const App: FunctionComponent = () => {
<MonitorIncidents
pageRoute={
RouteMap[
PageMap.MONITOR_VIEW_INCIDENTS
PageMap.MONITOR_VIEW_INCIDENTS
] as Route
}
currentProject={selectedProject}
@@ -403,13 +403,14 @@ const App: FunctionComponent = () => {
path={RouteMap[PageMap.WORKFLOW_BUILDER]?.toString() || ''}
element={
<WorkflowBuilder
pageRoute={RouteMap[PageMap.WORKFLOW_BUILDER] as Route}
pageRoute={
RouteMap[PageMap.WORKFLOW_BUILDER] as Route
}
currentProject={selectedProject}
/>
}
/>
<PageRoute
path={RouteMap[PageMap.WORKFLOW_VIEW]?.toString() || ''}
element={
@@ -430,12 +431,13 @@ const App: FunctionComponent = () => {
}
/>
<PageRoute
path={RouteMap[PageMap.WORKFLOW_DELETE]?.toString() || ''}
element={
<WorkflowDelete
pageRoute={RouteMap[PageMap.WORKFLOW_DELETE] as Route}
pageRoute={
RouteMap[PageMap.WORKFLOW_DELETE] as Route
}
currentProject={selectedProject}
/>
}
@@ -488,7 +490,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewDelete
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_DELETE
PageMap.STATUS_PAGE_VIEW_DELETE
] as Route
}
currentProject={selectedProject}
@@ -506,7 +508,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewBranding
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_BRANDING
PageMap.STATUS_PAGE_VIEW_BRANDING
] as Route
}
currentProject={selectedProject}
@@ -524,7 +526,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewCustomHtmlCss
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_CUSTOM_HTML_CSS
PageMap.STATUS_PAGE_VIEW_CUSTOM_HTML_CSS
] as Route
}
currentProject={selectedProject}
@@ -542,7 +544,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewAdvancedOptions
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_ADVANCED_OPTIONS
PageMap.STATUS_PAGE_VIEW_ADVANCED_OPTIONS
] as Route
}
currentProject={selectedProject}
@@ -560,7 +562,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewEmailSubscribers
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_EMAIL_SUBSCRIBERS
PageMap.STATUS_PAGE_VIEW_EMAIL_SUBSCRIBERS
] as Route
}
currentProject={selectedProject}
@@ -578,7 +580,7 @@ const App: FunctionComponent = () => {
<StatusPageViewPrivateUser
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_PRIVATE_USERS
PageMap.STATUS_PAGE_VIEW_PRIVATE_USERS
] as Route
}
currentProject={selectedProject}
@@ -596,7 +598,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewSMSSubscribers
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_SMS_SUBSCRIBERS
PageMap.STATUS_PAGE_VIEW_SMS_SUBSCRIBERS
] as Route
}
currentProject={selectedProject}
@@ -614,7 +616,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewHeaderStyle
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_HEADER_STYLE
PageMap.STATUS_PAGE_VIEW_HEADER_STYLE
] as Route
}
currentProject={selectedProject}
@@ -632,7 +634,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewFooterStyle
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_FOOTER_STYLE
PageMap.STATUS_PAGE_VIEW_FOOTER_STYLE
] as Route
}
currentProject={selectedProject}
@@ -650,7 +652,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewNavBarStyle
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_NAVBAR_STYLE
PageMap.STATUS_PAGE_VIEW_NAVBAR_STYLE
] as Route
}
currentProject={selectedProject}
@@ -668,7 +670,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewWebhookSubscribers
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_WEBHOOK_SUBSCRIBERS
PageMap.STATUS_PAGE_VIEW_WEBHOOK_SUBSCRIBERS
] as Route
}
currentProject={selectedProject}
@@ -686,7 +688,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewEmbedded
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_EMBEDDED
PageMap.STATUS_PAGE_VIEW_EMBEDDED
] as Route
}
currentProject={selectedProject}
@@ -704,7 +706,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewResources
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_RESOURCES
PageMap.STATUS_PAGE_VIEW_RESOURCES
] as Route
}
currentProject={selectedProject}
@@ -722,7 +724,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewDomains
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_DOMAINS
PageMap.STATUS_PAGE_VIEW_DOMAINS
] as Route
}
currentProject={selectedProject}
@@ -739,7 +741,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewGroups
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_GROUPS
PageMap.STATUS_PAGE_VIEW_GROUPS
] as Route
}
currentProject={selectedProject}
@@ -757,7 +759,7 @@ const App: FunctionComponent = () => {
<StatusPagesViewAnnouncement
pageRoute={
RouteMap[
PageMap.STATUS_PAGE_VIEW_ANNOUNCEMENTS
PageMap.STATUS_PAGE_VIEW_ANNOUNCEMENTS
] as Route
}
currentProject={selectedProject}
@@ -825,7 +827,7 @@ const App: FunctionComponent = () => {
<IncidentViewStateTimeline
pageRoute={
RouteMap[
PageMap.INCIDENT_VIEW_STATE_TIMELINE
PageMap.INCIDENT_VIEW_STATE_TIMELINE
] as Route
}
currentProject={selectedProject}
@@ -842,7 +844,7 @@ const App: FunctionComponent = () => {
<IncidentInternalNote
pageRoute={
RouteMap[
PageMap.INCIDENT_INTERNAL_NOTE
PageMap.INCIDENT_INTERNAL_NOTE
] as Route
}
currentProject={selectedProject}
@@ -876,7 +878,7 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEvents
pageRoute={
RouteMap[
PageMap.SCHEDULED_MAINTENANCE_EVENTS
PageMap.SCHEDULED_MAINTENANCE_EVENTS
] as Route
}
currentProject={selectedProject}
@@ -894,7 +896,7 @@ const App: FunctionComponent = () => {
<OngoingScheduledMaintenanceEvents
pageRoute={
RouteMap[
PageMap.ONGOING_SCHEDULED_MAINTENANCE_EVENTS
PageMap.ONGOING_SCHEDULED_MAINTENANCE_EVENTS
] as Route
}
currentProject={selectedProject}
@@ -912,7 +914,7 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEventView
pageRoute={
RouteMap[
PageMap.SCHEDULED_MAINTENANCE_VIEW
PageMap.SCHEDULED_MAINTENANCE_VIEW
] as Route
}
currentProject={selectedProject}
@@ -930,7 +932,7 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEventViewDelete
pageRoute={
RouteMap[
PageMap.SCHEDULED_MAINTENANCE_VIEW_DELETE
PageMap.SCHEDULED_MAINTENANCE_VIEW_DELETE
] as Route
}
currentProject={selectedProject}
@@ -948,8 +950,8 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEventViewStateTimeline
pageRoute={
RouteMap[
PageMap
.SCHEDULED_MAINTENANCE_VIEW_STATE_TIMELINE
PageMap
.SCHEDULED_MAINTENANCE_VIEW_STATE_TIMELINE
] as Route
}
currentProject={selectedProject}
@@ -967,7 +969,7 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEventInternalNote
pageRoute={
RouteMap[
PageMap.SCHEDULED_MAINTENANCE_INTERNAL_NOTE
PageMap.SCHEDULED_MAINTENANCE_INTERNAL_NOTE
] as Route
}
currentProject={selectedProject}
@@ -985,7 +987,7 @@ const App: FunctionComponent = () => {
<ScheduledMaintenanceEventPublicNote
pageRoute={
RouteMap[
PageMap.SCHEDULED_MAINTENANCE_PUBLIC_NOTE
PageMap.SCHEDULED_MAINTENANCE_PUBLIC_NOTE
] as Route
}
currentProject={selectedProject}
@@ -1047,7 +1049,7 @@ const App: FunctionComponent = () => {
<SettingsMonitors
pageRoute={
RouteMap[
PageMap.SETTINGS_MONITORS_STATUS
PageMap.SETTINGS_MONITORS_STATUS
] as Route
}
currentProject={selectedProject}
@@ -1065,7 +1067,7 @@ const App: FunctionComponent = () => {
<SettingsIncidents
pageRoute={
RouteMap[
PageMap.SETTINGS_INCIDENTS_STATE
PageMap.SETTINGS_INCIDENTS_STATE
] as Route
}
currentProject={selectedProject}
@@ -1083,7 +1085,7 @@ const App: FunctionComponent = () => {
<SettingsScheduledMaintenanceState
pageRoute={
RouteMap[
PageMap.SETTINGS_SCHEDULED_MAINTENANCE_STATE
PageMap.SETTINGS_SCHEDULED_MAINTENANCE_STATE
] as Route
}
currentProject={selectedProject}
@@ -1101,7 +1103,7 @@ const App: FunctionComponent = () => {
<SettingsIncidentSeverity
pageRoute={
RouteMap[
PageMap.SETTINGS_INCIDENTS_SEVERITY
PageMap.SETTINGS_INCIDENTS_SEVERITY
] as Route
}
currentProject={selectedProject}
@@ -1183,7 +1185,7 @@ const App: FunctionComponent = () => {
<SettingsInvoices
pageRoute={
RouteMap[
PageMap.SETTINGS_BILLING_INVOICES
PageMap.SETTINGS_BILLING_INVOICES
] as Route
}
currentProject={selectedProject}

View File

@@ -9,10 +9,59 @@ import Navigation from 'CommonUI/src/Utils/Navigation';
import ObjectID from 'Common/Types/ObjectID';
import Workflow from 'CommonUI/src/Components/Workflow/Workflow';
import Card from 'CommonUI/src/Components/Card/Card';
import { IconProp } from 'CommonUI/src/Components/Icon/Icon';
import { Edge, Node } from 'reactflow';
const Delete: FunctionComponent<PageComponentProps> = (
_props: PageComponentProps
): ReactElement => {
const initialNodes: Array<Node> = [
{
id: '1',
type: 'node',
position: { x: 100, y: 100 },
data: {
id: 'slack-1',
title: 'Slack',
description: 'Open a channel',
icon: IconProp.Add,
isTrigger: true,
},
},
{
id: '3',
type: 'node',
position: { x: 100, y: 300 },
data: {
id: 'slack-1',
title: 'Slack',
description: 'Open a channel',
icon: IconProp.Add,
isTrigger: false,
},
},
{
id: '2',
type: 'addNewNode',
position: { x: 100, y: 500 },
data: {
id: 'slack-1',
title: 'Slack',
description: 'Open a channel',
icon: IconProp.Add,
isTrigger: true,
},
},
];
const initialEdges: Array<Edge> = [
{
id: 'e1-2',
source: '1',
target: '3',
},
];
const modelId: ObjectID = Navigation.getLastParamAsObjectID(1);
return (
@@ -50,11 +99,15 @@ const Delete: FunctionComponent<PageComponentProps> = (
]}
sideMenu={<SideMenu modelId={modelId} />}
>
<Card title={"Workflow Builder"} description={"Workflow builder for OneUptime"}>
<Workflow name="Workflow" />
<Card
title={'Workflow Builder'}
description={'Workflow builder for OneUptime'}
>
<Workflow
initialNodes={initialNodes}
initialEdges={initialEdges}
/>
</Card>
</Page>
);
};

View File

@@ -54,9 +54,7 @@ const Delete: FunctionComponent<PageComponentProps> = (
modelType={Workflow}
modelId={modelId}
onDeleteSuccess={() => {
Navigation.navigate(
RouteMap[PageMap.WORKFLOWS] as Route
);
Navigation.navigate(RouteMap[PageMap.WORKFLOWS] as Route);
}}
/>
</Page>

View File

@@ -52,8 +52,6 @@ const Delete: FunctionComponent<PageComponentProps> = (
]}
sideMenu={<SideMenu modelId={modelId} />}
>
{/* StatusPage View */}
<CardModelDetail
name="Workflow > Workflow Details"
@@ -113,9 +111,6 @@ const Delete: FunctionComponent<PageComponentProps> = (
modelId: modelId,
}}
/>
</Page>
);
};

View File

@@ -48,7 +48,7 @@ const Delete: FunctionComponent<PageComponentProps> = (
]}
sideMenu={<SideMenu modelId={modelId} />}
>
<div></div>
</Page>
);
};

View File

@@ -43,9 +43,7 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
link={{
title: 'Runs & Logs',
to: RouteUtil.populateRouteParams(
RouteMap[
PageMap.WORKFLOW_LOGS
] as Route,
RouteMap[PageMap.WORKFLOW_LOGS] as Route,
props.modelId
),
}}
@@ -54,7 +52,6 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
</SideMenuSection>
<SideMenuSection title="Advanced">
<SideMenuItem
link={{
title: 'Delete Workflow',

View File

@@ -102,10 +102,9 @@ enum PageMap {
// WORKFLOW
WORKFLOWS = 'WORKFLOWS',
WORKFLOW_VIEW = 'WORKFLOW_VIEW',
WORKFLOW_DELETE = "WORKFLOW_DELETE",
WORKFLOW_BUILDER = "WORKFLOW_BUILDER",
WORKFLOW_LOGS = "WORKFLOW_LOGS"
WORKFLOW_DELETE = 'WORKFLOW_DELETE',
WORKFLOW_BUILDER = 'WORKFLOW_BUILDER',
WORKFLOW_LOGS = 'WORKFLOW_LOGS',
}
export default PageMap;

View File

@@ -281,8 +281,6 @@ const RouteMap: Dictionary<Route> = {
`/dashboard/${RouteParams.ProjectID}/workflows/${RouteParams.ModelID}/delete`
),
// logout.
[PageMap.LOGOUT]: new Route(`/dashboard/logout`),
};
@@ -292,7 +290,7 @@ export class RouteUtil {
if (
route.toString() === RouteMap[PageMap.USER_PROFILE]?.toString() ||
route.toString() ===
RouteMap[PageMap.PROJECT_INVITATIONS]?.toString() ||
RouteMap[PageMap.PROJECT_INVITATIONS]?.toString() ||
route.toString() === RouteMap[PageMap.ACTIVE_INCIDENTS]?.toString()
) {
return true;