diff --git a/lama_cleaner/app/package.json b/lama_cleaner/app/package.json index 3784d4f..ee05e1c 100644 --- a/lama_cleaner/app/package.json +++ b/lama_cleaner/app/package.json @@ -5,6 +5,8 @@ "proxy": "http://localhost:8080", "dependencies": { "@heroicons/react": "^1.0.4", + "@radix-ui/react-dialog": "^0.1.7", + "@radix-ui/react-select": "^0.1.2-rc.16", "@radix-ui/react-switch": "^0.1.5", "@radix-ui/react-toast": "^0.1.1", "@testing-library/jest-dom": "^5.14.1", diff --git a/lama_cleaner/app/public/index.html b/lama_cleaner/app/public/index.html index 7ac64e9..94f2e6f 100644 --- a/lama_cleaner/app/public/index.html +++ b/lama_cleaner/app/public/index.html @@ -22,10 +22,5 @@
- diff --git a/lama_cleaner/app/src/App.tsx b/lama_cleaner/app/src/App.tsx index aae7468..a80506b 100644 --- a/lama_cleaner/app/src/App.tsx +++ b/lama_cleaner/app/src/App.tsx @@ -29,8 +29,12 @@ function App() { setTheme(newTheme) }) + useEffect(() => { + document.body.setAttribute('data-theme', theme) + }, [theme]) + return ( -
+
{file ? : }
diff --git a/lama_cleaner/app/src/components/Editor/Editor.scss b/lama_cleaner/app/src/components/Editor/Editor.scss index 02dc11c..4b00593 100644 --- a/lama_cleaner/app/src/components/Editor/Editor.scss +++ b/lama_cleaner/app/src/components/Editor/Editor.scss @@ -52,7 +52,6 @@ } .editor-toolkit-panel { - // width: 100%; position: fixed; bottom: 0.5rem; border-radius: 3rem; @@ -110,80 +109,3 @@ border: 1px solid var(--yellow-accent); pointer-events: none; } - -.editor-size-selector-options { - position: fixed; - display: grid; -} - -.editor-size-selector { - grid-area: toolkit-size-selector; - display: grid; - grid-template-columns: repeat(2, max-content); - align-items: center; -} - -.editor-size-selector-main { - @include accented-display(var(white)); - user-select: none; - display: flex; - justify-content: space-between; - align-items: center; - cursor: pointer; - outline: none; - gap: 8px; - width: 128px; - - border: 1px solid var(--editor-size-border-color); - color: var(--options-text-color); - - svg { - width: 1rem; - height: 1rem; - margin-top: 0.25rem; - } -} - -.editor-size-options { - @include accented-display(var(--btn-primary-bg)); - width: 128px; - padding: 0; - display: grid; - justify-self: center; - position: fixed; - bottom: 4rem; - cursor: pointer; - - color: var(--options-text-color); - background-color: var(--page-bg); - border: 1px solid var(--editor-size-border-color); - - border-radius: 0.6rem; - - @include mobile { - bottom: 11.5rem; - } - - .editor-size-option { - display: flex; - align-items: center; - height: 40px; - user-select: none; - padding: 0.2rem 0.8rem; - - &:first-of-type { - border-top-right-radius: 0.5rem; - border-top-left-radius: 0.5rem; - } - - &:last-of-type { - border-bottom-left-radius: 0.5rem; - border-bottom-right-radius: 0.5rem; - } - - &:hover { - background-color: var(--yellow-accent); - color: var(--btn-text-hover-color); - } - } -} diff --git a/lama_cleaner/app/src/components/Editor/Editor.tsx b/lama_cleaner/app/src/components/Editor/Editor.tsx index 8e5c606..fd8bb20 100644 --- a/lama_cleaner/app/src/components/Editor/Editor.tsx +++ b/lama_cleaner/app/src/components/Editor/Editor.tsx @@ -268,6 +268,7 @@ export default function Editor(props: EditorProps) { isOriginalLoaded, windowSize, initialCentered, + drawOnCurrentRender, ]) // Zoom reset diff --git a/lama_cleaner/app/src/components/Editor/SizeSelector.tsx b/lama_cleaner/app/src/components/Editor/SizeSelector.tsx index 323e624..20ea4b6 100644 --- a/lama_cleaner/app/src/components/Editor/SizeSelector.tsx +++ b/lama_cleaner/app/src/components/Editor/SizeSelector.tsx @@ -1,6 +1,5 @@ -import React, { useCallback, useRef, useState } from 'react' -import { useClickAway } from 'react-use' -import { ChevronUpIcon } from '@heroicons/react/outline' +import React, { useCallback, useState } from 'react' +import Selector from '../shared/Selector' const sizes = ['720', '1080', '2000', 'Original'] @@ -12,24 +11,9 @@ type SizeSelectorProps = { export default function SizeSelector(props: SizeSelectorProps) { const { originalHeight, originalWidth, onChange } = props - const [showOptions, setShowOptions] = useState(false) - const sizeSelectorRef = useRef(null) const [activeSize, setActiveSize] = useState('Original') const longSide: number = Math.max(originalWidth, originalHeight) - const getValidSizes = useCallback(() => { - const validSizes: string[] = [] - for (let i = 0; i < sizes.length; i += 1) { - if (sizes[i] === 'Original') { - validSizes.push(sizes[i]) - } - if (parseInt(sizes[i], 10) < longSide) { - validSizes.push(sizes[i]) - } - } - return validSizes - }, [longSide]) - const getSizeShowName = useCallback( (size: string) => { if (size === 'Original') { @@ -46,57 +30,38 @@ export default function SizeSelector(props: SizeSelectorProps) { [originalWidth, originalHeight, longSide] ) - const showOptionsHandler = () => { - setShowOptions(currentShowOptionsState => !currentShowOptionsState) - } + const getValidSizes = useCallback(() => { + const validSizes: string[] = [] + for (let i = 0; i < sizes.length; i += 1) { + if (sizes[i] === 'Original') { + validSizes.push(getSizeShowName(sizes[i])) + } + if (parseInt(sizes[i], 10) < longSide) { + validSizes.push(getSizeShowName(sizes[i])) + } + } + return validSizes + }, [longSide, getSizeShowName]) - useClickAway(sizeSelectorRef, () => { - setShowOptions(false) - }) - - const sizeChangeHandler = (e: any) => { - const currentRes = e.target.textContent.split('x') + const sizeChangeHandler = (value: string) => { + const currentRes = value.split('x') if (originalWidth > originalHeight) { setActiveSize(currentRes[0]) - onChange(currentRes[0]) + onChange(parseInt(currentRes[0], 10)) } else { setActiveSize(currentRes[1]) - onChange(currentRes[1]) + onChange(parseInt(currentRes[1], 10)) } - setShowOptions(!showOptions) } return ( -
- - - {showOptions && ( -
- {getValidSizes().map(size => ( - - ))} -
- )} -
+ ) } diff --git a/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx b/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx index dce8851..edd6425 100644 --- a/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx +++ b/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx @@ -12,6 +12,7 @@ export enum AIModel { function ModelSettingBlock() { const [setting, setSettingState] = useRecoilState(settingState) + console.log(setting.model) const onModelChange = (value: AIModel) => { setSettingState(old => { diff --git a/lama_cleaner/app/src/components/Workspace.tsx b/lama_cleaner/app/src/components/Workspace.tsx index c7fe157..a579578 100644 --- a/lama_cleaner/app/src/components/Workspace.tsx +++ b/lama_cleaner/app/src/components/Workspace.tsx @@ -4,7 +4,7 @@ import Editor from './Editor/Editor' import ShortcutsModal from './Shortcuts/ShortcutsModal' import SettingModal from './Settings/SettingsModal' import Toast from './shared/Toast' -import { Settings, settingState, toastState } from '../store/Atoms' +import { settingState, toastState } from '../store/Atoms' import { currentModel, modelDownloaded, @@ -79,7 +79,7 @@ const Workspace = ({ file }: WorkspaceProps) => { return { ...old, model: model as AIModel } }) }) - }, []) + }, [setSettingState]) return ( <> diff --git a/lama_cleaner/app/src/components/shared/Modal.scss b/lama_cleaner/app/src/components/shared/Modal.scss index f776514..2beef78 100644 --- a/lama_cleaner/app/src/components/shared/Modal.scss +++ b/lama_cleaner/app/src/components/shared/Modal.scss @@ -1,17 +1,30 @@ .modal-mask { - z-index: 9999; - height: 100%; - width: 100%; - display: flex; - justify-content: center; - align-items: center; - position: absolute; + position: fixed; + z-index: 9998; + inset: 0; background-color: var(--model-mask-bg); backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); + animation: opacityReveal 150ms cubic-bezier(0.16, 1, 0.3, 1) forwards; +} + +@keyframes contentShow { + 0% { + opacity: 0; + transform: translate(-50%, -48%) scale(0.96); + } + 100% { + opacity: 1; + transform: translate(-50%, -50%) scale(1); + } } .modal { + background-color: var(--page-bg); + z-index: 9999; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); display: grid; grid-auto-rows: max-content; row-gap: 2rem; @@ -19,6 +32,10 @@ padding: 2rem; border-radius: 0.95rem; + &:focus { + outline: none; + } + .modal-header { display: grid; grid-template-columns: repeat(2, auto); @@ -28,4 +45,6 @@ justify-self: end; } } + + animation: contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1) forwards; } diff --git a/lama_cleaner/app/src/components/shared/Modal.tsx b/lama_cleaner/app/src/components/shared/Modal.tsx index f96de98..81507a9 100644 --- a/lama_cleaner/app/src/components/shared/Modal.tsx +++ b/lama_cleaner/app/src/components/shared/Modal.tsx @@ -1,6 +1,6 @@ import { XIcon } from '@heroicons/react/outline' -import React, { ReactNode, useRef } from 'react' -import { useClickAway, useKey, useKeyPress, useKeyPressEvent } from 'react-use' +import React, { ReactNode } from 'react' +import * as DialogPrimitive from '@radix-ui/react-dialog' import Button from './Button' export interface ModalProps { @@ -11,34 +11,35 @@ export interface ModalProps { className?: string } -export default function Modal(props: ModalProps) { +const Modal = React.forwardRef< + React.ElementRef, + ModalProps +>((props, forwardedRef) => { const { show, children, onClose, className, title } = props - const ref = useRef(null) - useClickAway(ref, () => { - if (show) { + const onOpenChange = (open: boolean) => { + if (!open) { onClose?.() } - }) - - useKeyPressEvent('Escape', e => { - if (show) { - onClose?.() - } - }) + } return ( -
-
-
-

{title}

-
- {children} -
-
+ + + + +
+ {title} +
+ {children} +
+
+
) -} +}) + +export default Modal diff --git a/lama_cleaner/app/src/components/shared/NumberInput.scss b/lama_cleaner/app/src/components/shared/NumberInput.scss index ac261d2..d51dc32 100644 --- a/lama_cleaner/app/src/components/shared/NumberInput.scss +++ b/lama_cleaner/app/src/components/shared/NumberInput.scss @@ -2,8 +2,7 @@ all: unset; flex: 1 0 auto; border-radius: 0.5rem; - padding: 0.2rem 0.8rem; - line-height: 1; + padding: 0.4rem 0.8rem; outline: 1px solid var(--border-color); &:focus-visible { diff --git a/lama_cleaner/app/src/components/shared/Selector.scss b/lama_cleaner/app/src/components/shared/Selector.scss index 22f2170..ebf6d8d 100644 --- a/lama_cleaner/app/src/components/shared/Selector.scss +++ b/lama_cleaner/app/src/components/shared/Selector.scss @@ -1,26 +1,14 @@ -@use '../../styles/Mixins' as *; - -.selector { - position: relative; - display: flex; - flex-direction: column; +.select-trigger { + all: unset; + display: inline-flex; align-items: center; justify-content: space-between; -} - -.selector-main { - @include accented-display(var(white)); - width: 100%; - user-select: none; - display: flex; - justify-content: space-between; - align-items: center; - cursor: pointer; - outline: none; + border-radius: 0.5rem; + height: 38px; gap: 8px; - padding: 0.2rem 0.8rem; - + padding: 0 0.8rem; border: 1px solid var(--border-color); + background-color: var(--page-bg); color: var(--options-text-color); svg { @@ -28,47 +16,52 @@ height: 1rem; margin-top: 0.25rem; } + + &:hover { + border-color: var(--yellow-accent); + } + + // &:focus-visible { + // border-color: var(--yellow-accent); + // } } -.selector-options { - @include accented-display(var(--btn-primary-bg)); - width: 100%; - padding: 0; - display: grid; - justify-self: center; - position: absolute; - cursor: pointer; - top: 3rem; - - color: var(--options-text-color); +.select-content { + overflow: hidden; background-color: var(--page-bg); + border-radius: 0.5rem; +} + +.select-viewport { border: 1px solid var(--border-color); + border-radius: 0.5rem; + padding: 5px; +} - border-radius: 0.6rem; +.select-item { + all: unset; + background-color: var(--page-bg); + color: var(--options-text-color); + display: flex; + align-items: center; + border-radius: 0.5rem; - @include mobile { - bottom: 11.5rem; - } + padding: 6px 6px 6px 25px; + position: relative; + user-select: none; - .selector-option { - display: flex; - align-items: center; - user-select: none; - padding: 0.5rem 0.8rem; - - &:first-of-type { - border-top-right-radius: 0.5rem; - border-top-left-radius: 0.5rem; - } - - &:last-of-type { - border-bottom-left-radius: 0.5rem; - border-bottom-right-radius: 0.5rem; - } - - &:hover { - background-color: var(--yellow-accent); - color: var(--btn-text-hover-color); - } + &:focus { + color: var(--btn-text-hover-color); + background-color: var(--yellow-accent); } } + +.select-item-indicator { + position: absolute; + left: 0; + width: 25px; + padding-right: 4px; + display: inline-flex; + align-items: center; + justify-content: center; +} diff --git a/lama_cleaner/app/src/components/shared/Selector.tsx b/lama_cleaner/app/src/components/shared/Selector.tsx index d912fe3..f7a30da 100644 --- a/lama_cleaner/app/src/components/shared/Selector.tsx +++ b/lama_cleaner/app/src/components/shared/Selector.tsx @@ -1,86 +1,85 @@ -import React, { MutableRefObject, useCallback, useRef, useState } from 'react' -import { useClickAway, useKeyPressEvent } from 'react-use' -import { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/outline' +import React, { useRef } from 'react' +import { + CheckIcon, + ChevronDownIcon, + ChevronUpIcon, +} from '@heroicons/react/outline' +import * as Select from '@radix-ui/react-select' +import { relative } from 'path' type SelectorChevronDirection = 'up' | 'down' -type SelectorProps = { - minWidth?: number - chevronDirection?: SelectorChevronDirection +interface Props { + width?: number value: string options: string[] + chevronDirection?: SelectorChevronDirection + autoFocusAfterClose?: boolean onChange: (value: string) => void } -const selectorDefaultProps = { - minWidth: 128, - chevronDirection: 'down', -} +const Selector = (props: Props) => { + const { + width, + value, + chevronDirection, + options, + autoFocusAfterClose, + onChange, + } = props -function Selector(props: SelectorProps) { - const { minWidth, chevronDirection, value, options, onChange } = props - const [showOptions, setShowOptions] = useState(false) - const selectorRef = useRef(null) + const contentRef = useRef(null) - const showOptionsHandler = () => { - // console.log(selectorRef.current?.focus) - // selectorRef?.current?.focus() - setShowOptions(currentShowOptionsState => !currentShowOptionsState) - } - - useClickAway(selectorRef, () => { - setShowOptions(false) - }) - - // TODO: how to prevent Modal close? - // useKeyPressEvent('Escape', (e: KeyboardEvent) => { - // if (showOptions === true) { - // console.log(`selector ${e}`) - // e.preventDefault() - // e.stopPropagation() - // setShowOptions(false) - // } - // }) - - const onOptionClick = (e: any, newIndex: number) => { - const currentRes = e.target.textContent.split('x') - onChange(currentRes[0]) - setShowOptions(false) + const onOpenChange = (open: boolean) => { + if (!open) { + if (!autoFocusAfterClose) { + // 如果使用 Select.Content 的 onCloseAutoFocus 来取消 focus(防止空格继续打开这个 select) + // 会导致其它快捷键失效,原因未知 + window.setTimeout(() => { + contentRef?.current?.blur() + }, 100) + } + } } return ( -
- + + - {showOptions && ( -
- {options.map((val, _index) => ( -
onOptionClick(e, _index)} - aria-hidden="true" - > - {val} -
+ + + {options.map(val => ( + + {val} + + + + ))} -
- )} -
+ + + ) } +const selectorDefaultProps = { + chevronDirection: 'down', + autoFocusAfterClose: true, +} + Selector.defaultProps = selectorDefaultProps + export default Selector diff --git a/lama_cleaner/app/yarn.lock b/lama_cleaner/app/yarn.lock index c192280..7e43f2c 100644 --- a/lama_cleaner/app/yarn.lock +++ b/lama_cleaner/app/yarn.lock @@ -1544,6 +1544,13 @@ schema-utils "^2.6.5" source-map "^0.7.3" +"@radix-ui/number@0.1.0": + version "0.1.0" + resolved "https://registry.npmmirror.com/@radix-ui/number/-/number-0.1.0.tgz#73ad13d5cc5f75fa5e147d72e5d5d5e50d688256" + integrity sha512-rpf6QiOWLHAkM4FEMYu9i+5Jr8cKT893+R4mPpcdsy4LD7omr9JfdOqj/h/xPA5+EcVrpMMlU6rrRYpUB5UI8g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/primitive/-/primitive-0.1.0.tgz#6206b97d379994f0d1929809db035733b337e543" @@ -1551,6 +1558,17 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-collection@0.1.5-rc.7": + version "0.1.5-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-collection/-/react-collection-0.1.5-rc.7.tgz#796cfab9439430f0ac85560da89611e1dcbfa5fd" + integrity sha512-Ag5RC6k4UUP8Yfmx0iTJdfe24kJ1B/HLN+b/Ss0IRniPBAYKdROgEVXzkkFpPMIPK9oxEKAZ0FFBqr+MZL9Ckg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-context" "0.1.2-rc.7" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-slot" "0.1.3-rc.7" + "@radix-ui/react-compose-refs@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz#cff6e780a0f73778b976acff2c2a5b6551caab95" @@ -1558,6 +1576,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-compose-refs@0.1.1-rc.7": + version "0.1.1-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.1-rc.7.tgz#bd923a167d3bdf1fb44539a7a0a4c290df812135" + integrity sha512-wvkRYS8jJy8vTRcNjnno0Y+y+nOQ4WjnQwNFaGEj1EX2+sSfAYTCIEuDqsKegi8LdcM6l5643yDc/LxV/wDbyg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-context@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-context/-/react-context-0.1.1.tgz#06996829ea124d9a1bc1dbe3e51f33588fab0875" @@ -1565,6 +1590,41 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-context@0.1.2-rc.7": + version "0.1.2-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-context/-/react-context-0.1.2-rc.7.tgz#6a5fe5009d7dbc027cd3cc79748d1716f7a8945b" + integrity sha512-IuT4z3WU3ThSJKRuU3br7yKQjgIKMpOj4larryOPdlLgT4cwcY5Ny1hU56j6f9XQQ/IaWejwts6733YcV6gEiw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-dialog@^0.1.7": + version "0.1.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-dialog/-/react-dialog-0.1.7.tgz#285414cf66f5bbf42bc9935314e0381abe01e7d0" + integrity sha512-jXt8srGhHBRvEr9jhEAiwwJzWCWZoGRJ030aC9ja/gkRJbZdy0iD3FwXf+Ff4RtsZyLUMHW7VUwFOlz3Ixe1Vw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "0.1.0" + "@radix-ui/react-compose-refs" "0.1.0" + "@radix-ui/react-context" "0.1.1" + "@radix-ui/react-dismissable-layer" "0.1.5" + "@radix-ui/react-focus-guards" "0.1.0" + "@radix-ui/react-focus-scope" "0.1.4" + "@radix-ui/react-id" "0.1.5" + "@radix-ui/react-portal" "0.1.4" + "@radix-ui/react-presence" "0.1.2" + "@radix-ui/react-primitive" "0.1.4" + "@radix-ui/react-slot" "0.1.2" + "@radix-ui/react-use-controllable-state" "0.1.0" + aria-hidden "^1.1.1" + react-remove-scroll "^2.4.0" + +"@radix-ui/react-direction@0.1.0-rc.10": + version "0.1.0-rc.10" + resolved "https://registry.npmmirror.com/@radix-ui/react-direction/-/react-direction-0.1.0-rc.10.tgz#d5b664ad48b3d7e50cad57d519d81577a689e04f" + integrity sha512-Eo9gvRtK3H6yu3EcdEtoo6z505AQIiFGYNlJvIT0H9k4LvlWD5ZiPeoZsxFKFOBFZ/T1VFFObFbwMzHedU8cnA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-dismissable-layer@0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-0.1.5.tgz#9379032351e79028d472733a5cc8ba4a0ea43314" @@ -1578,6 +1638,46 @@ "@radix-ui/react-use-callback-ref" "0.1.0" "@radix-ui/react-use-escape-keydown" "0.1.0" +"@radix-ui/react-dismissable-layer@0.1.6-rc.7": + version "0.1.6-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-0.1.6-rc.7.tgz#a45cc7f8af7c68905bf31244be4c1a4cdba3d3f3" + integrity sha512-Mh+U0ZvUcfUX3oQkD48+2sXWu05ifZQ39a79tl6evsjm++UHlyi1HXvJ+A9Nec7Tr2MGZie25IUo6wKc5Sv0nw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "0.1.0" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-use-body-pointer-events" "0.1.2-rc.7" + "@radix-ui/react-use-callback-ref" "0.1.1-rc.7" + "@radix-ui/react-use-escape-keydown" "0.1.1-rc.7" + +"@radix-ui/react-focus-guards@0.1.0": + version "0.1.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-focus-guards/-/react-focus-guards-0.1.0.tgz#ba3b6f902cba7826569f8edc21ff8223dece7def" + integrity sha512-kRx/swAjEfBpQ3ns7J3H4uxpXuWCqN7MpALiSDOXiyo2vkWv0L9sxvbpZeTulINuE3CGMzicVMuNc/VWXjFKOg== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-focus-scope@0.1.4": + version "0.1.4" + resolved "https://registry.npmmirror.com/@radix-ui/react-focus-scope/-/react-focus-scope-0.1.4.tgz#c830724e212d42ffaaa81aee49533213d09b47df" + integrity sha512-fbA4ES3H4Wkxp+OeLhvN6SwL7mXNn/aBtUf7DRYxY9+Akrf7dRxl2ck4lgcpPsSg3zSDsEwLcY+h5cmj5yvlug== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.0" + "@radix-ui/react-primitive" "0.1.4" + "@radix-ui/react-use-callback-ref" "0.1.0" + +"@radix-ui/react-focus-scope@0.1.5-rc.7": + version "0.1.5-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-focus-scope/-/react-focus-scope-0.1.5-rc.7.tgz#3f7a30b1d573fc5d5f96c59ae23b38dd8fcf52a0" + integrity sha512-gdKvKlX75VHD2gvGFIFikxv+iqbpMUaaFF/YaJFbESD9Zgq//RMg+GLhk/IYmtxDAlK3o1oRkUCRpRkftG6AWg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-use-callback-ref" "0.1.1-rc.7" + "@radix-ui/react-id@0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-id/-/react-id-0.1.5.tgz#010d311bedd5a2884c1e9bb6aaaa4e6cc1d1d3b8" @@ -1586,6 +1686,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "0.1.0" +"@radix-ui/react-id@0.1.6-rc.7": + version "0.1.6-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-id/-/react-id-0.1.6-rc.7.tgz#cc4ae5c3d66e412101d9867a5141cdfb9f609f9a" + integrity sha512-FRt/3NQdHXzPKa9xZJ1kNVhMz5WNE1WvGuJpMupXc2GXNXKc51LJiwqhTyQFYvbpo4XCoe69eo9k4J7ZLhhJcQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "0.1.1-rc.7" + "@radix-ui/react-label@0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-label/-/react-label-0.1.5.tgz#12cd965bfc983e0148121d4c99fb8e27a917c45c" @@ -1597,6 +1705,17 @@ "@radix-ui/react-id" "0.1.5" "@radix-ui/react-primitive" "0.1.4" +"@radix-ui/react-label@0.1.6-rc.7": + version "0.1.6-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-label/-/react-label-0.1.6-rc.7.tgz#ae10157766e22b71b4a3da78ae219f0858e3eed5" + integrity sha512-nTrLisKjfY9Z6iB1OKzlyrQrdvRCQmo93DvQTEyGQd4/7477bykjHvL9o+e8TworZIGtGdEIH/9gaktwYfvT1g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-context" "0.1.2-rc.7" + "@radix-ui/react-id" "0.1.6-rc.7" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-portal@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-portal/-/react-portal-0.1.4.tgz#17bdce3d7f1a9a0b35cb5e935ab8bc562441a7d2" @@ -1606,6 +1725,15 @@ "@radix-ui/react-primitive" "0.1.4" "@radix-ui/react-use-layout-effect" "0.1.0" +"@radix-ui/react-portal@0.1.5-rc.7": + version "0.1.5-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-portal/-/react-portal-0.1.5-rc.7.tgz#3810d26556f010301f18cc5c6b7dd4375c6cc595" + integrity sha512-cMnxNPeoXC8ECNSK/+sucx/zOfS44KkMhOlFy4ghFLPC41nx5WGxAhh/OcTEZxJUZQK98aMnW9ggwooLTJhDrQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-use-layout-effect" "0.1.1-rc.7" + "@radix-ui/react-presence@0.1.2": version "0.1.2" resolved "https://registry.npmmirror.com/@radix-ui/react-presence/-/react-presence-0.1.2.tgz#9f11cce3df73cf65bc348e8b76d891f0d54c1fe3" @@ -1623,6 +1751,40 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-slot" "0.1.2" +"@radix-ui/react-primitive@0.1.5-rc.7": + version "0.1.5-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-primitive/-/react-primitive-0.1.5-rc.7.tgz#6d15519e0f7e2ebf0e4dd9ead0b673eb4a9a21ee" + integrity sha512-yDRKxrdsjF0nsncQOHyREaPB73pdhvl+O47FgkU+5ymyTOL6pPeoN8SI2KE/am4cObvRf+BlsN8rF3nEC7CwOw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "0.1.3-rc.7" + +"@radix-ui/react-select@^0.1.2-rc16": + version "0.1.2-rc.16" + resolved "https://registry.npmmirror.com/@radix-ui/react-select/-/react-select-0.1.2-rc.16.tgz#0d096df4b172e2f55c83e22ceacd4d3965780ba4" + integrity sha512-/qqPQjhc5TCKH2TEmd6b/akEbjQA1NElvFPWcQKuFTThmT0zuaxvtS3nsT6uXCiA3z3yX3blHISGwBvmYg9bxw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/number" "0.1.0" + "@radix-ui/primitive" "0.1.0" + "@radix-ui/react-collection" "0.1.5-rc.7" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-context" "0.1.2-rc.7" + "@radix-ui/react-direction" "0.1.0-rc.10" + "@radix-ui/react-dismissable-layer" "0.1.6-rc.7" + "@radix-ui/react-focus-scope" "0.1.5-rc.7" + "@radix-ui/react-id" "0.1.6-rc.7" + "@radix-ui/react-label" "0.1.6-rc.7" + "@radix-ui/react-portal" "0.1.5-rc.7" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@radix-ui/react-use-callback-ref" "0.1.1-rc.7" + "@radix-ui/react-use-controllable-state" "0.1.1-rc.7" + "@radix-ui/react-use-layout-effect" "0.1.1-rc.7" + "@radix-ui/react-use-previous" "0.1.2-rc.7" + "@radix-ui/react-visually-hidden" "0.1.5-rc.7" + aria-hidden "^1.1.1" + react-remove-scroll "^2.4.0" + "@radix-ui/react-slot@0.1.2": version "0.1.2" resolved "https://registry.npmmirror.com/@radix-ui/react-slot/-/react-slot-0.1.2.tgz#e6f7ad9caa8ce81cc8d532c854c56f9b8b6307c8" @@ -1631,6 +1793,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs" "0.1.0" +"@radix-ui/react-slot@0.1.3-rc.7": + version "0.1.3-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-slot/-/react-slot-0.1.3-rc.7.tgz#0b9ab0ee058533cb3ad9ad0e5e8d6b1da0bfab6e" + integrity sha512-brKCHeZHMkx2t4gWtq86nVwrGRH2FC6v0iYZNWpf/HtR3K37dOV8WkVpOpMw3d5tKudqOnJm4ooX4NnBWHNBFQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "0.1.1-rc.7" + "@radix-ui/react-switch@^0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-switch/-/react-switch-0.1.5.tgz#071ffa19a17a47fdc5c5e6f371bd5901c9fef2f4" @@ -1672,6 +1842,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "0.1.0" +"@radix-ui/react-use-body-pointer-events@0.1.2-rc.7": + version "0.1.2-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-body-pointer-events/-/react-use-body-pointer-events-0.1.2-rc.7.tgz#422ddfe499df5e9081cbf9d6e3c3a3b90228b2c3" + integrity sha512-0cxifuIBUc4EqSASGJCPvZbcSiNnCQ2cpzZXDWU7OuUEAeCDw80KNnutKWYH6471e9rGmXcxkx0SrY34v+VS8Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "0.1.1-rc.7" + "@radix-ui/react-use-callback-ref@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz#934b6e123330f5b3a6b116460e6662cbc663493f" @@ -1679,6 +1857,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-callback-ref@0.1.1-rc.7": + version "0.1.1-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.1-rc.7.tgz#e5ec9402224f7eb46379ab04b31915f8b44befdf" + integrity sha512-cDuHxty1SkiRb/O2A7ZvU1/z23wamB3o7zEYWmgr/udc7+cjoRaLbdjAAy0qw1kPQJExXAwgcAcItkfuc1UcRQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-controllable-state@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz#4fced164acfc69a4e34fb9d193afdab973a55de1" @@ -1687,6 +1872,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "0.1.0" +"@radix-ui/react-use-controllable-state@0.1.1-rc.7": + version "0.1.1-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.1-rc.7.tgz#21ada7b01f4cbaf64fecb5ba9fa035f6f8fe3811" + integrity sha512-X05TeQD9wqjC8YIXGl/NCJb4gzjaEMBcr3KhtDP14VxJvusNYzGo/zZBz8Wh1hzTYV6csRjyu0efKy6KzqXrbw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "0.1.1-rc.7" + "@radix-ui/react-use-escape-keydown@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz#dc80cb3753e9d1bd992adbad9a149fb6ea941874" @@ -1695,6 +1888,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "0.1.0" +"@radix-ui/react-use-escape-keydown@0.1.1-rc.7": + version "0.1.1-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.1-rc.7.tgz#535eb08bbd6b0dce0d82675c20b63011411b1a36" + integrity sha512-I1zbxMyskSl3VtJYXnoEyz1aUld2pjFwhJIT7Y4MWDFfNnVmL0H+i9qj/JojBpo9L8Yb4z35GfwQxuyebMVppQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "0.1.1-rc.7" + "@radix-ui/react-use-layout-effect@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223" @@ -1702,6 +1903,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-layout-effect@0.1.1-rc.7": + version "0.1.1-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.1-rc.7.tgz#eb76911c6d2836e8cd320f689ca31b026cf48ed5" + integrity sha512-M0Lalq9ZfubHRoSgHwzyxE9HiEuUkI7RNBuoqzPAWud6KLzRCdgXe1qg9F8gV/KGe1yolxVluLEemX9B8/mB2g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-previous@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-use-previous/-/react-use-previous-0.1.1.tgz#0226017f72267200f6e832a7103760e96a6db5d0" @@ -1709,6 +1917,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-previous@0.1.2-rc.7": + version "0.1.2-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-previous/-/react-use-previous-0.1.2-rc.7.tgz#942c9ba01a538d0f9703891201972be5018ec90d" + integrity sha512-1FTtn+BYFq6gk2XEPAHNx3mz0qnbRiRljyjCUmZmDfEeR1hyWF56YgRj3shYpMrJ72BhNgXNHcCLtg1O2XocXg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-size@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-use-size/-/react-use-size-0.1.1.tgz#f6b75272a5d41c3089ca78c8a2e48e5f204ef90f" @@ -1724,6 +1939,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "0.1.4" +"@radix-ui/react-visually-hidden@0.1.5-rc.7": + version "0.1.5-rc.7" + resolved "https://registry.npmmirror.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-0.1.5-rc.7.tgz#63fa66750a578a02c86721c6e86f40e59aeefeee" + integrity sha512-RUcUP5TSySwIISzX4zyJwcsSsW55+t7o0q4mcod1+D80eBUYif+p/iCbH8JuEX7InZFhhPaLL9qWyy6Jyl/I5A== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "0.1.5-rc.7" + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz" @@ -2696,6 +2919,13 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +aria-hidden@^1.1.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.1.3.tgz#bb48de18dc84787a3c6eee113709c473c64ec254" + integrity sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA== + dependencies: + tslib "^1.0.0" + aria-query@^4.2.2: version "4.2.2" resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" @@ -4435,6 +4665,11 @@ detect-newline@^3.0.0: resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" @@ -5628,6 +5863,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" @@ -6236,6 +6476,13 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" @@ -7472,7 +7719,7 @@ loglevel@^1.6.8: resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -9606,6 +9853,25 @@ react-refresh@^0.8.3: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== +react-remove-scroll-bar@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.0.tgz#4f1c8442e4a8bbf98f0cd7ba30fdaf7bf5bcffe5" + integrity sha512-v2vf8kgrRph5FQeLVZjSOmM0g3ZiBxwMk98VXhsiJDSPeRDUaXJrzYDk2Hhoe6qLggrhWtAXJZVxUwXmRXa93g== + dependencies: + react-style-singleton "^2.2.0" + tslib "^2.0.0" + +react-remove-scroll@^2.4.0: + version "2.5.1" + resolved "https://registry.npmmirror.com/react-remove-scroll/-/react-remove-scroll-2.5.1.tgz#28c318c2e076040e5d6172bf28aab2916ad89b46" + integrity sha512-Lzam+uvyTLlSCqxGeEe5fLadZQkAYYWurr7P+9kgJfgBcBhs04T181D3yqmUzML63W0FLW/oqSd6dnaE0IIisQ== + dependencies: + react-remove-scroll-bar "^2.3.0" + react-style-singleton "^2.2.0" + tslib "^2.0.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + react-scripts@4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz" @@ -9672,6 +9938,15 @@ react-scripts@4.0.3: optionalDependencies: fsevents "^2.1.3" +react-style-singleton@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/react-style-singleton/-/react-style-singleton-2.2.0.tgz#70f45f5fef97fdb9a52eed98d1839fa6b9032b22" + integrity sha512-nK7mN92DMYZEu3cQcAhfwE48NpzO5RpxjG4okbSqRRbfal9Pk+fG2RdQXTMp+f6all1hB9LIJSt+j7dCYrU11g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + react-universal-interface@^0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz" @@ -11237,11 +11512,16 @@ tsconfig-paths@^3.11.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.1: +tslib@^1.0.0, tslib@^1.8.1: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tslib@^2.0.3, tslib@^2.1.0: version "2.3.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" @@ -11482,6 +11762,21 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +use-callback-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" + integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== + dependencies: + tslib "^2.0.0" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz"