From 2b2a3d30155af8ee6e05ee270703e0dd182ea4f0 Mon Sep 17 00:00:00 2001 From: Jacob Fletcher Date: Tue, 19 Apr 2022 18:02:23 -0400 Subject: [PATCH] chore: migrates to react 18 --- demo/App.tsx | 2 +- demo/index.tsx | 9 +- package.json | 12 +- src/Slide/index.tsx | 22 +- src/Slide/types.ts | 23 --- src/Slide/useIntersection.ts | 12 +- src/SliderButton/index.tsx | 12 +- src/SliderButton/types.ts | 12 -- src/SliderContext/index.tsx | 22 +- src/SliderContext/types.ts | 19 -- src/SliderNav/index.tsx | 24 ++- src/SliderNav/types.ts | 23 --- src/SliderProgress/index.tsx | 48 +++-- src/SliderProgress/types.ts | 21 -- src/SliderProvider/index.tsx | 40 +++- src/SliderProvider/reducer.ts | 17 +- src/SliderProvider/types.ts | 11 - src/SliderProvider/useDragScroll.ts | 4 +- src/SliderTrack/index.tsx | 20 +- src/SliderTrack/types.ts | 11 - src/useSlider/index.tsx | 2 +- tsconfig.demo.json | 1 + tsconfig.json | 1 + yarn.lock | 301 ++++++++++++++++------------ 24 files changed, 359 insertions(+), 310 deletions(-) delete mode 100644 src/Slide/types.ts delete mode 100644 src/SliderButton/types.ts delete mode 100644 src/SliderContext/types.ts delete mode 100644 src/SliderNav/types.ts delete mode 100644 src/SliderProgress/types.ts delete mode 100644 src/SliderProvider/types.ts delete mode 100644 src/SliderTrack/types.ts diff --git a/demo/App.tsx b/demo/App.tsx index ad3b4a4..ed03978 100644 --- a/demo/App.tsx +++ b/demo/App.tsx @@ -17,7 +17,7 @@ const App: React.FC = () => (

Scroll Snap Slider:

- + {/* */}

Thumbnail Slider Demo:

diff --git a/demo/index.tsx b/demo/index.tsx index 6432a27..c5134ee 100644 --- a/demo/index.tsx +++ b/demo/index.tsx @@ -1,5 +1,8 @@ import React from 'react'; -import { render } from 'react-dom'; import App from './App'; - -render(, document.getElementById('root')); +import { createRoot } from 'react-dom/client'; +const container = document.getElementById('root'); +if (container) { + const root = createRoot(container); + root.render(); +} diff --git a/package.json b/package.json index 3ca0947..1301d57 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "test": "jest" }, "peerDependencies": { - "react": "^17.0.0", - "react-dom": "^17.0.0" + "react": "^18.0.0", + "react-dom": "^18.0.0" }, "dependencies": { "smoothscroll-polyfill": "^0.4.4" @@ -35,7 +35,9 @@ "@trbl/eslint-config": "^2.0.3", "@types/jest": "^26.0.20", "@types/node": "^14.14.22", - "@types/react": "^17.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@types/smoothscroll-polyfill": "^0.3.1", "@typescript-eslint/eslint-plugin": "^5.18.0", "@typescript-eslint/parser": "^5.18.0", "enzyme": "^3.11.0", @@ -53,8 +55,8 @@ "husky": "^4.2.1", "jest": "^25.1.0", "lint-staged": "^10.0.6", - "react": "^17.0.0", - "react-dom": "^17.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", "react-hot-loader": "^4.12.19", "ts-loader": "^8.0.14", "typescript": "^4.6.3", diff --git a/src/Slide/index.tsx b/src/Slide/index.tsx index 330617d..8507425 100644 --- a/src/Slide/index.tsx +++ b/src/Slide/index.tsx @@ -4,9 +4,27 @@ import React, { useRef, } from 'react'; import useSlider from '../useSlider'; -import { Props } from './types'; import useIntersection from './useIntersection'; +export interface ISlide { + index: number + ref: React.MutableRefObject + isIntersecting: boolean +} + +export type Props = { + index: number + id?: string + className?: string + htmlElement?: React.ElementType + htmlAttributes?: { + [key: string]: unknown + style?: React.CSSProperties + } + slideToSelfOnClick?: boolean + children?: React.ReactNode +} + const Slide: React.FC = (props) => { const { index, @@ -18,7 +36,7 @@ const Slide: React.FC = (props) => { } = props; const slider = useSlider(); - const slideRef = useRef(null); + const slideRef = useRef(null); const { dispatchSlide, diff --git a/src/Slide/types.ts b/src/Slide/types.ts deleted file mode 100644 index 6eaab1c..0000000 --- a/src/Slide/types.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { - CSSProperties, - ElementType, - MutableRefObject, -} from 'react'; - -export interface Slide { - index: number - ref: MutableRefObject - isIntersecting: boolean -} - -export type Props = { - index: number, - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown, - style?: CSSProperties - }, - slideToSelfOnClick?: boolean -} diff --git a/src/Slide/useIntersection.ts b/src/Slide/useIntersection.ts index c2a0946..ac3c89d 100644 --- a/src/Slide/useIntersection.ts +++ b/src/Slide/useIntersection.ts @@ -1,25 +1,25 @@ import React, { useEffect, useState } from 'react'; type Options = { - root?: React.MutableRefObject, + root?: React.MutableRefObject, rootMargin?: string, threshold?: number } const useIntersection = ( - ref: React.MutableRefObject, + ref: React.MutableRefObject, options?: Options, ): IntersectionObserverEntry => { const { root, rootMargin, threshold, - } = options; + } = options || {}; const [intersection, setIntersection] = useState({} as IntersectionObserverEntry); useEffect(() => { - let observer; + let observer: IntersectionObserver; const { current: currentRef, } = ref; @@ -30,7 +30,7 @@ const useIntersection = ( setIntersection(entry); }); }, { - root: root.current, + root: root?.current || null, rootMargin: rootMargin || '0px', threshold: threshold || 0.05, }); @@ -39,7 +39,7 @@ const useIntersection = ( } return () => { - if (observer) { + if (observer && currentRef) { observer.unobserve(currentRef); } }; diff --git a/src/SliderButton/index.tsx b/src/SliderButton/index.tsx index 14ac3fa..8237580 100644 --- a/src/SliderButton/index.tsx +++ b/src/SliderButton/index.tsx @@ -1,6 +1,16 @@ import React, { useCallback } from 'react'; import useSlider from '../useSlider'; -import { Props } from './types'; + +export type Props = { + id?: string, + className?: string, + htmlElement?: React.ElementType, + htmlAttributes?: { + [key: string]: unknown + }, + children?: React.ReactNode, + direction?: 'prev' | 'next', +}; const SliderButton: React.FC = (props) => { const { diff --git a/src/SliderButton/types.ts b/src/SliderButton/types.ts deleted file mode 100644 index 5311342..0000000 --- a/src/SliderButton/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -import React, { ElementType } from 'react'; - -export type Props = { - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown - }, - children?: React.ReactNode, - direction?: 'prev' | 'next', -} diff --git a/src/SliderContext/index.tsx b/src/SliderContext/index.tsx index 814b437..58adcef 100644 --- a/src/SliderContext/index.tsx +++ b/src/SliderContext/index.tsx @@ -1,5 +1,25 @@ import { createContext } from 'react'; -import { ISliderContext } from './types'; +import { MutableRefObject } from 'react'; +import { ISlide } from '../Slide'; +import { Props } from '../SliderProvider'; + +export interface ISliderContext extends Omit { + slidesToShow: number // NOTE: this is made required, the provider sets fallback if undefined in incoming props + scrollOffset: number // NOTE: this is made required, the provider sets fallback if undefined in incoming props + sliderTrackRef: MutableRefObject, + currentSlideIndex: number, + setCurrentSlideIndex?: (index: number) => void // eslint-disable-line no-unused-vars + scrollRatio: number + setScrollRatio: (ratio: number) => void // eslint-disable-line no-unused-vars + goToNextSlide: () => void + goToPrevSlide: () => void + goToSlideIndex: (index: number) => void // eslint-disable-line no-unused-vars + slides: ISlide[] + dispatchSlide: (slide: ISlide) => void // eslint-disable-line no-unused-vars + slideWidth?: string + isPaused?: boolean + setIsPaused: (is: boolean) => void // eslint-disable-line no-unused-vars +} export const SliderContext = createContext({} as ISliderContext); diff --git a/src/SliderContext/types.ts b/src/SliderContext/types.ts deleted file mode 100644 index 3f15d1c..0000000 --- a/src/SliderContext/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { MutableRefObject } from 'react'; -import { Props } from '../SliderProvider/types'; -import { Slide } from '../Slide/types'; - -export interface ISliderContext extends Props { - sliderTrackRef: MutableRefObject, - currentSlideIndex: number, - setCurrentSlideIndex?: (number) => void // eslint-disable-line no-unused-vars - scrollRatio: number - setScrollRatio: (number) => void // eslint-disable-line no-unused-vars - goToNextSlide: () => void - goToPrevSlide: () => void - goToSlideIndex: (number) => void // eslint-disable-line no-unused-vars - slides: Slide[] - dispatchSlide: (slide: Slide) => void // eslint-disable-line no-unused-vars - slideWidth?: string - isPaused?: boolean - setIsPaused: (boolean) => void // eslint-disable-line no-unused-vars -} diff --git a/src/SliderNav/index.tsx b/src/SliderNav/index.tsx index 53c0492..0a2952e 100644 --- a/src/SliderNav/index.tsx +++ b/src/SliderNav/index.tsx @@ -1,7 +1,27 @@ import React, { useRef } from 'react'; import useSlider from '../useSlider'; -import SliderButton from '../SliderButton'; -import { Props } from './types'; +import SliderButton, { Props as SliderButtonProps } from '../SliderButton'; + +export type Props = { + id?: string, + className?: string, + htmlElement?: React.ElementType, + htmlAttributes?: { + [key: string]: unknown + }, + prevButtonProps?: SliderButtonProps, + nextButtonProps?: SliderButtonProps, + counter?: { + Component?: React.ReactNode + id?: string, + className?: string, + htmlElement?: React.ElementType, + htmlAttributes?: { + [key: string]: unknown + }, + }, + showCounter?: boolean +} const SliderNav: React.FC = (props) => { const { diff --git a/src/SliderNav/types.ts b/src/SliderNav/types.ts deleted file mode 100644 index c064a2b..0000000 --- a/src/SliderNav/types.ts +++ /dev/null @@ -1,23 +0,0 @@ -import React, { ElementType } from 'react'; -import { Props as SliderButton } from '../SliderButton/types'; - -export type Props = { - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown - }, - prevButtonProps?: SliderButton, - nextButtonProps?: SliderButton, - counter?: { - Component?: React.ReactNode - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown - }, - }, - showCounter?: boolean -} diff --git a/src/SliderProgress/index.tsx b/src/SliderProgress/index.tsx index a0de9e4..d9d28a4 100644 --- a/src/SliderProgress/index.tsx +++ b/src/SliderProgress/index.tsx @@ -2,9 +2,28 @@ import React, { useEffect, useState, } from 'react'; -import { Props } from './types'; import useSlider from '../useSlider'; +export type Props = { + id?: string, + className?: string, + htmlElement?: React.ElementType, + htmlAttributes?: { + [key: string]: unknown, + style?: React.CSSProperties + } + indicator?: { + id?: string, + className?: string, + htmlElement?: React.ElementType, + htmlAttributes?: { + [key: string]: unknown, + style?: React.CSSProperties + }, + }, + indicatorType?: 'width' | 'position' +} + const SliderProgress: React.FC = (props) => { const { htmlElement = 'div', @@ -45,22 +64,25 @@ const SliderProgress: React.FC = (props) => { }; const { current: track } = sliderTrackRef; - const trackWidth = track.offsetWidth; - const scrollOffsetRatio = scrollOffset > 0 ? ((trackWidth / scrollOffset) / 100) : 0; - const segmentWidth = (1 / slides.length) / (1 / slidesToShow) - scrollOffsetRatio; + if (track) { + const trackWidth = track.offsetWidth; + const scrollOffsetRatio = scrollOffset > 0 ? ((trackWidth / scrollOffset) / 100) : 0; - if (indicatorType === 'position') { - newSegmentStyle.width = `${segmentWidth * 100}%`; - newSegmentStyle.left = `${(scrollRatio - (scrollRatio * segmentWidth)) * 100}%`; - } + const segmentWidth = (1 / slides.length) / (1 / slidesToShow) - scrollOffsetRatio; - if (indicatorType === 'width') { - newSegmentStyle.width = `${scrollRatio * 100}%`; - newSegmentStyle.left = '0px'; - } + if (indicatorType === 'position') { + newSegmentStyle.width = `${segmentWidth * 100}%`; + newSegmentStyle.left = `${(scrollRatio - (scrollRatio * segmentWidth)) * 100}%`; + } - setSegmentStyle(newSegmentStyle); + if (indicatorType === 'width') { + newSegmentStyle.width = `${scrollRatio * 100}%`; + newSegmentStyle.left = '0px'; + } + + setSegmentStyle(newSegmentStyle); + } }, [ slides.length, indicatorType, diff --git a/src/SliderProgress/types.ts b/src/SliderProgress/types.ts deleted file mode 100644 index 6856240..0000000 --- a/src/SliderProgress/types.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { CSSProperties, ElementType } from 'react'; - -export type Props = { - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown, - style?: CSSProperties - } - indicator?: { - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown, - style?: CSSProperties - }, - }, - indicatorType?: 'width' | 'position' -} diff --git a/src/SliderProvider/index.tsx b/src/SliderProvider/index.tsx index 89406bb..4a1d3bb 100644 --- a/src/SliderProvider/index.tsx +++ b/src/SliderProvider/index.tsx @@ -1,4 +1,5 @@ import React, { + Fragment, useCallback, useEffect, useReducer, @@ -6,11 +7,25 @@ import React, { useState, } from 'react'; import smoothscroll from 'smoothscroll-polyfill'; -import { Props } from './types'; -import SliderContext from '../SliderContext'; +import SliderContext, { ISliderContext } from '../SliderContext'; import reducer from './reducer'; import useDragScroll from './useDragScroll'; +export type ChildFunction = (context: ISliderContext) => React.ReactNode; // eslint-disable-line no-unused-vars + +export type Props = { + onSlide?: (index: number) => void // eslint-disable-line no-unused-vars + slidesToShow?: number + slideOnSelect?: boolean + useFreeScroll?: boolean + scrollOffset?: number + autoPlay?: boolean + autoplaySpeed?: number + pauseOnHover?: boolean + pause?: boolean + children: React.ReactNode | ChildFunction +} + const SliderProvider: React.FC = (props) => { const { children, @@ -47,13 +62,14 @@ const SliderProvider: React.FC = (props) => { }, []); - const scrollToIndex = useCallback((incomingSlideIndex) => { + const scrollToIndex = useCallback((incomingSlideIndex: number) => { const hasIndex = sliderState.slides[incomingSlideIndex]; if (hasIndex && sliderTrackRef.current) { const targetSlide = sliderState.slides[incomingSlideIndex]; - if (targetSlide) { - const { ref: { current: { offsetLeft } } } = targetSlide; + const targetSlideRef = targetSlide.ref.current; + if (targetSlideRef) { + const { offsetLeft } = targetSlideRef; sliderTrackRef.current.scrollTo({ top: 0, @@ -80,7 +96,7 @@ const SliderProvider: React.FC = (props) => { // auto-scroll to target index only on changes to scrollIndex useEffect(() => { - if (prevScrollIndex.current !== sliderState.scrollIndex) { + if (sliderState.scrollIndex !== undefined && prevScrollIndex.current !== sliderState.scrollIndex) { scrollToIndex(sliderState.scrollIndex); prevScrollIndex.current = sliderState.scrollIndex; } @@ -179,13 +195,21 @@ const SliderProvider: React.FC = (props) => { setIsPaused, isPaused, pauseOnHover, - }; + } as ISliderContext; return ( - {(children && (typeof children === 'function' ? children({ ...context }) : children))} + {(children && typeof children === 'function' ? ( + + {children({ ...context })} + + ) : ( + + {children} + + ))} ); }; diff --git a/src/SliderProvider/reducer.ts b/src/SliderProvider/reducer.ts index 908715d..cf4fa6e 100644 --- a/src/SliderProvider/reducer.ts +++ b/src/SliderProvider/reducer.ts @@ -1,9 +1,9 @@ -import { Slide } from '../Slide/types'; +import { ISlide } from '../Slide'; type SliderState = { currentSlideIndex: number selectedSlideIndex?: number - slides: Slide[] + slides: ISlide[] scrollIndex?: number } @@ -12,7 +12,7 @@ const reducer = ( action: { type: string, payload?: { - slide?: Slide + slide?: ISlide [key: string]: unknown }, }, @@ -34,12 +34,13 @@ const reducer = ( case 'UPDATE_SLIDE': { const { slide, - slide: { - index: slideIndex, - }, } = payload; - - newState.slides[slideIndex] = slide; + if (slide) { + const { + index: slideIndex, + } = slide; + newState.slides[slideIndex] = slide; + } break; } diff --git a/src/SliderProvider/types.ts b/src/SliderProvider/types.ts deleted file mode 100644 index 3226355..0000000 --- a/src/SliderProvider/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type Props = { - onSlide?: (number) => void // eslint-disable-line no-unused-vars - slidesToShow?: number - slideOnSelect?: boolean - useFreeScroll?: boolean - scrollOffset?: number - autoPlay?: boolean - autoplaySpeed?: number - pauseOnHover?: boolean - pause?: boolean -} diff --git a/src/SliderProvider/useDragScroll.ts b/src/SliderProvider/useDragScroll.ts index a2bef46..0fd8c83 100644 --- a/src/SliderProvider/useDragScroll.ts +++ b/src/SliderProvider/useDragScroll.ts @@ -16,7 +16,7 @@ export const useDraggable: UseDraggable = (options) => { const { buttons = [1, 4, 5], scrollYAxis, - } = options; + } = options || {}; // Ref to be attached to the element we want to drag const ref = useRef(null); @@ -77,7 +77,7 @@ export const useDraggable: UseDraggable = (options) => { const handleUp = () => { // reenable nested anchor links after dragging - if (ref.current.children) { + if (ref.current?.children) { const childrenAsArray = Array.from(ref.current.children); childrenAsArray.forEach((child) => { const childAsElement = child as HTMLElement; diff --git a/src/SliderTrack/index.tsx b/src/SliderTrack/index.tsx index b6c2562..080f835 100644 --- a/src/SliderTrack/index.tsx +++ b/src/SliderTrack/index.tsx @@ -1,6 +1,16 @@ import React, { useCallback, useEffect, useRef } from 'react'; import useSlider from '../useSlider'; -import { Props } from './types'; + +export type Props = { + id?: string + className?: string + htmlElement?: React.ElementType + htmlAttributes?: { + [key: string]: unknown, + style?: React.CSSProperties + } + children?: React.ReactNode +} const SliderTrack: React.FC = (props) => { const { @@ -26,8 +36,10 @@ const SliderTrack: React.FC = (props) => { const getScrollRatio = useCallback(() => { const track = sliderTrackRef.current; - const newScrollRatio = track.scrollLeft / (track.scrollWidth - track.clientWidth); - setScrollRatio(newScrollRatio); + if (track) { + const newScrollRatio = track.scrollLeft / (track.scrollWidth - track.clientWidth); + setScrollRatio(newScrollRatio); + } }, [ sliderTrackRef, setScrollRatio, @@ -38,7 +50,7 @@ const SliderTrack: React.FC = (props) => { if (track) { // prevent compounding events - if (animationFrameID) cancelAnimationFrame(animationFrameID.current); + if (animationFrameID.current) cancelAnimationFrame(animationFrameID.current); const requestID = requestAnimationFrame(getScrollRatio); animationFrameID.current = requestID; } diff --git a/src/SliderTrack/types.ts b/src/SliderTrack/types.ts deleted file mode 100644 index ccaba48..0000000 --- a/src/SliderTrack/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { CSSProperties, ElementType } from 'react'; - -export type Props = { - id?: string, - className?: string, - htmlElement?: ElementType, - htmlAttributes?: { - [key: string]: unknown, - style?: CSSProperties - }, -} diff --git a/src/useSlider/index.tsx b/src/useSlider/index.tsx index 2d45435..0febc01 100644 --- a/src/useSlider/index.tsx +++ b/src/useSlider/index.tsx @@ -1,6 +1,6 @@ import { useContext } from 'react'; import SliderContext from '../SliderContext'; -import { ISliderContext } from '../SliderContext/types'; +import { ISliderContext } from '../SliderContext'; const useSlider = (): ISliderContext => useContext(SliderContext); diff --git a/tsconfig.demo.json b/tsconfig.demo.json index 33fc7ea..e468c8b 100644 --- a/tsconfig.demo.json +++ b/tsconfig.demo.json @@ -4,6 +4,7 @@ "target": "es5", "module": "commonjs", "sourceMap": true, + "strict": true, "jsx": "react", "esModuleInterop": true, }, diff --git a/tsconfig.json b/tsconfig.json index bf52897..c0ebd46 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "target": "es5", "module": "commonjs", "sourceMap": true, + "strict": true, "jsx": "react", "esModuleInterop": true, "declaration": true, diff --git a/yarn.lock b/yarn.lock index 9179614..69666ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -626,9 +626,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.0.tgz#7a9b80f712fe2052bc20da153ff1e552404d8e4b" + integrity sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA== dependencies: "@babel/types" "^7.3.0" @@ -711,14 +711,14 @@ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "17.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" - integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== + version "17.0.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.25.tgz#527051f3c2f77aa52e5dc74e45a3da5fb2301448" + integrity sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w== "@types/node@^14.14.22": - version "14.18.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" - integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== + version "14.18.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.13.tgz#6ad4d9db59e6b3faf98dcfe4ca9d2aec84443277" + integrity sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -740,10 +740,17 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/react@^17.0.0": - version "17.0.44" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" - integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== +"@types/react-dom@^18.0.0": + version "18.0.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.1.tgz#cb3cc10ea91141b12c71001fede1017acfbce4db" + integrity sha512-jCwTXvHtRLiyVvKm9aEdHXs8rflVOGd5Sl913JZrPshfXjn8NYsTNZOz70bCsA31IR0TOqwi3ad+X4tSCBoMTw== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.0.0": + version "18.0.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.5.tgz#1a4d4b705ae6af5aed369dec22800b20f89f5301" + integrity sha512-UPxNGInDCIKlfqBrm8LDXYWNfLHwIdisWcsH5GpMyGjhEDLFgTtlRBaoWuCua9HcyuE0rMkmAeZ3FXV1pYLIYQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -754,6 +761,11 @@ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/smoothscroll-polyfill@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@types/smoothscroll-polyfill/-/smoothscroll-polyfill-0.3.1.tgz#77fb3a6e116bdab4a5959122e3b8e201224dcd49" + integrity sha512-+KkHw4y+EyeCtVXET7woHUhIbfWFCflc0E0mZnSV+ZdjPQeHt/9KPEuT7gSW/kFQ8O3EG30PLO++YhChDt8+Ag== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -772,13 +784,13 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz#950df411cec65f90d75d6320a03b2c98f6c3af7d" - integrity sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A== + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz#022531a639640ff3faafaf251d1ce00a2ef000a1" + integrity sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q== dependencies: - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/type-utils" "5.18.0" - "@typescript-eslint/utils" "5.18.0" + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/type-utils" "5.20.0" + "@typescript-eslint/utils" "5.20.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -799,13 +811,13 @@ eslint-utils "^3.0.0" "@typescript-eslint/parser@^5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.18.0.tgz#2bcd4ff21df33621df33e942ccb21cb897f004c6" - integrity sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ== + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.20.0.tgz#4991c4ee0344315c2afc2a62f156565f689c8d0b" + integrity sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w== dependencies: - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/typescript-estree" "5.18.0" + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/typescript-estree" "5.20.0" debug "^4.3.2" "@typescript-eslint/scope-manager@4.33.0": @@ -816,20 +828,20 @@ "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" -"@typescript-eslint/scope-manager@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz#a7d7b49b973ba8cebf2a3710eefd457ef2fb5505" - integrity sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ== +"@typescript-eslint/scope-manager@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz#79c7fb8598d2942e45b3c881ced95319818c7980" + integrity sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg== dependencies: - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/visitor-keys" "5.18.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/visitor-keys" "5.20.0" -"@typescript-eslint/type-utils@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz#62dbfc8478abf36ba94a90ddf10be3cc8e471c74" - integrity sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA== +"@typescript-eslint/type-utils@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz#151c21cbe9a378a34685735036e5ddfc00223be3" + integrity sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw== dependencies: - "@typescript-eslint/utils" "5.18.0" + "@typescript-eslint/utils" "5.20.0" debug "^4.3.2" tsutils "^3.21.0" @@ -838,10 +850,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"@typescript-eslint/types@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.18.0.tgz#4f0425d85fdb863071680983853c59a62ce9566e" - integrity sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw== +"@typescript-eslint/types@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c" + integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg== "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" @@ -856,28 +868,28 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz#6498e5ee69a32e82b6e18689e2f72e4060986474" - integrity sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ== +"@typescript-eslint/typescript-estree@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz#ab73686ab18c8781bbf249c9459a55dc9417d6b0" + integrity sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w== dependencies: - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/visitor-keys" "5.18.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/visitor-keys" "5.20.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.18.0.tgz#27fc84cf95c1a96def0aae31684cb43a37e76855" - integrity sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA== +"@typescript-eslint/utils@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.20.0.tgz#b8e959ed11eca1b2d5414e12417fd94cae3517a5" + integrity sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/typescript-estree" "5.18.0" + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/typescript-estree" "5.20.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -889,12 +901,12 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz#c7c07709823804171d569017f3b031ced7253e60" - integrity sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg== +"@typescript-eslint/visitor-keys@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz#70236b5c6b67fbaf8b2f58bf3414b76c1e826c2a" + integrity sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg== dependencies: - "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/types" "5.20.0" eslint-visitor-keys "^3.0.0" "@webassemblyjs/ast@1.9.0": @@ -1053,9 +1065,9 @@ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abab@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" @@ -1308,31 +1320,34 @@ array.prototype.filter@^1.0.0: is-string "^1.0.7" array.prototype.find@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.2.tgz#6abbd0c2573925d8094f7d23112306af8c16d534" - integrity sha512-00S1O4ewO95OmmJW7EesWfQlrCrLEL8kZ40w3+GkLX2yTt0m2ggcePPa2uHPJ9KUmJvwRq+lCV9bD8Yim23x/Q== + version "2.2.0" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.2.0.tgz#153b8a28ad8965cd86d3117b07e6596af6f2880d" + integrity sha512-sn40qmUiLYAcRb/1HsIQjTTZ1kCy8II8VtZJpMn2Aoen9twULhbWXisfh3HimGqMlHGUul0/TfKCnXg42LuPpQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.19.4" + es-shim-unscopables "^1.0.0" array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" array.prototype.flatmap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" - integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" + integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" arrify@^2.0.1: version "2.0.1" @@ -1400,9 +1415,9 @@ async-limiter@~1.0.0: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" @@ -1834,9 +1849,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001317: - version "1.0.30001327" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz#c1546d7d7bb66506f0ccdad6a7d07fc6d668c858" - integrity sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w== + version "1.0.30001332" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd" + integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw== capture-exit@^2.0.0: version "2.0.0" @@ -2202,9 +2217,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-pure@^3.20.2: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" - integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== + version "3.22.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.0.tgz#0eaa54b6d1f4ebb4d19976bb4916dfad149a3747" + integrity sha512-ylOC9nVy0ak1N+fPIZj00umoZHgUVqmucklP5RT5N+vJof38klKn8Ze6KGyvchdClvEBr6LcQqJpI216LUMqYA== core-util-is@1.0.2: version "1.0.2" @@ -2426,11 +2441,12 @@ default-gateway@^4.2.0: ip-regex "^2.1.0" define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: - object-keys "^1.0.12" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" define-property@^0.2.5: version "0.2.5" @@ -2653,9 +2669,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.84: - version "1.4.106" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz#e7a3bfa9d745dd9b9e597616cb17283cc349781a" - integrity sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg== + version "1.4.113" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.113.tgz#b3425c086e2f4fc31e9e53a724c6f239e3adb8b9" + integrity sha512-s30WKxp27F3bBH6fA07FYL2Xm/FYnYrKpMjHr3XVCTUb9anAyZn/BeZfPWgTZGAbJeT4NxNwISSbLcYZvggPMA== elliptic@^6.5.3: version "6.5.4" @@ -2806,10 +2822,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.2.tgz#8f7b696d8f15b167ae3640b4060670f3d054143f" - integrity sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w== +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.4: + version "1.19.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1" + integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -2822,7 +2838,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: is-callable "^1.2.4" is-negative-zero "^2.0.2" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" + is-shared-array-buffer "^1.0.2" is-string "^1.0.7" is-weakref "^1.0.2" object-inspect "^1.12.0" @@ -2837,6 +2853,13 @@ es-array-method-boxes-properly@^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== +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3608,9 +3631,9 @@ functional-red-black-tree@^1.0.1: integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= functions-have-names@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21" - integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" @@ -3824,6 +3847,13 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -4290,9 +4320,9 @@ is-ci@^2.0.0: ci-info "^2.0.0" is-core-module@^2.2.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" @@ -4454,7 +4484,7 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-shared-array-buffer@^1.0.1: +is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== @@ -5370,10 +5400,12 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-cache@^7.4.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.0.tgz#649aaeb294a56297b5cbc5d70f198dcc5ebe5747" - integrity sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg== +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" lz-string@^1.4.4: version "1.4.4" @@ -5741,9 +5773,9 @@ node-notifier@^6.0.0: which "^1.3.1" node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96" + integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw== normalize-package-data@^2.5.0: version "2.5.0" @@ -5825,7 +5857,7 @@ object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2: call-bind "^1.0.2" define-properties "^1.1.3" -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -6540,14 +6572,13 @@ raw-body@2.4.3: iconv-lite "0.4.24" unpipe "1.0.0" -react-dom@^17.0.0: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== +react-dom@^18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.0.0.tgz#26b88534f8f1dbb80853e1eabe752f24100d8023" + integrity sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" + scheduler "^0.21.0" react-hot-loader@^4.12.19: version "4.13.0" @@ -6588,13 +6619,12 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.19.1" -react@^17.0.0: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== +react@^18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" + integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" read-pkg-up@^7.0.1: version "7.0.1" @@ -6677,12 +6707,13 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" + functions-have-names "^1.2.2" regexpp@^3.0.0, regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" @@ -6987,13 +7018,12 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +scheduler@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" + integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" schema-utils@^1.0.0: version "1.0.0" @@ -7046,11 +7076,11 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: - version "7.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" - integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: - lru-cache "^7.4.0" + lru-cache "^6.0.0" send@0.17.2: version "0.17.2" @@ -8443,6 +8473,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"