Upgrade dependencies

This commit is contained in:
cond0r 2022-07-08 15:15:21 +03:00
parent a0687f1db1
commit bd120e3720
32 changed files with 1205 additions and 726 deletions

View File

@ -19,5 +19,8 @@
"pre-commit": "turbo run lint" "pre-commit": "turbo run lint"
} }
}, },
"resolutions": {
"@types/react": "^17.0.38"
},
"packageManager": "pnpm@7.5.0" "packageManager": "pnpm@7.5.0"
} }

View File

@ -48,12 +48,13 @@
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "workspace:*", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"cookie": "^0.4.1", "cookie": "^0.4.1",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"uuidv4": "^6.2.12" "uuidv4": "^6.2.12",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -69,6 +70,7 @@
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -76,7 +78,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -47,11 +47,12 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
"import-cwd": "^3.0.0", "import-cwd": "^3.0.0",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
"swr": "^1.2.0" "swr": "^1.3.0",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -65,6 +66,7 @@
"@types/js-cookie": "^3.0.1", "@types/js-cookie": "^3.0.1",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "2.6.2",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -72,7 +74,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -48,7 +48,7 @@
}, },
"dependencies": { "dependencies": {
"@chec/commerce.js": "^2.8.0", "@chec/commerce.js": "^2.8.0",
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8"
}, },
"peerDependencies": { "peerDependencies": {
@ -71,7 +71,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -49,9 +49,10 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -59,7 +60,7 @@
"react-dom": "^17" "react-dom": "^17"
}, },
"devDependencies": { "devDependencies": {
"@graphql-codegen/cli": "^2.3.1", "@graphql-codegen/cli": "^2.7.0",
"@graphql-codegen/schema-ast": "^2.4.1", "@graphql-codegen/schema-ast": "^2.4.1",
"@graphql-codegen/typescript": "^2.4.2", "@graphql-codegen/typescript": "^2.4.2",
"@graphql-codegen/typescript-operations": "^2.2.2", "@graphql-codegen/typescript-operations": "^2.2.2",
@ -67,8 +68,10 @@
"@taskr/esnext": "^1.1.0", "@taskr/esnext": "^1.1.0",
"@taskr/watch": "^1.1.0", "@taskr/watch": "^1.1.0",
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node-fetch": "2.6.2",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"graphql": "^16.0.0",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -76,7 +79,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -47,8 +47,9 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1" "@vercel/fetch": "6.2.0",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -61,6 +62,7 @@
"@taskr/watch": "^1.1.0", "@taskr/watch": "^1.1.0",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "2.6.2",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -68,7 +70,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -47,10 +47,11 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"stripe": "^8.197.0", "stripe": "^8.197.0",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -64,6 +65,7 @@
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -71,7 +73,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -49,9 +49,10 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -59,7 +60,7 @@
"react-dom": "^17" "react-dom": "^17"
}, },
"devDependencies": { "devDependencies": {
"@graphql-codegen/cli": "^2.3.1", "@graphql-codegen/cli": "^2.7.0",
"@graphql-codegen/schema-ast": "^2.4.1", "@graphql-codegen/schema-ast": "^2.4.1",
"@graphql-codegen/typescript": "^2.4.2", "@graphql-codegen/typescript": "^2.4.2",
"@graphql-codegen/typescript-operations": "^2.2.2", "@graphql-codegen/typescript-operations": "^2.2.2",
@ -69,6 +70,7 @@
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -76,7 +78,8 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4",
"graphql": "^16.0.0"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -47,9 +47,10 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"commerce-sdk": "^2.7.0" "commerce-sdk": "^2.7.0",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -62,6 +63,7 @@
"@taskr/watch": "^1.1.0", "@taskr/watch": "^1.1.0",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -69,7 +71,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -49,8 +49,10 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"node-fetch": "^2.6.7",
"js-cookie": "^3.0.1",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8"
}, },
"peerDependencies": { "peerDependencies": {
@ -59,25 +61,28 @@
"react-dom": "^17" "react-dom": "^17"
}, },
"devDependencies": { "devDependencies": {
"@graphql-codegen/cli": "^2.3.1", "@graphql-codegen/cli": "2.7.0",
"@graphql-codegen/schema-ast": "^2.4.1", "@graphql-codegen/schema-ast": "^2.4.1",
"@graphql-codegen/typescript": "^2.4.2", "@graphql-codegen/typescript": "^2.6.0",
"@graphql-codegen/typescript-operations": "^2.2.2", "@graphql-codegen/typescript-operations": "^2.4.3",
"@taskr/clear": "^1.1.0", "@taskr/clear": "^1.1.0",
"@taskr/esnext": "^1.1.0", "@taskr/esnext": "^1.1.0",
"@taskr/watch": "^1.1.0", "@taskr/watch": "^1.1.0",
"@types/lodash.debounce": "^4.0.6", "@types/js-cookie": "3.0.2",
"@types/node": "^17.0.8", "@types/lodash.debounce": "^4.0.7",
"@types/node": "^18.0.3",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"dotenv": "^12.0.3", "@types/node-fetch": "2.6.2",
"lint-staged": "^12.1.7", "graphql": "^16.0.0",
"next": "^12.0.8", "dotenv": "^16.0.1",
"prettier": "^2.5.1", "lint-staged": "^13.0.3",
"react": "^17.0.2", "next": "^12.2.1",
"react-dom": "^17.0.2", "prettier": "^2.7.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "workspace:*",
"typescript": "^4.5.4" "typescript": "^4.3.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -48,10 +48,11 @@
}, },
"dependencies": { "dependencies": {
"@spree/storefront-api-v2-sdk": "^5.1.1", "@spree/storefront-api-v2-sdk": "^5.1.1",
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"swr": "^1.2.0", "swr": "^1.3.0",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -65,6 +66,7 @@
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -72,7 +74,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -48,10 +48,11 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1", "@vercel/fetch": "6.2.0",
"swell-js": "^4.0.0-next.0", "swell-js": "^4.0.0-next.0",
"lodash.debounce": "^4.0.8" "lodash.debounce": "^4.0.8",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -65,6 +66,7 @@
"@types/lodash.debounce": "^4.0.6", "@types/lodash.debounce": "^4.0.6",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -72,7 +74,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

View File

@ -49,8 +49,9 @@
} }
}, },
"dependencies": { "dependencies": {
"@vercel/commerce": "^0.0.1", "@vercel/commerce": "workspace:*",
"@vercel/fetch": "^6.1.1" "@vercel/fetch": "6.2.0",
"node-fetch": "^2.6.7"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^12", "next": "^12",
@ -58,7 +59,7 @@
"react-dom": "^17" "react-dom": "^17"
}, },
"devDependencies": { "devDependencies": {
"@graphql-codegen/cli": "^2.3.1", "@graphql-codegen/cli": "2.7.0",
"@graphql-codegen/schema-ast": "^2.4.1", "@graphql-codegen/schema-ast": "^2.4.1",
"@graphql-codegen/typescript": "^2.4.2", "@graphql-codegen/typescript": "^2.4.2",
"@graphql-codegen/typescript-operations": "^2.2.2", "@graphql-codegen/typescript-operations": "^2.2.2",
@ -67,6 +68,8 @@
"@taskr/watch": "^1.1.0", "@taskr/watch": "^1.1.0",
"@types/node": "^17.0.8", "@types/node": "^17.0.8",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"@types/node-fetch": "^2.6.1",
"graphql": "^16.0.0",
"lint-staged": "^12.1.7", "lint-staged": "^12.1.7",
"next": "^12.0.8", "next": "^12.0.8",
"prettier": "^2.5.1", "prettier": "^2.5.1",
@ -74,7 +77,7 @@
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"taskr": "^1.1.0", "taskr": "^1.1.0",
"taskr-swc": "^0.0.1", "taskr-swc": "^0.0.1",
"typescript": "^4.5.4" "typescript": "^4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx,json}": [ "**/*.{js,jsx,ts,tsx,json}": [

1694
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -41,7 +41,12 @@ const SignUpView: FC<Props> = () => {
setLoading(false) setLoading(false)
closeModal() closeModal()
} catch ({ errors }) { } catch ({ errors }) {
setMessage(errors[0].message) if (errors instanceof Array) {
setMessage(errors[0].message)
} else {
setMessage('Unexpected error')
console.log(errors)
}
setLoading(false) setLoading(false)
} }
} }

View File

@ -5,6 +5,7 @@ import React, {
useReducer, useReducer,
useContext, useContext,
createContext, createContext,
ReactNode,
} from 'react' } from 'react'
import type { CardFields } from '@commerce/types/customer/card' import type { CardFields } from '@commerce/types/customer/card'
import type { AddressFields } from '@commerce/types/customer/address' import type { AddressFields } from '@commerce/types/customer/address'
@ -65,7 +66,7 @@ const checkoutReducer = (state: State, action: Action): State => {
} }
} }
export const CheckoutProvider: FC = (props) => { export const CheckoutProvider: FC<{ children?: ReactNode }> = (props) => {
const [state, dispatch] = useReducer(checkoutReducer, initialState) const [state, dispatch] = useReducer(checkoutReducer, initialState)
const setCardFields = useCallback( const setCardFields = useCallback(
@ -86,7 +87,10 @@ export const CheckoutProvider: FC = (props) => {
const cardFields = useMemo(() => state.cardFields, [state.cardFields]) const cardFields = useMemo(() => state.cardFields, [state.cardFields])
const addressFields = useMemo(() => state.addressFields, [state.addressFields]) const addressFields = useMemo(
() => state.addressFields,
[state.addressFields]
)
const value = useMemo( const value = useMemo(
() => ({ () => ({
@ -96,7 +100,13 @@ export const CheckoutProvider: FC = (props) => {
setAddressFields, setAddressFields,
clearCheckoutFields, clearCheckoutFields,
}), }),
[cardFields, addressFields, setCardFields, setAddressFields, clearCheckoutFields] [
cardFields,
addressFields,
setCardFields,
setAddressFields,
clearCheckoutFields,
]
) )
return <CheckoutContext.Provider value={value} {...props} /> return <CheckoutContext.Provider value={value} {...props} />

View File

@ -53,6 +53,7 @@ interface Props {
pages?: Page[] pages?: Page[]
categories: Category[] categories: Category[]
} }
children?: React.ReactNode
} }
const ModalView: React.FC<{ modalView: string; closeModal(): any }> = ({ const ModalView: React.FC<{ modalView: string; closeModal(): any }> = ({

View File

@ -1,9 +1,9 @@
import { FC, useState, useEffect } from 'react' import { FC, useState, useEffect, ReactNode } from 'react'
import throttle from 'lodash.throttle' import throttle from 'lodash.throttle'
import cn from 'clsx' import cn from 'clsx'
import s from './Navbar.module.css' import s from './Navbar.module.css'
const NavbarRoot: FC = ({ children }) => { const NavbarRoot: FC<{ children?: ReactNode }> = ({ children }) => {
const [hasScrolled, setHasScrolled] = useState(false) const [hasScrolled, setHasScrolled] = useState(false)
useEffect(() => { useEffect(() => {

View File

@ -1,10 +1,10 @@
import React, { FC } from 'react' import React, { FC, ReactNode } from 'react'
import { Cross, ChevronLeft } from '@components/icons' import { Cross, ChevronLeft } from '@components/icons'
import { UserNav } from '@components/common' import { UserNav } from '@components/common'
import cn from 'clsx' import cn from 'clsx'
import s from './SidebarLayout.module.css' import s from './SidebarLayout.module.css'
type ComponentProps = { className?: string } & ( type ComponentProps = { className?: string; children?: ReactNode } & (
| { handleClose: () => any; handleBack?: never } | { handleClose: () => any; handleBack?: never }
| { handleBack: () => any; handleClose?: never } | { handleBack: () => any; handleClose?: never }
) )

View File

@ -12,7 +12,7 @@ import s from './ProductSlider.module.css'
import ProductSliderControl from '../ProductSliderControl' import ProductSliderControl from '../ProductSliderControl'
interface ProductSliderProps { interface ProductSliderProps {
children: React.ReactNode[] children?: React.ReactNode[]
className?: string className?: string
} }

View File

@ -5,7 +5,7 @@ import React, {
JSXElementConstructor, JSXElementConstructor,
useRef, useRef,
} from 'react' } from 'react'
import mergeRefs from 'react-merge-refs' import { mergeRefs } from 'react-merge-refs'
import s from './Button.module.css' import s from './Button.module.css'
import { LoadingDots } from '@components/ui' import { LoadingDots } from '@components/ui'

View File

@ -7,7 +7,7 @@ import useMeasure from 'react-use-measure'
export interface CollapseProps { export interface CollapseProps {
title: string title: string
children: ReactNode children?: ReactNode
} }
const Collapse: FC<CollapseProps> = ({ title, children }) => { const Collapse: FC<CollapseProps> = ({ title, children }) => {

View File

@ -11,7 +11,7 @@ export const DropdownMenuGroup = DropdownMenu.Group
export const DropdownContent = React.forwardRef< export const DropdownContent = React.forwardRef<
HTMLDivElement, HTMLDivElement,
{ children: React.ReactNode } & DropdownMenu.DropdownMenuContentProps & { children?: React.ReactNode } & DropdownMenu.DropdownMenuContentProps &
React.RefAttributes<HTMLDivElement> React.RefAttributes<HTMLDivElement>
>(function DropdownContent({ children, className, ...props }, forwardedRef) { >(function DropdownContent({ children, className, ...props }, forwardedRef) {
return ( return (

View File

@ -4,7 +4,7 @@ import s from './Grid.module.css'
interface GridProps { interface GridProps {
className?: string className?: string
children?: ReactNode[] | Component[] | any[] children?: ReactNode
layout?: 'A' | 'B' | 'C' | 'D' | 'normal' layout?: 'A' | 'B' | 'C' | 'D' | 'normal'
variant?: 'default' | 'filled' variant?: 'default' | 'filled'
} }

View File

@ -1,6 +1,10 @@
import NextLink, { LinkProps as NextLinkProps } from 'next/link' import NextLink, { LinkProps as NextLinkProps } from 'next/link'
const Link: React.FC<NextLinkProps> = ({ href, children, ...props }) => { const Link: React.FC<
NextLinkProps & {
children?: React.ReactNode
}
> = ({ href, children, ...props }) => {
return ( return (
<NextLink href={href}> <NextLink href={href}>
<a {...props}>{children}</a> <a {...props}>{children}</a>

View File

@ -1,4 +1,4 @@
import { FC, useRef, useEffect, useCallback } from 'react' import { FC, useRef, useEffect, useCallback, ReactNode } from 'react'
import s from './Modal.module.css' import s from './Modal.module.css'
import FocusTrap from '@lib/focus-trap' import FocusTrap from '@lib/focus-trap'
import { Cross } from '@components/icons' import { Cross } from '@components/icons'
@ -6,9 +6,8 @@ import { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock'
interface ModalProps { interface ModalProps {
className?: string className?: string
children?: any children?: ReactNode
onClose: () => void onClose: () => void
onEnter?: () => void | null
} }
const Modal: FC<ModalProps> = ({ children, onClose }) => { const Modal: FC<ModalProps> = ({ children, onClose }) => {

View File

@ -11,6 +11,7 @@ interface SkeletonProps {
width?: string | number width?: string | number
height?: string | number height?: string | number
boxHeight?: string | number boxHeight?: string | number
children?: React.ReactNode
} }
const Skeleton: React.FC<SkeletonProps> = ({ const Skeleton: React.FC<SkeletonProps> = ({

View File

@ -1,4 +1,4 @@
import React, { FC, useCallback, useMemo } from 'react' import React, { FC, ReactNode, useCallback, useMemo } from 'react'
import { ThemeProvider } from 'next-themes' import { ThemeProvider } from 'next-themes'
export interface State { export interface State {
@ -124,7 +124,7 @@ function uiReducer(state: State, action: Action) {
} }
} }
export const UIProvider: FC = (props) => { export const UIProvider: FC<{ children?: ReactNode }> = (props) => {
const [state, dispatch] = React.useReducer(uiReducer, initialState) const [state, dispatch] = React.useReducer(uiReducer, initialState)
const openSidebar = useCallback( const openSidebar = useCallback(
@ -209,7 +209,9 @@ export const useUI = () => {
return context return context
} }
export const ManagedUIContext: FC = ({ children }) => ( export const ManagedUIContext: FC<{ children?: ReactNode }> = ({
children,
}) => (
<UIProvider> <UIProvider>
<ThemeProvider>{children}</ThemeProvider> <ThemeProvider>{children}</ThemeProvider>
</UIProvider> </UIProvider>

View File

@ -6,14 +6,16 @@ import React, {
ReactElement, ReactElement,
forwardRef, forwardRef,
Ref, Ref,
ReactNode,
} from 'react' } from 'react'
import mergeRefs from 'react-merge-refs' import { mergeRefs } from 'react-merge-refs'
import hasParent from './has-parent' import hasParent from './has-parent'
interface ClickOutsideProps { interface ClickOutsideProps {
active: boolean active: boolean
onClick: (e?: MouseEvent) => void onClick: (e?: MouseEvent) => void
ref?: Ref<any> ref?: Ref<any>
children?: ReactNode
} }
/** /**

View File

@ -13,7 +13,7 @@
}, },
"sideEffects": false, "sideEffects": false,
"dependencies": { "dependencies": {
"@radix-ui/react-dropdown-menu": "^0.1.6", "@radix-ui/react-dropdown-menu": "0.1.7-rc.46",
"@react-spring/web": "^9.4.1", "@react-spring/web": "^9.4.1",
"@vercel/commerce": "workspace:*", "@vercel/commerce": "workspace:*",
"@vercel/commerce-bigcommerce": "workspace:*", "@vercel/commerce-bigcommerce": "workspace:*",
@ -31,17 +31,17 @@
"clsx": "^1.1.1", "clsx": "^1.1.1",
"email-validator": "^2.0.4", "email-validator": "^2.0.4",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
"keen-slider": "^6.6.3", "keen-slider": "^6.7.0",
"lodash.random": "^3.2.0", "lodash.random": "^3.2.0",
"lodash.throttle": "^4.1.1", "lodash.throttle": "^4.1.1",
"next": "^12.0.8", "next": "^12.2.1",
"next-themes": "^0.0.15", "next-themes": "^0.2.0",
"postcss": "^8.3.5", "postcss": "^8.3.5",
"postcss-nesting": "^8.0.1", "postcss-nesting": "^10.1.10",
"react": "^17.0.2", "react": "^17.0.2",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-fast-marquee": "^1.3.1", "react-fast-marquee": "^1.3.1",
"react-merge-refs": "^1.1.0", "react-merge-refs": "^2.0.1",
"react-use-measure": "^2.1.1", "react-use-measure": "^2.1.1",
"tabbable": "^5.2.1", "tabbable": "^5.2.1",
"tailwindcss": "^3.0.13" "tailwindcss": "^3.0.13"
@ -52,16 +52,16 @@
"@types/js-cookie": "^3.0.1", "@types/js-cookie": "^3.0.1",
"@types/lodash.random": "^3.2.6", "@types/lodash.random": "^3.2.6",
"@types/lodash.throttle": "^4.1.6", "@types/lodash.throttle": "^4.1.6",
"@types/node": "^17.0.8", "@types/node": "^18.0.3",
"@types/react": "^17.0.38", "@types/react": "^17.0.38",
"eslint": "^8.6.0", "eslint": "^8.6.0",
"eslint-config-next": "^12.0.8", "eslint-config-next": "^12.0.8",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.3.0",
"lint-staged": "^12.1.7", "lint-staged": "^13.0.3",
"postcss-flexbugs-fixes": "^5.0.2", "postcss-flexbugs-fixes": "^5.0.2",
"postcss-preset-env": "^7.2.3", "postcss-preset-env": "^7.2.3",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"typescript": "4.3.4" "typescript": "4.7.4"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx,ts,tsx}": [ "**/*.{js,jsx,ts,tsx}": [

View File

@ -2,12 +2,12 @@ import '@assets/main.css'
import '@assets/chrome-bug.css' import '@assets/chrome-bug.css'
import 'keen-slider/keen-slider.min.css' import 'keen-slider/keen-slider.min.css'
import { FC, useEffect } from 'react' import { FC, ReactNode, useEffect } from 'react'
import type { AppProps } from 'next/app' import type { AppProps } from 'next/app'
import { Head } from '@components/common' import { Head } from '@components/common'
import { ManagedUIContext } from '@components/ui/context' import { ManagedUIContext } from '@components/ui/context'
const Noop: FC = ({ children }) => <>{children}</> const Noop: FC<{ children?: ReactNode }> = ({ children }) => <>{children}</>
export default function MyApp({ Component, pageProps }: AppProps) { export default function MyApp({ Component, pageProps }: AppProps) {
const Layout = (Component as any).Layout || Noop const Layout = (Component as any).Layout || Noop

View File

@ -23,8 +23,8 @@
"@components/*": ["components/*"], "@components/*": ["components/*"],
"@commerce": ["../packages/commerce/src"], "@commerce": ["../packages/commerce/src"],
"@commerce/*": ["../packages/commerce/src/*"], "@commerce/*": ["../packages/commerce/src/*"],
"@framework": ["../packages/local/src"], "@framework": ["../packages/shopify/src"],
"@framework/*": ["../packages/local/src/*"] "@framework/*": ["../packages/shopify/src/*"]
} }
}, },
"include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"], "include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"],