aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2021-06-24 16:06:58 +0200
committerlonkaars <loek@pipeframe.xyz>2021-06-24 16:06:58 +0200
commita4dbd32752d2ae28fe7ff58c676905a17b7f3fcd (patch)
tree1175772cbcb12e62ab3b4e6401482bb54f0527ed
parent0fe3b31816a7acaad974ebdd4d15e7aa5a7a8486 (diff)
selection working again with hookstate :tada:
-rw-r--r--package.json4
-rw-r--r--pages/editor.tsx396
-rw-r--r--styles/editor.css5
-rw-r--r--yarn.lock430
4 files changed, 440 insertions, 395 deletions
diff --git a/package.json b/package.json
index 0b8f060..9d763f9 100644
--- a/package.json
+++ b/package.json
@@ -18,13 +18,13 @@
"@types/uuid": "^8.3.0",
"ajv": "^8.3.0",
"mousetrap": "^1.6.5",
- "next": "^10.2.0",
+ "next": "^11.0.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-spring": "^9.1.2",
"react-use-gesture": "^9.1.3",
"timecode-boss": "^4.2.3",
- "ts-json-schema-generator": "^0.92.0",
+ "ts-json-schema-generator": "^0.93.0",
"uuid": "^8.3.2"
},
"devDependencies": {
diff --git a/pages/editor.tsx b/pages/editor.tsx
index f00c504..8fcb905 100644
--- a/pages/editor.tsx
+++ b/pages/editor.tsx
@@ -1,6 +1,6 @@
import { createState, Downgraded, State, useHookstate } from '@hookstate/core';
import mousetrap from 'mousetrap';
-import { CSSProperties, ReactNode, useEffect, useRef, useState } from 'react';
+import { CSSProperties, ReactNode, Ref, useEffect, useRef, useState } from 'react';
import { animated, useSpring } from 'react-spring';
import { useDrag } from 'react-use-gesture';
@@ -114,7 +114,6 @@ function TimelineKeyframe(props: {
slide: slide;
}) {
var workingTimeline = useHookstate(project).timeline.workingTimeline;
- var updateTimeline = useHookstate(project).update.refreshLiveTimeline.value;
function modifySlide(newProps: Partial<anySlide>) {
var slide = workingTimeline.find(s => s.value.id == props.slide.id);
@@ -239,166 +238,16 @@ function TimelineLabels() {
return <div className='labels' children={labels.attach(Downgraded).get()} />;
}
-function TimelineEditor() {
- var timelineZoom = useHookstate(project).timeline.zoom;
+function TimelineSelection(props: { selectionAreaRef: Ref<ReactNode>; }) {
var workingTimeline = useHookstate(project).timeline.workingTimeline;
var tool = useHookstate(project).timeline.tool;
- var mouseX = 0;
-
- var timelineRef = useRef(null);
- useEffect(() => {
- timelineRef.current.addEventListener('wheel', (e: WheelEvent) => {
- if (!e.ctrlKey && !e.altKey) return;
- e.preventDefault();
-
- var newZoom = Math.min(1, Math.max(0, project.timeline.zoom.value + (-e.deltaY / 1000)));
- zoomAroundPoint(newZoom, mouseX);
- });
- }, []);
-
- useEffect(() => {
- var canvas = document.querySelector('.timeline .timeScale');
- window.addEventListener('mousemove', e => {
- var rect = canvas.getBoundingClientRect();
- mouseX = e.clientX - rect.x;
- });
- }, []);
-
- useEffect(() => {
- player.addEventListener('TimedVideoPlayerOnFrame', (event: CustomEvent) => {
- project.timeline.frame.set(event.detail);
- scrubberSpring.start({ frame: event.detail });
- });
- }, []);
-
- useEffect(() => {
- player.addEventListener('TimedVideoPlayerSlide', (event: CustomEvent) => {
- document.querySelectorAll('.keyframes .frame').forEach(el => {
- el.classList.remove('current');
- if (event.detail && el.id == 'slide-' + (event.detail as slide).id) {
- el.classList.add('current');
- }
- });
- });
- }, []);
-
- // timeline canvas stuff
- useEffect(() => {
- var canvas = document.getElementById('timeScaleCanvas') as HTMLCanvasElement;
- var ctx = canvas.getContext('2d');
-
- var css = (varname: string) => getComputedStyle(document.body).getPropertyValue(varname).trim();
- var baseColor = css('--c100');
- var frameColor = css('--c250');
- var markerFrame = css('--c400');
-
- function draw() {
- ctx.clearRect(0, 0, canvas.width, canvas.height);
-
- var labels: Array<ReactNode> = [];
-
- var offset = document.querySelector('.timeline .timelineInner').scrollLeft;
-
- var frameWidth = zoomToPx(project.timeline.zoom.value);
-
- var d = true;
- var a = 0;
- var ns = [300, 150, 120, 90, 60, 30, 30, 30, 15, 15, 10, 10, 10];
- var everyN = ns[Math.floor(frameWidth)];
- for (var x = -offset; x < canvas.width + offset; x += frameWidth) {
- ctx.fillStyle = baseColor;
-
- var rect = [Math.round(x + (frameWidth - 2) / 2), 28, 2, canvas.height];
- var drawFrame = false;
- var marker = false;
- if (frameWidth >= 6) {
- ctx.fillStyle = d ? baseColor : frameColor;
- rect = [x, 28, frameWidth, canvas.height];
- drawFrame = !d;
- }
- if (a % everyN == 0) {
- ctx.fillStyle = markerFrame;
- drawFrame = true;
- marker = true;
- }
-
- if (drawFrame) {
- ctx.fillRect(Math.round(rect[0]), Math.round(rect[1]), Math.round(rect[2]), Math.round(rect[3]));
-
- if (marker) {
- var frame = Math.round(x / frameWidth + offset / frameWidth + 1);
- labels.push(
- <span
- className='label numbers posabs nosel'
- style={{
- left: Math.round(rect[0] + frameWidth / 2),
- top: rect[1],
- }}
- children={player.frameToTimestampString(frame - 1)}
- />,
- );
- }
- }
-
- d = !d;
- a++;
- }
-
- project.timeline.labels.set(labels);
-
- requestAnimationFrame(draw);
- }
- draw();
-
- function onresize() {
- var size = document.querySelector('.timeline .timelineInner');
- canvas.width = size.clientWidth;
- canvas.height = size.clientHeight;
- }
- onresize();
- window.addEventListener('resize', onresize);
- }, []);
-
- // timeline scrubber
- var scrubberDragRef = useRef(null);
- var [scrubberPos, scrubberSpring] = useSpring(
- () => ({
- frame: 0,
- config: { mass: 0.5, tension: 500, friction: 20 },
- }),
- );
- useDrag(({ xy: [x, _y] }) => {
- var frame = Math.max(0, Math.round(getFrameAtOffset(x - 240, project.timeline.zoom.value)) - 1);
- scrubberSpring.start({ frame });
- if (player.player) {
- var time = player.frameToTimestamp(frame + 1);
- if (isFinite(time)) player.player.currentTime = time;
- }
- project.timeline.frame.set(frame);
- }, { domTarget: scrubberDragRef, eventOptions: { passive: false } });
-
- // slide placement ghost
- var [ghost, ghostApi] = useSpring(() => ({
- x: 0,
- y: 0,
- config: { mass: 0.5, tension: 500, friction: 20 },
- }));
- useEffect(() => {
- document.querySelector('.timeline').addEventListener('mousemove', (e: MouseEvent) => {
- var rect = document.querySelector('.timeline').getBoundingClientRect();
- var x = e.clientX - rect.left;
- var y = e.clientY - rect.top;
- ghostApi.start({ x, y });
- });
- }, []);
-
- // selection
var [selectionActive, setSelectionActive] = useState(false);
var [selectionPlaced, setSelectionPlaced] = useState(false);
var [selectionHidden, setSelectionHidden] = useState(true);
var [selectionLeftType, setSelectionLeftType] = useState(null);
var [selectionRightType, setSelectionRightType] = useState(null);
+
var [selectionPos, selectionPosAPI] = useSpring(() => ({
x1: 0,
y1: 0,
@@ -411,9 +260,10 @@ function TimelineEditor() {
widthOffset: 0,
config: { mass: 0.5, tension: 500, friction: 20 },
}));
- var selectionAreaRef = useRef(null);
+
var selectionRef = useRef(null);
var [selection, setSelection] = useState<anySlide[]>([]);
+ // drag on selection
useDrag(({ movement: [x, _y], last }) => {
if (!selectionPlaced) return;
if (selection.length < 1) return;
@@ -451,6 +301,7 @@ function TimelineEditor() {
selectionPosAPI.start({ startingFrame: selectionFrame + frameOffset });
});
}, { domTarget: selectionRef, eventOptions: { passive: false } });
+
useDrag(({ xy: [x, y], initial: [bx, by], first, last, movement: [ox, oy] }) => {
if (tool.value != 'cursor') return;
var minDistance = 5; // minimal drag distance in pixels to register selection
@@ -530,12 +381,24 @@ function TimelineEditor() {
startOffset,
widthOffset,
});
+
+ setTimeout(() => {
+ selectionPosAPI.start({
+ y1: 50,
+ y2: 62,
+ startingFrame: left.frame,
+ frameWidth: right.frame - left.frame,
+ center: 0.5,
+ startOffset,
+ widthOffset,
+ });
+ }, 100);
setSelectionLeftType(left.type);
setSelectionRightType(right.type);
setSelectionPlaced(true);
}
}
- }, { domTarget: selectionAreaRef, eventOptions: { passive: false } });
+ }, { domTarget: props.selectionAreaRef, eventOptions: { passive: false } });
useEffect(() => {
var delkeys = ['del', 'backspace'];
@@ -562,6 +425,206 @@ function TimelineEditor() {
};
}, [selectionPlaced, workingTimeline]);
+ function CustomSelection(props: {
+ x1: number;
+ x2: number;
+ y1: number;
+ y2: number;
+ widthOffset: number;
+ frameWidth: number;
+ className: string;
+ }) {
+ return <Selection
+ className={props.className}
+ width={props.x2 - props.x1 + 12}
+ frameWidth={props.frameWidth}
+ height={props.y2 - props.y1 + 12}
+ left={selectionLeftType}
+ right={selectionRightType}
+ widthOffset={props.widthOffset}
+ />;
+ }
+ var AnimatedSelection = animated(props => <CustomSelection {...props} />);
+
+ return <animated.div
+ id='selection'
+ className={'posabs dispinbl ' + (selectionPlaced ? 'placed ' : '')}
+ ref={selectionRef}
+ style={{
+ '--starting-frame': selectionPos.startingFrame,
+ '--y': selectionPos.y1,
+ '--start-offset': selectionPos.startOffset,
+ '--center': selectionPos.center,
+ pointerEvents: selectionPlaced ? 'all' : 'none',
+ } as CSSProperties}
+ >
+ <AnimatedSelection
+ x1={selectionPos.x1}
+ x2={selectionPos.x2}
+ y1={selectionPos.y1}
+ y2={selectionPos.y2}
+ widthOffset={selectionPos.widthOffset}
+ frameWidth={selectionPos.frameWidth}
+ className={'' + (selectionActive ? 'active ' : '') + (selectionHidden ? 'hidden ' : '')}
+ />
+ </animated.div>;
+}
+
+function TimelineEditor() {
+ var timelineZoom = useHookstate(project).timeline.zoom;
+ var workingTimeline = useHookstate(project).timeline.workingTimeline;
+ var tool = useHookstate(project).timeline.tool;
+
+ var mouseX = 0;
+
+ var timelineRef = useRef(null);
+ var selectionAreaRef = useRef(null);
+ useEffect(() => {
+ timelineRef.current.addEventListener('wheel', (e: WheelEvent) => {
+ if (!e.ctrlKey && !e.altKey) return;
+ e.preventDefault();
+
+ var newZoom = Math.min(1, Math.max(0, project.timeline.zoom.value + (-e.deltaY / 1000)));
+ zoomAroundPoint(newZoom, mouseX);
+ });
+ }, []);
+
+ useEffect(() => {
+ var canvas = document.querySelector('.timeline .timeScale');
+ window.addEventListener('mousemove', e => {
+ var rect = canvas.getBoundingClientRect();
+ mouseX = e.clientX - rect.x;
+ });
+ }, []);
+
+ useEffect(() => {
+ player.addEventListener('TimedVideoPlayerOnFrame', (event: CustomEvent) => {
+ project.timeline.frame.set(event.detail);
+ scrubberSpring.start({ frame: event.detail });
+ });
+ }, []);
+
+ useEffect(() => {
+ player.addEventListener('TimedVideoPlayerSlide', (event: CustomEvent) => {
+ document.querySelectorAll('.keyframes .frame').forEach(el => {
+ el.classList.remove('current');
+ if (event.detail && el.id == 'slide-' + (event.detail as slide).id) {
+ el.classList.add('current');
+ }
+ });
+ });
+ }, []);
+
+ // timeline canvas stuff
+ useEffect(() => {
+ var canvas = document.getElementById('timeScaleCanvas') as HTMLCanvasElement;
+ var ctx = canvas.getContext('2d');
+
+ var css = (varname: string) => getComputedStyle(document.body).getPropertyValue(varname).trim();
+ var baseColor = css('--c100');
+ var frameColor = css('--c250');
+ var markerFrame = css('--c400');
+
+ function draw() {
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+
+ var labels: Array<ReactNode> = [];
+
+ var offset = document.querySelector('.timeline .timelineInner').scrollLeft;
+
+ var frameWidth = zoomToPx(project.timeline.zoom.value);
+
+ var d = true;
+ var a = 0;
+ var ns = [300, 150, 120, 90, 60, 30, 30, 30, 15, 15, 10, 10, 10];
+ var everyN = ns[Math.floor(frameWidth)];
+ for (var x = -offset; x < canvas.width + offset; x += frameWidth) {
+ ctx.fillStyle = baseColor;
+
+ var rect = [Math.round(x + (frameWidth - 2) / 2), 28, 2, canvas.height];
+ var drawFrame = false;
+ var marker = false;
+ if (frameWidth >= 6) {
+ ctx.fillStyle = d ? baseColor : frameColor;
+ rect = [x, 28, frameWidth, canvas.height];
+ drawFrame = !d;
+ }
+ if (a % everyN == 0) {
+ ctx.fillStyle = markerFrame;
+ drawFrame = true;
+ marker = true;
+ }
+
+ if (drawFrame) {
+ ctx.fillRect(Math.round(rect[0]), Math.round(rect[1]), Math.round(rect[2]), Math.round(rect[3]));
+
+ if (marker) {
+ var frame = Math.round(x / frameWidth + offset / frameWidth + 1);
+ labels.push(
+ <span
+ className='label numbers posabs nosel'
+ style={{
+ left: Math.round(rect[0] + frameWidth / 2),
+ top: rect[1],
+ }}
+ children={player.frameToTimestampString(frame - 1)}
+ />,
+ );
+ }
+ }
+
+ d = !d;
+ a++;
+ }
+
+ project.timeline.labels.set(labels);
+
+ requestAnimationFrame(draw);
+ }
+ draw();
+
+ function onresize() {
+ var size = document.querySelector('.timeline .timelineInner');
+ canvas.width = size.clientWidth;
+ canvas.height = size.clientHeight;
+ }
+ onresize();
+ window.addEventListener('resize', onresize);
+ }, []);
+
+ // timeline scrubber
+ var scrubberDragRef = useRef(null);
+ var [scrubberPos, scrubberSpring] = useSpring(
+ () => ({
+ frame: 0,
+ config: { mass: 0.5, tension: 500, friction: 20 },
+ }),
+ );
+ useDrag(({ xy: [x, _y] }) => {
+ var frame = Math.max(0, Math.round(getFrameAtOffset(x - 240, project.timeline.zoom.value)) - 1);
+ scrubberSpring.start({ frame });
+ if (player.player) {
+ var time = player.frameToTimestamp(frame + 1);
+ if (isFinite(time)) player.player.currentTime = time;
+ }
+ project.timeline.frame.set(frame);
+ }, { domTarget: scrubberDragRef, eventOptions: { passive: false } });
+
+ // slide placement ghost
+ var [ghost, ghostApi] = useSpring(() => ({
+ x: 0,
+ y: 0,
+ config: { mass: 0.5, tension: 500, friction: 20 },
+ }));
+ useEffect(() => {
+ document.querySelector('.timeline').addEventListener('mousemove', (e: MouseEvent) => {
+ var rect = document.querySelector('.timeline').getBoundingClientRect();
+ var x = e.clientX - rect.left;
+ var y = e.clientY - rect.top;
+ ghostApi.start({ x, y });
+ });
+ }, []);
+
return <div
className='timeline posrel'
style={{ '--zoom': zoomToPx(timelineZoom.value) } as CSSProperties}
@@ -612,26 +675,7 @@ function TimelineEditor() {
>
<div className='selectionarea posabs v0' ref={selectionAreaRef} />
{workingTimeline.value.map(slide => <TimelineKeyframe slide={slide} />)}
- <div
- id='selection'
- className={'posabs dispinbl ' + (selectionPlaced ? 'placed ' : '')}
- ref={selectionRef}
- style={{
- left: `calc(var(--zoom) * ${selectionPos.startingFrame.toJSON()
- + selectionPos.center.toJSON()} * 1px - 6px + ${selectionPos.startOffset.toJSON()} * 1px)`,
- top: selectionPos.y1.toJSON() - 6,
- pointerEvents: selectionPlaced ? 'all' : 'none',
- }}
- children={<Selection
- className={'' + (selectionActive ? 'active ' : '') + (selectionHidden ? 'hidden ' : '')}
- width={selectionPos.x2.toJSON() - selectionPos.x1.toJSON() + 12}
- frameWidth={selectionPos.frameWidth.toJSON()}
- height={selectionPos.y2.toJSON() - selectionPos.y1.toJSON() + 12}
- left={selectionLeftType}
- right={selectionRightType}
- widthOffset={selectionPos.widthOffset.toJSON()}
- />}
- />
+ <TimelineSelection selectionAreaRef={selectionAreaRef} />
</div>
</div>
<div className={'ghostArea posabs a0' + (tool.value != 'cursor' ? ' active' : '')}>
diff --git a/styles/editor.css b/styles/editor.css
index 3263c19..a14adb3 100644
--- a/styles/editor.css
+++ b/styles/editor.css
@@ -299,6 +299,11 @@
cursor: grabbing;
}
+#selection {
+ left: calc(var(--zoom) * (var(--starting-frame) + var(--center)) * 1px - 6px + var(--start-offset) * 1px);
+ top: calc((var(--y) - 6) * 1px);
+}
+
.appGrid .timeline .ghostArea {
pointer-events: none;
line-height: 0;
diff --git a/yarn.lock b/yarn.lock
index 04fa928..fd63f16 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,17 +9,17 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/helper-validator-identifier@^7.14.0":
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
- integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
+"@babel/helper-validator-identifier@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
+ integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
"@babel/highlight@^7.10.4":
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
- integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
+ integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
dependencies:
- "@babel/helper-validator-identifier" "^7.14.0"
+ "@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
@@ -31,9 +31,9 @@
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7":
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
- integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d"
+ integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==
dependencies:
regenerator-runtime "^0.13.4"
@@ -168,20 +168,20 @@
resolved "https://registry.yarnpkg.com/@mdi/react/-/react-1.5.0.tgz#461d2064ba12d509723bffc95e2f7169a6ac884a"
integrity sha512-NztRgUxSYD+ImaKN94Tg66VVVqXj4SmlDGzZoz48H9riJ+Awha56sfXH2fegw819NWo7KI3oeS1Es0lNQqwr0w==
-"@next/env@10.2.2":
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-10.2.2.tgz#cb61f6c29f349815108184c2f1926ada65458e28"
- integrity sha512-m0xOpl4F9z7R7Yt2OtJoo6ZUsFPdx+kuvZeoctH7T6lO66DmZL3W6MQDxso/ArkH8VOlDPZgeQVVBPf+I7wflA==
+"@next/env@11.0.1":
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-11.0.1.tgz#6dc96ac76f1663ab747340e907e8933f190cc8fd"
+ integrity sha512-yZfKh2U6R9tEYyNUrs2V3SBvCMufkJ07xMH5uWy8wqcl5gAXoEw6A/1LDqwX3j7pUutF9d1ZxpdGDA3Uag+aQQ==
-"@next/polyfill-module@10.2.2":
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.2.2.tgz#48d108dd562ed021dd23510c0ffe96badf5f9c04"
- integrity sha512-0t5Hw1Dr18TWP65qAnakRa8+jza6SAFOz0b2v67s5AVquAwXXlclR4SfUy3ahrRtjCqlbLEE/oFIzCGbyMYfVA==
+"@next/polyfill-module@11.0.1":
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.0.1.tgz#ca2a110c1c44672cbcff6c2b983f0c0549d87291"
+ integrity sha512-Cjs7rrKCg4CF4Jhri8PCKlBXhszTfOQNl9AjzdNy4K5jXFyxyoSzuX2rK4IuoyE+yGp5A3XJCBEmOQ4xbUp9Mg==
-"@next/react-dev-overlay@10.2.2":
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.2.2.tgz#88fb5013d3df70bd37b854234c41d884e108a149"
- integrity sha512-uPslFPWvvZ8AdadGdK2/834UnJy6F+7071/ere6QpN88Ngzqx9lDIhjslEeFLRtpyBst4s1YUdbm69btVPdE5w==
+"@next/react-dev-overlay@11.0.1":
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.0.1.tgz#3c481e83347255abd466dcf7e59ac8a79a0d7fd6"
+ integrity sha512-lvUjMVpLsgzADs9Q8wtC5LNqvfdN+M0BDMSrqr04EDWAyyX0vURHC9hkvLbyEYWyh+WW32pwjKBXdkMnJhoqMg==
dependencies:
"@babel/code-frame" "7.12.11"
anser "1.4.9"
@@ -195,102 +195,95 @@
stacktrace-parser "0.1.10"
strip-ansi "6.0.0"
-"@next/react-refresh-utils@10.2.2":
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.2.2.tgz#69dd150e3656aebe63fc828916105f1472810488"
- integrity sha512-OL7r0iz+SiE9SMWcxZocUtEAHv0/TlBWxIE3KjjO1vWSU1r0gMrE2l2RxHfMLIPsl6CjAkcPxoaXlosFsJ2S5w==
-
-"@opentelemetry/api@0.14.0":
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae"
- integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ==
- dependencies:
- "@opentelemetry/context-base" "^0.14.0"
-
-"@opentelemetry/context-base@^0.14.0":
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001"
- integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw==
-
-"@react-spring/animated@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.1.2.tgz#e43b122160f8f4cbb0caac8a7f57acd76dd12369"
- integrity sha512-nKOGk+3aWbNp46V/CB1J2vR3GJI/Vork8N1WTI5mt+32QekrSsBn5/YFt4/iPaDGhLjukFxF0IjLs6hRLqSObw==
- dependencies:
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/core@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.1.2.tgz#6d854a12fe9c3caa7942e51e708cb5fb4e2d1124"
- integrity sha512-rgobYPCcLdDwbHBVqAmvtXhhX92G7MoPltJlzUge843yp1dNr47tkagFdCtw9NMGp6eHu/CE5byh/imlhLLAxw==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/konva@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.1.2.tgz#20567063efd8d441a268826e326bd5d7574bbc50"
- integrity sha512-P60mhUHRYgPPhoTBQWzuzD3hfeCFWC0BQ7N0iHzpMTzDIrAvutyg+iAX59jSXo3yatrcx60NmlCsiG8tRxbw6w==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/core" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/native@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/native/-/native-9.1.2.tgz#d21a64c20ca08d2c5839cedcf9cc4842770f8ffc"
- integrity sha512-d7+tCoKAnDPSoVtpyFFm4BWQhn1h833ocdP0d2POZzKTcR1iQ8YI7EQ22iKGLvwH+0vjymde039CgYy31INqWQ==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/core" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/shared@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.1.2.tgz#c36d077d7eb31fd2cbcf8956d9d35037b2998613"
- integrity sha512-sj/RrhFZAteCWAMk+W0t6Ku/skn/lbskCCs8B7ZnHNLMGPM+Zb3MOk+aVbX3T/D0iq/oTnKWyQYqrXDKiFcZ7g==
- dependencies:
- "@react-spring/types" "~9.1.2"
- rafz "^0.1.14"
-
-"@react-spring/three@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.1.2.tgz#49d1d4c0b9d059bd470712c78c9dd73af130677d"
- integrity sha512-d/v94ykmfJGLTJxJ+jxlTAJSfFdD+SSf+yvXReS81hc7+9VYeEwIHVIEKOzckYnPy/MEOSVhIVKF/9wdFIIo6g==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/core" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/types@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.1.2.tgz#3273a182f825b38f44ead2a2f3984344abad1e2b"
- integrity sha512-NZNImL0ymRFbss1cGKX2qSEeFdFoOgnIJZEW4Uczt+wm04J7g0Zuf23Hf8hM35JtxDr8QO5okp8BBtCM5FzzMg==
-
-"@react-spring/web@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.1.2.tgz#6ec409e8559676834b67aa33f0a2d57643c3c555"
- integrity sha512-E5W9Hmi2bO6CPorCNV/2iv12ux9LxHJAbpXmrBPKWFRqZixysiHoNQKKPG0DmSvUU1uKkvCvMC4VoB6pj/2kxw==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/core" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
-
-"@react-spring/zdog@~9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@react-spring/zdog/-/zdog-9.1.2.tgz#edf270e93d5db8a94f65d4e94e4438352fbb454f"
- integrity sha512-t5RobDp12HGVh6XJ1BZ+dFdxRQ/goEapYvjH5eqQa1vC97bSqJGLiG+SM/E360DtDlh8GXAyGSesd2pXzBkpPg==
- dependencies:
- "@react-spring/animated" "~9.1.2"
- "@react-spring/core" "~9.1.2"
- "@react-spring/shared" "~9.1.2"
- "@react-spring/types" "~9.1.2"
+"@next/react-refresh-utils@11.0.1":
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.0.1.tgz#a7509f22b6f70c13101a26573afd295295f1c020"
+ integrity sha512-K347DM6Z7gBSE+TfUaTTceWvbj0B6iNAsFZXbFZOlfg3uyz2sbKpzPYYFocCc27yjLaS8OfR8DEdS2mZXi8Saw==
+
+"@react-spring/animated@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.2.3.tgz#271226099d356b7b6d99240375dd8f62f450e997"
+ integrity sha512-xxYOxxrk4r+yy218lVnkR027GXGvHcadDnnXRW0l6atcL+1AGYwimMwIuvzlvnsVnyoK0YUABEeGjk9ENOrVMQ==
+ dependencies:
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/core@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.2.3.tgz#b3926ef8f2694bfb251318d7b44abac1fa5321d0"
+ integrity sha512-8qJbj0xjjoYGVqdmNd2bVaFzKSAwrMVLweHkaYJiTY6p0g7LhSdt5KSl1MjYA4Rj6S4wO1KgefAPK6mH6MtGtA==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/konva@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/konva/-/konva-9.2.3.tgz#7a0a1cd7b2b365c7e9c6a14002c3ec6f37f3663a"
+ integrity sha512-lycvgmlag3/CeemuoI2bTVgu/LK98VzNTyBClXyppduGwGwR/iJPYjOFraL7pTKyEGp2qMCo1URISc6W43PkQg==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/native@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/native/-/native-9.2.3.tgz#a98c43fad6322e9c77e0fad602f83caf56f45c93"
+ integrity sha512-odPk/NfMgLTp9bh4Rz2joWKMiNIC4/n+m60lGG0Eznmg3nYgtZ5+GMcph3A5dn5XWJGLywxrPiy8/wf+5LaVtA==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/rafz@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.2.3.tgz#ffde337240b6880a2488d3ca67e4b01688881793"
+ integrity sha512-ThBI3HWp1Y82uRSFVpoykwgM3M9s3SJD6ilKKp9C2OTPcGhWiRGt1IMjzKPwB+F1NX3psbPTt30Bev8WzA/DQQ==
+
+"@react-spring/shared@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.2.3.tgz#eaa4a4e6bf4f43d10b4a5c920a917e84047ac50e"
+ integrity sha512-MehdmKao1oUAwSEJo8BXOz1OGgsSav/dimD1Vz920hirShj9s/I4zKnWtkdK92xQ4n35D/xD3hATHkXbt/WSvg==
+ dependencies:
+ "@react-spring/rafz" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/three@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.2.3.tgz#1871a6c7dcb20ab284b8ce4af1805c86c9bb27ed"
+ integrity sha512-DMns/lTWmJ7EFJHf+7CERBAUWWZ314FPQGAcOXFHvMXfxfzBwV8/HGuvlKcdNsTqXfCi3PcYQEAWhpFF/YgVbA==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/types@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.2.3.tgz#08b5ca1cb262328529ee558796395f073b6029b0"
+ integrity sha512-G7AWUJavwsvvvprnYmqUXE5N1XKINktc8V72ipvkFTE3DD3GApYpX/ORNmieJljKJYvBSBzpRSIzk2qELUs30Q==
+
+"@react-spring/web@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.2.3.tgz#b9037719b489863ca2ad39caaacff6d315bbaea8"
+ integrity sha512-dWRcgVDbO2UI9I03n/HVmCx9tY++Na+RwRzkzXv3E53BcFsjvnWGArnpj+xE/XgXiaII3ep2RmUj5jyYoukqGg==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
+
+"@react-spring/zdog@~9.2.0":
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/@react-spring/zdog/-/zdog-9.2.3.tgz#f41cf4f99ddde1cbb9a4c76202a4d2bf8d4b9886"
+ integrity sha512-Ne06eVaV/SQrtdMixLPmkfO2mhoqpkPEAsqW92Bh+hODdEdPwVvexitKPx29uc6F2/zOu9t8NAJfqbOsq3j1Hw==
+ dependencies:
+ "@react-spring/animated" "~9.2.0"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/shared" "~9.2.0"
+ "@react-spring/types" "~9.2.0"
"@types/json-schema@^7.0.7":
version "7.0.7"
@@ -303,9 +296,9 @@
integrity sha512-zTqjvgCUT5EoXqbqmd8iJMb4NJqyV/V7pK7AIKq7qcaAsJIpGlTVJS1HQM6YkdHCdnkNSbhcQI7MXYxFfE3iCA==
"@types/node@*":
- version "15.6.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-15.6.0.tgz#f0ddca5a61e52627c9dcb771a6039d44694597bc"
- integrity sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==
+ version "15.12.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26"
+ integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==
"@types/prop-types@*":
version "15.7.3"
@@ -320,9 +313,9 @@
"@types/react" "*"
"@types/react@*":
- version "17.0.6"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.6.tgz#0ec564566302c562bf497d73219797a5e0297013"
- integrity sha512-u/TtPoF/hrvb63LdukET6ncaplYsvCvmkceasx8oG84/ZCsoLxz9Z/raPBP4lTAiWW1Jb889Y9svHmv8R26dWw==
+ version "17.0.11"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.11.tgz#67fcd0ddbf5a0b083a0f94e926c7d63f3b836451"
+ integrity sha512-yFRQbD+whVonItSk7ZzP/L+gPTJVBkL/7shLEF+i9GC/1cV3JmUxEQz6+9ylhUpWSDuqo1N9qEvqS6vTj4USUA==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -339,9 +332,9 @@
integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==
ajv@^8.3.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b"
- integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720"
+ integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
@@ -380,17 +373,6 @@ anymatch@~3.1.1:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-array.prototype.filter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz#24d63e38983cdc6bf023a3c574b2f2a3f384c301"
- integrity sha512-TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.18.0"
- es-array-method-boxes-properly "^1.0.0"
- is-string "^1.0.5"
-
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -425,11 +407,9 @@ ast-types@0.13.2:
integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==
available-typed-arrays@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.3.tgz#fb7d02445bfedefad79fad1fe47931163a227198"
- integrity sha512-CuPhFULixV/d89POo1UG4GqGbR7dmrefY2ZdmsYakeR4gOSJXoF7tfeaiqMHGOMrlTiJoeEs87fpLsBYmE2BMw==
- dependencies:
- array.prototype.filter "^1.0.0"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9"
+ integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==
babel-plugin-syntax-jsx@6.18.0:
version "6.18.0"
@@ -599,9 +579,9 @@ call-bind@^1.0.0, call-bind@^1.0.2:
get-intrinsic "^1.0.2"
caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228:
- version "1.0.30001228"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa"
- integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==
+ version "1.0.30001239"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8"
+ integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==
chalk@2.4.2, chalk@^2.0.0:
version "2.4.2"
@@ -864,9 +844,9 @@ domain-browser@^1.1.1:
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
electron-to-chromium@^1.3.723:
- version "1.3.736"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
- integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
+ version "1.3.755"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.755.tgz#4b6101f13de910cf3f0a1789ddc57328133b9332"
+ integrity sha512-BJ1s/kuUuOeo1bF/EM2E4yqW9te0Hpof3wgwBx40AWJE18zsD1Tqo0kr7ijnOc+lRsrlrqKPauJAHqaxOItoUA==
elliptic@^6.5.3:
version "6.5.4"
@@ -893,10 +873,10 @@ encoding@0.1.13:
dependencies:
iconv-lite "^0.6.2"
-es-abstract@^1.18.0, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
- version "1.18.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
- integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
+es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
+ version "1.18.3"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0"
+ integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==
dependencies:
call-bind "^1.0.2"
es-to-primitive "^1.2.1"
@@ -906,19 +886,14 @@ es-abstract@^1.18.0, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
has-symbols "^1.0.2"
is-callable "^1.2.3"
is-negative-zero "^2.0.1"
- is-regex "^1.1.2"
- is-string "^1.0.5"
- object-inspect "^1.9.0"
+ is-regex "^1.1.3"
+ is-string "^1.0.6"
+ object-inspect "^1.10.3"
object-keys "^1.1.1"
object.assign "^4.1.2"
string.prototype.trimend "^1.0.4"
string.prototype.trimstart "^1.0.4"
- unbox-primitive "^1.0.0"
-
-es-array-method-boxes-properly@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
- integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+ unbox-primitive "^1.0.1"
es-to-primitive@^1.2.1:
version "1.2.1"
@@ -1049,7 +1024,7 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-glob@^7.1.6:
+glob@^7.1.7:
version "7.1.7"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
@@ -1171,6 +1146,13 @@ ieee754@^1.1.4:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+image-size@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750"
+ integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==
+ dependencies:
+ queue "6.0.2"
+
indefinite-observable@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz#574af29bfbc17eb5947793797bddc94c9d859400"
@@ -1282,7 +1264,7 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-regex@^1.1.2:
+is-regex@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
@@ -1290,7 +1272,7 @@ is-regex@^1.1.2:
call-bind "^1.0.2"
has-symbols "^1.0.2"
-is-string@^1.0.5:
+is-string@^1.0.5, is-string@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f"
integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==
@@ -1533,18 +1515,17 @@ native-url@0.3.4:
dependencies:
querystring "^0.2.0"
-next@^10.2.0:
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/next/-/next-10.2.2.tgz#aadcc526e420282b4a735b0595041195d748a91d"
- integrity sha512-HPGSLrflWPvf3zEZSIk/uj0CZ+YYrpZwZS0PFAgXbEwb894iRuAPzglagqlzcCh7lg12RBEaKNIxhrVa5xgjtQ==
+next@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/next/-/next-11.0.1.tgz#b8e3914d153aaf7143cb98c09bcd3c8230eeb17a"
+ integrity sha512-yR7be7asNbvpVNpi6xxEg28wZ7Gqmj1nOt0sABH9qORmF3+pms2KZ7Cng33oK5nqPIzEEFJD0pp2PCe3/ueMIg==
dependencies:
"@babel/runtime" "7.12.5"
"@hapi/accept" "5.0.2"
- "@next/env" "10.2.2"
- "@next/polyfill-module" "10.2.2"
- "@next/react-dev-overlay" "10.2.2"
- "@next/react-refresh-utils" "10.2.2"
- "@opentelemetry/api" "0.14.0"
+ "@next/env" "11.0.1"
+ "@next/polyfill-module" "11.0.1"
+ "@next/react-dev-overlay" "11.0.1"
+ "@next/react-refresh-utils" "11.0.1"
assert "2.0.0"
ast-types "0.13.2"
browserify-zlib "0.2.0"
@@ -1562,6 +1543,7 @@ next@^10.2.0:
find-cache-dir "3.3.1"
get-orientation "1.1.2"
https-browserify "1.0.0"
+ image-size "1.0.0"
jest-worker "27.0.0-next.5"
native-url "0.3.4"
node-fetch "2.6.1"
@@ -1576,7 +1558,7 @@ next@^10.2.0:
prop-types "15.7.2"
querystring-es3 "0.2.1"
raw-body "2.4.1"
- react-is "16.13.1"
+ react-is "17.0.2"
react-refresh "0.8.3"
stream-browserify "3.0.0"
stream-http "3.1.1"
@@ -1631,9 +1613,9 @@ node-libs-browser@^2.2.1:
vm-browserify "^1.0.1"
node-releases@^1.1.71:
- version "1.1.72"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe"
- integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==
+ version "1.1.73"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
+ integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
@@ -1645,7 +1627,7 @@ object-assign@^4.1.1:
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-object-inspect@^1.9.0:
+object-inspect@^1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369"
integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==
@@ -1857,10 +1839,12 @@ querystring@^0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd"
integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==
-rafz@^0.1.14:
- version "0.1.14"
- resolved "https://registry.yarnpkg.com/rafz/-/rafz-0.1.14.tgz#164f01cf7cc6094e08467247ef351ef5c8d278fe"
- integrity sha512-YiQkedSt1urYtYbvHhTQR3l67M8SZbUvga5eJFM/v4vx/GmDdtXlE2hjJIyRjhhO/PjcdGC+CXCYOUA4onit8w==
+queue@6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
+ integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+ dependencies:
+ inherits "~2.0.3"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
@@ -1896,37 +1880,37 @@ react-dom@^17.0.2:
object-assign "^4.1.1"
scheduler "^0.20.2"
-react-is@16.13.1, react-is@^16.7.0, react-is@^16.8.1:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-"react-is@^16.8.0 || ^17.0.0":
+react-is@17.0.2, "react-is@^16.8.0 || ^17.0.0":
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==
+react-is@^16.7.0, react-is@^16.8.1:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
react-refresh@0.8.3:
version "0.8.3"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
react-spring@^9.1.2:
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-9.1.2.tgz#a2392f5468bfd960976747d59361236536e1f303"
- integrity sha512-xLmkierisElCQShCqAH3PpepjHhCyOK1wGSTdpvG7GGD+SbfG4Sac7wj6wrKTT5A5NUFM5OnVQUXZLe5HScIfA==
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-9.2.3.tgz#ff644f8857782389b47171239ee8dead372ebd46"
+ integrity sha512-D3fx9A7UjX4yp35TM3YxbhzKhjq6nFaEs4/RkKT+/Ch732opG6iUek9jt+mwR1bST29aa9Da6mWipAtQbD2U3g==
dependencies:
- "@react-spring/core" "~9.1.2"
- "@react-spring/konva" "~9.1.2"
- "@react-spring/native" "~9.1.2"
- "@react-spring/three" "~9.1.2"
- "@react-spring/web" "~9.1.2"
- "@react-spring/zdog" "~9.1.2"
+ "@react-spring/core" "~9.2.0"
+ "@react-spring/konva" "~9.2.0"
+ "@react-spring/native" "~9.2.0"
+ "@react-spring/three" "~9.2.0"
+ "@react-spring/web" "~9.2.0"
+ "@react-spring/zdog" "~9.2.0"
react-transition-group@^4.4.0:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9"
- integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==
+ 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==
dependencies:
"@babel/runtime" "^7.5.5"
dom-helpers "^5.0.1"
@@ -2210,9 +2194,9 @@ symbol-observable@1.2.0:
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
timecode-boss@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/timecode-boss/-/timecode-boss-4.2.3.tgz#c569ef8b815c0434ad551f7681577cd46949abf9"
- integrity sha512-DnZWYwn/QCAW3ElK0TOaAy3v2QEr6I+VMdc1aqo/9/H0uiebMp5xIeaU44IDpwQUE7W6W4k2+2aDM6VwQaXjOQ==
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/timecode-boss/-/timecode-boss-4.5.0.tgz#cc2b2628b810f89c5c1d44021abad25753cb8f57"
+ integrity sha512-uSWiBC06vRM+3LcoLZoAVw5BAaWwcukj4APxaJc+/t9l7UOPuSCqQGuawEUXFkgr/7sYDko4ohf5xm95vzFqZg==
timers-browserify@2.0.12, timers-browserify@^2.0.4:
version "2.0.12"
@@ -2255,17 +2239,17 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
-ts-json-schema-generator@^0.92.0:
- version "0.92.0"
- resolved "https://registry.yarnpkg.com/ts-json-schema-generator/-/ts-json-schema-generator-0.92.0.tgz#a77dd06ad6ba302d7fddb9fa18ad9754994c6b71"
- integrity sha512-tuk8I+UF/r2RpgyWxKjlKa+q8JQqTbSZ5iuWnf4TYzJkyH0tgPgynGy0jkWHotNZgbT6+TPvzlShXo5aXgI6Iw==
+ts-json-schema-generator@^0.93.0:
+ version "0.93.0"
+ resolved "https://registry.yarnpkg.com/ts-json-schema-generator/-/ts-json-schema-generator-0.93.0.tgz#3d6adf99446a1b3d0887dbad7cca015a49394d3a"
+ integrity sha512-JYacSIgw4KqsOXF/zRSY4pE/v6jUk7aMDXhwK5MdopN0UeKH58TRZHrQADy9uxTf78jqUfFLzARQKNOb9H+jVQ==
dependencies:
"@types/json-schema" "^7.0.7"
commander "^7.2.0"
fast-json-stable-stringify "^2.1.0"
- glob "^7.1.6"
+ glob "^7.1.7"
json-stable-stringify "^1.0.1"
- typescript "~4.2.4"
+ typescript "~4.3.2"
ts-pnp@^1.1.6:
version "1.2.0"
@@ -2287,12 +2271,12 @@ type-fest@^0.7.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
-typescript@^4.2.4, typescript@~4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
- integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
+typescript@^4.2.4, typescript@~4.3.2:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc"
+ integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==
-unbox-primitive@^1.0.0:
+unbox-primitive@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
@@ -2341,7 +2325,7 @@ util@0.10.3:
dependencies:
inherits "2.0.1"
-util@0.12.3, util@^0.12.0:
+util@0.12.3:
version "0.12.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888"
integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==
@@ -2360,6 +2344,18 @@ util@^0.11.0:
dependencies:
inherits "2.0.3"
+util@^0.12.0:
+ version "0.12.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
+ integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
+ dependencies:
+ inherits "^2.0.3"
+ is-arguments "^1.0.4"
+ is-generator-function "^1.0.7"
+ is-typed-array "^1.1.3"
+ safe-buffer "^5.1.2"
+ which-typed-array "^1.1.2"
+
uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"