diff --git a/packages/dashboard/src/pages/Wallets/components/CollectibleList/index.tsx b/packages/dashboard/src/pages/Wallets/components/CollectibleList/index.tsx index a4181aa33f3f..a8a2fb136c70 100644 --- a/packages/dashboard/src/pages/Wallets/components/CollectibleList/index.tsx +++ b/packages/dashboard/src/pages/Wallets/components/CollectibleList/index.tsx @@ -51,7 +51,7 @@ export const CollectibleList = memo(() => { value = { collectibles: [], hasNextPage: false }, loading: collectiblesLoading, error: collectiblesError, - } = useCollectibles(account, provider, page, 20) + } = useCollectibles(account, chainId, provider, page, 20) const { collectibles = [], hasNextPage } = value diff --git a/packages/maskbook/package.json b/packages/maskbook/package.json index a6e8316be9f3..efb3d2fc6376 100644 --- a/packages/maskbook/package.json +++ b/packages/maskbook/package.json @@ -65,6 +65,7 @@ "buffer": "^6.0.3", "classnames": "^2.3.1", "clipboard-polyfill": "^3.0.3", + "color": "^4.0.0", "crypto-browserify": "^3.12.0", "d3": "^5.16.0", "date-fns": "^2.23.0", diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx new file mode 100644 index 000000000000..d08fb0a1fd44 --- /dev/null +++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx @@ -0,0 +1,50 @@ +import { useStylesExtends } from '@masknet/shared' +import { getMaskColor, makeStyles } from '@masknet/theme' +import { useState, useEffect } from 'react' +import { CollectibleListAddress } from '../../extension/options-page/DashboardComponents/CollectibleList' +import { useEthereumAddress } from '../../social-network-adaptor/twitter.com/injection/useEthereumName' +import { MaskMessage } from '../../utils' +import { useLocationChange } from '../../utils/hooks/useLocationChange' + +const useStyles = makeStyles()((theme) => ({ + text: { + paddingTop: 36, + paddingBottom: 36, + '& > p': { + color: getMaskColor(theme).textPrimary, + }, + }, + button: {}, +})) + +interface EnhancedProfileaPageProps extends withClasses<'text' | 'button'> { + bioDescription: string + nickname: string + twitterId: string + onUpdated: () => void +} + +export function EnhancedProfileaPage(props: EnhancedProfileaPageProps) { + const [show, setShow] = useState(false) + const classes = useStylesExtends(useStyles(), props) + const { bioDescription, nickname, twitterId, onUpdated } = props + + useLocationChange(() => { + MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset') + }) + + useEffect(() => { + return MaskMessage.events.profileNFTsTabUpdated.on((data) => { + onUpdated() + }) + }, []) + + useEffect(() => { + return MaskMessage.events.profileNFTsPageUpdated.on((data) => { + setShow(data.show) + }) + }, []) + + const resolvedAddress = useEthereumAddress(nickname, twitterId, bioDescription) + return <>{show ? : null} +} diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx new file mode 100644 index 000000000000..06954a4e1d8c --- /dev/null +++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx @@ -0,0 +1,45 @@ +import classnames from 'classnames' +import { ReactElement, useCallback, useEffect, useState } from 'react' + +import { MaskMessage } from '../../utils' + +export interface EnhancedProfileTabProps extends withClasses<'tab' | 'button' | 'selected'> { + clear(): void + reset(): void + children?: ReactElement + // Required! This component don't have it own style. + classes: Record<'tab' | 'button' | 'selected', string> +} + +export function EnhancedProfileTab(props: EnhancedProfileTabProps) { + const { reset, clear, children, classes } = props + const [active, setActive] = useState(false) + + const onClose = () => { + setActive(false) + MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: false }) + reset() + } + const onOpen = () => { + MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: true }) + setActive(true) + } + + useEffect(() => { + return MaskMessage.events.profileNFTsTabUpdated.on(onClose) + }, []) + + const onClick = useCallback(() => { + onOpen() + clear() + }, [clear, onOpen]) + + return ( +
+
+ NFTs + {active && children ? children : null} +
+
+ ) +} diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/CollectibleCard.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/CollectibleCard.tsx index 3cc02e9a35d4..404ad8e6d712 100644 --- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/CollectibleCard.tsx +++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/CollectibleCard.tsx @@ -36,19 +36,22 @@ const useStyles = makeStyles((theme) => ({ export interface CollectibleCardProps { provider: CollectibleProvider - wallet: Wallet + wallet?: Wallet token: ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed + readonly?: boolean } export function CollectibleCard(props: CollectibleCardProps) { - const { wallet, token, provider } = props + const { wallet, token, provider, readonly } = props const classes = useStyles(props) const chainId = useChainId() return ( - + {readonly || !wallet ? null : ( + + )} {token.asset?.image ? ( ({ root: { - display: 'flex', + display: 'grid', flexWrap: 'wrap', + gridTemplateColumns: 'repeat(auto-fill, minmax(160px, 1fr))', + gridGap: theme.spacing(1), + }, + text: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + height: '100%', + }, + button: { + marginTop: theme.spacing(1), }, container: { height: 'calc(100% - 52px)', overflow: 'auto', }, card: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', position: 'relative', padding: theme.spacing(1), }, @@ -44,36 +70,42 @@ const useStyles = makeStyles((theme) => ({ }, })) -export interface CollectibleListProps { - wallet: Wallet +interface CollectibleListUIProps extends withClasses<'empty' | 'button'> { + provider: CollectibleProvider + wallet?: Wallet + collectibles: (ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed)[] + loading: boolean + collectiblesRetry: () => void + error: Error | undefined + hasNextPage: boolean + readonly?: boolean + page: number + hasRetry?: boolean + onNextPage: () => void + onPrevPage: () => void } - -export function CollectibleList(props: CollectibleListProps) { - const { wallet } = props - const { t } = useI18N() - - const classes = useStyles() - const account = useAccount() - - const [page, setPage] = useState(0) - const provider = useValueRef(currentCollectibleDataProviderSettings) +function CollectibleListUI(props: CollectibleListUIProps) { const { - value = { collectibles: [], hasNextPage: false }, - loading: collectiblesLoading, - retry: collectiblesRetry, - error: collectiblesError, - } = useCollectibles(account, provider, page, 50) - - const { collectibles = [], hasNextPage } = value - - useUpdateEffect(() => { - setPage(0) - }, [account, provider]) + provider, + wallet, + collectibles, + loading, + hasNextPage, + collectiblesRetry, + error, + readonly, + page, + hasRetry = true, + onNextPage, + onPrevPage, + } = props + const classes = useStylesExtends(useStyles(), props) + const { t } = useI18N() - if (collectiblesLoading) + if (loading) return ( - {Array.from({ length: 4 }) + {Array.from({ length: 6 }) .fill(0) .map((_, i) => ( @@ -90,45 +122,23 @@ export function CollectibleList(props: CollectibleListProps) { ) - const dataSource = collectibles.filter((x) => { - const key = `${formatEthereumAddress(x.address)}_${x.tokenId}` - switch (x.type) { - case EthereumTokenType.ERC721: - return wallet.erc721_token_blacklist ? !wallet.erc721_token_blacklist.has(key) : true - case EthereumTokenType.ERC1155: - return wallet.erc1155_token_blacklist ? !wallet.erc1155_token_blacklist.has(key) : true - default: - return false - } - }) - return ( - {collectiblesError || dataSource.length === 0 ? ( - + {error || collectibles.length === 0 ? ( + {t('dashboard_no_collectible_found')} - + {hasRetry ? ( + + ) : null} ) : ( - {dataSource.map((x) => ( + {collectibles.map((x) => (
- +
{x.asset?.name ?? x.name} @@ -139,7 +149,7 @@ export function CollectibleList(props: CollectibleListProps) { )} - {!(page === 0 && dataSource.length === 0) ? ( + {!(page === 0 && collectibles.length === 0) ? ( null} backIconButtonProps={{ - onClick: () => setPage((prev) => prev - 1), + onClick: () => onPrevPage(), size: 'small', disabled: page === 0, }} nextIconButtonProps={{ - onClick: () => setPage((prev) => prev + 1), + onClick: () => onNextPage(), disabled: !hasNextPage, size: 'small', }} @@ -163,3 +173,96 @@ export function CollectibleList(props: CollectibleListProps) { ) } + +export interface CollectibleListAddressProps extends withClasses<'empty' | 'button'> { + address: string +} + +export function CollectibleListAddress(props: CollectibleListAddressProps) { + const { address } = props + const provider = useValueRef(currentCollectibleDataProviderSettings) + const chainId = ChainId.Mainnet + const [page, setPage] = useState(0) + const classes = props.classes ?? {} + + const { + value = { collectibles: [], hasNextPage: false }, + loading: collectiblesLoading, + retry: collectiblesRetry, + error: collectiblesError, + } = useCollectibles(address, chainId, provider, page, 50) + const { collectibles = [], hasNextPage } = value + + useUpdateEffect(() => { + setPage(0) + }, [provider, address]) + + return ( + setPage((prev) => prev - 1)} + onNextPage={() => setPage((next) => next + 1)} + /> + ) +} + +export interface CollectibleListProps { + wallet: Wallet + readonly?: boolean +} + +export function CollectibleList({ wallet, readonly }: CollectibleListProps) { + const account = useAccount() + const chainId = useChainId() + const [page, setPage] = useState(0) + const provider = useValueRef(currentCollectibleDataProviderSettings) + const { + value = { collectibles: [], hasNextPage: false }, + loading: collectiblesLoading, + retry: collectiblesRetry, + error: collectiblesError, + } = useCollectibles(account, chainId, provider, page, 50) + + const { collectibles = [], hasNextPage } = value + + useUpdateEffect(() => { + setPage(0) + }, [account, provider]) + + const dataSource = collectibles.filter((x) => { + const key = `${formatEthereumAddress(x.address)}_${x.tokenId}` + switch (x.type) { + case EthereumTokenType.ERC721: + return wallet.erc721_token_blacklist ? !wallet.erc721_token_blacklist.has(key) : true + case EthereumTokenType.ERC1155: + return wallet.erc1155_token_blacklist ? !wallet.erc1155_token_blacklist.has(key) : true + default: + return false + } + }) + + return ( + setPage((prev) => prev - 1)} + onNextPage={() => setPage((prev) => prev + 1)} + /> + ) +} diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx new file mode 100644 index 000000000000..bfb892652249 --- /dev/null +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx @@ -0,0 +1,82 @@ +import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit' +import { getMaskColor, makeStyles } from '@masknet/theme' +import { useState } from 'react' +import { EnhancedProfileaPage } from '../../../components/InjectedComponents/EnhancedProfile' +import { createReactRootShadowed, startWatch } from '../../../utils' +import { + searchNewTweetButtonSelector, + searchProfileEmptySelector, + searchProfileTabPageSelector, +} from '../utils/selector' +import { getBioDescription, getNickname, getTwitterId } from '../utils/user' + +function injectEnhancedProfilePageForEmptyState(signal: AbortSignal) { + const watcher = new MutationObserverWatcher(searchProfileEmptySelector()) + startWatch(watcher, signal) + createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render() +} + +function injectEnhancedProfilePageState(signal: AbortSignal) { + const watcher = new MutationObserverWatcher(searchProfileTabPageSelector()) + startWatch(watcher, signal) + createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render() +} +export function injectEnhancedProfileAtTwitter(signal: AbortSignal) { + injectEnhancedProfilePageForEmptyState(signal) + injectEnhancedProfilePageState(signal) +} + +const EMPTY_STYLE = {} as CSSStyleDeclaration +interface StyleProps { + backgroundColor: string + fontFamily: string +} + +const useStyles = makeStyles()((theme, props) => ({ + text: { + paddingTop: 29, + paddingBottom: 29, + '& > p': { + fontSize: 28, + fontFamily: props.fontFamily, + fontWeight: 700, + color: getMaskColor(theme).textPrimary, + }, + }, + button: { + backgroundColor: props.backgroundColor, + color: 'white', + marginTop: 18, + '&:hover': { + backgroundColor: props.backgroundColor, + }, + }, +})) + +export function EnhancedProfileaPageAtTwitter() { + const newTweetButton = searchNewTweetButtonSelector().evaluate() + const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE + const fontStyle = newTweetButton?.firstChild + ? window.getComputedStyle(newTweetButton.firstChild as HTMLElement) + : EMPTY_STYLE + const { classes } = useStyles({ backgroundColor: style.backgroundColor, fontFamily: fontStyle.fontFamily }) + + const [bio, setBio] = useState(getBioDescription()) + const [nickname, setNickname] = useState(getNickname()) + const [twitterId, setTwitterId] = useState(getTwitterId()) + + const onUpdated = () => { + setBio(getBioDescription()) + setNickname(getNickname()) + setTwitterId(getTwitterId()) + } + return ( + + ) +} diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx new file mode 100644 index 000000000000..e0dc122775f3 --- /dev/null +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx @@ -0,0 +1,133 @@ +import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit' +import { EnhancedProfileTab } from '../../../components/InjectedComponents/EnhancedProfileTab' +import { createReactRootShadowed, startWatch } from '../../../utils' +import { + searchForegroundColorSelector, + searchNewTweetButtonSelector, + searchProfileEmptySelector, + searchProfileTabListLastChildSelector, + searchProfileTabListSelector, + searchProfileTabPageSelector, + searchProfileTabSelector, +} from '../utils/selector' +import Color from 'color' +import { makeStyles } from '@masknet/theme' + +export function injectEnhancedProfileTabAtTwitter(signal: AbortSignal) { + const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector()) + startWatch(watcher, signal) + createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render() +} + +interface StyleProps { + color: string + font: string + fontSize: string + padding: string + height: string + hover: string + line: string +} + +const useStyles = makeStyles()((theme, props) => ({ + tab: { + '&:hover': { + backgroundColor: new Color(props.hover).alpha(0.1).toString(), + cursor: 'pointer', + }, + height: props.height, + }, + button: { + display: 'flex', + minWidth: 56, + justifyContent: 'center', + alignItems: 'center', + textAlign: 'center', + padding: props.padding, + fontWeight: 700, + color: props.color, + font: props.font, + fontSize: props.fontSize, + '&:hover': { + color: props.hover, + }, + }, + selected: { + color: props.hover, + }, + line: { + dispaly: 'inline-flex', + borderRadius: 9999, + position: 'absolute', + bottom: 0, + minWidth: 56, + alignSelf: 'center', + height: 4, + backgroundColor: props.line, + }, +})) + +const EMPTY_STYLE = {} as CSSStyleDeclaration + +function clear() { + const eleTab = searchProfileTabSelector().evaluate()?.querySelector('div') as Element + if (!eleTab) return + const style = window.getComputedStyle(eleTab) + const tabList = searchProfileTabListSelector().evaluate() + tabList.map((v) => { + const _v = v.querySelector('div') as HTMLDivElement + _v.style.color = style.color + const line = v.querySelector('div > div') as HTMLDivElement + line.style.display = 'none' + }) + + const eleEmpty = searchProfileEmptySelector().evaluate() + if (eleEmpty) eleEmpty.style.display = 'none' + const elePage = searchProfileTabPageSelector().evaluate() + if (elePage) elePage.style.display = 'none' +} + +function reset() { + const eleTab = searchProfileTabSelector().evaluate()?.querySelector('div') as Element + if (!eleTab) return + + const eleEmpty = searchProfileEmptySelector().evaluate() + if (eleEmpty) eleEmpty.style.display = '' + const elePage = searchProfileTabPageSelector().evaluate() + if (elePage) elePage.style.display = '' + + const tabList = searchProfileTabListSelector().evaluate() + tabList.map((v) => { + const _v = v.querySelector('div') as HTMLDivElement + _v.style.color = '' + const line = v.querySelector('div > div') as HTMLDivElement + line.style.display = '' + }) +} + +function getStyle() { + const eleTab = searchProfileTabSelector().evaluate()?.querySelector('div') as Element + const style = eleTab ? window.getComputedStyle(eleTab) : EMPTY_STYLE + const eleNewTweetButton = searchNewTweetButtonSelector().evaluate() + const newTweetButtonColorStyle = eleNewTweetButton ? window.getComputedStyle(eleNewTweetButton) : EMPTY_STYLE + const eleBackButton = searchForegroundColorSelector().evaluate() + const backButtonColorStyle = eleBackButton ? window.getComputedStyle(eleBackButton) : EMPTY_STYLE + + return { + color: style.color, + font: style.font, + fontSize: style.fontSize, + padding: style.paddingBottom, + height: style.height, + hover: backButtonColorStyle.color, + line: newTweetButtonColorStyle.backgroundColor, + } as StyleProps +} + +export function EnhancedProfileTabAtTwitter() { + const style = getStyle() + const { classes } = useStyles(style) + return ( + } /> + ) +} diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts new file mode 100644 index 000000000000..05bd97328c9d --- /dev/null +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts @@ -0,0 +1,41 @@ +import { useResolveEns } from '@masknet/web3-shared' +import { useEffect, useMemo, useState } from 'react' + +const ENS_RE = /\w+\.eth/ +const ENS_RE_FULL = /^\w+\.eth$/ +const ADDRESS = /0x[\dA-Fa-f]{40}/ + +export function useEthereumName(nickname: string, twitterId: string, bio: string) { + const [ethereumName, setEthereumName] = useState('') + + useEffect(() => { + setEthereumName('') + const matched = bio.match(ENS_RE) + if (matched) { + setEthereumName(matched[0]) + } + }, [bio]) + const name = useMemo(() => { + if (ENS_RE_FULL.test(nickname)) { + return nickname + } + if (ethereumName) return ethereumName + return twitterId ? `${twitterId}.eth` : '' + }, [ethereumName, nickname, twitterId]) + + return name +} + +export function useEthereumAddress(nickanme: string, twitterId: string, bio: string) { + const [addr, setAddr] = useState() + const name = useEthereumName(nickanme, twitterId, bio) + const ens_addr = useResolveEns(name).value + + useEffect(() => { + setAddr('') + const matched = bio.match(ADDRESS) + if (matched) setAddr(matched[0]) + }, [bio]) + + return ens_addr ?? addr +} diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/ui-provider.ts b/packages/maskbook/src/social-network-adaptor/twitter.com/ui-provider.ts index 29e70f34f217..ef6c1dbd4dc4 100644 --- a/packages/maskbook/src/social-network-adaptor/twitter.com/ui-provider.ts +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/ui-provider.ts @@ -29,6 +29,8 @@ import { currentSelectedIdentity } from '../../settings/settings' import { injectPostInspectorAtTwitter } from './injection/PostInspector' import { ProfileIdentifier } from '../../database/type' import { unreachable } from '@dimensiondev/kit' +import { injectEnhancedProfileTabAtTwitter } from './injection/EnhancedProfileTab' +import { injectEnhancedProfileAtTwitter } from './injection/EnhancedProfile' const twitterUI: SocialNetworkUI.Definition = { ...twitterBase, @@ -77,6 +79,8 @@ const twitterUI: SocialNetworkUI.Definition = { pageInspector: injectPageInspectorDefault(), postInspector: injectPostInspectorAtTwitter, setupPrompt: injectSetupPromptAtTwitter, + enhancedProfile: injectEnhancedProfileAtTwitter, + enhancedProfileTab: injectEnhancedProfileTabAtTwitter, newPostComposition: { start: injectPostBoxComposed, supportedInputTypes: { diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/utils/selector.ts b/packages/maskbook/src/social-network-adaptor/twitter.com/utils/selector.ts index 17e03bfc2dee..751fdf4bbb19 100644 --- a/packages/maskbook/src/social-network-adaptor/twitter.com/utils/selector.ts +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/utils/selector.ts @@ -15,6 +15,42 @@ const querySelectorAll = (selector: string) => { return new LiveSelector().querySelectorAll(selector) } +//#region "Enhanced Profile" +export const searchProfileSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"]') +export const searchProfileTabListLastChildSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"] [role="tablist"][data-testid="ScrollSnap-List"] > :last-child') +export const searchProfileTabPageSelector: () => LiveSelector = () => + querySelector('[data-testid="primaryColumn"] [role="region"] [aria-label]') +export const searchProfileEmptySelector: () => LiveSelector = () => + querySelector('[data-testid="primaryColumn"] [data-testid="emptyState"]') +export const searchProfileActiveTabSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"]') +export const searchProfileTabSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="false"]') +export const searchProfileActiveTabStatusLineSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"] > div > div') +export const searchProfileActiveTabLabelSelector: () => LiveSelector = () => + querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"] > div') +export const searchProfileTabListSelector = () => + querySelectorAll('[aria-label][role="navigation"] [role="tablist"][data-testid="ScrollSnap-List"] a') +export const searchForegroundColorSelector: () => LiveSelector = () => + querySelector('[data-testid="primaryColumn"] > div > div > div > div > div > div > div > div > div > div') +export const searchNewTweetButtonSelector: () => LiveSelector = () => + querySelector('[data-testid="SideNav_NewTweet_Button"]') +export const searchNickNameSelector: () => LiveSelector = () => + querySelector('[data-testid="UserProfileHeader_Items"]') +export const bioCardSelector = (singleMode = true) => + querySelector( + [ + '.profile', // legacy twitter + 'a[href*="header_photo"] ~ div', // new twitter + 'div[data-testid="primaryColumn"] > div > div:last-child > div > div > div > div ~ div', // new twitter without header photo + ].join(), + singleMode, + ) +//#endregion + export const rootSelector: () => LiveSelector = () => querySelector('#react-root') export const composeAnchorSelector: () => LiveSelector = () => @@ -51,6 +87,8 @@ export const postEditorToolbarSelector: () => LiveSelector = () => export const newPostButtonSelector = () => querySelector('[data-testid="SideNav_NewTweet_Button"]') +export const bioDescriptionSelector = () => querySelector('[data-testid="UserDescription"]') + export const bioPageUserNickNameSelector = () => querySelector('[data-testid="UserDescription"]') .map((x) => x.parentElement?.parentElement?.previousElementSibling) diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/utils/user.ts b/packages/maskbook/src/social-network-adaptor/twitter.com/utils/user.ts index ea664a237dee..afa74e3f37cb 100644 --- a/packages/maskbook/src/social-network-adaptor/twitter.com/utils/user.ts +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/utils/user.ts @@ -1,5 +1,6 @@ -import type { SocialNetwork } from '../../../social-network' import { isNull } from 'lodash-es' +import type { SocialNetwork } from '../../../social-network' +import { bioDescriptionSelector, searchNickNameSelector } from './selector' /** * @link https://help.twitter.com/en/managing-your-account/twitter-username-rules @@ -13,3 +14,29 @@ export const usernameValidator: NonNullable { + const node = searchNickNameSelector().evaluate()?.parentElement?.parentElement?.firstChild + ?.nextSibling as HTMLDivElement + if (!node) return '' + + const nicknameNode = node.querySelector('div span span') + if (!nicknameNode) return '' + + return nicknameNode.innerHTML.trim() +} + +export const getTwitterId = () => { + const node = searchNickNameSelector().evaluate()?.parentElement?.parentElement?.firstChild?.nextSibling?.firstChild + ?.firstChild?.lastChild as HTMLDivElement + if (!node) return '' + + const twitterIdNode = node.querySelector('div span') + if (!twitterIdNode) return '' + return twitterIdNode.innerHTML.trim().replace('@', '') +} + +export const getBioDescription = () => { + const node = bioDescriptionSelector().evaluate() + return node?.innerText ?? '' +} diff --git a/packages/maskbook/src/social-network/types.ts b/packages/maskbook/src/social-network/types.ts index 74cd6a4338ac..6cd1687cdc98 100644 --- a/packages/maskbook/src/social-network/types.ts +++ b/packages/maskbook/src/social-network/types.ts @@ -123,6 +123,9 @@ export namespace SocialNetworkUI { /** Inject UI to the search result */ searchResult?(signal: AbortSignal): void setupWizard?(signal: AbortSignal, for_: PersonaIdentifier): void + /** Inject UI to the Profile page */ + enhancedProfileTab?(signal: AbortSignal): void + enhancedProfile?(signal: AbortSignal): void } export interface NewPostComposition { start(signal: AbortSignal): void diff --git a/packages/maskbook/src/social-network/ui.ts b/packages/maskbook/src/social-network/ui.ts index 3ecf5ddb44c4..984773209f74 100644 --- a/packages/maskbook/src/social-network/ui.ts +++ b/packages/maskbook/src/social-network/ui.ts @@ -81,6 +81,9 @@ export async function activateSocialNetworkUIInner(ui_deferred: SocialNetworkUI. setTimeout(activateSNSAdaptorPluginOnStart, 1000) + ui.injection.enhancedProfile?.(signal) + ui.injection.enhancedProfileTab?.(signal) + startPluginSNSAdaptor(getCurrentSNSNetwork(ui.networkIdentifier), createPluginHost(signal)) function i18nOverwrite() { diff --git a/packages/maskbook/src/utils/hooks/useLocationChange.ts b/packages/maskbook/src/utils/hooks/useLocationChange.ts new file mode 100644 index 000000000000..20da711e0fc8 --- /dev/null +++ b/packages/maskbook/src/utils/hooks/useLocationChange.ts @@ -0,0 +1,8 @@ +import { useEffect } from 'react' + +export const useLocationChange = (handler: () => void) => { + useEffect(() => { + window.addEventListener('locationchange', handler) + return () => window.removeEventListener('locationchange', handler) + }, [handler]) +} diff --git a/packages/maskbook/src/utils/messages.ts b/packages/maskbook/src/utils/messages.ts index 10e63e4d0321..906808d6f8e3 100644 --- a/packages/maskbook/src/utils/messages.ts +++ b/packages/maskbook/src/utils/messages.ts @@ -32,6 +32,10 @@ export interface SettingsUpdateEvent { initial: boolean } +export interface ProfileNFTsPageEvent { + show: boolean +} + export interface MaskMessages extends SettingsEvents { // TODO: Maybe in-page UI related messages should use Context instead of messages? autoPasteFailed: { text: string; image?: Blob } @@ -67,6 +71,9 @@ export interface MaskMessages extends SettingsEvents { activatePluginCompositionEntry: string pluginEnabled: string pluginDisabled: string + + profileNFTsPageUpdated: ProfileNFTsPageEvent + profileNFTsTabUpdated: 'reset' signRequestApproved: { requestID: string selectedPersona: PersonaIdentifier diff --git a/packages/theme/package.json b/packages/theme/package.json index 100929db7bb1..a516b82f9a7e 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -21,7 +21,7 @@ "notistack": "1.0.6-next.1", "react-window": "^1.8.6", "tinycolor2": "^1.4.2", - "tss-react": "^0.6.0-beta.1", + "tss-react": "^0.6.0", "use-subscription": "^1.5.1" }, "devDependencies": { diff --git a/packages/web3-shared/src/hooks/index.ts b/packages/web3-shared/src/hooks/index.ts index 4c482e12865f..3fddd6858a4e 100644 --- a/packages/web3-shared/src/hooks/index.ts +++ b/packages/web3-shared/src/hooks/index.ts @@ -55,3 +55,4 @@ export * from './useTransactions' export * from './useMnemonicWordsPuzzle' export * from './useGetPastLogsParams' export * from './useChainColor' +export * from './useResolveEns' diff --git a/packages/web3-shared/src/hooks/useCollectibles.ts b/packages/web3-shared/src/hooks/useCollectibles.ts index 832f13746f3c..360eba680a35 100644 --- a/packages/web3-shared/src/hooks/useCollectibles.ts +++ b/packages/web3-shared/src/hooks/useCollectibles.ts @@ -1,5 +1,4 @@ -import type { CollectibleProvider, ERC1155TokenAssetDetailed, ERC721TokenAssetDetailed } from '../types' -import { useChainId } from './useChainId' +import type { ChainId, CollectibleProvider, ERC1155TokenAssetDetailed, ERC721TokenAssetDetailed } from '../types' import { useAsyncRetry } from 'react-use' import { useWeb3Context } from '../context' import { uniqWith } from 'lodash-es' @@ -8,6 +7,7 @@ import type { AsyncStateRetry } from 'react-use/lib/useAsyncRetry' export function useCollectibles( address: string, + chainId: ChainId, provider: CollectibleProvider, page: number, size: number, @@ -15,7 +15,6 @@ export function useCollectibles( collectibles: (ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed)[] hasNextPage: boolean }> { - const chainId = useChainId() const { getAssetsListNFT, getERC721TokensPaged } = useWeb3Context() return useAsyncRetry(async () => { if (!address) { diff --git a/packages/web3-shared/src/hooks/useResolveEns.ts b/packages/web3-shared/src/hooks/useResolveEns.ts new file mode 100644 index 000000000000..656eed4c10ed --- /dev/null +++ b/packages/web3-shared/src/hooks/useResolveEns.ts @@ -0,0 +1,13 @@ +import { useAsyncRetry } from 'react-use' +import { useChainId } from '.' +import { useWeb3 } from './useWeb3' + +export function useResolveEns(name: string) { + const web3 = useWeb3() + const chainId = useChainId() + + return useAsyncRetry(async () => { + const result = await web3.eth.ens.getAddress(name) + return result + }, [web3, name, chainId]) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43ea0297dd5e..1bb204e467bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -160,24 +160,24 @@ importers: history: 5.0.0 json-stable-stringify: 1.0.1 lodash-es: 4.17.21 - react-hook-form: 7.12.0 - react-router: 6.0.0-beta.0_history@5.0.0 - react-router-dom: 6.0.0-beta.0_history@5.0.0 - react-use: 17.2.4 + react-hook-form: 7.12.0_react@18.0.0-alpha-aecb3b6d1 + react-router: 6.0.0-beta.0_dd3df4049b9a65e1e2d003c7940c4871 + react-router-dom: 6.0.0-beta.0_66263521e705c985f663eeac15167a50 + react-use: 17.2.4_f991c289939c8299bed5e4a6a5a79a62 unstated-next: 1.1.0 - use-subscription: 1.5.1 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 wallet.ts: 1.0.1 zod: 3.5.1 devDependencies: '@babel/core': 7.14.8 '@snowpack/plugin-dotenv': 2.1.0 - '@snowpack/plugin-react-refresh': 2.5.0 - '@storybook/addon-actions': 6.3.6 - '@storybook/addon-essentials': 6.3.6_ef694ff708e1d777fd5b8e3d842d6f54 - '@storybook/addon-links': 6.3.6 - '@storybook/addons': 6.3.6 - '@storybook/react': 6.3.6_@babel+core@7.14.8 - '@storybook/theming': 6.3.6 + '@snowpack/plugin-react-refresh': 2.5.0_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/addon-actions': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-essentials': 6.3.6_58aa967dd73fede9a857a96953c9f04f + '@storybook/addon-links': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/react': 6.3.6_38609c1c18205f3a27fedf3e556e40f5 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/snowpack-env': 2.3.4 babel-loader: 8.2.2_@babel+core@7.14.8 snowpack: 3.8.3 @@ -282,6 +282,7 @@ importers: chrome-launcher: ^0.14.0 classnames: ^2.3.1 clipboard-polyfill: ^3.0.3 + color: ^4.0.0 copy-webpack-plugin: ^9.0.1 crypto-browserify: ^3.12.0 d3: ^5.16.0 @@ -428,6 +429,7 @@ importers: buffer: 6.0.3 classnames: 2.3.1 clipboard-polyfill: 3.0.3 + color: 4.0.1 crypto-browserify: 3.12.0 d3: 5.16.0 date-fns: 2.23.0 @@ -454,14 +456,14 @@ importers: pvtsutils: 1.1.7 qrcode: 1.4.4 react-draggable: 4.4.3 - react-feather: 2.0.9 - react-highlight-words: 0.17.0 - react-middle-ellipsis: 1.2.1 - react-router: 5.2.0 - react-router-dom: 5.2.0 - react-use: 17.2.4 - react-virtualized-auto-sizer: 1.0.5 - react-window: 1.8.6 + react-feather: 2.0.9_react@18.0.0-alpha-aecb3b6d1 + react-highlight-words: 0.17.0_react@18.0.0-alpha-aecb3b6d1 + react-middle-ellipsis: 1.2.1_f991c289939c8299bed5e4a6a5a79a62 + react-router: 5.2.0_react@18.0.0-alpha-aecb3b6d1 + react-router-dom: 5.2.0_react@18.0.0-alpha-aecb3b6d1 + react-use: 17.2.4_f991c289939c8299bed5e4a6a5a79a62 + react-virtualized-auto-sizer: 1.0.5_f991c289939c8299bed5e4a6a5a79a62 + react-window: 1.8.6_f991c289939c8299bed5e4a6a5a79a62 remarkable: 2.0.1 scrypt-js: 3.0.1 socket.io-client: 2.4.0 @@ -471,7 +473,7 @@ importers: ts-results: 3.3.0 unstated-next: 1.1.0 urlcat: 2.0.4 - use-subscription: 1.5.1 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 uuid: 8.3.2 wallet.ts: 1.0.1 web-ext-types: 3.2.1 @@ -486,11 +488,11 @@ importers: webextension-polyfill: 0.8.0 z-schema: 5.0.1 devDependencies: - '@dimensiondev/webextension-shim': 0.0.3-20210708053012-57a254d + '@dimensiondev/webextension-shim': 0.0.3-20210708053012-57a254d_typescript@4.3.5 '@pmmmwh/react-refresh-webpack-plugin': 0.5.0-rc.2_0cb17a392999b7da0b5f4263f37b1695 '@sinonjs/text-encoding': 0.7.1 '@swc/core': 1.2.66 - '@testing-library/react-hooks': 7.0.1_react-test-renderer@17.0.2 + '@testing-library/react-hooks': 7.0.1_1959de3a9153879cff3acd96b46ed70f '@types/enzyme': 3.10.9 '@types/enzyme-adapter-react-16': 1.0.6 '@types/expect-puppeteer': 4.4.6 @@ -501,19 +503,19 @@ importers: '@types/rimraf': 3.0.1 '@types/socket.io-client': 1.4.36 '@types/webpack-dev-server': 3.11.5 - '@typescript-eslint/eslint-plugin': 4.28.5_@typescript-eslint+parser@4.28.5 - '@typescript-eslint/parser': 4.28.5 + '@typescript-eslint/eslint-plugin': 4.28.5_514553717ff968e20f6d1c6e521f8616 + '@typescript-eslint/parser': 4.28.5_eslint@7.31.0+typescript@4.3.5 babel-loader: 8.2.2_webpack@5.46.0 chrome-launcher: 0.14.0 copy-webpack-plugin: 9.0.1_webpack@5.46.0 dotenv: 10.0.0 enzyme: 3.11.0 - enzyme-adapter-react-16: 1.15.6_enzyme@3.11.0 + enzyme-adapter-react-16: 1.15.6_f15f970d9b179e8975516dda0497bdea expect-puppeteer: 5.0.4 fake-indexeddb: 3.1.3 file-loader: 6.2.0_webpack@5.46.0 html-webpack-plugin: 5.3.2_webpack@5.46.0 - jest: 27.0.6 + jest: 27.0.6_ts-node@10.1.0 jest-environment-jsdom-fourteen: 1.0.1 jest-esm-transformer: 1.0.0 jest-junit: 12.2.0 @@ -522,12 +524,12 @@ importers: openzeppelin-solidity: 3.4.1 react-devtools-core: 4.14.0 react-refresh: 0.10.0 - react-test-renderer: 17.0.2 + react-test-renderer: 17.0.2_react@18.0.0-alpha-aecb3b6d1 rimraf: 3.0.2 source-map-loader: 3.0.0_webpack@5.46.0 swc-loader: 0.1.14_webpack@5.46.0 - ts-jest: 27.0.4_@types+jest@26.0.24+jest@27.0.6 - type-coverage: 2.18.0 + ts-jest: 27.0.4_52cc4273aa16028085013af47e479e10 + type-coverage: 2.18.0_typescript@4.3.5 webpack: 5.46.0_webpack-cli@4.7.2 webpack-cli: 4.7.2_d46d1c9a5e33a01c3500802a2e542ae0 webpack-dev-server: 3.11.2_webpack-cli@4.7.2+webpack@5.46.0 @@ -555,7 +557,7 @@ importers: '@types/use-subscription': 1.0.0 async-call-rpc: 5.1.0 ts-results: 3.3.0 - use-subscription: 1.5.1 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 packages/plugins/Wallet: specifiers: @@ -586,7 +588,7 @@ importers: ts-node: ^10.1.0 yargs: ^17.0.1 dependencies: - gulp-zip: 5.1.0 + gulp-zip: 5.1.0_gulp@4.0.2 lodash: 4.17.21 proper-lockfile: 4.1.2 yargs: 17.0.1 @@ -595,7 +597,7 @@ importers: '@types/inquirer': 7.3.3 '@types/lodash': 4.14.171 '@types/proper-lockfile': 4.1.2 - ts-node: 10.1.0 + ts-node: 10.1.0_typescript@4.3.5 packages/shared: specifiers: @@ -623,8 +625,8 @@ importers: classnames: 2.3.1 lodash-es: 4.17.21 qrcode: 1.4.4 - react-use: 17.2.4 - use-subscription: 1.5.1 + react-use: 17.2.4_f991c289939c8299bed5e4a6a5a79a62 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 uuid: 8.3.2 packages/shared-base: @@ -664,8 +666,8 @@ importers: '@storybook/addons': ^6.3.5 '@storybook/react': ^6.3.5 devDependencies: - '@storybook/addons': 6.3.6 - '@storybook/react': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/react': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 packages/theme: specifiers: @@ -687,30 +689,30 @@ importers: react-window: ^1.8.6 storybook-addon-matrix: ^1.6.0 tinycolor2: ^1.4.2 - tss-react: ^0.6.0-beta.1 + tss-react: ^0.6.0 use-subscription: ^1.5.1 dependencies: '@masknet/storybook-shared': link:../storybook-shared classnames: 2.3.1 fuse.js: 6.4.6 lodash-es: 4.17.21 - notistack: 1.0.6-next.1 - react-window: 1.8.6 + notistack: 1.0.6-next.1_132ff92e0fd7328580f6380de259b809 + react-window: 1.8.6_f991c289939c8299bed5e4a6a5a79a62 tinycolor2: 1.4.2 - tss-react: 0.6.0 - use-subscription: 1.5.1 + tss-react: 0.6.0_bef0d66e98e8cc6f9687bc5bf9034690 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 devDependencies: '@babel/core': 7.14.8 - '@storybook/addon-actions': 6.3.6 - '@storybook/addon-essentials': 6.3.6_ef694ff708e1d777fd5b8e3d842d6f54 - '@storybook/addon-links': 6.3.6 - '@storybook/addons': 6.3.6 - '@storybook/react': 6.3.6_@babel+core@7.14.8 - '@storybook/theming': 6.3.6 + '@storybook/addon-actions': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-essentials': 6.3.6_58aa967dd73fede9a857a96953c9f04f + '@storybook/addon-links': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/react': 6.3.6_38609c1c18205f3a27fedf3e556e40f5 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/qrcode': 1.4.1 '@types/tinycolor2': 1.4.3 babel-loader: 8.2.2_@babel+core@7.14.8 - storybook-addon-matrix: 1.6.0 + storybook-addon-matrix: 1.6.0_react-dom@18.0.0-alpha-aecb3b6d1 packages/web3-constants: specifiers: {} @@ -725,7 +727,7 @@ importers: web3-eth-contract: ^1.3.4 dependencies: '@typechain/web3-v1': 3.0.0_typechain@5.1.2 - typechain: 5.1.2 + typechain: 5.1.2_typescript@4.3.5 devDependencies: bn.js: 4.12.0 promievent: 0.1.5 @@ -758,10 +760,10 @@ importers: ethereum-blockies: 0.1.1 fuse.js: 6.4.6 lodash-es: 4.17.21 - react-use: 17.2.4 + react-use: 17.2.4_f991c289939c8299bed5e4a6a5a79a62 unstated-next: 1.1.0 urlcat: 2.0.4 - use-subscription: 1.5.1 + use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1 wallet.ts: 1.0.1 web3: 1.4.0 web3-core: 1.4.0 @@ -3499,7 +3501,7 @@ packages: meow: 7.1.1 dev: false - /@dimensiondev/webextension-shim/0.0.3-20210708053012-57a254d: + /@dimensiondev/webextension-shim/0.0.3-20210708053012-57a254d_typescript@4.3.5: resolution: {integrity: sha512-0O0Nc3j2Vxo9Gfvgeq8pWuMHKMSU3tDjRnzE0U5oWvYoY+ZO61NniKp4xf/C+J6Py6lhQFutjd2tqlporqRwlw==, tarball: download/@dimensiondev/webextension-shim/0.0.3-20210708053012-57a254d/a2ee1bed40822a7f6b9c60ce4296930c9bab00828e82637aa56060498a135ac7} hasBin: true peerDependencies: @@ -3508,6 +3510,7 @@ packages: async-call-rpc: 4.2.1 buffer: 6.0.3 systemjs: 6.3.2 + typescript: 4.3.5 web-ext-types: 3.2.1 dev: true @@ -3568,7 +3571,7 @@ packages: react: 16.13.1 dev: true - /@emotion/core/10.1.1: + /@emotion/core/10.1.1_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==} peerDependencies: react: '>=16.3.0' @@ -3579,6 +3582,7 @@ packages: '@emotion/serialize': 0.11.16 '@emotion/sheet': 0.9.4 '@emotion/utils': 0.11.3 + react: 18.0.0-alpha-aecb3b6d1 dev: true /@emotion/css/10.0.27: @@ -3681,17 +3685,18 @@ packages: resolution: {integrity: sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==} dev: false - /@emotion/styled-base/10.0.31_@emotion+core@10.1.1: + /@emotion/styled-base/10.0.31_0969515b2e564c6f8da5ffe0dd24efb6: resolution: {integrity: sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==} peerDependencies: '@emotion/core': ^10.0.28 react: '>=16.3.0' dependencies: '@babel/runtime': 7.14.8 - '@emotion/core': 10.1.1 + '@emotion/core': 10.1.1_react@18.0.0-alpha-aecb3b6d1 '@emotion/is-prop-valid': 0.8.8 '@emotion/serialize': 0.11.16 '@emotion/utils': 0.11.3 + react: 18.0.0-alpha-aecb3b6d1 dev: true /@emotion/styled-base/10.0.31_c989b1aa057905c7a8b69bf973f55a19: @@ -3708,15 +3713,16 @@ packages: react: 16.13.1 dev: true - /@emotion/styled/10.0.27_@emotion+core@10.1.1: + /@emotion/styled/10.0.27_0969515b2e564c6f8da5ffe0dd24efb6: resolution: {integrity: sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==} peerDependencies: '@emotion/core': ^10.0.27 react: '>=16.3.0' dependencies: - '@emotion/core': 10.1.1 - '@emotion/styled-base': 10.0.31_@emotion+core@10.1.1 + '@emotion/core': 10.1.1_react@18.0.0-alpha-aecb3b6d1 + '@emotion/styled-base': 10.0.31_0969515b2e564c6f8da5ffe0dd24efb6 babel-plugin-emotion: 10.2.2 + react: 18.0.0-alpha-aecb3b6d1 dev: true /@emotion/styled/10.0.27_c989b1aa057905c7a8b69bf973f55a19: @@ -4205,7 +4211,7 @@ packages: peerDependencies: react-hook-form: ^7.0.0 dependencies: - react-hook-form: 7.12.0 + react-hook-form: 7.12.0_react@18.0.0-alpha-aecb3b6d1 dev: false /@humanwhocodes/config-array/0.5.0: @@ -4260,7 +4266,7 @@ packages: slash: 3.0.0 dev: true - /@jest/core/27.0.6: + /@jest/core/27.0.6_ts-node@10.1.0: resolution: {integrity: sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -4281,7 +4287,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.6 jest-changed-files: 27.0.6 - jest-config: 27.0.6 + jest-config: 27.0.6_ts-node@10.1.0 jest-haste-map: 27.0.6 jest-message-util: 27.0.6 jest-regex-util: 27.0.6 @@ -4834,11 +4840,11 @@ packages: react-is: 17.0.2 dev: false - /@mdx-js/loader/1.6.22: + /@mdx-js/loader/1.6.22_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==} dependencies: '@mdx-js/mdx': 1.6.22 - '@mdx-js/react': 1.6.22 + '@mdx-js/react': 1.6.22_react@18.0.0-alpha-aecb3b6d1 loader-utils: 2.0.0 transitivePeerDependencies: - react @@ -4871,10 +4877,12 @@ packages: - supports-color dev: true - /@mdx-js/react/1.6.22: + /@mdx-js/react/1.6.22_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} peerDependencies: react: ^16.13.1 || ^17.0.0 + dependencies: + react: 18.0.0-alpha-aecb3b6d1 dev: true /@mdx-js/util/1.6.22: @@ -5223,28 +5231,31 @@ packages: /@popperjs/core/2.9.2: resolution: {integrity: sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==} - /@reach/router/1.3.4: + /@reach/router/1.3.4_b0d14957e13ee1f402de6c14cc0c4091: resolution: {integrity: sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==} peerDependencies: react: 15.x || 16.x || 16.4.0-alpha.0911da3 react-dom: 15.x || 16.x || 16.4.0-alpha.0911da3 dependencies: - create-react-context: 0.3.0_prop-types@15.7.2 + create-react-context: 0.3.0_prop-types@15.7.2+react@16.13.1 invariant: 2.2.4 prop-types: 15.7.2 + react: 16.13.1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-lifecycles-compat: 3.0.4 dev: true - /@reach/router/1.3.4_react@16.13.1: + /@reach/router/1.3.4_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==} peerDependencies: react: 15.x || 16.x || 16.4.0-alpha.0911da3 react-dom: 15.x || 16.x || 16.4.0-alpha.0911da3 dependencies: - create-react-context: 0.3.0_prop-types@15.7.2+react@16.13.1 + create-react-context: 0.3.0_d2630f1b5c5d613d08a8af07021f9fe5 invariant: 2.2.4 prop-types: 15.7.2 - react: 16.13.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-lifecycles-compat: 3.0.4 dev: true @@ -5382,7 +5393,7 @@ packages: dotenv-expand: 5.1.0 dev: true - /@snowpack/plugin-react-refresh/2.5.0: + /@snowpack/plugin-react-refresh/2.5.0_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-3rYkwayAA+65IIYLXMEFqQwtBGbII9IidMJo1yXuj35kTEg9TdZrofoqcHaSts2sv2Nz0TD6v7BWRPdvCU0uIw==} peerDependencies: react: '>=16.9.0' @@ -5390,12 +5401,14 @@ packages: dependencies: '@babel/core': 7.14.8 '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.8 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-refresh: 0.9.0 transitivePeerDependencies: - supports-color dev: true - /@storybook/addon-actions/6.3.6: + /@storybook/addon-actions/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-1MBqCbFiupGEDyIXqFkzF4iR8AduuB7qSNduqtsFauvIkrG5bnlbg5JC7WjnixkCaaWlufgbpasEHioXO9EXGw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5406,19 +5419,21 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/client-api': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/core-events': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 polished: 4.1.3 prop-types: 15.7.2 - react-inspector: 5.1.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-inspector: 5.1.1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 util-deprecate: 1.0.2 @@ -5427,7 +5442,7 @@ packages: - '@types/react' dev: true - /@storybook/addon-backgrounds/6.3.6: + /@storybook/addon-backgrounds/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-1lBVAem2M+ggb1UNVgB7/56LaQAor9lI8q0xtQdAzAkt9K4RbbOsLGRhyUm3QH5OiB3qHHG5WQBujWUD6Qfy4g==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5438,15 +5453,17 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/core-events': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 global: 4.4.0 memoizerific: 1.11.3 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 util-deprecate: 1.0.2 @@ -5454,7 +5471,7 @@ packages: - '@types/react' dev: true - /@storybook/addon-controls/6.3.6: + /@storybook/addon-controls/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-wTWmnZl2qEAUqgLh8a7TL5f6w37Q51lAoJNlwxFFBSKtGS7xFUnou4qTUArNy5iKu1cWoVvofJ9RnP1maGByYA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5465,19 +5482,21 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/client-api': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/node-logger': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 ts-dedent: 2.1.1 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/addon-docs/6.3.6: + /@storybook/addon-docs/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-/ZPB9u3lfc6ZUrgt9HENU1BxAHNfTbh9r2LictQ8o9gYE/BqvZutl2zqilTpVuutQtTgQ6JycVhxtpk9+TDcuA==} peerDependencies: '@storybook/angular': 6.3.6 @@ -5524,23 +5543,23 @@ packages: '@babel/plugin-transform-react-jsx': 7.14.5_@babel+core@7.14.8 '@babel/preset-env': 7.14.8_@babel+core@7.14.8 '@jest/transform': 26.6.2 - '@mdx-js/loader': 1.6.22 + '@mdx-js/loader': 1.6.22_react@18.0.0-alpha-aecb3b6d1 '@mdx-js/mdx': 1.6.22 - '@mdx-js/react': 1.6.22 - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/builder-webpack4': 6.3.6 - '@storybook/client-api': 6.3.6 + '@mdx-js/react': 1.6.22_react@18.0.0-alpha-aecb3b6d1 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/builder-webpack4': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 - '@storybook/components': 6.3.6 - '@storybook/core': 6.3.6_@babel+core@7.14.8 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/core': 6.3.6_38609c1c18205f3a27fedf3e556e40f5 '@storybook/core-events': 6.3.6 '@storybook/csf': 0.0.1 '@storybook/csf-tools': 6.3.6_@babel+core@7.14.8 '@storybook/node-logger': 6.3.6 '@storybook/postinstall': 6.3.6 - '@storybook/source-loader': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/source-loader': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 acorn: 7.4.1 acorn-jsx: 5.3.2_acorn@7.4.1 acorn-walk: 7.2.0 @@ -5556,7 +5575,9 @@ packages: p-limit: 3.1.0 prettier: 2.2.1 prop-types: 15.7.2 - react-element-to-jsx-string: 14.3.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-element-to-jsx-string: 14.3.2_f991c289939c8299bed5e4a6a5a79a62 regenerator-runtime: 0.13.9 remark-external-links: 8.0.0 remark-slug: 6.1.0 @@ -5572,7 +5593,7 @@ packages: - webpack-command dev: true - /@storybook/addon-essentials/6.3.6_ef694ff708e1d777fd5b8e3d842d6f54: + /@storybook/addon-essentials/6.3.6_58aa967dd73fede9a857a96953c9f04f: resolution: {integrity: sha512-FUrpCeINaN4L9L81FswtQFEq2xLwj3W7EyhmqsZcYSr64nscpQyjlPVjs5zhrEanOGIf+4E+mBmWafxbYufXwQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -5598,20 +5619,22 @@ packages: optional: true dependencies: '@babel/core': 7.14.8 - '@storybook/addon-actions': 6.3.6 - '@storybook/addon-backgrounds': 6.3.6 - '@storybook/addon-controls': 6.3.6 - '@storybook/addon-docs': 6.3.6 - '@storybook/addon-measure': 2.0.0_4006e2b0db6e4d306234ecd7fe59e451 - '@storybook/addon-toolbars': 6.3.6 - '@storybook/addon-viewport': 6.3.6 - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 + '@storybook/addon-actions': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-backgrounds': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-controls': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-docs': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + '@storybook/addon-measure': 2.0.0_05b958e8e4b0c4c1fe9503d4e416b217 + '@storybook/addon-toolbars': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addon-viewport': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/node-logger': 6.3.6 babel-loader: 8.2.2_@babel+core@7.14.8 core-js: 3.15.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 - storybook-addon-outline: 1.4.1 + storybook-addon-outline: 1.4.1_873b6ee332b32a0534335ea366866a4e ts-dedent: 2.1.1 transitivePeerDependencies: - '@storybook/angular' @@ -5632,7 +5655,7 @@ packages: - webpack-command dev: true - /@storybook/addon-links/6.3.6: + /@storybook/addon-links/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-PaeAJTjwtPlhrLZlaSQ1YIFA8V0C1yI0dc351lPbTiE7fJ7DwTE03K6xIF/jEdTo+xzhi2PM1Fgvi/SsSecI8w==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5643,21 +5666,23 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 '@storybook/core-events': 6.3.6 '@storybook/csf': 0.0.1 - '@storybook/router': 6.3.6 + '@storybook/router': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/qs': 6.9.7 core-js: 3.15.2 global: 4.4.0 prop-types: 15.7.2 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 dev: true - /@storybook/addon-measure/2.0.0_4006e2b0db6e4d306234ecd7fe59e451: + /@storybook/addon-measure/2.0.0_05b958e8e4b0c4c1fe9503d4e416b217: resolution: {integrity: sha512-ZhdT++cX+L9LwjhGYggvYUUVQH/MGn2rwbrAwCMzA/f2QTFvkjxzX8nDgMxIhaLCDC+gHIxfJG2wrWN0jkBr3g==} peerDependencies: '@storybook/addons': ^6.3.0 @@ -5673,12 +5698,14 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: true - /@storybook/addon-toolbars/6.3.6: + /@storybook/addon-toolbars/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-VpwkMtvT/4KNjqdO2SCkFw4koMgYN2k8hckbTGRzuUYYTHBvl9yK4q0A7RELEnkm/tsmDI1TjenV/MBifp2Aiw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5689,18 +5716,20 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/client-api': 6.3.6 - '@storybook/components': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/addon-viewport/6.3.6: + /@storybook/addon-viewport/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-Z5eztFFGd6vd+38sDurfTkIr9lY6EYWtMJzr5efedRZGg2IZLXZxQCoyjKEB29VB/IIjHEYHhHSh4SFsHT/m6g==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5711,25 +5740,27 @@ packages: react-dom: optional: true dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/core-events': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/addons/5.3.18: + /@storybook/addons/5.3.18_react-dom@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-ZQjDgTUDFRLvAiBg2d8FgPgghfQ+9uFyXQbtiGlTBLinrPCeQd7J86qiUES0fcGoohCCw0wWKtvB0WF2z1XNDg==} dependencies: - '@storybook/api': 5.3.18 + '@storybook/api': 5.3.18_react-dom@18.0.0-alpha-aecb3b6d1 '@storybook/channels': 5.3.18 '@storybook/client-logger': 5.3.18 '@storybook/core-events': 5.3.18 @@ -5741,35 +5772,37 @@ packages: - regenerator-runtime dev: true - /@storybook/addons/6.3.6: + /@storybook/addons/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-tVV0vqaEEN9Md4bgScwfrnZYkN8iKZarpkIOFheLev+PHjSp8lgWMK5SNWDlbBYqfQfzrz9xbs+F07bMjfx9jQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/api': 6.3.6 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channels': 6.3.6 '@storybook/client-logger': 6.3.6 '@storybook/core-events': 6.3.6 - '@storybook/router': 6.3.6 - '@storybook/theming': 6.3.6 + '@storybook/router': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 core-js: 3.15.2 global: 4.4.0 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 dev: true - /@storybook/api/5.3.18: + /@storybook/api/5.3.18_react-dom@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-QXaccNCARHzPWOuxYndiebGWBZmwiUvRgB9ji0XTJBS3y8K0ZPb5QyuqiKPaEWUj8dBA8rzdDtkW3Yt95Namaw==} peerDependencies: regenerator-runtime: '*' dependencies: - '@reach/router': 1.3.4_react@16.13.1 + '@reach/router': 1.3.4_b0d14957e13ee1f402de6c14cc0c4091 '@storybook/channels': 5.3.18 '@storybook/client-logger': 5.3.18 '@storybook/core-events': 5.3.18 '@storybook/csf': 0.0.1 - '@storybook/router': 5.3.18_react@16.13.1 - '@storybook/theming': 5.3.18_react@16.13.1 + '@storybook/router': 5.3.18_b0d14957e13ee1f402de6c14cc0c4091 + '@storybook/theming': 5.3.18_b0d14957e13ee1f402de6c14cc0c4091 '@types/reach__router': 1.3.9 core-js: 3.15.2 fast-deep-equal: 2.0.1 @@ -5787,20 +5820,20 @@ packages: - react-dom dev: true - /@storybook/api/6.3.6: + /@storybook/api/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-F5VuR1FrEwD51OO/EDDAZXNfF5XmJedYHJLwwCB4az2ZMrzG45TxGRmiEohrSTO6wAHGkAvjlEoX5jWOCqQ4pw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@reach/router': 1.3.4 + '@reach/router': 1.3.4_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channels': 6.3.6 '@storybook/client-logger': 6.3.6 '@storybook/core-events': 6.3.6 '@storybook/csf': 0.0.1 - '@storybook/router': 6.3.6 + '@storybook/router': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/reach__router': 1.3.9 core-js: 3.15.2 fast-deep-equal: 3.1.3 @@ -5808,6 +5841,8 @@ packages: lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 store2: 2.12.0 telejson: 5.3.3 @@ -5815,7 +5850,7 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/builder-webpack4/6.3.6: + /@storybook/builder-webpack4/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-LhTPQQowS2t6BRnyfusWZLbhjjf54/HiQyovJTTDnqrCiO6QoCMbVnp79LeO1aSkpQCKoeqOZ7TzH87fCytnZA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5846,20 +5881,20 @@ packages: '@babel/preset-env': 7.14.8_@babel+core@7.14.8 '@babel/preset-react': 7.14.5_@babel+core@7.14.8 '@babel/preset-typescript': 7.14.5_@babel+core@7.14.8 - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channel-postmessage': 6.3.6 '@storybook/channels': 6.3.6 - '@storybook/client-api': 6.3.6 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 - '@storybook/components': 6.3.6 - '@storybook/core-common': 6.3.6 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d '@storybook/core-events': 6.3.6 '@storybook/node-logger': 6.3.6 - '@storybook/router': 6.3.6 + '@storybook/router': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.6 - '@storybook/ui': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/ui': 6.3.6_873b6ee332b32a0534335ea366866a4e '@types/node': 14.17.6 '@types/webpack': 4.41.30 autoprefixer: 9.8.6 @@ -5878,16 +5913,19 @@ packages: glob-promise: 3.4.0_glob@7.1.7 global: 4.4.0 html-webpack-plugin: 4.5.2_webpack@4.46.0 - pnp-webpack-plugin: 1.6.4 + pnp-webpack-plugin: 1.6.4_typescript@4.3.5 postcss: 7.0.36 postcss-flexbugs-fixes: 4.2.1 postcss-loader: 4.3.0_postcss@7.0.36+webpack@4.46.0 raw-loader: 4.0.2_webpack@4.46.0 + react: 18.0.0-alpha-aecb3b6d1 react-dev-utils: 11.0.4 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.1.1 + typescript: 4.3.5 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 util-deprecate: 1.0.2 webpack: 4.46.0 @@ -5928,13 +5966,13 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/client-api/6.3.6: + /@storybook/client-api/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-Q/bWuH691L6k7xkiKtBmZo8C+ijgmQ+vc2Fz8pzIRZuMV8ROL74qhrS4BMKV4LhiYm4f8todtWfaQPBjawZMIA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channel-postmessage': 6.3.6 '@storybook/channels': 6.3.6 '@storybook/client-logger': 6.3.6 @@ -5947,6 +5985,8 @@ packages: lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 stable: 0.1.8 store2: 2.12.0 @@ -5967,7 +6007,7 @@ packages: global: 4.4.0 dev: true - /@storybook/components/6.3.6: + /@storybook/components/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-aZkmtAY8b+LFXG6dVp6cTS6zGJuxkHRHcesRSWRQPxtgitaz1G58clRHxbKPRokfjPHNgYA3snogyeqxSA7YNQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -5976,7 +6016,7 @@ packages: '@popperjs/core': 2.9.2 '@storybook/client-logger': 6.3.6 '@storybook/csf': 0.0.1 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/color-convert': 2.0.0 '@types/overlayscrollbars': 1.12.1 '@types/react-syntax-highlighter': 11.0.5 @@ -5985,15 +6025,17 @@ packages: fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.1.3 + markdown-to-jsx: 7.1.3_react@18.0.0-alpha-aecb3b6d1 memoizerific: 1.11.3 overlayscrollbars: 1.13.1 polished: 4.1.3 prop-types: 15.7.2 - react-colorful: 5.3.0 - react-popper-tooltip: 3.1.1 - react-syntax-highlighter: 13.5.3 - react-textarea-autosize: 8.3.3 + react: 18.0.0-alpha-aecb3b6d1 + react-colorful: 5.3.0_f991c289939c8299bed5e4a6a5a79a62 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-popper-tooltip: 3.1.1_f991c289939c8299bed5e4a6a5a79a62 + react-syntax-highlighter: 13.5.3_react@18.0.0-alpha-aecb3b6d1 + react-textarea-autosize: 8.3.3_010541d7fdfc8cbcdd915345c89295c8 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 util-deprecate: 1.0.2 @@ -6001,7 +6043,7 @@ packages: - '@types/react' dev: true - /@storybook/core-client/6.3.6: + /@storybook/core-client/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-Bq86flEdXdMNbdHrGMNQ6OT1tcBQU8ym56d+nG46Ctjf5GN+Dl+rPtRWuu7cIZs10KgqJH+86DXp+tvpQIDidg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6012,28 +6054,31 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channel-postmessage': 6.3.6 - '@storybook/client-api': 6.3.6 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 '@storybook/core-events': 6.3.6 '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.6 + '@storybook/ui': 6.3.6_873b6ee332b32a0534335ea366866a4e airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.15.2 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 + typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.3.6_webpack@4.46.0: + /@storybook/core-client/6.3.6_cf9e793d76240c1dee1d99d231bd9d85: resolution: {integrity: sha512-Bq86flEdXdMNbdHrGMNQ6OT1tcBQU8ym56d+nG46Ctjf5GN+Dl+rPtRWuu7cIZs10KgqJH+86DXp+tvpQIDidg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6044,21 +6089,24 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channel-postmessage': 6.3.6 - '@storybook/client-api': 6.3.6 + '@storybook/client-api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 '@storybook/core-events': 6.3.6 '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.6 + '@storybook/ui': 6.3.6_873b6ee332b32a0534335ea366866a4e airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.15.2 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 + typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 webpack: 4.46.0 @@ -6066,7 +6114,7 @@ packages: - '@types/react' dev: true - /@storybook/core-common/6.3.6: + /@storybook/core-common/6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d: resolution: {integrity: sha512-nHolFOmTPymI50j180bCtcf1UJZ2eOnYaECRtHvVrCUod5KFF7wh2EHrgWoKqrKrsn84UOY/LkX2C2WkbYtWRg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6120,8 +6168,11 @@ packages: micromatch: 4.0.4 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 resolve-from: 5.0.0 ts-dedent: 2.1.1 + typescript: 4.3.5 util-deprecate: 1.0.2 webpack: 4.46.0 transitivePeerDependencies: @@ -6142,7 +6193,7 @@ packages: core-js: 3.15.2 dev: true - /@storybook/core-server/6.3.6: + /@storybook/core-server/6.3.6_38609c1c18205f3a27fedf3e556e40f5: resolution: {integrity: sha512-47ZcfxYn7t891oAMG98iH1BQIgQT9Yk/2BBNVCWY43Ong+ME1xJ6j4C/jkRUOseP7URlfLUQsUYKAYJNVijDvg==} peerDependencies: '@storybook/builder-webpack5': 6.3.6 @@ -6158,11 +6209,11 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack4': 6.3.6 - '@storybook/core-client': 6.3.6_webpack@4.46.0 - '@storybook/core-common': 6.3.6 - '@storybook/csf-tools': 6.3.6 - '@storybook/manager-webpack4': 6.3.6 + '@storybook/builder-webpack4': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + '@storybook/core-client': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d + '@storybook/csf-tools': 6.3.6_@babel+core@7.14.8 + '@storybook/manager-webpack4': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 '@storybook/node-logger': 6.3.6 '@storybook/semver': 7.3.2 '@types/node': 14.17.6 @@ -6186,9 +6237,12 @@ packages: node-fetch: 2.6.1 pretty-hrtime: 1.0.3 prompts: 2.4.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 serve-favicon: 2.5.0 ts-dedent: 2.1.1 + typescript: 4.3.5 util-deprecate: 1.0.2 webpack: 4.46.0 transitivePeerDependencies: @@ -6199,7 +6253,7 @@ packages: - webpack-command dev: true - /@storybook/core-server/6.3.6_@babel+core@7.14.8: + /@storybook/core-server/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-47ZcfxYn7t891oAMG98iH1BQIgQT9Yk/2BBNVCWY43Ong+ME1xJ6j4C/jkRUOseP7URlfLUQsUYKAYJNVijDvg==} peerDependencies: '@storybook/builder-webpack5': 6.3.6 @@ -6215,11 +6269,11 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack4': 6.3.6 - '@storybook/core-client': 6.3.6_webpack@4.46.0 - '@storybook/core-common': 6.3.6 - '@storybook/csf-tools': 6.3.6_@babel+core@7.14.8 - '@storybook/manager-webpack4': 6.3.6 + '@storybook/builder-webpack4': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + '@storybook/core-client': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d + '@storybook/csf-tools': 6.3.6 + '@storybook/manager-webpack4': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 '@storybook/node-logger': 6.3.6 '@storybook/semver': 7.3.2 '@types/node': 14.17.6 @@ -6243,9 +6297,12 @@ packages: node-fetch: 2.6.1 pretty-hrtime: 1.0.3 prompts: 2.4.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 serve-favicon: 2.5.0 ts-dedent: 2.1.1 + typescript: 4.3.5 util-deprecate: 1.0.2 webpack: 4.46.0 transitivePeerDependencies: @@ -6256,7 +6313,7 @@ packages: - webpack-command dev: true - /@storybook/core/6.3.6_10b6a9815ffc7b4b1f51ac243f183029: + /@storybook/core/6.3.6_38609c1c18205f3a27fedf3e556e40f5: resolution: {integrity: sha512-y71VvVEbqCpG28fDBnfNg3RnUPnicwFYq9yuoFVRF0LYcJCy5cYhkIfW3JG8mN2m0P+LzH80mt2Rj6xlSXrkdQ==} peerDependencies: '@storybook/builder-webpack5': 6.3.6 @@ -6269,8 +6326,11 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.3.6_webpack@4.46.0 - '@storybook/core-server': 6.3.6_@babel+core@7.14.8 + '@storybook/core-client': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + '@storybook/core-server': 6.3.6_38609c1c18205f3a27fedf3e556e40f5 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + typescript: 4.3.5 transitivePeerDependencies: - '@babel/core' - '@storybook/manager-webpack5' @@ -6281,7 +6341,7 @@ packages: - webpack-command dev: true - /@storybook/core/6.3.6_@babel+core@7.14.8: + /@storybook/core/6.3.6_8b521f13f93ee38e02784efa3a2fdcd2: resolution: {integrity: sha512-y71VvVEbqCpG28fDBnfNg3RnUPnicwFYq9yuoFVRF0LYcJCy5cYhkIfW3JG8mN2m0P+LzH80mt2Rj6xlSXrkdQ==} peerDependencies: '@storybook/builder-webpack5': 6.3.6 @@ -6294,8 +6354,11 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.3.6 - '@storybook/core-server': 6.3.6_@babel+core@7.14.8 + '@storybook/core-client': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-server': 6.3.6_38609c1c18205f3a27fedf3e556e40f5 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + typescript: 4.3.5 transitivePeerDependencies: - '@babel/core' - '@storybook/manager-webpack5' @@ -6306,7 +6369,7 @@ packages: - webpack-command dev: true - /@storybook/core/6.3.6_webpack@4.46.0: + /@storybook/core/6.3.6_cf9e793d76240c1dee1d99d231bd9d85: resolution: {integrity: sha512-y71VvVEbqCpG28fDBnfNg3RnUPnicwFYq9yuoFVRF0LYcJCy5cYhkIfW3JG8mN2m0P+LzH80mt2Rj6xlSXrkdQ==} peerDependencies: '@storybook/builder-webpack5': 6.3.6 @@ -6319,8 +6382,11 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.3.6_webpack@4.46.0 - '@storybook/core-server': 6.3.6 + '@storybook/core-client': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-server': 6.3.6_4880cc6c35b84094bd856f07dc18daf1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + typescript: 4.3.5 transitivePeerDependencies: - '@babel/core' - '@storybook/manager-webpack5' @@ -6381,7 +6447,7 @@ packages: lodash: 4.17.21 dev: true - /@storybook/manager-webpack4/6.3.6: + /@storybook/manager-webpack4/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-qh/jV4b6mFRpRFfhk1JSyO2gKRz8PLPvDt2AD52/bTAtNRzypKoiWqyZNR2CJ9hgNQtDrk2CO3eKPrcdKYGizQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -6394,12 +6460,12 @@ packages: '@babel/core': 7.14.8 '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.8 '@babel/preset-react': 7.14.5_@babel+core@7.14.8 - '@storybook/addons': 6.3.6 - '@storybook/core-client': 6.3.6_webpack@4.46.0 - '@storybook/core-common': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/core-client': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d '@storybook/node-logger': 6.3.6 - '@storybook/theming': 6.3.6 - '@storybook/ui': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/ui': 6.3.6_873b6ee332b32a0534335ea366866a4e '@types/node': 14.17.6 '@types/webpack': 4.41.30 babel-loader: 8.2.2_10b6a9815ffc7b4b1f51ac243f183029 @@ -6415,7 +6481,9 @@ packages: fs-extra: 9.1.0 html-webpack-plugin: 4.5.2_webpack@4.46.0 node-fetch: 2.6.1 - pnp-webpack-plugin: 1.6.4 + pnp-webpack-plugin: 1.6.4_typescript@4.3.5 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 @@ -6423,6 +6491,7 @@ packages: telejson: 5.3.3 terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.1.1 + typescript: 4.3.5 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 util-deprecate: 1.0.2 webpack: 4.46.0 @@ -6451,7 +6520,7 @@ packages: core-js: 3.15.2 dev: true - /@storybook/react-docgen-typescript-plugin/1.0.2-canary.253f8c1.0_webpack@4.46.0: + /@storybook/react-docgen-typescript-plugin/1.0.2-canary.253f8c1.0_typescript@4.3.5+webpack@4.46.0: resolution: {integrity: sha512-mmoRG/rNzAiTbh+vGP8d57dfcR2aP+5/Ll03KKFyfy5FqWFm/Gh7u27ikx1I3LmVMI8n6jh5SdWMkMKon7/tDw==} peerDependencies: typescript: '>= 3.x' @@ -6462,14 +6531,15 @@ packages: find-cache-dir: 3.3.1 flat-cache: 3.0.4 micromatch: 4.0.4 - react-docgen-typescript: 2.0.0 + react-docgen-typescript: 2.0.0_typescript@4.3.5 tslib: 2.3.0 + typescript: 4.3.5 webpack: 4.46.0 transitivePeerDependencies: - supports-color dev: true - /@storybook/react/6.3.6: + /@storybook/react/6.3.6_38609c1c18205f3a27fedf3e556e40f5: resolution: {integrity: sha512-2c30XTe7WzKnvgHBGOp1dzBVlhcbc3oEX0SIeVE9ZYkLvRPF+J1jG948a26iqOCOgRAW13Bele37mG1gbl4tiw==} engines: {node: '>=10.13.0'} hasBin: true @@ -6484,28 +6554,32 @@ packages: typescript: optional: true dependencies: - '@babel/preset-flow': 7.14.5 - '@babel/preset-react': 7.14.5 + '@babel/core': 7.14.8 + '@babel/preset-flow': 7.14.5_@babel+core@7.14.8 + '@babel/preset-react': 7.14.5_@babel+core@7.14.8 '@pmmmwh/react-refresh-webpack-plugin': 0.4.3_133f2312fd2dfba9fc3b3697533854a6 - '@storybook/addons': 6.3.6 - '@storybook/core': 6.3.6_webpack@4.46.0 - '@storybook/core-common': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/core': 6.3.6_8b521f13f93ee38e02784efa3a2fdcd2 + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d '@storybook/node-logger': 6.3.6 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_webpack@4.46.0 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_typescript@4.3.5+webpack@4.46.0 '@storybook/semver': 7.3.2 '@types/webpack-env': 1.16.2 babel-plugin-add-react-displayname: 0.0.5 - babel-plugin-named-asset-import: 0.3.7 + babel-plugin-named-asset-import: 0.3.7_@babel+core@7.14.8 babel-plugin-react-docgen: 4.2.1 core-js: 3.15.2 global: 4.4.0 lodash: 4.17.21 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 react-dev-utils: 11.0.4 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-refresh: 0.8.3 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 + typescript: 4.3.5 webpack: 4.46.0 transitivePeerDependencies: - '@storybook/builder-webpack5' @@ -6522,7 +6596,7 @@ packages: - webpack-plugin-serve dev: true - /@storybook/react/6.3.6_@babel+core@7.14.8: + /@storybook/react/6.3.6_4880cc6c35b84094bd856f07dc18daf1: resolution: {integrity: sha512-2c30XTe7WzKnvgHBGOp1dzBVlhcbc3oEX0SIeVE9ZYkLvRPF+J1jG948a26iqOCOgRAW13Bele37mG1gbl4tiw==} engines: {node: '>=10.13.0'} hasBin: true @@ -6537,29 +6611,31 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.14.8 - '@babel/preset-flow': 7.14.5_@babel+core@7.14.8 - '@babel/preset-react': 7.14.5_@babel+core@7.14.8 + '@babel/preset-flow': 7.14.5 + '@babel/preset-react': 7.14.5 '@pmmmwh/react-refresh-webpack-plugin': 0.4.3_133f2312fd2dfba9fc3b3697533854a6 - '@storybook/addons': 6.3.6 - '@storybook/core': 6.3.6_10b6a9815ffc7b4b1f51ac243f183029 - '@storybook/core-common': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/core': 6.3.6_cf9e793d76240c1dee1d99d231bd9d85 + '@storybook/core-common': 6.3.6_9b3d47eb09d7549fa7cd0a3f71caf27d '@storybook/node-logger': 6.3.6 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_webpack@4.46.0 + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.253f8c1.0_typescript@4.3.5+webpack@4.46.0 '@storybook/semver': 7.3.2 '@types/webpack-env': 1.16.2 babel-plugin-add-react-displayname: 0.0.5 - babel-plugin-named-asset-import: 0.3.7_@babel+core@7.14.8 + babel-plugin-named-asset-import: 0.3.7 babel-plugin-react-docgen: 4.2.1 core-js: 3.15.2 global: 4.4.0 lodash: 4.17.21 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 react-dev-utils: 11.0.4 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-refresh: 0.8.3 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 ts-dedent: 2.1.1 + typescript: 4.3.5 webpack: 4.46.0 transitivePeerDependencies: - '@storybook/builder-webpack5' @@ -6576,13 +6652,13 @@ packages: - webpack-plugin-serve dev: true - /@storybook/router/5.3.18_react@16.13.1: + /@storybook/router/5.3.18_b0d14957e13ee1f402de6c14cc0c4091: resolution: {integrity: sha512-6B2U2C75KTSVaCuYYgcubeJGcCSnwsXuEf50hEd5mGqWgHZfojCtGvB7Ko4X+0h8rEC+eNA4p7YBOhlUv9WNrQ==} peerDependencies: react: '*' react-dom: '*' dependencies: - '@reach/router': 1.3.4_react@16.13.1 + '@reach/router': 1.3.4_b0d14957e13ee1f402de6c14cc0c4091 '@storybook/csf': 0.0.1 '@types/reach__router': 1.3.9 core-js: 3.15.2 @@ -6591,16 +6667,17 @@ packages: memoizerific: 1.11.3 qs: 6.10.1 react: 16.13.1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 util-deprecate: 1.0.2 dev: true - /@storybook/router/6.3.6: + /@storybook/router/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-fQ1n7cm7lPFav7I+fStQciSVMlNdU+yLY6Fue252rpV5Q68bMTjwKpjO9P2/Y3CCj4QD3dPqwEkn4s0qUn5tNA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@reach/router': 1.3.4 + '@reach/router': 1.3.4_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 '@types/reach__router': 1.3.9 core-js: 3.15.2 @@ -6609,6 +6686,8 @@ packages: lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 ts-dedent: 2.1.1 dev: true @@ -6621,13 +6700,13 @@ packages: find-up: 4.1.0 dev: true - /@storybook/source-loader/6.3.6: + /@storybook/source-loader/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-om3iS3a+D287FzBrbXB/IXB6Z5Ql2yc4dFKTy6FPe5v4N3U0p5puWOKUYWWbTX1JbcpRj0IXXo7952G68tcC1g==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/client-logger': 6.3.6 '@storybook/csf': 0.0.1 core-js: 3.15.2 @@ -6636,10 +6715,12 @@ packages: loader-utils: 2.0.0 lodash: 4.17.21 prettier: 2.2.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 regenerator-runtime: 0.13.9 dev: true - /@storybook/theming/5.3.18_react@16.13.1: + /@storybook/theming/5.3.18_b0d14957e13ee1f402de6c14cc0c4091: resolution: {integrity: sha512-lfFTeLoYwLMKg96N3gn0umghMdAHgJBGuk2OM8Ll84yWtdl9RGnzfiI1Fl7Cr5k95dCF7drLJlJCao1VxUkFSA==} peerDependencies: react: '*' @@ -6656,62 +6737,67 @@ packages: polished: 3.7.2 prop-types: 15.7.2 react: 16.13.1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 resolve-from: 5.0.0 ts-dedent: 1.2.0 dev: true - /@storybook/theming/6.3.6: + /@storybook/theming/6.3.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-mPrQrMUREajNEWxzgR8t0YIZsI9avPv25VNA08fANnwVsc887p4OL5eCTL2dFIlD34YDzAwiyRKYoLj2vDW4nw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@emotion/core': 10.1.1 + '@emotion/core': 10.1.1_react@18.0.0-alpha-aecb3b6d1 '@emotion/is-prop-valid': 0.8.8 - '@emotion/styled': 10.0.27_@emotion+core@10.1.1 + '@emotion/styled': 10.0.27_0969515b2e564c6f8da5ffe0dd24efb6 '@storybook/client-logger': 6.3.6 core-js: 3.15.2 deep-object-diff: 1.1.0 - emotion-theming: 10.0.27_@emotion+core@10.1.1 + emotion-theming: 10.0.27_0969515b2e564c6f8da5ffe0dd24efb6 global: 4.4.0 memoizerific: 1.11.3 polished: 4.1.3 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 resolve-from: 5.0.0 ts-dedent: 2.1.1 dev: true - /@storybook/ui/6.3.6: + /@storybook/ui/6.3.6_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-S9FjISUiAmbBR7d6ubUEcELQdffDfRxerloxkXs5Ou7n8fEPqpgQB01Hw5MLRUwTEpxPzHn+xtIGYritAGxt/Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@emotion/core': 10.1.1 - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 + '@emotion/core': 10.1.1_react@18.0.0-alpha-aecb3b6d1 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/channels': 6.3.6 '@storybook/client-logger': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/core-events': 6.3.6 - '@storybook/router': 6.3.6 + '@storybook/router': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.6 + '@storybook/theming': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 '@types/markdown-to-jsx': 6.11.3 copy-to-clipboard: 3.3.1 core-js: 3.15.2 core-js-pure: 3.15.2 - downshift: 6.1.3 - emotion-theming: 10.0.27_@emotion+core@10.1.1 + downshift: 6.1.3_react@18.0.0-alpha-aecb3b6d1 + emotion-theming: 10.0.27_0969515b2e564c6f8da5ffe0dd24efb6 fuse.js: 3.6.1 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 6.11.4 + markdown-to-jsx: 6.11.4_react@18.0.0-alpha-aecb3b6d1 memoizerific: 1.11.3 polished: 4.1.3 qs: 6.10.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-draggable: 4.4.3 - react-helmet-async: 1.0.9 - react-sizeme: 3.0.1 + react-helmet-async: 1.0.9_f991c289939c8299bed5e4a6a5a79a62 + react-sizeme: 3.0.1_f991c289939c8299bed5e4a6a5a79a62 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 store2: 2.12.0 @@ -6926,7 +7012,7 @@ packages: defer-to-connect: 2.0.1 dev: true - /@testing-library/react-hooks/7.0.1_react-test-renderer@17.0.2: + /@testing-library/react-hooks/7.0.1_1959de3a9153879cff3acd96b46ed70f: resolution: {integrity: sha512-bpEQ2SHSBSzBmfJ437NmnP+oArQ7aVmmULiAp6Ag2rtyLBLPNFSMmgltUbFGmQOJdPWo4Ub31kpUC5T46zXNwQ==} engines: {node: '>=12'} peerDependencies: @@ -6943,8 +7029,10 @@ packages: '@types/react': 17.0.15 '@types/react-dom': 17.0.9 '@types/react-test-renderer': 17.0.1 - react-error-boundary: 3.1.3 - react-test-renderer: 17.0.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-error-boundary: 3.1.3_react@18.0.0-alpha-aecb3b6d1 + react-test-renderer: 17.0.2_react@18.0.0-alpha-aecb3b6d1 dev: true /@tootallnate/once/1.1.2: @@ -6973,7 +7061,7 @@ packages: typechain: ^5.0.0 web3: ^1.0.0 dependencies: - typechain: 5.1.2 + typechain: 5.1.2_typescript@4.3.5 dev: false /@types/asn1js/2.0.2: @@ -7910,7 +7998,7 @@ packages: '@types/yargs-parser': 20.2.1 dev: true - /@typescript-eslint/eslint-plugin/4.28.5_@typescript-eslint+parser@4.28.5: + /@typescript-eslint/eslint-plugin/4.28.5_514553717ff968e20f6d1c6e521f8616: resolution: {integrity: sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -7921,19 +8009,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.28.5 - '@typescript-eslint/parser': 4.28.5 + '@typescript-eslint/experimental-utils': 4.28.5_eslint@7.31.0+typescript@4.3.5 + '@typescript-eslint/parser': 4.28.5_eslint@7.31.0+typescript@4.3.5 '@typescript-eslint/scope-manager': 4.28.5 debug: 4.3.2 + eslint: 7.31.0 functional-red-black-tree: 1.0.1 regexpp: 3.2.0 semver: 7.3.5 - tsutils: 3.21.0 + tsutils: 3.21.0_typescript@4.3.5 + typescript: 4.3.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.28.5: + /@typescript-eslint/experimental-utils/4.28.5_eslint@7.31.0+typescript@4.3.5: resolution: {integrity: sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -7942,15 +8032,16 @@ packages: '@types/json-schema': 7.0.8 '@typescript-eslint/scope-manager': 4.28.5 '@typescript-eslint/types': 4.28.5 - '@typescript-eslint/typescript-estree': 4.28.5 + '@typescript-eslint/typescript-estree': 4.28.5_typescript@4.3.5 + eslint: 7.31.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0 + eslint-utils: 3.0.0_eslint@7.31.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/4.28.5: + /@typescript-eslint/parser/4.28.5_eslint@7.31.0+typescript@4.3.5: resolution: {integrity: sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -7962,8 +8053,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 4.28.5 '@typescript-eslint/types': 4.28.5 - '@typescript-eslint/typescript-estree': 4.28.5 + '@typescript-eslint/typescript-estree': 4.28.5_typescript@4.3.5 debug: 4.3.2 + eslint: 7.31.0 + typescript: 4.3.5 transitivePeerDependencies: - supports-color dev: true @@ -7981,7 +8074,7 @@ packages: engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dev: true - /@typescript-eslint/typescript-estree/4.28.5: + /@typescript-eslint/typescript-estree/4.28.5_typescript@4.3.5: resolution: {integrity: sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -7996,7 +8089,8 @@ packages: globby: 11.0.4 is-glob: 4.0.1 semver: 7.3.5 - tsutils: 3.21.0 + tsutils: 3.21.0_typescript@4.3.5 + typescript: 4.3.5 transitivePeerDependencies: - supports-color dev: true @@ -8550,7 +8644,7 @@ packages: symbol.prototype.description: 1.0.4 dev: true - /airbnb-prop-types/2.16.0: + /airbnb-prop-types/2.16.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} peerDependencies: react: ^0.14 || ^15.0.0 || ^16.0.0-alpha @@ -8563,6 +8657,7 @@ packages: object.entries: 1.1.4 prop-types: 15.7.2 prop-types-exact: 1.2.0 + react: 18.0.0-alpha-aecb3b6d1 react-is: 16.13.1 dev: true @@ -10964,6 +11059,13 @@ packages: color-string: 1.6.0 dev: false + /color/4.0.1: + resolution: {integrity: sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==} + dependencies: + color-convert: 2.0.1 + color-string: 1.6.0 + dev: false + /colorette/1.2.2: resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} dev: true @@ -11325,7 +11427,7 @@ packages: safe-buffer: 5.2.1 sha.js: 2.4.11 - /create-react-context/0.3.0_prop-types@15.7.2: + /create-react-context/0.3.0_d2630f1b5c5d613d08a8af07021f9fe5: resolution: {integrity: sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==} peerDependencies: prop-types: ^15.0.0 @@ -11333,6 +11435,7 @@ packages: dependencies: gud: 1.0.0 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 warning: 4.0.3 dev: true @@ -12246,7 +12349,7 @@ packages: minimatch: 3.0.4 dev: false - /downshift/6.1.3: + /downshift/6.1.3_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg==} peerDependencies: react: '>=16.12.0' @@ -12254,6 +12357,7 @@ packages: '@babel/runtime': 7.14.8 compute-scroll-into-view: 1.0.17 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 react-is: 17.0.2 dev: true @@ -12382,16 +12486,17 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - /emotion-theming/10.0.27_@emotion+core@10.1.1: + /emotion-theming/10.0.27_0969515b2e564c6f8da5ffe0dd24efb6: resolution: {integrity: sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==} peerDependencies: '@emotion/core': ^10.0.27 react: '>=16.3.0' dependencies: '@babel/runtime': 7.14.8 - '@emotion/core': 10.1.1 + '@emotion/core': 10.1.1_react@18.0.0-alpha-aecb3b6d1 '@emotion/weak-memoize': 0.2.5 hoist-non-react-statics: 3.3.2 + react: 18.0.0-alpha-aecb3b6d1 dev: true /emotion-theming/10.0.27_c989b1aa057905c7a8b69bf973f55a19: @@ -12523,7 +12628,7 @@ packages: hasBin: true dev: true - /enzyme-adapter-react-16/1.15.6_enzyme@3.11.0: + /enzyme-adapter-react-16/1.15.6_f15f970d9b179e8975516dda0497bdea: resolution: {integrity: sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==} peerDependencies: enzyme: ^3.0.0 @@ -12531,28 +12636,31 @@ packages: react-dom: ^16.0.0-0 dependencies: enzyme: 3.11.0 - enzyme-adapter-utils: 1.14.0 + enzyme-adapter-utils: 1.14.0_react@18.0.0-alpha-aecb3b6d1 enzyme-shallow-equal: 1.0.4 has: 1.0.3 object.assign: 4.1.2 object.values: 1.1.4 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-is: 16.13.1 - react-test-renderer: 16.14.0 + react-test-renderer: 16.14.0_react@18.0.0-alpha-aecb3b6d1 semver: 5.7.1 dev: true - /enzyme-adapter-utils/1.14.0: + /enzyme-adapter-utils/1.14.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==} peerDependencies: react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 dependencies: - airbnb-prop-types: 2.16.0 + airbnb-prop-types: 2.16.0_react@18.0.0-alpha-aecb3b6d1 function.prototype.name: 1.1.4 has: 1.0.3 object.assign: 4.1.2 object.fromentries: 2.0.4 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 semver: 5.7.1 dev: true @@ -13024,15 +13132,6 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint-visitor-keys: 2.1.0 - dev: true - /eslint-utils/3.0.0_eslint@7.31.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -14705,7 +14804,7 @@ packages: yargs: 7.1.2 dev: true - /gulp-zip/5.1.0: + /gulp-zip/5.1.0_gulp@4.0.2: resolution: {integrity: sha512-XZr/y91IliK/SpR74g3TkZejGkGEmK7CSDjSghT1jXshgO+dFvpLIz9w9fpuwkew6i7k4F+G24TubNgq1ISzEw==} engines: {node: '>=8'} peerDependencies: @@ -14715,6 +14814,7 @@ packages: optional: true dependencies: get-stream: 5.2.0 + gulp: 4.0.2 plugin-error: 1.0.1 through2: 3.0.2 vinyl: 2.2.1 @@ -15104,13 +15204,14 @@ packages: void-elements: 3.1.0 dev: false - /html-react-parser/1.2.8: + /html-react-parser/1.2.8_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-fPPbnMNbVuceyJARZTCu2/Ai7XbVsfncwVUl3IFpgV8BG7lv6hm+Z8NWXRgc2r1DXTf1wRnLaPDL4unbln/r+g==} peerDependencies: react: ^0.14 || ^15 || ^16 || ^17 dependencies: domhandler: 4.2.0 html-dom-parser: 1.0.1 + react: 18.0.0-alpha-aecb3b6d1 react-property: 1.0.1 style-to-js: 1.1.0 dev: false @@ -16231,7 +16332,7 @@ packages: - supports-color dev: true - /jest-cli/27.0.6: + /jest-cli/27.0.6_ts-node@10.1.0: resolution: {integrity: sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -16241,14 +16342,14 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 27.0.6 + '@jest/core': 27.0.6_ts-node@10.1.0 '@jest/test-result': 27.0.6 '@jest/types': 27.0.6 chalk: 4.1.1 exit: 0.1.2 graceful-fs: 4.2.6 import-local: 3.0.2 - jest-config: 27.0.6 + jest-config: 27.0.6_ts-node@10.1.0 jest-util: 27.0.6 jest-validate: 27.0.6 prompts: 2.4.1 @@ -16261,7 +16362,7 @@ packages: - utf-8-validate dev: true - /jest-config/27.0.6: + /jest-config/27.0.6_ts-node@10.1.0: resolution: {integrity: sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -16291,6 +16392,7 @@ packages: jest-validate: 27.0.6 micromatch: 4.0.4 pretty-format: 27.0.6 + ts-node: 10.1.0_typescript@4.3.5 transitivePeerDependencies: - bufferutil - canvas @@ -16901,7 +17003,7 @@ packages: supports-color: 8.1.1 dev: true - /jest/27.0.6: + /jest/27.0.6_ts-node@10.1.0: resolution: {integrity: sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -16911,9 +17013,9 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 27.0.6 + '@jest/core': 27.0.6_ts-node@10.1.0 import-local: 3.0.2 - jest-cli: 27.0.6 + jest-cli: 27.0.6_ts-node@10.1.0 transitivePeerDependencies: - bufferutil - canvas @@ -17961,21 +18063,24 @@ packages: resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} dev: true - /markdown-to-jsx/6.11.4: + /markdown-to-jsx/6.11.4_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==} engines: {node: '>= 4'} peerDependencies: react: '>= 0.14.0' dependencies: prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 unquote: 1.1.1 dev: true - /markdown-to-jsx/7.1.3: + /markdown-to-jsx/7.1.3_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' + dependencies: + react: 18.0.0-alpha-aecb3b6d1 dev: true /marky/1.2.2: @@ -18272,7 +18377,7 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - /mini-create-react-context/0.4.1_prop-types@15.7.2: + /mini-create-react-context/0.4.1_d2630f1b5c5d613d08a8af07021f9fe5: resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==} peerDependencies: prop-types: ^15.0.0 @@ -18280,6 +18385,7 @@ packages: dependencies: '@babel/runtime': 7.14.8 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 tiny-warning: 1.0.3 dev: false @@ -18536,7 +18642,7 @@ packages: /nan/2.14.2: resolution: {integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==} - /nano-css/5.3.1: + /nano-css/5.3.1_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-ENPIyNzANQRyYVvb62ajDd7PAyIgS2LIUnT9ewih4yrXSZX4hKoUwssy8WjUH++kEOA5wUTMgNnV7ko5n34kUA==} peerDependencies: react: '*' @@ -18546,6 +18652,8 @@ packages: csstype: 3.0.8 fastest-stable-stringify: 2.0.2 inline-style-prefixer: 6.0.0 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 rtl-css-js: 1.14.1 sourcemap-codec: 1.4.8 stacktrace-js: 2.0.2 @@ -18777,15 +18885,18 @@ packages: engines: {node: '>=10'} dev: true - /notistack/1.0.6-next.1: + /notistack/1.0.6-next.1_132ff92e0fd7328580f6380de259b809: resolution: {integrity: sha512-deshn1cnse70pRFKuDC4mKUohjspAF3KjyjoolAFLCNGlFpjpBgHcFR8+gnO4XV0ijuXVz+oDfzBAdw/YMtkkg==} peerDependencies: '@material-ui/core': ^5.0.0-alpha.15 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: + '@material-ui/core': 5.0.0-alpha.34_9573e673e44e76d42dfd8ee27e505b8d clsx: 1.1.1 hoist-non-react-statics: 3.3.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: false /now-and-later/2.0.1: @@ -19716,11 +19827,11 @@ packages: engines: {node: '>=4.0.0'} dev: false - /pnp-webpack-plugin/1.6.4: + /pnp-webpack-plugin/1.6.4_typescript@4.3.5: resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} engines: {node: '>=6'} dependencies: - ts-pnp: 1.2.0 + ts-pnp: 1.2.0_typescript@4.3.5 transitivePeerDependencies: - typescript dev: true @@ -20331,11 +20442,14 @@ packages: webpack: 4.46.0 dev: true - /react-colorful/5.3.0: + /react-colorful/5.3.0_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-zWE5E88zmjPXFhv6mGnRZqKin9s5vip1O3IIGynY9EhZxN8MATUxZkT3e/9OwTEm4DjQBXc6PFWP6AetY+Px+A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' + dependencies: + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: true /react-dev-utils/11.0.4: @@ -20378,10 +20492,12 @@ packages: - utf-8-validate dev: true - /react-docgen-typescript/2.0.0: + /react-docgen-typescript/2.0.0_typescript@4.3.5: resolution: {integrity: sha512-lPf+KJKAo6a9klKyK4y8WwgaX+6t5/HkVjHOpJDMbmaXfXcV7zP0QgWtnEOc3ccEUXKvlHMGUMIS9f6Zgo1BSw==} peerDependencies: typescript: '>= 4.3.x' + dependencies: + typescript: 4.3.5 dev: true /react-docgen/5.4.0: @@ -20420,7 +20536,7 @@ packages: classnames: 2.3.1 prop-types: 15.7.2 - /react-element-to-jsx-string/14.3.2: + /react-element-to-jsx-string/14.3.2_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-WZbvG72cjLXAxV7VOuSzuHEaI3RHj10DZu8EcKQpkKcAj7+qAkG5XUeSdX5FXrA0vPrlx0QsnAzZEBJwzV0e+w==} peerDependencies: react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 @@ -20428,15 +20544,18 @@ packages: dependencies: '@base2/pretty-print-object': 1.0.0 is-plain-object: 3.0.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: true - /react-error-boundary/3.1.3: + /react-error-boundary/3.1.3_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-A+F9HHy9fvt9t8SNDlonq01prnU8AmkjvGKV4kk8seB9kU3xMEO8J/PQlLVmoOIDODl5U2kufSBs4vrWIqhsAA==} engines: {node: '>=10', npm: '>=6'} peerDependencies: react: '>=16.13.1' dependencies: '@babel/runtime': 7.14.8 + react: 18.0.0-alpha-aecb3b6d1 dev: true /react-error-overlay/6.0.9: @@ -20447,15 +20566,16 @@ packages: resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==} dev: true - /react-feather/2.0.9: + /react-feather/2.0.9_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-yMfCGRkZdXwIs23Zw/zIWCJO3m3tlaUvtHiXlW+3FH7cIT6fiK1iJ7RJWugXq7Fso8ZaQyUm92/GOOHXvkiVUw==} peerDependencies: react: ^16.8.6 || ^17 dependencies: prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 dev: false - /react-helmet-async/1.0.9: + /react-helmet-async/1.0.9_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ==} peerDependencies: react: ^16.6.0 || ^17.0.0 @@ -20464,11 +20584,13 @@ packages: '@babel/runtime': 7.14.8 invariant: 2.2.4 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 react-fast-compare: 3.2.0 shallowequal: 1.1.0 dev: true - /react-highlight-words/0.17.0: + /react-highlight-words/0.17.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-uX1Qh5IGjnLuJT0Zok234QDwRC8h4hcVMnB99Cb7aquB1NlPPDiWKm0XpSZOTdSactvnClCk8LOmVlP+75dgHA==} peerDependencies: react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 @@ -20476,12 +20598,15 @@ packages: highlight-words-core: 1.2.2 memoize-one: 4.0.3 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 dev: false - /react-hook-form/7.12.0: + /react-hook-form/7.12.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-Rg96xvdOwr/z/2+HKos+jHVIqYxPUPvrFkZkd8ZHPLIBjcD2MLMCM8n1U5FHm8CDvlNNZx7TS+C6v/TAXp4NCQ==} peerDependencies: react: ^16.8.0 || ^17 + dependencies: + react: 18.0.0-alpha-aecb3b6d1 dev: false /react-i18next/11.11.4_60622d171f398e74ebbb8933ef6c3c06: @@ -20496,7 +20621,7 @@ packages: react: 18.0.0-alpha-aecb3b6d1 dev: false - /react-inspector/5.1.1: + /react-inspector/5.1.1_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==} peerDependencies: react: ^16.8.4 || ^17.0.0 @@ -20504,6 +20629,7 @@ packages: '@babel/runtime': 7.14.8 is-dom: 1.1.0 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 dev: true /react-is/16.13.1: @@ -20516,15 +20642,18 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: true - /react-middle-ellipsis/1.2.1: + /react-middle-ellipsis/1.2.1_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-BUQWVXIWwkY7qBqZx0qyeCnPIh188t0lLS0ftfBsU41HB6k769HyBwE23eP+qNXr4vEnmKTEmlicrypVdWYs0w==} engines: {node: '>=8', npm: '>=5'} peerDependencies: react: ^17.0.0 react-dom: ^17.0.0 + dependencies: + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: false - /react-popper-tooltip/3.1.1: + /react-popper-tooltip/3.1.1_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ==} peerDependencies: react: ^16.6.0 || ^17.0.0 @@ -20532,16 +20661,19 @@ packages: dependencies: '@babel/runtime': 7.14.8 '@popperjs/core': 2.9.2 - react-popper: 2.2.5_@popperjs+core@2.9.2 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-popper: 2.2.5_a60ee8f7a0810f3be1186b900eece7e1 dev: true - /react-popper/2.2.5_@popperjs+core@2.9.2: + /react-popper/2.2.5_a60ee8f7a0810f3be1186b900eece7e1: resolution: {integrity: sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==} peerDependencies: '@popperjs/core': ^2.0.0 react: ^16.8.0 || ^17 dependencies: '@popperjs/core': 2.9.2 + react: 18.0.0-alpha-aecb3b6d1 react-fast-compare: 3.2.0 warning: 4.0.3 dev: true @@ -20565,7 +20697,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom/5.2.0: + /react-router-dom/5.2.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==} peerDependencies: react: '>=15' @@ -20574,12 +20706,13 @@ packages: history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.7.2 - react-router: 5.2.0 + react: 18.0.0-alpha-aecb3b6d1 + react-router: 5.2.0_react@18.0.0-alpha-aecb3b6d1 tiny-invariant: 1.1.0 tiny-warning: 1.0.3 dev: false - /react-router-dom/6.0.0-beta.0_history@5.0.0: + /react-router-dom/6.0.0-beta.0_66263521e705c985f663eeac15167a50: resolution: {integrity: sha512-36yNNGMT8RB9FRPL9nKJi6HKDkgOakU+o/2hHpSzR6e37gN70MpOU6QQlmif4oAWWBwjyGc3ZNOMFCsFuHUY5w==} peerDependencies: history: '>=5' @@ -20588,10 +20721,12 @@ packages: dependencies: history: 5.0.0 prop-types: 15.7.2 - react-router: 6.0.0-beta.0_history@5.0.0 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-router: 6.0.0-beta.0_dd3df4049b9a65e1e2d003c7940c4871 dev: false - /react-router/5.2.0: + /react-router/5.2.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==} peerDependencies: react: '>=15' @@ -20600,15 +20735,16 @@ packages: history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - mini-create-react-context: 0.4.1_prop-types@15.7.2 + mini-create-react-context: 0.4.1_d2630f1b5c5d613d08a8af07021f9fe5 path-to-regexp: 1.8.0 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 react-is: 16.13.1 tiny-invariant: 1.1.0 tiny-warning: 1.0.3 dev: false - /react-router/6.0.0-beta.0_history@5.0.0: + /react-router/6.0.0-beta.0_dd3df4049b9a65e1e2d003c7940c4871: resolution: {integrity: sha512-VgMdfpVcmFQki/LZuLh8E/MNACekDetz4xqft+a6fBZvvJnVqKbLqebF7hyoawGrV1HcO5tVaUang2Og4W2j1Q==} peerDependencies: history: '>=5' @@ -20616,18 +20752,20 @@ packages: dependencies: history: 5.0.0 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 dev: false - /react-shallow-renderer/16.14.1: + /react-shallow-renderer/16.14.1_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==} peerDependencies: react: ^16.0.0 || ^17.0.0 dependencies: object-assign: 4.1.1 + react: 18.0.0-alpha-aecb3b6d1 react-is: 17.0.2 dev: true - /react-sizeme/3.0.1: + /react-sizeme/3.0.1_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==} peerDependencies: react: ^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0 @@ -20635,11 +20773,13 @@ packages: dependencies: element-resize-detector: 1.2.3 invariant: 2.2.4 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 shallowequal: 1.1.0 throttle-debounce: 3.0.1 dev: true - /react-syntax-highlighter/13.5.3: + /react-syntax-highlighter/13.5.3_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==} peerDependencies: react: '>= 0.14.0' @@ -20648,40 +20788,44 @@ packages: highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.24.1 + react: 18.0.0-alpha-aecb3b6d1 refractor: 3.4.0 dev: true - /react-test-renderer/16.14.0: + /react-test-renderer/16.14.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==} peerDependencies: react: ^16.14.0 dependencies: object-assign: 4.1.1 prop-types: 15.7.2 + react: 18.0.0-alpha-aecb3b6d1 react-is: 16.13.1 scheduler: 0.19.1 dev: true - /react-test-renderer/17.0.2: + /react-test-renderer/17.0.2_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==} peerDependencies: react: 17.0.2 dependencies: object-assign: 4.1.1 + react: 18.0.0-alpha-aecb3b6d1 react-is: 17.0.2 - react-shallow-renderer: 16.14.1 + react-shallow-renderer: 16.14.1_react@18.0.0-alpha-aecb3b6d1 scheduler: 0.20.2 dev: true - /react-textarea-autosize/8.3.3: + /react-textarea-autosize/8.3.3_010541d7fdfc8cbcdd915345c89295c8: resolution: {integrity: sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': 7.14.8 - use-composed-ref: 1.1.0 - use-latest: 1.2.0 + react: 18.0.0-alpha-aecb3b6d1 + use-composed-ref: 1.1.0_react@18.0.0-alpha-aecb3b6d1 + use-latest: 1.2.0_010541d7fdfc8cbcdd915345c89295c8 transitivePeerDependencies: - '@types/react' dev: true @@ -20700,16 +20844,17 @@ packages: react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: false - /react-universal-interface/0.6.2_tslib@2.3.0: + /react-universal-interface/0.6.2_76516291a54c04f0b636c79937028dc1: resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} peerDependencies: react: '*' tslib: '*' dependencies: + react: 18.0.0-alpha-aecb3b6d1 tslib: 2.3.0 dev: false - /react-use/17.2.4: + /react-use/17.2.4_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-vQGpsAM0F5UIlshw5UI8ULGPS4yn5rm7/qvn3T1Gnkrz7YRMEEMh+ynKcmRloOyiIeLvKWiQjMiwRGtdbgs5qQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -20721,8 +20866,10 @@ packages: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.3.1 - react-universal-interface: 0.6.2_tslib@2.3.0 + nano-css: 5.3.1_f991c289939c8299bed5e4a6a5a79a62 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 + react-universal-interface: 0.6.2_76516291a54c04f0b636c79937028dc1 resize-observer-polyfill: 1.5.1 screenfull: 5.1.0 set-harmonic-interval: 1.0.1 @@ -20731,15 +20878,18 @@ packages: tslib: 2.3.0 dev: false - /react-virtualized-auto-sizer/1.0.5: + /react-virtualized-auto-sizer/1.0.5_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-kivjYVWX15TX2IUrm8F1jaCEX8EXrpy3DD+u41WGqJ1ZqbljWpiwscV+VxOM1l7sSIM1jwi2LADjhhAJkJ9dxA==} engines: {node: '>8.0.0'} peerDependencies: react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 + dependencies: + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: false - /react-window/1.8.6: + /react-window/1.8.6_f991c289939c8299bed5e4a6a5a79a62: resolution: {integrity: sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg==} engines: {node: '>8.0.0'} peerDependencies: @@ -20748,6 +20898,8 @@ packages: dependencies: '@babel/runtime': 7.14.8 memoize-one: 5.2.1 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 dev: false /react/16.13.1: @@ -22377,12 +22529,12 @@ packages: resolution: {integrity: sha512-7t+/wpKLanLzSnQPX8WAcuLCCeuSHoWdQuh9SB3xD0kNOM38DNf+0Oa+wmvxmYueRzkmh6IcdKFtvTa+ecgPDw==} dev: true - /storybook-addon-matrix/1.6.0: + /storybook-addon-matrix/1.6.0_react-dom@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-2Fc2E3B2oqjWUMil4q5K13wjeH6uK+Ae7Y7647VNu8+qBEcXokAcL6RTc69+63fnXQeLA6ZhZYUjWmhE4NLxhg==} dependencies: '@emotion/core': 10.0.28_react@16.13.1 '@emotion/styled': 10.0.27_c989b1aa057905c7a8b69bf973f55a19 - '@storybook/addons': 5.3.18 + '@storybook/addons': 5.3.18_react-dom@18.0.0-alpha-aecb3b6d1 '@types/js-combinatorics': 0.5.31 '@types/styled-system': 5.1.9 js-combinatorics: 0.5.5 @@ -22393,16 +22545,18 @@ packages: - regenerator-runtime dev: true - /storybook-addon-outline/1.4.1: + /storybook-addon-outline/1.4.1_873b6ee332b32a0534335ea366866a4e: resolution: {integrity: sha512-Qvv9X86CoONbi+kYY78zQcTGmCgFaewYnOVR6WL7aOFJoW7TrLiIc/O4hH5X9PsEPZFqjfXEPUPENWVUQim6yw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.3.6 - '@storybook/api': 6.3.6 - '@storybook/components': 6.3.6 + '@storybook/addons': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/api': 6.3.6_f991c289939c8299bed5e4a6a5a79a62 + '@storybook/components': 6.3.6_873b6ee332b32a0534335ea366866a4e '@storybook/core-events': 6.3.6 + react: 18.0.0-alpha-aecb3b6d1 + react-dom: 18.0.0-alpha-aecb3b6d1_react@18.0.0-alpha-aecb3b6d1 ts-dedent: 2.1.1 transitivePeerDependencies: - '@types/react' @@ -23289,13 +23443,15 @@ packages: resolution: {integrity: sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==} dev: true - /ts-essentials/7.0.2: + /ts-essentials/7.0.2_typescript@4.3.5: resolution: {integrity: sha512-qWPVC1xZGdefbsgFP7tPo+bsgSA2ZIXL1XeEe5M2WoMZxIOr/HbsHxP/Iv75IFhiMHMDGL7cOOwi5SXcgx9mHw==} peerDependencies: typescript: '>=3.7.0' + dependencies: + typescript: 4.3.5 dev: false - /ts-jest/27.0.4_@types+jest@26.0.24+jest@27.0.6: + /ts-jest/27.0.4_52cc4273aa16028085013af47e479e10: resolution: {integrity: sha512-c4E1ECy9Xz2WGfTMyHbSaArlIva7Wi2p43QOMmCqjSSjHP06KXv+aT+eSY+yZMuqsMi3k7pyGsGj2q5oSl5WfQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -23317,43 +23473,17 @@ packages: bs-logger: 0.2.6 buffer-from: 1.1.1 fast-json-stable-stringify: 2.1.0 - jest: 27.0.6 + jest: 27.0.6_ts-node@10.1.0 jest-util: 27.0.6 json5: 2.2.0 lodash: 4.17.21 make-error: 1.3.6 mkdirp: 1.0.4 semver: 7.3.5 + typescript: 4.3.5 yargs-parser: 20.2.9 dev: true - /ts-node/10.1.0: - resolution: {integrity: sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==} - engines: {node: '>=12.0.0'} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.19 - yn: 3.1.1 - dev: true - /ts-node/10.1.0_typescript@4.3.5: resolution: {integrity: sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==} engines: {node: '>=12.0.0'} @@ -23397,7 +23527,7 @@ packages: yn: 2.0.0 dev: false - /ts-pnp/1.2.0: + /ts-pnp/1.2.0_typescript@4.3.5: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} engines: {node: '>=6'} peerDependencies: @@ -23405,6 +23535,8 @@ packages: peerDependenciesMeta: typescript: optional: true + dependencies: + typescript: 4.3.5 dev: true /ts-results/3.3.0: @@ -23461,16 +23593,17 @@ packages: typescript: 2.9.2 dev: false - /tss-react/0.6.0: + /tss-react/0.6.0_bef0d66e98e8cc6f9687bc5bf9034690: resolution: {integrity: sha512-9AiMS/P30X3xPk7VMj14WBsZ/erb/Tr/Z/m07Va84E/tPy1GqVFnixx42XYwzDehaVOQQ9ap+bUNxdpBI98+uQ==} peerDependencies: '@emotion/react': ^11.4.1 dependencies: '@emotion/cache': 11.4.0 + '@emotion/react': 11.4.1_010541d7fdfc8cbcdd915345c89295c8 '@emotion/serialize': 1.0.2 '@emotion/server': 11.4.0 '@emotion/utils': 1.0.0 - html-react-parser: 1.2.8 + html-react-parser: 1.2.8_react@18.0.0-alpha-aecb3b6d1 transitivePeerDependencies: - '@emotion/css' - react @@ -23493,13 +23626,14 @@ packages: typescript: 2.9.2 dev: false - /tsutils/3.21.0: + /tsutils/3.21.0_typescript@4.3.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 + typescript: 4.3.5 dev: true /tty-browserify/0.0.0: @@ -23538,7 +23672,7 @@ packages: prelude-ls: 1.2.1 dev: true - /type-coverage-core/2.17.5: + /type-coverage-core/2.17.5_typescript@4.3.5: resolution: {integrity: sha512-FfkH2kIgQkkgC47V2WHJZWBbjYjMw2ZpQRdRGTcMBAnkijmRCp9I1LpOuI+Gv4MDtniRLnkAo8htGGt2iExFgA==} peerDependencies: typescript: 2 || 3 || 4 @@ -23547,15 +23681,16 @@ packages: minimatch: 3.0.4 normalize-path: 3.0.0 tslib: 2.3.0 - tsutils: 3.21.0 + tsutils: 3.21.0_typescript@4.3.5 + typescript: 4.3.5 dev: true - /type-coverage/2.18.0: + /type-coverage/2.18.0_typescript@4.3.5: resolution: {integrity: sha512-SAyrR6Xl7GfHNcXU8Y3wSnJfGftdCvf/b2JlJJtt7gt74T0dCF077/ukhlLjI/MsWmRCxW8k8x/d4AjrFiLSpQ==} hasBin: true dependencies: minimist: 1.2.5 - type-coverage-core: 2.17.5 + type-coverage-core: 2.17.5_typescript@4.3.5 transitivePeerDependencies: - typescript dev: true @@ -23606,7 +23741,7 @@ packages: /type/2.5.0: resolution: {integrity: sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==} - /typechain/5.1.2: + /typechain/5.1.2_typescript@4.3.5: resolution: {integrity: sha512-FuaCxJd7BD3ZAjVJoO+D6TnqKey3pQdsqOBsC83RKYWKli5BDhdf0TPkwfyjt20TUlZvOzJifz+lDwXsRkiSKA==} hasBin: true dependencies: @@ -23619,7 +23754,7 @@ packages: lodash: 4.17.21 mkdirp: 1.0.4 prettier: 2.3.2 - ts-essentials: 7.0.2 + ts-essentials: 7.0.2_typescript@4.3.5 transitivePeerDependencies: - supports-color - typescript @@ -24010,15 +24145,16 @@ packages: resolution: {integrity: sha512-12c4Vi40DHVdZ/8mOLjZjp0asCzM6hi8Gj116fpImRP1FN4gBMCtMi9XhLNOmre/FEQYNqHbZmX8iyYAtIcy8Q==} dev: false - /use-composed-ref/1.1.0: + /use-composed-ref/1.1.0_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: + react: 18.0.0-alpha-aecb3b6d1 ts-essentials: 2.0.12 dev: true - /use-isomorphic-layout-effect/1.1.1: + /use-isomorphic-layout-effect/1.1.1_010541d7fdfc8cbcdd915345c89295c8: resolution: {integrity: sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==} peerDependencies: '@types/react': '*' @@ -24026,9 +24162,12 @@ packages: peerDependenciesMeta: '@types/react': optional: true + dependencies: + '@types/react': 17.0.15 + react: 18.0.0-alpha-aecb3b6d1 dev: true - /use-latest/1.2.0: + /use-latest/1.2.0_010541d7fdfc8cbcdd915345c89295c8: resolution: {integrity: sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==} peerDependencies: '@types/react': '*' @@ -24037,15 +24176,18 @@ packages: '@types/react': optional: true dependencies: - use-isomorphic-layout-effect: 1.1.1 + '@types/react': 17.0.15 + react: 18.0.0-alpha-aecb3b6d1 + use-isomorphic-layout-effect: 1.1.1_010541d7fdfc8cbcdd915345c89295c8 dev: true - /use-subscription/1.5.1: + /use-subscription/1.5.1_react@18.0.0-alpha-aecb3b6d1: resolution: {integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: object-assign: 4.1.1 + react: 18.0.0-alpha-aecb3b6d1 dev: false /use/3.1.1: