From 44d67b5840f5388fb1081c5df72527b439ec81ee Mon Sep 17 00:00:00 2001 From: billgil Date: Mon, 12 Jun 2023 20:45:56 +0100 Subject: [PATCH] Feat next setup (#1113) * feat(Next): setup and config * fix: import scss without TS error * feat(Next): PrimaryButton, OutlineButton added, testing sass config * chore: changeset --- .changeset/strange-turtles-kick.md | 6 + .eslintrc.json | 85 +-- packages/{web3api => nextJs}/CHANGELOG.md | 2 +- packages/{web3api => nextJs}/package.json | 18 +- packages/{web3api => nextJs}/project.json | 8 +- packages/nextJs/src/css.module.scss.d.ts | 4 + packages/{web3api => nextJs}/src/index.ts | 0 packages/nextJs/src/lib/Button/ButtonBase.tsx | 47 ++ .../Button/ButtonOutline/Button.stories.tsx | 47 ++ .../Button/ButtonOutline/ButtonOutline.tsx | 11 + .../src/lib/Button/ButtonOutline/index.tsx | 2 + .../Button/ButtonOutline/styles.module.scss | 16 + .../Button/ButtonPrimary/Button.stories.tsx | 47 ++ .../Button/ButtonPrimary/ButtonPrimary.tsx | 11 + .../src/lib/Button/ButtonPrimary/index.tsx | 2 + .../Button/ButtonPrimary/styles.module.scss | 11 + packages/nextJs/src/lib/Button/index.tsx | 2 + .../nextJs/src/lib/Button/styles.module.scss | 67 +++ packages/nextJs/src/lib/Button/types.ts | 36 ++ packages/nextJs/src/lib/index.ts | 1 + packages/nextJs/src/styles/global.scss | 5 + .../src/styles/modules/_breakpoints.scss | 9 + .../nextJs/src/styles/modules/_color.scss | 36 ++ .../nextJs/src/styles/modules/_helpers.scss | 5 + .../nextJs/src/styles/modules/_reset.scss | 18 + packages/nextJs/src/styles/modules/_text.scss | 13 + packages/nextJs/tsconfig.json | 17 + packages/nextJs/vite.config.ts | 33 ++ packages/styles/src/lib/colors.ts | 4 +- packages/web3api/src/lib/NFT/NFT.fetched.tsx | 52 -- packages/web3api/src/lib/NFT/NFT.modal.tsx | 61 -- packages/web3api/src/lib/NFT/NFT.styles.ts | 43 -- packages/web3api/src/lib/NFT/NFT.tsx | 130 ----- packages/web3api/src/lib/NFT/NFT.utils.tsx | 55 -- packages/web3api/src/lib/NFT/index.tsx | 2 - packages/web3api/src/lib/NFT/types.ts | 54 -- .../src/lib/context/MoralisProvider.ts | 9 - .../web3api/src/lib/decorators/decorators.tsx | 34 -- packages/web3api/src/lib/hooks/useGetNft.ts | 47 -- packages/web3api/src/lib/index.ts | 1 - packages/web3api/tsconfig.json | 7 - packages/web3api/vite.config.ts | 4 - pnpm-lock.yaml | 548 ++++++++++++++---- tsconfig.json | 2 +- 44 files changed, 949 insertions(+), 663 deletions(-) create mode 100644 .changeset/strange-turtles-kick.md rename packages/{web3api => nextJs}/CHANGELOG.md (95%) rename packages/{web3api => nextJs}/package.json (59%) rename packages/{web3api => nextJs}/project.json (78%) create mode 100644 packages/nextJs/src/css.module.scss.d.ts rename packages/{web3api => nextJs}/src/index.ts (100%) create mode 100644 packages/nextJs/src/lib/Button/ButtonBase.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonOutline/Button.stories.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonOutline/ButtonOutline.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonOutline/index.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonOutline/styles.module.scss create mode 100644 packages/nextJs/src/lib/Button/ButtonPrimary/Button.stories.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonPrimary/ButtonPrimary.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonPrimary/index.tsx create mode 100644 packages/nextJs/src/lib/Button/ButtonPrimary/styles.module.scss create mode 100644 packages/nextJs/src/lib/Button/index.tsx create mode 100644 packages/nextJs/src/lib/Button/styles.module.scss create mode 100644 packages/nextJs/src/lib/Button/types.ts create mode 100644 packages/nextJs/src/lib/index.ts create mode 100644 packages/nextJs/src/styles/global.scss create mode 100644 packages/nextJs/src/styles/modules/_breakpoints.scss create mode 100644 packages/nextJs/src/styles/modules/_color.scss create mode 100644 packages/nextJs/src/styles/modules/_helpers.scss create mode 100644 packages/nextJs/src/styles/modules/_reset.scss create mode 100644 packages/nextJs/src/styles/modules/_text.scss create mode 100644 packages/nextJs/tsconfig.json create mode 100644 packages/nextJs/vite.config.ts delete mode 100644 packages/web3api/src/lib/NFT/NFT.fetched.tsx delete mode 100644 packages/web3api/src/lib/NFT/NFT.modal.tsx delete mode 100644 packages/web3api/src/lib/NFT/NFT.styles.ts delete mode 100644 packages/web3api/src/lib/NFT/NFT.tsx delete mode 100644 packages/web3api/src/lib/NFT/NFT.utils.tsx delete mode 100644 packages/web3api/src/lib/NFT/index.tsx delete mode 100644 packages/web3api/src/lib/NFT/types.ts delete mode 100644 packages/web3api/src/lib/context/MoralisProvider.ts delete mode 100644 packages/web3api/src/lib/decorators/decorators.tsx delete mode 100644 packages/web3api/src/lib/hooks/useGetNft.ts delete mode 100644 packages/web3api/src/lib/index.ts delete mode 100644 packages/web3api/tsconfig.json delete mode 100644 packages/web3api/vite.config.ts diff --git a/.changeset/strange-turtles-kick.md b/.changeset/strange-turtles-kick.md new file mode 100644 index 000000000..deb51ac49 --- /dev/null +++ b/.changeset/strange-turtles-kick.md @@ -0,0 +1,6 @@ +--- +'@web3uikit/nextJs': patch +'@web3uikit/styles': patch +--- + +feat(NextJs): added new slice for testing with Money repo diff --git a/.eslintrc.json b/.eslintrc.json index 556855bf2..5f9c2982a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,56 +1,35 @@ { - "root": true, - "ignorePatterns": [ - "**/*" - ], - "plugins": [ - "@nrwl/nx" - ], - "overrides": [ - { - "files": [ - "*.ts", - "*.tsx", - "*.js", - "*.jsx" - ], - "rules": { - "@nrwl/nx/enforce-module-boundaries": [ - "error", - { - "enforceBuildableLibDependency": true, - "allow": [], - "depConstraints": [ - { - "sourceTag": "*", - "onlyDependOnLibsWithTags": [ - "*" + "root": true, + "ignorePatterns": ["**/*"], + "plugins": ["@nrwl/nx"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": { + "@nrwl/nx/enforce-module-boundaries": [ + "error", + { + "enforceBuildableLibDependency": true, + "allow": [], + "depConstraints": [ + { + "sourceTag": "*", + "onlyDependOnLibsWithTags": ["*"] + } + ] + } ] - } - ] - } - ] - } - }, - { - "files": [ - "*.ts", - "*.tsx" - ], - "extends": [ - "plugin:@nrwl/nx/typescript" - ], - "rules": {} - }, - { - "files": [ - "*.js", - "*.jsx" - ], - "extends": [ - "plugin:@nrwl/nx/javascript" - ], - "rules": {} - } - ] + } + }, + { + "files": ["*.ts", "*.tsx", "*.scss"], + "extends": ["plugin:@nrwl/nx/typescript"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "extends": ["plugin:@nrwl/nx/javascript"], + "rules": {} + } + ] } diff --git a/packages/web3api/CHANGELOG.md b/packages/nextJs/CHANGELOG.md similarity index 95% rename from packages/web3api/CHANGELOG.md rename to packages/nextJs/CHANGELOG.md index 2daacb8ac..1a544cf2b 100644 --- a/packages/web3api/CHANGELOG.md +++ b/packages/nextJs/CHANGELOG.md @@ -1,4 +1,4 @@ -# @web3uikit/web3api +# @web3uikit/nextJs ## 0.2.0 diff --git a/packages/web3api/package.json b/packages/nextJs/package.json similarity index 59% rename from packages/web3api/package.json rename to packages/nextJs/package.json index 42ef361e8..89647ea2f 100644 --- a/packages/web3api/package.json +++ b/packages/nextJs/package.json @@ -1,5 +1,5 @@ { - "name": "@web3uikit/web3api", + "name": "@web3uikit/nextJs", "version": "0.2.0", "sideEffects": false, "private": "true", @@ -24,14 +24,20 @@ "react-dom": "^18.0.0" }, "devDependencies": { + "@types/node-sass": "^4.11.3", + "@vitejs/plugin-react": "^1.1.0", + "@vitejs/plugin-react-refresh": "^1.3.6", + "css-loader": "^6.8.1", + "eslint": "~8.12.0", "react": "^18.0.0", "react-dom": "^18.0.0", - "styled-components": "^5.3.5" + "sass": "^1.63.2", + "sass-loader": "^13.3.2", + "style-loader": "^3.3.3", + "typescript-plugin-css-modules": "^5.0.1", + "vite-plugin-css-modules": "^0.0.1" }, "dependencies": { - "@web3uikit/config": "*", - "@web3uikit/core": "*", - "@web3uikit/styles": "*", - "@web3uikit/icons": "*" + "@web3uikit/config": "*" } } diff --git a/packages/web3api/project.json b/packages/nextJs/project.json similarity index 78% rename from packages/web3api/project.json rename to packages/nextJs/project.json index 1039d3863..39a09e66e 100644 --- a/packages/web3api/project.json +++ b/packages/nextJs/project.json @@ -1,14 +1,14 @@ { - "root": "packages/web3api", - "sourceRoot": "packages/web3api/src", + "root": "packages/nextJs", + "sourceRoot": "packages/nextJs/src", "projectType": "library", "targets": { "version": { "executor": "@jscutlery/semver:version", "options": { "postTargets": [ - "@web3uikit/web3api:publish", - "@web3uikit/web3api:github" + "@web3uikit/nextJs:publish", + "@web3uikit/nextJs:github" ] }, "projects": "dependencies" diff --git a/packages/nextJs/src/css.module.scss.d.ts b/packages/nextJs/src/css.module.scss.d.ts new file mode 100644 index 000000000..fbe8893bd --- /dev/null +++ b/packages/nextJs/src/css.module.scss.d.ts @@ -0,0 +1,4 @@ +declare module '*.module.scss' { + const classes: { [key: string]: string }; + export default classes; +} diff --git a/packages/web3api/src/index.ts b/packages/nextJs/src/index.ts similarity index 100% rename from packages/web3api/src/index.ts rename to packages/nextJs/src/index.ts diff --git a/packages/nextJs/src/lib/Button/ButtonBase.tsx b/packages/nextJs/src/lib/Button/ButtonBase.tsx new file mode 100644 index 000000000..fce78b488 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonBase.tsx @@ -0,0 +1,47 @@ +'use client'; +import { FC } from 'react'; +import { IButtonProps } from './types'; +import styles from './styles.module.scss'; + +const ButtonBase: FC = ({ + children, + className, + disabled = false, + onClick, + size = 'regular', + style, + type = 'button', + ...props +}) => { + const getSizeStyles = (size: string) => { + switch (size) { + case 'large': + return styles.buttonLarge; + case 'small': + return styles.buttonSmall; + case 'xl': + return styles.buttonXL; + default: + return styles.buttonRegular; + } + }; + return ( + + ); +}; + +export default ButtonBase; diff --git a/packages/nextJs/src/lib/Button/ButtonOutline/Button.stories.tsx b/packages/nextJs/src/lib/Button/ButtonOutline/Button.stories.tsx new file mode 100644 index 000000000..0db5ec830 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonOutline/Button.stories.tsx @@ -0,0 +1,47 @@ +import { ComponentStory, ComponentMeta } from '@storybook/react'; +import ButtonOutline from './ButtonOutline'; + +export default { + title: '9.NextJS/Button/Outline', + component: ButtonOutline, + argTypes: { onClick: { action: 'clicked' } }, +} as ComponentMeta; + +const Template: ComponentStory = (args) => ( + +); + +export const Outline = Template.bind({}); +Outline.args = { + children: Good to use with NextJS, +}; + +export const Disabled = Template.bind({}); +Disabled.args = { + children: Good to use with NextJS, + disabled: true, +}; + +export const SizeXL = Template.bind({}); +SizeXL.args = { + children: Good to use with NextJS, + size: 'xl', +}; + +export const SizeLarge = Template.bind({}); +SizeLarge.args = { + children: Good to use with NextJS, + size: 'large', +}; + +export const SizeRegular = Template.bind({}); +SizeRegular.args = { + children: Good to use with NextJS, + size: 'regular', +}; + +export const SizeSmall = Template.bind({}); +SizeSmall.args = { + children: Good to use with NextJS, + size: 'small', +}; diff --git a/packages/nextJs/src/lib/Button/ButtonOutline/ButtonOutline.tsx b/packages/nextJs/src/lib/Button/ButtonOutline/ButtonOutline.tsx new file mode 100644 index 000000000..98a604f95 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonOutline/ButtonOutline.tsx @@ -0,0 +1,11 @@ +'use client'; +import { FC } from 'react'; +import { IButtonProps } from '../types'; +import ButtonBase from '../ButtonBase'; +import styles from './styles.module.scss'; + +const ButtonOutline: FC = ({ ...props }: IButtonProps) => { + return ; +}; + +export default ButtonOutline; diff --git a/packages/nextJs/src/lib/Button/ButtonOutline/index.tsx b/packages/nextJs/src/lib/Button/ButtonOutline/index.tsx new file mode 100644 index 000000000..317d5ba8d --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonOutline/index.tsx @@ -0,0 +1,2 @@ +export { default as ButtonOutline } from './ButtonOutline'; +export type { IButtonProps } from '../types'; diff --git a/packages/nextJs/src/lib/Button/ButtonOutline/styles.module.scss b/packages/nextJs/src/lib/Button/ButtonOutline/styles.module.scss new file mode 100644 index 000000000..12372ddaa --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonOutline/styles.module.scss @@ -0,0 +1,16 @@ +@use '../../../styles/modules/color' as color; + +.outline { + background-color: color.$color-white; + border-color: color.$color-primary60; + color: color.$color-primary30; + &:hover { + background-color: color.$color-primary70; + } + &:focus { + border-color: color.$color-primary30; + } + &:active { + background-color: color.$color-primary50; + } +} diff --git a/packages/nextJs/src/lib/Button/ButtonPrimary/Button.stories.tsx b/packages/nextJs/src/lib/Button/ButtonPrimary/Button.stories.tsx new file mode 100644 index 000000000..67b85d68a --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonPrimary/Button.stories.tsx @@ -0,0 +1,47 @@ +import { ComponentStory, ComponentMeta } from '@storybook/react'; +import ButtonPrimary from './ButtonPrimary'; + +export default { + title: '9.NextJS/Button/Primary', + component: ButtonPrimary, + argTypes: { onClick: { action: 'clicked' } }, +} as ComponentMeta; + +const Template: ComponentStory = (args) => ( + +); + +export const Primary = Template.bind({}); +Primary.args = { + children: Good to use with NextJS, +}; + +export const Disabled = Template.bind({}); +Disabled.args = { + children: Good to use with NextJS, + disabled: true, +}; + +export const SizeXL = Template.bind({}); +SizeXL.args = { + children: Good to use with NextJS, + size: 'xl', +}; + +export const SizeLarge = Template.bind({}); +SizeLarge.args = { + children: Good to use with NextJS, + size: 'large', +}; + +export const SizeRegular = Template.bind({}); +SizeRegular.args = { + children: Good to use with NextJS, + size: 'regular', +}; + +export const SizeSmall = Template.bind({}); +SizeSmall.args = { + children: Good to use with NextJS, + size: 'small', +}; diff --git a/packages/nextJs/src/lib/Button/ButtonPrimary/ButtonPrimary.tsx b/packages/nextJs/src/lib/Button/ButtonPrimary/ButtonPrimary.tsx new file mode 100644 index 000000000..24e246914 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonPrimary/ButtonPrimary.tsx @@ -0,0 +1,11 @@ +'use client'; +import { FC } from 'react'; +import { IButtonProps } from '../types'; +import ButtonBase from '../ButtonBase'; +import styles from './styles.module.scss'; + +const ButtonPrimary: FC = ({ ...props }: IButtonProps) => { + return ; +}; + +export default ButtonPrimary; diff --git a/packages/nextJs/src/lib/Button/ButtonPrimary/index.tsx b/packages/nextJs/src/lib/Button/ButtonPrimary/index.tsx new file mode 100644 index 000000000..c9de9ec86 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonPrimary/index.tsx @@ -0,0 +1,2 @@ +export { default as ButtonPrimary } from './ButtonPrimary'; +export type { IButtonProps } from '../types'; diff --git a/packages/nextJs/src/lib/Button/ButtonPrimary/styles.module.scss b/packages/nextJs/src/lib/Button/ButtonPrimary/styles.module.scss new file mode 100644 index 000000000..988caf061 --- /dev/null +++ b/packages/nextJs/src/lib/Button/ButtonPrimary/styles.module.scss @@ -0,0 +1,11 @@ +@use '../../../styles/modules/color' as color; + +.primary { + background-color: color.$color-primary40; + &:hover { + background-color: color.$color-primary30; + } + &:focus { + border-color: color.$color-primary60; + } +} diff --git a/packages/nextJs/src/lib/Button/index.tsx b/packages/nextJs/src/lib/Button/index.tsx new file mode 100644 index 000000000..2ffaa20e5 --- /dev/null +++ b/packages/nextJs/src/lib/Button/index.tsx @@ -0,0 +1,2 @@ +export { default as ButtonBase } from './ButtonBase'; +export type { IButtonProps } from './types'; diff --git a/packages/nextJs/src/lib/Button/styles.module.scss b/packages/nextJs/src/lib/Button/styles.module.scss new file mode 100644 index 000000000..52cc72991 --- /dev/null +++ b/packages/nextJs/src/lib/Button/styles.module.scss @@ -0,0 +1,67 @@ +@use '../../styles/modules/color' as color; +@use '../../styles/modules/reset' as reset; +@use '../../styles/modules/text' as text; + +.button { + @include reset.resetButtonCSS; + @include text.text; + align-items: center; + background-color: color.$color-default10; + color: color.$color-white; + background-origin: border-box; + border-radius: 12px; + border: 2px solid transparent; + cursor: pointer; + display: flex; + font-weight: 600; + justify-content: center; + overflow: hidden; + padding: 2px 4px; + position: relative; + text-align: center; + transition: all 0.2s ease; + + &:hover { + background-color: lighten(color.$color-default10, 50); + } + + &:focus { + border-color: color.$color-sky40; + } + + &:disabled { + opacity: 50%; + pointer-events: none; + } + + span { + align-items: center; + display: flex; + pointer-events: none; + z-index: 1; + } + + svg { + pointer-events: none; + z-index: 1; + } +} + +.buttonSmall { + border-radius: 20px; + font-size: 14px; + padding: 0 16px; +} + +.buttonRegular { + font-size: 14px; + padding: 4px 16px; +} + +.buttonLarge { + padding: 8px 24px; +} + +.buttonXL { + padding: 16px 24px; +} diff --git a/packages/nextJs/src/lib/Button/types.ts b/packages/nextJs/src/lib/Button/types.ts new file mode 100644 index 000000000..2079b94e3 --- /dev/null +++ b/packages/nextJs/src/lib/Button/types.ts @@ -0,0 +1,36 @@ +export interface IButtonProps { + /** + * content of the element + */ + children: JSX.Element[] | JSX.Element; + + /** + * content of the element + */ + className?: string; + + /** + * set element to be noninteractive + */ + disabled?: boolean; + + /** + * call back function + */ + onClick: (event: React.MouseEvent) => void; + + /** + * set the size of the element + */ + size?: 'small' | 'regular' | 'large' | 'xl'; + + /** + * apply custom CSS + */ + style?: React.CSSProperties; + + /** + * Set the HTML button type for form interaction + */ + type?: 'button' | 'submit' | 'reset'; +} diff --git a/packages/nextJs/src/lib/index.ts b/packages/nextJs/src/lib/index.ts new file mode 100644 index 000000000..5b183a985 --- /dev/null +++ b/packages/nextJs/src/lib/index.ts @@ -0,0 +1 @@ +export * from './Button/ButtonPrimary'; diff --git a/packages/nextJs/src/styles/global.scss b/packages/nextJs/src/styles/global.scss new file mode 100644 index 000000000..8e21237c8 --- /dev/null +++ b/packages/nextJs/src/styles/global.scss @@ -0,0 +1,5 @@ +@use './modules/breakpoints' as breakpoints; +@use './modules/color' as color; +@use './modules/helpers' as helpers; +@use './modules/reset' as reset; +@use './modules/text' as text; diff --git a/packages/nextJs/src/styles/modules/_breakpoints.scss b/packages/nextJs/src/styles/modules/_breakpoints.scss new file mode 100644 index 000000000..fde7c8058 --- /dev/null +++ b/packages/nextJs/src/styles/modules/_breakpoints.scss @@ -0,0 +1,9 @@ +$breakpoint-xl4k: 3840px; +$breakpoint-xl2k: 2560px; +$breakpoint-xxxl: 1920px; +$breakpoint-xxl: 1400px; +$breakpoint-xl: 1200px; +$breakpoint-lg: 1025px; +$breakpoint-md: 768px; +$breakpoint-sm: 576px; +$breakpoint-xs: 320px; diff --git a/packages/nextJs/src/styles/modules/_color.scss b/packages/nextJs/src/styles/modules/_color.scss new file mode 100644 index 000000000..b56a15710 --- /dev/null +++ b/packages/nextJs/src/styles/modules/_color.scss @@ -0,0 +1,36 @@ +$color-default00: #f5f5f5; +$color-default10: #4f5760; +$color-default20: #68738d; +$color-default30: #a8afb7; +$color-default40: #cacfd3; +$color-destructive20: #ae0000; +$color-destructive30: #e95557; +$color-destructive40: #ff0000; +$color-destructive50: #ff6969; +$color-fuchsia40: #e156d0; +$color-lavender40: #8f7dff; +$color-positive10: #003f3b; +$color-positive20: #00856f; +$color-positive30: #00ad96; +$color-positive40: #00d1ae; +$color-positive50: #33ffcc; +$color-positive60: #a1ffe0; +$color-primary00: #001018; +$color-primary10: #081825; +$color-primary15: #43576d; +$color-primary20: #003470; +$color-primary30: #005ac2; +$color-primary40: #0f7fff; +$color-primary50: #57a5ff; +$color-primary60: #99d3ff; +$color-primary70: #f5f5f5; +$color-primary80: #00006b; +$color-purple10: #1f1446; +$color-purple20: #6012a1; +$color-purple50: #9b22ff; +$color-sky40: #01c0f4; +$color-turquoise40: #01cbd2; +$color-warning40: #f9edba; +$color-warning50: #f0c800; +$color-warning60: #fefaed; +$color-white: #fffffe; diff --git a/packages/nextJs/src/styles/modules/_helpers.scss b/packages/nextJs/src/styles/modules/_helpers.scss new file mode 100644 index 000000000..d492d5f88 --- /dev/null +++ b/packages/nextJs/src/styles/modules/_helpers.scss @@ -0,0 +1,5 @@ +$helpers-borderRadius: 12px; +$helpers-borderRadiusCircle: 50%; +$helpers-borderRadiusMax: 300px; +$helpers-borderRadiusMedium: 8px; +$helpers-borderRadiusSmall: 4px; diff --git a/packages/nextJs/src/styles/modules/_reset.scss b/packages/nextJs/src/styles/modules/_reset.scss new file mode 100644 index 000000000..757da54ad --- /dev/null +++ b/packages/nextJs/src/styles/modules/_reset.scss @@ -0,0 +1,18 @@ +@mixin resetCSS { + border: none; + box-sizing: border-box; + line-height: 1; + margin: 0; + outline: none; + padding: 0; +} + +@mixin resetButtonCSS { + background: none; + border: none; + color: inherit; + cursor: pointer; + font: inherit; + outline: inherit; + padding: 0; +} diff --git a/packages/nextJs/src/styles/modules/_text.scss b/packages/nextJs/src/styles/modules/_text.scss new file mode 100644 index 000000000..49fdc1c0c --- /dev/null +++ b/packages/nextJs/src/styles/modules/_text.scss @@ -0,0 +1,13 @@ +@use './color' as color; + +@mixin text { + -webkit-font-smoothing: antialiased; + color: color.$color-default30; + fill: color.$color-default30; + font-family: 'Open Sans', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 24px; +} diff --git a/packages/nextJs/tsconfig.json b/packages/nextJs/tsconfig.json new file mode 100644 index 000000000..e703c69b5 --- /dev/null +++ b/packages/nextJs/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "@web3uikit/config/tsconfig.ui.json", + "compilerOptions": { + "rootDir": "src", + "plugins": [{ "name": "typescript-plugin-css-modules" }], + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.scss", + "src/css-modules.d.ts" + ] +} diff --git a/packages/nextJs/vite.config.ts b/packages/nextJs/vite.config.ts new file mode 100644 index 000000000..9392356e2 --- /dev/null +++ b/packages/nextJs/vite.config.ts @@ -0,0 +1,33 @@ +/// + +import { defineConfig, UserConfigExport } from 'vite'; +import config from '../config/vite.config'; +import cssModules from 'vite-plugin-css-modules'; +import reactRefresh from '@vitejs/plugin-react-refresh'; + +export default defineConfig({ + ...(config(__dirname, ['react', 'react-dom']) as UserConfigExport), + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['../../setup.ts'], + coverage: { reporter: ['text', 'json', 'html'] }, + }, + plugins: [ + reactRefresh(), + cssModules({ + generateScopedName: '[name]__[local]___[hash:base64:5]', + }), + ], + css: { + modules: { + scopeBehaviour: 'local', + localsConvention: 'camelCase', + }, + preprocessorOptions: { + scss: { + additionalData: '@use "./src/styles/global.scss";', + }, + }, + }, +}); diff --git a/packages/styles/src/lib/colors.ts b/packages/styles/src/lib/colors.ts index 35258ae0a..f6d40a817 100644 --- a/packages/styles/src/lib/colors.ts +++ b/packages/styles/src/lib/colors.ts @@ -9,9 +9,9 @@ const color = { blue05: '#E8EAED', blue10: '#DCEFFD', blue20: '#99D3FF', - blue30: '#52ABFF', + blue30: '#005AC2', blue40: '#0F7FFF', - blue50: '#005AC2', + blue50: '#57A5FF', blue60: '#003470', blue70: '#041836', blueGray50: '#68738D', diff --git a/packages/web3api/src/lib/NFT/NFT.fetched.tsx b/packages/web3api/src/lib/NFT/NFT.fetched.tsx deleted file mode 100644 index 6436d7531..000000000 --- a/packages/web3api/src/lib/NFT/NFT.fetched.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import React, { useState } from 'react'; -import { Button, Typography } from '@web3uikit/core'; -import NFTStyles from './NFT.styles'; -import NFTUtils from './NFT.utils'; -import { TNFTMetadata } from './types'; -import { color } from '@web3uikit/styles'; -import NFTModal from './NFT.modal'; -import { Info } from '@web3uikit/icons'; - -const { DivStyled } = NFTStyles; -const { image } = NFTUtils; - -const FetchedNFT: React.FC<{ - contractType?: string; - metadata?: TNFTMetadata; - name?: string; -}> = ({ contractType, metadata, name }) => { - const [showModal, setShowModal] = useState(false); - return ( - - {image( - metadata?.animation_url, - metadata?.image || metadata?.image_url, - )} -
-
- - {metadata?.name || name} - - {contractType} -
-
- -
- ); -}; - -export default FetchedNFT; diff --git a/packages/web3api/src/lib/NFT/NFT.modal.tsx b/packages/web3api/src/lib/NFT/NFT.modal.tsx deleted file mode 100644 index 8ff208c33..000000000 --- a/packages/web3api/src/lib/NFT/NFT.modal.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from "react"; -import { Information, Modal, Typography } from "@web3uikit/core"; -import styles from "./NFT.styles"; -const { DivModalStyled } = styles; -interface INFTModal { - /** - * attributes / traits metadata - */ - attributes?: Array; - - /** - * toggle modal visibility - */ - setShowModal: (e: boolean) => void; -} - -const NFTModal: React.FC = ({ attributes, setShowModal }) => { - return ( - setShowModal(false)} - > -
- Traits - - {attributes && attributes.length > 0 ? ( - attributes.map((attribute, index) => { - if (typeof attribute === "string") { - return ( -
- -
- ); - } - return ( -
- -
- ); - }) - ) : ( - No attributes found - )} -
-
-
- ); -}; - -export default NFTModal; diff --git a/packages/web3api/src/lib/NFT/NFT.styles.ts b/packages/web3api/src/lib/NFT/NFT.styles.ts deleted file mode 100644 index 95eb78a02..000000000 --- a/packages/web3api/src/lib/NFT/NFT.styles.ts +++ /dev/null @@ -1,43 +0,0 @@ -import styled from 'styled-components'; -import { color } from '@web3uikit/styles'; - -const DivStyled = styled.div` - background-color: white; - border-radius: 16px; - display: grid; - overflow: hidden; - width: 256px; - #nft-footer { - align-items: center; - border: 2px solid; - border-color: transparent; - border-top-color: ${color.aero10}; - display: flex; - flex-direction: row-reverse; - } - #nft-info { - display: flex; - padding: 8px 8px; - & > :first-child { - display: grid; - } - } -`; - -const DivModalStyled = styled.div` - display: flex; - flex-wrap: wrap; - gap: 15px; - padding: 16px; - #widget-row { - & > div { - width: 240px; - max-width: 100%; - } - } -`; - -export default { - DivStyled, - DivModalStyled, -}; diff --git a/packages/web3api/src/lib/NFT/NFT.tsx b/packages/web3api/src/lib/NFT/NFT.tsx deleted file mode 100644 index be4cba7d8..000000000 --- a/packages/web3api/src/lib/NFT/NFT.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import React, { useState } from 'react'; -import styles from './NFT.styles'; -import { color } from '@web3uikit/styles'; -import { Button, Skeleton, Typography, Tooltip } from '@web3uikit/core'; -import { Info } from '@web3uikit/icons'; -import NFTModal from './NFT.modal'; -import { INFTProps, TNFTMetadata } from './types'; -import NFTUtils from './NFT.utils'; -import FetchedNFT from './NFT.fetched'; -import { useGetNftById } from '../hooks/useGetNft'; -const { DivStyled } = styles; -const { image } = NFTUtils; -const NFT: React.FC = ({ - address, - chain, - contractType = 'ERC721', - name, - tokenId, - fetchMetadata, - metadata, - ...props -}) => { - if (!/^0x[a-fA-F0-9]{40}$/.test(address)) { - return ( -
No valid address
- ); - } - const { data, loading, error } = useGetNftById({ address, tokenId, chain }); - const [showTraits, setShowModal] = useState(false); - console.log(data); - if (!fetchMetadata) { - return ( - - ); - } - if (loading) { - return ( -
- - -
- - -
-
-
- ); - } - - if (error) { - return
{error}
; - } - - if (!data) { - return
No response
; - } - - if (!data?.metadata) { - return ( - - -
- } - content={'There is no metadata'} - position={'top'} - /> -
-
- ); - } - - return ( -
- - {image( - (JSON.parse(String(data.metadata)) as TNFTMetadata) - ?.animation_url, - (JSON.parse(String(data.metadata)) as TNFTMetadata) - ?.image || - (JSON.parse(String(data.metadata)) as TNFTMetadata) - ?.image_url, - )} -
-
- - {(JSON.parse(String(data.metadata)) as TNFTMetadata) - ?.name || name} - - - {data.contract_type || contractType} - -
-
- -
-
- ); -}; - -export default NFT; diff --git a/packages/web3api/src/lib/NFT/NFT.utils.tsx b/packages/web3api/src/lib/NFT/NFT.utils.tsx deleted file mode 100644 index fb3036c23..000000000 --- a/packages/web3api/src/lib/NFT/NFT.utils.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react'; -import { Illustration } from '@web3uikit/core'; - -const baseUrl = 'https://ipfs.io/ipfs/'; - -const manipulateLink = (imgLink: string) => { - if (imgLink.startsWith('ipfs://')) { - const case1 = 'ipfs://ipfs/'; - const case2 = 'ipfs://'; - if (imgLink.slice(0, case1.length) === case1) { - return `${baseUrl}${imgLink.slice(case1.length)}`; - } else if (imgLink.slice(0, case2.length) === case2) { - return `${baseUrl}${imgLink.slice(case2.length)}`; - } - } - return imgLink; -}; - -const image = (animation?: string, image?: string): React.ReactElement => { - if (animation?.includes('.mp4') || image?.includes('.mp4')) { - return ( - - ); - } - if (image) { - if (image.includes('pinata')) { - return ; - } - return ( - - ); - } - if (animation) { - if (animation.includes('pinata')) { - return ; - } - return ( - - ); - } - return ; -}; - -export default { - image, -}; diff --git a/packages/web3api/src/lib/NFT/index.tsx b/packages/web3api/src/lib/NFT/index.tsx deleted file mode 100644 index 586fe8b40..000000000 --- a/packages/web3api/src/lib/NFT/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { default as NFT } from "./NFT"; -export type { INFTProps } from "./types"; diff --git a/packages/web3api/src/lib/NFT/types.ts b/packages/web3api/src/lib/NFT/types.ts deleted file mode 100644 index 70edc17f5..000000000 --- a/packages/web3api/src/lib/NFT/types.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Chain } from '../../web3utils'; - -export interface INFTProps { - /** - * Address of the NFT Collection - */ - address: string; - - /** - * Blockchain of NFT - */ - chain: Chain; - - /** - * Token Id of NFT; - */ - tokenId: string; - - /** - * set if metadata should be fetched - */ - fetchMetadata?: boolean; - - /** - * Set name of NFT - */ - name?: string; - - /** - * set metadata of NFT - */ - metadata?: TNFTMetadata | undefined; - - /** - * set contract type of NFT - */ - contractType?: string; -} - -/** - * NFT-Metadata-Standard: https://docs.opensea.io/docs/metadata-standards - */ -type TNFTMetadata = { - animation_url?: string; - attributes?: Array; - background_color?: string; - description?: string; - image?: string; - image_url?: string; - name?: string; - traits?: Array; - youtube_url?: string; -}; -export type { TNFTMetadata }; diff --git a/packages/web3api/src/lib/context/MoralisProvider.ts b/packages/web3api/src/lib/context/MoralisProvider.ts deleted file mode 100644 index 4465673fe..000000000 --- a/packages/web3api/src/lib/context/MoralisProvider.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { createContext } from 'react'; - -type TMoralisProvider = { - web3ApiKey: string | null; -}; - -export const MoralisProvider = createContext({ - web3ApiKey: null, -}); diff --git a/packages/web3api/src/lib/decorators/decorators.tsx b/packages/web3api/src/lib/decorators/decorators.tsx deleted file mode 100644 index 6a5c04779..000000000 --- a/packages/web3api/src/lib/decorators/decorators.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { DecoratorFn } from '@storybook/react'; -import { MoralisProvider } from '../context/MoralisProvider'; - -let MORALIS_WEB3_API_KEY: string | null | undefined = null; -if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') { - //@ts-ignore - MORALIS_WEB3_API_KEY = import.meta.env.STORYBOOK_MORALIS_WEB3_API_KEY; -} else { - MORALIS_WEB3_API_KEY = process.env.STORYBOOK_MORALIS_WEB3_API_KEY ?? ''; -} - -export const moralisContext: DecoratorFn = (storyFn) => { - return ( - <> - {MORALIS_WEB3_API_KEY ? ( - - {storyFn()} - - ) : ( - <> -

This component requires your Moralis web3Api key!

-

- Rename .env.example to .env in the main folder and - provide your web3api key from moralis Example:
- STORYBOOK_MORALIS_WEB3_API_KEY = xxxxxxxxxxxx -

-

After adding .env run pnpm run storybook again

- - )} - - ); -}; diff --git a/packages/web3api/src/lib/hooks/useGetNft.ts b/packages/web3api/src/lib/hooks/useGetNft.ts deleted file mode 100644 index 25a8ba2c0..000000000 --- a/packages/web3api/src/lib/hooks/useGetNft.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { useContext, useEffect, useState } from 'react'; -import { MoralisProvider } from '../context/MoralisProvider'; - -export const useGetNftById = ({ - address, - tokenId, - chain, -}: { - address: string; - tokenId: string; - chain: string; -}) => { - const { web3ApiKey } = useContext(MoralisProvider); - const [loading, setLoading] = useState(false); - const [data, setData] = useState(); - const [error, setError] = useState(''); - - useEffect(() => { - const fetchNFTs = (key: string) => { - setLoading(true); - const options = { - method: 'GET', - headers: { - 'Accept': 'application/json', - 'X-API-Key': web3ApiKey as string, - }, - }; - - fetch( - `https://deep-index.moralis.io/api/v2/nft/${address}/${tokenId}?chain=${chain}&format=decimal`, - options, - ) - .then((response) => response.json()) - .then((response) => setData(response)) - .catch((err) => setError(err)) - .finally(() => setLoading(false)); - }; - - if (web3ApiKey) { - fetchNFTs(web3ApiKey); - } else { - setError('Invalid web3Apikey!'); - } - }, []); - - return { loading, data, error }; -}; diff --git a/packages/web3api/src/lib/index.ts b/packages/web3api/src/lib/index.ts deleted file mode 100644 index 9c9d8bcb6..000000000 --- a/packages/web3api/src/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './NFT'; diff --git a/packages/web3api/tsconfig.json b/packages/web3api/tsconfig.json deleted file mode 100644 index 35f57e18f..000000000 --- a/packages/web3api/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "@web3uikit/config/tsconfig.ui.json", - "compilerOptions": { - "rootDir": "src" - }, - "include": ["src"] -} diff --git a/packages/web3api/vite.config.ts b/packages/web3api/vite.config.ts deleted file mode 100644 index 5d38e238f..000000000 --- a/packages/web3api/vite.config.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { defineConfig } from 'vite'; -import config from './node_modules/@web3uikit/config/vite.config'; - -export default defineConfig({ ...config(__dirname) }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 971cf11a3..8c8df2755 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -165,8 +165,8 @@ importers: styled-components: ^5.3.5 dependencies: '@web3uikit/config': link:../config - '@web3uikit/icons': 1.0.5_biqbaboplfbrettd7655fr4n2y - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y + '@web3uikit/icons': link:../icons + '@web3uikit/styles': link:../styles react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y devDependencies: react: 18.2.0 @@ -185,11 +185,42 @@ importers: '@web3uikit/config': link:../config devDependencies: '@svgr/cli': 6.3.1 - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y + '@web3uikit/styles': link:../styles react: 18.2.0 react-dom: 18.2.0_react@18.2.0 styled-components: 5.3.5_biqbaboplfbrettd7655fr4n2y + packages/nextJs: + specifiers: + '@types/node-sass': ^4.11.3 + '@vitejs/plugin-react': ^1.1.0 + '@vitejs/plugin-react-refresh': ^1.3.6 + '@web3uikit/config': '*' + css-loader: ^6.8.1 + eslint: ~8.12.0 + react: ^18.0.0 + react-dom: ^18.0.0 + sass: ^1.63.2 + sass-loader: ^13.3.2 + style-loader: ^3.3.3 + typescript-plugin-css-modules: ^5.0.1 + vite-plugin-css-modules: ^0.0.1 + dependencies: + '@web3uikit/config': link:../config + devDependencies: + '@types/node-sass': 4.11.3 + '@vitejs/plugin-react': 1.3.2 + '@vitejs/plugin-react-refresh': 1.3.6 + css-loader: 6.8.1 + eslint: 8.12.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + sass: 1.63.2 + sass-loader: 13.3.2_sass@1.63.2 + style-loader: 3.3.3 + typescript-plugin-css-modules: 5.0.1 + vite-plugin-css-modules: 0.0.1 + packages/styles: specifiers: '@web3uikit/config': '*' @@ -225,9 +256,9 @@ importers: '@walletconnect/web3-provider': 1.7.8 '@web3auth/web3auth': 1.1.1 '@web3uikit/config': link:../config - '@web3uikit/core': 1.0.6_biqbaboplfbrettd7655fr4n2y - '@web3uikit/icons': 1.0.5_biqbaboplfbrettd7655fr4n2y - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y + '@web3uikit/core': link:../core + '@web3uikit/icons': link:../icons + '@web3uikit/styles': link:../styles moralis: 1.9.0 react-blockies: 1.4.1_react@18.2.0 react-moralis: 1.4.0_o6v5z6xcse4cv6qevqjk2i76bi @@ -240,25 +271,6 @@ importers: react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y styled-components: 5.3.5_7i5myeigehqah43i5u7wbekgba - packages/web3api: - specifiers: - '@web3uikit/config': '*' - '@web3uikit/core': '*' - '@web3uikit/icons': '*' - '@web3uikit/styles': '*' - react: ^18.0.0 - react-dom: ^18.0.0 - styled-components: ^5.3.5 - dependencies: - '@web3uikit/config': link:../config - '@web3uikit/core': 1.0.6_biqbaboplfbrettd7655fr4n2y - '@web3uikit/icons': 1.0.5_biqbaboplfbrettd7655fr4n2y - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y - devDependencies: - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - styled-components: 5.3.5_biqbaboplfbrettd7655fr4n2y - packages/web3uikit: specifiers: '@web3uikit/config': '*' @@ -277,9 +289,9 @@ importers: wp5-cra-polyfill: github:oscario2/wp5-cra-polyfill#91431fa dependencies: '@web3uikit/config': link:../config - '@web3uikit/core': 1.0.6_biqbaboplfbrettd7655fr4n2y - '@web3uikit/icons': 1.0.5_biqbaboplfbrettd7655fr4n2y - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y + '@web3uikit/core': link:../core + '@web3uikit/icons': link:../icons + '@web3uikit/styles': link:../styles '@web3uikit/web3': link:../web3 moralis: 1.9.0 react-moralis: 1.4.0_o6v5z6xcse4cv6qevqjk2i76bi @@ -294,6 +306,10 @@ importers: packages: + /@adobe/css-tools/4.2.0: + resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} + dev: true + /@alloc/quick-lru/5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -3025,7 +3041,7 @@ packages: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: '@gar/promisify': 1.1.3 - semver: 7.3.7 + semver: 7.5.1 dev: true /@npmcli/move-file/1.1.2: @@ -5342,7 +5358,7 @@ packages: fs-extra: 9.1.0 global: 4.4.0 isomorphic-unfetch: 3.1.0 - nanoid: 3.3.4 + nanoid: 3.3.6 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 transitivePeerDependencies: @@ -6278,6 +6294,12 @@ packages: form-data: 3.0.1 dev: true + /@types/node-sass/4.11.3: + resolution: {integrity: sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==} + dependencies: + '@types/node': 17.0.45 + dev: true + /@types/node/12.20.24: resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} @@ -6309,6 +6331,18 @@ packages: '@types/node': 17.0.45 dev: false + /@types/postcss-modules-local-by-default/4.0.0: + resolution: {integrity: sha512-0VLab/pcLTLcfbxi6THSIMVYcw9hEUBGvjwwaGpW77mMgRXfGF+a76t7BxTGyLh1y68tBvrffp8UWnqvm76+yg==} + dependencies: + postcss: 8.4.24 + dev: true + + /@types/postcss-modules-scope/3.0.1: + resolution: {integrity: sha512-LNkp3c4ML9EQj2dgslp4i80Jxj72YK3HjYzrTn6ftUVylW1zaKFGqrMlNIyqBmPWmIhZ/Y5r0Y4T49Hk1IuDUg==} + dependencies: + postcss: 8.4.24 + dev: true + /@types/prettier/2.6.3: resolution: {integrity: sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==} @@ -6569,7 +6603,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.7 + semver: 7.5.1 tsutils: 3.21.0_typescript@4.7.4 typescript: 4.7.4 transitivePeerDependencies: @@ -6602,6 +6636,20 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vitejs/plugin-react-refresh/1.3.6: + resolution: {integrity: sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA==} + engines: {node: '>=12.0.0'} + deprecated: This package has been deprecated in favor of @vitejs/plugin-react + dependencies: + '@babel/core': 7.18.5 + '@babel/plugin-transform-react-jsx-self': 7.17.12_@babel+core@7.18.5 + '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.18.5 + '@rollup/pluginutils': 4.2.1 + react-refresh: 0.10.0 + transitivePeerDependencies: + - supports-color + dev: true + /@vitejs/plugin-react/1.3.2: resolution: {integrity: sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==} engines: {node: '>=12.0.0'} @@ -7021,44 +7069,6 @@ packages: - utf-8-validate dev: false - /@web3uikit/config/0.1.2: - resolution: {integrity: sha512-fOY0jxen7nEfivZc7BKm63WRcNEncidFhk+dIVR/0bj4tt5Xl0xyomPgyQqe38d3/PJ3RvqVTdupWFbWNJULkA==} - - /@web3uikit/core/1.0.6_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-l56J8Ct3thr9ayu7wdNNCst/o2MMxGRIsBjXVqQ9ogp/yr7WKtoIzyJT62L/n7kT5LUfxPWeiRd5lCHWqHd45Q==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@web3uikit/config': 0.1.2 - '@web3uikit/icons': 1.0.5_biqbaboplfbrettd7655fr4n2y - '@web3uikit/styles': 1.0.5_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y - dev: false - - /@web3uikit/icons/1.0.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-O0Fl2zysX34Z9ytaEpMLgDcd2d0ftVMh4mki+6KeDQRQyx4h2alI7dz/xkuviCUgsFP/JY+LdZqZLhPUMHcW8w==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@web3uikit/config': 0.1.2 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - dev: false - - /@web3uikit/styles/1.0.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-/LH4K9+aJobhuEcZxLUfHtVg+4/HQVba/qhGJPR/F9RrnAv4lpctOIXw6B1FHAZWiX7phx7ZvdQB88Wgy5ydSA==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@web3uikit/config': 0.1.2 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - /@webassemblyjs/ast/1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: @@ -9191,7 +9201,7 @@ packages: dev: true /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream/1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} @@ -9447,6 +9457,12 @@ packages: resolution: {integrity: sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==} dev: false + /copy-anything/2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + /copy-concurrently/1.0.5: resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} dependencies: @@ -9670,19 +9686,35 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.14 + icss-utils: 5.1.0_postcss@8.4.24 loader-utils: 2.0.2 - postcss: 8.4.14 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.14 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.14 - postcss-modules-scope: 3.0.0_postcss@8.4.14 - postcss-modules-values: 4.0.0_postcss@8.4.14 + postcss: 8.4.24 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.24 + postcss-modules-local-by-default: 4.0.3_postcss@8.4.24 + postcss-modules-scope: 3.0.0_postcss@8.4.24 + postcss-modules-values: 4.0.0_postcss@8.4.24 postcss-value-parser: 4.2.0 schema-utils: 3.1.1 - semver: 7.3.7 + semver: 7.5.1 webpack: 5.73.0 dev: true + /css-loader/6.8.1: + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.24 + postcss: 8.4.24 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.24 + postcss-modules-local-by-default: 4.0.3_postcss@8.4.24 + postcss-modules-scope: 3.0.0_postcss@8.4.24 + postcss-modules-values: 4.0.0_postcss@8.4.24 + postcss-value-parser: 4.2.0 + semver: 7.5.1 + dev: true + /css-select/4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -10207,6 +10239,11 @@ packages: engines: {node: '>=12'} dev: false + /dotenv/16.1.4: + resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==} + engines: {node: '>=12'} + dev: true + /dotenv/8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} @@ -11041,7 +11078,7 @@ packages: optionator: 0.9.1 progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.7 + semver: 7.5.1 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -11971,7 +12008,7 @@ packages: memfs: 3.4.6 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.3.7 + semver: 7.5.1 tapable: 1.1.3 typescript: 4.7.4 webpack: 5.73.0 @@ -12003,7 +12040,7 @@ packages: memfs: 3.4.6 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.3.7 + semver: 7.5.1 tapable: 1.1.3 typescript: 4.7.4 webpack: 4.46.0 @@ -12175,6 +12212,12 @@ packages: wide-align: 1.1.5 dev: true + /generic-names/4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + dependencies: + loader-utils: 3.2.1 + dev: true + /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -12925,6 +12968,18 @@ packages: dependencies: safer-buffer: 2.1.2 + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + optional: true + + /icss-replace-symbols/1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + dev: true + /icss-utils/4.1.1: resolution: {integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==} engines: {node: '>= 6'} @@ -12932,13 +12987,20 @@ packages: postcss: 7.0.39 dev: true - /icss-utils/5.1.0_postcss@8.4.14: + /icss-utils/5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dev: true + + /icss-utils/5.1.0_postcss@8.4.24: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.14 + postcss: 8.4.24 dev: true /idb-wrapper/1.7.2: @@ -12967,6 +13029,14 @@ packages: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} + /image-size/0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + /immediate/3.3.0: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} dev: false @@ -12975,6 +13045,10 @@ packages: resolution: {integrity: sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==} dev: false + /immutable/4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: true + /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -13524,6 +13598,10 @@ packages: dependencies: call-bind: 1.0.2 + /is-what/3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + /is-whitespace-character/1.0.4: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} dev: true @@ -14092,7 +14170,7 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.3.7 + semver: 7.5.1 transitivePeerDependencies: - supports-color @@ -14326,6 +14404,12 @@ packages: engines: {node: '>=6'} hasBin: true + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + /jsonc-parser/3.0.0: resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} @@ -14442,6 +14526,26 @@ packages: dotenv-expand: 5.1.0 dev: true + /less/4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.4.0 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.10 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + /level-blobs/0.1.7: resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} dependencies: @@ -14656,6 +14760,11 @@ packages: json5: 2.2.1 dev: true + /loader-utils/3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + dev: true + /local-pkg/0.4.1: resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} engines: {node: '>=14'} @@ -14692,6 +14801,10 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false + /lodash.camelcase/4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + /lodash.clonedeep/4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} dev: false @@ -15381,6 +15494,12 @@ packages: hasBin: true dev: true + /nanoid/3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanomatch/1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} @@ -15409,6 +15528,20 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /needle/3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /negotiator/0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -15563,7 +15696,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.9.0 - semver: 7.3.7 + semver: 7.5.1 validate-npm-package-license: 3.0.4 dev: false @@ -16215,6 +16348,11 @@ packages: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + /parse-node-version/1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + /parse-passwd/1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -16468,6 +16606,23 @@ packages: postcss: 7.0.39 dev: true + /postcss-load-config/3.1.4_postcss@8.4.24: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.24 + yaml: 1.10.2 + dev: true + /postcss-loader/4.3.0_gzaxsinx64nntyd3vmdqwl7coe: resolution: {integrity: sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==} engines: {node: '>= 10.13.0'} @@ -16480,7 +16635,7 @@ packages: loader-utils: 2.0.2 postcss: 7.0.39 schema-utils: 3.1.1 - semver: 7.3.7 + semver: 7.5.1 webpack: 4.46.0 dev: true @@ -16491,13 +16646,20 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.4.14: + /postcss-modules-extract-imports/3.0.0: + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dev: true + + /postcss-modules-extract-imports/3.0.0_postcss@8.4.24: resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.14 + postcss: 8.4.24 dev: true /postcss-modules-local-by-default/3.0.3: @@ -16510,14 +16672,37 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.14: + /postcss-modules-local-by-default/4.0.0_postcss@8.4.24: resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.14 - postcss: 8.4.14 + icss-utils: 5.1.0_postcss@8.4.24 + postcss: 8.4.24 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-local-by-default/4.0.3: + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-local-by-default/4.0.3_postcss@8.4.24: + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.24 + postcss: 8.4.24 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 dev: true @@ -16530,13 +16715,22 @@ packages: postcss-selector-parser: 6.0.10 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.14: + /postcss-modules-scope/3.0.0: resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.14 + postcss-selector-parser: 6.0.10 + dev: true + + /postcss-modules-scope/3.0.0_postcss@8.4.24: + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 postcss-selector-parser: 6.0.10 dev: true @@ -16547,14 +16741,38 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-values/4.0.0_postcss@8.4.14: + /postcss-modules-values/4.0.0: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.14 - postcss: 8.4.14 + icss-utils: 5.1.0 + dev: true + + /postcss-modules-values/4.0.0_postcss@8.4.24: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.24 + postcss: 8.4.24 + dev: true + + /postcss-modules/4.3.1: + resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + generic-names: 4.0.0 + icss-replace-symbols: 1.1.0 + lodash.camelcase: 4.3.0 + postcss-modules-extract-imports: 3.0.0 + postcss-modules-local-by-default: 4.0.3 + postcss-modules-scope: 3.0.0 + postcss-modules-values: 4.0.0 + string-hash: 1.1.3 dev: true /postcss-selector-parser/6.0.10: @@ -16586,6 +16804,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss/8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /preact/10.4.1: resolution: {integrity: sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==} dev: false @@ -17176,6 +17403,11 @@ packages: react: 17.0.2 dev: false + /react-refresh/0.10.0: + resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==} + engines: {node: '>=0.10.0'} + dev: true + /react-refresh/0.11.0: resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} engines: {node: '>=0.10.0'} @@ -17637,6 +17869,10 @@ packages: /require-main-filename/2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + /reserved-words/0.1.2: + resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} + dev: true + /resolve-dir/1.0.1: resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} engines: {node: '>=0.10.0'} @@ -17875,6 +18111,43 @@ packages: - supports-color dev: true + /sass-loader/13.3.2_sass@1.63.2: + resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + dependencies: + neo-async: 2.6.2 + sass: 1.63.2 + dev: true + + /sass/1.63.2: + resolution: {integrity: sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.0 + source-map-js: 1.0.2 + dev: true + + /sax/1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + /saxes/5.0.1: resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} engines: {node: '>=10'} @@ -18014,6 +18287,14 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true + + /semver/7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 /send/0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -18490,7 +18771,7 @@ packages: figures: 3.2.0 find-up: 5.0.0 git-semver-tags: 4.1.1 - semver: 7.3.7 + semver: 7.5.1 stringify-package: 1.0.1 yargs: 16.2.0 dev: false @@ -18600,6 +18881,10 @@ packages: engines: {node: '>=0.6.19'} dev: true + /string-hash/1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + dev: true + /string-length/4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -18795,6 +19080,13 @@ packages: webpack: 5.73.0 dev: true + /style-loader/3.3.3: + resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dev: true + /style-to-object/0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} dependencies: @@ -18848,6 +19140,19 @@ packages: supports-color: 5.5.0 dev: true + /stylus/0.59.0: + resolution: {integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==} + hasBin: true + dependencies: + '@adobe/css-tools': 4.2.0 + debug: 4.3.4 + glob: 7.2.3 + sax: 1.2.4 + source-map: 0.7.4 + transitivePeerDependencies: + - supports-color + dev: true + /superstruct/0.14.2: resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} dev: false @@ -19332,6 +19637,15 @@ packages: strip-bom: 3.0.0 dev: true + /tsconfig-paths/4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.6 + strip-bom: 3.0.0 + dev: true + /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -19466,6 +19780,32 @@ packages: /typedarray/0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + /typescript-plugin-css-modules/5.0.1: + resolution: {integrity: sha512-hKXObfwfjx2/myRq4JeQ8D3xIWYTFqusi0hS/Aka7RFX1xQEoEkdOGDWyXNb8LmObawsUzbI30gQnZvqYXCrkA==} + peerDependencies: + typescript: '>=4.0.0' + dependencies: + '@types/postcss-modules-local-by-default': 4.0.0 + '@types/postcss-modules-scope': 3.0.1 + dotenv: 16.1.4 + icss-utils: 5.1.0_postcss@8.4.24 + less: 4.1.3 + lodash.camelcase: 4.3.0 + postcss: 8.4.24 + postcss-load-config: 3.1.4_postcss@8.4.24 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.24 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.24 + postcss-modules-scope: 3.0.0_postcss@8.4.24 + reserved-words: 0.1.2 + sass: 1.63.2 + source-map-js: 1.0.2 + stylus: 0.59.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /typescript/4.6.4: resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} @@ -19690,7 +20030,7 @@ packages: is-yarn-global: 0.3.0 latest-version: 5.1.0 pupa: 2.1.1 - semver: 7.3.7 + semver: 7.5.1 semver-diff: 3.1.1 xdg-basedir: 4.0.0 dev: true @@ -19899,6 +20239,20 @@ packages: vfile-message: 2.0.4 dev: true + /vite-plugin-css-modules/0.0.1: + resolution: {integrity: sha512-032ydX4sl5iwaPLwEsSHBFIHfHax80tiOYIZI2qxUtafBIBIhGP5RwvfEPsW3C4DNzmwf7pBKDWK27W4Kb742A==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + '@babel/generator': ^7.15.4 + '@babel/parser': ^7.15.6 + '@babel/traverse': ^7.15.4 + less: ^4.1.1 + postcss: ^8.3.6 + vite: '>2.0.0-0' + dependencies: + postcss-modules: 4.3.1 + dev: true + /vite-plugin-dts/1.2.0_vite@2.9.12: resolution: {integrity: sha512-dg0x2VKHDnpNQvx0iPKkPpX+aJNBqzusMJv1l7SwzTV8J62eLhIKzE2FKOp4oYkPlN/vi+MqNEDKvv+XE70lzA==} engines: {node: '>=12.0.0'} diff --git a/tsconfig.json b/tsconfig.json index 2aa1b3f38..c5665e706 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,6 @@ { "path": "packages/web3" }, { "path": "packages/icons" }, { "path": "packages/web3uikit" }, - { "path": "packages/web3api" } + { "path": "packages/nextJs" } ] }