@@ -201,6 +210,10 @@ export function EnhancedProfileaPage() {
MaskMessage.events.profileNFTsPageUpdate.on((data) => {
setShow(data.show)
})
+ return () =>
+ MaskMessage.events.profileNFTsPageUpdate.off((data) => {
+ setShow(false)
+ })
}, [])
const resolvedAddress = useEthereumAddress()
From b37f0bedfe279fd753a626ceee43caab67cf2f65 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Sun, 8 Aug 2021 20:54:57 +0800
Subject: [PATCH 31/60] fix: no fallback
---
.../CollectibleList/index.tsx | 172 +++++++++++++-----
.../twitter.com/injection/EnhancedProfile.tsx | 17 +-
2 files changed, 128 insertions(+), 61 deletions(-)
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index 57767fa75e4c..30a9b8b4db0f 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -3,11 +3,15 @@ import { useUpdateEffect } from 'react-use'
import { useValueRef } from '@masknet/shared'
import {
ChainId,
+ CollectibleProvider,
+ ERC1155TokenAssetDetailed,
+ ERC721TokenAssetDetailed,
EthereumTokenType,
formatEthereumAddress,
useAccount,
useChainId,
useCollectibles,
+ useWallet,
Wallet,
} from '@masknet/web3-shared'
import { Box, Button, makeStyles, Skeleton, TablePagination, Typography } from '@material-ui/core'
@@ -60,38 +64,36 @@ const useStyles = makeStyles((theme) => ({
},
}))
-export interface CollectibleListProps {
+interface CollectibleListUIProps {
+ provider: CollectibleProvider
wallet: Wallet
- owner?: string
- chainId?: ChainId
+ collectibles: (ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed)[]
+ loading: boolean
+ collectiblesRetry: () => void
+ error: Error | undefined
+ hasNextPage: boolean
readonly?: boolean
+ page: number
+ onNextPage: () => void
+ onPrevPage: () => void
}
-
-export function CollectibleList({ wallet, owner, chainId, readonly }: CollectibleListProps) {
- const { t } = useI18N()
-
+function CollectibleListUI({
+ provider,
+ wallet,
+ collectibles,
+ loading,
+ hasNextPage,
+ collectiblesRetry,
+ error,
+ readonly,
+ page,
+ onNextPage,
+ onPrevPage,
+}: CollectibleListUIProps) {
const classes = useStyles()
- const defaultAcount = useAccount()
- const account = owner ?? defaultAcount
-
- 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 ?? _chainId, provider, page, 50)
-
- const { collectibles = [], hasNextPage } = value
-
- useUpdateEffect(() => {
- setPage(0)
- }, [account, provider])
+ const { t } = useI18N()
- if (collectiblesLoading)
+ if (loading)
return (
{Array.from({ length: 4 })
@@ -111,24 +113,10 @@ export function CollectibleList({ wallet, owner, chainId, readonly }: Collectibl
)
- const dataSource = owner
- ? collectibles
- : 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 ? (
) : (
- {dataSource.map((x) => (
+ {collectibles.map((x) => (
@@ -162,7 +150,7 @@ export function CollectibleList({ wallet, owner, chainId, readonly }: Collectibl
)}
- {!(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',
}}
@@ -186,3 +174,95 @@ export function CollectibleList({ wallet, owner, chainId, readonly }: Collectibl
)
}
+
+export interface CollectibleListAddressProps {
+ address: string
+}
+
+export function CollectibleListAddress({ address }: CollectibleListAddressProps) {
+ const wallet = useWallet()
+ const provider = useValueRef(currentCollectibleDataProviderSettings)
+ const chainId = ChainId.Mainnet
+ const [page, setPage] = useState(0)
+
+ 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])
+
+ if (!wallet) return null
+ 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
index e02723388cfb..4646a3d83023 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -1,5 +1,4 @@
import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
-import { ChainId, useWallet } from '@masknet/web3-shared'
import { makeStyles, Theme } from '@material-ui/core'
import classNames from 'classnames'
import { useCallback, useEffect, useState } from 'react'
@@ -15,7 +14,7 @@ import {
} from '../utils/selector'
import { useEthereumAddress } from './useEthereumName'
import Color from 'color'
-import { CollectibleList } from '../../../extension/options-page/DashboardComponents/CollectibleList'
+import { CollectibleListAddress } from '../../../extension/options-page/DashboardComponents/CollectibleList'
function injectEnhancedProfileTab(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
@@ -203,7 +202,6 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
}
export function EnhancedProfileaPage() {
- const selectedWallet = useWallet()
const [show, setShow] = useState(false)
useEffect(() => {
@@ -217,16 +215,5 @@ export function EnhancedProfileaPage() {
}, [])
const resolvedAddress = useEthereumAddress()
-
- if (!selectedWallet) {
- return null
- }
-
- return (
- <>
- {show ? (
-
- ) : null}
- >
- )
+ return <>{show ? : null}>
}
From d0875239356b88aa52a5e670748931283f4fb5c8 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Mon, 9 Aug 2021 10:31:04 +0800
Subject: [PATCH 32/60] refactor: remove unused code
---
.../twitter.com/injection/EnhancedProfile.tsx | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
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
index 4646a3d83023..8a2239e2153a 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -5,7 +5,6 @@ import { useCallback, useEffect, useState } from 'react'
import { createReactRootShadowed, MaskMessage, startWatch } from '../../../utils'
import {
searchForegroundColorSelector,
- searchProfileActiveTabSelector,
searchProfileEmptySelector,
searchProfileTabListLastChildSelector,
searchProfileTabListSelector,
@@ -167,6 +166,7 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const onClose = () => {
setActive(false)
MaskMessage.events.profileNFTsPageUpdate.sendToLocal({ show: false })
+ resetStatus()
}
const onOpen = () => {
MaskMessage.events.profileNFTsPageUpdate.sendToLocal({ show: true })
@@ -175,17 +175,6 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
useBind(onClose)
- const tab = searchProfileActiveTabSelector().evaluate()
- useEffect(() => {
- const onClick = () => {
- resetStatus()
- setActive(false)
- }
-
- tab?.addEventListener('click', onClick, { once: true })
- return () => tab?.removeEventListener('click', onClick)
- }, [tab, resetStatus])
-
const onClick = useCallback(() => {
onOpen()
clearStatus()
From 1edcf2f0339c730297a1a0c40879a4fac83d0920 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Mon, 9 Aug 2021 15:14:47 +0800
Subject: [PATCH 33/60] fix: inject nfts in search
---
.../twitter.com/utils/selector.ts | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
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 0911ca1e6fcd..ca06a25f1278 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
@@ -19,20 +19,21 @@ const querySelectorAll = (selector: string) => {
export const searchProfileSelector: () => LiveSelector = () =>
querySelector('[aria-label="Profile timelines"][role="navigation"]')
export const searchProfileTabListLastChildSelector: () => LiveSelector = () =>
- querySelector('[role="tablist"][data-testid="ScrollSnap-List"] > :last-child')
+ querySelector('[aria-label="Profile timelines"] [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('[role="tablist"] [role="tab"][aria-selected="true"]')
+ querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"]')
export const searchProfileTabSelector: () => LiveSelector = () =>
- querySelector('[role="tablist"] [role="tab"][aria-selected="false"]')
+ querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="false"]')
export const searchProfileActiveTabStatusLineSelector: () => LiveSelector = () =>
- querySelector('[role="tablist"] [role="tab"][aria-selected="true"] > div > div')
+ querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"] > div > div')
export const searchProfileActiveTabLabelSelector: () => LiveSelector = () =>
- querySelector('[role="tablist"] [role="tab"][aria-selected="true"] > div')
-export const searchProfileTabListSelector = () => querySelectorAll('[role="tablist"][data-testid="ScrollSnap-List"] a')
+ querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"] > div')
+export const searchProfileTabListSelector = () =>
+ querySelectorAll('[aria-label="Profile timelines"] [role="tablist"][data-testid="ScrollSnap-List"] a')
export const searchForegroundColorSelector: () => LiveSelector = () =>
querySelector('[data-testid="primaryColumn"] [aria-label="Back"][role="button"] > div')
From 3024229f1fafcba12bce527af052938e486c1bdf Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Mon, 9 Aug 2021 16:02:55 +0800
Subject: [PATCH 34/60] fix: remove dependency wallet
---
.../DashboardComponents/CollectibleList/CollectibleCard.tsx | 6 ++++--
.../DashboardComponents/CollectibleList/index.tsx | 6 +-----
2 files changed, 5 insertions(+), 7 deletions(-)
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 98fa0903eb9e..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,7 +36,7 @@ const useStyles = makeStyles((theme) => ({
export interface CollectibleCardProps {
provider: CollectibleProvider
- wallet: Wallet
+ wallet?: Wallet
token: ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed
readonly?: boolean
}
@@ -49,7 +49,9 @@ export function CollectibleCard(props: CollectibleCardProps) {
return (
- {readonly ? null : }
+ {readonly || !wallet ? null : (
+
+ )}
{token.asset?.image ? (
({
interface CollectibleListUIProps {
provider: CollectibleProvider
- wallet: Wallet
+ wallet?: Wallet
collectibles: (ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed)[]
loading: boolean
collectiblesRetry: () => void
@@ -180,7 +179,6 @@ export interface CollectibleListAddressProps {
}
export function CollectibleListAddress({ address }: CollectibleListAddressProps) {
- const wallet = useWallet()
const provider = useValueRef(currentCollectibleDataProviderSettings)
const chainId = ChainId.Mainnet
const [page, setPage] = useState(0)
@@ -197,11 +195,9 @@ export function CollectibleListAddress({ address }: CollectibleListAddressProps)
setPage(0)
}, [provider, address])
- if (!wallet) return null
return (
Date: Mon, 9 Aug 2021 21:11:21 +0800
Subject: [PATCH 35/60] refactor: css style
---
.../CollectibleList/index.tsx | 67 ++++++++++---------
.../twitter.com/injection/EnhancedProfile.tsx | 29 ++++++--
2 files changed, 59 insertions(+), 37 deletions(-)
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index 5c76cb60df3b..25f0376af0ef 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -1,6 +1,6 @@
import { createContext, useState } from 'react'
import { useUpdateEffect } from 'react-use'
-import { useValueRef } from '@masknet/shared'
+import { useStylesExtends, useValueRef } from '@masknet/shared'
import {
ChainId,
CollectibleProvider,
@@ -31,6 +31,13 @@ const useStyles = makeStyles((theme) => ({
},
empty: {
display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: '100%',
+ },
+ button: {
+ marginTop: theme.spacing(1),
},
container: {
height: 'calc(100% - 52px)',
@@ -63,7 +70,7 @@ const useStyles = makeStyles((theme) => ({
},
}))
-interface CollectibleListUIProps {
+interface CollectibleListUIProps extends withClasses<'empty' | 'button'> {
provider: CollectibleProvider
wallet?: Wallet
collectibles: (ERC721TokenAssetDetailed | ERC1155TokenAssetDetailed)[]
@@ -76,20 +83,21 @@ interface CollectibleListUIProps {
onNextPage: () => void
onPrevPage: () => void
}
-function CollectibleListUI({
- provider,
- wallet,
- collectibles,
- loading,
- hasNextPage,
- collectiblesRetry,
- error,
- readonly,
- page,
- onNextPage,
- onPrevPage,
-}: CollectibleListUIProps) {
- const classes = useStyles()
+function CollectibleListUI(props: CollectibleListUIProps) {
+ const {
+ provider,
+ wallet,
+ collectibles,
+ loading,
+ hasNextPage,
+ collectiblesRetry,
+ error,
+ readonly,
+ page,
+ onNextPage,
+ onPrevPage,
+ } = props
+ const classes = useStylesExtends(useStyles(), props)
const { t } = useI18N()
if (loading)
@@ -116,21 +124,9 @@ function CollectibleListUI({
{error || collectibles.length === 0 ? (
-
+
{t('dashboard_no_collectible_found')}
-
@@ -174,14 +170,20 @@ function CollectibleListUI({
)
}
-export interface CollectibleListAddressProps {
+const useCollectibleListAddressStyles = makeStyles((theme) => ({
+ empty: {},
+ button: {},
+}))
+export interface CollectibleListAddressProps extends withClasses<'empty' | 'button'> {
address: string
}
-export function CollectibleListAddress({ address }: CollectibleListAddressProps) {
+export function CollectibleListAddress(props: CollectibleListAddressProps) {
+ const { address } = props
const provider = useValueRef(currentCollectibleDataProviderSettings)
const chainId = ChainId.Mainnet
const [page, setPage] = useState(0)
+ const classes = useStylesExtends(useCollectibleListAddressStyles(), props)
const {
value = { collectibles: [], hasNextPage: false },
@@ -197,6 +199,7 @@ export function CollectibleListAddress({ address }: CollectibleListAddressProps)
return (
((theme) => ({
+ empty: {
+ paddingTop: 36,
+ paddingBottom: 36,
+ '& > p': {
+ fontSize: 18,
+ fontFamily: 'inherit',
+ fontWeight: 700,
+ color: 'black',
+ },
+ },
+ button: {
+ backgroundColor: (props: StyleProps) => props.activeColor,
+ color: 'white',
+ marginTop: 18,
+ '&:hover': {
+ backgroundColor: (props: StyleProps) => props.activeColor,
+ },
+ },
+}))
+
export function EnhancedProfileaPage() {
const [show, setShow] = useState(false)
+ const style = getStyle()
+ const classes = EnhancedProfileaPageStyles(style)
useEffect(() => {
MaskMessage.events.profileNFTsPageUpdate.on((data) => {
setShow(data.show)
})
- return () =>
- MaskMessage.events.profileNFTsPageUpdate.off((data) => {
- setShow(false)
- })
}, [])
const resolvedAddress = useEthereumAddress()
- return <>{show ? : null}>
+ return <>{show ? : null}>
}
From 5e1c1bd055c854a2cc5c99563aec7f39e79bb9a2 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Mon, 9 Aug 2021 22:31:11 +0800
Subject: [PATCH 36/60] fix: improve code
---
.../CollectibleList/index.tsx | 2 +-
.../twitter.com/injection/EnhancedProfile.tsx | 31 +++++++------------
2 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index 25f0376af0ef..10f49df2d063 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -103,7 +103,7 @@ function CollectibleListUI(props: CollectibleListUIProps) {
if (loading)
return (
- {Array.from({ length: 4 })
+ {Array.from({ length: 6 })
.fill(0)
.map((_, i) => (
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
index eb73f5c56f21..0ef456d6f2dd 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -107,37 +107,28 @@ function clearStatus() {
}
function resetStatus() {
+ 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 onEvent = (parent: HTMLElement, handler: () => void) => {
- const elePage = searchProfileTabPageSelector().evaluate()
- if (elePage) elePage.style.display = ''
- const line = parent.querySelector('div > div') as HTMLDivElement
- if (line) line.style.display = ''
- handler()
-}
-const addEventListener = (tabList: HTMLElement[], handler: () => void) => {
+ const tabList = searchProfileTabListSelector().evaluate()
tabList.map((v) => {
- v.addEventListener('click', () => onEvent(v, handler), { once: true })
+ const _v = v.querySelector('div') as HTMLDivElement
+ _v.style.color = ''
+ const line = v.querySelector('div > div') as HTMLDivElement
+ line.style.display = ''
})
}
-const removeEventListener = (tabList: HTMLElement[], handler: () => void) => {
- tabList.map((v) => {
- v.removeEventListener('click', () => onEvent(v, handler))
- })
-}
const useBind = (handler: () => void) => {
- const tabList = searchProfileTabListSelector().evaluate()
useEffect(() => {
- addEventListener(tabList, handler)
- return () => removeEventListener(tabList, handler)
- }, [tabList, addEventListener, removeEventListener, handler])
+ window.addEventListener('replacestate', handler)
+ return () => window.removeEventListener('replacestate', handler)
+ }, [handler])
}
function getStyle() {
From d71b65ca38ebaedb8c0ede0683b78f7cbc0996cf Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Tue, 10 Aug 2021 10:42:34 +0800
Subject: [PATCH 37/60] fix: apply review
---
.../DashboardComponents/CollectibleList/index.tsx | 6 +-----
.../twitter.com/injection/EnhancedProfile.tsx | 6 +++---
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index 10f49df2d063..e5533e44b4ee 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -170,10 +170,6 @@ function CollectibleListUI(props: CollectibleListUIProps) {
)
}
-const useCollectibleListAddressStyles = makeStyles((theme) => ({
- empty: {},
- button: {},
-}))
export interface CollectibleListAddressProps extends withClasses<'empty' | 'button'> {
address: string
}
@@ -183,7 +179,7 @@ export function CollectibleListAddress(props: CollectibleListAddressProps) {
const provider = useValueRef(currentCollectibleDataProviderSettings)
const chainId = ChainId.Mainnet
const [page, setPage] = useState(0)
- const classes = useStylesExtends(useCollectibleListAddressStyles(), props)
+ const classes = props.classes ?? {}
const {
value = { collectibles: [], hasNextPage: false },
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
index 0ef456d6f2dd..e20765ff5557 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -124,7 +124,7 @@ function resetStatus() {
})
}
-const useBind = (handler: () => void) => {
+function useRepaceState(handler: () => void) {
useEffect(() => {
window.addEventListener('replacestate', handler)
return () => window.removeEventListener('replacestate', handler)
@@ -164,7 +164,7 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
setActive(true)
}
- useBind(onClose)
+ useRepaceState(onClose)
const onClick = useCallback(() => {
onOpen()
@@ -208,7 +208,7 @@ export function EnhancedProfileaPage() {
const classes = EnhancedProfileaPageStyles(style)
useEffect(() => {
- MaskMessage.events.profileNFTsPageUpdate.on((data) => {
+ return MaskMessage.events.profileNFTsPageUpdate.on((data) => {
setShow(data.show)
})
}, [])
From 7c8394df518febb673b3f7c6b97628d8d89cebf2 Mon Sep 17 00:00:00 2001
From: guanbinrui
Date: Tue, 10 Aug 2021 12:20:19 +0800
Subject: [PATCH 38/60] refactor: useLocationChange
---
.../twitter.com/injection/EnhancedProfile.tsx | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
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
index e20765ff5557..9601d70fe495 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -148,6 +148,20 @@ function getStyle() {
activeColor: foregroundColorStyle.color,
} as StyleProps
}
+
+function useLocationChange() {
+ const onLocationChange = useCallback(() => {
+ console.log(location.href)
+ }, [])
+
+ useEffect(() => {
+ onLocationChange()
+ window.addEventListener('locationchange', onLocationChange)
+ return () => window.removeEventListener('locationchange', onLocationChange)
+ }, [onLocationChange])
+}
+
+
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const style = getStyle()
const classes = useEnhancedProfileStyles(style)
@@ -207,6 +221,8 @@ export function EnhancedProfileaPage() {
const style = getStyle()
const classes = EnhancedProfileaPageStyles(style)
+ useLocationChange()
+
useEffect(() => {
return MaskMessage.events.profileNFTsPageUpdate.on((data) => {
setShow(data.show)
From 81306e3baa74cd93d585a150ea07d79f6f374b7f Mon Sep 17 00:00:00 2001
From: guanbinrui
Date: Tue, 10 Aug 2021 12:22:44 +0800
Subject: [PATCH 39/60] fix: prettier
---
.../twitter.com/injection/EnhancedProfile.tsx | 1 -
1 file changed, 1 deletion(-)
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
index 9601d70fe495..5ed9a6de1134 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -161,7 +161,6 @@ function useLocationChange() {
}, [onLocationChange])
}
-
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const style = getStyle()
const classes = useEnhancedProfileStyles(style)
From 0379c478f53c2f9eb8e318d62cebeb8181e03480 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Tue, 10 Aug 2021 14:30:50 +0800
Subject: [PATCH 40/60] fix: add profileNFTTabUpdated event
---
.../twitter.com/injection/EnhancedProfile.tsx | 31 +++++++++----------
packages/maskbook/src/utils/messages.ts | 3 +-
2 files changed, 16 insertions(+), 18 deletions(-)
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
index 5ed9a6de1134..71ee3dd54923 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -14,6 +14,7 @@ import {
import { useEthereumAddress } from './useEthereumName'
import Color from 'color'
import { CollectibleListAddress } from '../../../extension/options-page/DashboardComponents/CollectibleList'
+import { getMaskColor } from '@masknet/theme'
function injectEnhancedProfileTab(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
@@ -124,13 +125,6 @@ function resetStatus() {
})
}
-function useRepaceState(handler: () => void) {
- useEffect(() => {
- window.addEventListener('replacestate', handler)
- return () => window.removeEventListener('replacestate', handler)
- }, [handler])
-}
-
function getStyle() {
const eleTab = searchProfileTabSelector().evaluate()?.querySelector('div') as Element
const style = eleTab ? window.getComputedStyle(eleTab) : EMPTY_STYLE
@@ -149,13 +143,12 @@ function getStyle() {
} as StyleProps
}
-function useLocationChange() {
+function useLocationChange(handler: () => void) {
const onLocationChange = useCallback(() => {
- console.log(location.href)
- }, [])
+ handler()
+ }, [handler])
useEffect(() => {
- onLocationChange()
window.addEventListener('locationchange', onLocationChange)
return () => window.removeEventListener('locationchange', onLocationChange)
}, [onLocationChange])
@@ -169,15 +162,17 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const onClose = () => {
setActive(false)
- MaskMessage.events.profileNFTsPageUpdate.sendToLocal({ show: false })
+ MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: false })
resetStatus()
}
const onOpen = () => {
- MaskMessage.events.profileNFTsPageUpdate.sendToLocal({ show: true })
+ MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: true })
setActive(true)
}
- useRepaceState(onClose)
+ useEffect(() => {
+ return MaskMessage.events.profileNFTsTabUpdated.on(onClose)
+ }, [])
const onClick = useCallback(() => {
onOpen()
@@ -202,7 +197,7 @@ const EnhancedProfileaPageStyles = makeStyles((theme) => ({
fontSize: 18,
fontFamily: 'inherit',
fontWeight: 700,
- color: 'black',
+ color: getMaskColor(theme).textPrimary,
},
},
button: {
@@ -220,10 +215,12 @@ export function EnhancedProfileaPage() {
const style = getStyle()
const classes = EnhancedProfileaPageStyles(style)
- useLocationChange()
+ useLocationChange(() => {
+ MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
+ })
useEffect(() => {
- return MaskMessage.events.profileNFTsPageUpdate.on((data) => {
+ return MaskMessage.events.profileNFTsPageUpdated.on((data) => {
setShow(data.show)
})
}, [])
diff --git a/packages/maskbook/src/utils/messages.ts b/packages/maskbook/src/utils/messages.ts
index 886d1c89ec2c..81406bbec194 100644
--- a/packages/maskbook/src/utils/messages.ts
+++ b/packages/maskbook/src/utils/messages.ts
@@ -70,7 +70,8 @@ export interface MaskMessages extends SettingsEvents {
pluginEnabled: string
pluginDisabled: string
- profileNFTsPageUpdate: ProfileNFTsPageEvent
+ profileNFTsPageUpdated: ProfileNFTsPageEvent
+ profileNFTsTabUpdated: 'reset'
}
export const MaskMessage = new WebExtensionMessage({ domain: 'mask' })
Object.assign(globalThis, { MaskMessage })
From 17135732a422a32e2f7c958603824d01d3c1bf74 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Tue, 10 Aug 2021 20:54:44 +0800
Subject: [PATCH 41/60] fix: eslint error
---
.../twitter.com/injection/useEthereumName.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 6647136df24a..1e950e2136e0 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
@@ -4,7 +4,7 @@ import { getBioDescription, getNickname, getTwitterId } from '../utils/user'
const ENS_RE = /\w+\.eth/
const ENS_RE_FULL = /^\w+\.eth$/
-const ADDRESS = /0x[a-fA-F0-9]{40}/
+const ADDRESS = /0x[\dA-Fa-f]{40}/
export function useEthereumName() {
const [ethereumName, setEthereumName] = useState('')
From 1b11e8575f8384c02acec9eecb88efdd8504c2cc Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Wed, 11 Aug 2021 12:43:19 +0800
Subject: [PATCH 42/60] refactor: code style
---
.../InjectedComponents}/EnhancedProfile.tsx | 37 +++----------------
.../injection/EnhancedProfileTab.tsx | 31 ++++++++++++++++
.../twitter.com/ui-provider.ts | 2 +-
3 files changed, 38 insertions(+), 32 deletions(-)
rename packages/maskbook/src/{social-network-adaptor/twitter.com/injection => components/InjectedComponents}/EnhancedProfile.tsx (81%)
create mode 100644 packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
similarity index 81%
rename from packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
rename to packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index 71ee3dd54923..85bef18c3d35 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -1,43 +1,18 @@
-import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
+import { getMaskColor } from '@masknet/theme'
import { makeStyles, Theme } from '@material-ui/core'
import classNames from 'classnames'
+import Color from 'color'
import { useCallback, useEffect, useState } from 'react'
-import { createReactRootShadowed, MaskMessage, startWatch } from '../../../utils'
+import { CollectibleListAddress } from '../../extension/options-page/DashboardComponents/CollectibleList'
+import { useEthereumAddress } from '../../social-network-adaptor/twitter.com/injection/useEthereumName'
import {
searchForegroundColorSelector,
searchProfileEmptySelector,
- searchProfileTabListLastChildSelector,
searchProfileTabListSelector,
searchProfileTabPageSelector,
searchProfileTabSelector,
-} from '../utils/selector'
-import { useEthereumAddress } from './useEthereumName'
-import Color from 'color'
-import { CollectibleListAddress } from '../../../extension/options-page/DashboardComponents/CollectibleList'
-import { getMaskColor } from '@masknet/theme'
-
-function injectEnhancedProfileTab(signal: AbortSignal) {
- const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
- startWatch(watcher, signal)
- createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render()
-}
-
-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 injectEnhancedProfile(signal: AbortSignal) {
- injectEnhancedProfileTab(signal)
- injectEnhancedProfilePageForEmptyState(signal)
- injectEnhancedProfilePageState(signal)
-}
+} from '../../social-network-adaptor/twitter.com/utils/selector'
+import { MaskMessage } from '../../utils'
interface StyleProps {
color: string
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..001a9691c8ee
--- /dev/null
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -0,0 +1,31 @@
+import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
+import { EnhancedProfileaPage, EnhancedProfileTab } from '../../../components/InjectedComponents/EnhancedProfile'
+import { createReactRootShadowed, startWatch } from '../../../utils'
+import {
+ searchProfileEmptySelector,
+ searchProfileTabListLastChildSelector,
+ searchProfileTabPageSelector,
+} from '../utils/selector'
+
+function injectEnhancedProfileTab(signal: AbortSignal) {
+ const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
+ startWatch(watcher, signal)
+ createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render()
+}
+
+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 injectEnhancedProfile(signal: AbortSignal) {
+ injectEnhancedProfileTab(signal)
+ injectEnhancedProfilePageForEmptyState(signal)
+ injectEnhancedProfilePageState(signal)
+}
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 3a6999996bd1..084471377f7a 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,7 +29,7 @@ import { currentSelectedIdentity } from '../../settings/settings'
import { injectPostInspectorAtTwitter } from './injection/PostInspector'
import { ProfileIdentifier } from '../../database/type'
import { unreachable } from '@dimensiondev/kit'
-import { injectEnhancedProfile } from './injection/EnhancedProfile'
+import { injectEnhancedProfile } from './injection/EnhancedProfileTab'
const twitterUI: SocialNetworkUI.Definition = {
...twitterBase,
From 6eeafc01a48485762fa5387015d723d024a6fed7 Mon Sep 17 00:00:00 2001
From: Jack Works
Date: Wed, 11 Aug 2021 17:45:06 +0800
Subject: [PATCH 43/60] fix: broken lockfile
---
pnpm-lock.yaml | 237 +++++++++++++++++++++----------------------------
1 file changed, 102 insertions(+), 135 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bbd3daf3d707..72d8ad8153d4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -454,14 +454,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 +471,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 +486,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 +501,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 +522,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
@@ -3475,7 +3475,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:
@@ -3484,6 +3484,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
@@ -4172,7 +4173,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:
@@ -4193,7 +4194,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
@@ -6922,7 +6923,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:
@@ -6939,8 +6940,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:
@@ -7906,7 +7909,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:
@@ -7917,19 +7920,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:
@@ -7938,15 +7943,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:
@@ -7958,8 +7964,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
@@ -7977,7 +7985,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:
@@ -7992,7 +8000,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
@@ -8547,7 +8556,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
@@ -8560,6 +8569,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
@@ -12542,7 +12552,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
@@ -12550,28 +12560,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
@@ -13043,12 +13056,13 @@ packages:
eslint-visitor-keys: 1.3.0
dev: true
- /eslint-utils/3.0.0:
+ /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}
peerDependencies:
eslint: '>=5'
dependencies:
+ eslint: 7.31.0
eslint-visitor-keys: 2.1.0
dev: true
@@ -16242,7 +16256,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
@@ -16252,14 +16266,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
@@ -16272,7 +16286,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:
@@ -16302,6 +16316,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
@@ -16912,7 +16927,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
@@ -16922,9 +16937,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
@@ -18294,7 +18309,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
@@ -18302,6 +18317,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
@@ -18619,22 +18635,6 @@ packages:
/nan/2.14.2:
resolution: {integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==}
- /nano-css/5.3.1:
- resolution: {integrity: sha512-ENPIyNzANQRyYVvb62ajDd7PAyIgS2LIUnT9ewih4yrXSZX4hKoUwssy8WjUH++kEOA5wUTMgNnV7ko5n34kUA==}
- peerDependencies:
- react: '*'
- react-dom: '*'
- dependencies:
- css-tree: 1.1.3
- csstype: 3.0.8
- fastest-stable-stringify: 2.0.2
- inline-style-prefixer: 6.0.0
- rtl-css-js: 1.14.1
- sourcemap-codec: 1.4.8
- stacktrace-js: 2.0.2
- stylis: 4.0.10
- dev: false
-
/nano-css/5.3.1_f991c289939c8299bed5e4a6a5a79a62:
resolution: {integrity: sha512-ENPIyNzANQRyYVvb62ajDd7PAyIgS2LIUnT9ewih4yrXSZX4hKoUwssy8WjUH++kEOA5wUTMgNnV7ko5n34kUA==}
peerDependencies:
@@ -20541,13 +20541,14 @@ packages:
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:
@@ -20558,12 +20559,13 @@ 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_f991c289939c8299bed5e4a6a5a79a62:
@@ -20581,7 +20583,7 @@ packages:
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
@@ -20589,6 +20591,7 @@ 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@18.0.0-alpha-aecb3b6d1:
@@ -20632,12 +20635,15 @@ 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_f991c289939c8299bed5e4a6a5a79a62:
@@ -20684,7 +20690,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'
@@ -20693,7 +20699,8 @@ 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
@@ -20712,7 +20719,7 @@ packages:
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'
@@ -20721,9 +20728,10 @@ 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
@@ -20740,12 +20748,13 @@ packages:
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
@@ -20776,25 +20785,27 @@ packages:
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
@@ -20836,37 +20847,6 @@ packages:
tslib: 2.3.0
dev: false
- /react-universal-interface/0.6.2_tslib@2.3.0:
- resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==}
- peerDependencies:
- react: '*'
- tslib: '*'
- dependencies:
- tslib: 2.3.0
- dev: false
-
- /react-use/17.2.4:
- resolution: {integrity: sha512-vQGpsAM0F5UIlshw5UI8ULGPS4yn5rm7/qvn3T1Gnkrz7YRMEEMh+ynKcmRloOyiIeLvKWiQjMiwRGtdbgs5qQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- react-dom: ^16.8.0 || ^17.0.0
- dependencies:
- '@types/js-cookie': 2.2.7
- '@xobotyi/scrollbar-width': 1.9.5
- copy-to-clipboard: 3.3.1
- 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
- resize-observer-polyfill: 1.5.1
- screenfull: 5.1.0
- set-harmonic-interval: 1.0.1
- throttle-debounce: 3.0.1
- ts-easing: 0.2.0
- tslib: 2.3.0
- dev: false
-
/react-use/17.2.4_f991c289939c8299bed5e4a6a5a79a62:
resolution: {integrity: sha512-vQGpsAM0F5UIlshw5UI8ULGPS4yn5rm7/qvn3T1Gnkrz7YRMEEMh+ynKcmRloOyiIeLvKWiQjMiwRGtdbgs5qQ==}
peerDependencies:
@@ -20891,23 +20871,15 @@ 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
- dev: false
-
- /react-window/1.8.6:
- resolution: {integrity: sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg==}
- engines: {node: '>8.0.0'}
- peerDependencies:
- react: ^15.0.0 || ^16.0.0 || ^17.0.0
- react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0
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-window/1.8.6_f991c289939c8299bed5e4a6a5a79a62:
@@ -23472,7 +23444,7 @@ packages:
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
@@ -23494,13 +23466,14 @@ 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
@@ -23649,13 +23622,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:
@@ -23694,7 +23668,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
@@ -23703,15 +23677,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
@@ -24215,14 +24190,6 @@ packages:
use-isomorphic-layout-effect: 1.1.1_010541d7fdfc8cbcdd915345c89295c8
dev: true
- /use-subscription/1.5.1:
- resolution: {integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- dependencies:
- object-assign: 4.1.1
- dev: false
-
/use-subscription/1.5.1_react@18.0.0-alpha-aecb3b6d1:
resolution: {integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==}
peerDependencies:
From 6cec77abd9b2f39cd2d04ef5ada095ae5ace637b Mon Sep 17 00:00:00 2001
From: Jack Works
Date: Wed, 11 Aug 2021 18:05:51 +0800
Subject: [PATCH 44/60] chore: migrate enhanced profile tab to new makeStyles
---
.../InjectedComponents/EnhancedProfile.tsx | 34 +++++++++----------
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index 85bef18c3d35..ad5c7083ef35 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -1,5 +1,5 @@
import { getMaskColor } from '@masknet/theme'
-import { makeStyles, Theme } from '@material-ui/core'
+import { makeStyles } from '@masknet/theme'
import classNames from 'classnames'
import Color from 'color'
import { useCallback, useEffect, useState } from 'react'
@@ -23,13 +23,13 @@ interface StyleProps {
activeColor: string
}
-const useEnhancedProfileStyles = makeStyles((theme) => ({
+const useEnhancedProfileStyles = makeStyles()((theme, props) => ({
tab: {
'&:hover': {
- backgroundColor: (props: StyleProps) => new Color(props.activeColor).alpha(0.1).toString(),
+ backgroundColor: new Color(props.activeColor).alpha(0.1).toString(),
cursor: 'pointer',
},
- height: (props: StyleProps) => props.height,
+ height: props.height,
},
button: {
display: 'flex',
@@ -37,17 +37,17 @@ const useEnhancedProfileStyles = makeStyles((theme) => ({
justifyContent: 'center',
alignItems: 'center',
textAlign: 'center',
- padding: (props: StyleProps) => props.padding,
+ padding: props.padding,
fontWeight: 700,
- color: (props: StyleProps) => props.color,
- font: (props: StyleProps) => props.font,
- fontSize: (props: StyleProps) => props.fontSize,
+ color: props.color,
+ font: props.font,
+ fontSize: props.fontSize,
'&:hover': {
- color: (props: StyleProps) => props.activeColor,
+ color: props.activeColor,
},
},
hot: {
- color: (props: StyleProps) => props.activeColor,
+ color: props.activeColor,
},
active: {
dispaly: 'inline-flex',
@@ -57,7 +57,7 @@ const useEnhancedProfileStyles = makeStyles((theme) => ({
minWidth: 56,
alignSelf: 'center',
height: 4,
- backgroundColor: (props: StyleProps) => props.activeColor,
+ backgroundColor: props.activeColor,
},
}))
export interface EnhancedProfileTabProps {}
@@ -131,8 +131,7 @@ function useLocationChange(handler: () => void) {
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const style = getStyle()
- const classes = useEnhancedProfileStyles(style)
-
+ const { classes } = useEnhancedProfileStyles(style)
const [active, setActive] = useState(false)
const onClose = () => {
@@ -163,8 +162,7 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
)
}
-
-const EnhancedProfileaPageStyles = makeStyles
((theme) => ({
+const useEnhancedProfileaPageStyles = makeStyles()((theme, props) => ({
empty: {
paddingTop: 36,
paddingBottom: 36,
@@ -176,11 +174,11 @@ const EnhancedProfileaPageStyles = makeStyles((theme) => ({
},
},
button: {
- backgroundColor: (props: StyleProps) => props.activeColor,
+ backgroundColor: props.activeColor,
color: 'white',
marginTop: 18,
'&:hover': {
- backgroundColor: (props: StyleProps) => props.activeColor,
+ backgroundColor: props.activeColor,
},
},
}))
@@ -188,7 +186,7 @@ const EnhancedProfileaPageStyles = makeStyles((theme) => ({
export function EnhancedProfileaPage() {
const [show, setShow] = useState(false)
const style = getStyle()
- const classes = EnhancedProfileaPageStyles(style)
+ const { classes } = useEnhancedProfileaPageStyles(style)
useLocationChange(() => {
MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
From 285f69458a306b9e3f62e4b8ab9c08d7c19569d2 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 12:09:02 +0800
Subject: [PATCH 45/60] fix: refresh nft list
---
.../InjectedComponents/EnhancedProfile.tsx | 195 +++---------------
.../InjectedComponents/EnhancedProfileTab.tsx | 153 ++++++++++++++
.../twitter.com/injection/EnhancedProfile.tsx | 20 ++
.../injection/EnhancedProfileTab.tsx | 27 +--
.../twitter.com/injection/useEthereumName.ts | 19 +-
.../twitter.com/ui-provider.ts | 6 +-
.../twitter.com/utils/selector.ts | 3 +-
packages/maskbook/src/social-network/types.ts | 1 +
packages/maskbook/src/social-network/ui.ts | 2 +
.../src/utils/hooks/useLocationChange.ts | 8 +
pnpm-lock.yaml | 2 -
11 files changed, 232 insertions(+), 204 deletions(-)
create mode 100644 packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
create mode 100644 packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
create mode 100644 packages/maskbook/src/utils/hooks/useLocationChange.ts
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index ad5c7083ef35..b5f382a015d7 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -1,168 +1,19 @@
-import { getMaskColor } from '@masknet/theme'
-import { makeStyles } from '@masknet/theme'
-import classNames from 'classnames'
-import Color from 'color'
-import { useCallback, useEffect, useState } from 'react'
+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 {
- searchForegroundColorSelector,
- searchProfileEmptySelector,
- searchProfileTabListSelector,
- searchProfileTabPageSelector,
- searchProfileTabSelector,
-} from '../../social-network-adaptor/twitter.com/utils/selector'
+import { searchNewTweetButtonSelector } from '../../social-network-adaptor/twitter.com/utils/selector'
+import { getBioDescription, getNickname, getTwitterId } from '../../social-network-adaptor/twitter.com/utils/user'
import { MaskMessage } from '../../utils'
+import { useLocationChange } from '../../utils/hooks/useLocationChange'
interface StyleProps {
- color: string
- font: string
- fontSize: string
- padding: string
- height: string
- activeColor: string
+ backgroundColor: string
}
-const useEnhancedProfileStyles = makeStyles()((theme, props) => ({
- tab: {
- '&:hover': {
- backgroundColor: new Color(props.activeColor).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.activeColor,
- },
- },
- hot: {
- color: props.activeColor,
- },
- active: {
- dispaly: 'inline-flex',
- borderRadius: 99999,
- position: 'absolute',
- bottom: 0,
- minWidth: 56,
- alignSelf: 'center',
- height: 4,
- backgroundColor: props.activeColor,
- },
-}))
-export interface EnhancedProfileTabProps {}
-
const EMPTY_STYLE = {} as CSSStyleDeclaration
-function clearStatus() {
- 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 resetStatus() {
- 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 eleForegroundColorStyle = searchForegroundColorSelector().evaluate()
- const foregroundColorStyle = eleForegroundColorStyle
- ? window.getComputedStyle(eleForegroundColorStyle)
- : EMPTY_STYLE
-
- return {
- color: style.color,
- font: style.font,
- fontSize: style.fontSize,
- padding: style.paddingBottom,
- height: style.height,
- activeColor: foregroundColorStyle.color,
- } as StyleProps
-}
-
-function useLocationChange(handler: () => void) {
- const onLocationChange = useCallback(() => {
- handler()
- }, [handler])
-
- useEffect(() => {
- window.addEventListener('locationchange', onLocationChange)
- return () => window.removeEventListener('locationchange', onLocationChange)
- }, [onLocationChange])
-}
-
-export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
- const style = getStyle()
- const { classes } = useEnhancedProfileStyles(style)
- const [active, setActive] = useState(false)
-
- const onClose = () => {
- setActive(false)
- MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: false })
- resetStatus()
- }
- const onOpen = () => {
- MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: true })
- setActive(true)
- }
-
- useEffect(() => {
- return MaskMessage.events.profileNFTsTabUpdated.on(onClose)
- }, [])
-
- const onClick = useCallback(() => {
- onOpen()
- clearStatus()
- }, [clearStatus, onOpen])
-
- return (
-
-
- NFTs
- {active ?
: null}
-
-
- )
-}
-const useEnhancedProfileaPageStyles = makeStyles()((theme, props) => ({
+const useStyles = makeStyles()((theme, props) => ({
empty: {
paddingTop: 36,
paddingBottom: 36,
@@ -174,23 +25,41 @@ const useEnhancedProfileaPageStyles = makeStyles()((theme, props) =>
},
},
button: {
- backgroundColor: props.activeColor,
+ backgroundColor: props.backgroundColor,
color: 'white',
marginTop: 18,
'&:hover': {
- backgroundColor: props.activeColor,
+ backgroundColor: props.backgroundColor,
},
},
}))
export function EnhancedProfileaPage() {
const [show, setShow] = useState(false)
- const style = getStyle()
- const { classes } = useEnhancedProfileaPageStyles(style)
+ const newTweetButton = searchNewTweetButtonSelector().evaluate()
+ const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE
+ const { classes } = useStyles({ backgroundColor: style.backgroundColor })
- useLocationChange(() => {
+ const [bio, setBio] = useState(getBioDescription())
+ const [nickname, setNickname] = useState(getNickname())
+ const [twitterId, setTwitterId] = useState(getTwitterId())
+
+ const onLocalChange = () => {
MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
- })
+ }
+
+ useEffect(() => {
+ return MaskMessage.events.profileNFTsTabUpdated.on((data) => {
+ const _bioDescription = getBioDescription()
+ setBio(_bioDescription)
+ const _nickname = getNickname()
+ setNickname(_nickname)
+ const _twitterId = getTwitterId()
+ setTwitterId(_twitterId)
+ })
+ }, [])
+
+ useLocationChange(onLocalChange)
useEffect(() => {
return MaskMessage.events.profileNFTsPageUpdated.on((data) => {
@@ -198,6 +67,6 @@ export function EnhancedProfileaPage() {
})
}, [])
- const resolvedAddress = useEthereumAddress()
+ const resolvedAddress = useEthereumAddress(nickname, twitterId, bio)
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..51fac7089a3c
--- /dev/null
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -0,0 +1,153 @@
+import { makeStyles } from '@masknet/theme'
+import classNames from 'classnames'
+import Color from 'color'
+import { useCallback, useEffect, useState } from 'react'
+import {
+ searchForegroundColorSelector,
+ searchNewTweetButtonSelector,
+ searchProfileEmptySelector,
+ searchProfileTabListSelector,
+ searchProfileTabPageSelector,
+ searchProfileTabSelector,
+} from '../../social-network-adaptor/twitter.com/utils/selector'
+import { MaskMessage } from '../../utils'
+
+interface StyleProps {
+ color: string
+ font: string
+ fontSize: string
+ padding: string
+ height: string
+ hover: string
+ line: string
+}
+
+const useEnhancedProfileStyles = 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,
+ },
+ },
+ hot: {
+ color: props.hover,
+ },
+ line: {
+ dispaly: 'inline-flex',
+ borderRadius: 99999,
+ position: 'absolute',
+ bottom: 0,
+ minWidth: 56,
+ alignSelf: 'center',
+ height: 4,
+ backgroundColor: props.line,
+ },
+}))
+export interface EnhancedProfileTabProps {}
+
+const EMPTY_STYLE = {} as CSSStyleDeclaration
+
+function clearStatus() {
+ 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 resetStatus() {
+ 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 EnhancedProfileTab(props: EnhancedProfileTabProps) {
+ const style = getStyle()
+ const { classes } = useEnhancedProfileStyles(style)
+ const [active, setActive] = useState(false)
+
+ const onClose = () => {
+ setActive(false)
+ MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: false })
+ resetStatus()
+ }
+ const onOpen = () => {
+ MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: true })
+ setActive(true)
+ }
+
+ useEffect(() => {
+ return MaskMessage.events.profileNFTsTabUpdated.on(onClose)
+ }, [])
+
+ const onClick = useCallback(() => {
+ onOpen()
+ clearStatus()
+ }, [clearStatus, onOpen])
+
+ return (
+
+
+ NFTs
+ {active ?
: null}
+
+
+ )
+}
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..678801728273
--- /dev/null
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -0,0 +1,20 @@
+import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
+import { EnhancedProfileaPage } from '../../../components/InjectedComponents/EnhancedProfile'
+import { createReactRootShadowed, startWatch } from '../../../utils'
+import { searchProfileEmptySelector, searchProfileTabPageSelector } from '../utils/selector'
+
+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)
+}
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
index 001a9691c8ee..7cda72c9dfad 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -1,31 +1,10 @@
import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
-import { EnhancedProfileaPage, EnhancedProfileTab } from '../../../components/InjectedComponents/EnhancedProfile'
+import { EnhancedProfileTab } from '../../../components/InjectedComponents/EnhancedProfileTab'
import { createReactRootShadowed, startWatch } from '../../../utils'
-import {
- searchProfileEmptySelector,
- searchProfileTabListLastChildSelector,
- searchProfileTabPageSelector,
-} from '../utils/selector'
+import { searchProfileTabListLastChildSelector } from '../utils/selector'
-function injectEnhancedProfileTab(signal: AbortSignal) {
+export function injectEnhancedProfileTabAtTwitter(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
startWatch(watcher, signal)
createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render()
}
-
-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 injectEnhancedProfile(signal: AbortSignal) {
- injectEnhancedProfileTab(signal)
- injectEnhancedProfilePageForEmptyState(signal)
- injectEnhancedProfilePageState(signal)
-}
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
index 1e950e2136e0..2decaadaee25 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
@@ -1,23 +1,19 @@
import { useResolveEns } from '@masknet/web3-shared'
import { useEffect, useMemo, useState } from 'react'
-import { getBioDescription, getNickname, getTwitterId } from '../utils/user'
const ENS_RE = /\w+\.eth/
const ENS_RE_FULL = /^\w+\.eth$/
const ADDRESS = /0x[\dA-Fa-f]{40}/
-export function useEthereumName() {
+export function useEthereumName(nickname: string, twitterId: string, bio: string) {
const [ethereumName, setEthereumName] = useState('')
- const nickname = getNickname()
- const twitterId = getTwitterId()
- const bioDescription = getBioDescription()
useEffect(() => {
- const matched = bioDescription.match(ENS_RE)
+ const matched = bio.match(ENS_RE)
if (matched) {
setEthereumName(matched[0])
}
- }, [bioDescription])
+ }, [bio])
const name = useMemo(() => {
if (ENS_RE_FULL.test(nickname)) {
return nickname
@@ -29,16 +25,15 @@ export function useEthereumName() {
return name
}
-export function useEthereumAddress() {
- const bioDescription = getBioDescription()
+export function useEthereumAddress(nickanme: string, twitterId: string, bio: string) {
const [addr, setAddr] = useState()
- const name = useEthereumName()
+ const name = useEthereumName(nickanme, twitterId, bio)
const ens_addr = useResolveEns(name).value
useEffect(() => {
- const matched = bioDescription.match(ADDRESS)
+ const matched = bio.match(ADDRESS)
if (matched) setAddr(matched[0])
- }, [bioDescription])
+ }, [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 084471377f7a..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,7 +29,8 @@ import { currentSelectedIdentity } from '../../settings/settings'
import { injectPostInspectorAtTwitter } from './injection/PostInspector'
import { ProfileIdentifier } from '../../database/type'
import { unreachable } from '@dimensiondev/kit'
-import { injectEnhancedProfile } from './injection/EnhancedProfileTab'
+import { injectEnhancedProfileTabAtTwitter } from './injection/EnhancedProfileTab'
+import { injectEnhancedProfileAtTwitter } from './injection/EnhancedProfile'
const twitterUI: SocialNetworkUI.Definition = {
...twitterBase,
@@ -78,7 +79,8 @@ const twitterUI: SocialNetworkUI.Definition = {
pageInspector: injectPageInspectorDefault(),
postInspector: injectPostInspectorAtTwitter,
setupPrompt: injectSetupPromptAtTwitter,
- enhancedProfile: injectEnhancedProfile,
+ 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 ca06a25f1278..bf5435121701 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
@@ -36,7 +36,8 @@ export const searchProfileTabListSelector = () =>
querySelectorAll('[aria-label="Profile timelines"] [role="tablist"][data-testid="ScrollSnap-List"] a')
export const searchForegroundColorSelector: () => LiveSelector = () =>
querySelector('[data-testid="primaryColumn"] [aria-label="Back"][role="button"] > 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) =>
diff --git a/packages/maskbook/src/social-network/types.ts b/packages/maskbook/src/social-network/types.ts
index 5327b8d95b14..6cd1687cdc98 100644
--- a/packages/maskbook/src/social-network/types.ts
+++ b/packages/maskbook/src/social-network/types.ts
@@ -124,6 +124,7 @@ export namespace SocialNetworkUI {
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 {
diff --git a/packages/maskbook/src/social-network/ui.ts b/packages/maskbook/src/social-network/ui.ts
index 9171470e9f2a..984773209f74 100644
--- a/packages/maskbook/src/social-network/ui.ts
+++ b/packages/maskbook/src/social-network/ui.ts
@@ -80,7 +80,9 @@ export async function activateSocialNetworkUIInner(ui_deferred: SocialNetworkUI.
ui.injection.userBadge?.(signal)
setTimeout(activateSNSAdaptorPluginOnStart, 1000)
+
ui.injection.enhancedProfile?.(signal)
+ ui.injection.enhancedProfileTab?.(signal)
startPluginSNSAdaptor(getCurrentSNSNetwork(ui.networkIdentifier), createPluginHost(signal))
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/pnpm-lock.yaml b/pnpm-lock.yaml
index fea8266b5382..2fd111eae148 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15546,7 +15546,6 @@ packages:
get-intrinsic: 1.1.1
has: 1.0.3
side-channel: 1.0.4
- dev: true
/interpret/1.4.0:
resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
@@ -22048,7 +22047,6 @@ packages:
call-bind: 1.0.2
get-intrinsic: 1.1.1
object-inspect: 1.11.0
- dev: true
/signal-exit/3.0.3:
resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==}
From 95782d9efbf3b3e42d060199da47060037fa2947 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 14:41:37 +0800
Subject: [PATCH 46/60] refactor: improve code
---
.../InjectedComponents/EnhancedProfile.tsx | 50 +++----
.../InjectedComponents/EnhancedProfileTab.tsx | 117 +++-------------
.../twitter.com/injection/EnhancedProfile.tsx | 65 ++++++++-
.../injection/EnhancedProfileTab.tsx | 125 +++++++++++++++++-
.../twitter.com/injection/useEthereumName.ts | 1 +
5 files changed, 224 insertions(+), 134 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index b5f382a015d7..6bdcfa92d317 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -1,19 +1,13 @@
-import { getMaskColor, makeStyles } from '@masknet/theme'
+import { useStylesExtends } from '@masknet/shared'
+import { getMaskColor } from '@masknet/theme'
+import { makeStyles } from '@material-ui/core'
import { useState, useEffect } from 'react'
import { CollectibleListAddress } from '../../extension/options-page/DashboardComponents/CollectibleList'
import { useEthereumAddress } from '../../social-network-adaptor/twitter.com/injection/useEthereumName'
-import { searchNewTweetButtonSelector } from '../../social-network-adaptor/twitter.com/utils/selector'
-import { getBioDescription, getNickname, getTwitterId } from '../../social-network-adaptor/twitter.com/utils/user'
import { MaskMessage } from '../../utils'
import { useLocationChange } from '../../utils/hooks/useLocationChange'
-interface StyleProps {
- backgroundColor: string
-}
-
-const EMPTY_STYLE = {} as CSSStyleDeclaration
-
-const useStyles = makeStyles()((theme, props) => ({
+const useStyles = makeStyles((theme) => ({
empty: {
paddingTop: 36,
paddingBottom: 36,
@@ -24,25 +18,20 @@ const useStyles = makeStyles()((theme, props) => ({
color: getMaskColor(theme).textPrimary,
},
},
- button: {
- backgroundColor: props.backgroundColor,
- color: 'white',
- marginTop: 18,
- '&:hover': {
- backgroundColor: props.backgroundColor,
- },
- },
+ button: {},
}))
-export function EnhancedProfileaPage() {
- const [show, setShow] = useState(false)
- const newTweetButton = searchNewTweetButtonSelector().evaluate()
- const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE
- const { classes } = useStyles({ backgroundColor: style.backgroundColor })
+interface EnhancedProfileaPageProps extends withClasses<'empty' | 'button'> {
+ bioDescription: string
+ nickname: string
+ twitterId: string
+ onUpdated: () => void
+}
- const [bio, setBio] = useState(getBioDescription())
- const [nickname, setNickname] = useState(getNickname())
- const [twitterId, setTwitterId] = useState(getTwitterId())
+export function EnhancedProfileaPage(props: EnhancedProfileaPageProps) {
+ const [show, setShow] = useState(false)
+ const classes = useStylesExtends(useStyles(), props)
+ const { bioDescription, nickname, twitterId, onUpdated } = props
const onLocalChange = () => {
MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
@@ -50,12 +39,7 @@ export function EnhancedProfileaPage() {
useEffect(() => {
return MaskMessage.events.profileNFTsTabUpdated.on((data) => {
- const _bioDescription = getBioDescription()
- setBio(_bioDescription)
- const _nickname = getNickname()
- setNickname(_nickname)
- const _twitterId = getTwitterId()
- setTwitterId(_twitterId)
+ onUpdated()
})
}, [])
@@ -67,6 +51,6 @@ export function EnhancedProfileaPage() {
})
}, [])
- const resolvedAddress = useEthereumAddress(nickname, twitterId, bio)
+ 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
index 51fac7089a3c..f3b3f21344da 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -1,34 +1,17 @@
-import { makeStyles } from '@masknet/theme'
+import { useStylesExtends } from '@masknet/shared'
+import { getMaskColor, makeStyles } from '@masknet/theme'
import classNames from 'classnames'
import Color from 'color'
import { useCallback, useEffect, useState } from 'react'
-import {
- searchForegroundColorSelector,
- searchNewTweetButtonSelector,
- searchProfileEmptySelector,
- searchProfileTabListSelector,
- searchProfileTabPageSelector,
- searchProfileTabSelector,
-} from '../../social-network-adaptor/twitter.com/utils/selector'
-import { MaskMessage } from '../../utils'
-interface StyleProps {
- color: string
- font: string
- fontSize: string
- padding: string
- height: string
- hover: string
- line: string
-}
+import { MaskMessage } from '../../utils'
-const useEnhancedProfileStyles = makeStyles()((theme, props) => ({
+const useStyles = makeStyles()((theme) => ({
tab: {
'&:hover': {
- backgroundColor: new Color(props.hover).alpha(0.1).toString(),
+ backgroundColor: new Color(getMaskColor(theme).blue).alpha(0.1).toString(),
cursor: 'pointer',
},
- height: props.height,
},
button: {
display: 'flex',
@@ -36,17 +19,12 @@ const useEnhancedProfileStyles = makeStyles()((theme, props) => ({
justifyContent: 'center',
alignItems: 'center',
textAlign: 'center',
- padding: props.padding,
+ padding: theme.spacing(1),
fontWeight: 700,
- color: props.color,
- font: props.font,
- fontSize: props.fontSize,
- '&:hover': {
- color: props.hover,
- },
+ color: getMaskColor(theme).blue,
},
hot: {
- color: props.hover,
+ color: 'black',
},
line: {
dispaly: 'inline-flex',
@@ -56,77 +34,24 @@ const useEnhancedProfileStyles = makeStyles()((theme, props) => ({
minWidth: 56,
alignSelf: 'center',
height: 4,
- backgroundColor: props.line,
+ backgroundColor: getMaskColor(theme).blue,
},
}))
-export interface EnhancedProfileTabProps {}
-
-const EMPTY_STYLE = {} as CSSStyleDeclaration
-
-function clearStatus() {
- 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 resetStatus() {
- 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 interface EnhancedProfileTabProps extends withClasses<'tab' | 'button' | 'hot' | 'line'> {
+ clear(): void
+ reset(): void
}
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
- const style = getStyle()
- const { classes } = useEnhancedProfileStyles(style)
+ const { reset, clear } = props
+ const { classes } = useStyles()
+ const styles = useStylesExtends(classes, props)
const [active, setActive] = useState(false)
const onClose = () => {
setActive(false)
MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: false })
- resetStatus()
+ reset()
}
const onOpen = () => {
MaskMessage.events.profileNFTsPageUpdated.sendToLocal({ show: true })
@@ -139,14 +64,14 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
const onClick = useCallback(() => {
onOpen()
- clearStatus()
- }, [clearStatus, onOpen])
+ clear()
+ }, [clear, onOpen])
return (
-
-
+
+
NFTs
- {active ?
: null}
+ {active ?
: null}
)
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
index 678801728273..5659219fa94d 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -1,20 +1,79 @@
import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
+import { getMaskColor } from '@masknet/theme'
+import { makeStyles, Theme } from '@material-ui/core'
+import { useState } from 'react'
import { EnhancedProfileaPage } from '../../../components/InjectedComponents/EnhancedProfile'
import { createReactRootShadowed, startWatch } from '../../../utils'
-import { searchProfileEmptySelector, searchProfileTabPageSelector } from '../utils/selector'
+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(
)
+ createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render(
)
}
function injectEnhancedProfilePageState(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabPageSelector())
startWatch(watcher, signal)
- createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render(
)
+ createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render(
)
}
export function injectEnhancedProfileAtTwitter(signal: AbortSignal) {
injectEnhancedProfilePageForEmptyState(signal)
injectEnhancedProfilePageState(signal)
}
+
+const EMPTY_STYLE = {} as CSSStyleDeclaration
+interface StyleProps {
+ backgroundColor: string
+}
+
+const useStyles = makeStyles
((theme) => ({
+ empty: {
+ paddingTop: 36,
+ paddingBottom: 36,
+ '& > p': {
+ fontSize: 18,
+ fontFamily: 'inherit',
+ fontWeight: 700,
+ color: getMaskColor(theme).textPrimary,
+ },
+ },
+ button: {
+ backgroundColor: (props: StyleProps) => props.backgroundColor,
+ color: 'white',
+ marginTop: 18,
+ '&:hover': {
+ backgroundColor: (props: StyleProps) => props.backgroundColor,
+ },
+ },
+}))
+
+export function EnhancedProfileaPageAtTwitter() {
+ const newTweetButton = searchNewTweetButtonSelector().evaluate()
+ const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE
+ const classes = useStyles({ backgroundColor: style.backgroundColor })
+
+ 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
index 7cda72c9dfad..36e2ec88fb58 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -1,10 +1,131 @@
import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
import { EnhancedProfileTab } from '../../../components/InjectedComponents/EnhancedProfileTab'
import { createReactRootShadowed, startWatch } from '../../../utils'
-import { searchProfileTabListLastChildSelector } from '../utils/selector'
+import {
+ searchForegroundColorSelector,
+ searchNewTweetButtonSelector,
+ searchProfileEmptySelector,
+ searchProfileTabListLastChildSelector,
+ searchProfileTabListSelector,
+ searchProfileTabPageSelector,
+ searchProfileTabSelector,
+} from '../utils/selector'
+import Color from 'color'
+import { makeStyles, Theme } from '@material-ui/core'
export function injectEnhancedProfileTabAtTwitter(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
startWatch(watcher, signal)
- createReactRootShadowed(watcher.firstDOMProxy.afterShadow, { signal }).render()
+ 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) => ({
+ tab: {
+ '&:hover': {
+ backgroundColor: (props: StyleProps) => new Color(props.hover).alpha(0.1).toString(),
+ cursor: 'pointer',
+ },
+ height: (props: StyleProps) => props.height,
+ },
+ button: {
+ display: 'flex',
+ minWidth: 56,
+ justifyContent: 'center',
+ alignItems: 'center',
+ textAlign: 'center',
+ padding: (props: StyleProps) => props.padding,
+ fontWeight: 700,
+ color: (props: StyleProps) => props.color,
+ font: (props: StyleProps) => props.font,
+ fontSize: (props: StyleProps) => props.fontSize,
+ '&:hover': {
+ color: (props: StyleProps) => props.hover,
+ },
+ },
+ hot: {
+ color: (props: StyleProps) => props.hover,
+ },
+ line: {
+ dispaly: 'inline-flex',
+ borderRadius: 99999,
+ position: 'absolute',
+ bottom: 0,
+ minWidth: 56,
+ alignSelf: 'center',
+ height: 4,
+ backgroundColor: (props: StyleProps) => 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
index 2decaadaee25..f1127692e082 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
@@ -31,6 +31,7 @@ export function useEthereumAddress(nickanme: string, twitterId: string, bio: str
const ens_addr = useResolveEns(name).value
useEffect(() => {
+ setAddr('')
const matched = bio.match(ADDRESS)
if (matched) setAddr(matched[0])
}, [bio])
From 3135f370b409e580e8ca1614684fa010ea0d7011 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 16:40:18 +0800
Subject: [PATCH 47/60] fix: change the chainnet, not update the nft list
---
.../InjectedComponents/EnhancedProfileTab.tsx | 23 ++++++-------------
.../injection/EnhancedProfileTab.tsx | 2 +-
.../web3-shared/src/hooks/useResolveEns.ts | 4 +++-
3 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
index f3b3f21344da..6126fcc0739e 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -2,7 +2,7 @@ import { useStylesExtends } from '@masknet/shared'
import { getMaskColor, makeStyles } from '@masknet/theme'
import classNames from 'classnames'
import Color from 'color'
-import { useCallback, useEffect, useState } from 'react'
+import { ReactElement, useCallback, useEffect, useState } from 'react'
import { MaskMessage } from '../../utils'
@@ -23,27 +23,18 @@ const useStyles = makeStyles()((theme) => ({
fontWeight: 700,
color: getMaskColor(theme).blue,
},
- hot: {
+ selected: {
color: 'black',
},
- line: {
- dispaly: 'inline-flex',
- borderRadius: 99999,
- position: 'absolute',
- bottom: 0,
- minWidth: 56,
- alignSelf: 'center',
- height: 4,
- backgroundColor: getMaskColor(theme).blue,
- },
}))
-export interface EnhancedProfileTabProps extends withClasses<'tab' | 'button' | 'hot' | 'line'> {
+export interface EnhancedProfileTabProps extends withClasses<'tab' | 'button' | 'selected'> {
clear(): void
reset(): void
+ hot?: ReactElement
}
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
- const { reset, clear } = props
+ const { reset, clear, hot } = props
const { classes } = useStyles()
const styles = useStylesExtends(classes, props)
const [active, setActive] = useState(false)
@@ -69,9 +60,9 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
return (
-
+
NFTs
- {active ?
: null}
+ {active && hot ? hot : null}
)
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
index 36e2ec88fb58..f77a79979cc3 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -52,7 +52,7 @@ const useStyles = makeStyles
((theme) => ({
color: (props: StyleProps) => props.hover,
},
},
- hot: {
+ selected: {
color: (props: StyleProps) => props.hover,
},
line: {
diff --git a/packages/web3-shared/src/hooks/useResolveEns.ts b/packages/web3-shared/src/hooks/useResolveEns.ts
index c517f26840b5..656eed4c10ed 100644
--- a/packages/web3-shared/src/hooks/useResolveEns.ts
+++ b/packages/web3-shared/src/hooks/useResolveEns.ts
@@ -1,11 +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])
+ }, [web3, name, chainId])
}
From 1e00ffd18b3d95925d4e1032b2e399ed6e1b9037 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 16:44:19 +0800
Subject: [PATCH 48/60] fix: recovery code
---
.../twitter.com/injection/EnhancedProfileTab.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index f77a79979cc3..8bc89482c851 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -127,5 +127,5 @@ function getStyle() {
export function EnhancedProfileTabAtTwitter() {
const style = getStyle()
const classes = useStyles(style)
- return
+ return } />
}
From a37b6237d25d293dd9161fa0c8e5ff7142ba2075 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 18:29:11 +0800
Subject: [PATCH 49/60] fix: ens resolve
---
.../twitter.com/injection/useEthereumName.ts | 1 +
1 file changed, 1 insertion(+)
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
index f1127692e082..05bd97328c9d 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/useEthereumName.ts
@@ -9,6 +9,7 @@ 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])
From 342dd4296ce12846661b958c763681aff3670c22 Mon Sep 17 00:00:00 2001
From: Jack Works
Date: Thu, 12 Aug 2021 19:14:08 +0800
Subject: [PATCH 50/60] fix: css breaks
---
packages/theme/package.json | 2 +-
pnpm-lock.yaml | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
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/pnpm-lock.yaml b/pnpm-lock.yaml
index 72d8ad8153d4..1146840d057e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -687,7 +687,7 @@ 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
@@ -697,7 +697,7 @@ importers:
notistack: 1.0.6-next.1_132ff92e0fd7328580f6380de259b809
react-window: 1.8.6_f991c289939c8299bed5e4a6a5a79a62
tinycolor2: 1.4.2
- tss-react: 0.6.0-beta.1_c6fea8dcaf6b764ffb1999acad870c8e
+ tss-react: 0.6.0_bef0d66e98e8cc6f9687bc5bf9034690
use-subscription: 1.5.1_react@18.0.0-alpha-aecb3b6d1
devDependencies:
'@babel/core': 7.14.8
@@ -18524,6 +18524,7 @@ packages:
/multibase/2.0.0:
resolution: {integrity: sha512-xIrqUVsinSlFjqj+OtEgCJ6MRl5hXjHMBPWsUt1ZGSRMx8rzm+7hCLE4wDeSA3COomlUC9zHCoUlvWjvAMtfDg==}
engines: {node: '>=10.0.0', npm: '>=6.0.0'}
+ deprecated: This module has been superseded by the multiformats module
dependencies:
base-x: 3.0.8
buffer: 5.7.1
@@ -18533,6 +18534,7 @@ packages:
/multibase/3.1.2:
resolution: {integrity: sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==}
engines: {node: '>=10.0.0', npm: '>=6.0.0'}
+ deprecated: This module has been superseded by the multiformats module
dependencies:
'@multiformats/base-x': 4.0.1
web-encoding: 1.1.5
@@ -18541,6 +18543,7 @@ packages:
/multibase/4.0.4:
resolution: {integrity: sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==}
engines: {node: '>=12.0.0', npm: '>=6.0.0'}
+ deprecated: This module has been superseded by the multiformats module
dependencies:
'@multiformats/base-x': 4.0.1
dev: false
@@ -23586,13 +23589,10 @@ packages:
typescript: 2.9.2
dev: false
- /tss-react/0.6.0-beta.1_c6fea8dcaf6b764ffb1999acad870c8e:
- resolution: {integrity: sha512-2RtMNR5KQoZIixu+osV2tJJxIT0KBdW+sKTS2LCuz4WpULUFj5e5BUNpV4RFZj7Fmt/+mImpDHVATCx73+qLyQ==}
+ /tss-react/0.6.0_bef0d66e98e8cc6f9687bc5bf9034690:
+ resolution: {integrity: sha512-9AiMS/P30X3xPk7VMj14WBsZ/erb/Tr/Z/m07Va84E/tPy1GqVFnixx42XYwzDehaVOQQ9ap+bUNxdpBI98+uQ==}
peerDependencies:
- '@emotion/cache': ^11.4.0
'@emotion/react': ^11.4.1
- '@emotion/serialize': ^1.0.2
- '@emotion/utils': ^1.0.0
dependencies:
'@emotion/cache': 11.4.0
'@emotion/react': 11.4.1_010541d7fdfc8cbcdd915345c89295c8
From c54300c6a7da4a9e52b7007166031566d08bc173 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 19:22:41 +0800
Subject: [PATCH 51/60] fix: hide retry button
---
.../InjectedComponents/EnhancedProfile.tsx | 11 ++++----
.../InjectedComponents/EnhancedProfileTab.tsx | 15 +++++-----
.../CollectibleList/index.tsx | 11 ++++++--
.../twitter.com/injection/EnhancedProfile.tsx | 11 ++++----
.../injection/EnhancedProfileTab.tsx | 28 ++++++++++---------
5 files changed, 40 insertions(+), 36 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index 6bdcfa92d317..03927b4f871a 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -1,18 +1,17 @@
import { useStylesExtends } from '@masknet/shared'
-import { getMaskColor } from '@masknet/theme'
-import { makeStyles } from '@material-ui/core'
+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) => ({
+const useStyles = makeStyles()((theme) => ({
empty: {
paddingTop: 36,
paddingBottom: 36,
'& > p': {
- fontSize: 18,
+ fontSize: 28,
fontFamily: 'inherit',
fontWeight: 700,
color: getMaskColor(theme).textPrimary,
@@ -37,14 +36,14 @@ export function EnhancedProfileaPage(props: EnhancedProfileaPageProps) {
MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
}
+ useLocationChange(onLocalChange)
+
useEffect(() => {
return MaskMessage.events.profileNFTsTabUpdated.on((data) => {
onUpdated()
})
}, [])
- useLocationChange(onLocalChange)
-
useEffect(() => {
return MaskMessage.events.profileNFTsPageUpdated.on((data) => {
setShow(data.show)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
index 6126fcc0739e..a34ed58d7a13 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -1,6 +1,6 @@
import { useStylesExtends } from '@masknet/shared'
import { getMaskColor, makeStyles } from '@masknet/theme'
-import classNames from 'classnames'
+import classnames from 'classnames'
import Color from 'color'
import { ReactElement, useCallback, useEffect, useState } from 'react'
@@ -30,13 +30,12 @@ const useStyles = makeStyles()((theme) => ({
export interface EnhancedProfileTabProps extends withClasses<'tab' | 'button' | 'selected'> {
clear(): void
reset(): void
- hot?: ReactElement
+ children?: ReactElement
}
export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
- const { reset, clear, hot } = props
- const { classes } = useStyles()
- const styles = useStylesExtends(classes, props)
+ const { reset, clear, children } = props
+ const classes = useStylesExtends(useStyles(), props)
const [active, setActive] = useState(false)
const onClose = () => {
@@ -59,10 +58,10 @@ export function EnhancedProfileTab(props: EnhancedProfileTabProps) {
}, [clear, onOpen])
return (
-
-
+
+
NFTs
- {active && hot ? hot : null}
+ {active && children ? children : null}
)
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index e5533e44b4ee..d0648cb3314c 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -80,6 +80,7 @@ interface CollectibleListUIProps extends withClasses<'empty' | 'button'> {
hasNextPage: boolean
readonly?: boolean
page: number
+ hasRetry?: boolean
onNextPage: () => void
onPrevPage: () => void
}
@@ -94,6 +95,7 @@ function CollectibleListUI(props: CollectibleListUIProps) {
error,
readonly,
page,
+ hasRetry = true,
onNextPage,
onPrevPage,
} = props
@@ -126,9 +128,11 @@ function CollectibleListUI(props: CollectibleListUIProps) {
{error || collectibles.length === 0 ? (
{t('dashboard_no_collectible_found')}
- collectiblesRetry()}>
- {t('plugin_collectible_retry')}
-
+ {hasRetry ? (
+ collectiblesRetry()}>
+ {t('plugin_collectible_retry')}
+
+ ) : null}
) : (
@@ -204,6 +208,7 @@ export function CollectibleListAddress(props: CollectibleListAddressProps) {
readonly={true}
page={page}
hasNextPage={hasNextPage}
+ hasRetry={!!address}
onPrevPage={() => setPage((prev) => prev - 1)}
onNextPage={() => setPage((next) => next + 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
index 5659219fa94d..6ca94b89f6d5 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -1,6 +1,5 @@
import { MutationObserverWatcher } from '@dimensiondev/holoflows-kit'
-import { getMaskColor } from '@masknet/theme'
-import { makeStyles, Theme } from '@material-ui/core'
+import { getMaskColor, makeStyles } from '@masknet/theme'
import { useState } from 'react'
import { EnhancedProfileaPage } from '../../../components/InjectedComponents/EnhancedProfile'
import { createReactRootShadowed, startWatch } from '../../../utils'
@@ -32,7 +31,7 @@ interface StyleProps {
backgroundColor: string
}
-const useStyles = makeStyles((theme) => ({
+const useStyles = makeStyles()((theme, props) => ({
empty: {
paddingTop: 36,
paddingBottom: 36,
@@ -44,11 +43,11 @@ const useStyles = makeStyles((theme) => ({
},
},
button: {
- backgroundColor: (props: StyleProps) => props.backgroundColor,
+ backgroundColor: props.backgroundColor,
color: 'white',
marginTop: 18,
'&:hover': {
- backgroundColor: (props: StyleProps) => props.backgroundColor,
+ backgroundColor: props.backgroundColor,
},
},
}))
@@ -56,7 +55,7 @@ const useStyles = makeStyles((theme) => ({
export function EnhancedProfileaPageAtTwitter() {
const newTweetButton = searchNewTweetButtonSelector().evaluate()
const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE
- const classes = useStyles({ backgroundColor: style.backgroundColor })
+ const { classes } = useStyles({ backgroundColor: style.backgroundColor })
const [bio, setBio] = useState(getBioDescription())
const [nickname, setNickname] = useState(getNickname())
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
index 8bc89482c851..56c7c7c4c58d 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -11,7 +11,7 @@ import {
searchProfileTabSelector,
} from '../utils/selector'
import Color from 'color'
-import { makeStyles, Theme } from '@material-ui/core'
+import { makeStyles } from '@masknet/theme'
export function injectEnhancedProfileTabAtTwitter(signal: AbortSignal) {
const watcher = new MutationObserverWatcher(searchProfileTabListLastChildSelector())
@@ -29,13 +29,13 @@ interface StyleProps {
line: string
}
-const useStyles = makeStyles((theme) => ({
+const useStyles = makeStyles()((theme, props) => ({
tab: {
'&:hover': {
- backgroundColor: (props: StyleProps) => new Color(props.hover).alpha(0.1).toString(),
+ backgroundColor: new Color(props.hover).alpha(0.1).toString(),
cursor: 'pointer',
},
- height: (props: StyleProps) => props.height,
+ height: props.height,
},
button: {
display: 'flex',
@@ -43,17 +43,17 @@ const useStyles = makeStyles((theme) => ({
justifyContent: 'center',
alignItems: 'center',
textAlign: 'center',
- padding: (props: StyleProps) => props.padding,
+ padding: props.padding,
fontWeight: 700,
- color: (props: StyleProps) => props.color,
- font: (props: StyleProps) => props.font,
- fontSize: (props: StyleProps) => props.fontSize,
+ color: props.color,
+ font: props.font,
+ fontSize: props.fontSize,
'&:hover': {
- color: (props: StyleProps) => props.hover,
+ color: props.hover,
},
},
selected: {
- color: (props: StyleProps) => props.hover,
+ color: props.hover,
},
line: {
dispaly: 'inline-flex',
@@ -63,7 +63,7 @@ const useStyles = makeStyles((theme) => ({
minWidth: 56,
alignSelf: 'center',
height: 4,
- backgroundColor: (props: StyleProps) => props.line,
+ backgroundColor: props.line,
},
}))
@@ -126,6 +126,8 @@ function getStyle() {
export function EnhancedProfileTabAtTwitter() {
const style = getStyle()
- const classes = useStyles(style)
- return } />
+ const { classes } = useStyles(style)
+ return (
+ } />
+ )
}
From 0ca51c6616739df47beb7eea436b36e6c1762c70 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 21:12:19 +0800
Subject: [PATCH 52/60] refactor: use makeStyles
---
.../src/components/InjectedComponents/EnhancedProfile.tsx | 7 ++-----
.../components/InjectedComponents/EnhancedProfileTab.tsx | 4 +++-
.../DashboardComponents/CollectibleList/index.tsx | 4 ++--
.../twitter.com/injection/EnhancedProfile.tsx | 4 ++--
4 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index 03927b4f871a..b6ba0e49d906 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -7,20 +7,17 @@ import { MaskMessage } from '../../utils'
import { useLocationChange } from '../../utils/hooks/useLocationChange'
const useStyles = makeStyles()((theme) => ({
- empty: {
+ text: {
paddingTop: 36,
paddingBottom: 36,
'& > p': {
- fontSize: 28,
- fontFamily: 'inherit',
- fontWeight: 700,
color: getMaskColor(theme).textPrimary,
},
},
button: {},
}))
-interface EnhancedProfileaPageProps extends withClasses<'empty' | 'button'> {
+interface EnhancedProfileaPageProps extends withClasses<'text' | 'button'> {
bioDescription: string
nickname: string
twitterId: string
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
index a34ed58d7a13..29c9cc9081b3 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -19,9 +19,11 @@ const useStyles = makeStyles()((theme) => ({
justifyContent: 'center',
alignItems: 'center',
textAlign: 'center',
- padding: theme.spacing(1),
fontWeight: 700,
color: getMaskColor(theme).blue,
+ '&:hover': {
+ color: getMaskColor(theme).blue,
+ },
},
selected: {
color: 'black',
diff --git a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
index d0648cb3314c..dec58584fa0d 100644
--- a/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
+++ b/packages/maskbook/src/extension/options-page/DashboardComponents/CollectibleList/index.tsx
@@ -29,7 +29,7 @@ const useStyles = makeStyles((theme) => ({
gridTemplateColumns: 'repeat(auto-fill, minmax(160px, 1fr))',
gridGap: theme.spacing(1),
},
- empty: {
+ text: {
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
@@ -126,7 +126,7 @@ function CollectibleListUI(props: CollectibleListUIProps) {
{error || collectibles.length === 0 ? (
-
+
{t('dashboard_no_collectible_found')}
{hasRetry ? (
collectiblesRetry()}>
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
index 6ca94b89f6d5..1d74c9885f55 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -32,11 +32,11 @@ interface StyleProps {
}
const useStyles = makeStyles()((theme, props) => ({
- empty: {
+ text: {
paddingTop: 36,
paddingBottom: 36,
'& > p': {
- fontSize: 18,
+ fontSize: 28,
fontFamily: 'inherit',
fontWeight: 700,
color: getMaskColor(theme).textPrimary,
From a919964905ff5c916f78af54e8fad9a2f82daeb6 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Thu, 12 Aug 2021 22:51:30 +0800
Subject: [PATCH 53/60] fix: review
---
.../twitter.com/utils/selector.ts | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
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 bf5435121701..1f0d1b76c62b 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
@@ -17,23 +17,23 @@ const querySelectorAll = (selector: string) => {
//#region "Enhanced Profile"
export const searchProfileSelector: () => LiveSelector = () =>
- querySelector('[aria-label="Profile timelines"][role="navigation"]')
+ querySelector('[aria-label][role="navigation"]')
export const searchProfileTabListLastChildSelector: () => LiveSelector = () =>
- querySelector('[aria-label="Profile timelines"] [role="tablist"][data-testid="ScrollSnap-List"] > :last-child')
+ 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="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"]')
+ querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"]')
export const searchProfileTabSelector: () => LiveSelector = () =>
- querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="false"]')
+ querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="false"]')
export const searchProfileActiveTabStatusLineSelector: () => LiveSelector = () =>
- querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"] > div > div')
+ querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"] > div > div')
export const searchProfileActiveTabLabelSelector: () => LiveSelector = () =>
- querySelector('[aria-label="Profile timelines"] [role="tablist"] [role="tab"][aria-selected="true"] > div')
+ querySelector('[aria-label][role="navigation"] [role="tablist"] [role="tab"][aria-selected="true"] > div')
export const searchProfileTabListSelector = () =>
- querySelectorAll('[aria-label="Profile timelines"] [role="tablist"][data-testid="ScrollSnap-List"] a')
+ querySelectorAll('[aria-label][role="navigation"] [role="tablist"][data-testid="ScrollSnap-List"] a')
export const searchForegroundColorSelector: () => LiveSelector = () =>
querySelector('[data-testid="primaryColumn"] [aria-label="Back"][role="button"] > div')
export const searchNewTweetButtonSelector: () => LiveSelector = () =>
From 8e03a7c77cb1c3f4d581c799b9664a111e22e155 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Fri, 13 Aug 2021 11:33:14 +0800
Subject: [PATCH 54/60] fix: pnpm-lock.yaml conflict
---
pnpm-lock.yaml | 336 +++++++++++++++++++------------------------------
1 file changed, 126 insertions(+), 210 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 184d8a8483ff..c7ddce0a3ac6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -209,6 +209,7 @@ importers:
'@dimensiondev/holoflows-kit': '=0.9.0-20210726055325-dfbe7fd'
'@dimensiondev/kit': '=0.0.0-20210630045432-e05621c'
'@dimensiondev/metamask-extension-provider': 3.0.6-20210519045409-1835d4d
+ '@dimensiondev/snapshot.js': 0.2.0
'@dimensiondev/stego-js': '=0.11.1-20201027083223-8ab41be'
'@dimensiondev/webextension-shim': 0.0.3-20210708053012-57a254d
'@ethersproject/abi': ^5.4.0
@@ -236,7 +237,6 @@ importers:
'@popperjs/core': '*'
'@servie/events': ^3.0.0
'@sinonjs/text-encoding': ^0.7.1
- '@snapshot-labs/snapshot.js': github:snapshot-labs/snapshot.js#f32bf0f5b4a27a23b0db3c6fdaced1abab25f55a
'@swc/core': ^1.2.62
'@testing-library/react-hooks': ^7.0.1
'@types/bn.js': ^4.11.6
@@ -282,7 +282,6 @@ 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
@@ -375,6 +374,7 @@ importers:
'@dimensiondev/holoflows-kit': 0.9.0-20210726055325-dfbe7fd_webextension-polyfill@0.8.0
'@dimensiondev/kit': 0.0.0-20210630045432-e05621c
'@dimensiondev/metamask-extension-provider': 3.0.6-20210519045409-1835d4d
+ '@dimensiondev/snapshot.js': 0.2.0
'@dimensiondev/stego-js': 0.11.1-20201027083223-8ab41be
'@ethersproject/abi': 5.4.0
'@ethersproject/address': 5.4.0
@@ -399,7 +399,6 @@ importers:
'@openzeppelin/contracts': 3.4.1
'@popperjs/core': 2.9.2
'@servie/events': 3.0.0
- '@snapshot-labs/snapshot.js': github.com/snapshot-labs/snapshot.js/f32bf0f5b4a27a23b0db3c6fdaced1abab25f55a
'@types/bn.js': 4.11.6
'@types/d3': 5.16.4
'@types/elliptic': 6.4.13
@@ -429,7 +428,6 @@ importers:
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
@@ -3468,6 +3466,30 @@ packages:
tmp: 0.0.33
dev: true
+ /@dimensiondev/snapshot.js/0.2.0:
+ resolution: {integrity: sha512-X2H6U8GmTK6vUavgoyj62sj2Yj1R3IR6KfI/s/Cg9PnTExmJw0O96q7/58maBvLuH+mjKJ5D9Er/J/oq5YJWxA==, tarball: download/@dimensiondev/snapshot.js/0.2.0/9f82b8dcec0e2f9708b5349078f2a6f08afdb23f3a1402b6b96f5822c41284fc}
+ engines: {node: '>=14'}
+ dependencies:
+ '@ethersproject/abi': 5.4.0
+ '@ethersproject/address': 5.4.0
+ '@ethersproject/bignumber': 5.4.1
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/contracts': 5.4.1
+ '@ethersproject/hash': 5.4.0
+ '@ethersproject/providers': 5.4.3
+ '@ethersproject/solidity': 5.4.0
+ '@ethersproject/strings': 5.4.0
+ '@ethersproject/wallet': 5.4.0
+ ajv: 8.6.2
+ ajv-formats: 2.1.0
+ cross-fetch: 3.1.4
+ json-to-graphql-query: 2.1.0
+ lodash.set: 4.3.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
/@dimensiondev/stego-js/0.11.1-20201027083223-8ab41be:
resolution: {integrity: sha512-lm49qcX2O40Nn+AGKN6J4qrpPHaffGnvUI3mCh+obyiZxT9H5/vZv1B+SUm2bXq8r2LeLHIeW90x1lpyg1roTQ==, tarball: download/@dimensiondev/stego-js/0.11.1-20201027083223-8ab41be/2d41418365c7ea41e10de432e82b0707c3a3a3b70a20a3733276162eeb6c4bcd}
hasBin: true
@@ -3527,7 +3549,7 @@ packages:
resolution: {integrity: sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==}
dependencies:
'@emotion/memoize': 0.7.5
- '@emotion/sheet': 1.0.2
+ '@emotion/sheet': 1.0.1
'@emotion/utils': 1.0.0
'@emotion/weak-memoize': 0.2.5
stylis: 4.0.10
@@ -3653,6 +3675,10 @@ packages:
resolution: {integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==}
dev: true
+ /@emotion/sheet/1.0.1:
+ resolution: {integrity: sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==}
+ dev: false
+
/@emotion/sheet/1.0.2:
resolution: {integrity: sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==}
dev: false
@@ -3750,15 +3776,6 @@ packages:
/@emotion/weak-memoize/0.2.5:
resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==}
- /@ensdomains/content-hash/2.5.6:
- resolution: {integrity: sha512-DQy7C7KqOcKnZVE18fQSwRC3z5s2DuKt9IBCT1Pd8g3E7ibMu3+jGXjdOCOSQ43FOiMn8+jO020sVci5kwJrPg==}
- dependencies:
- cids: 1.1.7
- js-base64: 3.6.1
- multicodec: 2.1.3
- multihashes: 2.0.0
- dev: false
-
/@eslint/eslintrc/0.4.3:
resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -3927,6 +3944,41 @@ packages:
'@ethersproject/properties': 5.4.0
'@ethersproject/strings': 5.4.0
+ /@ethersproject/hdnode/5.4.0:
+ resolution: {integrity: sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q==}
+ dependencies:
+ '@ethersproject/abstract-signer': 5.4.1
+ '@ethersproject/basex': 5.4.0
+ '@ethersproject/bignumber': 5.4.1
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/logger': 5.4.0
+ '@ethersproject/pbkdf2': 5.4.0
+ '@ethersproject/properties': 5.4.0
+ '@ethersproject/sha2': 5.4.0
+ '@ethersproject/signing-key': 5.4.0
+ '@ethersproject/strings': 5.4.0
+ '@ethersproject/transactions': 5.4.0
+ '@ethersproject/wordlists': 5.4.0
+ dev: false
+
+ /@ethersproject/json-wallets/5.4.0:
+ resolution: {integrity: sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ==}
+ dependencies:
+ '@ethersproject/abstract-signer': 5.4.1
+ '@ethersproject/address': 5.4.0
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/hdnode': 5.4.0
+ '@ethersproject/keccak256': 5.4.0
+ '@ethersproject/logger': 5.4.0
+ '@ethersproject/pbkdf2': 5.4.0
+ '@ethersproject/properties': 5.4.0
+ '@ethersproject/random': 5.4.0
+ '@ethersproject/strings': 5.4.0
+ '@ethersproject/transactions': 5.4.0
+ aes-js: 3.0.0
+ scrypt-js: 3.0.1
+ dev: false
+
/@ethersproject/keccak256/5.4.0:
resolution: {integrity: sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==}
dependencies:
@@ -3941,6 +3993,13 @@ packages:
dependencies:
'@ethersproject/logger': 5.4.0
+ /@ethersproject/pbkdf2/5.4.0:
+ resolution: {integrity: sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g==}
+ dependencies:
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/sha2': 5.4.0
+ dev: false
+
/@ethersproject/properties/5.4.0:
resolution: {integrity: sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==}
dependencies:
@@ -4096,6 +4155,26 @@ packages:
'@ethersproject/logger': 5.4.0
dev: false
+ /@ethersproject/wallet/5.4.0:
+ resolution: {integrity: sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ==}
+ dependencies:
+ '@ethersproject/abstract-provider': 5.4.0
+ '@ethersproject/abstract-signer': 5.4.1
+ '@ethersproject/address': 5.4.0
+ '@ethersproject/bignumber': 5.4.1
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/hash': 5.4.0
+ '@ethersproject/hdnode': 5.4.0
+ '@ethersproject/json-wallets': 5.4.0
+ '@ethersproject/keccak256': 5.4.0
+ '@ethersproject/logger': 5.4.0
+ '@ethersproject/properties': 5.4.0
+ '@ethersproject/random': 5.4.0
+ '@ethersproject/signing-key': 5.4.0
+ '@ethersproject/transactions': 5.4.0
+ '@ethersproject/wordlists': 5.4.0
+ dev: false
+
/@ethersproject/web/5.4.0:
resolution: {integrity: sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==}
dependencies:
@@ -4105,6 +4184,16 @@ packages:
'@ethersproject/properties': 5.4.0
'@ethersproject/strings': 5.4.0
+ /@ethersproject/wordlists/5.4.0:
+ resolution: {integrity: sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA==}
+ dependencies:
+ '@ethersproject/bytes': 5.4.0
+ '@ethersproject/hash': 5.4.0
+ '@ethersproject/logger': 5.4.0
+ '@ethersproject/properties': 5.4.0
+ '@ethersproject/strings': 5.4.0
+ dev: false
+
/@hapi/hoek/9.2.0:
resolution: {integrity: sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==}
dev: true
@@ -4848,10 +4937,6 @@ packages:
engines: {node: '>= 10'}
dev: false
- /@multiformats/base-x/4.0.1:
- resolution: {integrity: sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==}
- dev: false
-
/@napi-rs/triples/1.0.3:
resolution: {integrity: sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==}
dev: true
@@ -8388,11 +8473,6 @@ packages:
resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
dev: true
- /@zxing/text-encoding/0.9.0:
- resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==}
- dev: false
- optional: true
-
/JSONStream/1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -8501,6 +8581,10 @@ packages:
dev: false
optional: true
+ /aes-js/3.0.0:
+ resolution: {integrity: sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=}
+ dev: false
+
/aes-js/3.1.2:
resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==}
dev: false
@@ -8607,15 +8691,6 @@ packages:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- /ajv/7.2.4:
- resolution: {integrity: sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==}
- dependencies:
- fast-deep-equal: 3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js: 4.4.1
- dev: false
-
/ajv/8.6.2:
resolution: {integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==}
dependencies:
@@ -10313,6 +10388,10 @@ packages:
/buffer-from/1.1.1:
resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==}
+ /buffer-from/1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: false
+
/buffer-indexof/1.1.1:
resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==}
dev: true
@@ -10733,16 +10812,6 @@ packages:
multihashes: 0.4.21
dev: false
- /cids/1.1.7:
- resolution: {integrity: sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==}
- engines: {node: '>=4.0.0', npm: '>=3.0.0'}
- dependencies:
- multibase: 4.0.4
- multicodec: 3.1.0
- multihashes: 4.0.2
- uint8arrays: 2.1.10
- dev: false
-
/cipher-base/1.0.4:
resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
dependencies:
@@ -10988,13 +11057,6 @@ packages:
color-string: 1.6.0
dev: false
- /color/4.0.0:
- resolution: {integrity: sha512-aVUOa5aYWJSimvei14J5rdxLeljG0EB/uXTovVaaSokW+D4MsAz3MrKsRNaKqPa2KL7Wfvh7PZyIIaaX4lYdzQ==}
- 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
@@ -13212,7 +13274,7 @@ packages:
ethjs-util: 0.1.6
json-rpc-engine: 3.8.0
pify: 2.3.0
- tape: 4.13.3
+ tape: 4.14.0
dev: false
/eth-ens-namehash/2.0.8:
@@ -14806,7 +14868,7 @@ packages:
source-map: 0.6.1
wordwrap: 1.0.0
optionalDependencies:
- uglify-js: 3.14.0
+ uglify-js: 3.14.1
dev: false
/har-schema/2.0.0:
@@ -15133,8 +15195,8 @@ packages:
void-elements: 3.1.0
dev: false
- /html-react-parser/1.2.7_react@18.0.0-alpha-aecb3b6d1:
- resolution: {integrity: sha512-gUUEgrZV0YaCxtZO2XuJDUnHSq7gOqKu1krye97cxgiZ+ipaIzspGMhATeq9lhy9gwYmwBF2YCHe/accrMMo8Q==}
+ /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:
@@ -15940,13 +16002,6 @@ packages:
'@types/estree': 0.0.50
dev: true
- /is-regex/1.0.5:
- resolution: {integrity: sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- has: 1.0.3
- dev: false
-
/is-regex/1.1.3:
resolution: {integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==}
engines: {node: '>= 0.4'}
@@ -16970,10 +17025,6 @@ packages:
'@sideway/pinpoint': 2.0.0
dev: true
- /js-base64/3.6.1:
- resolution: {integrity: sha512-Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ==}
- dev: false
-
/js-combinatorics/0.5.5:
resolution: {integrity: sha512-WglFY9EQvwndNhuJLxxyjnC16649lfZly/G3M3zgQMwcWlJDJ0Jn9niPWeYjnLXwWOEycYVxR2Tk98WLeFkrcw==}
dev: true
@@ -17818,10 +17869,6 @@ packages:
resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=}
dev: true
- /lodash.tonumber/4.0.3:
- resolution: {integrity: sha1-C5azGzVnJ5Prf1pj7nkfG56QJdk=}
- dev: false
-
/lodash.truncate/4.4.2:
resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=}
dev: true
@@ -18533,33 +18580,6 @@ packages:
buffer: 5.7.1
dev: false
- /multibase/2.0.0:
- resolution: {integrity: sha512-xIrqUVsinSlFjqj+OtEgCJ6MRl5hXjHMBPWsUt1ZGSRMx8rzm+7hCLE4wDeSA3COomlUC9zHCoUlvWjvAMtfDg==}
- engines: {node: '>=10.0.0', npm: '>=6.0.0'}
- deprecated: This module has been superseded by the multiformats module
- dependencies:
- base-x: 3.0.8
- buffer: 5.7.1
- web-encoding: 1.1.5
- dev: false
-
- /multibase/3.1.2:
- resolution: {integrity: sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==}
- engines: {node: '>=10.0.0', npm: '>=6.0.0'}
- deprecated: This module has been superseded by the multiformats module
- dependencies:
- '@multiformats/base-x': 4.0.1
- web-encoding: 1.1.5
- dev: false
-
- /multibase/4.0.4:
- resolution: {integrity: sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==}
- engines: {node: '>=12.0.0', npm: '>=6.0.0'}
- deprecated: This module has been superseded by the multiformats module
- dependencies:
- '@multiformats/base-x': 4.0.1
- dev: false
-
/multicast-dns-service-types/1.1.0:
resolution: {integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=}
dev: true
@@ -18586,24 +18606,6 @@ packages:
varint: 5.0.2
dev: false
- /multicodec/2.1.3:
- resolution: {integrity: sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==}
- dependencies:
- uint8arrays: 1.1.0
- varint: 6.0.0
- dev: false
-
- /multicodec/3.1.0:
- resolution: {integrity: sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==}
- dependencies:
- uint8arrays: 2.1.10
- varint: 6.0.0
- dev: false
-
- /multiformats/9.4.3:
- resolution: {integrity: sha512-sCNjBP/NPCeQu83Mst8IQZq9+HuR7Catvk/m7CeH0r/nupsU6gM7GINf5E1HCDRxDeU+Cgda/WPmcwQhYs3dyA==}
- dev: false
-
/multihashes/0.4.21:
resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==}
dependencies:
@@ -18612,25 +18614,6 @@ packages:
varint: 5.0.2
dev: false
- /multihashes/2.0.0:
- resolution: {integrity: sha512-Mp94Y+7h3oWQx8JickVghlWR6VhRPDnlv/KZEUyNP0ISSkNEe3kQkWoyIGt1B45D6cTLoulg+MP6bugVewx32Q==}
- engines: {node: '>=10.0.0', npm: '>=6.0.0'}
- dependencies:
- buffer: 5.7.1
- multibase: 2.0.0
- varint: 5.0.2
- web-encoding: 1.1.5
- dev: false
-
- /multihashes/4.0.2:
- resolution: {integrity: sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==}
- engines: {node: '>=12.0.0', npm: '>=6.0.0'}
- dependencies:
- multibase: 4.0.4
- uint8arrays: 2.1.10
- varint: 5.0.2
- dev: false
-
/multimap/1.1.0:
resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==}
dev: true
@@ -19054,10 +19037,6 @@ packages:
/object-inspect/1.11.0:
resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==}
- /object-inspect/1.7.0:
- resolution: {integrity: sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==}
- dev: false
-
/object-is/1.1.5:
resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
engines: {node: '>= 0.4'}
@@ -21506,12 +21485,6 @@ packages:
resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=}
deprecated: https://github.com/lydell/resolve-url#deprecated
- /resolve/1.17.0:
- resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==}
- dependencies:
- path-parse: 1.0.7
- dev: false
-
/resolve/1.20.0:
resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
dependencies:
@@ -22993,22 +22966,22 @@ packages:
engines: {node: '>=6'}
dev: true
- /tape/4.13.3:
- resolution: {integrity: sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==}
+ /tape/4.14.0:
+ resolution: {integrity: sha512-z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ==}
hasBin: true
dependencies:
+ call-bind: 1.0.2
deep-equal: 1.1.1
defined: 1.0.0
dotignore: 0.1.2
for-each: 0.3.3
- function-bind: 1.1.1
glob: 7.1.7
has: 1.0.3
inherits: 2.0.4
- is-regex: 1.0.5
+ is-regex: 1.1.3
minimist: 1.2.5
- object-inspect: 1.7.0
- resolve: 1.17.0
+ object-inspect: 1.11.0
+ resolve: 1.20.0
resumer: 0.0.0
string.prototype.trim: 1.2.4
through: 2.3.8
@@ -23536,7 +23509,7 @@ packages:
hasBin: true
dependencies:
arrify: 1.0.1
- buffer-from: 1.1.1
+ buffer-from: 1.1.2
diff: 3.5.0
make-error: 1.3.6
minimist: 1.2.5
@@ -23621,7 +23594,7 @@ packages:
'@emotion/serialize': 1.0.2
'@emotion/server': 11.4.0
'@emotion/utils': 1.0.0
- html-react-parser: 1.2.7_react@18.0.0-alpha-aecb3b6d1
+ html-react-parser: 1.2.8_react@18.0.0-alpha-aecb3b6d1
transitivePeerDependencies:
- '@emotion/css'
- react
@@ -23867,8 +23840,8 @@ packages:
uglify-to-browserify: 1.0.2
dev: false
- /uglify-js/3.14.0:
- resolution: {integrity: sha512-R/tiGB1ZXp2BC+TkRGLwj8xUZgdfT2f4UZEgX6aVjJ5uttPrr4fYmwTWDGqVnBCLbOXRMY6nr/BTbwCtVfps0g==}
+ /uglify-js/3.14.1:
+ resolution: {integrity: sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==}
engines: {node: '>=0.8.0'}
hasBin: true
dev: false
@@ -23892,19 +23865,6 @@ packages:
webpack-sources: 1.4.3
dev: false
- /uint8arrays/1.1.0:
- resolution: {integrity: sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==}
- dependencies:
- multibase: 3.1.2
- web-encoding: 1.1.5
- dev: false
-
- /uint8arrays/2.1.10:
- resolution: {integrity: sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==}
- dependencies:
- multiformats: 9.4.3
- dev: false
-
/ultron/1.1.1:
resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==}
dev: false
@@ -24365,10 +24325,6 @@ packages:
resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==}
dev: false
- /varint/6.0.0:
- resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
- dev: false
-
/vary/1.1.2:
resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=}
engines: {node: '>= 0.8'}
@@ -24567,14 +24523,6 @@ packages:
minimalistic-assert: 1.0.1
dev: true
- /web-encoding/1.1.5:
- resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==}
- dependencies:
- util: 0.12.4
- optionalDependencies:
- '@zxing/text-encoding': 0.9.0
- dev: false
-
/web-ext-types/3.2.1:
resolution: {integrity: sha512-oQZYDU3W8X867h8Jmt3129kRVKklz70db40Y6OzoTTuzOJpF/dB2KULJUf0txVPyUUXuyzV8GmT3nVvRHoG+Ew==}
@@ -24947,7 +24895,7 @@ packages:
request: 2.88.2
semaphore: 1.1.0
solc: 0.4.26
- tape: 4.13.3
+ tape: 4.14.0
xhr: 2.6.0
xtend: 4.0.2
dev: false
@@ -26120,35 +26068,3 @@ packages:
dependencies:
void-elements: 2.0.1
dev: true
-
- github.com/snapshot-labs/snapshot.js/f32bf0f5b4a27a23b0db3c6fdaced1abab25f55a:
- resolution: {tarball: https://codeload.github.com/snapshot-labs/snapshot.js/tar.gz/f32bf0f5b4a27a23b0db3c6fdaced1abab25f55a}
- name: '@snapshot-labs/snapshot.js'
- version: 0.1.9
- prepare: true
- requiresBuild: true
- dependencies:
- '@ensdomains/content-hash': 2.5.6
- '@ethersproject/abi': 5.4.0
- '@ethersproject/address': 5.4.0
- '@ethersproject/bignumber': 5.4.1
- '@ethersproject/bytes': 5.4.0
- '@ethersproject/contracts': 5.4.1
- '@ethersproject/hash': 5.4.0
- '@ethersproject/providers': 5.4.3
- '@ethersproject/solidity': 5.4.0
- '@ethersproject/strings': 5.4.0
- '@ethersproject/units': 5.4.0
- ajv: 7.2.4
- ajv-formats: 2.1.0
- bs58: 4.0.1
- cross-fetch: 3.1.4
- eth-ens-namehash: 2.0.8
- ethereumjs-util: 7.1.0
- json-to-graphql-query: 2.1.0
- lodash.set: 4.3.2
- lodash.tonumber: 4.0.3
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- dev: false
From 38120444044bc4ed20bef3f5552c523ba33d87fd Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Fri, 13 Aug 2021 11:53:21 +0800
Subject: [PATCH 55/60] refactor: reply review
---
.../src/components/InjectedComponents/EnhancedProfile.tsx | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
index b6ba0e49d906..d08fb0a1fd44 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfile.tsx
@@ -29,11 +29,9 @@ export function EnhancedProfileaPage(props: EnhancedProfileaPageProps) {
const classes = useStylesExtends(useStyles(), props)
const { bioDescription, nickname, twitterId, onUpdated } = props
- const onLocalChange = () => {
+ useLocationChange(() => {
MaskMessage.events.profileNFTsTabUpdated.sendToLocal('reset')
- }
-
- useLocationChange(onLocalChange)
+ })
useEffect(() => {
return MaskMessage.events.profileNFTsTabUpdated.on((data) => {
From e3e52a63adbca27dba0a7d9c75da664c41f1daf0 Mon Sep 17 00:00:00 2001
From: lelenei
Date: Fri, 13 Aug 2021 12:01:52 +0800
Subject: [PATCH 56/60] fix: update pnpm-lock.yaml
---
pnpm-lock.yaml | 896 ++++++++++++++++++++++++++++---------------------
1 file changed, 519 insertions(+), 377 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0ccaa9b63d7d..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:
@@ -694,23 +696,23 @@ importers:
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:
From 52536afc1fc2cce06b2273ac65a5a70d7e775614 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Fri, 13 Aug 2021 13:13:46 +0800
Subject: [PATCH 57/60] fix: hover selector
---
.../src/social-network-adaptor/twitter.com/utils/selector.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 1f0d1b76c62b..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
@@ -35,7 +35,7 @@ export const searchProfileActiveTabLabelSelector: () => LiveSelector =
export const searchProfileTabListSelector = () =>
querySelectorAll('[aria-label][role="navigation"] [role="tablist"][data-testid="ScrollSnap-List"] a')
export const searchForegroundColorSelector: () => LiveSelector = () =>
- querySelector('[data-testid="primaryColumn"] [aria-label="Back"][role="button"] > div')
+ 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 = () =>
From b8f2892b9aef1ebfdea1c93ac57b26bba3070745 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Fri, 13 Aug 2021 14:41:44 +0800
Subject: [PATCH 58/60] fix: hint font
---
.../twitter.com/injection/EnhancedProfile.tsx | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
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
index 1d74c9885f55..bfb892652249 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfile.tsx
@@ -29,15 +29,16 @@ export function injectEnhancedProfileAtTwitter(signal: AbortSignal) {
const EMPTY_STYLE = {} as CSSStyleDeclaration
interface StyleProps {
backgroundColor: string
+ fontFamily: string
}
const useStyles = makeStyles()((theme, props) => ({
text: {
- paddingTop: 36,
- paddingBottom: 36,
+ paddingTop: 29,
+ paddingBottom: 29,
'& > p': {
fontSize: 28,
- fontFamily: 'inherit',
+ fontFamily: props.fontFamily,
fontWeight: 700,
color: getMaskColor(theme).textPrimary,
},
@@ -55,7 +56,10 @@ const useStyles = makeStyles()((theme, props) => ({
export function EnhancedProfileaPageAtTwitter() {
const newTweetButton = searchNewTweetButtonSelector().evaluate()
const style = newTweetButton ? window.getComputedStyle(newTweetButton) : EMPTY_STYLE
- const { classes } = useStyles({ backgroundColor: style.backgroundColor })
+ 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())
From 6319b6d95999ec7f5808ea9a074e8a5b737ac6c5 Mon Sep 17 00:00:00 2001
From: Jack Works
Date: Fri, 13 Aug 2021 15:12:44 +0800
Subject: [PATCH 59/60] fix: style problem
---
.../InjectedComponents/EnhancedProfileTab.tsx | 31 ++-----------------
.../injection/EnhancedProfileTab.tsx | 2 +-
2 files changed, 4 insertions(+), 29 deletions(-)
diff --git a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
index 29c9cc9081b3..06954a4e1d8c 100644
--- a/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/components/InjectedComponents/EnhancedProfileTab.tsx
@@ -1,43 +1,18 @@
-import { useStylesExtends } from '@masknet/shared'
-import { getMaskColor, makeStyles } from '@masknet/theme'
import classnames from 'classnames'
-import Color from 'color'
import { ReactElement, useCallback, useEffect, useState } from 'react'
import { MaskMessage } from '../../utils'
-const useStyles = makeStyles()((theme) => ({
- tab: {
- '&:hover': {
- backgroundColor: new Color(getMaskColor(theme).blue).alpha(0.1).toString(),
- cursor: 'pointer',
- },
- },
- button: {
- display: 'flex',
- minWidth: 56,
- justifyContent: 'center',
- alignItems: 'center',
- textAlign: 'center',
- fontWeight: 700,
- color: getMaskColor(theme).blue,
- '&:hover': {
- color: getMaskColor(theme).blue,
- },
- },
- selected: {
- color: 'black',
- },
-}))
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 } = props
- const classes = useStylesExtends(useStyles(), props)
+ const { reset, clear, children, classes } = props
const [active, setActive] = useState(false)
const onClose = () => {
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
index 56c7c7c4c58d..a0b7db0d741a 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -57,7 +57,7 @@ const useStyles = makeStyles()((theme, props) => ({
},
line: {
dispaly: 'inline-flex',
- borderRadius: 99999,
+ borderRadius: '100%',
position: 'absolute',
bottom: 0,
minWidth: 56,
From 3a4c978ba4f2854efb51ced8a403e15cdb9df487 Mon Sep 17 00:00:00 2001
From: lelenei <72531217+lelenei@users.noreply.github.com>
Date: Fri, 13 Aug 2021 15:24:47 +0800
Subject: [PATCH 60/60] fix: css error
---
.../twitter.com/injection/EnhancedProfileTab.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index a0b7db0d741a..e0dc122775f3 100644
--- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
+++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/EnhancedProfileTab.tsx
@@ -57,7 +57,7 @@ const useStyles = makeStyles()((theme, props) => ({
},
line: {
dispaly: 'inline-flex',
- borderRadius: '100%',
+ borderRadius: 9999,
position: 'absolute',
bottom: 0,
minWidth: 56,