diff --git a/.vscode/settings.json b/.vscode/settings.json
index 62f13581..379352f7 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -22,7 +22,7 @@
"editor.cursorBlinking": "phase",
"workbench.preferredDarkColorTheme": "Default High Contrast",
"window.autoDetectColorScheme": true,
- "workbench.colorTheme": "Default Dark+",
+ "workbench.colorTheme": "Kimbie Dark",
"window.closeWhenEmpty": true,
- "window.zoomLevel": 4
+ "window.zoomLevel": 3
}
diff --git a/package.json b/package.json
index c914074c..c5ddb034 100644
--- a/package.json
+++ b/package.json
@@ -52,7 +52,8 @@
},
"dependencies": {
"@apollo/client": "^3.6.4",
- "graphql": "^16.5.0"
+ "graphql": "^16.5.0",
+ "ts-node": "^10.9.1"
},
"resolutions": {
"bn.js": "5.2.1",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 5e52c3f7..2c05d957 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -18,26 +18,27 @@
"gh:publish": "gh-pages --dist dist/ --dotfiles --message 'Updatin’ GitHub Pages'"
},
"dependencies": {
- "@chakra-ui/icons": "1.1",
- "@chakra-ui/react": "^1.8.8",
- "@emotion/react": "^11.10.0",
- "@emotion/styled": "^11.10.0",
"@react-three/fiber": "^8.10.1",
+ "@tippyjs/react": "^4.2.6",
"@types/three": "^0.149.0",
"@walletconnect/web3-provider": "^1.8.0",
"dotenv": "^16.0.0",
"ethers": "^5.6.9",
- "framer-motion": "^6.5.1",
"graphql": "^16.5.0",
"ipfs-http-client": "^57.0.3",
"it-all": "^1.0.6",
"multiformats": "^9.7.1",
+ "ramda": "^0.28.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-helmet": "^6.1.0",
- "react-hook-form": "^7.34.0",
+ "react-hook-form": "^7.43.0",
"react-markdown": "^8.0.3",
"react-router-dom": "^6.3.0",
+ "react-spinners": "^0.13.8",
+ "react-tabs": "^6.0.0",
+ "react-toastify": "^9.1.1",
+ "remark-gfm": "^3.0.1",
"three": "^0.149.0",
"util": "^0.12.5",
"web3modal": "^1.9.8"
@@ -54,13 +55,14 @@
"@types/babel__core": "^7",
"@types/jest": "^28.1.6",
"@types/node": "^18.6.4",
+ "@types/ramda": "^0.28.12",
"@types/react": "^18.0.15",
"@types/react-dom": "^18.0.6",
"@types/react-helmet": "^6.1.5",
"@types/rollup-plugin-node-globals": "^1",
"@types/webpack": "^5.28.0",
"@types/webpack-bundle-analyzer": "^4",
- "@vitejs/plugin-react": "^2.0.0",
+ "@vitejs/plugin-react": "^3.0.1",
"@webpack-cli/generators": "^2.5.0",
"assert": "^2.0.0",
"babel-jest": "^28.1.3",
@@ -72,6 +74,7 @@
"https-browserify": "^1.0.0",
"jest": "^28.1.3",
"os-browserify": "^0.3.0",
+ "postcss-preset-env": "^8.0.1",
"rollup": "^2.77.2",
"rollup-plugin-node-globals": "^1.4.0",
"rollup-plugin-node-polyfills": "^0.2.1",
@@ -82,7 +85,6 @@
"style-loader": "^3.3.1",
"ts-jest": "^28.0.7",
"ts-loader": "^9.3.1",
- "ts-node": "^10.9.1",
"tsconfig-paths-webpack-plugin": "^4.0.0",
"typescript": "^4.9.5",
"vite": "^4.0.4",
diff --git a/packages/ui/postcss.config.ts b/packages/ui/postcss.config.ts
new file mode 100644
index 00000000..13a3f86d
--- /dev/null
+++ b/packages/ui/postcss.config.ts
@@ -0,0 +1,8 @@
+import postcssPresetEnv from 'postcss-preset-env'
+
+// eslint-disable-next-line import/no-anonymous-default-export
+export default {
+ plugins: [
+ postcssPresetEnv({ stage: 0 })
+ ],
+}
\ No newline at end of file
diff --git a/packages/ui/public/favicon.png b/packages/ui/public/favicon.png
deleted file mode 100644
index 4b97d82c..00000000
Binary files a/packages/ui/public/favicon.png and /dev/null differ
diff --git a/packages/ui/public/favicon.svg b/packages/ui/public/favicon.svg
index 0c5f0157..afccf4b4 100644
--- a/packages/ui/public/favicon.svg
+++ b/packages/ui/public/favicon.svg
@@ -12,6 +12,14 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
Kissy Octo
+
\ No newline at end of file
diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx
index 02c7fc1c..28fb2957 100644
--- a/packages/ui/src/App.tsx
+++ b/packages/ui/src/App.tsx
@@ -1,9 +1,5 @@
import { Helmet } from 'react-helmet'
-import {
- ChakraProvider, Spinner, ColorModeScript,
- ThemeConfig, extendTheme,
-} from '@chakra-ui/react'
import { Web3ContextProvider } from '@/lib/hooks'
import {
ApolloClient,
@@ -17,6 +13,8 @@ import {
Route,
} from 'react-router-dom'
import React from 'react'
+import { Spinner } from './components/Spinner'
+import { ToastContainer } from 'react-toastify'
const Home = React.lazy(() => import('./pages/home'))
const New = React.lazy(() => import('./pages/new'))
@@ -26,12 +24,6 @@ const Disburse = React.lazy(() => import('./pages/disburse'))
const SelfMint = React.lazy(() => import('./pages/self-mint'))
const Owners = React.lazy(() => import('./pages/owners'))
-const themeConfig: ThemeConfig = {
- initialColorMode: 'dark',
- useSystemColorMode: true,
-}
-const theme = extendTheme({ config: themeConfig })
-
const client = new ApolloClient({
uri: nftGraph,
cache: new InMemoryCache(),
@@ -39,36 +31,36 @@ const client = new ApolloClient({
const App: React.FC = () => (
<>
-
-
-
-
-
-
-
-
- }>
-
-
- } />
- } />
- } />
- } />
- } />
- } />
- } />
-
-
-
-
-
-
+
+
+
+
+
+
+ }>
+
+
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+
+
+
+
+
>
)
diff --git a/packages/ui/src/components/Expandable.tsx b/packages/ui/src/components/Expandable.tsx
index 42810d20..6a94b497 100644
--- a/packages/ui/src/components/Expandable.tsx
+++ b/packages/ui/src/components/Expandable.tsx
@@ -2,9 +2,7 @@ import { Maybe } from '@/lib/types'
import React, {
ReactNode, useCallback, useRef, useState,
} from 'react'
-import {
- Box, chakra, Flex, FormLabel, Link, Text,
-} from '@chakra-ui/react'
+import { Link } from 'react-router-dom'
export const Anchor = ({ name }: { name: string }) => {
const anchor = name.toLowerCase().replace(/\s+/g, '-')
@@ -12,21 +10,19 @@ export const Anchor = ({ name }: { name: string }) => {
return (
- 🔗
+ 🔗
)
}
-const Label = ({ name }: { name: string }) => (
-
+export const Label = ({ name }: { name: string }) => (
+
-
■
-
{name}:
-
+
■
+
+
)
export const Expandable: React.FC<{
@@ -39,24 +35,17 @@ export const Expandable: React.FC<{
const box = useRef(null)
return (
-
-
+
+
-
toggle(name)}
- _after={{ content: '":"'}}
- >
-
- {hide[name] ? '▸' : '▾'}
-
+ toggle(name)}>
+ {hide[name] ? '▸' : '▾'}
{name}
-
+
{!hide[name] && button}
-
+
{!hide[name] && children}
-
+
)
}
diff --git a/packages/ui/src/components/Header.tsx b/packages/ui/src/components/Header.tsx
index 59580752..0ccef4f1 100644
--- a/packages/ui/src/components/Header.tsx
+++ b/packages/ui/src/components/Header.tsx
@@ -1,29 +1,30 @@
-import { Flex, FlexProps, Tooltip } from '@chakra-ui/react'
import { LinkedSVG } from '@/components'
-import React from 'react'
+import React, { HTMLAttributes } from 'react'
+import Tippy from '@tippyjs/react'
+import Hs from '../styles/Header.module.css'
export const Header: React.FC<
- FlexProps & { links?: Record<'cup' | 'sign', string> }
+ HTMLAttributes
+ & { links?: Record<'cup' | 'sign', string> }
> = ({ links = { cup: '/new', sign: '/' }, ...props }) => (
-
-
+
-
+
+
-
-
+
+
)
export default Header
\ No newline at end of file
diff --git a/packages/ui/src/components/HomeLink.tsx b/packages/ui/src/components/HomeLink.tsx
index a9d320d6..9406aef1 100644
--- a/packages/ui/src/components/HomeLink.tsx
+++ b/packages/ui/src/components/HomeLink.tsx
@@ -1,15 +1,12 @@
import { LinkedSVG } from '@/components'
import React from 'react'
+import '../styles/HomeLink.css'
export const HomeLink: React.FC = () => (
)
diff --git a/packages/ui/src/components/JSONForm.tsx b/packages/ui/src/components/JSONForm.tsx
index c96faa11..c378bc96 100644
--- a/packages/ui/src/components/JSONForm.tsx
+++ b/packages/ui/src/components/JSONForm.tsx
@@ -1,22 +1,36 @@
-import { Textarea } from '@chakra-ui/react'
-import React from 'react'
+import React, { useEffect } from 'react'
import { FieldValues, UseFormRegister } from 'react-hook-form'
import JSON5 from 'json5'
import { ERC1155Metadata } from '@/lib/types'
+import { HashLoader } from 'react-spinners'
+import jf from '../styles/JSONForm.module.css'
export const JSONForm: React.FC<{
register: UseFormRegister
metadata: ERC1155Metadata
+ setValue: (name: string, value: string) => void
}> = ({
- register, metadata
-}) => (
-
-)
+ register, metadata, setValue
+}) => {
+ useEffect(() => {
+ if(metadata) {
+ setValue('json5', JSON5.stringify(metadata, null, 2))
+ }
+ }, [metadata, setValue])
+
+ return (
+ metadata == null ? (
+
+ ) : (
+
+ )
+ )
+}
export default JSONForm
\ No newline at end of file
diff --git a/packages/ui/src/components/LinkedSVG.tsx b/packages/ui/src/components/LinkedSVG.tsx
index 360fe90b..d0d05220 100644
--- a/packages/ui/src/components/LinkedSVG.tsx
+++ b/packages/ui/src/components/LinkedSVG.tsx
@@ -1,36 +1,62 @@
-import {
- Box, Link as ChakraLink, LinkProps, chakra
-} from '@chakra-ui/react'
-import React from 'react'
-import { Link as ReactRouterLink } from 'react-router-dom'
-
-const RouterLink = chakra(ReactRouterLink)
+import React, {
+ SyntheticEvent, useCallback, useEffect, useRef,
+} from 'react'
+import { Link, LinkProps } from 'react-router-dom'
export const LinkedSVG = React.forwardRef<
HTMLObjectElement,
- LinkProps & { href: string, svg: string }
->(
- (
- { href = '#', svg: data, ...props },
- ref
- ) => (
-
-
-
-
-
+ React.AnchorHTMLAttributes
+ & React.RefAttributes
+ & { href: string, svg: string }
+>(({ href = '#', svg: data, ...props }, ref) => {
+ const svg = useRef(null)
+ const link = useRef(null)
+ const local = !/^(https?:)?(\/\/)/.test(href)
+
+ const onLoad = useCallback(
+ (
+ { target: { contentDocument: {
+ documentElement: root,
+ } } }: (
+ SyntheticEvent
+ & { target: { contentDocument: {
+ documentElement: Element,
+ } } }
+ )
+ ) => {
+ const listener = () => {
+ link.current.click()
+ }
+ root.addEventListener('click', listener)
+ return () => root.removeEventListener('click', listener)
+ },
+ [],
)
-)
-LinkedSVG.displayName = 'LinkedSVG'
+ const setRef = useCallback(
+ (elem: HTMLObjectElement) => {
+ svg.current = elem
+ if(typeof ref === 'function') {
+ ref(elem)
+ } else if('current' in (ref ?? {})) {
+ ref.current = elem
+ }
+ },
+ [],
+ )
+
+ return (
+ local ? (
+
+
+
+ ) : (
+ null
+ )
+ )
+})
+LinkedSVG.displayName = 'LinkedSVG'
\ No newline at end of file
diff --git a/packages/ui/src/components/LoggingErrorBoundary.tsx b/packages/ui/src/components/LoggingErrorBoundary.tsx
new file mode 100644
index 00000000..820850f6
--- /dev/null
+++ b/packages/ui/src/components/LoggingErrorBoundary.tsx
@@ -0,0 +1,32 @@
+import { Maybe } from '@/lib/types'
+import React, {
+ Component, ErrorInfo, PropsWithChildren, ReactNode,
+} from 'react'
+
+type StateType = { error?: Maybe }
+type PropsType = PropsWithChildren<{ fallback?: ReactNode }>
+
+export default class LoggingErrorBoundary
+extends Component {
+ constructor(props: PropsType) {
+ super(props)
+ this.state = { error: null }
+ }
+
+ static getDerivedStateFromError(error: Error) {
+ const msg = error.message ?? error ?? 'Unknown Error'
+ return { error: msg }
+ }
+
+ componentDidCatch(error: Error, info: ErrorInfo) {
+ console.error(error, info.componentStack)
+ }
+
+ render() {
+ if(this.state.error) {
+ return {this.state.error}
+ }
+
+ return this.props.children
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/components/MaxForm.tsx b/packages/ui/src/components/MaxForm.tsx
index 17d16b4f..94f1648d 100644
--- a/packages/ui/src/components/MaxForm.tsx
+++ b/packages/ui/src/components/MaxForm.tsx
@@ -1,28 +1,27 @@
import { useWeb3 } from '@/lib/hooks'
import { Maybe } from '@/lib/types'
-import {
- Flex, FormControl, FormLabel, Input,
- Spinner, Text, useToast
-} from '@chakra-ui/react'
import React, {
ChangeEvent, FormEvent, useCallback, useEffect, useState
} from 'react'
import { SubmitButton } from './SubmitButton'
-import { ButtonProps } from '@chakra-ui/react'
import { extractMessage } from '@/lib/helpers'
+import { BarLoader } from 'react-spinners'
+import { toast } from 'react-toastify'
+
+type MaxFormProps = {
+ tokenId?: string
+ perUser?: boolean
+ purpose: string
+} & React.HTMLProps
+
export const MaxForm = (
{ tokenId, purpose = 'create', perUser = false, ...props }:
- ButtonProps & {
- tokenId?: string
- perUser?: boolean
- purpose: string
- }
+ MaxFormProps
) => {
const [max, setMax] = useState>(null)
const [processing, setProcessing] = useState(false)
const { roContract, rwContract } = useWeb3()
- const toast = useToast()
useEffect(() => {
const load = async () => {
@@ -35,7 +34,7 @@ export const MaxForm = (
}
}
load()
- }, [tokenId, roContract])
+ }, [tokenId, roContract, perUser])
const save = useCallback(async (evt: FormEvent) => {
evt.preventDefault()
@@ -48,57 +47,44 @@ export const MaxForm = (
let tx
if (perUser){
tx = await rwContract.setPerUserMax(tokenId, max)
- }else{
+ } else {
tx = await rwContract.setMax(tokenId, max)
}
- await tx.wait()
+ await tx.wait()
} catch(error) {
- toast({
- title: 'Contract Error',
- description: extractMessage(error),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
+ toast(extractMessage(error))
} finally {
setProcessing(false)
}
- }, [max, rwContract, toast, tokenId])
+ }, [max, perUser, rwContract, tokenId])
return (
-
-
-
- {perUser && 'Per User'} Maximum Mintable
-
+
+ )}
+
-
-)
-}
\ No newline at end of file
+
+ )
+}
diff --git a/packages/ui/src/components/ModelModal.tsx b/packages/ui/src/components/ModelModal.tsx
index e5e5896e..63776676 100644
--- a/packages/ui/src/components/ModelModal.tsx
+++ b/packages/ui/src/components/ModelModal.tsx
@@ -1,8 +1,3 @@
-import {
- FormControl, FormLabel, Modal, ModalBody, ModalCloseButton,
- ModalContent, ModalHeader, ModalOverlay, Select, chakra,
- Input, ModalFooter, Button,
-} from '@chakra-ui/react'
import React, { FormEvent, useState } from 'react'
export type ModelModalProps = {
@@ -31,9 +26,9 @@ export const ModelModal: React.FC = ({
}
return (
-
-
-
+ {/* */}
+
-
+
+
+
)
}
diff --git a/packages/ui/src/components/NFTForm.tsx b/packages/ui/src/components/NFTForm.tsx
index 17334d0e..93f1f681 100644
--- a/packages/ui/src/components/NFTForm.tsx
+++ b/packages/ui/src/components/NFTForm.tsx
@@ -1,17 +1,8 @@
-/* eslint-disable indent */
-import {
- AddIcon, CloseIcon, ExternalLinkIcon
-} from '@chakra-ui/icons'
-import {
- Input, chakra, Select, Td, Tooltip, Button, Tr,
- UnorderedList, ListItem, FormControl, Flex,
- FormLabel, Text, Link, Image, Tabs,
- TabList, Tab, TabPanels, TabPanel, Textarea,
- Table, Thead, Th, Tbody, Radio, RadioGroup,
- SimpleGrid, Stack, Center,
-} from '@chakra-ui/react'
+/* eslint-disable @next/next/no-img-element */
import { nftBase } from '@/config'
-import { httpURL, isEmpty, regexify } from '@/lib/helpers'
+import {
+ httpURL, isEmpty, regexify, capitalize,
+} from '@/lib/helpers'
import {
Attribute, ERC1155Metadata, Maybe, OpenSeaAttribute,
} from '@/lib/types'
@@ -23,6 +14,12 @@ import {
FieldValues, UseFormRegister, UseFormSetValue,
UseFormWatch,
} from 'react-hook-form'
+import { Link } from 'react-router-dom'
+import {
+ Tab, Tabs, TabList, TabPanel,
+} from 'react-tabs'
+import { ThreeDScene } from './ThreeDScene'
+import fs from '../styles/NFTForm.module.css'
const AttrRow: React.FC<{
attributes: Array
@@ -53,63 +50,19 @@ const AttrRow: React.FC<{
const setType = setter('type')
return (
-
- ) => {
- setName(value)
- }
- }
- /> |
- {(() => {
- switch (type) {
- case 'date': {
- return (
- ) => {
- setValue((new Date(value)).getTime())
- }
- }
- />
- )
- }
- case 'string': {
- return (
- ) => {
- setValue(value)
- }
- }
- />
- )
- }
- default: {
- return (
- ) => {
- setValue(value != null ? Number(value) : '')
- }
- }
- />
- )
+ |
+
+ ) => {
+ setName(value)
+ }
}
- }
- })()} |
-
-
+ |
+
+
- |
-
- |
+
+ {(() => {
+ switch (type) {
+ case 'date': {
+ return (
+ {
+ if(!isEmpty(value)) {
+ try {
+ return (
+ new Date(value)
+ .toLocaleDateString(
+ 'sv', { timeZone: 'GMT' },
+ )
+ )
+ } catch(e) {
+ console.error(e)
+ }
+ }
+ return ''
+ })()}
+ onChange={
+ ({ target: { value } }: ChangeEvent) => {
+ setValue(new Date(value).getTime())
+ }
+ }
+ />
+ )
+ }
+ case 'string': {
+ return (
+ ) => {
+ setValue(value)
+ }
+ }
+ />
+ )
+ }
+ default: {
+ return (
+ ) => {
+ setValue(value != null ? Number(value) : '')
+ }
+ }
+ />
+ )
+ }
+ }
+ })()}
+ |
+
+
+
- |
-
+ ❌
+
+
+
+ )
+}
+
+const Hyperlink: React.FC> = ({
+ href, children,
+}) => {
+ const external = /^(http|ip[nf]s)/.test(href)
+ return (external ? (
+
+ {children}
+
+ ) : (
+ {children}
+ ))
+}
+
+const MediaDisplay: React.FC<{
+ content: File | string
+ name?: string
+ prop: string
+ setValue: UseFormSetValue
+ accept?: string
+}> = ({
+ content, name = 'Alt', prop, setValue, accept = '*/*',
+}) => {
+ const [filename, setFilename] = (
+ useState>(null)
+ )
+ const input = useRef(null)
+ const [type, setType] = useState>(null)
+
+ useEffect(() => {
+ let file = (
+ (typeof content === 'string') ? content : content?.name
+ )
+ file = file?.replace(
+ /^(https?:\/\/[^/]+\/|ip[nf]s:\/\/(.+\/)?)/, ''
+ )
+ setFilename(file)
+
+ const ext = file?.split('.').pop()
+ let type = 'none'
+ if(['mp4', 'avif', 'webm'].includes(ext)) {
+ type = 'video'
+ } else if(['mp3', 'wav', 'ogg', 'flac'].includes(ext)) {
+ type = 'audio'
+ } else if(['gltf', 'glb'].includes(ext)) {
+ type = 'model'
+ } else if(file != null) {
+ type = 'image'
+ }
+ setType(type)
+ }, [content])
+
+ const set = ({ target: { files } }: (
+ { target: { files: Maybe } }
+ )) => {
+ if(files.length >= 1 && files[0]) {
+ setValue(prop, files[0])
+ setFilename(files[0].name)
+ }
+ }
+
+ const remove = (evt: React.MouseEvent) => {
+ setValue(prop, undefined)
+ setFilename(null)
+ evt.preventDefault()
+ }
+
+ return (
+
)
}
@@ -162,19 +313,16 @@ export const NFTForm: React.FC<{
tokenId = '𝘜𝘯𝘬𝘯𝘰𝘸𝘯',
metadata,
}) => {
- const [primaryImageIdx, setPrimaryImageIdx] = (
- useState(0)
- )
- const imageRef = useRef(null)
const {
- homepage, description, color, images, attributes, animation,
+ homepage, description, color, image,
+ attributes, animation, name,
} = watch()
// const [wearables, setWearables] = useState({})
useEffect(() => {
if (metadata) {
Object.entries({
- name: null, description: null,
+ name: null, description: null, image: null,
external_url: 'homepage',
animation_url: 'animation',
})
@@ -182,10 +330,6 @@ export const NFTForm: React.FC<{
setValue(name ?? prop, metadata[prop])
})
- if(metadata.image) {
- setValue('images', [metadata.image])
- }
-
const { attributes: attrs } = metadata
if(!isEmpty(attrs)) {
setValue(
@@ -212,7 +356,11 @@ export const NFTForm: React.FC<{
}, [metadata, setValue])
useEffect(() => {
- if(!homepage || isEmpty(homepage) || homepage.endsWith('𝘜𝘯𝘬𝘯𝘰𝘸𝘯')) {
+ if(
+ !homepage
+ || isEmpty(homepage)
+ || homepage.endsWith('𝘜𝘯𝘬𝘯𝘰𝘸𝘯')
+ ) {
setValue(
'homepage',
`${nftBase}/${regexify(tokenId)}`
@@ -232,286 +380,107 @@ export const NFTForm: React.FC<{
}
}, [])
- const addImage = ({ target: { files } }: (
- { target: { files: Maybe } }
- )) => {
- if(files?.length && files?.length >= 1) {
- setValue('images', [...(images ?? []), ...Array.from(files)])
- }
- }
-
- const removeImage = (idx: number) => {
- const replacement = [
- ...images.slice(0, idx),
- ...images.slice(idx + 1)
- ]
- setValue('images', replacement)
- if(primaryImageIdx === idx) {
- setPrimaryImageIdx(
- replacement.length > 0 ? 0 : undefined
- )
- }
- }
-
- const configAnimation = (
- (evt: ChangeEvent & { target: { files: Maybe } }) => {
- const { target: { files } } = evt
- if (files?.length >= 1) {
- setValue('animation', files[0])
- } else {
- setValue('animation', null)
- }
- evt.preventDefault()
- }
- )
-
const addRow = () => {
setValue('attributes', [...(attributes ?? []), {}])
}
return (
-
-
-
-
-
- Name
-
-
-
-
-
-
-
-
-
- Images
-
-
-
- {images?.length > 0 && (
- {
- setPrimaryImageIdx(Number(value))
- }}
- >
-
- {images.map((image: File | string, idx: number) => {
- const name = (
- (image as File)?.name
- ?? (image as string)?.replace(/^.*\//g, '')
- )
-
- return (
-
-
- Display Image
-
-
-
- imageRef.current?.click()}
- />
-
-
-
-
-
-
- )
- })}
-
-
- )}
-
-
-
-
-
-
-
- Background
-
-
-
-
-
-
-
-
-
- Homepage
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {homepage?.length > 0 && (
+
+ 🡽
+
+ )}
+
+
+
-
-
-
-
-
-
-
- Description
-
-
-
- Markdown
- Preview
-
-
-
-
-
-
-
- {description}
-
-
-
-
-
-
-
-
-
-
-
- Animation
-
- {typeof animation === 'string' && (
-
-
- {decodeURI(animation.replace(
- /^ipfs:\/\/[^/]+\//, ''
- ))}
-
- {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
-
-
-
-
- )}
- {(
- typeof File !== 'undefined'
- && animation instanceof File
- && (
-
- {animation.name}
-
-
-
-
- )
- )}
-
-
-
-
-
-
-
-
-
- Attributes
-
-
-
- {attributes?.length > 0 && (
-
-
-
- Name |
- Value |
- Type |
-
-
-
- {attributes.map((_: Attribute, index: number) => (
-
- ))}
-
-
- )}
-
-
-
-
+
+
+
+ {description}
+
+
+
+
+
+
+
+
+
+
+ {attributes?.length > 0 && (
+
+
+
+ Name |
+ Type |
+ Value |
+ |
+
+
+
+ {attributes.map((_: Attribute, index: number) => (
+
+ ))}
+
+
+ )}
+
+
)
}
diff --git a/packages/ui/src/components/OptionsForm.tsx b/packages/ui/src/components/OptionsForm.tsx
index 49571c0c..90da823f 100644
--- a/packages/ui/src/components/OptionsForm.tsx
+++ b/packages/ui/src/components/OptionsForm.tsx
@@ -1,15 +1,10 @@
-/* eslint-disable indent */
-import {
- Box, Stack, Tab, TabList, TabPanel,
- TabPanels, Tabs, useToast,
-} from '@chakra-ui/react'
import {
URIForm, JSONForm, NFTForm, MaxForm, SubmitButton,
} from '@/components'
import {
ipfsify, isSet, isEmpty, regexify, extractMessage,
} from '@/lib/helpers'
-import React, { useCallback, useEffect, useState } from 'react'
+import React, { useCallback, useMemo, useState } from 'react'
import { useWeb3 } from '@/lib/hooks'
import { useForm } from 'react-hook-form'
import JSON5 from 'json5'
@@ -18,6 +13,11 @@ import {
} from '@/lib/types'
import { useNavigate } from 'react-router-dom'
import { useConfig } from '@/config'
+import { toast } from 'react-toastify'
+import { Tab, Tabs, TabList, TabPanel } from 'react-tabs'
+import { createPortal } from 'react-dom'
+import { Values } from '@/lib/types'
+import os from '../styles/OptionsForm.module.css'
export const OptionsForm: React.FC<{
purpose?: 'create' | 'update'
@@ -30,256 +30,328 @@ export const OptionsForm: React.FC<{
metadata: incomingData,
metaURI: incomingURI,
}) => {
- const FIELD_FORM = 0
- const URI_FORM = 1
- const JSON5_FORM = 2
- const { rwContract } = useWeb3()
- const navigate = useNavigate()
- const {
- register, handleSubmit, watch, setValue: setValue,
- formState: { isSubmitting: processing },
- } = useForm()
- const [tab, setTab] = useState(FIELD_FORM)
- const toast = useToast()
- const { storage } = useConfig()
- const metadata = watch('metadata')
- const json5 = watch('json5')
- const uri = watch('uri')
-
- useEffect(() => {
- if(purpose === 'update') {
- setValue('metadata', incomingData)
- }
- }, [setValue, purpose, incomingData])
-
- const buildMeta = useCallback(async (data: FormValues) => {
+ const FIELD_FORM = 0
+ const URI_FORM = 1
+ const JSON5_FORM = 2
+ const { rwContract } = useWeb3()
+ const navigate = useNavigate()
const {
- name, description, homepage, color,
- images, animation, attributes,
- } = data
+ register, handleSubmit, watch, setValue: setValue,
+ formState: { isSubmitting: processing },
+ } = useForm({
+ defaultValues: {
+ uri: incomingURI,
+ },
+ })
+ const [metadata, setMetadata] = (
+ useState>(incomingData ?? {})
+ )
+ const [tab, setTab] = useState(FIELD_FORM)
+ const { storage, Settings, openSettings } = useConfig()
+ const values = watch()
+ const json5 = watch('json5')
+ const uri = watch('uri')
- const metadata: ERC1155Metadata = {
- name: isSet(name) ? name : '𝙐𝙣𝙩𝙞𝙩𝙡𝙚𝙙',
- decimals: 0,
- }
-
- if(isSet(description)) {
- metadata.description = description
- }
+ const buildMeta = useCallback(async ({
+ data, ipfs = true,
+ }: { data: FormValues, ipfs?: boolean }) => {
+ const wrapIPFS = async (filesOrURL: unknown) => {
+ const isFile = filesOrURL instanceof File
+ const isString = typeof filesOrURL === 'string'
+ if (isFile || isString) {
+ if (ipfs) {
+ return await ipfsify({ filesOrURL, storage })
+ } else {
+ return (
+ isFile ? (
+ URL.createObjectURL(filesOrURL)
+ ) : (
+ filesOrURL
+ )
+ )
+ }
+ } else {
+ throw new Error(`Unknown Media Type: ${typeof image}`)
+ }
+ }
- if(isSet(homepage)) {
- metadata.external_url = homepage
- }
+ const {
+ name, description, homepage, color,
+ image, animation, attributes,
+ } = data
- if(Array.isArray(images) && images.some((img) => img != null)) {
- metadata.image = await ipfsify({ filesOrURL: images, storage })
- } else if(!Array.isArray(images)) {
- console.warn(`Unknown Image Type: ${typeof images}`)
- }
+ const metadata: ERC1155Metadata = {
+ name: isSet(name) ? name : '𝙐𝙣𝙩𝙞𝙩𝙡𝙚𝙙',
+ decimals: 0,
+ }
- if(animation instanceof File || typeof animation === 'string') {
- metadata.animation_url = await ipfsify({ filesOrURL: animation, storage })
- } else if (animation != null) {
- console.warn(`Unknown Animation Type: ${typeof animation}`)
- }
+ if (isSet(description)) {
+ metadata.description = description
+ }
- if(color?.startsWith('#')) {
- metadata.background_color = (
- color.substring(1).toUpperCase()
- )
- }
+ if (isSet(homepage)) {
+ metadata.external_url = homepage
+ }
- if(isSet(attributes) && !isEmpty(attributes)) {
- metadata.attributes = (
- attributes.map(({ name, value, type }: Attribute) => {
- const attr: OpenSeaAttribute = {
- trait_type: name,
- value,
- }
- // including a string type causes nothing to render
- if (type !== 'string') {
- attr.display_type = type
- }
- return attr
- })
- )
- }
+ if (image) {
+ metadata.image = await wrapIPFS(image)
+ }
- return metadata
- }, [storage])
+ if (animation) {
+ metadata.animation_url = await wrapIPFS(animation)
+ }
- const configure = useCallback(
- async ({ metadata }: { metadata: string } ) => {
- if(!rwContract) {
- throw new Error(
- `Cannot connect to contract to ${purpose} metadata.`
+ if (color?.startsWith('#')) {
+ metadata.background_color = (
+ color.substring(1).toUpperCase()
)
}
- if(tokenId == null) {
- throw new Error('Token id is unset.')
- }
- if(metadata == null) {
- throw new Error ('metadata is unset.')
+
+ if (isSet(attributes) && !isEmpty(attributes)) {
+ metadata.attributes = (
+ attributes.map(({ name, value, type }: Attribute) => {
+ const attr: OpenSeaAttribute = {
+ trait_type: name,
+ value,
+ }
+ // including a string type causes nothing to render
+ if (type !== 'string') {
+ attr.display_type = type
+ }
+ return attr
+ })
+ )
}
+
+ return metadata
+ }, [storage])
+
+ const configure = useCallback(
+ async ({ metadata }: { metadata: string }) => {
+ if (!rwContract) {
+ throw new Error(
+ `Cannot connect to contract to ${purpose} metadata.`
+ )
+ }
+ if (tokenId == null) {
+ throw new Error('Token id is unset.')
+ }
+ if (metadata == null) {
+ throw new Error('metadata is unset.')
+ }
+ try {
+ const tx = await rwContract.setURI(
+ BigInt(tokenId), metadata
+ )
+ await tx.wait(2)
+
+ if (metadata !== '') {
+ navigate(`/view/${regexify(tokenId)}`)
+ }
+ } catch (error) {
+ console.error({ error })
+ toast(extractMessage(error), { type: 'error' })
+ }
+ },
+ [rwContract, tokenId, purpose, navigate],
+ )
+
+ const submit = useCallback(async (data: FormValues) => {
try {
- const tx = await rwContract.setURI(
- BigInt(tokenId), metadata
- )
- await tx.wait()
+ const name = `metadata.${(new Date()).toISOString()}.json`
+ let metadata = await (async () => {
+ switch (tab) {
+ case FIELD_FORM: {
+ const content = JSON.stringify(
+ await buildMeta({ data }), null, 2
+ )
+ return { name, content }
+ }
+ case URI_FORM: {
+ return data.uri ?? ''
+ }
+ case JSON5_FORM: {
+ if (!isSet(data.json5)) {
+ throw new Error('JSON5 isn’t set.')
+ }
+ const meta = JSON5.parse(data.json5)
+ return {
+ name,
+ content: JSON.stringify(meta, null, 2)
+ }
+ }
+ default: {
+ throw new Error(`Unknown Tab: ${tab}`)
+ }
+ }
+ })()
- if(metadata !== '') {
- navigate(`/view/${regexify(tokenId)}`)
+ if (metadata == null) {
+ throw new Error(`Metadata is \`${JSON5.stringify(metadata)}\`.`)
+ } else if (metadata !== '') {
+ metadata = await ipfsify({ filesOrURL: metadata, storage })
}
- } catch(error) {
+ await configure({ metadata })
+ } catch (error) {
console.error({ error })
- toast({
- title: 'Contract Error',
- description: extractMessage(error),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
+ toast(extractMessage(error))
}
- },
- [rwContract, tokenId, purpose, navigate, toast],
- )
+ }, [buildMeta, configure, storage, tab])
- const submit = useCallback(async (data: FormValues) => {
- try {
- const name = `metadata.${(new Date()).toISOString()}.json`
- let metadata = await (async () => {
- switch(tab) {
- case FIELD_FORM: {
- const content = JSON.stringify(
- await buildMeta(data), null, 2
- )
- return { name, content }
- }
+ const changeTo = useMemo(() => ({
+ fields: async (previous: number) => {
+ let metaPromise
+ switch (previous) {
case URI_FORM: {
- return data.uri ?? ''
+ if (uri && uri !== '') {
+ metaPromise = (
+ fetch(uri)
+ .then((res) => res.text())
+ .then(
+ (txt) => JSON5.parse(txt)
+ )
+ )
+ }
+ break
}
case JSON5_FORM: {
- if(!isSet(data.json5)) {
- throw new Error('JSON5 isn’t set.')
- }
- const meta = JSON5.parse(data.json5)
- return {
- name,
- content: JSON.stringify(meta, null, 2)
+ if (json5 && json5 !== '') {
+ metaPromise = Promise.resolve(
+ JSON5.parse(json5)
+ )
}
- }
- default: {
- throw new Error(`Unknown Tab: ${tab}`)
+ break
}
}
- })()
-
- if(metadata == null) {
- throw new Error(`Metadata is \`${JSON5.stringify(metadata)}\`.`)
- } else if(metadata !== '') {
- console.log({metadata})
- metadata = await ipfsify({ filesOrURL: metadata, storage })
- console.log({metadata})
- }
- await configure({ metadata })
- } catch(error) {
- console.error({ error })
- toast({
- title: 'Metadata Error',
- description: extractMessage(error),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
- }
- }, [buildMeta, configure, storage, tab, toast])
- return (
-
-
-
- {
- switch(idx) {
- case FIELD_FORM: {
- let metadata
- switch(tab) {
- case URI_FORM: {
- if(uri && uri !== '') {
- const res = await fetch(uri)
- metadata = JSON5.parse(
- await res.text()
- )
- }
- break
- }
- case JSON5_FORM: {
- if(json5 && json5 !== '') {
- metadata = JSON5.parse(json5)
- }
- break
- }
- }
- if(metadata) {
- await configure({ metadata })
- } else {
- toast({
- title: 'Metadata Warning',
- description: 'No metadata specified.',
- status: 'warning',
- isClosable: true,
- duration: 10000
- })
+ if (metaPromise) {
+ setMetadata(null)
+ metaPromise
+ .then((meta) => {
+ const types = [
+ { image: 'image' },
+ { animation: 'animation_url' },
+ ] as const
+ for (const typeSet of types) {
+ const type = Object.keys(typeSet)[0] as keyof typeof typeSet
+ const key = typeSet[type] as Values
+ if (
+ typeof meta[key] === 'string'
+ && (meta[key] as string).startsWith('blob:')
+ ) {
+ meta[key] = values[type] as string
}
- break
- }
- case URI_FORM: {
- break
}
+ setMetadata(meta)
+ })
+ } else {
+ toast.warn('No metadata specified.')
+ }
+ },
+ uri: async (previous: number) => {
+ return previous
+ },
+ json5: async (previous: number) => {
+ let metaPromise
+ switch (previous) {
+ case FIELD_FORM: {
+ metaPromise = (
+ buildMeta({ data: values, ipfs: false })
+ )
+ break
+ }
+ case URI_FORM: {
+ if (uri && uri !== '') {
+ metaPromise = (
+ fetch(uri)
+ .then((res) => res.json())
+ )
}
- setTab(idx)
- }}
- >
-
- Fields
- URI
- JSON5
-
-
- {[NFTForm, URIForm, JSONForm].map((Form, idx) => (
-
-
-
- ))}
-
-
-
-
-
-
-
- )
-}
+ break
+ }
+ }
+ if (metaPromise) {
+ setMetadata(null)
+ setMetadata(await metaPromise)
+ } else {
+ toast('No metadata found.')
+ }
+ }
+ }), [uri, json5, buildMeta, values])
+
+ const onSelect = useCallback(
+ (idx: number, previous: number) => {
+ if (idx === previous) return
+
+ let changePromise
+ switch (idx) {
+ case FIELD_FORM: {
+ changePromise = changeTo.fields(previous)
+ break
+ }
+ case URI_FORM: {
+ changePromise = changeTo.uri(previous)
+ break
+ }
+ case JSON5_FORM: {
+ changePromise = changeTo.json5(previous)
+ break
+ }
+ }
+ changePromise.then(() => setTab(idx))
+ },
+ [changeTo],
+ )
+
+ return (
+
+ {createPortal(
+ , document.body,
+ )}
+
+
+
+ )
+ }
export default OptionsForm
\ No newline at end of file
diff --git a/packages/ui/src/components/Spinner.tsx b/packages/ui/src/components/Spinner.tsx
new file mode 100644
index 00000000..4752f04d
--- /dev/null
+++ b/packages/ui/src/components/Spinner.tsx
@@ -0,0 +1,9 @@
+import React from 'react'
+import { ClimbingBoxLoader } from 'react-spinners'
+import '../styles/Spinner.css'
+
+export const Spinner = () => (
+
+
+
+)
diff --git a/packages/ui/src/components/SubmitButton.tsx b/packages/ui/src/components/SubmitButton.tsx
index f86af18c..0ae9d635 100644
--- a/packages/ui/src/components/SubmitButton.tsx
+++ b/packages/ui/src/components/SubmitButton.tsx
@@ -1,23 +1,29 @@
import { capitalize, switchTo } from '@/lib/helpers'
import { NETWORKS } from '@/lib/networks'
-import {
- Button, ButtonProps, Flex, Link, Spinner, Text,
-} from '@chakra-ui/react'
-import React, { MouseEvent, useMemo, useState } from 'react'
+import React, {
+ ButtonHTMLAttributes,
+ HTMLProps, MouseEvent, useCallback, useMemo, useState,
+} from 'react'
import { useWeb3 } from '@/lib/hooks'
import { useConfig } from '@/config'
+import { PacmanLoader } from 'react-spinners'
+import '../styles/SubmitButton.css'
-export const SubmitButton: React.FC = ({
+ short?: boolean
+ openSettings?: () => void
+} & ButtonHTMLAttributes> = ({
purpose = 'create',
processing = false,
- onClick,
- requireStorage,
+ short = false,
+ // onClick,
+ requireStorage = true,
label = `${capitalize(purpose)} NFT`,
+ openSettings,
...props
}) => {
const {
@@ -31,69 +37,66 @@ export const SubmitButton: React.FC
-
-
>
}
diff --git a/packages/ui/src/components/ThreeDScene.tsx b/packages/ui/src/components/ThreeDScene.tsx
index 2d1cfa0b..06ce53a6 100644
--- a/packages/ui/src/components/ThreeDScene.tsx
+++ b/packages/ui/src/components/ThreeDScene.tsx
@@ -1,30 +1,69 @@
import React, { Suspense } from 'react'
-import { Canvas } from '@react-three/fiber'
-import { Stage, OrbitControls, useGLTF } from '@react-three/drei'
+import { Canvas, PrimitiveProps } from '@react-three/fiber'
+import { OrbitControls, useGLTF } from '@react-three/drei'
+import { Maybe } from '@/lib/types'
+import LoggingErrorBoundary from './LoggingErrorBoundary'
-export const Model = ({ model }: { model: string }) => {
+export const Model = (
+ { model, group: groupProps, ...props }:
+ {
+ model: string
+ group: Record void)>
+ props?: PrimitiveProps
+ }
+) => {
const { scene } = useGLTF(model)
return (
-
+
+
+
)
}
-export const ThreeDScene = ({ model }: { model: string }) => {
+export const ThreeDScene = (
+ { model, className = null, bg = null }:
+ { model: string; className?: string, bg?: string }
+) => {
+ const [paused, setPaused] = React.useState(false)
+
+ let args: Maybe<[r: number, g: number, b: number]> = null
+ if(bg) {
+ args = (
+ bg.match(/../g)
+ .map((num) => Number(`0x${num}`) / 255)
+ .slice(0, 3)
+ ) as [r: number, g: number, b: number]
+ }
return (
-
- )
+
+
+
+
+
+
+
+ )
}
\ No newline at end of file
diff --git a/packages/ui/src/components/TokenFilterForm.tsx b/packages/ui/src/components/TokenFilterForm.tsx
index df53a1e5..beb427b0 100644
--- a/packages/ui/src/components/TokenFilterForm.tsx
+++ b/packages/ui/src/components/TokenFilterForm.tsx
@@ -1,11 +1,10 @@
import { toSpanList } from '@/lib/helpers'
import { Limits } from '@/lib/types'
-import {
- chakra, Button, Checkbox, Flex, FormControl,
- FormLabel, Input, Stack, type FlexProps, Text,
-} from '@chakra-ui/react'
-import React, { SetStateAction, useEffect, useState } from 'react'
+import React, {
+ FormEventHandler, HTMLAttributes, SetStateAction, useEffect,
+} from 'react'
import { Controller, useForm } from 'react-hook-form'
+import tffs from '../styles/TokenFilterForm.module.css'
export type FilterValues = {
limit: number
@@ -25,7 +24,7 @@ export const TokenFilterForm: React.FC<{
void
)
visibleList: Array
-} & FlexProps> = ({
+} & HTMLAttributes> = ({
limit = 10, setLimit, offset = 0, setOffset,
gatingVisible = false, setGatingVisible,
visibleList, setVisibleList, ...props
@@ -33,7 +32,6 @@ export const TokenFilterForm: React.FC<{
const {
register, handleSubmit, control, setValue,
} = useForm()
-
useEffect(() => {
setValue('limit', limit)
setValue('offset', offset)
@@ -49,81 +47,55 @@ export const TokenFilterForm: React.FC<{
}
return (
-
- *:not(style)~*:not(style)': { mt: 0.5 },
- label: {
- _after: { content: '":"' },
- mt: 1.5,
- mr: 1,
- fontSize: '110%',
- },
- }}
+
-
-
-
- (
-
- ViewPermissionTokens
-
- )}
- />
-
-
+
+
+ or
+
+ (
+
+ )}
+ />
-
- View
-
-
-
+ View
+
+
)
}
diff --git a/packages/ui/src/components/TokensTable.tsx b/packages/ui/src/components/TokensTable.tsx
index a2324451..4e02aa26 100644
--- a/packages/ui/src/components/TokensTable.tsx
+++ b/packages/ui/src/components/TokensTable.tsx
@@ -1,282 +1,280 @@
-import {
- Box, Flex, Spinner, Stack, Table, Tbody, Td, Text, Th, Thead, Tr,
- Link as ChakraLink, Tooltip, chakra, type TableCellProps,
-} from '@chakra-ui/react'
+/* eslint-disable jsx-a11y/alt-text */
+/* eslint-disable @next/next/no-img-element */
+import Tippy from '@tippyjs/react'
import { extractMessage, httpURL, regexify } from '@/lib/helpers'
import type { TokenState } from '@/lib/types'
import Markdown from 'react-markdown'
import React from 'react'
-import { Link as ReactRouterLink } from 'react-router-dom'
-
-const RouterLink = chakra(ReactRouterLink)
+import { ClimbingBoxLoader } from 'react-spinners'
+import { Link } from 'react-router-dom'
+import '../styles/TokensTable.css'
type IndexedToken = { token: TokenState, index: number }
type Token = { token: TokenState }
-const IdTd:React.FC = ({ token }) => (
-
- = ({ token }) => (
+
+
-
- {token.index}
+
+ {token.index}
{token.gates != null && (
-
+
({token.gates === 0 ? 'all' : token.gates})
-
+
)}
{token.is?.disabling && (
- (disabled)
+ (disabled)
)}
-
-
- |
+
+
+
)
-const ErrorTd:React.FC = ({ token }) => (
-
-
-
- {extractMessage(token.error)}
-
-
- |
+const Error:React.FC = ({ token }) => (
+
+
{extractMessage(token.error)}
+
)
-const LoadingTd:React.FC<
- Token & { label?: string } & TableCellProps
-> = (
+const Loading:React.FC<{ label?: string }> = (
({ label = 'Loading Metadata…', ...props }) => (
-
-
-
- {label}
-
- |
+
)
)
-const ImageTd:React.FC = ({ token }) => (
-
-
-
-
- {token.metadata?.image && (
-
- )}
-
- {token.metadata?.name ?? (
- Untitled
- )}
-
-
- |
+const Finding:React.FC<{ label?: string }> = (
+ ({ label = 'Finding Metadata…', ...props }) => (
+
+ )
)
-const DescriptionTd:React.FC = ({ token }) => (
-
- {token.is?.disabling && (
-
- This token disables the following permission for
-
- the token at index #{token.gates}
- :
-
- )}
- {token.is?.gating && (
-
- This token gives holders the following permission for
- {token.gates === 0 ? (
- ' all tokens'
- ) : (
-
+declare module 'csstype' {
+ interface Properties {
+ '--img-bg'?: string
+ }
+}
+
+const Image:React.FC = ({ token }) => (
+
+
+ {token.metadata?.image && (
+ )
+ )}
+
+
+)
+
+const Description:React.FC = ({ token }) => (
+
+
+
+ {token.metadata?.name ?? (
+ Untitled
+ )}
+ {token.gates == null ? '' : (
+ token.gates === 0 ? (
+ ' for all tokens'
+ ) : (
+ <>
+ {' '}for{' '}
+
+ #{token.gates}
+
+ >
+ )
+ )}
+
+
+
+ {token.is?.disabling && (
+
+ This token disables the following permission for{' '}
+
the token at index #{token.gates}
-
- )}:
-
- )}
-
- {token.is?.disabling || token.is?.gating ? (
- `> ${token.metadata.description.replace(/\n/g, "\n> ")}`
- ) : (
- token.metadata?.description ?? (
- '*No Description*'
- )
+ :
+
)}
-
- |
+ {token.is?.gating && (
+
+ This token gives holders the following permission for{' '}
+ {token.gates === 0 ? (
+ 'all tokens'
+ ) : (
+
+ the token at index #{token.gates}
+
+ )}:
+
+ )}
+
+ {token.is?.disabling || token.is?.gating ? (
+ `> ${token.metadata.description.replace(/\n/g, "\n> ")}`
+ ) : (
+ token.metadata?.description ?? (
+ '*No Description*'
+ )
+ )}
+
+
+
)
-const LinkTd:React.FC = ({ token }) => (
-
+const LinkLink:React.FC = ({ token }) => (
+
{token.metadata?.external_url && (
-
-
+
+
🌐
-
-
+
+
)}
- |
+
)
-const URITd:React.FC = ({ token }) => (
-
- {token.uri && (
-
-
-
- 🔗
-
-
- {
- if(
- token.uri
- && typeof navigator !== 'undefined'
- && window.isSecureContext
- ) {
- navigator.clipboard?.writeText(token.uri)
- }
- }}
- >
-
- 📋
-
-
-
- )}
- |
+const URI:React.FC = ({ token }) => (
+ (token.uri && (
+
+ ))
)
-const TotalTd:React.FC = ({ token }) => (
-
-
- {token.total?.toString() ?? }
- {' ⁄ '}
- {token.max?.toString() ?? }
-
- |
-)
+const Total:React.FC = ({ token }) => {
+ const label = `${token.total?.toString()} minted of ${token.max?.toString()} total`
-const ActionsTd:React.FC = ({ token }) => {
+ return (
+
+
+ <>
+ {
+ token.total?.toString()
+ ??
+ }
+ {'⁄'}
+ {
+ Number(token.max) < 0 ? '∞' : token.max?.toString()
+ ??
+ }
+ >
+
+
+ )
+}
+
+const Actions:React.FC = ({ token }) => {
const id = regexify(token.id)
return (
-
-
-
-
- ✏️
-
-
-
-
- 👁
-
-
-
-
- 💸
-
-
-
- |
+
)
}
export const TokensTable: React.FC<{
tokens: Array
-}> = ({ tokens }) => {
- return (
-
-
-
- Id |
- Display |
- Description |
- Link |
- Metadata |
- Total |
- Actions |
-
-
-
- {tokens.map((token: TokenState, index) => {
- if(token.is?.hidden) {
- return null
- }
- return (
-
-
- {(() => {
- if(!token.uri && token.error) {
- return
- }
- if(!token.metadata) {
- return (
-
- )
- }
- return (
- <>
-
-
-
- >
+}> = ({ tokens }) => (
+
+ {tokens.map((token: TokenState, index) => {
+ if(token.is?.hidden) {
+ return null
+ }
+ return (
+
+
+ {(() => {
+ if(token.error) {
+ return
+ }
+ if(!token.metadata) {
+ return (
+ !token.uri ? (
+
+ ) : (
+
)
- })()}
- {token.uri && }
-
-
-
- )
- })}
-
-
- )
-}
+ )
+ }
+ return (
+ <>
+
+
+
+ >
+ )
+ })()}
+
+
+
+
+ )
+ })}
+
+)
export default TokensTable
\ No newline at end of file
diff --git a/packages/ui/src/components/URIForm.tsx b/packages/ui/src/components/URIForm.tsx
index 828262f9..dc8c99d8 100644
--- a/packages/ui/src/components/URIForm.tsx
+++ b/packages/ui/src/components/URIForm.tsx
@@ -1,14 +1,12 @@
-import { Input, Stack } from '@chakra-ui/react'
import React from 'react'
import { FieldValues, UseFormRegister } from 'react-hook-form'
+import '../styles/URIForm.css'
export const URIForm: React.FC<{
register: UseFormRegister
-}> = ({
- register
-}) => {
+}> = ({ register }) => {
return (
-
diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts
index 6934d3a3..f1f39308 100644
--- a/packages/ui/src/components/index.ts
+++ b/packages/ui/src/components/index.ts
@@ -9,4 +9,5 @@ export * from './JSONForm'
export * from './MaxForm'
export * from './ModelModal'
export * from './SubmitButton'
+export * from './ThreeDScene'
export * from './TokenFilterForm'
\ No newline at end of file
diff --git a/packages/ui/src/config.tsx b/packages/ui/src/config.tsx
index 5e16cb92..583fd4e9 100644
--- a/packages/ui/src/config.tsx
+++ b/packages/ui/src/config.tsx
@@ -1,12 +1,9 @@
-import {
- FormControl, FormLabel, Input, InputGroup,
- Modal, ModalBody, ModalCloseButton, Link,
- ModalContent, ModalHeader, ModalOverlay,
- useDisclosure, Text, ModalFooter, Stack, Flex, Button,
-} from '@chakra-ui/react'
import { NFTStorage } from 'nft.storage'
-import React, { useCallback, useMemo, useState } from 'react'
+import React, {
+ useCallback, useMemo, useRef, useState, forwardRef,
+} from 'react'
import { Maybe } from './lib/types'
+import cs from './styles/config.module.css'
declare const CHAIN_NAME: string
declare const IPFS_LINK_PATTERN: string
@@ -15,42 +12,42 @@ declare const NFT_GRAPH: string
declare const NFT_BASE: string
export const contractNetwork = (
- (
- (typeof CHAIN_NAME !== 'undefined') ? (
- CHAIN_NAME
- ) : (
- 'polygon'
- )
+ (typeof CHAIN_NAME !== 'undefined') ? (
+ CHAIN_NAME
+ ) : (
+ 'polygon'
)
)
export const ipfsLinkPattern = (
- (
- (typeof IPFS_LINK_PATTERN !== 'undefined') ? (
- IPFS_LINK_PATTERN
- ) : (
- 'https://nftstorage.link/{protocol}/{v1cid}/{path}'
- )
+ (typeof IPFS_LINK_PATTERN !== 'undefined') ? (
+ IPFS_LINK_PATTERN
+ ) : (
+ 'https://nftstorage.link/{protocol}/{v1cid}/{path}'
)
)
export const nftGraph = (
- (
- (typeof NFT_GRAPH !== 'undefined') ? (
- NFT_GRAPH
- ) : (
- 'https://api.thegraph.com/subgraphs/name/alberthaotan/nft-matic'
- )
+ (typeof NFT_GRAPH !== 'undefined') ? (
+ NFT_GRAPH
+ ) : (
+ 'https://api.thegraph.com/subgraphs/name/alberthaotan/nft-matic'
)
)
export const nftBase = (
- (
- (typeof NFT_BASE !== 'undefined') ? (
- NFT_BASE
- ) : (
- 'https://chiev.es/#/view'
- )
+ (typeof NFT_BASE !== 'undefined') ? (
+ NFT_BASE
+ ) : (
+ 'https://chiev.es/#/view'
+ )
+)
+
+export const envNFTStorageAPIToken = (
+ (typeof NFT_STORAGE_API_TOKEN !== 'undefined') ? (
+ NFT_STORAGE_API_TOKEN
+ ) : (
+ null
)
)
@@ -80,139 +77,109 @@ export const defaults = {
visible: '',
}
+export const Settings = forwardRef<
+ HTMLDialogElement,
+ {
+ nftStorageAPIToken?: string
+ setNFTStorageAPIToken?: (token: Maybe) => void
+ }
+>(({
+ nftStorageAPIToken: apiToken,
+ setNFTStorageAPIToken: setAPIToken,
+}, ref) => {
+ const [internalAPIToken, setInternalAPIToken] = (
+ useState(apiToken ?? '')
+ )
+
+ return (
+
+ )
+})
+Settings.displayName = 'Settings'
+
export const useConfig = ({ requireStorage = false } = {}) => {
+ const host = window.location.host
+ const key = `chievemints-${host}-nftStorageAPIToken`
const store = localStorage
const [nftStorageAPIToken, baseSetNFTStorageAPIToken] = (
useState(
- store.getItem('chievemints-nftStorageAPIToken')
- ?? (typeof NFT_STORAGE_API_TOKEN !== 'undefined' ? (
- NFT_STORAGE_API_TOKEN
- ) : (
- null
- ))
+ envNFTStorageAPIToken
+ ?? store.getItem(key)
+ ?? null
)
)
const setNFTStorageAPIToken = useCallback(
(token: Maybe) => {
- store.setItem('chievemints-nftStorageAPIToken', token)
+ store.setItem(key, token)
baseSetNFTStorageAPIToken(token)
},
- [store],
+ [key, store],
)
- const [
- internalNFTStorageAPIToken,
- internalSetNFTStorageAPIToken
- ] = (
- useState(nftStorageAPIToken)
+ const dialog = useRef(null)
+ const storage = useMemo(() => {
+ const token = nftStorageAPIToken
+ return token ? new NFTStorage({ token }) : null
+ }, [nftStorageAPIToken])
+ const openSettings = useCallback(() => {
+ if(!dialog.current) {
+ console.error({ openSettings: 'dialog.current is null' })
+ } else {
+ dialog.current.showModal()
+ }
+ }, [dialog])
+ const SettingsDialog: React.FC = useCallback(
+ () => (
+
+ ), [nftStorageAPIToken, setNFTStorageAPIToken]
)
- const storage = useMemo(() => (
- nftStorageAPIToken ? (
- new NFTStorage({ token: nftStorageAPIToken })
- ) : (
- null
- )
- ), [nftStorageAPIToken])
-
- const { isOpen, onOpen, onClose } = useDisclosure()
-
- const Settings: React.FC<{ highlight: Array }> = (
- useCallback(({ highlight }) => (
-
-
-
- Settings
-
-
-
-
-
- NFT.Storage
-
- API Token {requireStorage}
-
- *
-
-
-
- {
- internalSetNFTStorageAPIToken(value)
- }}
- />
-
-
-
-
-
- {/*
- {
- setGw('http://{v1cid}.ipfs.localhost:8080/{path}')
- setDelay(0)
- }}
- >
- Use localhost
-
- {
- setGw(ipfsLinkPattern)
- setDelay(Number(ipfsLimitingDelay))
- }}
- >
- Use Defaults
-
- */}
-
-
-
- Cancel
-
- {
- setNFTStorageAPIToken(
- internalNFTStorageAPIToken
- )
- onClose()
- }}
- >
- Save
-
-
-
-
-
-
- ), [internalNFTStorageAPIToken, isOpen, onClose, setNFTStorageAPIToken])
- )
-
- const settings = useMemo(() => ({
- Settings,
+ return useMemo(() => ({
storage,
- onOpen,
- isOpen,
- }), [Settings, storage])
-
- return settings
+ openSettings,
+ Settings: SettingsDialog,
+ }), [storage, openSettings, SettingsDialog])
}
\ No newline at end of file
diff --git a/packages/ui/src/lib/helpers.ts b/packages/ui/src/lib/helpers.ts
index 66970599..729b4fc4 100644
--- a/packages/ui/src/lib/helpers.ts
+++ b/packages/ui/src/lib/helpers.ts
@@ -9,7 +9,10 @@ import { ipfsLinkPattern } from '@/config'
import JSON5 from 'json5'
import { NFTStorage } from 'nft.storage'
-export const httpURL = (uri?: Maybe) => {
+export function httpURL(uri?: null): undefined
+export function httpURL(uri: string): string
+
+export function httpURL(uri?: Maybe) {
const [, protocol, origCID, path] = (
uri?.match(/^(ip[nf]s):(?:\/\/)?([^/]+)(?:\/(.*))?$/) ?? []
)
@@ -32,7 +35,7 @@ export const httpURL = (uri?: Maybe) => {
)
}
- return uri
+ return uri ?? undefined
}
export const capitalize = (str: string) => {
@@ -99,12 +102,22 @@ export const switchTo = async (chain: number) => {
}
}
-export const ipfsify = async ({
+export async function ipfsify(
+ { filesOrURL, storage }:
+ { filesOrURL: NamedString | string | File, storage: NFTStorage }
+): Promise
+export async function ipfsify(
+ { filesOrURL, storage }:
+ { filesOrURL: Array | FileList, storage: NFTStorage }
+): Promise>
+export async function ipfsify({
storage, filesOrURL,
}: {
- filesOrURL: FileListish
+ filesOrURL: (
+ string | NamedString | Array | File | FileList
+ )
storage: NFTStorage,
-}) => {
+}) {
let value = filesOrURL
if(
value == null
@@ -148,7 +161,15 @@ export const ipfsify = async ({
))
)
)
- return `ipfs://${root.toString()}/${list[0].name}`
+ return (
+ list.length === 1 ? (
+ `ipfs://${root.toString()}/${list[0].name}`
+ ) : (
+ list.map((entry) => (
+ `ipfs://${root.toString()}/${entry.name}`
+ ))
+ )
+ )
}
export const regexify = (str?: string) => {
diff --git a/packages/ui/src/lib/hooks.tsx b/packages/ui/src/lib/hooks.tsx
index f89c5dcf..9d62e3e7 100644
--- a/packages/ui/src/lib/hooks.tsx
+++ b/packages/ui/src/lib/hooks.tsx
@@ -186,6 +186,8 @@ export const Web3ContextProvider: React.FC<{ children: ReactNode }> = (
)
const connect = useCallback(async () => {
+ console.debug('Connecting…')
+
if(web3Modal == null) {
throw new Error(`Web3Modal is ${web3Modal}`)
}
diff --git a/packages/ui/src/lib/types.ts b/packages/ui/src/lib/types.ts
index e800a35b..d57a4986 100644
--- a/packages/ui/src/lib/types.ts
+++ b/packages/ui/src/lib/types.ts
@@ -40,8 +40,8 @@ export type ERC1155Metadata = {
attributes?: Array
properties?: { wearables?: Record }
external_url?: string
- image?: string
- animation_url?: string
+ image?: string | File
+ animation_url?: string | File
background_color?: string
} & {
@@ -92,7 +92,7 @@ export type FormValues = {
name?: string
description?: string
homepage?: string
- images?: FileListish
+ image?: Fileish
color?: string
animation?: Fileish
attributes?: Array
@@ -114,3 +114,8 @@ export class HiddenError extends Error {
this.name = 'HiddenError'
}
}
+
+export type Styles = (
+ Record
+ & ((...names: string[]) => string)
+)
\ No newline at end of file
diff --git a/packages/ui/src/main.tsx b/packages/ui/src/main.tsx
index a18d0d19..1c9ef1cd 100644
--- a/packages/ui/src/main.tsx
+++ b/packages/ui/src/main.tsx
@@ -1,6 +1,11 @@
import React from 'react'
import App from './App'
import { createRoot } from 'react-dom/client'
+import 'tippy.js/dist/tippy.css'
+import 'react-toastify/dist/ReactToastify.css'
+import 'react-tabs/style/react-tabs.css'
+import './styles/general.css'
+import './styles/global.css'
const container = document.getElementById('root')
diff --git a/packages/ui/src/pages/disburse.tsx b/packages/ui/src/pages/disburse.tsx
index ebb5b490..353fe518 100644
--- a/packages/ui/src/pages/disburse.tsx
+++ b/packages/ui/src/pages/disburse.tsx
@@ -2,19 +2,16 @@ import React, {
ChangeEvent, FormEvent, ReactNode, useCallback,
useEffect, useMemo, useState,
} from 'react'
-import {
- Alert, AlertDescription, AlertIcon, AlertTitle, Box,
- Button, Container, Tabs, TabList, Tab,
- TabPanels, TabPanel, FormControl, FormLabel, Textarea,
- OrderedList, ListItem, Stack, Text, Flex, Spinner,
- Checkbox, RadioGroup, Radio, useToast,
-} from '@chakra-ui/react'
-import { capitalize, deregexify, extractMessage, httpURL } from '@/lib/helpers'
+import { capitalize, deregexify, extractMessage, httpURL, regexify } from '@/lib/helpers'
import { Maybe, ERC1155Metadata, Optional } from '@/lib/types'
import { useWeb3 } from '@/lib/hooks'
import { HomeLink } from '@/components'
import { useParams } from 'react-router-dom'
import { Helmet } from 'react-helmet'
+import { ClockLoader, ScaleLoader } from 'react-spinners'
+import { toast } from 'react-toastify'
+import { Tab, TabList, TabPanel, Tabs } from 'react-tabs'
+import ds from '../styles/disburse.module.css'
const Address: React.FC<{ name: string }> = ({ name }) => {
const { ensProvider } = useWeb3()
@@ -27,7 +24,7 @@ const Address: React.FC<{ name: string }> = ({ name }) => {
)
useMemo(
() => {
- if(!isAddress) {
+ if (!isAddress) {
const resolve = async () => {
const resolved = await ensProvider?.resolveName(name)
setAddress(resolved ?? 'Not Found')
@@ -40,24 +37,24 @@ const Address: React.FC<{ name: string }> = ({ name }) => {
return (
<>
-
- {name}
+
+ {name}{' '}
{address != null && (
- ({address})
+ ({address})
)}
-
- {address === null && }
+
+ {address === null && }
>
)
}
const split = (raw: string) => (
raw.split(/\s*[\s,;:/\\|]+\s*/)
- .filter((str: string) => str && str !== '')
+ .filter((str: string) => str && str !== '')
)
const Disburse = () => {
- const { nftId } = useParams()
+ const { nftId } = useParams()
const tokenId = useMemo(() => (
deregexify(Array.isArray(nftId) ? nftId[0] : nftId)
), [nftId])
@@ -67,20 +64,19 @@ const Disburse = () => {
)
const [error, setError] = useState()
const [raw, setRaw] = useState('')
- const [action, setAction] = useState('whitelist')
+ const [action, setAction] = useState('mint')
const {
ensProvider, address, roContract, rwContract, connect,
} = useWeb3()
const [addresses, setAddresses] = useState>([])
- const toast = useToast()
useEffect(() => {
const parse = async () => {
setAddresses(
split(raw)
- .map((name: string, idx: number) => (
-
- ))
+ .map((name: string, idx: number) => (
+
+ ))
)
}
@@ -94,33 +90,33 @@ const Disburse = () => {
useEffect(() => {
const getBalance = async () => {
- if(roContract && address && tokenId) {
+ if (roContract && address && tokenId) {
try {
setBalance(Number(
(await roContract.balanceOf(address, tokenId)).toString()
))
- } catch(err) {
+ } catch (err) {
setError((err as Error).message)
}
}
}
-
+
getBalance()
}, [address, roContract, tokenId])
-
+
useEffect(
() => {
const getMetadata = async () => {
- if(roContract && tokenId) {
+ if (roContract && tokenId) {
try {
const meta = await roContract.uri(tokenId)
- if(!meta) {
+ if (!meta) {
setMetadata(null)
} else {
const response = await fetch(httpURL(meta)!)
setMetadata(await response.json())
}
- } catch(err) {
+ } catch (err) {
setError((err as Error).message)
}
}
@@ -134,29 +130,21 @@ const Disburse = () => {
const submit = useCallback(async (evt: FormEvent) => {
evt.preventDefault()
- if(!rwContract) {
- toast({
- title: 'Contract Error!',
- description: 'Token is not Connected.',
- status: 'error',
- isClosable: true,
- duration: 10000
- })
- return
+ if (!rwContract) {
+ return toast('Token is not Connected.')
}
try {
- // const skip = evt.target.skip.checked
const addrs = await Promise.all(
split(raw)
- .map(async (name: string) => {
- const response = await ensProvider?.resolveName(name)
- if(!response) {
- throw new Error(`Couldn't Resolve Name: “${name}”`)
- }
- return response
- })
+ .map(async (name: string) => {
+ const response = await ensProvider?.resolveName(name)
+ if (!response) {
+ throw new Error(`Couldn't Resolve Name: “${name}”`)
+ }
+ return response
+ })
)
- switch(action) {
+ switch (action) {
case 'mint': {
const tx = await rwContract?.['mint(address[],uint256,bytes)'](
addrs, tokenId, []
@@ -175,111 +163,105 @@ const Disburse = () => {
break
}
}
- } catch(err) {
- toast({
- title: `${capitalize(action)}ing Error`,
- description: extractMessage(err),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
+ } catch (err) {
+ toast(extractMessage(err))
}
- }, [action, ensProvider, raw, roContract, rwContract, toast, tokenId])
+ }, [action, ensProvider, raw, roContract, rwContract, tokenId])
- if(error) {
+ if (error) {
return (
-
-
- Error: Loading NFT
- {error}
-
+
+ {/*
*/}
+
Error: Loading NFT
+
{error}
+
)
}
return (
-
+
- Disburse NFT #{tokenId}
-
+ Mint NFT #{regexify(tokenId) }
+
-
+
-
+
-
+
+
+
)
}
diff --git a/packages/ui/src/pages/edit.tsx b/packages/ui/src/pages/edit.tsx
index 1df01087..314d830f 100644
--- a/packages/ui/src/pages/edit.tsx
+++ b/packages/ui/src/pages/edit.tsx
@@ -1,9 +1,6 @@
import React, {
ReactNode, useEffect, useMemo, useState,
} from 'react'
-import {
- Alert, AlertDescription, AlertIcon, AlertTitle, Box, Spinner,
-} from '@chakra-ui/react'
import { useParams } from 'react-router-dom'
import { Helmet } from 'react-helmet'
import JSON5 from 'json5'
@@ -13,6 +10,8 @@ import {
} from '@/lib/helpers'
import { HomeLink, OptionsForm } from '@/components'
import type { ERC1155Metadata, Maybe } from '@/lib/types'
+import { RingLoader } from 'react-spinners'
+import '../styles/edit.css'
export const Edit = () => {
const { nftId } = useParams()
@@ -29,7 +28,7 @@ export const Edit = () => {
const metaURI = await roContract.uri(tokenId)
const url = httpURL(metaURI)
if(!metaURI || metaURI === '') {
- throw new Error('No metadata URI.')
+ setMetadata({})
} else {
const response = await fetch(url)
const body = await response.text()
@@ -52,27 +51,29 @@ export const Edit = () => {
}, [roContract, tokenId])
return (
-
+
’𝖈𝖍𝖎𝖊𝖛𝖊: ℰ𝒹𝒾𝓉 #{tokenId && regexify(tokenId)}
{error && (
-
-
- `setMetadata` Error
- {error}
-
+
)}
{metadata === undefined ? (
- Loading {metaURI}…
+
) : (
)}
-
+
)
}
diff --git a/packages/ui/src/pages/home.tsx b/packages/ui/src/pages/home.tsx
index 6ae7c2b7..7b8a3395 100644
--- a/packages/ui/src/pages/home.tsx
+++ b/packages/ui/src/pages/home.tsx
@@ -4,8 +4,12 @@ import React, {
import {
extractMessage, httpURL, toSpanList,
} from '@/lib/helpers'
-import { HiddenError, Limits, Maybe, TokenState } from '@/lib/types'
-import { Header, TokenFilterForm, TokensTable } from '@/components'
+import {
+ HiddenError, Limits, Maybe, TokenState,
+} from '@/lib/types'
+import {
+ Header, TokenFilterForm, TokensTable,
+} from '@/components'
import { useWeb3 } from '@/lib/hooks'
import { Helmet } from 'react-helmet'
import {
@@ -13,9 +17,7 @@ import {
} from 'react-router-dom'
import JSON5 from 'json5'
import { defaults } from '@/config'
-import {
- chakra, Button, Container, Flex, Text, Stack,
-} from '@chakra-ui/react'
+import '../styles/home.css'
const Home = () => {
const [tokens, setTokens] = useState>([])
@@ -31,6 +33,7 @@ const Home = () => {
)
const navigate = useNavigate()
const { roContract, bitsLibrary } = useWeb3()
+
const setToken = useCallback(
(idx: number, info: Record) => {
let token
@@ -264,67 +267,58 @@ const Home = () => {
])
return (
-
+ <>
𝔐𝔢𝔱𝔞𝔊𝔞𝔪𝔢’𝔰 ’𝘾𝙝𝙞𝙚𝙫𝙚𝙢𝙞𝙣𝙩𝙨
-
-
-
-
-
-
+
-
-
-
-
-
- {
- if(visibleList.length > 0) {
- const potentials = visibleList.map(
- (entry) => ((entry as Limits)?.high ?? entry) as number
- )
- const max = Math.max(...potentials)
- setVisibleList((vis) => ([
- ...vis, { low: max, high: max + 10 }
- ]))
- } else {
- setLimit((lim) => lim + 10)
- }
- }}
- >
- +10
-
- setOffset((off) => off + limit)}
- >
- ↓{limit}
-
- setOffset((off) => off - limit)}
- >
- ↑{limit}
-
-
-
-
-
+
+
+
+
+
+ >
)
}
diff --git a/packages/ui/src/pages/new.tsx b/packages/ui/src/pages/new.tsx
index 5de477c6..aa1aa82c 100644
--- a/packages/ui/src/pages/new.tsx
+++ b/packages/ui/src/pages/new.tsx
@@ -1,8 +1,3 @@
-import {
- Center, Flex, Heading, Spinner, Text, chakra,
- Stack, Container, useToast, Table, Thead, Th, Tr,
- Tbody, Td, Checkbox, Input, Tooltip,
-} from '@chakra-ui/react'
import React, { useCallback, useEffect, useState } from 'react'
import { Event } from 'ethers'
import { useForm } from 'react-hook-form'
@@ -12,21 +7,19 @@ import { OptionsForm, Header, SubmitButton } from '@/components'
import { useWeb3 } from '@/lib/hooks'
import { extractMessage } from '@/lib/helpers'
import { rolePermissions, tokenPermissions } from '@/config'
+import { CircleLoader } from 'react-spinners'
+import Tippy from '@tippyjs/react'
+import { toast } from 'react-toastify'
+import ns from '../styles/new.module.css'
export const New = () => (
-
+
’𝖈𝖍𝖎𝖊𝖛𝖊: Ⲛⲉⲱ Ⲧⲟⲕⲉⲛ
-
-
-
-
-
-
-
-
-
+
+
+
)
const Content: React.FC = () => {
@@ -44,7 +37,6 @@ const Content: React.FC = () => {
)
const [working, setWorking] = useState(false)
const { register, handleSubmit } = useForm()
- const toast = useToast()
useEffect(() => {
if(typeof id === 'string') {
@@ -135,104 +127,92 @@ const Content: React.FC = () => {
const [id] = event.args
setTokenId(id.toHexString())
} catch(error) {
- toast({
- title: 'Creation Error',
- description: extractMessage(error),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
+ toast.error(extractMessage(error))
console.error((error as Error).stack)
} finally {
setWorking(false)
}
- }, [address, ensProvider, rolesLibrary, rwContract, toast])
+ }, [address, ensProvider, rolesLibrary, rwContract])
if(!rwContract || !tokenId || working) {
return (
-
-
-
- Create a New Token Type
-
- {(() => {
- if(connecting) {
- return (
-
-
- Connecting…
-
- )
- }
- if(working) {
- return (
-
-
- Reserving your token…
-
- )
- }
- if(!tokenId) {
- return (
-
-
- Admin:
-
-
-
-
-
- Role |
-
-
- Grant
-
- |
-
-
- Disable
-
- |
- Description |
-
-
-
- {roles.map((role, idx) => (
-
- {role} |
-
-
- |
-
-
- |
-
- {rolePermissions[role as keyof typeof rolePermissions]}
- |
-
- ))}
-
-
-
-
- )
- }
+
+ Create a New Token Type
+ {(() => {
+ if(connecting) {
+ return (
+
+ )
+ }
+ if(working) {
+ return (
+
+
+ Reserving your token…
+
+ )
+ }
+ if(!tokenId) {
return (
- ¿How’d we get here?
+
)
- })()}
-
-
+ }
+ return (
+ ¿How’d we get here?
+ )
+ })()}
+
)
}
diff --git a/packages/ui/src/pages/owners.tsx b/packages/ui/src/pages/owners.tsx
index 6c661f34..b9851179 100644
--- a/packages/ui/src/pages/owners.tsx
+++ b/packages/ui/src/pages/owners.tsx
@@ -1,19 +1,14 @@
import { gql, useLazyQuery } from '@apollo/client'
-import {
- chakra, Box, Heading, ListItem, OrderedList, Text,
- Alert, AlertIcon, AlertTitle, AlertDescription,
-} from '@chakra-ui/react'
import React, { useEffect, useMemo, useState } from 'react'
import contractAddress from '../contracts/polygon/BulkDisbursableNFTs.address'
import {
- useParams, useSearchParams, Link as ReactRouterLink,
+ useParams, useSearchParams, Link,
} from 'react-router-dom'
import { httpURL, deregexify, capitalize } from '@/lib/helpers'
import { HomeLink } from '@/components'
import { useWeb3 } from '@/lib/hooks'
import { contractNetwork } from '@/config'
-
-const RouterLink = chakra(ReactRouterLink)
+import { Maybe } from '@/lib/types'
const LIMIT = 100 // The Graph's return limit
@@ -55,7 +50,7 @@ export const Owners = () => {
const startAfter = params.get('start_after') ?? ''
const offset = params.get('offset') ?? 0
const [ownerships, setOwnerships] = (
- useState>([])
+ useState>>(null)
)
const decId = tokenId ? BigInt(tokenId).toString(10) : null
@@ -141,40 +136,34 @@ export const Owners = () => {
process()
}, [data, ensProvider])
- if(loading) return <>Loading…>
+ if(loading || ownerships == null) return <>Loading…>
return (
-
+
-
- {title}
-
+ {title}
{error && (
-
-
- ¡Error!
- {error}
-
+
+ ¡Error!:
+ {error}
+
)}
{ownerships.length === 0 ? (
-
-
- ¡Empty!
-
- No owners found for token #{nftId}.
-
-
+
+ ¡Empty!:
+ No owners found for token #{nftId}.
+
) : (
-
+
{ownerships.map(({ owner, quantity }, idx) => (
-
+ -
{`${owner} (${quantity})`}
-
+
))}
-
+
)}
{ownerships.length === LIMIT && (
- {
}}
>
Next
-
+
)}
-
+
)
}
diff --git a/packages/ui/src/pages/self-mint.tsx b/packages/ui/src/pages/self-mint.tsx
index 1ccc94fb..1169bc74 100644
--- a/packages/ui/src/pages/self-mint.tsx
+++ b/packages/ui/src/pages/self-mint.tsx
@@ -2,7 +2,6 @@ import React, { useCallback, useState } from 'react'
import { deregexify, extractMessage, regexify } from '@/lib/helpers'
import { useParams } from 'react-router-dom'
import { View } from './view'
-import { Container, Stack, useToast } from '@chakra-ui/react'
import { Helmet } from 'react-helmet'
import { SubmitButton } from '@/components'
import { useWeb3 } from '@/lib/hooks'
@@ -10,7 +9,6 @@ import { useWeb3 } from '@/lib/hooks'
export const SelfMint: React.FC<{ tokenId: string }> = ({ tokenId }) => {
const { rwContract, address } = useWeb3()
const [processing, setProcessing] = useState(false)
- const toast = useToast()
const mint = useCallback(async () => {
try {
@@ -23,32 +21,32 @@ export const SelfMint: React.FC<{ tokenId: string }> = ({ tokenId }) => {
await tx.wait()
} catch(error) {
console.error({ error })
- toast({
- title: 'Minting Error',
- description: extractMessage(error),
- status: 'error',
- isClosable: true,
- duration: 10000
- })
+ // toast({
+ // title: 'Minting Error',
+ // description: extractMessage(error),
+ // status: 'error',
+ // isClosable: true,
+ // duration: 10000
+ // })
} finally {
setProcessing(false)
}
- }, [address, rwContract, toast, tokenId])
+ }, [address, rwContract, tokenId])
return (
-
+
Self-Mint NFT #{regexify(tokenId)}
-
+
-
+
+
)
}
diff --git a/packages/ui/src/pages/view.tsx b/packages/ui/src/pages/view.tsx
index 81ea78ab..27958887 100644
--- a/packages/ui/src/pages/view.tsx
+++ b/packages/ui/src/pages/view.tsx
@@ -1,9 +1,6 @@
import React, { useEffect, useState } from 'react'
-import {
- Alert, AlertDescription, AlertIcon, AlertTitle,
- chakra, Heading, Flex, Spinner, Text,
-} from '@chakra-ui/react'
-import ReactMarkdown from 'react-markdown'
+import Markdown from 'react-markdown'
+import remarkGfm from 'remark-gfm'
import { useParams } from 'react-router-dom'
import { Helmet } from 'react-helmet'
import JSON5 from 'json5'
@@ -11,11 +8,10 @@ import {
regexify, deregexify, httpURL,
} from '@/lib/helpers'
import type { ERC1155Metadata } from '@/lib/types'
-import { HomeLink } from '@/components'
+import { HomeLink, ThreeDScene } from '@/components'
import { useWeb3 } from '@/lib/hooks'
-import { ThreeDScene } from '../components/ThreeDScene'
-
-const Markdown = chakra(ReactMarkdown)
+import { FadeLoader } from 'react-spinners'
+import vs from '../styles/view.module.css'
export const View: React.FC<{ tokenId: string, header?: boolean }> = (
({ tokenId, header = true }) => {
@@ -56,20 +52,19 @@ export const View: React.FC<{ tokenId: string, header?: boolean }> = (
if(error) {
return (
-
-
- Error: Loading NFT
- {error}
-
+
)
}
if(!metadata) {
return (
-
-
- Loading Metadata For Token #{regexify(tokenId)}
-
+
+
+ Loading Metadata for Token #{regexify(tokenId)}
+
)
}
@@ -79,7 +74,7 @@ export const View: React.FC<{ tokenId: string, header?: boolean }> = (
} = metadata
return (
- <>
+
{header && (
{name} (#{regexify(tokenId)})
@@ -89,33 +84,23 @@ export const View: React.FC<{ tokenId: string, header?: boolean }> = (
/>
)}
+
-
- {name && {name}}
+ {name && {name}
}
{image && (
-
)}
{description && (
{description}
@@ -123,39 +108,38 @@ export const View: React.FC<{ tokenId: string, header?: boolean }> = (
)}
{animation && (
(() => {
- const url = httpURL(animation) ?? undefined
- const props = { maxW: 96, maxH: 96 }
+ const url = httpURL(animation as string) ?? undefined
- if(/(mpe?g|mp4)$/i.test(animation)) {
+ if(/(mpe?g|mp4)$/i.test(animation as string)) {
return (
-
-
-
+
+
)
- } else if(/(glb|gltf)$/i.test(animation)) {
+ } else if(/(glb|gltf)$/i.test(animation as string)) {
return (
-
+
)
} else {
return (
-
)
}
})()
)}
- >
+
)
}
)
diff --git a/packages/ui/src/styles/Header.module.css b/packages/ui/src/styles/Header.module.css
new file mode 100644
index 00000000..f02c9ae9
--- /dev/null
+++ b/packages/ui/src/styles/Header.module.css
@@ -0,0 +1,40 @@
+:root {
+}
+
+#style {
+ height: max(20vh, 12rem);
+ max-width: 100%;
+ aspect-ratio: 12 / 5;
+ container-type: size;
+ position: relative;
+ margin: 1vh auto min(10cqh, 3.5rem);
+
+ @media (width <= 420px) {
+ & {
+ aspect-ratio: 9 / 5;
+ }
+ }
+
+ & #cup {
+ position: absolute;
+ left: 0;
+ height: 100cqh;
+ max-width: 100%;
+ aspect-ratio: 2105 / 1778;
+ }
+
+ & #sign {
+ position: absolute;
+ top: 32cqh;
+ left: 24cqw;
+ height: 100cqh;
+ max-width: 100%;
+ aspect-ratio: 392 / 223;
+
+ @media (width <= 420px) {
+ & {
+ left: 0;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/HomeLink.css b/packages/ui/src/styles/HomeLink.css
new file mode 100644
index 00000000..907e51a6
--- /dev/null
+++ b/packages/ui/src/styles/HomeLink.css
@@ -0,0 +1,7 @@
+#homeLink {
+ height: 4rem;
+ aspect-ratio: 1/1;
+ position: absolute;
+ top: 0;
+ right: 0;
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/JSONForm.module.css b/packages/ui/src/styles/JSONForm.module.css
new file mode 100644
index 00000000..fa7a56b4
--- /dev/null
+++ b/packages/ui/src/styles/JSONForm.module.css
@@ -0,0 +1,10 @@
+textarea {
+ width: 100%;
+ height: 35em;
+}
+
+#loading {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/NFTForm.module.css b/packages/ui/src/styles/NFTForm.module.css
new file mode 100644
index 00000000..596f9b3f
--- /dev/null
+++ b/packages/ui/src/styles/NFTForm.module.css
@@ -0,0 +1,104 @@
+.media {
+ flex-direction: column;
+
+ & input {
+ display: none;
+ }
+
+ & > * {
+ display: flex;
+ }
+
+ & .selector {
+ align-items: center;
+ }
+
+ & h4 {
+ margin-block: 0rem;
+ }
+
+ & .btn {
+ background-color: var(--font-color);
+ color: var(--bg-color);
+ padding: 0.5rem;
+ }
+
+ & .content, & img {
+ height: 20rem;
+ max-width: calc(100% - 1rem);
+ }
+
+ & img {
+ object-fit: contain;
+ background-color: var(--img-bg, inherit);
+ flex-grow: 1;
+ padding: 0.5rem;
+ }
+
+ & section {
+ flex-grow: 1;
+ }
+}
+
+#homepage {
+ display: flex;
+ align-items: center;
+
+ & label {
+ flex-grow: 1;
+ }
+}
+
+#description {
+ display: block;
+
+ & label, & .react-tabs {
+ display: block;
+ }
+
+ & [role="tabpanel"] {
+ &:last-of-type, & textarea {
+ max-width: 35rem;
+ width: 100%;
+ height: 6ch;
+ margin-inline: auto;
+ }
+ }
+
+ & [role="tablist"] {
+ margin-block-end: 0rem;
+
+ & [role="tab"] {
+ margin-block-end: 0rem;
+ }
+
+ &:has(li[role="tab"][aria-selected="true"]:last-of-type)
+ ~ [role="tabpanel"] {
+ padding: 0.5rem;
+ }
+ }
+
+ & [role="tabpanel"] {
+ background-color: #f5f5f577;
+ padding-block: 0.5rem;
+
+ & > *:first-child {
+ margin-block-start: 0rem;
+ }
+
+ & > *:last-child {
+ margin-block-end: 0rem;
+ }
+ }
+}
+
+#attributes {
+ & .actions {
+ display: flex;
+ }
+}
+
+.net-submit {
+ margin-bottom: 1rem;
+ width: 100%;
+}
diff --git a/packages/ui/src/styles/OptionsForm.module.css b/packages/ui/src/styles/OptionsForm.module.css
new file mode 100644
index 00000000..44c066b2
--- /dev/null
+++ b/packages/ui/src/styles/OptionsForm.module.css
@@ -0,0 +1,84 @@
+@custom-media --mobile (width < 40em);
+
+button.full {
+ width: 100%;
+}
+
+#form {
+ & ul {
+ list-style: none;
+ padding-inline-start: 0;
+
+ & li {
+ margin-block: 0.5rem;
+ }
+ }
+
+ & label {
+ display: flex;
+
+ & h3 {
+ margin-block: 0.25rem;
+ }
+
+ & h3:after {
+ content: ": ";
+ }
+
+ & input {
+ flex-grow: 1;
+ height: auto;
+ }
+ }
+
+ & form {
+ margin-block-end: 2rem;
+ }
+
+ & #maxes {
+ display: grid;
+ grid-template-columns: repeat(2, max-content) 1fr;
+ gap: 0rem;
+ place-items: center;
+
+ & label > *:first-child {
+ text-align: right;
+ }
+
+ & input {
+ width: 5rem;
+ text-align: center;
+ }
+
+ & .net-submit {
+ width: max-content;
+ margin-block: 0rem;
+ }
+
+ & .max, & label {
+ display: contents;
+ }
+
+ @media (--mobile) {
+ & .max {
+ display: grid;
+ grid-template-areas:
+ "title title"
+ "input submit";
+ grid-template-columns: max-content 1fr;
+
+ & h3 {
+ grid-area: title;
+ }
+
+ & input {
+ grid-area: input;
+ }
+
+ & button {
+ grid-area: submit;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/Spinner.css b/packages/ui/src/styles/Spinner.css
new file mode 100644
index 00000000..5cfe4f97
--- /dev/null
+++ b/packages/ui/src/styles/Spinner.css
@@ -0,0 +1,5 @@
+#spinner {
+ display: grid;
+ place-items: center;
+ height: 100svh;
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/SubmitButton.css b/packages/ui/src/styles/SubmitButton.css
new file mode 100644
index 00000000..51d14be3
--- /dev/null
+++ b/packages/ui/src/styles/SubmitButton.css
@@ -0,0 +1,5 @@
+button {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/TokenFilterForm.module.css b/packages/ui/src/styles/TokenFilterForm.module.css
new file mode 100644
index 00000000..df7e493a
--- /dev/null
+++ b/packages/ui/src/styles/TokenFilterForm.module.css
@@ -0,0 +1,76 @@
+#form {
+ width: min(100%, 30rem);
+ margin-inline: auto;
+ display: grid;
+ grid-template-columns: 1fr 1fr 4fr 1fr;
+ grid-template-rows: auto;
+ grid-template-areas:
+ "limit offset permissions view"
+ "or or permissions view"
+ "visible-list visible-list visible-list view";
+ font-size: 110%;
+ margin-block: 3rem;
+
+ @media (width < 40rem) {
+ grid-template-columns: 1fr 1fr;
+ grid-template-areas:
+ "limit offset"
+ "or or"
+ "visible-list visible-list"
+ "permissions permissions"
+ "view view";
+ }
+
+ & input {
+ width: 100%;
+ }
+
+ & > fieldset:nth-of-type(1) {
+ grid-area: limit;
+ }
+
+ & > fieldset:nth-of-type(2) {
+ grid-area: offset;
+ }
+
+ & > label {
+ grid-area: permissions;
+ place-self: center;
+ margin-inline-end: 0.5rem;
+ margin-block: 0.5rem;
+ font-size: 110%;
+ display: flex;
+
+ & input {
+ width: 1rem;
+ margin-inline-end: 0.75rem;
+ }
+ }
+
+ & > span {
+ grid-area: or;
+ text-align: center;
+ }
+
+ & > fieldset:nth-of-type(3) {
+ grid-area: visible-list;
+ & input {
+ width: 100%;
+ }
+ }
+
+ & > button {
+ grid-area: view;
+ justify-self: center;
+ padding: 0.25rem 1rem;
+ cursor: pointer;
+ transition: filter 0.25s ease-in-out;
+ &:hover {
+ filter: brightness(0.75);
+ }
+ }
+
+ & legend {
+ &::after { content: ':' }
+ }
+}
diff --git a/packages/ui/src/styles/TokensTable.css b/packages/ui/src/styles/TokensTable.css
new file mode 100644
index 00000000..c9ee6256
--- /dev/null
+++ b/packages/ui/src/styles/TokensTable.css
@@ -0,0 +1,209 @@
+@custom-media --mobile (width < 40em);
+@custom-media --tight (width < 120rem), (40rem <= width <= 1024px);
+
+main {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+#tokens {
+ display: grid;
+ grid-template-columns: 0fr max-content 1fr repeat(4, 0fr);
+ margin: auto;
+
+ @media (--mobile) {
+ & {
+ display: flex;
+ flex-direction: column;
+ }
+ }
+}
+
+@keyframes pulse {
+ 0% { transform: scale(1); opacity: 1; }
+ 100% { transform: scale(0.95); opacity: 0.5; }
+}
+
+.token {
+ display: contents;
+ font-size: 1.25rem;
+
+ & :is(a, button) {
+ color: var(--highlight);
+ text-decoration: none;
+
+ &:hover {
+ animation: pulse 0.25s ease-in-out infinite alternate;
+ }
+ }
+
+ &:hover, &:focus-within {
+ & > *, & > .text > * {
+ background-color: #ffd70a;
+ color: #000;
+
+ & a {
+ color: var(--highlight-light);
+ }
+
+ & blockquote {
+ border-left-color: #00000033;
+ }
+
+ border-color: #000;
+ }
+ }
+
+ & > * {
+ display: flex;
+ flex-direction: column;
+ padding: 0.5rem;
+ justify-content: center;
+ align-items: center;
+ border: 1px solid #FFF;
+ }
+
+ & img {
+ height: 15rem;
+ max-width: 100%;
+ }
+
+ & blockquote {
+ margin: 0;
+ padding-left: 2rem;
+ border-left: 0.25rem solid #FFFFFF33;
+
+ & p:first-child {
+ margin-block-start: 0;
+ }
+
+ & p:last-child {
+ margin-block-end: 0;
+ }
+ }
+
+ & nav ul, & .homepage {
+ list-style: none;
+ display: flex;
+ padding: 0;
+ font-size: 2rem;
+ gap: 0.5rem;
+
+ & button {
+ font-size: inherit;
+ }
+
+ @media (--tight) {
+ & {
+ align-items: center;
+ flex-direction: column;
+ margin-block: 0;
+ gap: 0.25rem;
+ font-size: 1.5rem;
+ }
+ }
+ }
+
+ .homepage {
+ width: max-content;
+ }
+
+ .text {
+ max-width: 70ch;
+
+ & h2 {
+ margin-block-start: 0;
+ text-align: center;
+ }
+
+ & p:last-child {
+ margin-block-end: 0;
+ }
+ }
+
+ .img {
+ background-color: var(--img-bg, inherit);
+
+ & h2 {
+ font-size: 1.25rem;
+ max-width: min(100%, 25ch);
+ text-align: center;
+ }
+
+ & a {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+ }
+
+ & :is(.error, .finding) {
+ grid-area: span 1 / span 4;
+ }
+
+ & .loading {
+ grid-area: span 1 / span 3;
+ }
+
+ @media (--mobile) {
+ & {
+ display: grid;
+ grid-template-areas:
+ "index title title title"
+ "image image image image"
+ "desc desc desc desc"
+ "home total clipboard actions";
+ grid-template-columns: repeat(3, 1fr) 3fr;
+ }
+
+ &::after {
+ content: "";
+ display: block;
+ height: 3px;
+ background-color: yellow;
+ border-color: red;
+ border-width: 4px;
+ border-style: solid none;
+ margin-block: 1rem;
+ grid-area: 1 span / 4 span;
+ }
+
+ & .index { grid-area: index }
+ & .text { display: contents }
+ & .title { grid-area: title }
+ & .img { grid-area: image }
+ & .desc { grid-area: desc }
+ & .homepage { grid-area: home }
+ & .quantity { grid-area: total }
+ & .clipboard { grid-area: clipboard }
+ & .actions { grid-area: actions }
+
+ & .title {
+ display: grid;
+ place-items: center;
+
+ & h2 {
+ margin-block: 0;
+ }
+ }
+
+ & .desc {
+ margin-inline: auto;
+ padding: 0.25rem;
+
+ & p:first-child {
+ max-width: min(100%, 70ch);
+ margin-block-start: 0;
+ }
+ }
+
+ & .homepage {
+ width: 100%;
+ }
+
+ & .actions ul {
+ flex-direction: row;
+ }
+ }
+}
diff --git a/packages/ui/src/styles/URIForm.css b/packages/ui/src/styles/URIForm.css
new file mode 100644
index 00000000..04efb9e8
--- /dev/null
+++ b/packages/ui/src/styles/URIForm.css
@@ -0,0 +1,5 @@
+main#edit {
+ & [name="uri"] {
+ width: 100%;
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/config.module.css b/packages/ui/src/styles/config.module.css
new file mode 100644
index 00000000..aa3588f7
--- /dev/null
+++ b/packages/ui/src/styles/config.module.css
@@ -0,0 +1,27 @@
+#style {
+ padding: 0;
+
+ & h2 {
+ margin-block: 0.25rem;
+ border-bottom: 3px double #333;
+ }
+
+ & main, & footer {
+ padding-inline: 1em;
+ }
+
+ & main input {
+ margin-inline-start: 1em;
+ width: 30ch;
+ }
+
+ & footer {
+ margin-block: 1rem;
+ display: flex;
+ justify-content: flex-end;
+
+ & button:first-child {
+ margin-inline-end: 1em;
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/disburse.module.css b/packages/ui/src/styles/disburse.module.css
new file mode 100644
index 00000000..863b9ac8
--- /dev/null
+++ b/packages/ui/src/styles/disburse.module.css
@@ -0,0 +1,6 @@
+#mint {
+ & .actions {
+ display: flex;
+ flex-direction: column;
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/edit.css b/packages/ui/src/styles/edit.css
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/ui/src/styles/general.css b/packages/ui/src/styles/general.css
new file mode 100644
index 00000000..5e889562
--- /dev/null
+++ b/packages/ui/src/styles/general.css
@@ -0,0 +1,32 @@
+.flex {
+ display: flex;
+}
+
+.flexCol {
+ display: flex;
+ flex-direction: column;
+}
+
+.iblock {
+ display: inline-block;
+}
+
+.block {
+ display: block;
+}
+
+.grow0 {
+ flex-grow: 0;
+}
+
+.grow1 {
+ flex-grow: 1;
+}
+
+.full {
+ width: 100%;
+}
+
+.strike {
+ text-decoration: line-through;
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/global.css b/packages/ui/src/styles/global.css
new file mode 100644
index 00000000..ea34582f
--- /dev/null
+++ b/packages/ui/src/styles/global.css
@@ -0,0 +1,61 @@
+:root {
+ --bg-color-light: #EEE;
+ --font-color-light: #111;
+ --highlight-light: #531AFF;
+ --bg-color: var(--bg-color-light);
+ --font-color: var(--font-color-light);
+ --highlight: var(--highlight-light);
+ --active-color: rgba(235, 197, 0, 0.75);
+
+ font-size: 1.25rem;
+ line-height: 1.5;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --bg-color: #111;
+ --font-color: #CCC;
+ --highlight: #BD4AFF;
+ }
+}
+
+body {
+ background-color: var(--bg-color);
+ color: var(--font-color);
+ border-color: var(--font-color);
+
+ & [role="tablist"] > [role="tab"] {
+ border-color: var(--font-color);
+
+ &[aria-selected="true"] {
+ background-color: #f5f5f577;
+ }
+ }
+
+ & :any-link {
+ color: var(--highlight);
+ transition: opacity 0.1s;
+ }
+
+ & :any-link:hover {
+ opacity: 95%;
+ text-shadow: 0 0 0.1em #FFFFFFBB;
+ }
+}
+
+[role="tooltip"] {
+ z-index: 10;
+}
+
+[role="tablist"] {
+ display: flex;
+ border-bottom: none;
+
+ & > [role="tab"] {
+ flex-grow: 1;
+ text-align: center;
+ border-width: 1px;
+ border-style: solid solid none solid;
+ border-radius: 1rem 1rem 0 0;
+ }
+}
diff --git a/packages/ui/src/styles/home.css b/packages/ui/src/styles/home.css
new file mode 100644
index 00000000..355942ab
--- /dev/null
+++ b/packages/ui/src/styles/home.css
@@ -0,0 +1,25 @@
+.link {
+ position: relative;
+ z-index: 1;
+ cursor: pointer;
+}
+
+footer {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 1rem;
+ position: fixed;
+ bottom: 0;
+ left: 50%;
+ margin-top: 3rem;
+}
+
+main {
+ display: grid;
+ place-items: center;
+
+ & h1 {
+ text-align: center;
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/new.module.css b/packages/ui/src/styles/new.module.css
new file mode 100644
index 00000000..2d0f7900
--- /dev/null
+++ b/packages/ui/src/styles/new.module.css
@@ -0,0 +1,51 @@
+#new {
+ display: flex;
+ flex-direction: column;
+
+ section {
+ display: grid;
+ place-items: center;
+ margin-block-start: 2rem;
+ }
+
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ margin-block: 2rem;
+
+ th {
+ padding-inline: 0.5rem;
+ border-bottom: 1px solid var(--font-color);
+ }
+
+ tbody {
+ td:nth-of-type(1) {
+ text-align: right;
+ }
+
+ td:nth-of-type(2), td:nth-of-type(3) {
+ text-align: center;
+ }
+ }
+
+ tr:hover {
+ background-color: var(--active-color);
+ }
+ }
+
+ #admin {
+ display: flex;
+
+ h2 {
+ margin: 0;
+ }
+
+ & h2:after {
+ content: ': ';
+ }
+
+ input {
+ flex-grow: 1;
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/ui/src/styles/view.module.css b/packages/ui/src/styles/view.module.css
new file mode 100644
index 00000000..5d8cb4df
--- /dev/null
+++ b/packages/ui/src/styles/view.module.css
@@ -0,0 +1,43 @@
+#style {
+ & h1 {
+ font-size: clamp(2rem, 10vmin - 3ch, 12rem);
+ text-align: center;
+ }
+
+ & main {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
+
+ & .markdown {
+ margin-bottom: 3rem;
+
+ & p {
+ font-size: clamp(1.5rem, 3vmin - 1ch, 4rem);
+ max-width: 65ch;
+ text-indent: 1em;
+ margin: auto 0.75em;
+ text-align: justify;
+ }
+ }
+}
+
+.image {
+ max-width: 80vmin;
+ max-height: 80vmin;
+ border-radius: 5%;
+ padding: 3.5vw;
+ outline: 4px double #000;
+ margin-bottom: 3rem;
+}
+
+.video, .object, .model {
+ border-radius: 2.5rem;
+ padding: 0;
+ width: 80dvw;
+ height: min(75ch, 100dvh);
+ overflow: hidden;
+ outline: 4px double #000;
+}
diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts
index 9a87cbac..3154b5be 100644
--- a/packages/ui/vite.config.ts
+++ b/packages/ui/vite.config.ts
@@ -4,10 +4,8 @@ import {
NodeGlobalsPolyfillPlugin as ESBuildGlobalsPolyfillsPlugin
} from '@esbuild-plugins/node-globals-polyfill'
import TSConfigPathsPlugin from 'rollup-plugin-tsconfig-paths'
-import ResolvePlugin from '@rollup/plugin-node-resolve'
import NodePolyfillsPlugin from 'rollup-plugin-polyfill-node'
import CommonJSPlugin from '@rollup/plugin-commonjs'
-// import NodePolyfillsPlugin from 'rollup-plugin-node-polyfills'
import InjectPlugin from '@rollup/plugin-inject'
import { defines, hideValues } from './src/lib/build'
diff --git a/yarn.lock b/yarn.lock
index 6883ad01..697a8e4d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -83,7 +83,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.18.10, @babel/core@npm:^7.18.6":
+"@babel/compat-data@npm:^7.20.5":
+ version: 7.20.14
+ resolution: "@babel/compat-data@npm:7.20.14"
+ checksum: 6c9efe36232094e4ad0b70d165587f21ca718e5d011f7a52a77a18502a7524e90e2855aa5a2e086395bcfd21bd2c7c99128dcd8d9fdffe94316b72acf5c66f2c
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.18.10":
version: 7.18.10
resolution: "@babel/core@npm:7.18.10"
dependencies:
@@ -106,6 +113,29 @@ __metadata:
languageName: node
linkType: hard
+"@babel/core@npm:^7.20.7":
+ version: 7.20.12
+ resolution: "@babel/core@npm:7.20.12"
+ dependencies:
+ "@ampproject/remapping": ^2.1.0
+ "@babel/code-frame": ^7.18.6
+ "@babel/generator": ^7.20.7
+ "@babel/helper-compilation-targets": ^7.20.7
+ "@babel/helper-module-transforms": ^7.20.11
+ "@babel/helpers": ^7.20.7
+ "@babel/parser": ^7.20.7
+ "@babel/template": ^7.20.7
+ "@babel/traverse": ^7.20.12
+ "@babel/types": ^7.20.7
+ convert-source-map: ^1.7.0
+ debug: ^4.1.0
+ gensync: ^1.0.0-beta.2
+ json5: ^2.2.2
+ semver: ^6.3.0
+ checksum: 62e6c3e2149a70b5c9729ef5f0d3e2e97e9dcde89fc039c8d8e3463d5d7ba9b29ee84d10faf79b61532ac1645aa62f2bd42338320617e6e3a8a4d8e2a27076e7
+ languageName: node
+ linkType: hard
+
"@babel/generator@npm:^7.18.10, @babel/generator@npm:^7.7.2":
version: 7.18.10
resolution: "@babel/generator@npm:7.18.10"
@@ -117,6 +147,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.20.7":
+ version: 7.20.14
+ resolution: "@babel/generator@npm:7.20.14"
+ dependencies:
+ "@babel/types": ^7.20.7
+ "@jridgewell/gen-mapping": ^0.3.2
+ jsesc: ^2.5.1
+ checksum: 5f6aa2d86af26e76d276923a5c34191124a119b16ee9ccc34aef654a7dec84fbd7d2daed2e6458a6a06bf87f3661deb77c9fea59b8f67faff5c90793c96d76d6
+ languageName: node
+ linkType: hard
+
"@babel/helper-annotate-as-pure@npm:^7.16.0, @babel/helper-annotate-as-pure@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-annotate-as-pure@npm:7.18.6"
@@ -150,6 +191,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-compilation-targets@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/helper-compilation-targets@npm:7.20.7"
+ dependencies:
+ "@babel/compat-data": ^7.20.5
+ "@babel/helper-validator-option": ^7.18.6
+ browserslist: ^4.21.3
+ lru-cache: ^5.1.1
+ semver: ^6.3.0
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 8c32c873ba86e2e1805b30e0807abd07188acbe00ebb97576f0b09061cc65007f1312b589eccb4349c5a8c7f8bb9f2ab199d41da7030bf103d9f347dcd3a3cf4
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-class-features-plugin@npm:^7.18.6":
version: 7.18.9
resolution: "@babel/helper-create-class-features-plugin@npm:7.18.9"
@@ -221,6 +277,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-function-name@npm:^7.19.0":
+ version: 7.19.0
+ resolution: "@babel/helper-function-name@npm:7.19.0"
+ dependencies:
+ "@babel/template": ^7.18.10
+ "@babel/types": ^7.19.0
+ checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e
+ languageName: node
+ linkType: hard
+
"@babel/helper-hoist-variables@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-hoist-variables@npm:7.18.6"
@@ -239,7 +305,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.0, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6":
+"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.0, @babel/helper-module-imports@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-module-imports@npm:7.18.6"
dependencies:
@@ -264,6 +330,22 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-transforms@npm:^7.20.11":
+ version: 7.20.11
+ resolution: "@babel/helper-module-transforms@npm:7.20.11"
+ dependencies:
+ "@babel/helper-environment-visitor": ^7.18.9
+ "@babel/helper-module-imports": ^7.18.6
+ "@babel/helper-simple-access": ^7.20.2
+ "@babel/helper-split-export-declaration": ^7.18.6
+ "@babel/helper-validator-identifier": ^7.19.1
+ "@babel/template": ^7.20.7
+ "@babel/traverse": ^7.20.10
+ "@babel/types": ^7.20.7
+ checksum: 29319ebafa693d48756c6ba0d871677bb0037e0da084fbe221a17c38d57093fc8aa38543c07d76e788266a937976e37ab4901971ca7f237c5ab45f524b9ecca0
+ languageName: node
+ linkType: hard
+
"@babel/helper-optimise-call-expression@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-optimise-call-expression@npm:7.18.6"
@@ -280,6 +362,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-plugin-utils@npm:^7.19.0":
+ version: 7.20.2
+ resolution: "@babel/helper-plugin-utils@npm:7.20.2"
+ checksum: f6cae53b7fdb1bf3abd50fa61b10b4470985b400cc794d92635da1e7077bb19729f626adc0741b69403d9b6e411cddddb9c0157a709cc7c4eeb41e663be5d74b
+ languageName: node
+ linkType: hard
+
"@babel/helper-remap-async-to-generator@npm:^7.18.6, @babel/helper-remap-async-to-generator@npm:^7.18.9":
version: 7.18.9
resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9"
@@ -316,6 +405,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-simple-access@npm:^7.20.2":
+ version: 7.20.2
+ resolution: "@babel/helper-simple-access@npm:7.20.2"
+ dependencies:
+ "@babel/types": ^7.20.2
+ checksum: ad1e96ee2e5f654ffee2369a586e5e8d2722bf2d8b028a121b4c33ebae47253f64d420157b9f0a8927aea3a9e0f18c0103e74fdd531815cf3650a0a4adca11a1
+ languageName: node
+ linkType: hard
+
"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9":
version: 7.18.9
resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.18.9"
@@ -341,6 +439,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-string-parser@npm:^7.19.4":
+ version: 7.19.4
+ resolution: "@babel/helper-string-parser@npm:7.19.4"
+ checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-identifier@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-validator-identifier@npm:7.18.6"
@@ -348,6 +453,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-identifier@npm:^7.19.1":
+ version: 7.19.1
+ resolution: "@babel/helper-validator-identifier@npm:7.19.1"
+ checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-validator-option@npm:7.18.6"
@@ -378,6 +490,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.20.7":
+ version: 7.20.13
+ resolution: "@babel/helpers@npm:7.20.13"
+ dependencies:
+ "@babel/template": ^7.20.7
+ "@babel/traverse": ^7.20.13
+ "@babel/types": ^7.20.7
+ checksum: d62076fa834f342798f8c3fd7aec0870cc1725d273d99e540cbaa8d6c3ed10258228dd14601c8e66bfeabbb9424c3b31090ecc467fe855f7bd72c4734df7fb09
+ languageName: node
+ linkType: hard
+
"@babel/highlight@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/highlight@npm:7.18.6"
@@ -407,6 +530,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.20.13, @babel/parser@npm:^7.20.7":
+ version: 7.20.13
+ resolution: "@babel/parser@npm:7.20.13"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 7eb2e3d9d9ad5e24b087c88d137f5701d94f049e28b9dce9f3f5c6d4d9b06a0d7c43b9106f1c02df8a204226200e0517de4bc81a339768a4ebd4c59107ea93a4
+ languageName: node
+ linkType: hard
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6"
@@ -730,17 +862,6 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-jsx@npm:^7.17.12, @babel/plugin-syntax-jsx@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-syntax-jsx@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": ^7.18.6
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67
- languageName: node
- linkType: hard
-
"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
@@ -1130,17 +1251,6 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-development@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-react-jsx-development@npm:7.18.6"
- dependencies:
- "@babel/plugin-transform-react-jsx": ^7.18.6
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: ec9fa65db66f938b75c45e99584367779ac3e0af8afc589187262e1337c7c4205ea312877813ae4df9fb93d766627b8968d74ac2ba702e4883b1dbbe4953ecee
- languageName: node
- linkType: hard
-
"@babel/plugin-transform-react-jsx-self@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/plugin-transform-react-jsx-self@npm:7.18.6"
@@ -1152,29 +1262,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-source@npm:^7.18.6":
- version: 7.18.6
- resolution: "@babel/plugin-transform-react-jsx-source@npm:7.18.6"
- dependencies:
- "@babel/helper-plugin-utils": ^7.18.6
- peerDependencies:
- "@babel/core": ^7.0.0-0
- checksum: 7e17e631820955f158c16e9b01a96cf82e3ee81bb3c7c03f2896ee0d41da3e8a7557546893bc81792afe46b817c4e9014fd6e4de8644fcf16fd0f7c4daf66e41
- languageName: node
- linkType: hard
-
-"@babel/plugin-transform-react-jsx@npm:^7.18.6":
- version: 7.18.10
- resolution: "@babel/plugin-transform-react-jsx@npm:7.18.10"
+"@babel/plugin-transform-react-jsx-source@npm:^7.19.6":
+ version: 7.19.6
+ resolution: "@babel/plugin-transform-react-jsx-source@npm:7.19.6"
dependencies:
- "@babel/helper-annotate-as-pure": ^7.18.6
- "@babel/helper-module-imports": ^7.18.6
- "@babel/helper-plugin-utils": ^7.18.9
- "@babel/plugin-syntax-jsx": ^7.18.6
- "@babel/types": ^7.18.10
+ "@babel/helper-plugin-utils": ^7.19.0
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1aacfb0286d5b95c45bbda6cf026f9e81a261298b5921cd55b357581c9b3681fe70ba56846fae86cf63908ea8e07d0e3dd8192d663d6bddd75a7fe4c091cd724
+ checksum: 1e9e29a4efc5b79840bd4f68e404f5ab7765ce48c7bd22f12f2b185f9c782c66933bdf54a1b21879e4e56e6b50b4e88aca82789ecb1f61123af6dfa9ab16c555
languageName: node
linkType: hard
@@ -1419,7 +1514,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2":
+"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2":
version: 7.18.9
resolution: "@babel/runtime@npm:7.18.9"
dependencies:
@@ -1448,6 +1543,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/template@npm:7.20.7"
+ dependencies:
+ "@babel/code-frame": ^7.18.6
+ "@babel/parser": ^7.20.7
+ "@babel/types": ^7.20.7
+ checksum: 2eb1a0ab8d415078776bceb3473d07ab746e6bb4c2f6ca46ee70efb284d75c4a32bb0cd6f4f4946dec9711f9c0780e8e5d64b743208deac6f8e9858afadc349e
+ languageName: node
+ linkType: hard
+
"@babel/traverse@npm:^7.18.10, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.2":
version: 7.18.10
resolution: "@babel/traverse@npm:7.18.10"
@@ -1484,6 +1590,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.13":
+ version: 7.20.13
+ resolution: "@babel/traverse@npm:7.20.13"
+ dependencies:
+ "@babel/code-frame": ^7.18.6
+ "@babel/generator": ^7.20.7
+ "@babel/helper-environment-visitor": ^7.18.9
+ "@babel/helper-function-name": ^7.19.0
+ "@babel/helper-hoist-variables": ^7.18.6
+ "@babel/helper-split-export-declaration": ^7.18.6
+ "@babel/parser": ^7.20.13
+ "@babel/types": ^7.20.7
+ debug: ^4.1.0
+ globals: ^11.1.0
+ checksum: 30ca6e0bd18233fda48fa09315efd14dfc61dcf5b8fa3712b343bfc61b32bc63b5e85ea1773cc9576c9b293b96f46b4589aaeb0a52e1f3eeac4edc076d049fc7
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.18.10
resolution: "@babel/types@npm:7.18.10"
@@ -1495,956 +1619,121 @@ __metadata:
languageName: node
linkType: hard
-"@bcoe/v8-coverage@npm:^0.2.3":
- version: 0.2.3
- resolution: "@bcoe/v8-coverage@npm:0.2.3"
- checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27
- languageName: node
- linkType: hard
-
-"@chakra-ui/accordion@npm:1.4.11":
- version: 1.4.11
- resolution: "@chakra-ui/accordion@npm:1.4.11"
- dependencies:
- "@chakra-ui/descendant": 2.1.3
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/transition": 1.4.8
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: 8381a280dce5ea68ce671d70be998d57908b4a43f111a4c7da71737b96c18e2f7ccaa83373567bc2e01d4a4534ba4a2936763857b23e362ed0590ede81e5b239
- languageName: node
- linkType: hard
-
-"@chakra-ui/alert@npm:1.3.7":
- version: 1.3.7
- resolution: "@chakra-ui/alert@npm:1.3.7"
- dependencies:
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 7416baab784d95acd44524d73feebcea5f016712934e7fe3e6ec5af80847594f4ffbd26d345a1b31c552651548f289b1dd5cb657334b31d0ce8a7296f97a0ba9
- languageName: node
- linkType: hard
-
-"@chakra-ui/anatomy@npm:1.3.0":
- version: 1.3.0
- resolution: "@chakra-ui/anatomy@npm:1.3.0"
- dependencies:
- "@chakra-ui/theme-tools": ^1.3.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- checksum: 9796157436d854f91e455b8ee809c9e6accccbbe2d777937bcf111b7d4536c6ab19dc51ca5c3a5dc6469fd7134ceccf3bb3c63ff840c483e76780684783aa2c5
- languageName: node
- linkType: hard
-
-"@chakra-ui/avatar@npm:1.3.11":
- version: 1.3.11
- resolution: "@chakra-ui/avatar@npm:1.3.11"
- dependencies:
- "@chakra-ui/image": 1.1.10
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 337f5d683581169c06825a2a07adfe17113f8164782b7c102d33638d451357e67fa0351a27d5d614141fd51ac1c914275c1e19ce5e50c035e2afe72f70bc4398
- languageName: node
- linkType: hard
-
-"@chakra-ui/breadcrumb@npm:1.3.6":
- version: 1.3.6
- resolution: "@chakra-ui/breadcrumb@npm:1.3.6"
- dependencies:
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: dd8dfdda9864bc13a8598988aa9cae69e1f69621a5abd2627d3b2058f284d22d7307194d158d87e7b299b3d96a6277b566fc306744a22123a11453bf56b55a0b
- languageName: node
- linkType: hard
-
-"@chakra-ui/button@npm:1.5.10":
- version: 1.5.10
- resolution: "@chakra-ui/button@npm:1.5.10"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/spinner": 1.2.6
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: c7eeaf50284fb9c524208eeb272baeb726766e45fc310d7ebcfdcd310d256ae39338a885c7f0635ef7b68a05839496bdcc78f46e4a10b7f5c31b7a38539e1edc
- languageName: node
- linkType: hard
-
-"@chakra-ui/checkbox@npm:1.7.1":
- version: 1.7.1
- resolution: "@chakra-ui/checkbox@npm:1.7.1"
- dependencies:
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: 24a49da7e6c15bd6c548799dd89b804d315ec4b2bdcab865d02a60c02a4cff5a1675d53ce4330e844ebd0feb07fadf0f62e46577dc60e7bd964ba5267ac1074f
- languageName: node
- linkType: hard
-
-"@chakra-ui/clickable@npm:1.2.6":
- version: 1.2.6
- resolution: "@chakra-ui/clickable@npm:1.2.6"
- dependencies:
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: c7167b660790d04689b2943d63239c53c355b372b0891213fd97a985c8489a6a1a9723ff0d251732dffe341cb414ff8ec90e43c5a8b515102327ef93dde2e1db
- languageName: node
- linkType: hard
-
-"@chakra-ui/close-button@npm:1.2.7":
- version: 1.2.7
- resolution: "@chakra-ui/close-button@npm:1.2.7"
+"@babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/types@npm:7.20.7"
dependencies:
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: b7cc9f4c1c7d449974208d83b68adf1a273c6c625b35ce904d7c86d1eb217afe9a13869ac7744facce643f5a62a9a2122ac1fc6beec46498bc3ee1f2f88a8d88
+ "@babel/helper-string-parser": ^7.19.4
+ "@babel/helper-validator-identifier": ^7.19.1
+ to-fast-properties: ^2.0.0
+ checksum: b39af241f0b72bba67fd6d0d23914f6faec8c0eba8015c181cbd5ea92e59fc91a52a1ab490d3520c7dbd19ddb9ebb76c476308f6388764f16d8201e37fae6811
languageName: node
linkType: hard
-"@chakra-ui/color-mode@npm:1.4.8":
- version: 1.4.8
- resolution: "@chakra-ui/color-mode@npm:1.4.8"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-env": 1.1.6
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: a0f64fd02812b106c5fe04860ccaf59bb9b7555c5cab02522f9caeb8811eeebef9da687c394dfd22f55a933eabbed6d799abbc6fb654baaa02e8da94f88c3cb7
+"@bcoe/v8-coverage@npm:^0.2.3":
+ version: 0.2.3
+ resolution: "@bcoe/v8-coverage@npm:0.2.3"
+ checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27
languageName: node
linkType: hard
-"@chakra-ui/control-box@npm:1.1.6":
- version: 1.1.6
- resolution: "@chakra-ui/control-box@npm:1.1.6"
+"@chevrotain/cst-dts-gen@npm:^10.1.2":
+ version: 10.1.2
+ resolution: "@chevrotain/cst-dts-gen@npm:10.1.2"
dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: d75bd947a8f7e77ea3be857279afc1a6453678ec63689b84cee02ec97f8761868c8304de199e345254d5ea9fd09d1852f3d9bf97bb602597941901f23be4ccf7
+ "@chevrotain/gast": ^10.1.2
+ "@chevrotain/types": ^10.1.2
+ lodash: 4.17.21
+ checksum: 47bcab11b4b8165115c13bb5ef9561f49a77454698b51932711584e3a3062a26af4609fa6e0c0c1d48619366bdf89bbd614e06b2d7d6757ce8e1679fdcaabd64
languageName: node
linkType: hard
-"@chakra-ui/counter@npm:1.2.10":
- version: 1.2.10
- resolution: "@chakra-ui/counter@npm:1.2.10"
+"@chevrotain/gast@npm:^10.1.2":
+ version: 10.1.2
+ resolution: "@chevrotain/gast@npm:10.1.2"
dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: 2769186543d84f7165c375a207da86ebc951ebee457147c94fc12c116d7c137c2f22e57105ea909cb7d9967de38a6777aa337d69240d240bf014589742aac798
- languageName: node
- linkType: hard
-
-"@chakra-ui/css-reset@npm:1.1.3":
- version: 1.1.3
- resolution: "@chakra-ui/css-reset@npm:1.1.3"
- peerDependencies:
- "@emotion/react": ">=10.0.35"
- react: ">=16.8.6"
- checksum: 633666ffe4b9038b1d396b5b33e42f93842089a0f840a669c6f03afc363920731a50001ae297168ac353f48740caa7495a84659f34ef40c6c29b0eefed003808
+ "@chevrotain/types": ^10.1.2
+ lodash: 4.17.21
+ checksum: dbb8c80903cf30398b1b0c0ae24dddb0a05a5c95130fdb362f6627030dea0b560c6cdc6bcbbf91f4d85914636cec24dc2bd6403b83b802dfba2d6fabf4dc0487
languageName: node
linkType: hard
-"@chakra-ui/descendant@npm:2.1.3":
- version: 2.1.3
- resolution: "@chakra-ui/descendant@npm:2.1.3"
- dependencies:
- "@chakra-ui/react-utils": ^1.2.3
- peerDependencies:
- react: ">=16.8.6"
- checksum: 6fdee3cf9d4ae0f91ba535a2bee08643ab741cc278816e26fb3ec503cb0c39ba0a3aed394fa6a0e8319f04284fe6cbf2dbb835532a11c6e3f081e0a912f1c2bf
+"@chevrotain/types@npm:^10.1.2":
+ version: 10.1.2
+ resolution: "@chevrotain/types@npm:10.1.2"
+ checksum: cc3779e49370b5ce86a8b849c7ae7026ac934f255e027275fbfca33ee319b84c730cad95db038dd020cb31bd1e777866a45517a4d69de6afec9bbf9a6315844c
languageName: node
linkType: hard
-"@chakra-ui/editable@npm:1.4.2":
- version: 1.4.2
- resolution: "@chakra-ui/editable@npm:1.4.2"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: f9a23fca0a826853a238fba380b14f9365116d89f7ab1bf9805d795c548cdf70b6adc7f689f2140ced5528fc7a806f08759a9dfffb764e5348d98044a5af0df7
+"@chevrotain/utils@npm:^10.1.2":
+ version: 10.1.2
+ resolution: "@chevrotain/utils@npm:10.1.2"
+ checksum: 05301feae7cb029418890d12961336d7db340a075c17e3815d107f30d968b9fcca23162addb99772cca41fae242f53dea6146fbd295c928ad26092c27ac71050
languageName: node
linkType: hard
-"@chakra-ui/focus-lock@npm:1.2.6":
- version: 1.2.6
- resolution: "@chakra-ui/focus-lock@npm:1.2.6"
+"@chievemints/contracts@workspace:packages/contracts":
+ version: 0.0.0-use.local
+ resolution: "@chievemints/contracts@workspace:packages/contracts"
dependencies:
- "@chakra-ui/utils": 1.10.4
- react-focus-lock: 2.5.2
- peerDependencies:
- react: ">=16.8.6"
- checksum: 3cc8a81cb2323149d4f07feecaf9118f1ecde5c29b4691903c63c3f649ed09b7f81e051c9a46d29e48caf7d4d7a167433e27f9b8fc28b13cbd3fb5f008bdc5ce
- languageName: node
- linkType: hard
+ "@ethersproject/abi": ^5
+ "@ethersproject/bytes": ^5
+ "@ethersproject/providers": ^5
+ "@ipld/car": ^4.1.4
+ "@nomiclabs/hardhat-ethers": ^2.0.5
+ "@nomiclabs/hardhat-etherscan": ^3.0.3
+ "@nomiclabs/hardhat-waffle": ^2.0.3
+ "@openzeppelin/contracts": ^4.7.2
+ "@openzeppelin/contracts-upgradeable": ^4.5.2
+ "@openzeppelin/hardhat-upgrades": ^1.16.0
+ "@tenderly/hardhat-tenderly": ^1.0.13
+ "@typechain/ethers-v5": ^10.1.0
+ "@typechain/hardhat": ^6.1.2
+ "@types/bip39": ^3.0.0
+ "@types/chai": ^4.3.1
+ "@types/chai-as-promised": ^7
+ "@types/glob": ^7.2.0
+ "@types/mocha": ^9.1.0
+ "@types/node": 17.0.21
+ "@types/qrcode-terminal": ^0.12.0
+ "@types/ramda": ^0.28.12
+ chai: ^4.3.6
+ chai-as-promised: ^7.1.1
+ chai-match: ^1.1.1
+ dotenv: ^16.0.0
+ ethereum-waffle: ^3.2.0
+ ethers: ^5.6.0
+ glob: ^8.0.1
+ hardhat: ^2.12.2
+ json5: ^2.2.0
+ nft.storage: ^7.0.0
+ qrcode-terminal: ^0.12.0
+ ramda: ^0.28.0
+ solc: ^0.8.12
+ ts-node: ^10.9.1
+ typechain: ^8.1.0
+ typescript: ">=4.1.0"
+ languageName: unknown
+ linkType: soft
-"@chakra-ui/form-control@npm:1.6.0":
- version: 1.6.0
- resolution: "@chakra-ui/form-control@npm:1.6.0"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: b353f0ae2145d2c6512c01bbdbc6a492ca376179958cb824058c9c7e0bd094511aef15b5b3cf934f170fdf36cb2bb414f3af40d481dc3c38c8df73287d113b49
- languageName: node
- linkType: hard
-
-"@chakra-ui/hooks@npm:1.9.1":
- version: 1.9.1
- resolution: "@chakra-ui/hooks@npm:1.9.1"
- dependencies:
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- compute-scroll-into-view: 1.0.14
- copy-to-clipboard: 3.3.1
- peerDependencies:
- react: ">=16.8.6"
- checksum: 78bb7cd37cd3987b7a745d6d156a64970e6ddbaa443a51d95c6f9b252774ca53b59a716bc1851adb6f6b5ad8584dcee979e39ff1bc1c9a67af7b1a68da7fb33d
- languageName: node
- linkType: hard
-
-"@chakra-ui/icon@npm:2.0.5":
- version: 2.0.5
- resolution: "@chakra-ui/icon@npm:2.0.5"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 92ea1f695b5dab49d27d6d8ac4267ae47df3cb099c077cc49a99b29b064bba3693e2fda0f7f0bfec79d7f73a493da1607a45596c67ffc9e19284c1d021bcfe66
- languageName: node
- linkType: hard
-
-"@chakra-ui/icons@npm:1.1":
- version: 1.1.7
- resolution: "@chakra-ui/icons@npm:1.1.7"
- dependencies:
- "@chakra-ui/icon": 2.0.5
- "@types/react": ^17.0.15
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: c76dd4f7c9cf2eeecfdf82fc373c5eed27a51db5e52e5b360eeacb1660e1869d6f20fbb754c53f5e47ca8b37d80a0c8b60c188dce3ef976e8ba1fbb14e34d4c7
- languageName: node
- linkType: hard
-
-"@chakra-ui/image@npm:1.1.10":
- version: 1.1.10
- resolution: "@chakra-ui/image@npm:1.1.10"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 7f0dcc9dbc63ffd40a33000c9ebd8fc1e3faa30e783ee84991c65c5c9ae726ee7e213b6ae6dc1e70daa8c088bc14a32b6bcff510591e172c8a7e060a10365f7e
- languageName: node
- linkType: hard
-
-"@chakra-ui/input@npm:1.4.6":
- version: 1.4.6
- resolution: "@chakra-ui/input@npm:1.4.6"
- dependencies:
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 0b536b02f10df02ebc39ef3772231a6508842637e7a840b1a459940d12cd470913c3742dc480f73d786976735df3d8554f58352c5ccd2b8d22b03593c4992da9
- languageName: node
- linkType: hard
-
-"@chakra-ui/layout@npm:1.8.0":
- version: 1.8.0
- resolution: "@chakra-ui/layout@npm:1.8.0"
- dependencies:
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: cf3b02c2040742178fb40537aee76bc627122af592b1a58f85ea4b694d4d8a62ac25aa3b0dbc5d5e35fbde79b6eceaf5e0cf5705815fd169d11874206f5055cd
- languageName: node
- linkType: hard
-
-"@chakra-ui/live-region@npm:1.1.6":
- version: 1.1.6
- resolution: "@chakra-ui/live-region@npm:1.1.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: 9f2e612c5df2dba4b2c32dff85645e9304f68bd85590443cbf77ae5a38c56ed523069751139dec72762e2f0ed6fe50e50eed15b553cbb9ef6167288003175b7c
- languageName: node
- linkType: hard
-
-"@chakra-ui/media-query@npm:2.0.4":
- version: 2.0.4
- resolution: "@chakra-ui/media-query@npm:2.0.4"
- dependencies:
- "@chakra-ui/react-env": 1.1.6
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- "@chakra-ui/theme": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 6e9ff4c6dc884b1555123b7f51c9ea79249951cef15f39f2bb2f80a253c9bfaddf0623f01b49b228ab496abbc036a4594ea43582fe1c2a12e0abdad610077094
- languageName: node
- linkType: hard
-
-"@chakra-ui/menu@npm:1.8.11":
- version: 1.8.11
- resolution: "@chakra-ui/menu@npm:1.8.11"
- dependencies:
- "@chakra-ui/clickable": 1.2.6
- "@chakra-ui/descendant": 2.1.3
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/popper": 2.4.3
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/transition": 1.4.8
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: ca44f4213e4f2e89d04bd4c1c44d667fa1f25042887cc2963d4187e2e2788546db71c1458ee6a0969dcdab8e21c981b5bbad4c52bbaeb934384aa4d28ec04386
- languageName: node
- linkType: hard
-
-"@chakra-ui/modal@npm:1.11.1":
- version: 1.11.1
- resolution: "@chakra-ui/modal@npm:1.11.1"
- dependencies:
- "@chakra-ui/close-button": 1.2.7
- "@chakra-ui/focus-lock": 1.2.6
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/portal": 1.3.10
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/transition": 1.4.8
- "@chakra-ui/utils": 1.10.4
- aria-hidden: ^1.1.1
- react-remove-scroll: 2.4.1
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: 838bbb36ed53c1143fb800d180077347a15e61ca29985cad89f2fbf47362123ae41d2893cebb5b56012f2ac80a9f09d6701d8d92a5b3b7da64f57d656a52105a
- languageName: node
- linkType: hard
-
-"@chakra-ui/number-input@npm:1.4.7":
- version: 1.4.7
- resolution: "@chakra-ui/number-input@npm:1.4.7"
- dependencies:
- "@chakra-ui/counter": 1.2.10
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: ddb7921bad741006eabf7bca4bd4719fc80e89d07b7c3412247c5f7ad7a5538f94bf7830fd022d772e3b458b1011c93ec6f31dcc9539be7d2058f98926b66904
- languageName: node
- linkType: hard
-
-"@chakra-ui/pin-input@npm:1.7.10":
- version: 1.7.10
- resolution: "@chakra-ui/pin-input@npm:1.7.10"
- dependencies:
- "@chakra-ui/descendant": 2.1.3
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: b60be97324955202b88148ffd383ccaae772fc04406acba49e486ca517bed2995fe9af15c7301d1752cfeab1db5fc5e8f5992be09ac18c8cf476cdd82ee226fd
- languageName: node
- linkType: hard
-
-"@chakra-ui/popover@npm:1.11.9":
- version: 1.11.9
- resolution: "@chakra-ui/popover@npm:1.11.9"
- dependencies:
- "@chakra-ui/close-button": 1.2.7
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/popper": 2.4.3
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: 69d36dc55af23b9a37578f9da063b415cfb0a51811ca42c9e6681293aced266281b94a301777a3160f88162f8d25eface6cad7eb7448f4b8122db61b891ae772
- languageName: node
- linkType: hard
-
-"@chakra-ui/popper@npm:2.4.3":
- version: 2.4.3
- resolution: "@chakra-ui/popper@npm:2.4.3"
- dependencies:
- "@chakra-ui/react-utils": 1.2.3
- "@popperjs/core": ^2.9.3
- peerDependencies:
- react: ">=16.8.6"
- checksum: 5c946de4893411f82a43c0dd425279ab36488c9dfaebf73b1cccd6af5c016351b73046a1524084c56e21e7319c52f0e502d304fca7ec26e92f40937c5b2ace31
- languageName: node
- linkType: hard
-
-"@chakra-ui/portal@npm:1.3.10":
- version: 1.3.10
- resolution: "@chakra-ui/portal@npm:1.3.10"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: 7612d18d25794080d22b913ae1cdddf4c2de69a8c338aa1d3b4f7fd04777a772602b99743a717eec6604f76c3580595f0b30d5413299a808eeb45ea5b56c8027
- languageName: node
- linkType: hard
-
-"@chakra-ui/progress@npm:1.2.6":
- version: 1.2.6
- resolution: "@chakra-ui/progress@npm:1.2.6"
- dependencies:
- "@chakra-ui/theme-tools": 1.3.6
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: b70308f8f2afd7db8e877dae43705f67e74caedc12b750c6c8ebfd01aca44f4148c0fc9d3258c0eb44cab2d876e2b9cfa685f221f359df0c1a746119996a8b01
- languageName: node
- linkType: hard
-
-"@chakra-ui/provider@npm:1.7.14":
- version: 1.7.14
- resolution: "@chakra-ui/provider@npm:1.7.14"
- dependencies:
- "@chakra-ui/css-reset": 1.1.3
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/portal": 1.3.10
- "@chakra-ui/react-env": 1.1.6
- "@chakra-ui/system": 1.12.1
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@emotion/react": ^11.0.0
- "@emotion/styled": ^11.0.0
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: 37557c54bc96d60f9ab4c37c6e0b6661c46e5b547ed7e9604c3b64344bd875188963dedba6075573226789c31c8c8802f016a54d0304fbe05b396452e818bd0c
- languageName: node
- linkType: hard
-
-"@chakra-ui/radio@npm:1.5.1":
- version: 1.5.1
- resolution: "@chakra-ui/radio@npm:1.5.1"
- dependencies:
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: a2795ee253eddf3755c8ac07091c3d3db7dc76d016ce2e487fe7008aa701d1e36ab6102f6db5912c23eeed8418d4594cb7dd6c9641784d530cff78c6938fe44b
- languageName: node
- linkType: hard
-
-"@chakra-ui/react-env@npm:1.1.6":
- version: 1.1.6
- resolution: "@chakra-ui/react-env@npm:1.1.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: 89f674c673771e22330d6500057a6fadd3530fca1b994993806e503afe4d53cba23825dcea27125da749c05afb581af06a4eb8a15e434413f193f6158fe84921
- languageName: node
- linkType: hard
-
-"@chakra-ui/react-utils@npm:1.2.3, @chakra-ui/react-utils@npm:^1.2.3":
- version: 1.2.3
- resolution: "@chakra-ui/react-utils@npm:1.2.3"
- dependencies:
- "@chakra-ui/utils": ^1.10.4
- peerDependencies:
- react: ">=16.8.6"
- checksum: 3ebf400422d4c76bd81da75815eeb86908c155602c781f27ced781e4335313c0d8c7804a7a81b40810ee5f4d296ce447247629524236e050a1adfaf7feb8e0b7
- languageName: node
- linkType: hard
-
-"@chakra-ui/react@npm:^1.8.8":
- version: 1.8.8
- resolution: "@chakra-ui/react@npm:1.8.8"
- dependencies:
- "@chakra-ui/accordion": 1.4.11
- "@chakra-ui/alert": 1.3.7
- "@chakra-ui/avatar": 1.3.11
- "@chakra-ui/breadcrumb": 1.3.6
- "@chakra-ui/button": 1.5.10
- "@chakra-ui/checkbox": 1.7.1
- "@chakra-ui/close-button": 1.2.7
- "@chakra-ui/control-box": 1.1.6
- "@chakra-ui/counter": 1.2.10
- "@chakra-ui/css-reset": 1.1.3
- "@chakra-ui/editable": 1.4.2
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/image": 1.1.10
- "@chakra-ui/input": 1.4.6
- "@chakra-ui/layout": 1.8.0
- "@chakra-ui/live-region": 1.1.6
- "@chakra-ui/media-query": 2.0.4
- "@chakra-ui/menu": 1.8.11
- "@chakra-ui/modal": 1.11.1
- "@chakra-ui/number-input": 1.4.7
- "@chakra-ui/pin-input": 1.7.10
- "@chakra-ui/popover": 1.11.9
- "@chakra-ui/popper": 2.4.3
- "@chakra-ui/portal": 1.3.10
- "@chakra-ui/progress": 1.2.6
- "@chakra-ui/provider": 1.7.14
- "@chakra-ui/radio": 1.5.1
- "@chakra-ui/react-env": 1.1.6
- "@chakra-ui/select": 1.2.11
- "@chakra-ui/skeleton": 1.2.14
- "@chakra-ui/slider": 1.5.11
- "@chakra-ui/spinner": 1.2.6
- "@chakra-ui/stat": 1.2.7
- "@chakra-ui/switch": 1.3.10
- "@chakra-ui/system": 1.12.1
- "@chakra-ui/table": 1.3.6
- "@chakra-ui/tabs": 1.6.10
- "@chakra-ui/tag": 1.2.7
- "@chakra-ui/textarea": 1.2.11
- "@chakra-ui/theme": 1.14.1
- "@chakra-ui/toast": 1.5.9
- "@chakra-ui/tooltip": 1.5.1
- "@chakra-ui/transition": 1.4.8
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@emotion/react": ^11.0.0
- "@emotion/styled": ^11.0.0
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: 7862b88a23d329e538ff9bcdcce126dad27a2fc6b592d61ec4e6798dffc5859f457ac186874f25c6693419c6c91b91d39bb2dd53e6b744ff6516b0bb6309258e
- languageName: node
- linkType: hard
-
-"@chakra-ui/select@npm:1.2.11":
- version: 1.2.11
- resolution: "@chakra-ui/select@npm:1.2.11"
- dependencies:
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 7722090d0584e9d8664479c90b953d887f44c4fce800763732bf328a8d94b190004d99000504c6658c61c0f3debc56900638126d45ea0bb433a7e6f89c2c0258
- languageName: node
- linkType: hard
-
-"@chakra-ui/skeleton@npm:1.2.14":
- version: 1.2.14
- resolution: "@chakra-ui/skeleton@npm:1.2.14"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/media-query": 2.0.4
- "@chakra-ui/system": 1.12.1
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/theme": ">=1.0.0"
- "@emotion/react": ^11.0.0
- "@emotion/styled": ^11.0.0
- react: ">=16.8.6"
- checksum: 546862efd5f0a8777cf0d39dac19ff463cf88b68d5d66efe2d3f3697b32fcc03b8714e3a0277caed56d1f53039a456b94a3f78e339a298bc451f8fc89c533b75
- languageName: node
- linkType: hard
-
-"@chakra-ui/slider@npm:1.5.11":
- version: 1.5.11
- resolution: "@chakra-ui/slider@npm:1.5.11"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: c50ae28b641257e9062f2f2b866c47b59e3c30bcdae81bb4e16c3672c835fcf18284a4f0affb5a92abaf8ac912ab819801f1a23febb5191fb76c7f78453b5c46
- languageName: node
- linkType: hard
-
-"@chakra-ui/spinner@npm:1.2.6":
- version: 1.2.6
- resolution: "@chakra-ui/spinner@npm:1.2.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 5991534d509d15a770cce002429e20a249a61f68742e19db4e5c166d998121d48e544b8c7128034b9c214fc31593c4a1a5aa7b63adbe8234bc314713d8deac4b
- languageName: node
- linkType: hard
-
-"@chakra-ui/stat@npm:1.2.7":
- version: 1.2.7
- resolution: "@chakra-ui/stat@npm:1.2.7"
- dependencies:
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: c30e91ec55aeb1c5baada1112d9b24caf99a712baa5c960eca045648b84e9332ad3fe9921609df6ad5f76e74c85813e4b7670255496443559d57a393c0e7bd56
- languageName: node
- linkType: hard
-
-"@chakra-ui/styled-system@npm:1.19.0":
- version: 1.19.0
- resolution: "@chakra-ui/styled-system@npm:1.19.0"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- csstype: 3.0.9
- checksum: 7acbce48d121743b6f7c830b376ed9f78f0c65ea0f1df2d22f3af780660edc6bfdaead5e55d75735de9524fed0f9bab2afa7d4da4fa3ced1d3e75045241df007
- languageName: node
- linkType: hard
-
-"@chakra-ui/switch@npm:1.3.10":
- version: 1.3.10
- resolution: "@chakra-ui/switch@npm:1.3.10"
- dependencies:
- "@chakra-ui/checkbox": 1.7.1
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: 54b18ed0fc7ba98fd6feb34b3f0d60d4ab9ea4645eb2ead2de3bfc7ca2e9cbfe9d1e4fc9d3d882b352bcd853181d337b02996ea866a02203c20c7cc2300580d5
- languageName: node
- linkType: hard
-
-"@chakra-ui/system@npm:1.12.1":
- version: 1.12.1
- resolution: "@chakra-ui/system@npm:1.12.1"
- dependencies:
- "@chakra-ui/color-mode": 1.4.8
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/styled-system": 1.19.0
- "@chakra-ui/utils": 1.10.4
- react-fast-compare: 3.2.0
- peerDependencies:
- "@emotion/react": ^11.0.0
- "@emotion/styled": ^11.0.0
- react: ">=16.8.6"
- checksum: 21c74ba361ea7c54f8f66673d4e7fc5ac67c38f6fa68f7896a0b847812d31007cb21a305da37154309771b760f69660da536e19141094b3df4705c96e1ff2c59
- languageName: node
- linkType: hard
-
-"@chakra-ui/table@npm:1.3.6":
- version: 1.3.6
- resolution: "@chakra-ui/table@npm:1.3.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: aa79b03135d5cf57a261ce4c0af1a0c8bf15748494b6a769a8a9734790d788ae93b97017fd85195dbab2fbe52da733cee6bb7f7ddb4c90d3e63c0464ad43caa1
- languageName: node
- linkType: hard
-
-"@chakra-ui/tabs@npm:1.6.10":
- version: 1.6.10
- resolution: "@chakra-ui/tabs@npm:1.6.10"
- dependencies:
- "@chakra-ui/clickable": 1.2.6
- "@chakra-ui/descendant": 2.1.3
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: f8ad7d6680e67357b9bc444f54216036ed56136913eb8621947f35ab74a659159fffd2a2eb9f3cb91aadd1852a98acdc772e6acba70233cceb4200ff21cf1cd0
- languageName: node
- linkType: hard
-
-"@chakra-ui/tag@npm:1.2.7":
- version: 1.2.7
- resolution: "@chakra-ui/tag@npm:1.2.7"
- dependencies:
- "@chakra-ui/icon": 2.0.5
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: f84587ecdaddfbdf12f798aaa970a56bb1c0ef195b1f3dda0e0f34e2928c422ec7f5da5ba937fda814642fe9a5416094f0eb9089ac4e2033647ee919326c24a6
- languageName: node
- linkType: hard
-
-"@chakra-ui/textarea@npm:1.2.11":
- version: 1.2.11
- resolution: "@chakra-ui/textarea@npm:1.2.11"
- dependencies:
- "@chakra-ui/form-control": 1.6.0
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: 563909e2193ed3d7aedf074c89f00e08c25d42e3f5416fa64d50a4f33d0343b5d471cc498bb33fd897b663ac16a73ffbaa825e4baf3fc54f8996f2b143d8a2ec
- languageName: node
- linkType: hard
-
-"@chakra-ui/theme-tools@npm:1.3.6, @chakra-ui/theme-tools@npm:^1.3.6":
- version: 1.3.6
- resolution: "@chakra-ui/theme-tools@npm:1.3.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- "@ctrl/tinycolor": ^3.4.0
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- checksum: 05439b1e6568eca761ff95aeb27530e7f327d536b9f02e4c835fbc8e9cb9bc78014efea0e0e587ed3e279e0fca1a4b195e5bfddfe1c687d3b50acbc595d3bcb4
- languageName: node
- linkType: hard
-
-"@chakra-ui/theme@npm:1.14.1":
- version: 1.14.1
- resolution: "@chakra-ui/theme@npm:1.14.1"
- dependencies:
- "@chakra-ui/anatomy": 1.3.0
- "@chakra-ui/theme-tools": 1.3.6
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- checksum: 16c03d3deac5011a312cd81544903bd569fd86f1933acf6ccafe66898627998f28baaf10c1091c47f7b68a618cc159c33a206d817fd29e0243d379a5c9f493e3
- languageName: node
- linkType: hard
-
-"@chakra-ui/toast@npm:1.5.9":
- version: 1.5.9
- resolution: "@chakra-ui/toast@npm:1.5.9"
- dependencies:
- "@chakra-ui/alert": 1.3.7
- "@chakra-ui/close-button": 1.2.7
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/theme": 1.14.1
- "@chakra-ui/transition": 1.4.8
- "@chakra-ui/utils": 1.10.4
- "@reach/alert": 0.13.2
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: ff532e34ee883e957fdaf2b1c33f4b50c9064d7f6aed0e0fbd015f91df6185e357766352bc0e23a061eeea63daf0cee172157611f220f4be302c509d1c5fbc4c
- languageName: node
- linkType: hard
-
-"@chakra-ui/tooltip@npm:1.5.1":
- version: 1.5.1
- resolution: "@chakra-ui/tooltip@npm:1.5.1"
- dependencies:
- "@chakra-ui/hooks": 1.9.1
- "@chakra-ui/popper": 2.4.3
- "@chakra-ui/portal": 1.3.10
- "@chakra-ui/react-utils": 1.2.3
- "@chakra-ui/utils": 1.10.4
- "@chakra-ui/visually-hidden": 1.1.6
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- react-dom: ">=16.8.6"
- checksum: a4d51f00bc7852d563cb2eb8059a5e9406749342862df2e86517a2cf13da9e3b72ff8df8170cc5c33a2c287c624b305e2f6443356966a381dec955b0f554dbfc
- languageName: node
- linkType: hard
-
-"@chakra-ui/transition@npm:1.4.8":
- version: 1.4.8
- resolution: "@chakra-ui/transition@npm:1.4.8"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- framer-motion: 3.x || 4.x || 5.x || 6.x
- react: ">=16.8.6"
- checksum: 8478781ed94ad92b177bdc04ce9537b8eb87e6215c09eaabca6aeae958c6be3824c37d1b4e3e218527621d3ecf340b4734bca986a7568e2fe6850cc97cad1c41
- languageName: node
- linkType: hard
-
-"@chakra-ui/utils@npm:1.10.4, @chakra-ui/utils@npm:^1.10.4":
- version: 1.10.4
- resolution: "@chakra-ui/utils@npm:1.10.4"
- dependencies:
- "@types/lodash.mergewith": 4.6.6
- css-box-model: 1.2.1
- framesync: 5.3.0
- lodash.mergewith: 4.6.2
- checksum: a97bf839b6569c1b420825fcab4a0b9d599d0c3752839cd01d72f4b8c2191e32da72a10727a84f5b13784ee1985083412c98855c25a42427dfb28290f37e8214
- languageName: node
- linkType: hard
-
-"@chakra-ui/visually-hidden@npm:1.1.6":
- version: 1.1.6
- resolution: "@chakra-ui/visually-hidden@npm:1.1.6"
- dependencies:
- "@chakra-ui/utils": 1.10.4
- peerDependencies:
- "@chakra-ui/system": ">=1.0.0"
- react: ">=16.8.6"
- checksum: b3206418c4c16737503561bdda40155967d177f8f334357eb8bb478b450b774dbb6ad0a21580c06c1e66e93794919f59d4bd13911d7804c867bb9b9e28929f5d
- languageName: node
- linkType: hard
-
-"@chevrotain/cst-dts-gen@npm:^10.1.2":
- version: 10.1.2
- resolution: "@chevrotain/cst-dts-gen@npm:10.1.2"
- dependencies:
- "@chevrotain/gast": ^10.1.2
- "@chevrotain/types": ^10.1.2
- lodash: 4.17.21
- checksum: 47bcab11b4b8165115c13bb5ef9561f49a77454698b51932711584e3a3062a26af4609fa6e0c0c1d48619366bdf89bbd614e06b2d7d6757ce8e1679fdcaabd64
- languageName: node
- linkType: hard
-
-"@chevrotain/gast@npm:^10.1.2":
- version: 10.1.2
- resolution: "@chevrotain/gast@npm:10.1.2"
- dependencies:
- "@chevrotain/types": ^10.1.2
- lodash: 4.17.21
- checksum: dbb8c80903cf30398b1b0c0ae24dddb0a05a5c95130fdb362f6627030dea0b560c6cdc6bcbbf91f4d85914636cec24dc2bd6403b83b802dfba2d6fabf4dc0487
- languageName: node
- linkType: hard
-
-"@chevrotain/types@npm:^10.1.2":
- version: 10.1.2
- resolution: "@chevrotain/types@npm:10.1.2"
- checksum: cc3779e49370b5ce86a8b849c7ae7026ac934f255e027275fbfca33ee319b84c730cad95db038dd020cb31bd1e777866a45517a4d69de6afec9bbf9a6315844c
- languageName: node
- linkType: hard
-
-"@chevrotain/utils@npm:^10.1.2":
- version: 10.1.2
- resolution: "@chevrotain/utils@npm:10.1.2"
- checksum: 05301feae7cb029418890d12961336d7db340a075c17e3815d107f30d968b9fcca23162addb99772cca41fae242f53dea6146fbd295c928ad26092c27ac71050
- languageName: node
- linkType: hard
-
-"@chievemints/contracts@workspace:packages/contracts":
- version: 0.0.0-use.local
- resolution: "@chievemints/contracts@workspace:packages/contracts"
- dependencies:
- "@ethersproject/abi": ^5
- "@ethersproject/bytes": ^5
- "@ethersproject/providers": ^5
- "@ipld/car": ^4.1.4
- "@nomiclabs/hardhat-ethers": ^2.0.5
- "@nomiclabs/hardhat-etherscan": ^3.0.3
- "@nomiclabs/hardhat-waffle": ^2.0.3
- "@openzeppelin/contracts": ^4.7.2
- "@openzeppelin/contracts-upgradeable": ^4.5.2
- "@openzeppelin/hardhat-upgrades": ^1.16.0
- "@tenderly/hardhat-tenderly": ^1.0.13
- "@typechain/ethers-v5": ^10.1.0
- "@typechain/hardhat": ^6.1.2
- "@types/bip39": ^3.0.0
- "@types/chai": ^4.3.1
- "@types/chai-as-promised": ^7
- "@types/glob": ^7.2.0
- "@types/mocha": ^9.1.0
- "@types/node": 17.0.21
- "@types/qrcode-terminal": ^0.12.0
- "@types/ramda": ^0.28.12
- chai: ^4.3.6
- chai-as-promised: ^7.1.1
- chai-match: ^1.1.1
- dotenv: ^16.0.0
- ethereum-waffle: ^3.2.0
- ethers: ^5.6.0
- glob: ^8.0.1
- hardhat: ^2.12.2
- json5: ^2.2.0
- nft.storage: ^7.0.0
- qrcode-terminal: ^0.12.0
- ramda: ^0.28.0
- solc: ^0.8.12
- ts-node: ^10.9.1
- typechain: ^8.1.0
- typescript: ">=4.1.0"
- languageName: unknown
- linkType: soft
-
-"@chievemints/ui@workspace:packages/ui":
- version: 0.0.0-use.local
- resolution: "@chievemints/ui@workspace:packages/ui"
+"@chievemints/ui@workspace:packages/ui":
+ version: 0.0.0-use.local
+ resolution: "@chievemints/ui@workspace:packages/ui"
dependencies:
"@babel/core": ^7.18.10
"@babel/plugin-transform-modules-commonjs": ^7.18.6
"@babel/preset-flow": ^7.18.6
- "@chakra-ui/icons": 1.1
- "@chakra-ui/react": ^1.8.8
- "@emotion/react": ^11.10.0
- "@emotion/styled": ^11.10.0
"@esbuild-plugins/node-globals-polyfill": ^0.2.3
"@originjs/vite-plugin-commonjs": ^1.0.3
"@react-three/fiber": ^8.10.1
"@rollup/plugin-commonjs": ^22.0.1
"@rollup/plugin-inject": ^4.0.4
"@rollup/plugin-node-resolve": ^13.3.0
+ "@tippyjs/react": ^4.2.6
"@types/babel__core": ^7
"@types/jest": ^28.1.6
"@types/node": ^18.6.4
+ "@types/ramda": ^0.28.12
"@types/react": ^18.0.15
"@types/react-dom": ^18.0.6
"@types/react-helmet": ^6.1.5
@@ -2452,7 +1741,7 @@ __metadata:
"@types/three": ^0.149.0
"@types/webpack": ^5.28.0
"@types/webpack-bundle-analyzer": ^4
- "@vitejs/plugin-react": ^2.0.0
+ "@vitejs/plugin-react": ^3.0.1
"@walletconnect/web3-provider": ^1.8.0
"@webpack-cli/generators": ^2.5.0
assert: ^2.0.0
@@ -2462,7 +1751,6 @@ __metadata:
dotenv: ^16.0.0
esbuild: ^0.14.53
ethers: ^5.6.9
- framer-motion: ^6.5.1
gh-pages: ^4.0.0
graphql: ^16.5.0
html-webpack-plugin: ^5.5.0
@@ -2472,12 +1760,18 @@ __metadata:
jest: ^28.1.3
multiformats: ^9.7.1
os-browserify: ^0.3.0
+ postcss-preset-env: ^8.0.1
+ ramda: ^0.28.0
react: ^18.2.0
react-dom: ^18.2.0
react-helmet: ^6.1.0
- react-hook-form: ^7.34.0
+ react-hook-form: ^7.43.0
react-markdown: ^8.0.3
react-router-dom: ^6.3.0
+ react-spinners: ^0.13.8
+ react-tabs: ^6.0.0
+ react-toastify: ^9.1.1
+ remark-gfm: ^3.0.1
rollup: ^2.77.2
rollup-plugin-node-globals: ^1.4.0
rollup-plugin-node-polyfills: ^0.2.1
@@ -2489,7 +1783,6 @@ __metadata:
three: ^0.149.0
ts-jest: ^28.0.7
ts-loader: ^9.3.1
- ts-node: ^10.9.1
tsconfig-paths-webpack-plugin: ^4.0.0
typescript: ^4.9.5
util: ^0.12.5
@@ -2517,6 +1810,7 @@ __metadata:
eslint: 8.12.0
graphql: ^16.5.0
jest: ^28.1.3
+ ts-node: ^10.9.1
languageName: unknown
linkType: soft
@@ -2529,156 +1823,284 @@ __metadata:
languageName: node
linkType: hard
-"@ctrl/tinycolor@npm:^3.4.0":
- version: 3.4.1
- resolution: "@ctrl/tinycolor@npm:3.4.1"
- checksum: 4c96bd5b641b02e5e1a64cd3eb6b8a67cb15d8f93699df4549f5f19d6dd30e7c5f12bfa70aaa38582d1cc4e4ab4890a9273c612608e85280b033e23820907d16
+"@csstools/cascade-layer-name-parser@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@csstools/cascade-layer-name-parser@npm:1.0.1"
+ peerDependencies:
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ checksum: ca85af36ab9f18952c4c88d6f1b30e0d28cbc032793aec8d3d7a5880d3431ec4c60193d0bd481f22a19a6c01f4ffb7dded166f8df5755fcc7ea4965dc3312487
languageName: node
linkType: hard
-"@discoveryjs/json-ext@npm:^0.5.0":
- version: 0.5.7
- resolution: "@discoveryjs/json-ext@npm:0.5.7"
- checksum: 2176d301cc258ea5c2324402997cf8134ebb212469c0d397591636cea8d3c02f2b3cf9fd58dcb748c7a0dade77ebdc1b10284fa63e608c033a1db52fddc69918
+"@csstools/css-parser-algorithms@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/css-parser-algorithms@npm:2.0.1"
+ peerDependencies:
+ "@csstools/css-tokenizer": ^2.0.0
+ checksum: 9f168cfc8fa30ba19fcbe7632d947b74beea494db60cf0eb250f7b77fe72239fb5e6d292b035144dbc52977fb4768f157064f8358530701fe56e5ef2993174c7
languageName: node
linkType: hard
-"@emotion/babel-plugin@npm:^11.10.0":
- version: 11.10.0
- resolution: "@emotion/babel-plugin@npm:11.10.0"
+"@csstools/css-tokenizer@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/css-tokenizer@npm:2.0.1"
+ checksum: b52ac9fc1946766b9616e8d65facfe7e8e2860314f03fc769d1bc94368787c3e14394fd50d65d46bed6af79f523df124d17ddeb2508bd77cd5082e8ead6e7680
+ languageName: node
+ linkType: hard
+
+"@csstools/media-query-list-parser@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/media-query-list-parser@npm:2.0.1"
+ peerDependencies:
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ checksum: f30b2a9e1aa3c2d8e98d3ac79463ab514ba4c4577c4cc6120a69d9f4562e521766adb62fc44ffee2226a967bdcfcf86a46bdaf625d21af8f21caa99553994d60
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-cascade-layers@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "@csstools/postcss-cascade-layers@npm:3.0.1"
dependencies:
- "@babel/helper-module-imports": ^7.16.7
- "@babel/plugin-syntax-jsx": ^7.17.12
- "@babel/runtime": ^7.18.3
- "@emotion/hash": ^0.9.0
- "@emotion/memoize": ^0.8.0
- "@emotion/serialize": ^1.1.0
- babel-plugin-macros: ^3.1.0
- convert-source-map: ^1.5.0
- escape-string-regexp: ^4.0.0
- find-root: ^1.1.0
- source-map: ^0.5.7
- stylis: 4.0.13
+ "@csstools/selector-specificity": ^2.0.2
+ postcss-selector-parser: ^6.0.10
peerDependencies:
- "@babel/core": ^7.0.0
- checksum: 7f1c615e5e559fd037eab8d08b842cd6c089543f9c8829d22d097f69c5436298ff4fa9e1a2117892ce26a60abc1f57641dd9ccb011096b2e34c5588bf994addc
+ postcss: ^8.4
+ checksum: da39631e23fab33aaaa09f5bf24edc798f3de0fb39358b2bcc771a57a9877db9d63f70e23ba1fc27404fe92457e17a36b8622cecd7120a3c1b7deeb4f9427c1f
languageName: node
linkType: hard
-"@emotion/cache@npm:^11.10.0":
- version: 11.10.1
- resolution: "@emotion/cache@npm:11.10.1"
+"@csstools/postcss-color-function@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-color-function@npm:2.0.1"
dependencies:
- "@emotion/memoize": ^0.8.0
- "@emotion/sheet": ^1.2.0
- "@emotion/utils": ^1.2.0
- "@emotion/weak-memoize": ^0.3.0
- stylis: 4.0.13
- checksum: 950203c5a447c107a189042178fdf43b2e699f579e2d7cd9f39cb99ee2b1f20d84bb1ed653d2737a1adb79756c1f747783875ee76ccb547357f5aa9cd5ce63ee
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 0e6ce71636929708d74017d9908d29188eb9dccc3faf79ee31329d949575468a9018fbef69182788f0182202bcecc62cd28fcf2d3285a9df6d1d1182327781ae
languageName: node
linkType: hard
-"@emotion/hash@npm:^0.9.0":
- version: 0.9.0
- resolution: "@emotion/hash@npm:0.9.0"
- checksum: b63428f7c8186607acdca5d003700cecf0ded519d0b5c5cc3b3154eafcad6ff433f8361bd2bac8882715b557e6f06945694aeb6ba8b25c6095d7a88570e2e0bb
+"@csstools/postcss-font-format-keywords@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-font-format-keywords@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: b9e2fc83e2c4665bdf7375e9b1cd7907400e2f8f1630410f88e3a39b6344475afa9cf39995dbe29ffb6153b590c5960229e5a8ba23a1fbcf1865b107fdfcafd1
languageName: node
linkType: hard
-"@emotion/is-prop-valid@npm:^0.8.2":
- version: 0.8.8
- resolution: "@emotion/is-prop-valid@npm:0.8.8"
+"@csstools/postcss-hwb-function@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-hwb-function@npm:2.0.1"
dependencies:
- "@emotion/memoize": 0.7.4
- checksum: bb7ec6d48c572c540e24e47cc94fc2f8dec2d6a342ae97bc9c8b6388d9b8d283862672172a1bb62d335c02662afe6291e10c71e9b8642664a8b43416cdceffac
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 8134c45bb9e658f7cd01e7b2639824d85a79317d7b6b8127371fe0c59e51bb5552d056c03ab9ad6100c8a9a896c40a283394b44d87fffbef83d85e98429999f9
languageName: node
linkType: hard
-"@emotion/is-prop-valid@npm:^1.1.0, @emotion/is-prop-valid@npm:^1.2.0":
- version: 1.2.0
- resolution: "@emotion/is-prop-valid@npm:1.2.0"
+"@csstools/postcss-ic-unit@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-ic-unit@npm:2.0.1"
dependencies:
- "@emotion/memoize": ^0.8.0
- checksum: cc7a19850a4c5b24f1514665289442c8c641709e6f7711067ad550e05df331da0692a16148e85eda6f47e31b3261b64d74c5e25194d053223be16231f969d633
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 18a239451ace6566dd8673e8f8fc6a6eb7675456ba600111bc40a3ca976b6b5b9c1293c41a5531a5c821ff6984cd05cfbc21fcb728976197ff659b9fe6ed2459
languageName: node
linkType: hard
-"@emotion/memoize@npm:0.7.4":
- version: 0.7.4
- resolution: "@emotion/memoize@npm:0.7.4"
- checksum: 4e3920d4ec95995657a37beb43d3f4b7d89fed6caa2b173a4c04d10482d089d5c3ea50bbc96618d918b020f26ed6e9c4026bbd45433566576c1f7b056c3271dc
+"@csstools/postcss-is-pseudo-class@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "@csstools/postcss-is-pseudo-class@npm:3.0.1"
+ dependencies:
+ "@csstools/selector-specificity": ^2.0.0
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: c736b35cfd0d84aae01a795115802af9e8bd63f8600855dc777883aac87ed321c879dcdb2d982cfcc4a396c00e65d11d5491b00818dcbc88897316ba0ed44882
languageName: node
linkType: hard
-"@emotion/memoize@npm:^0.8.0":
- version: 0.8.0
- resolution: "@emotion/memoize@npm:0.8.0"
- checksum: c87bb110b829edd8e1c13b90a6bc37cebc39af29c7599a1e66a48e06f9bec43e8e53495ba86278cc52e7589549492c8dfdc81d19f4fdec0cee6ba13d2ad2c928
+"@csstools/postcss-logical-float-and-clear@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@csstools/postcss-logical-float-and-clear@npm:1.0.1"
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 5184cd62a61cdcf1364364145f638e4c3ffdbde2fe4c154c11404f7e44045b3ed62ea7ff5d7230d89e42417506c1180dc3ab64ad5e8378ac5eb0a9298bbf80d1
languageName: node
linkType: hard
-"@emotion/react@npm:^11.10.0":
- version: 11.10.0
- resolution: "@emotion/react@npm:11.10.0"
+"@csstools/postcss-logical-resize@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@csstools/postcss-logical-resize@npm:1.0.1"
dependencies:
- "@babel/runtime": ^7.18.3
- "@emotion/babel-plugin": ^11.10.0
- "@emotion/cache": ^11.10.0
- "@emotion/serialize": ^1.1.0
- "@emotion/utils": ^1.2.0
- "@emotion/weak-memoize": ^0.3.0
- hoist-non-react-statics: ^3.3.1
+ postcss-value-parser: ^4.2.0
peerDependencies:
- "@babel/core": ^7.0.0
- react: ">=16.8.0"
- peerDependenciesMeta:
- "@babel/core":
- optional: true
- "@types/react":
- optional: true
- checksum: 6d692e43ff53fd3b87d4a000a9aec2ef080d66a0ebb7d0b9529c46d1e6bc1ac8a27c7dd74c27a8274ec1df1e3c960b78c035fca5d8a901a48eda445c6163b33b
+ postcss: ^8.4
+ checksum: b19f340d1909249e97cf5557741dabc8a247ae9f7dd6b2e525a3137b6b8f6997a5da83441b20423b17044dff8eafc3c2d33527fabcf3bdf0ebbe04274d3c6caa
languageName: node
linkType: hard
-"@emotion/serialize@npm:^1.1.0":
- version: 1.1.0
- resolution: "@emotion/serialize@npm:1.1.0"
+"@csstools/postcss-logical-viewport-units@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "@csstools/postcss-logical-viewport-units@npm:1.0.2"
dependencies:
- "@emotion/hash": ^0.9.0
- "@emotion/memoize": ^0.8.0
- "@emotion/unitless": ^0.8.0
- "@emotion/utils": ^1.2.0
- csstype: ^3.0.2
- checksum: 8f22f83194ad76cb3bbee481daa57fdc65ca3078a5db9e219c04151341ef93af80c7057aea17b64446682d275918f7ecc0c20e977c1af153c79a1485503fe717
+ "@csstools/css-tokenizer": ^2.0.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 8780dd03c1b770f4710cb816cb2287f1e9309c202758217486129441fba16f1821473d1a7d33dd008149dbfa6cbc25242cb8d23d2fbd1de7c0bf09bad8caca49
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:1.0.1"
+ dependencies:
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ "@csstools/media-query-list-parser": ^2.0.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: cbcf01db72626a34e247b1c76753cbbe04c276bf007fabb6aa5971874217030ec2077f8c35af8b56b4890968a38e7384e04e83170015dfd80f502fa3c52984ad
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-nested-calc@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-nested-calc@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 0ab4774879df62a0034cf56c4804570b8ef50a47226450b91a4d81d4144783d7098a9331424045ae6e79bb03de478caec89aaba34907858f22343a1c26da6b3e
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-normalize-display-values@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-normalize-display-values@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: d67779977bb275467bd5995846501ea08ac42c736f47d2a6e70897592a4d71dcfc30aed28bccc06b6746ebd3a29db621e92120ea43f1756fe02759ded579e255
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-oklab-function@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-oklab-function@npm:2.0.1"
+ dependencies:
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 78a677492ee79838ba70711e7bb679279d4c833c966a451fb4110b01bb363eeda739aab0792a8b3fdef4a5fb126226d02006340e542706f4fafb9688549a20e6
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-progressive-custom-properties@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-progressive-custom-properties@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 4d0d8df31a566e06fe490a98017bc75915ad65bd1c057fd5c948858dcd103e1bb72f9d03448e8d40d15330c2e8ea6e7e4629c8d9d0c474da0097d49cef20c506
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-scope-pseudo-class@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-scope-pseudo-class@npm:2.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: e53d52013085b17910fbb152a0ec080d48ac9783b743eadbc38ec10bc5f609fde160ebc73a855273d6af82841ad31c46dd8ae87b130ece2774cc45edb1e2b9fc
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-stepped-value-functions@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-stepped-value-functions@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 907f9a30b9e7c5ce598929203b810887de17f32a8a0b13849d12d95a98766e26b2a7ce46609d683ce3292c87edc300faabbe384c348338b677b6c23dd0003c0e
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-text-decoration-shorthand@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "@csstools/postcss-text-decoration-shorthand@npm:2.1.0"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 760f821ee3a791dd0fcbb2f5056aa3f88431c3102ae4a06d05cd84bf045e0d56678dc7d83ba9a69f37966ec042f6a57e35b5704fcdfee7951c4000cba3e687d4
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-trigonometric-functions@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-trigonometric-functions@npm:2.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: b2b7aa8d595bbf10a348f2596c95c16c79198922820b1b93b8062dd29583af6353c5b7f56cf9ed94a00f951d4585f310b6aaa86781630701a01231a177f9b0cc
+ languageName: node
+ linkType: hard
+
+"@csstools/postcss-unset-value@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@csstools/postcss-unset-value@npm:2.0.1"
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 51fe220dadbdcacda79e4e3ae669ee0099a5af1026f034e8d6789ec3d82704ea1c13522033a6f73304f9ec28bf36c2fcd428d5cdd9b08395caf2c81f8ea379cb
+ languageName: node
+ linkType: hard
+
+"@csstools/selector-specificity@npm:^2.0.0, @csstools/selector-specificity@npm:^2.0.1, @csstools/selector-specificity@npm:^2.0.2":
+ version: 2.1.1
+ resolution: "@csstools/selector-specificity@npm:2.1.1"
+ peerDependencies:
+ postcss: ^8.4
+ postcss-selector-parser: ^6.0.10
+ checksum: 392ab62732e93aa8cbea445bf3485c1acbbecc8ec087b200e06c9ddd2acf740fd1fe46abdacf813e7a50a95a60346377ee3eecb4e1fe3709582e2851430b376a
+ languageName: node
+ linkType: hard
+
+"@discoveryjs/json-ext@npm:^0.5.0":
+ version: 0.5.7
+ resolution: "@discoveryjs/json-ext@npm:0.5.7"
+ checksum: 2176d301cc258ea5c2324402997cf8134ebb212469c0d397591636cea8d3c02f2b3cf9fd58dcb748c7a0dade77ebdc1b10284fa63e608c033a1db52fddc69918
languageName: node
linkType: hard
-"@emotion/sheet@npm:^1.2.0":
+"@emotion/is-prop-valid@npm:^1.1.0":
version: 1.2.0
- resolution: "@emotion/sheet@npm:1.2.0"
- checksum: b3771e47963d36c179f9a1119055d7e5d18e2718e73ebe2b4b1c56f4bbf4ea6b12c50bbc52cd502f03f7981beb2fbb3fee2638b6f5ef6c5f223b06f8bf88ec7b
+ resolution: "@emotion/is-prop-valid@npm:1.2.0"
+ dependencies:
+ "@emotion/memoize": ^0.8.0
+ checksum: cc7a19850a4c5b24f1514665289442c8c641709e6f7711067ad550e05df331da0692a16148e85eda6f47e31b3261b64d74c5e25194d053223be16231f969d633
languageName: node
linkType: hard
-"@emotion/styled@npm:^11.10.0":
- version: 11.10.0
- resolution: "@emotion/styled@npm:11.10.0"
- dependencies:
- "@babel/runtime": ^7.18.3
- "@emotion/babel-plugin": ^11.10.0
- "@emotion/is-prop-valid": ^1.2.0
- "@emotion/serialize": ^1.1.0
- "@emotion/utils": ^1.2.0
- peerDependencies:
- "@babel/core": ^7.0.0
- "@emotion/react": ^11.0.0-rc.0
- react: ">=16.8.0"
- peerDependenciesMeta:
- "@babel/core":
- optional: true
- "@types/react":
- optional: true
- checksum: f2a3e9798f807713d12771320cde9c2fa17ea6f008da605055496bd3522d81c120321240c8a1dae49c7272fea11361e1f47938ee069f678038b6836820c01243
+"@emotion/memoize@npm:^0.8.0":
+ version: 0.8.0
+ resolution: "@emotion/memoize@npm:0.8.0"
+ checksum: c87bb110b829edd8e1c13b90a6bc37cebc39af29c7599a1e66a48e06f9bec43e8e53495ba86278cc52e7589549492c8dfdc81d19f4fdec0cee6ba13d2ad2c928
languageName: node
linkType: hard
@@ -2696,27 +2118,6 @@ __metadata:
languageName: node
linkType: hard
-"@emotion/unitless@npm:^0.8.0":
- version: 0.8.0
- resolution: "@emotion/unitless@npm:0.8.0"
- checksum: 176141117ed23c0eb6e53a054a69c63e17ae532ec4210907a20b2208f91771821835f1c63dd2ec63e30e22fcc984026d7f933773ee6526dd038e0850919fae7a
- languageName: node
- linkType: hard
-
-"@emotion/utils@npm:^1.2.0":
- version: 1.2.0
- resolution: "@emotion/utils@npm:1.2.0"
- checksum: 55457a49ddd4db6a014ea0454dc09eaa23eedfb837095c8ff90470cb26a303f7ceb5fcc1e2190ef64683e64cfd33d3ba3ca3109cd87d12bc9e379e4195c9a4dd
- languageName: node
- linkType: hard
-
-"@emotion/weak-memoize@npm:^0.3.0":
- version: 0.3.0
- resolution: "@emotion/weak-memoize@npm:0.3.0"
- checksum: f43ef4c8b7de70d9fa5eb3105921724651e4188e895beb71f0c5919dc899a7b8743e1fdd99d38b9092dd5722c7be2312ebb47fbdad0c4e38bea58f6df5885cc0
- languageName: node
- linkType: hard
-
"@ensdomains/ens@npm:^0.4.4":
version: 0.4.5
resolution: "@ensdomains/ens@npm:0.4.5"
@@ -3804,7 +3205,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/sourcemap-codec@npm:^1.4.10":
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13":
version: 1.4.14
resolution: "@jridgewell/sourcemap-codec@npm:1.4.14"
checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97
@@ -3905,71 +3306,6 @@ __metadata:
languageName: node
linkType: hard
-"@motionone/animation@npm:^10.12.0":
- version: 10.13.1
- resolution: "@motionone/animation@npm:10.13.1"
- dependencies:
- "@motionone/easing": ^10.13.1
- "@motionone/types": ^10.13.0
- "@motionone/utils": ^10.13.1
- tslib: ^2.3.1
- checksum: bf3f95f1c100a18e170fd55fa3d16c6f674fe02dd0f344e78a8ae7e6ffac3510612e9f0b7a5a73fae3bb91b7c3d4e287f605e4feeb8a92538c3588d3ab8a4a70
- languageName: node
- linkType: hard
-
-"@motionone/dom@npm:10.12.0":
- version: 10.12.0
- resolution: "@motionone/dom@npm:10.12.0"
- dependencies:
- "@motionone/animation": ^10.12.0
- "@motionone/generators": ^10.12.0
- "@motionone/types": ^10.12.0
- "@motionone/utils": ^10.12.0
- hey-listen: ^1.0.8
- tslib: ^2.3.1
- checksum: 123356f28e44362c4f081aae3df22e576f46bfcb07e01257b2ac64a115668448f29b8de67e4b6e692c5407cffb78ffe7cf9fa1bc064007482bab5dd23a69d380
- languageName: node
- linkType: hard
-
-"@motionone/easing@npm:^10.13.1":
- version: 10.13.1
- resolution: "@motionone/easing@npm:10.13.1"
- dependencies:
- "@motionone/utils": ^10.13.1
- tslib: ^2.3.1
- checksum: 04d3c2d1458795d207067a8341ac23b5037b11d9e7160f91bb953438551255d072012dd22aaed678d0f88792143ad16c9566e131003ec047ef7938529a27b485
- languageName: node
- linkType: hard
-
-"@motionone/generators@npm:^10.12.0":
- version: 10.13.1
- resolution: "@motionone/generators@npm:10.13.1"
- dependencies:
- "@motionone/types": ^10.13.0
- "@motionone/utils": ^10.13.1
- tslib: ^2.3.1
- checksum: d4b91d0352c00275644c5e33bf031545212f94821aa6f7fdc26fa92f054138c76ff89c77a3b10ca167b447e4cf7c019a9628688c9635a21528da2ea260724fbc
- languageName: node
- linkType: hard
-
-"@motionone/types@npm:^10.12.0, @motionone/types@npm:^10.13.0":
- version: 10.13.0
- resolution: "@motionone/types@npm:10.13.0"
- checksum: 4c0a4593562f3c8fa30660a3b796ec012d592029137fc35f3029b34e69e5c364efa24c2016dd66b21db580d0a9d4107730b30f55496b416b2ed9dbe437865eab
- languageName: node
- linkType: hard
-
-"@motionone/utils@npm:^10.12.0, @motionone/utils@npm:^10.13.1":
- version: 10.13.1
- resolution: "@motionone/utils@npm:10.13.1"
- dependencies:
- "@motionone/types": ^10.13.0
- hey-listen: ^1.0.8
- tslib: ^2.3.1
- checksum: 2ec2de91d07f7bd1dcb157d96c0c0f7565d1e8c6ac9adec0ce33811a321fea72d45a4c51833d2c3e432c26b3904e17e3296d553ad87b4b6705d6fba93cd22aca
- languageName: node
- linkType: hard
-
"@mrmlnc/readdir-enhanced@npm:^2.2.1":
version: 2.2.1
resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1"
@@ -4716,10 +4052,10 @@ __metadata:
languageName: node
linkType: hard
-"@popperjs/core@npm:^2.9.3":
- version: 2.11.5
- resolution: "@popperjs/core@npm:2.11.5"
- checksum: fd7f9dca3fb716d7426332b6ee283f88d2724c0ab342fb678865a640bad403dfb9eeebd8204a406986162f7e2b33394f104320008b74d0e9066d7322f70ea35d
+"@popperjs/core@npm:^2.9.0":
+ version: 2.11.6
+ resolution: "@popperjs/core@npm:2.11.6"
+ checksum: 47fb328cec1924559d759b48235c78574f2d71a8a6c4c03edb6de5d7074078371633b91e39bbf3f901b32aa8af9b9d8f82834856d2f5737a23475036b16817f0
languageName: node
linkType: hard
@@ -4796,48 +4132,6 @@ __metadata:
languageName: node
linkType: hard
-"@reach/alert@npm:0.13.2":
- version: 0.13.2
- resolution: "@reach/alert@npm:0.13.2"
- dependencies:
- "@reach/utils": 0.13.2
- "@reach/visually-hidden": 0.13.2
- prop-types: ^15.7.2
- tslib: ^2.1.0
- peerDependencies:
- react: ^16.8.0 || 17.x
- react-dom: ^16.8.0 || 17.x
- checksum: a87c4b756f3088fccf4e81e66252985b7d4272b506a1b567b0ae56f967b31b77b72aa3f0940705ac3ec603b572782b5abdaad3bdb172d8e64866bc86030499d6
- languageName: node
- linkType: hard
-
-"@reach/utils@npm:0.13.2":
- version: 0.13.2
- resolution: "@reach/utils@npm:0.13.2"
- dependencies:
- "@types/warning": ^3.0.0
- tslib: ^2.1.0
- warning: ^4.0.3
- peerDependencies:
- react: ^16.8.0 || 17.x
- react-dom: ^16.8.0 || 17.x
- checksum: 63b4f505c53c1043c8566b6c4f648dc84d9e1c33876783c0a5a5c8e51a90dcabdda06df98d1532b657905b24d4590ca51db7f2fd39dc336842c7cf80dbbbc6e2
- languageName: node
- linkType: hard
-
-"@reach/visually-hidden@npm:0.13.2":
- version: 0.13.2
- resolution: "@reach/visually-hidden@npm:0.13.2"
- dependencies:
- prop-types: ^15.7.2
- tslib: ^2.1.0
- peerDependencies:
- react: ^16.8.0 || 17.x
- react-dom: ^16.8.0 || 17.x
- checksum: b66ce40c0b1368c6c19086891ecdb6ebb47667b01f5b8685af09963653098ce80bbcc2650a893cccc9741e82ce3440f5f1622aa5fcd73141c7c211c2a59f5414
- languageName: node
- linkType: hard
-
"@react-spring/animated@npm:~9.5.2":
version: 9.5.2
resolution: "@react-spring/animated@npm:9.5.2"
@@ -5382,6 +4676,18 @@ __metadata:
languageName: node
linkType: hard
+"@tippyjs/react@npm:^4.2.6":
+ version: 4.2.6
+ resolution: "@tippyjs/react@npm:4.2.6"
+ dependencies:
+ tippy.js: ^6.3.1
+ peerDependencies:
+ react: ">=16.8"
+ react-dom: ">=16.8"
+ checksum: 8f0fba591c9dae2e1af1ae632bbc775ba5c9dd4498e50e242be70302b4c27115c6740eec44e885e294b27cb28515777b52af5b34aac9d4bab627d948add938ae
+ languageName: node
+ linkType: hard
+
"@tootallnate/once@npm:1":
version: 1.1.2
resolution: "@tootallnate/once@npm:1.1.2"
@@ -5788,22 +5094,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/lodash.mergewith@npm:4.6.6":
- version: 4.6.6
- resolution: "@types/lodash.mergewith@npm:4.6.6"
- dependencies:
- "@types/lodash": "*"
- checksum: d57d0404679308893f89fbf66e2a70f569f701ddcd895e642388977664a7e1df6212698818598537ed0d0f5ccd0eb121c778260a3697b7e6b965d23526c60fe2
- languageName: node
- linkType: hard
-
-"@types/lodash@npm:*":
- version: 4.14.182
- resolution: "@types/lodash@npm:4.14.182"
- checksum: 7dd137aa9dbabd632408bd37009d984655164fa1ecc3f2b6eb94afe35bf0a5852cbab6183148d883e9c73a958b7fec9a9bcf7c8e45d41195add6a18c34958209
- languageName: node
- linkType: hard
-
"@types/long@npm:^4.0.1":
version: 4.0.2
resolution: "@types/long@npm:4.0.2"
@@ -5937,13 +5227,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/parse-json@npm:^4.0.0":
- version: 4.0.0
- resolution: "@types/parse-json@npm:4.0.0"
- checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b
- languageName: node
- linkType: hard
-
"@types/pbkdf2@npm:^3.0.0":
version: 3.1.0
resolution: "@types/pbkdf2@npm:3.1.0"
@@ -6044,17 +5327,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:^17.0.15":
- version: 17.0.48
- resolution: "@types/react@npm:17.0.48"
- dependencies:
- "@types/prop-types": "*"
- "@types/scheduler": "*"
- csstype: ^3.0.2
- checksum: b683fa33f751ced0b8c8715df9f40de15513c1d7ce66064a75cdfb8805cc913b0b214a2e7022ef0b724bd62a1e8651d040cd265dd0452bde03cca9b8e495742d
- languageName: node
- linkType: hard
-
"@types/resolve@npm:1.17.1":
version: 1.17.1
resolution: "@types/resolve@npm:1.17.1"
@@ -6225,13 +5497,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/warning@npm:^3.0.0":
- version: 3.0.0
- resolution: "@types/warning@npm:3.0.0"
- checksum: 120dcf90600d583c68a60872200061eab9318ae15ea898581f8e9a6dc71b7941095dd81d8324e36d2a6006e5e12b6fc1cf8eda00cc514ee12bb39a912cc4e040
- languageName: node
- linkType: hard
-
"@types/web3@npm:1.0.19":
version: 1.0.19
resolution: "@types/web3@npm:1.0.19"
@@ -6500,20 +5765,18 @@ __metadata:
languageName: node
linkType: hard
-"@vitejs/plugin-react@npm:^2.0.0":
- version: 2.0.0
- resolution: "@vitejs/plugin-react@npm:2.0.0"
+"@vitejs/plugin-react@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "@vitejs/plugin-react@npm:3.0.1"
dependencies:
- "@babel/core": ^7.18.6
- "@babel/plugin-transform-react-jsx": ^7.18.6
- "@babel/plugin-transform-react-jsx-development": ^7.18.6
+ "@babel/core": ^7.20.7
"@babel/plugin-transform-react-jsx-self": ^7.18.6
- "@babel/plugin-transform-react-jsx-source": ^7.18.6
- magic-string: ^0.26.2
+ "@babel/plugin-transform-react-jsx-source": ^7.19.6
+ magic-string: ^0.27.0
react-refresh: ^0.14.0
peerDependencies:
- vite: ^3.0.0
- checksum: 27e7968a46c04dffcd32e3a3cce5e0506b6d31544e18964224abcc688ccfa74d8fe99397f99489acf72c324f5a12cb7df39d3f261259603e256b296d5c6f4a89
+ vite: ^4.0.0
+ checksum: fde9dd4d3a3387d3a93ea164f58b71a40786842d66b072e75b10ef3c1c1f30cbe545367c4adb980d15f310a70c3ca24f8bf36ea5e896d0fcae0adc926172ca58
languageName: node
linkType: hard
@@ -7455,15 +6718,6 @@ __metadata:
languageName: node
linkType: hard
-"aria-hidden@npm:^1.1.1":
- version: 1.1.3
- resolution: "aria-hidden@npm:1.1.3"
- dependencies:
- tslib: ^1.0.0
- checksum: 2d40a328246baac7ae0b243ebe0cbef53c836c5f78c9212e9c1ff93f3aee185bd9aa51773e161e0025722d691c9d5f125070f6175a7074c4a57778ddc30d9e74
- languageName: node
- linkType: hard
-
"aria-query@npm:^4.2.2":
version: 4.2.2
resolution: "aria-query@npm:4.2.2"
@@ -7804,6 +7058,24 @@ __metadata:
languageName: node
linkType: hard
+"autoprefixer@npm:^10.4.13":
+ version: 10.4.13
+ resolution: "autoprefixer@npm:10.4.13"
+ dependencies:
+ browserslist: ^4.21.4
+ caniuse-lite: ^1.0.30001426
+ fraction.js: ^4.2.0
+ normalize-range: ^0.1.2
+ picocolors: ^1.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.1.0
+ bin:
+ autoprefixer: bin/autoprefixer
+ checksum: dcb1cb7ae96a3363d65d82e52f9a0a7d8c982256f6fd032d7e1ec311f099c23acfebfd517ff8e96bf93f716a66c4ea2b80c60aa19efd2f474ce434bd75ef7b79
+ languageName: node
+ linkType: hard
+
"available-typed-arrays@npm:^1.0.5":
version: 1.0.5
resolution: "available-typed-arrays@npm:1.0.5"
@@ -8108,17 +7380,6 @@ __metadata:
languageName: node
linkType: hard
-"babel-plugin-macros@npm:^3.1.0":
- version: 3.1.0
- resolution: "babel-plugin-macros@npm:3.1.0"
- dependencies:
- "@babel/runtime": ^7.12.5
- cosmiconfig: ^7.0.0
- resolve: ^1.19.0
- checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6
- languageName: node
- linkType: hard
-
"babel-plugin-polyfill-corejs2@npm:^0.3.2":
version: 0.3.2
resolution: "babel-plugin-polyfill-corejs2@npm:0.3.2"
@@ -9076,6 +8337,20 @@ __metadata:
languageName: node
linkType: hard
+"browserslist@npm:^4.21.4":
+ version: 4.21.5
+ resolution: "browserslist@npm:4.21.5"
+ dependencies:
+ caniuse-lite: ^1.0.30001449
+ electron-to-chromium: ^1.4.284
+ node-releases: ^2.0.8
+ update-browserslist-db: ^1.0.10
+ bin:
+ browserslist: cli.js
+ checksum: 9755986b22e73a6a1497fd8797aedd88e04270be33ce66ed5d85a1c8a798292a65e222b0f251bafa1c2522261e237d73b08b58689d4920a607e5a53d56dc4706
+ languageName: node
+ linkType: hard
+
"bs-logger@npm:0.x":
version: 0.2.6
resolution: "bs-logger@npm:0.2.6"
@@ -9442,6 +8717,13 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449":
+ version: 1.0.30001449
+ resolution: "caniuse-lite@npm:1.0.30001449"
+ checksum: f1b395f0a5495c1931c53f58441e0db79b8b0f8ef72bb6d241d13c49b05827630efe6793d540610e0a014d8fdda330dd42f981c82951bd4bdcf635480e1a0102
+ languageName: node
+ linkType: hard
+
"capture-stack-trace@npm:^1.0.0":
version: 1.0.1
resolution: "capture-stack-trace@npm:1.0.1"
@@ -9503,6 +8785,13 @@ __metadata:
languageName: node
linkType: hard
+"ccount@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "ccount@npm:2.0.1"
+ checksum: 48193dada54c9e260e0acf57fc16171a225305548f9ad20d5471e0f7a8c026aedd8747091dccb0d900cde7df4e4ddbd235df0d8de4a64c71b12f0d3303eeafd4
+ languageName: node
+ linkType: hard
+
"chai-as-promised@npm:^7.1.1":
version: 7.1.1
resolution: "chai-as-promised@npm:7.1.1"
@@ -9888,6 +9177,13 @@ __metadata:
languageName: node
linkType: hard
+"clsx@npm:^1.1.0, clsx@npm:^1.1.1":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12
+ languageName: node
+ linkType: hard
+
"cmd-shim@npm:^5.0.0":
version: 5.0.0
resolution: "cmd-shim@npm:5.0.0"
@@ -10137,13 +9433,6 @@ __metadata:
languageName: node
linkType: hard
-"compute-scroll-into-view@npm:1.0.14":
- version: 1.0.14
- resolution: "compute-scroll-into-view@npm:1.0.14"
- checksum: 863925bf8dcd82cfbcf5938cde6cb6d58fc07988d29841bb1db6140993dbd95cbc907ff03488fe06014634604a44f5ac0c21da7a3012e0c41fbeea237716dfdb
- languageName: node
- linkType: hard
-
"concat-map@npm:0.0.1":
version: 0.0.1
resolution: "concat-map@npm:0.0.1"
@@ -10204,7 +9493,7 @@ __metadata:
languageName: node
linkType: hard
-"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0":
+"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0":
version: 1.8.0
resolution: "convert-source-map@npm:1.8.0"
dependencies:
@@ -10248,15 +9537,6 @@ __metadata:
languageName: node
linkType: hard
-"copy-to-clipboard@npm:3.3.1":
- version: 3.3.1
- resolution: "copy-to-clipboard@npm:3.3.1"
- dependencies:
- toggle-selection: ^1.0.6
- checksum: 3c7b1c333dc6a4b2e9905f52e4df6bbd34ff9f9c97ecd3ca55378a6bc1c191bb12a3252e6289c7b436e9188cff0360d393c0161626851d2301607860bbbdcfd5
- languageName: node
- linkType: hard
-
"copy-to-clipboard@npm:^3.3.1":
version: 3.3.2
resolution: "copy-to-clipboard@npm:3.3.2"
@@ -10330,19 +9610,6 @@ __metadata:
languageName: node
linkType: hard
-"cosmiconfig@npm:^7.0.0":
- version: 7.0.1
- resolution: "cosmiconfig@npm:7.0.1"
- dependencies:
- "@types/parse-json": ^4.0.0
- import-fresh: ^3.2.1
- parse-json: ^5.0.0
- path-type: ^4.0.0
- yaml: ^1.10.0
- checksum: 4be63e7117955fd88333d7460e4c466a90f556df6ef34efd59034d2463484e339666c41f02b523d574a797ec61f4a91918c5b89a316db2ea2f834e0d2d09465b
- languageName: node
- linkType: hard
-
"crc-32@npm:^1.2.0":
version: 1.2.2
resolution: "crc-32@npm:1.2.2"
@@ -10465,12 +9732,14 @@ __metadata:
languageName: node
linkType: hard
-"css-box-model@npm:1.2.1":
- version: 1.2.1
- resolution: "css-box-model@npm:1.2.1"
+"css-blank-pseudo@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "css-blank-pseudo@npm:5.0.1"
dependencies:
- tiny-invariant: ^1.0.6
- checksum: 4d113f26fed6b9150e2c314502d00dabe06f12ae43a01a7e9b6e57f3de49b4281dbb0dc46a1158a7349618f8f34d9250af57cb43d7337e9485e73e6b821e470e
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: d5e94c4bc4ab948fb8dad50b8f7f826dd4ac06965b85c4364ca590123c09f135784302fbd71c71c11b0840bfedc167374b2c21c4b2f423e7c9112b74d65445a3
languageName: node
linkType: hard
@@ -10481,6 +9750,19 @@ __metadata:
languageName: node
linkType: hard
+"css-has-pseudo@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "css-has-pseudo@npm:5.0.1"
+ dependencies:
+ "@csstools/selector-specificity": ^2.0.1
+ postcss-selector-parser: ^6.0.10
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 6674393fe790c1c42258a12fb0cd2e4d9372a75c06e877d3ac409435700b5bcec2b650af540fb4a90daa294b057510519886a22389752bba96e427264d8623ef
+ languageName: node
+ linkType: hard
+
"css-loader@npm:^6.7.1":
version: 6.7.1
resolution: "css-loader@npm:6.7.1"
@@ -10499,6 +9781,15 @@ __metadata:
languageName: node
linkType: hard
+"css-prefers-color-scheme@npm:^8.0.0":
+ version: 8.0.1
+ resolution: "css-prefers-color-scheme@npm:8.0.1"
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 766ff644d482367fa4a4b8620a7d9306bc78320b22cfaab4a127d6f46bca99f169660ef520c779721ecbd4f783ff83daf934375d28147d1520d4023aba57d5e3
+ languageName: node
+ linkType: hard
+
"css-select@npm:^4.1.3":
version: 4.3.0
resolution: "css-select@npm:4.3.0"
@@ -10548,6 +9839,13 @@ __metadata:
languageName: node
linkType: hard
+"cssdb@npm:^7.4.0":
+ version: 7.4.1
+ resolution: "cssdb@npm:7.4.1"
+ checksum: c58803ce3e0e60af8a5a1101f365a5ea0cf1a6a5eddcd5c6fb5d92aaf187e2c11c5620185fd7096cb920c3ce087f9edb2234348a33d06433e12c1ce7fcf93197
+ languageName: node
+ linkType: hard
+
"cssesc@npm:^3.0.0":
version: 3.0.0
resolution: "cssesc@npm:3.0.0"
@@ -10557,13 +9855,6 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:3.0.9":
- version: 3.0.9
- resolution: "csstype@npm:3.0.9"
- checksum: 199f9af7e673f9f188525c3102a329d637ff46c52f6385a4427ff5cb17adcb736189150170a7af7c5701d18d7704bdad130273f4aa7e44c6c4f9967e6115dc93
- languageName: node
- linkType: hard
-
"csstype@npm:^3.0.2":
version: 3.1.0
resolution: "csstype@npm:3.1.0"
@@ -10975,13 +10266,6 @@ __metadata:
languageName: node
linkType: hard
-"detect-node-es@npm:^1.1.0":
- version: 1.1.0
- resolution: "detect-node-es@npm:1.1.0"
- checksum: e46307d7264644975b71c104b9f028ed1d3d34b83a15b8a22373640ce5ea630e5640b1078b8ea15f202b54641da71e4aa7597093bd4b91f113db520a26a37449
- languageName: node
- linkType: hard
-
"detect-node@npm:^2.0.4":
version: 2.1.0
resolution: "detect-node@npm:2.1.0"
@@ -11318,6 +10602,13 @@ __metadata:
languageName: node
linkType: hard
+"electron-to-chromium@npm:^1.4.284":
+ version: 1.4.284
+ resolution: "electron-to-chromium@npm:1.4.284"
+ checksum: be496e9dca6509dbdbb54dc32146fc99f8eb716d28a7ee8ccd3eba0066561df36fc51418d8bd7cf5a5891810bf56c0def3418e74248f51ea4a843d423603d10a
+ languageName: node
+ linkType: hard
+
"elliptic@npm:6.5.4, elliptic@npm:^6.4.0, elliptic@npm:^6.5.2, elliptic@npm:^6.5.3, elliptic@npm:^6.5.4":
version: 6.5.4
resolution: "elliptic@npm:6.5.4"
@@ -11942,6 +11233,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "escape-string-regexp@npm:5.0.0"
+ checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e
+ languageName: node
+ linkType: hard
+
"eslint-config-next@npm:12.1.2":
version: 12.1.2
resolution: "eslint-config-next@npm:12.1.2"
@@ -13330,13 +12628,6 @@ __metadata:
languageName: node
linkType: hard
-"find-root@npm:^1.1.0":
- version: 1.1.0
- resolution: "find-root@npm:1.1.0"
- checksum: b2a59fe4b6c932eef36c45a048ae8f93c85640212ebe8363164814990ee20f154197505965f3f4f102efc33bfb1cbc26fd17c4a2fc739ebc51b886b137cbefaf
- languageName: node
- linkType: hard
-
"find-up@npm:5.0.0, find-up@npm:^5.0.0":
version: 5.0.0
resolution: "find-up@npm:5.0.0"
@@ -13465,15 +12756,6 @@ __metadata:
languageName: node
linkType: hard
-"focus-lock@npm:^0.9.1":
- version: 0.9.2
- resolution: "focus-lock@npm:0.9.2"
- dependencies:
- tslib: ^2.0.3
- checksum: 7bb35e62c6308b3dd2f4559c9ffb126e2ef89db7b27602fa286c6f7e085f396bc9b34fb8ff0f1c2b409f479331e6a5344f6268f60ea71c300ca7dfd9c8827178
- languageName: node
- linkType: hard
-
"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.12.1, follow-redirects@npm:^1.14.0":
version: 1.15.1
resolution: "follow-redirects@npm:1.15.1"
@@ -13561,6 +12843,13 @@ __metadata:
languageName: node
linkType: hard
+"fraction.js@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "fraction.js@npm:4.2.0"
+ checksum: 8c76a6e21dedea87109d6171a0ac77afa14205794a565d71cb10d2925f629a3922da61bf45ea52dbc30bce4d8636dc0a27213a88cbd600eab047d82f9a3a94c5
+ languageName: node
+ linkType: hard
+
"fragment-cache@npm:^0.2.1":
version: 0.2.1
resolution: "fragment-cache@npm:0.2.1"
@@ -13570,45 +12859,6 @@ __metadata:
languageName: node
linkType: hard
-"framer-motion@npm:^6.5.1":
- version: 6.5.1
- resolution: "framer-motion@npm:6.5.1"
- dependencies:
- "@emotion/is-prop-valid": ^0.8.2
- "@motionone/dom": 10.12.0
- framesync: 6.0.1
- hey-listen: ^1.0.8
- popmotion: 11.0.3
- style-value-types: 5.0.0
- tslib: ^2.1.0
- peerDependencies:
- react: ">=16.8 || ^17.0.0 || ^18.0.0"
- react-dom: ">=16.8 || ^17.0.0 || ^18.0.0"
- dependenciesMeta:
- "@emotion/is-prop-valid":
- optional: true
- checksum: 737959063137b4ccafe01e0ac0c9e5a9531bf3f729f62c34ca7a5d7955e6664f70affd22b044f7db51df41acb21d120a4f71a860e17a80c4db766ad66f2153a1
- languageName: node
- linkType: hard
-
-"framesync@npm:5.3.0":
- version: 5.3.0
- resolution: "framesync@npm:5.3.0"
- dependencies:
- tslib: ^2.1.0
- checksum: 9ebbb2863e6a1cfd2e9dd1b73af427d23caa03c92dd49ea767ebdd208c3a573bba4a1026f67068d856a21704f79adcdf2f750cc852ff73bc1f0e80edaaecded8
- languageName: node
- linkType: hard
-
-"framesync@npm:6.0.1":
- version: 6.0.1
- resolution: "framesync@npm:6.0.1"
- dependencies:
- tslib: ^2.1.0
- checksum: a23ebe8f7e20a32c0b99c2f8175b6f07af3ec6316aad52a2316316a6d011d717af8d2175dcc2827031c59fabb30232ed3e19a720a373caba7f070e1eae436325
- languageName: node
- linkType: hard
-
"fresh@npm:0.5.2":
version: 0.5.2
resolution: "fresh@npm:0.5.2"
@@ -13891,13 +13141,6 @@ __metadata:
languageName: node
linkType: hard
-"get-nonce@npm:^1.0.0":
- version: 1.0.1
- resolution: "get-nonce@npm:1.0.1"
- checksum: e2614e43b4694c78277bb61b0f04583d45786881289285c73770b07ded246a98be7e1f78b940c80cbe6f2b07f55f0b724e6db6fd6f1bcbd1e8bdac16521074ed
- languageName: node
- linkType: hard
-
"get-own-enumerable-property-symbols@npm:^3.0.0":
version: 3.0.2
resolution: "get-own-enumerable-property-symbols@npm:3.0.2"
@@ -14625,13 +13868,6 @@ __metadata:
languageName: node
linkType: hard
-"hey-listen@npm:^1.0.8":
- version: 1.0.8
- resolution: "hey-listen@npm:1.0.8"
- checksum: 6bad60b367688f5348e25e7ca3276a74b59ac5a09b0455e6ff8ab7d4a9e38cd2116c708a7dcd8a954d27253ce1d8717ec891d175723ea739885b828cf44e4072
- languageName: node
- linkType: hard
-
"history@npm:^5.2.0":
version: 5.3.0
resolution: "history@npm:5.3.0"
@@ -14652,7 +13888,7 @@ __metadata:
languageName: node
linkType: hard
-"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2":
+"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.3.2":
version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2"
dependencies:
@@ -15200,7 +14436,7 @@ __metadata:
languageName: node
linkType: hard
-"invariant@npm:^2.2.2, invariant@npm:^2.2.4":
+"invariant@npm:^2.2.2":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
dependencies:
@@ -17025,6 +16261,15 @@ __metadata:
languageName: node
linkType: hard
+"json5@npm:^2.2.2":
+ version: 2.2.3
+ resolution: "json5@npm:2.2.3"
+ bin:
+ json5: lib/cli.js
+ checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349
+ languageName: node
+ linkType: hard
+
"jsonfile@npm:^2.1.0":
version: 2.4.0
resolution: "jsonfile@npm:2.4.0"
@@ -17604,13 +16849,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.mergewith@npm:4.6.2":
- version: 4.6.2
- resolution: "lodash.mergewith@npm:4.6.2"
- checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8
- languageName: node
- linkType: hard
-
"lodash.omit@npm:^4.5.0":
version: 4.5.0
resolution: "lodash.omit@npm:4.5.0"
@@ -17679,6 +16917,13 @@ __metadata:
languageName: node
linkType: hard
+"longest-streak@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "longest-streak@npm:3.1.0"
+ checksum: d7f952ed004cbdb5c8bcfc4f7f5c3d65449e6c5a9e9be4505a656e3df5a57ee125f284286b4bf8ecea0c21a7b3bf2b8f9001ad506c319b9815ad6a63a47d0fd0
+ languageName: node
+ linkType: hard
+
"looper@npm:^2.0.0":
version: 2.0.0
resolution: "looper@npm:2.0.0"
@@ -17818,12 +17063,12 @@ __metadata:
languageName: node
linkType: hard
-"magic-string@npm:^0.26.2":
- version: 0.26.2
- resolution: "magic-string@npm:0.26.2"
+"magic-string@npm:^0.27.0":
+ version: 0.27.0
+ resolution: "magic-string@npm:0.27.0"
dependencies:
- sourcemap-codec: ^1.4.8
- checksum: b4db4e2b370ac8d9ffc6443a2b591b75364bf1fc9121b5a4068d5b89804abff6709d1fa4a0e0c2d54f2e61e0e44db83efdfe219a5ab0ba6d25ee1f2b51fbed55
+ "@jridgewell/sourcemap-codec": ^1.4.13
+ checksum: 273faaa50baadb7a2df6e442eac34ad611304fc08fe16e24fe2e472fd944bfcb73ffb50d2dc972dc04e92784222002af46868cb9698b1be181c81830fd95a13e
languageName: node
linkType: hard
@@ -17930,6 +17175,13 @@ __metadata:
languageName: node
linkType: hard
+"markdown-table@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "markdown-table@npm:3.0.3"
+ checksum: 8fcd3d9018311120fbb97115987f8b1665a603f3134c93fbecc5d1463380c8036f789e2a62c19432058829e594fff8db9ff81c88f83690b2f8ed6c074f8d9e10
+ languageName: node
+ linkType: hard
+
"match-all@npm:^1.2.6":
version: 1.2.6
resolution: "match-all@npm:1.2.6"
@@ -17966,6 +17218,18 @@ __metadata:
languageName: node
linkType: hard
+"mdast-util-find-and-replace@npm:^2.0.0":
+ version: 2.2.2
+ resolution: "mdast-util-find-and-replace@npm:2.2.2"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ escape-string-regexp: ^5.0.0
+ unist-util-is: ^5.0.0
+ unist-util-visit-parents: ^5.0.0
+ checksum: b4ce463c43fe6e1c38a53a89703f755c84ab5437f49bff9a0ac751279733332ca11c85ed0262aa6c17481f77b555d26ca6d64e70d6814f5b8d12d34a3e53a60b
+ languageName: node
+ linkType: hard
+
"mdast-util-from-markdown@npm:^1.0.0":
version: 1.2.0
resolution: "mdast-util-from-markdown@npm:1.2.0"
@@ -17986,6 +17250,86 @@ __metadata:
languageName: node
linkType: hard
+"mdast-util-gfm-autolink-literal@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ ccount: ^2.0.0
+ mdast-util-find-and-replace: ^2.0.0
+ micromark-util-character: ^1.0.0
+ checksum: 1748a8727cfc533bac0c287d6e72d571d165bfa77ae0418be4828177a3ec73c02c3f2ee534d87eb75cbaffa00c0866853bbcc60ae2255babb8210f7636ec2ce2
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-footnote@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "mdast-util-gfm-footnote@npm:1.0.2"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ mdast-util-to-markdown: ^1.3.0
+ micromark-util-normalize-identifier: ^1.0.0
+ checksum: 2d77505f9377ed7e14472ef5e6b8366c3fec2cf5f936bb36f9fbe5b97ccb7cce0464d9313c236fa86fb844206fd585db05707e4fcfb755e4fc1864194845f1f6
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-strikethrough@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "mdast-util-gfm-strikethrough@npm:1.0.3"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ mdast-util-to-markdown: ^1.3.0
+ checksum: 17003340ff1bba643ec4a59fd4370fc6a32885cab2d9750a508afa7225ea71449fb05acaef60faa89c6378b8bcfbd86a9d94b05f3c6651ff27a60e3ddefc2549
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-table@npm:^1.0.0":
+ version: 1.0.7
+ resolution: "mdast-util-gfm-table@npm:1.0.7"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ markdown-table: ^3.0.0
+ mdast-util-from-markdown: ^1.0.0
+ mdast-util-to-markdown: ^1.3.0
+ checksum: 8b8c401bb4162e53f072a2dff8efbca880fd78d55af30601c791315ab6722cb2918176e8585792469a0c530cebb9df9b4e7fede75fdc4d83df2839e238836692
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm-task-list-item@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "mdast-util-gfm-task-list-item@npm:1.0.2"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ mdast-util-to-markdown: ^1.3.0
+ checksum: c9b86037d6953b84f11fb2fc3aa23d5b8e14ca0dfcb0eb2fb289200e172bb9d5647bfceb4f86606dc6d935e8d58f6a458c04d3e55e87ff8513c7d4ade976200b
+ languageName: node
+ linkType: hard
+
+"mdast-util-gfm@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "mdast-util-gfm@npm:2.0.1"
+ dependencies:
+ mdast-util-from-markdown: ^1.0.0
+ mdast-util-gfm-autolink-literal: ^1.0.0
+ mdast-util-gfm-footnote: ^1.0.0
+ mdast-util-gfm-strikethrough: ^1.0.0
+ mdast-util-gfm-table: ^1.0.0
+ mdast-util-gfm-task-list-item: ^1.0.0
+ mdast-util-to-markdown: ^1.0.0
+ checksum: 8b39e6694521094ae28d12cbeff074ef3ec3f7f7ec59fbddd4e8a45a275e092c6ba6ecee4c720938eb3ee072ebd41d743b08cc0ab9171612a5aeddc1e78ae882
+ languageName: node
+ linkType: hard
+
+"mdast-util-phrasing@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "mdast-util-phrasing@npm:3.0.1"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ unist-util-is: ^5.0.0
+ checksum: c5b616d9b1eb76a6b351d195d94318494722525a12a89d9c8a3b091af7db3dd1fc55d294f9d29266d8159a8267b0df4a7a133bda8a3909d5331c383e1e1ff328
+ languageName: node
+ linkType: hard
+
"mdast-util-to-hast@npm:^12.1.0":
version: 12.2.0
resolution: "mdast-util-to-hast@npm:12.2.0"
@@ -18005,6 +17349,31 @@ __metadata:
languageName: node
linkType: hard
+"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0":
+ version: 1.5.0
+ resolution: "mdast-util-to-markdown@npm:1.5.0"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ "@types/unist": ^2.0.0
+ longest-streak: ^3.0.0
+ mdast-util-phrasing: ^3.0.0
+ mdast-util-to-string: ^3.0.0
+ micromark-util-decode-string: ^1.0.0
+ unist-util-visit: ^4.0.0
+ zwitch: ^2.0.0
+ checksum: 64338eb33e49bb0aea417591fd986f72fdd39205052563bb7ce9eb9ecc160824509bfacd740086a05af355c6d5c36353aafe95cab9e6927d674478757cee6259
+ languageName: node
+ linkType: hard
+
+"mdast-util-to-string@npm:^3.0.0":
+ version: 3.1.1
+ resolution: "mdast-util-to-string@npm:3.1.1"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ checksum: 5e9375e1757ebf2950e122ef3538e4257ed2b6f43ab1d3e9c45db5dd5d5b5d14fd041490afcde00934f1cdb4b99877597ae04eb810d313ec7b38c6009058dddd
+ languageName: node
+ linkType: hard
+
"mdast-util-to-string@npm:^3.1.0":
version: 3.1.0
resolution: "mdast-util-to-string@npm:3.1.0"
@@ -18262,7 +17631,7 @@ __metadata:
languageName: node
linkType: hard
-"micromark-core-commonmark@npm:^1.0.1":
+"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1":
version: 1.0.6
resolution: "micromark-core-commonmark@npm:1.0.6"
dependencies:
@@ -18286,6 +17655,100 @@ __metadata:
languageName: node
linkType: hard
+"micromark-extension-gfm-autolink-literal@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.3"
+ dependencies:
+ micromark-util-character: ^1.0.0
+ micromark-util-sanitize-uri: ^1.0.0
+ micromark-util-symbol: ^1.0.0
+ micromark-util-types: ^1.0.0
+ uvu: ^0.5.0
+ checksum: bb181972ac346ca73ca1ab0b80b80c9d6509ed149799d2217d5442670f499c38a94edff73d32fa52b390d89640974cfbd7f29e4ad7d599581d5e1cabcae636a2
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-footnote@npm:^1.0.0":
+ version: 1.0.4
+ resolution: "micromark-extension-gfm-footnote@npm:1.0.4"
+ dependencies:
+ micromark-core-commonmark: ^1.0.0
+ micromark-factory-space: ^1.0.0
+ micromark-util-character: ^1.0.0
+ micromark-util-normalize-identifier: ^1.0.0
+ micromark-util-sanitize-uri: ^1.0.0
+ micromark-util-symbol: ^1.0.0
+ micromark-util-types: ^1.0.0
+ uvu: ^0.5.0
+ checksum: 8daa203f5cf753338d5ecdbaae6b3ab6319d34b6013b90ea6860bed299418cecf86e69e48dabe42562e334760c738c77c5acdb47e75ae26f5f01f02f3bf0952d
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-strikethrough@npm:^1.0.0":
+ version: 1.0.4
+ resolution: "micromark-extension-gfm-strikethrough@npm:1.0.4"
+ dependencies:
+ micromark-util-chunked: ^1.0.0
+ micromark-util-classify-character: ^1.0.0
+ micromark-util-resolve-all: ^1.0.0
+ micromark-util-symbol: ^1.0.0
+ micromark-util-types: ^1.0.0
+ uvu: ^0.5.0
+ checksum: f43d316b85fe93df1711cdcdc99a5320b941239349234bd262fc708cb67ad47bdfb41d1a7ebe2a5829816b0e9d3107380a5c1e558cb536a75354cbe4857823ba
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-table@npm:^1.0.0":
+ version: 1.0.5
+ resolution: "micromark-extension-gfm-table@npm:1.0.5"
+ dependencies:
+ micromark-factory-space: ^1.0.0
+ micromark-util-character: ^1.0.0
+ micromark-util-symbol: ^1.0.0
+ micromark-util-types: ^1.0.0
+ uvu: ^0.5.0
+ checksum: f0aab3b4333cc24b1534b08dc4cce986dd606df8b7ed913e5a1de9fe2d3ae67b2435663c0bc271b528874af4928e580e1ad540ea9117d7f2d74edb28859c97ef
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-tagfilter@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "micromark-extension-gfm-tagfilter@npm:1.0.1"
+ dependencies:
+ micromark-util-types: ^1.0.0
+ checksum: 63e8d68f25871722900a67a8001d5da21f19ea707f3566fc7d0b2eb1f6d52476848bb6a41576cf22470565124af9497c5aae842355faa4c14ec19cb1847e71ec
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm-task-list-item@npm:^1.0.0":
+ version: 1.0.3
+ resolution: "micromark-extension-gfm-task-list-item@npm:1.0.3"
+ dependencies:
+ micromark-factory-space: ^1.0.0
+ micromark-util-character: ^1.0.0
+ micromark-util-symbol: ^1.0.0
+ micromark-util-types: ^1.0.0
+ uvu: ^0.5.0
+ checksum: d320b0c5301f87e211c06a2330d1ee0fee6da14f0d6d44d5211055b465dadff34390cd6b258a5e0ca376fcda3364fef9a12fe6e26a0c858231fa3b98ddbf7785
+ languageName: node
+ linkType: hard
+
+"micromark-extension-gfm@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "micromark-extension-gfm@npm:2.0.1"
+ dependencies:
+ micromark-extension-gfm-autolink-literal: ^1.0.0
+ micromark-extension-gfm-footnote: ^1.0.0
+ micromark-extension-gfm-strikethrough: ^1.0.0
+ micromark-extension-gfm-table: ^1.0.0
+ micromark-extension-gfm-tagfilter: ^1.0.0
+ micromark-extension-gfm-task-list-item: ^1.0.0
+ micromark-util-combine-extensions: ^1.0.0
+ micromark-util-types: ^1.0.0
+ checksum: b181479c87be38d5ae8d28e6dc52fab73c894fd2706876746f27a91fb186644ce03532a9c35dca2186327a0e2285cd5242ad0361dc89adedd4a50376ffd94e22
+ languageName: node
+ linkType: hard
+
"micromark-factory-destination@npm:^1.0.0":
version: 1.0.0
resolution: "micromark-factory-destination@npm:1.0.0"
@@ -19398,6 +18861,13 @@ __metadata:
languageName: node
linkType: hard
+"node-releases@npm:^2.0.8":
+ version: 2.0.9
+ resolution: "node-releases@npm:2.0.9"
+ checksum: 3ae6b1b300dc72c1a628861093d339a01aa017d3ad9017b0478384be29d6f9c93b9e26c91fce79728cecaadc04d0f16834b7ae1a018730e3e54962ec8c6aa86f
+ languageName: node
+ linkType: hard
+
"nofilter@npm:^1.0.4":
version: 1.0.4
resolution: "nofilter@npm:1.0.4"
@@ -19454,6 +18924,13 @@ __metadata:
languageName: node
linkType: hard
+"normalize-range@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "normalize-range@npm:0.1.2"
+ checksum: 9b2f14f093593f367a7a0834267c24f3cb3e887a2d9809c77d8a7e5fd08738bcd15af46f0ab01cc3a3d660386f015816b5c922cea8bf2ee79777f40874063184
+ languageName: node
+ linkType: hard
+
"normalize-url@npm:^4.1.0":
version: 4.5.1
resolution: "normalize-url@npm:4.5.1"
@@ -20430,89 +19907,289 @@ __metadata:
languageName: node
linkType: hard
-"pify@npm:^2.0.0, pify@npm:^2.3.0":
- version: 2.3.0
- resolution: "pify@npm:2.3.0"
- checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba
+"pify@npm:^2.0.0, pify@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "pify@npm:2.3.0"
+ checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba
+ languageName: node
+ linkType: hard
+
+"pify@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "pify@npm:3.0.0"
+ checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde
+ languageName: node
+ linkType: hard
+
+"pify@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "pify@npm:4.0.1"
+ checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b
+ languageName: node
+ linkType: hard
+
+"pify@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "pify@npm:5.0.0"
+ checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb
+ languageName: node
+ linkType: hard
+
+"pinkie-promise@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "pinkie-promise@npm:2.0.1"
+ dependencies:
+ pinkie: ^2.0.0
+ checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca
+ languageName: node
+ linkType: hard
+
+"pinkie@npm:^2.0.0":
+ version: 2.0.4
+ resolution: "pinkie@npm:2.0.4"
+ checksum: b12b10afea1177595aab036fc220785488f67b4b0fc49e7a27979472592e971614fa1c728e63ad3e7eb748b4ec3c3dbd780819331dad6f7d635c77c10537b9db
+ languageName: node
+ linkType: hard
+
+"pirates@npm:^4.0.4":
+ version: 4.0.5
+ resolution: "pirates@npm:4.0.5"
+ checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227
+ languageName: node
+ linkType: hard
+
+"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "pkg-dir@npm:4.2.0"
+ dependencies:
+ find-up: ^4.0.0
+ checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6
+ languageName: node
+ linkType: hard
+
+"pngjs@npm:^3.3.0":
+ version: 3.4.0
+ resolution: "pngjs@npm:3.4.0"
+ checksum: 8bd40bd698abd16b72c97b85cb858c80894fbedc76277ce72a784aa441e14795d45d9856e97333ca469b34b67528860ffc8a7317ca6beea349b645366df00bcd
+ languageName: node
+ linkType: hard
+
+"posix-character-classes@npm:^0.1.0":
+ version: 0.1.1
+ resolution: "posix-character-classes@npm:0.1.1"
+ checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442
+ languageName: node
+ linkType: hard
+
+"postcss-attribute-case-insensitive@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "postcss-attribute-case-insensitive@npm:6.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 1feb61c03149ff39db8c7d3cc563c695ac1d1b556ffab55dfbbd67835984f3a1caaf651155fef3676cf874d53a7d1ba5b60a265e7d03c11fe5c01bd9f7b0b70a
+ languageName: node
+ linkType: hard
+
+"postcss-clamp@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "postcss-clamp@npm:4.1.0"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4.6
+ checksum: 118eec936b3b035dc8d75c89973408f15c5a3de3d1ee210a2b3511e3e431d9c56e6f354b509a90540241e2225ffe3caaa2fdf25919c63348ce4583a28ada642c
+ languageName: node
+ linkType: hard
+
+"postcss-color-functional-notation@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "postcss-color-functional-notation@npm:5.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 1525779b2dae2185b018d76c3cadfba21ae0278563e30b97d63954d373c4b60e3e5b26d2ecdc7aacd9b345f6c1e702fb33d2a6ebcf7c4a845a40bf8cc3f27d82
+ languageName: node
+ linkType: hard
+
+"postcss-color-hex-alpha@npm:^9.0.0":
+ version: 9.0.1
+ resolution: "postcss-color-hex-alpha@npm:9.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 3f3513483374e614522b4c318290930aaadd19cf0531919de30eb3392fc0cf43d16014856017120679514e848f833a80b93b10fec6fcf09527ea44aa4bcfdb5e
+ languageName: node
+ linkType: hard
+
+"postcss-color-rebeccapurple@npm:^8.0.0":
+ version: 8.0.1
+ resolution: "postcss-color-rebeccapurple@npm:8.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: ea141bf9ca8676fbaa72b6a132d952d37da0d86384d06cbaf024c3deaa13a69d0f923f0773a790250f92973094b0a87d321d45c76e8912add9420a3cde14e7ab
+ languageName: node
+ linkType: hard
+
+"postcss-custom-media@npm:^9.1.0":
+ version: 9.1.1
+ resolution: "postcss-custom-media@npm:9.1.1"
+ dependencies:
+ "@csstools/cascade-layer-name-parser": ^1.0.0
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ "@csstools/media-query-list-parser": ^2.0.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 3694c534230c5a0aa7f43b578ff19faa0a457b810875bb8d7c3561c969b92961aa83fed2be6468e8315a817087177a5f1068c797835fcc099a2695bf56c0b0f1
+ languageName: node
+ linkType: hard
+
+"postcss-custom-properties@npm:^13.1.0":
+ version: 13.1.1
+ resolution: "postcss-custom-properties@npm:13.1.1"
+ dependencies:
+ "@csstools/cascade-layer-name-parser": ^1.0.0
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 21af14e82addfacdb1f02d7b3e7d77af1470b3dee8f47be5d3a2e5586f8206213a56e6e562254614a083ee3536d620311d56ff8682429b4bf2fecaa1b6471af8
+ languageName: node
+ linkType: hard
+
+"postcss-custom-selectors@npm:^7.1.0":
+ version: 7.1.1
+ resolution: "postcss-custom-selectors@npm:7.1.1"
+ dependencies:
+ "@csstools/cascade-layer-name-parser": ^1.0.0
+ "@csstools/css-parser-algorithms": ^2.0.0
+ "@csstools/css-tokenizer": ^2.0.0
+ postcss-selector-parser: ^6.0.4
+ peerDependencies:
+ postcss: ^8.4
+ checksum: df79db6237a66958e76fc259dfe19b86a9f8aa7dc32b17b7c3fe6cf8c6059beada0101026864a80c51d4936250f58aa6ed28fc14a2929d765a72b1bdf71f5c03
languageName: node
linkType: hard
-"pify@npm:^3.0.0":
- version: 3.0.0
- resolution: "pify@npm:3.0.0"
- checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde
+"postcss-dir-pseudo-class@npm:^7.0.0":
+ version: 7.0.1
+ resolution: "postcss-dir-pseudo-class@npm:7.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 4d1c204e1303e703838ffa999a4af1a4b54f2d0ba551975a81455d8f4b2a8ecca718b9eec0d6c425b5f3938b2f7a8450487a251582d0d1984868a2f81146fd8f
languageName: node
linkType: hard
-"pify@npm:^4.0.1":
+"postcss-double-position-gradients@npm:^4.0.0":
version: 4.0.1
- resolution: "pify@npm:4.0.1"
- checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b
+ resolution: "postcss-double-position-gradients@npm:4.0.1"
+ dependencies:
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 8f17f350821c34a554945ec158a2415631709ea26340d5191a8a28ea602e84888b8edd3c8763b19a9bb9b0b3dcaf53bd3424650214a40d1222a1ee05d51a00b8
languageName: node
linkType: hard
-"pify@npm:^5.0.0":
- version: 5.0.0
- resolution: "pify@npm:5.0.0"
- checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb
+"postcss-focus-visible@npm:^8.0.0":
+ version: 8.0.1
+ resolution: "postcss-focus-visible@npm:8.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 6d6734ba0a6f29e7abea016bb136d9e34718d77196551b47acf62ea425920aff1acea3ac4013ae5f038f4506caaea3cd40b1addc4544f7016a923341ca6840b6
languageName: node
linkType: hard
-"pinkie-promise@npm:^2.0.0":
- version: 2.0.1
- resolution: "pinkie-promise@npm:2.0.1"
+"postcss-focus-within@npm:^7.0.0":
+ version: 7.0.1
+ resolution: "postcss-focus-within@npm:7.0.1"
dependencies:
- pinkie: ^2.0.0
- checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: c110a454277cbe0c8f74f2bc2621d1546db7974256b93f34f418c6e76483f8d5e89988db1dfc637483499a7bf5c3a257f77fe16f7baf7108bb1a823f5d8ef26c
languageName: node
linkType: hard
-"pinkie@npm:^2.0.0":
- version: 2.0.4
- resolution: "pinkie@npm:2.0.4"
- checksum: b12b10afea1177595aab036fc220785488f67b4b0fc49e7a27979472592e971614fa1c728e63ad3e7eb748b4ec3c3dbd780819331dad6f7d635c77c10537b9db
+"postcss-font-variant@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "postcss-font-variant@npm:5.0.0"
+ peerDependencies:
+ postcss: ^8.1.0
+ checksum: a19286589261c2bc3e20470486e1ee3b4daf34271c5020167f30856c9b30c26f23264307cb97a184d503814e1b8c5d8a1f9f64a14fd4fd9551c173dca9424695
languageName: node
linkType: hard
-"pirates@npm:^4.0.4":
- version: 4.0.5
- resolution: "pirates@npm:4.0.5"
- checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227
+"postcss-gap-properties@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "postcss-gap-properties@npm:4.0.1"
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 21a5d5525d8c7c93a1ddb53755919aef1030187d45a118a7281c20a281305233672364d510bbf6cfbe28d564cb2e4435e2caa8f5075f702ee371de1d35df4720
languageName: node
linkType: hard
-"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
- version: 4.2.0
- resolution: "pkg-dir@npm:4.2.0"
+"postcss-image-set-function@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "postcss-image-set-function@npm:5.0.1"
dependencies:
- find-up: ^4.0.0
- checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: bd55be8ee1806390ca561c12a18eb12563866615d2379e0e27838af51938b9dfcb4f02337528b01a0106bae217c317f06c2ba7202212268df33694a75d83cabd
languageName: node
linkType: hard
-"pngjs@npm:^3.3.0":
- version: 3.4.0
- resolution: "pngjs@npm:3.4.0"
- checksum: 8bd40bd698abd16b72c97b85cb858c80894fbedc76277ce72a784aa441e14795d45d9856e97333ca469b34b67528860ffc8a7317ca6beea349b645366df00bcd
+"postcss-initial@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "postcss-initial@npm:4.0.1"
+ peerDependencies:
+ postcss: ^8.0.0
+ checksum: 6956953853865de79c39d11533a2860e9f38b770bb284d0010d98a00b9469e22de344e4e5fd8208614d797030487e8918dd2f2c37d9e24d4dd59d565d4fc3e12
languageName: node
linkType: hard
-"popmotion@npm:11.0.3":
- version: 11.0.3
- resolution: "popmotion@npm:11.0.3"
+"postcss-lab-function@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "postcss-lab-function@npm:5.0.1"
dependencies:
- framesync: 6.0.1
- hey-listen: ^1.0.8
- style-value-types: 5.0.0
- tslib: ^2.1.0
- checksum: 9fe7d03b4ec0e85bfb9dadc23b745147bfe42e16f466ba06e6327197d0e38b72015afc2f918a8051dedc3680310417f346ffdc463be6518e2e92e98f48e30268
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: bdca34254bb955959afcc539f099f050a8ed15eed456a67de14662a510837d91d4752e007fa7177a168e55b473aab07facdb547565e7b80ee832280aef2b7ea6
languageName: node
linkType: hard
-"posix-character-classes@npm:^0.1.0":
- version: 0.1.1
- resolution: "posix-character-classes@npm:0.1.1"
- checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442
+"postcss-logical@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "postcss-logical@npm:6.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: cb1812fb5525f761eb9053dd36de60af6c61412cb1c3c38e6ae6176849e8bacb839f2f2e809a904bef3425a618fd5a03e5a10a985848322b26376baf9add6297
+ languageName: node
+ linkType: hard
+
+"postcss-media-minmax@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "postcss-media-minmax@npm:5.0.0"
+ peerDependencies:
+ postcss: ^8.1.0
+ checksum: 2cd7283e07a1ac1acdcc3ecbaa0e9932f8d1e7647e7aeb14d91845fcb890d60d7257ec70c825cae8d48ae80a08cc77ebc4021a0dfa32360e0cd991e2bc021607
languageName: node
linkType: hard
@@ -20560,6 +20237,162 @@ __metadata:
languageName: node
linkType: hard
+"postcss-nesting@npm:^11.0.0":
+ version: 11.1.0
+ resolution: "postcss-nesting@npm:11.1.0"
+ dependencies:
+ "@csstools/selector-specificity": ^2.0.0
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 639392ca6909133c72e1a8450f6c1004d2bbdfe58404c2a021ef8fffe696cafd359cf8b55c92ddb75d0656d6f98885bd1807b5e701c1cba938a8a58167b55462
+ languageName: node
+ linkType: hard
+
+"postcss-opacity-percentage@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "postcss-opacity-percentage@npm:1.1.3"
+ peerDependencies:
+ postcss: ^8.2
+ checksum: 54d1b8ca68035bc1a5788aaabdbc3b66ffee34b5a2412cecf073627dad7e3f2bae07c01fac3bc7f46bbac5da3291ac9ddcf74bfee26dfd86f9f96c847a0afc13
+ languageName: node
+ linkType: hard
+
+"postcss-overflow-shorthand@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "postcss-overflow-shorthand@npm:4.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: f0efcea4fb6583e5746c221d75113e8074a1212e385e04892e66715555ed1c784f23ae1ed52374b799461f91b63fdde40318dfc4a69eef002e4778d38445818d
+ languageName: node
+ linkType: hard
+
+"postcss-page-break@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "postcss-page-break@npm:3.0.4"
+ peerDependencies:
+ postcss: ^8
+ checksum: a7d08c945fc691f62c77ac701e64722218b14ec5c8fc1972b8af9c21553492d40808cf95e61b9697b1dacaf7e6180636876d7fee314f079e6c9e39ac1b1edc6f
+ languageName: node
+ linkType: hard
+
+"postcss-place@npm:^8.0.0":
+ version: 8.0.1
+ resolution: "postcss-place@npm:8.0.1"
+ dependencies:
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: c812c858aa3337efe55f86c4a3675db499870b9be637dc5338161b89ed95ef3e9d11bd9b37873b8fbb5e5e05d84aecc51e8e357c57e3ef78191219e8b6413ea7
+ languageName: node
+ linkType: hard
+
+"postcss-preset-env@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "postcss-preset-env@npm:8.0.1"
+ dependencies:
+ "@csstools/postcss-cascade-layers": ^3.0.0
+ "@csstools/postcss-color-function": ^2.0.0
+ "@csstools/postcss-font-format-keywords": ^2.0.0
+ "@csstools/postcss-hwb-function": ^2.0.0
+ "@csstools/postcss-ic-unit": ^2.0.0
+ "@csstools/postcss-is-pseudo-class": ^3.0.0
+ "@csstools/postcss-logical-float-and-clear": ^1.0.0
+ "@csstools/postcss-logical-resize": ^1.0.0
+ "@csstools/postcss-logical-viewport-units": ^1.0.0
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": ^1.0.0
+ "@csstools/postcss-nested-calc": ^2.0.0
+ "@csstools/postcss-normalize-display-values": ^2.0.0
+ "@csstools/postcss-oklab-function": ^2.0.0
+ "@csstools/postcss-progressive-custom-properties": ^2.0.0
+ "@csstools/postcss-scope-pseudo-class": ^2.0.0
+ "@csstools/postcss-stepped-value-functions": ^2.0.0
+ "@csstools/postcss-text-decoration-shorthand": ^2.0.0
+ "@csstools/postcss-trigonometric-functions": ^2.0.0
+ "@csstools/postcss-unset-value": ^2.0.0
+ autoprefixer: ^10.4.13
+ browserslist: ^4.21.4
+ css-blank-pseudo: ^5.0.0
+ css-has-pseudo: ^5.0.0
+ css-prefers-color-scheme: ^8.0.0
+ cssdb: ^7.4.0
+ postcss-attribute-case-insensitive: ^6.0.0
+ postcss-clamp: ^4.1.0
+ postcss-color-functional-notation: ^5.0.0
+ postcss-color-hex-alpha: ^9.0.0
+ postcss-color-rebeccapurple: ^8.0.0
+ postcss-custom-media: ^9.1.0
+ postcss-custom-properties: ^13.1.0
+ postcss-custom-selectors: ^7.1.0
+ postcss-dir-pseudo-class: ^7.0.0
+ postcss-double-position-gradients: ^4.0.0
+ postcss-focus-visible: ^8.0.0
+ postcss-focus-within: ^7.0.0
+ postcss-font-variant: ^5.0.0
+ postcss-gap-properties: ^4.0.0
+ postcss-image-set-function: ^5.0.0
+ postcss-initial: ^4.0.1
+ postcss-lab-function: ^5.0.0
+ postcss-logical: ^6.0.0
+ postcss-media-minmax: ^5.0.0
+ postcss-nesting: ^11.0.0
+ postcss-opacity-percentage: ^1.1.3
+ postcss-overflow-shorthand: ^4.0.0
+ postcss-page-break: ^3.0.4
+ postcss-place: ^8.0.0
+ postcss-pseudo-class-any-link: ^8.0.0
+ postcss-replace-overflow-wrap: ^4.0.0
+ postcss-selector-not: ^7.0.0
+ postcss-value-parser: ^4.2.0
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 18326a03dd2bdbe2fa8c39f40ae4ac3a48d7de1deb2a1c51d84c5ed05d5ad8993bb5a50b039e452e26b793cf3cd67facd9cf744d5f3f1bf1a9d5208b2475ced9
+ languageName: node
+ linkType: hard
+
+"postcss-pseudo-class-any-link@npm:^8.0.0":
+ version: 8.0.1
+ resolution: "postcss-pseudo-class-any-link@npm:8.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: f84b0fe4c0542dd5a9c20be09f979618be1ccc8a93a8c921df2ab3a5653e39933fe592012c5feab0d7f131285be81345fb43765e53e2949256ec931b0e772bce
+ languageName: node
+ linkType: hard
+
+"postcss-replace-overflow-wrap@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "postcss-replace-overflow-wrap@npm:4.0.0"
+ peerDependencies:
+ postcss: ^8.0.3
+ checksum: 3ffe20b300a4c377a11c588b142740d8557e03c707474c45234c934190ac374750ddc92c7906c373471d273a20504a429c2062c21fdcaff830fb28e0a81ac1dc
+ languageName: node
+ linkType: hard
+
+"postcss-selector-not@npm:^7.0.0":
+ version: 7.0.1
+ resolution: "postcss-selector-not@npm:7.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.10
+ peerDependencies:
+ postcss: ^8.4
+ checksum: 4dec95f785a06356b6eb1aadb0b06b86cf80d21765b44acdbc4a028ab1183b2ac2fd992c41bc2d15b24bec2b71e016750baf73624621937eb3a1770c44c82096
+ languageName: node
+ linkType: hard
+
+"postcss-selector-parser@npm:^6.0.10":
+ version: 6.0.11
+ resolution: "postcss-selector-parser@npm:6.0.11"
+ dependencies:
+ cssesc: ^3.0.0
+ util-deprecate: ^1.0.2
+ checksum: 0b01aa9c2d2c8dbeb51e9b204796b678284be9823abc8d6d40a8b16d4149514e922c264a8ed4deb4d6dbced564b9be390f5942c058582d8656351516d6c49cde
+ languageName: node
+ linkType: hard
+
"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4":
version: 6.0.10
resolution: "postcss-selector-parser@npm:6.0.10"
@@ -20806,7 +20639,7 @@ __metadata:
languageName: node
linkType: hard
-"prop-types@npm:^15.0.0, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
+"prop-types@npm:^15.0.0, prop-types@npm:^15.5.0, prop-types@npm:^15.6.0, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -21152,17 +20985,6 @@ __metadata:
languageName: node
linkType: hard
-"react-clientside-effect@npm:^1.2.5":
- version: 1.2.6
- resolution: "react-clientside-effect@npm:1.2.6"
- dependencies:
- "@babel/runtime": ^7.12.13
- peerDependencies:
- react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
- checksum: 7db6110027a51458b1a46109d2b63dd822825f483c71afef7c0c0a671f3b1aa155049dbd8651c9d536ffac83601f8823b7c3f8916b4f4ee5c3cb7647a85cce4e
- languageName: node
- linkType: hard
-
"react-composer@npm:^5.0.2":
version: 5.0.3
resolution: "react-composer@npm:5.0.3"
@@ -21186,29 +21008,13 @@ __metadata:
languageName: node
linkType: hard
-"react-fast-compare@npm:3.2.0, react-fast-compare@npm:^3.1.1":
+"react-fast-compare@npm:^3.1.1":
version: 3.2.0
resolution: "react-fast-compare@npm:3.2.0"
checksum: 8ef272c825ae329f61633ce4ce7f15aa5b84e5214d88bc0823880236e03e985a13195befa2c7a4eda7db3b017dc7985729152d88445823f652403cf36c2b86aa
languageName: node
linkType: hard
-"react-focus-lock@npm:2.5.2":
- version: 2.5.2
- resolution: "react-focus-lock@npm:2.5.2"
- dependencies:
- "@babel/runtime": ^7.0.0
- focus-lock: ^0.9.1
- prop-types: ^15.6.2
- react-clientside-effect: ^1.2.5
- use-callback-ref: ^1.2.5
- use-sidecar: ^1.0.5
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- checksum: 520b12a4496be21b3228bbf938657f6c33f868e486a0cd355d8bec918129d2c1bf7aabecb20aecdb446a1fbdb61b16f680b5d15b998f544f1b5c0dc5c8914c40
- languageName: node
- linkType: hard
-
"react-helmet@npm:^6.1.0":
version: 6.1.0
resolution: "react-helmet@npm:6.1.0"
@@ -21223,12 +21029,12 @@ __metadata:
languageName: node
linkType: hard
-"react-hook-form@npm:^7.34.0":
- version: 7.34.0
- resolution: "react-hook-form@npm:7.34.0"
+"react-hook-form@npm:^7.43.0":
+ version: 7.43.0
+ resolution: "react-hook-form@npm:7.43.0"
peerDependencies:
react: ^16.8.0 || ^17 || ^18
- checksum: 2b4a6f6ca5b3f729b88aa14a1a8c47ba86405d9c5fef2560b1dc85ac6fe1b105326571b8e1e857f8d8f3449636062d2d6201809918b5bb37f6f8f0b9c6cd6e2c
+ checksum: f86ef57b4e1d78fa5d76b41d0cbac6fdcaaf5f73f7707f1e8cf01d536c3c7d60493932dbf9af9b128af0608a8963daf5712daf79b01071212d7468897c1e792d
languageName: node
linkType: hard
@@ -21327,41 +21133,6 @@ __metadata:
languageName: node
linkType: hard
-"react-remove-scroll-bar@npm:^2.1.0":
- version: 2.3.3
- resolution: "react-remove-scroll-bar@npm:2.3.3"
- dependencies:
- react-style-singleton: ^2.2.1
- tslib: ^2.0.0
- peerDependencies:
- "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: fc8c70014a473b12d4205071ad79bd3cfc6ded173c6589fe6baca01090729757f1ee9966278f16930f3b58029c6923e06d2e3193dcb878ecdcb4eb293b7b9bf4
- languageName: node
- linkType: hard
-
-"react-remove-scroll@npm:2.4.1":
- version: 2.4.1
- resolution: "react-remove-scroll@npm:2.4.1"
- dependencies:
- react-remove-scroll-bar: ^2.1.0
- react-style-singleton: ^2.1.0
- tslib: ^1.0.0
- use-callback-ref: ^1.2.3
- use-sidecar: ^1.0.1
- peerDependencies:
- "@types/react": ^16.8.0 || ^17.0.0
- react: ^16.8.0 || ^17.0.0
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: 9413b9105088034dc7dc45567897961def26b73d9fd00eef0b3de7ed5e2defdb42e5ef52f218dab35fd2ac0335601d8bc445c46a20e60626bab770e4cf1f6a20
- languageName: node
- linkType: hard
-
"react-router-dom@npm:^6.3.0":
version: 6.3.0
resolution: "react-router-dom@npm:6.3.0"
@@ -21395,20 +21166,25 @@ __metadata:
languageName: node
linkType: hard
-"react-style-singleton@npm:^2.1.0, react-style-singleton@npm:^2.2.1":
- version: 2.2.1
- resolution: "react-style-singleton@npm:2.2.1"
+"react-spinners@npm:^0.13.8":
+ version: 0.13.8
+ resolution: "react-spinners@npm:0.13.8"
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
+ checksum: cb58f916bbf00c4f7fc33c1a75a8c0f91a98a42af26944340a0e29e4b3a97937a03f0292bc444eb5f5f0bea099344b580f9c04a81524246dadbf0571bdb57e62
+ languageName: node
+ linkType: hard
+
+"react-tabs@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "react-tabs@npm:6.0.0"
dependencies:
- get-nonce: ^1.0.0
- invariant: ^2.2.4
- tslib: ^2.0.0
+ clsx: ^1.1.0
+ prop-types: ^15.5.0
peerDependencies:
- "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: 7ee8ef3aab74c7ae1d70ff34a27643d11ba1a8d62d072c767827d9ff9a520905223e567002e0bf6c772929d8ea1c781a3ba0cc4a563e92b1e3dc2eaa817ecbe8
+ react: ^18.0.0
+ checksum: 711dfe862a37019d1d9794840999e5ecac3bca9ea0b0fbe3d36163142df5f200c60de7832e9158adf92034e942d5476753a3a4fa842b64652172d80ee829df1a
languageName: node
linkType: hard
@@ -21419,6 +21195,18 @@ __metadata:
languageName: node
linkType: hard
+"react-toastify@npm:^9.1.1":
+ version: 9.1.1
+ resolution: "react-toastify@npm:9.1.1"
+ dependencies:
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ">=16"
+ react-dom: ">=16"
+ checksum: 2039255539961a9b4d77b2656f120b20abe46cb0c699a7f3c0af23b4ef669d9c4d24dae6b8f4954b5efd83edf6d6e23614a29e94e9ee0d2647741fba9ba2db85
+ languageName: node
+ linkType: hard
+
"react-use-measure@npm:^2.1.1":
version: 2.1.1
resolution: "react-use-measure@npm:2.1.1"
@@ -21796,6 +21584,18 @@ __metadata:
languageName: node
linkType: hard
+"remark-gfm@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "remark-gfm@npm:3.0.1"
+ dependencies:
+ "@types/mdast": ^3.0.0
+ mdast-util-gfm: ^2.0.0
+ micromark-extension-gfm: ^2.0.0
+ unified: ^10.0.0
+ checksum: 02254f74d67b3419c2c9cf62d799ec35f6c6cd74db25c001361751991552a7ce86049a972107bff8122d85d15ae4a8d1a0618f3bc01a7df837af021ae9b2a04e
+ languageName: node
+ linkType: hard
+
"remark-parse@npm:^10.0.0":
version: 10.0.1
resolution: "remark-parse@npm:10.0.1"
@@ -23677,16 +23477,6 @@ __metadata:
languageName: node
linkType: hard
-"style-value-types@npm:5.0.0":
- version: 5.0.0
- resolution: "style-value-types@npm:5.0.0"
- dependencies:
- hey-listen: ^1.0.8
- tslib: ^2.1.0
- checksum: 16d198302cd102edf9dba94e7752a2364c93b1eaa5cc7c32b42b28eef4af4ccb5149a3f16bc2a256adc02616a2404f4612bd15f3081c1e8ca06132cae78be6c0
- languageName: node
- linkType: hard
-
"styled-components@npm:^5.3.3":
version: 5.3.5
resolution: "styled-components@npm:5.3.5"
@@ -23723,13 +23513,6 @@ __metadata:
languageName: node
linkType: hard
-"stylis@npm:4.0.13":
- version: 4.0.13
- resolution: "stylis@npm:4.0.13"
- checksum: 8ea7a87028b6383c6a982231c4b5b6150031ce028e0fdaf7b2ace82253d28a8af50cc5a9da8a421d3c7c4441592f393086e332795add672aa4a825f0fe3713a3
- languageName: node
- linkType: hard
-
"supports-color@npm:8.1.1, supports-color@npm:^8.0.0":
version: 8.1.1
resolution: "supports-color@npm:8.1.1"
@@ -24148,10 +23931,12 @@ __metadata:
languageName: node
linkType: hard
-"tiny-invariant@npm:^1.0.6":
- version: 1.2.0
- resolution: "tiny-invariant@npm:1.2.0"
- checksum: e09a718a7c4a499ba592cdac61f015d87427a0867ca07f50c11fd9b623f90cdba18937b515d4a5e4f43dac92370498d7bdaee0d0e7a377a61095e02c4a92eade
+"tippy.js@npm:^6.3.1":
+ version: 6.3.7
+ resolution: "tippy.js@npm:6.3.7"
+ dependencies:
+ "@popperjs/core": ^2.9.0
+ checksum: cac955318a65288e8d2dca05059878b003c6e66f92c94f7810f5bc5448eb6646abdf7dacc9bd00020e2611592598d0aae3a28ec9a45349a159603c3fdddce5fb
languageName: node
linkType: hard
@@ -24556,14 +24341,14 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^1.0.0, tslib@npm:^1.10.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
+"tslib@npm:^1.10.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd
languageName: node
linkType: hard
-"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1":
+"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0":
version: 2.4.0
resolution: "tslib@npm:2.4.0"
checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113
@@ -25110,6 +24895,20 @@ __metadata:
languageName: node
linkType: hard
+"update-browserslist-db@npm:^1.0.10":
+ version: 1.0.10
+ resolution: "update-browserslist-db@npm:1.0.10"
+ dependencies:
+ escalade: ^3.1.1
+ picocolors: ^1.0.0
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ browserslist-lint: cli.js
+ checksum: 12db73b4f63029ac407b153732e7cd69a1ea8206c9100b482b7d12859cd3cd0bc59c602d7ae31e652706189f1acb90d42c53ab24a5ba563ed13aebdddc5561a0
+ languageName: node
+ linkType: hard
+
"update-browserslist-db@npm:^1.0.5":
version: 1.0.5
resolution: "update-browserslist-db@npm:1.0.5"
@@ -25193,37 +24992,6 @@ __metadata:
languageName: node
linkType: hard
-"use-callback-ref@npm:^1.2.3, use-callback-ref@npm:^1.2.5":
- version: 1.3.0
- resolution: "use-callback-ref@npm:1.3.0"
- dependencies:
- tslib: ^2.0.0
- peerDependencies:
- "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: 7913df383a5a6fcb399212eedefaac2e0c6f843555202d4e3010bac3848afe38ecaa3d0d6500ad1d936fbeffd637e6c517e68edb024af5e6beca7f27f3ce7b21
- languageName: node
- linkType: hard
-
-"use-sidecar@npm:^1.0.1, use-sidecar@npm:^1.0.5":
- version: 1.1.2
- resolution: "use-sidecar@npm:1.1.2"
- dependencies:
- detect-node-es: ^1.1.0
- tslib: ^2.0.0
- peerDependencies:
- "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: 925d1922f9853e516eaad526b6fed1be38008073067274f0ecc3f56b17bb8ab63480140dd7c271f94150027c996cea4efe83d3e3525e8f3eda22055f6a39220b
- languageName: node
- linkType: hard
-
"use-subscription@npm:1.5.1":
version: 1.5.1
resolution: "use-subscription@npm:1.5.1"
@@ -25554,15 +25322,6 @@ __metadata:
languageName: node
linkType: hard
-"warning@npm:^4.0.3":
- version: 4.0.3
- resolution: "warning@npm:4.0.3"
- dependencies:
- loose-envify: ^1.0.0
- checksum: 4f2cb6a9575e4faf71ddad9ad1ae7a00d0a75d24521c193fa464f30e6b04027bd97aa5d9546b0e13d3a150ab402eda216d59c1d0f2d6ca60124d96cd40dfa35c
- languageName: node
- linkType: hard
-
"watchpack@npm:^2.4.0":
version: 2.4.0
resolution: "watchpack@npm:2.4.0"
@@ -26826,13 +26585,6 @@ __metadata:
languageName: node
linkType: hard
-"yaml@npm:^1.10.0":
- version: 1.10.2
- resolution: "yaml@npm:1.10.2"
- checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
- languageName: node
- linkType: hard
-
"yargs-parser@npm:20.2.4":
version: 20.2.4
resolution: "yargs-parser@npm:20.2.4"
@@ -27136,3 +26888,10 @@ __metadata:
checksum: 18f025b1b666a311121d3855303ff58e6a21fd107920ca474307e86984c13338d6c4cfa5cdf13382a9e0f76821f2554a12d4d200a98a66b58637e729f149797b
languageName: node
linkType: hard
+
+"zwitch@npm:^2.0.0":
+ version: 2.0.4
+ resolution: "zwitch@npm:2.0.4"
+ checksum: f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6
+ languageName: node
+ linkType: hard