second-commit

main
fll01148073 2023-01-20 17:29:17 +08:00
parent 00e8e89a9d
commit 0f92e3d87b
52 changed files with 2620 additions and 0 deletions

30
.gitignore vendored Normal file
View File

@ -0,0 +1,30 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local

17
Dockerfile Normal file
View File

@ -0,0 +1,17 @@
From node:16-alpine
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install
COPY pages ./pages
COPY public ./public
COPY styles ./styles
COPY components ./components
COPY posts ./posts
COPY utils ./utils
CMD ["yarn", "dev"]

52
Dockerfile.production Normal file
View File

@ -0,0 +1,52 @@
# Install dependencies only when needed
FROM node:16-alpine AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
WORKDIR /app
# Install dependencies based on the preferred package manager
COPY package.json yarn.lock* package-lock.json* ./
RUN yarn install --frozen-lockfile
# Rebuild the source code only when needed
FROM node:16-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Next.js collects completely anonymous telemetry data about general usage.
# Learn more here: https://nextjs.org/telemetry
# Uncomment the following line in case you want to disable telemetry during the build.
# ENV NEXT_TELEMETRY_DISABLED 1
RUN yarn build
# If using npm comment out above and use below instead
# RUN npm run build
# Production image, copy all the files and run next
FROM node:16-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
# Uncomment the following line in case you want to disable telemetry during runtime.
# ENV NEXT_TELEMETRY_DISABLED 1
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT 3000
CMD ["node", "server.js"]

19
components/Layout.js Normal file
View File

@ -0,0 +1,19 @@
import styles from './layout.module.css';
import utilStyles from '../styles/utils.module.css';
const name = 'Miaomiao';
export const siteTitle = 'Next.js Sample Website';
export default function LayoutComponent({ children, about }) {
return (
<div>
<div className={styles.header}>
<div className={utilStyles.heading2Xl} > {name} </div>
</div>
<div className={styles.container}>
<main>{children}</main>
</div>
<footer className={styles.footer}>code with love</footer>
</div>
)
}

16
components/Square.js Normal file
View File

@ -0,0 +1,16 @@
export default function Square(){
return(
<div className="square">
<style jsx>{`
.square {
height: 100px;
width: 100px;
background-color: #1781B5;
margin: 5px;
box-sizing: border-box;
}
`}
</style>
</div>
)
}

View File

@ -0,0 +1,29 @@
.container {
max-width: 48rem;
padding: 0 1rem;
margin: 3rem auto 6rem;
}
.footer{
margin-top: 1rem;
padding: 1rem;
background-color: rgb(235, 195, 64);
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}
.header {
display: flex;
flex-direction: column;
align-items: center;
background-color: white;
}
.backToHome {
margin: 3rem 0 0;
}

View File

View File

@ -0,0 +1,9 @@
services:
app:
image: docker-nextjs
build:
context: .
dockerfile: Dockerfile.production
ports:
- 3000:3000

7
docker-compose.yml Normal file
View File

@ -0,0 +1,7 @@
services:
app:
image: docker-nextjs-dev
build: .
ports:
- 3000:3000

3
next.config.js Normal file
View File

@ -0,0 +1,3 @@
module.exports = {
output:'standalone',
}

825
package-lock.json generated Normal file
View File

@ -0,0 +1,825 @@
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"@ant-design/colors": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz",
"integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
"requires": {
"@ctrl/tinycolor": "^3.4.0"
}
},
"@ant-design/icons": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.7.0.tgz",
"integrity": "sha512-aoB4Z7JA431rt6d4u+8xcNPPCrdufSRMUOpxa1ab6mz1JCQZOEVolj2WVs/tDFmN62zzK30mNelEsprLYsSF3g==",
"requires": {
"@ant-design/colors": "^6.0.0",
"@ant-design/icons-svg": "^4.2.1",
"@babel/runtime": "^7.11.2",
"classnames": "^2.2.6",
"rc-util": "^5.9.4"
}
},
"@ant-design/icons-svg": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
"integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
},
"@ant-design/react-slick": {
"version": "0.28.4",
"resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.4.tgz",
"integrity": "sha512-j9eAHTn7GxbXUFNknJoHS2ceAsqrQi2j8XykjZE1IXCD8kJF+t28EvhBLniDpbOsBk/3kjalnhriTfZcjBHNqg==",
"requires": {
"@babel/runtime": "^7.10.4",
"classnames": "^2.2.5",
"json2mq": "^0.2.0",
"lodash": "^4.17.21",
"resize-observer-polyfill": "^1.5.0"
},
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
},
"@babel/runtime": {
"version": "7.17.9",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
"integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@ctrl/tinycolor": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz",
"integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw=="
},
"@next/env": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/env/-/env-12.0.10.tgz",
"integrity": "sha512-mQVj0K6wQ5WEk/sL9SZ+mJXJUaG7el8CpZ6io1uFe9GgNTSC7EgUyNGqM6IQovIFc5ukF4O/hqsdh3S/DCgT2g=="
},
"@next/swc-android-arm64": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.0.10.tgz",
"integrity": "sha512-xYwXGkNhzZZsM5MD7KRwF5ZNiC8OLPtVMUiagpPnwENg8Hb0GSQo/NbYWXM8YrawEwp9LaZ7OXiuRKPh2JyBdA==",
"optional": true
},
"@next/swc-darwin-arm64": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.10.tgz",
"integrity": "sha512-f2zngulkpIJKWHckhRi7X8GZ+J/tNgFF7lYIh7Qx15JH0OTBsjkqxORlkzy+VZyHJ5sWTCaI6HYYd3ow6qkEEg==",
"optional": true
},
"@next/swc-darwin-x64": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.10.tgz",
"integrity": "sha512-Qykcu/gVC5oTvOQoRBhyuS5GYm5SbcgrFTsaLFkGBmEkg9eMQRiaCswk4IafpDXVzITkVFurzSM28q3tLW2qUw==",
"optional": true
},
"@next/swc-linux-arm-gnueabihf": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.10.tgz",
"integrity": "sha512-EhqrTFsIXAXN9B/fiiW/QKUK/lSLCXRsLalkUp58KDfMqVLLlj1ORbESAcswiNQOChLuHQSldGEEtOBPQZcd9A==",
"optional": true
},
"@next/swc-linux-arm64-gnu": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.10.tgz",
"integrity": "sha512-kqGtC72g3+JYXZbY2ca6digXR5U6AQ6Dzv4eAxYluMePLHjI/Xye1mf9dwVsgmeXfrD/IRDp5K/3A6UNvBm4oQ==",
"optional": true
},
"@next/swc-linux-arm64-musl": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.10.tgz",
"integrity": "sha512-bG9zTSNwnSgc1Un/7oz1ZVN4UeXsTWrsQhAGWU78lLLCn4Zj9HQoUCRCGLt0OVs2DBZ+WC8CzzFliQ1SKipVbg==",
"optional": true
},
"@next/swc-linux-x64-gnu": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.10.tgz",
"integrity": "sha512-c79PcfWtyThiYRa1+3KVfDq0zXaI8o1d6dQWNVqDrtLz5HKM/rbjLdvoNuxDwUeZhxI/d9CtyH6GbuKPw5l/5A==",
"optional": true
},
"@next/swc-linux-x64-musl": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.10.tgz",
"integrity": "sha512-g/scgn+21/MLfizOCZOZt+MxNj2/8Tdlwjvy+QZcSUPZRUI2Y5o3HwBvI1f/bSci+NGRU+bUAO0NFtRJ9MzH5w==",
"optional": true
},
"@next/swc-win32-arm64-msvc": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.10.tgz",
"integrity": "sha512-gl6B/ravwMeY5Nv4Il2/ARYJQ6u+KPRwGMjS1ZrNudIKlNn4YBeXh5A4cIVm+dHaff6/O/lGOa5/SUYDMZpkww==",
"optional": true
},
"@next/swc-win32-ia32-msvc": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.10.tgz",
"integrity": "sha512-7RVpZ3tSThC6j+iZB0CUYmFiA3kXmN+pE7QcfyAxFaflKlaZoWNMKHIEZDuxSJc6YmQ6kyxsjqxVay2F5+/YCg==",
"optional": true
},
"@next/swc-win32-x64-msvc": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.10.tgz",
"integrity": "sha512-oUIWRKd24jFLRWUYO1CZmML5+32BcpVfqhimGaaZIXcOkfQW+iqiAzdqsv688zaGtyKGeB9ZtiK3NDf+Q0v+Vw==",
"optional": true
},
"antd": {
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/antd/-/antd-4.20.0.tgz",
"integrity": "sha512-Msowfvabsn/yJIo3qYU0vMqGb31OUylMeFRDilosBViG2AS8R2VB2IX53kbw4kFV3vr7fr2HXcuQkf/FMLU+Dg==",
"requires": {
"@ant-design/colors": "^6.0.0",
"@ant-design/icons": "^4.7.0",
"@ant-design/react-slick": "~0.28.1",
"@babel/runtime": "^7.12.5",
"@ctrl/tinycolor": "^3.4.0",
"classnames": "^2.2.6",
"copy-to-clipboard": "^3.2.0",
"lodash": "^4.17.21",
"memoize-one": "^6.0.0",
"moment": "^2.29.2",
"rc-cascader": "~3.5.0",
"rc-checkbox": "~2.3.0",
"rc-collapse": "~3.1.0",
"rc-dialog": "~8.8.1",
"rc-drawer": "~4.4.2",
"rc-dropdown": "~3.5.0",
"rc-field-form": "~1.26.1",
"rc-image": "~5.6.0",
"rc-input": "~0.0.1-alpha.5",
"rc-input-number": "~7.3.0",
"rc-mentions": "~1.7.0",
"rc-menu": "~9.5.5",
"rc-motion": "^2.5.1",
"rc-notification": "~4.6.0",
"rc-pagination": "~3.1.9",
"rc-picker": "~2.6.4",
"rc-progress": "~3.2.1",
"rc-rate": "~2.9.0",
"rc-resize-observer": "^1.2.0",
"rc-segmented": "~2.0.0",
"rc-select": "~14.1.1",
"rc-slider": "~10.0.0",
"rc-steps": "~4.1.0",
"rc-switch": "~3.2.0",
"rc-table": "~7.24.0",
"rc-tabs": "~11.13.0",
"rc-textarea": "~0.3.0",
"rc-tooltip": "~5.1.1",
"rc-tree": "~5.5.0",
"rc-tree-select": "~5.3.0",
"rc-trigger": "^5.2.10",
"rc-upload": "~4.3.0",
"rc-util": "^5.20.0",
"scroll-into-view-if-needed": "^2.2.25"
},
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
},
"array-tree-filter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
"integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
},
"async-validator": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.0.7.tgz",
"integrity": "sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ=="
},
"caniuse-lite": {
"version": "1.0.30001309",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz",
"integrity": "sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA=="
},
"classnames": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz",
"integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA=="
},
"compute-scroll-into-view": {
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz",
"integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
},
"copy-to-clipboard": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
"integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
"requires": {
"toggle-selection": "^1.0.6"
}
},
"date-fns": {
"version": "2.28.0",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
"integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw=="
},
"dayjs": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz",
"integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA=="
},
"dom-align": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.2.tgz",
"integrity": "sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg=="
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"json2mq": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
"integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
"requires": {
"string-convert": "^0.2.0"
}
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
},
"moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
},
"nanoid": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
},
"next": {
"version": "12.0.10",
"resolved": "https://registry.npmjs.org/next/-/next-12.0.10.tgz",
"integrity": "sha512-1y3PpGzpb/EZzz1jgne+JfZXKAVJUjYXwxzrADf/LWN+8yi9o79vMLXpW3mevvCHkEF2sBnIdjzNn16TJrINUw==",
"requires": {
"@next/env": "12.0.10",
"@next/swc-android-arm64": "12.0.10",
"@next/swc-darwin-arm64": "12.0.10",
"@next/swc-darwin-x64": "12.0.10",
"@next/swc-linux-arm-gnueabihf": "12.0.10",
"@next/swc-linux-arm64-gnu": "12.0.10",
"@next/swc-linux-arm64-musl": "12.0.10",
"@next/swc-linux-x64-gnu": "12.0.10",
"@next/swc-linux-x64-musl": "12.0.10",
"@next/swc-win32-arm64-msvc": "12.0.10",
"@next/swc-win32-ia32-msvc": "12.0.10",
"@next/swc-win32-x64-msvc": "12.0.10",
"caniuse-lite": "^1.0.30001283",
"postcss": "8.4.5",
"styled-jsx": "5.0.0",
"use-subscription": "1.5.1"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"postcss": {
"version": "8.4.5",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
"requires": {
"nanoid": "^3.1.30",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.1"
}
},
"rc-align": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.11.tgz",
"integrity": "sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"dom-align": "^1.7.0",
"lodash": "^4.17.21",
"rc-util": "^5.3.0",
"resize-observer-polyfill": "^1.5.1"
},
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
},
"rc-cascader": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.5.0.tgz",
"integrity": "sha512-rpXnWCfvk7Frh2dBzMoA0c7i0nn6aJU7L2NZo8R8pNkrT0sKgytQSpdtPWP+Pq8IkvwbEd8BU8Z8OnOljcqgZg==",
"requires": {
"@babel/runtime": "^7.12.5",
"array-tree-filter": "^2.1.0",
"classnames": "^2.3.1",
"rc-select": "~14.1.0",
"rc-tree": "~5.5.0",
"rc-util": "^5.6.1"
}
},
"rc-checkbox": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz",
"integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1"
}
},
"rc-collapse": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.4.tgz",
"integrity": "sha512-WayrhswKMwuJab9xbqFxXTgV0m6X8uOPEO6zm/GJ5YJiJ/wIh/Dd2VtWeI06HYUEnTFv0HNcYv+zWbB+p6OD2A==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.3.4",
"rc-util": "^5.2.1",
"shallowequal": "^1.1.0"
}
},
"rc-dialog": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.8.1.tgz",
"integrity": "sha512-7M1WKZCjfIABKEaJVskdYvb80z+RX7I11PeSjPVfLOOaJAmIepvDEd0alBtOZvOL3fZFWlMs4JVZtp9LZgONxA==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
"rc-motion": "^2.3.0",
"rc-util": "^5.21.0"
}
},
"rc-drawer": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.4.3.tgz",
"integrity": "sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
"rc-util": "^5.7.0"
}
},
"rc-dropdown": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.5.0.tgz",
"integrity": "sha512-HHMpzO6AJt3I2jBG8fFK9LqFMQhHn/V09AzQnqCCV8Fp22tNCS98Obelcc4C8T6ZlZR+/w01im0BQVP3o1Y+Cw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
"rc-trigger": "^5.0.4",
"rc-util": "^5.17.0"
}
},
"rc-field-form": {
"version": "1.26.2",
"resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.26.2.tgz",
"integrity": "sha512-Q1QdpLAt/kxd119kJwGfFvn/ZIzjzTBJsCscy5k0z3g+eRMHkI0Exij6SE2D42N7FAzVkvuXTvzqWSiFGeer7g==",
"requires": {
"@babel/runtime": "^7.8.4",
"async-validator": "^4.0.2",
"rc-util": "^5.8.0"
}
},
"rc-image": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.6.0.tgz",
"integrity": "sha512-fYDKjMWtVWgOJ63YCh1NXMXCSr/nXvzFyK1Z/vlfR4dUAFilRtu78PjlKgtprn1+N8EKs1+1lBCxWg58+n3ztQ==",
"requires": {
"@babel/runtime": "^7.11.2",
"classnames": "^2.2.6",
"rc-dialog": "~8.8.0",
"rc-util": "^5.0.6"
}
},
"rc-input": {
"version": "0.0.1-alpha.6",
"resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.0.1-alpha.6.tgz",
"integrity": "sha512-kgpmbxa9vp6kPLW7IP5/Lf6wuaMq+pUq+dPz98vIM58h4wkEKgBQlkMIg9OCEVQIiR8rEPEoe4dO2fc9R0aypQ==",
"requires": {
"@babel/runtime": "^7.11.1",
"classnames": "^2.2.1",
"rc-util": "^5.18.1"
}
},
"rc-input-number": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.4.tgz",
"integrity": "sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-util": "^5.9.8"
}
},
"rc-mentions": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.7.0.tgz",
"integrity": "sha512-d3tZWCQIseQrn5ZpnUuaeKTQctgGwVzcEUVpVswxvnsLB1/e2H12xHzVqH87AvPkHMs9m3oFZINbuC5Qxevv6g==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
"rc-menu": "~9.5.1",
"rc-textarea": "^0.3.0",
"rc-trigger": "^5.0.4",
"rc-util": "^5.0.1"
}
},
"rc-menu": {
"version": "9.5.5",
"resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.5.5.tgz",
"integrity": "sha512-wj2y2BAKwSMyWXO3RBf9sNN5V+DFWxFl45Ma6qQEHA5nwwh7p07bNgc6AAJc+L1+LAz+rWz3AU8PYyT17hMHCw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.4.3",
"rc-overflow": "^1.2.0",
"rc-trigger": "^5.1.2",
"rc-util": "^5.12.0",
"shallowequal": "^1.1.0"
}
},
"rc-motion": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.5.1.tgz",
"integrity": "sha512-h3GKMjFJkK+4z6fNfVlIMrb7WFCZsreivVvHOBb38cKcpKDx5g3kpHwn5Ekbo1+g0nnC02Dtap2trfCAPGxllw==",
"requires": {
"@babel/runtime": "^7.11.1",
"classnames": "^2.2.1",
"rc-util": "^5.21.0"
}
},
"rc-notification": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.0.tgz",
"integrity": "sha512-xF3MKgIoynzjQAO4lqsoraiFo3UXNYlBfpHs0VWvwF+4pimen9/H1DYLN2mfRWhHovW6gRpla73m2nmyIqAMZQ==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.2.0",
"rc-util": "^5.20.1"
}
},
"rc-overflow": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.5.tgz",
"integrity": "sha512-5HJKZ4nPe9e7AFdCkflgpRydvH6lJ4i2iFF06q/T1G9lL/XBeuoPLRrTBU8ao/Vo/yARW6WfEHnC2951lVgX5Q==",
"requires": {
"@babel/runtime": "^7.11.1",
"classnames": "^2.2.1",
"rc-resize-observer": "^1.0.0",
"rc-util": "^5.19.2"
}
},
"rc-pagination": {
"version": "3.1.15",
"resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.15.tgz",
"integrity": "sha512-4L3fot8g4E+PjWEgoVGX0noFCg+8ZFZmeLH4vsnZpB3O2T2zThtakjNxG+YvSaYtyMVT4B+GLayjKrKbXQpdAg==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1"
}
},
"rc-picker": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.7.tgz",
"integrity": "sha512-+P2Grt0r2kmCkw2XTp9ew3zTCwBCFEOQLd5BYs+hFaGDSSZwEWJtlbGXAGqWnAUMFx6JrCsKYkDKXDxAWlRz3A==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
"date-fns": "2.x",
"dayjs": "1.x",
"moment": "^2.24.0",
"rc-trigger": "^5.0.4",
"rc-util": "^5.4.0",
"shallowequal": "^1.1.0"
}
},
"rc-progress": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.2.4.tgz",
"integrity": "sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.6",
"rc-util": "^5.16.1"
}
},
"rc-rate": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.1.tgz",
"integrity": "sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-util": "^5.0.1"
}
},
"rc-resize-observer": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz",
"integrity": "sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
"rc-util": "^5.15.0",
"resize-observer-polyfill": "^1.5.1"
}
},
"rc-segmented": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.0.0.tgz",
"integrity": "sha512-YsdS+aP7E6ZMEY35WSlewJIsrjPbBSP4X/7RvZtzLExKDZwFvXdCPCbWFVDNks4jOYY9TUPYt7qlVifEu9/zXA==",
"requires": {
"@babel/runtime": "^7.11.1",
"classnames": "^2.2.1",
"rc-motion": "^2.4.4",
"rc-util": "^5.17.0"
}
},
"rc-select": {
"version": "14.1.1",
"resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.1.tgz",
"integrity": "sha512-l2TSSy/rwvfob0SmQ0sPQ1pUMUq65u6U4Y9lc9dvQOMSMzDSga4b3tEgIgzN1YKzakV65wGXMOBVecjixPEZ4Q==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.0.1",
"rc-overflow": "^1.0.0",
"rc-trigger": "^5.0.4",
"rc-util": "^5.16.1",
"rc-virtual-list": "^3.2.0"
}
},
"rc-slider": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.0.tgz",
"integrity": "sha512-Bk54UIKWW4wyhHcL8ehAxt+wX+n69dscnHTX6Uv0FMxSke/TGrlkZz1LSIWblCpfE2zr/dwR2Ca8nZGk3U+Tbg==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-tooltip": "^5.0.1",
"rc-util": "^5.18.1",
"shallowequal": "^1.1.0"
}
},
"rc-steps": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.1.4.tgz",
"integrity": "sha512-qoCqKZWSpkh/b03ASGx1WhpKnuZcRWmvuW+ZUu4mvMdfvFzVxblTwUM+9aBd0mlEUFmt6GW8FXhMpHkK3Uzp3w==",
"requires": {
"@babel/runtime": "^7.10.2",
"classnames": "^2.2.3",
"rc-util": "^5.0.1"
}
},
"rc-switch": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz",
"integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
"rc-util": "^5.0.1"
}
},
"rc-table": {
"version": "7.24.1",
"resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.24.1.tgz",
"integrity": "sha512-DRWpv5z5pmOaTmy5GqWoskeV1thaOu5HuD+2f61b/CkbBqlgJR3cygc5R/Qvd2uVW6pHU0lYulhmz0VLVFm+rw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-resize-observer": "^1.1.0",
"rc-util": "^5.14.0",
"shallowequal": "^1.1.0"
}
},
"rc-tabs": {
"version": "11.13.0",
"resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.13.0.tgz",
"integrity": "sha512-aUw1Pq0B1a2zGX4o/m3yrQycZcCLgDp6gKwn8IAU07q148RRONsVGxi0oLVVe5SE51kOB+j0bk1RX43ZBdZNgA==",
"requires": {
"@babel/runtime": "^7.11.2",
"classnames": "2.x",
"rc-dropdown": "~3.5.0",
"rc-menu": "~9.5.1",
"rc-resize-observer": "^1.0.0",
"rc-util": "^5.5.0"
}
},
"rc-textarea": {
"version": "0.3.7",
"resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.7.tgz",
"integrity": "sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.1",
"rc-resize-observer": "^1.0.0",
"rc-util": "^5.7.0",
"shallowequal": "^1.1.0"
}
},
"rc-tooltip": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.1.1.tgz",
"integrity": "sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==",
"requires": {
"@babel/runtime": "^7.11.2",
"rc-trigger": "^5.0.0"
}
},
"rc-tree": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.5.0.tgz",
"integrity": "sha512-vpKeFsDyj7weik8UPseCTaSNAPt939qn1dQd8goSbRDajbjJEja0v/WFXyRhOiF1HLemNTfqMz4MYc9qlqyNXg==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-motion": "^2.0.1",
"rc-util": "^5.16.1",
"rc-virtual-list": "^3.4.2"
}
},
"rc-tree-select": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.3.0.tgz",
"integrity": "sha512-UN6CUBulmch+CsihnJ73+DtWijEB1hVTC8sdVxq6E0teVAkHQZUvDj+cwZShtShAKvWwXy73PZ1hIHEUrmVcKw==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "2.x",
"rc-select": "~14.1.0",
"rc-tree": "~5.5.0",
"rc-util": "^5.16.1"
}
},
"rc-trigger": {
"version": "5.2.17",
"resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.2.17.tgz",
"integrity": "sha512-s+Y7ms8kBtTVHPmCQRGnmOZxEh7Z/LZneLhQ6D6hSqC+Y5Q0O+XtNoboCvEcyNmAddUx4BhdX0qCl+nHDCDGXw==",
"requires": {
"@babel/runtime": "^7.11.2",
"classnames": "^2.2.6",
"rc-align": "^4.0.0",
"rc-motion": "^2.0.0",
"rc-util": "^5.19.2"
}
},
"rc-upload": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.3.tgz",
"integrity": "sha512-YoJ0phCRenMj1nzwalXzciKZ9/FAaCrFu84dS5pphwucTC8GUWClcDID/WWNGsLFcM97NqIboDqrV82rVRhW/w==",
"requires": {
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-util": "^5.2.0"
}
},
"rc-util": {
"version": "5.21.0",
"resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.21.0.tgz",
"integrity": "sha512-5THhvHk69Mqfn9CHoqOWKFjfOrJop0364bT2NU8baMthJCiyfJs3SyDfJJbKZqw9LHhw17eMpat3g4WVFmLIng==",
"requires": {
"@babel/runtime": "^7.12.5",
"react-is": "^16.12.0",
"shallowequal": "^1.1.0"
}
},
"rc-virtual-list": {
"version": "3.4.6",
"resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.6.tgz",
"integrity": "sha512-wMJ7Bl+AxgIDojp0VxuQxjpNulKodwxGXSsTyxA9Mwzwemj5vKAgTbkPT64ZW5ORf8FOQAaPRlMiTADrPEo3sQ==",
"requires": {
"classnames": "^2.2.6",
"rc-resize-observer": "^1.0.0",
"rc-util": "^5.15.0"
}
},
"react": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"react-dom": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
"integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"scheduler": "^0.20.2"
}
},
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"scheduler": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"scroll-into-view-if-needed": {
"version": "2.2.29",
"resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz",
"integrity": "sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==",
"requires": {
"compute-scroll-into-view": "^1.0.17"
}
},
"shallowequal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
},
"string-convert": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
"integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
},
"styled-jsx": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz",
"integrity": "sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA=="
},
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"use-subscription": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
"integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==",
"requires": {
"object-assign": "^4.1.1"
}
},
"@next/swc-android-arm-eabi": {
"version": "13.1.1",
"resolved": "https://registry.npm.alibaba-inc.com/@next/swc-android-arm-eabi/download/@next/swc-android-arm-eabi-13.1.1.tgz",
"integrity": "sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==",
"optional": true
},
"@next/swc-freebsd-x64": {
"version": "13.1.1",
"resolved": "https://registry.npm.alibaba-inc.com/@next/swc-freebsd-x64/download/@next/swc-freebsd-x64-13.1.1.tgz",
"integrity": "sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==",
"optional": true
}
}
}

21
package.json Normal file
View File

@ -0,0 +1,21 @@
{
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"axios": "^0.26.1",
"immer": "^9.0.12",
"invariant": "^2.2.4",
"lodash": "^4.17.21",
"next": "latest",
"next-redux-wrapper": "^7.0.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^7.2.8",
"redux": "^4.1.2",
"redux-saga": "^1.1.3"
}
}

5
pages/_app.js Normal file
View File

@ -0,0 +1,5 @@
import '../styles/global.css'
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}

23
pages/about/index.js Normal file
View File

@ -0,0 +1,23 @@
import Avatar from "../components/Avatar";
import Head from 'next/head';
import Layout, { siteTitle } from '../../components/Layout';
import utilStyles from '../../styles/utils.module.css';
function About() {
return (
<Layout about>
<Head>
<title>{siteTitle}</title>
</Head>
<section className={utilStyles.headingMd}>
<p>[Your Self Introduction]</p>
<p>
(This is a sample website - youll be building a site like this on{' '}
<a href="https://nextjs.org/learn">our Next.js tutorial</a>.)
</p>
</section>
</Layout>
)
}
export default About;

73
pages/comments/index.jsx Normal file
View File

@ -0,0 +1,73 @@
import { useEffect, useState } from "react";
const concurrencyRequest = (urls, maxNum) => {
return new Promise((resolve) => {
if (urls.length === 0) {
resolve([]);
return;
}
const results = [];
let index = 0;
let count = 0;
async function request() {
if (index === urls.length) return;
const i = index;
const url = urls[index];
index++;
// 1errorawait
try {
const response = await fetch(url);
const resp = await response.json();
results[i] = resp;
} catch (err) {
results[i] = err;
} finally {
count++;
if (count === urls.length) {
console.log("finish");
resolve(results);
}
// sequence parallel
request();
}
}
const timers = Math.min(maxNum, urls.length);
for (let i = 0; i < timers; i++) {
// request --- parallel,error--1
console.log('r2', i)
request();
}
})
}
function urlGen() {
let urls = [];
for (let i = 0; i < 100; i++) {
urls.push(`http://jsonplaceholder.typicode.com/posts/${i}`)
}
return urls;
}
const allRequests = urlGen();
function Comments() {
// learning parallel request with limite
const [post, setPost] = useState([]);
useEffect(() => {
async function concurrentFetch() {
const response = await concurrencyRequest(allRequests, 10);
console.log(response)
}
concurrentFetch();
}, [])
return (
<div>
<h1>Post</h1>
<p>{ post.id }</p>
</div>
);
}
export default Comments;

View File

@ -0,0 +1,7 @@
import Image from 'next/image'
function Avatar() {
return <Image src="/profile.png" alt="me" width="130" height="150" />
}
export default Avatar

View File

@ -0,0 +1,16 @@
import style from "../../styles/neumorphism.module.css";
function ThreeDLetter() {
const array = [1, 2, 3, 4, 5]
return (
<div className={ style.neumorphism_container }>
<div className={ style.loader }>
{/* style here is new way to give css variable, see in the style sheet */ }
{ array.map(item => <div className="" style={ { "--i": item } }></div>) }
</div>
</div >
);
}
export default ThreeDLetter;

View File

@ -0,0 +1,15 @@
import style from "../../styles/ambientLight.module.css";
function AmbientLight() {
const array = [0, 1, 2, 3]
return (
<div className={ style.container }>
<div className={ style.cube }>
{ array.map(item => <span style={ { "--i": item } }></span>) }
</div>
</div>
);
}
export default AmbientLight;

View File

@ -0,0 +1,11 @@
import style from "../../styles/glowing.module.css";
function GlowingText() {
return (
<div className={ style.container }>
<h2 className={ style.sentence }><span>I</span>M<span>POSSIBLE</span></h2>
</div>
);
}
export default GlowingText;

View File

@ -0,0 +1,9 @@
function CssEffect() {
return (
<div>
cssEffect
</div>
);
}
export default CssEffect;

View File

@ -0,0 +1,17 @@
import style from "../../styles/isometricText.module.css";
function IsometricText() {
let shawdow = '';
for (let i = 0; i < 30; i++) {
shawdow += (shawdow ? ',' : '') + -i + 'px ' + i + 'px 0 #d9d9d9'
}
console.log('shad', shawdow)
return (
<div className={ style.container }>
<div className={ style.text } style={ { textShadow: shawdow } } data-text="hello">Hello</div>
<div className={ style.text } style={ { textShadow: shawdow } } data-text="world !">World !</div>
</div>
);
}
export default IsometricText;

View File

@ -0,0 +1,14 @@
import style from "../../styles/loaderEffect.module.css";
function LoaderEffect() {
const arr = [1, 2, 3, 4, 5, 6];
return (
<div className={ style.loader_container }>
<div className={ style.loader }>
{ arr.map(item => <span></span>) }
</div>
</div>
);
}
export default LoaderEffect;

View File

@ -0,0 +1,16 @@
import style from "../../styles/neumorphism.module.css";
function Neumorphism() {
const array = [1, 2, 3, 4, 5]
return (
<div className={ style.neumorphism_container }>
<div className={ style.loader }>
{/* style here is new way to give css variable, see in the style sheet */ }
{ array.map(item => <div className="" style={ { "--i": item } }></div>) }
</div>
</div >
);
}
export default Neumorphism;

View File

@ -0,0 +1,11 @@
import style from "../../styles/cssEffect.module.css";
function WaterDrop() {
return (
<div className={ style.water_drop_container }>
<div className={ style.water_drop }></div>
</div>
);
}
export default WaterDrop;

View File

@ -0,0 +1,53 @@
import React from "react";
import PropTypes from "prop-types";
import * as dropEffects from "../../utils/dropEffects";
const draggingStyle = {
opacity: 0.25,
color: "blue",
};
const Drag = props => {
const [isDragging, setIsDragging] = React.useState(false);
const image = React.useRef(null);
React.useEffect(() => {
image.current = null;
if (props.dragImage) {
image.current = new Image();
image.current.src = props.dragImage;
}
}, [props.dragImage])
const startDrag = ev => {
setIsDragging(true);
ev.dataTransfer.setData("drag-item", props.dataItem);
console.log('drag-item', props.dataItem)
ev.dataTransfer.effectAllowed = props.dropEffect;
if (image.current) {
ev.dataTransfer.setDragImage(image.current, 0, 0);
}
};
const dragEnd = () => setIsDragging(false);
return (
<div style={ isDragging ? draggingStyle : {} } draggable onDragStart={ startDrag } onDragEnd={ dragEnd }>
{ props.children }
</div>
);
};
Drag.propTypes = {
dataItem: PropTypes.string.isRequired,
dragImage: PropTypes.string,
dropEffect: PropTypes.string,
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
};
Drag.defaultProps = {
dragImage: null,
dropEffect: dropEffects.All,
};
export default Drag;

View File

@ -0,0 +1,19 @@
import React from "react";
import Drag from "./drag";
import logo from "../../public/aimon.png";
const items = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10"];
export default () => {
// console.log('logo', logo)
return (
<div className="drag-drop-container">
{ items.map(item => (
<Drag key={ item } dataItem={ item } dragImage={ '' } dropEffect="link">
<div className="item">{ item }</div>
</Drag>
)) }
</div>
);
};

View File

@ -0,0 +1,19 @@
import React from "react";
import DropTarget from "./dropTarget";
export default () => {
const [items, setItems] = React.useState([]);
const itemDropped = item => setItems([...items, item]);
return (
<DropTarget onItemDropped={ itemDropped } dropEffect="link">
<div className="drag-drop-container">
{ items.map(item => (
<div key={ item } className="item">
{ item }
</div>
)) }
</div>
</DropTarget>
);
};

View File

@ -0,0 +1,58 @@
import React from "react";
import PropTypes from "prop-types";
import * as dropEffects from "../../utils/dropEffects";
const insideStyle = {
backgroundColor: "#cccccc",
opacity: 0.5,
};
const DropTarget = props => {
const [isOver, setIsOver] = React.useState(false);
const dragOver = ev => {
ev.preventDefault();
ev.dataTransfer.dropEffect = props.dropEffect;
};
const drop = ev => {
const droppedItem = ev.dataTransfer.getData("drag-item");
console.log('dropItem', droppedItem)
if (droppedItem) {
props.onItemDropped(droppedItem);
}
setIsOver(false);
};
const dragEnter = ev => {
console.log('dragEnter', ev)
ev.dataTransfer.dropEffect = props.dropEffect;
setIsOver(true);
};
const dragLeave = () => setIsOver(false);
return (
<div
onDragOver={ dragOver }
onDrop={ drop }
onDragEnter={ dragEnter }
onDragLeave={ dragLeave }
style={ { width: "100%", minHeight: "100px", border: "1px solid black", ...(isOver ? insideStyle : {}) } }
>
{ props.children }
</div>
);
};
DropTarget.propTypes = {
onItemDropped: PropTypes.func.isRequired,
dropEffect: PropTypes.string,
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
};
DropTarget.defaultProps = {
dropEffect: dropEffects.All,
};
export default DropTarget;

View File

@ -0,0 +1,42 @@
import React from "react";
import DragList from "./dragList";
import DropList from "./dropList";
// import style from '../../styles/dragAndDrop.module.css';
function DragDropContainer() {
return (
<div className="container-fluid">
<div className="row">
<div className="drag" >
<DragList />
</div>
<div className="drop" >
<DropList />
</div>
</div>
<style jsx>{ `
.container-fluid{
height: 100vh;
}
.row{
overflow:hidden
height:100%;
}
.drag-drop-container{
margin: 50px;
border: 2px dashed blue;
}
.drag{
margin: 50px;
border: 2px dashed blue;
}
`}
</style>
</div >
);
}
export default DragDropContainer;

218
pages/index.js Normal file
View File

@ -0,0 +1,218 @@
import Head from 'next/head'
import Link from 'next/link'
export default function Home() {
const cat = '🐈';
const computer = '💻';
return (
<div className="container">
<Head>
<title>Miaomiao Blog App</title>
<link rel="icon" href="/favicon.ico" />
</Head>
<main>
<h1 className="title">
<a href="https://nextjs.org">Miaomiao </a> Blog! haha
</h1>
<p className="description">
A {cat} <span className='heart'> &#9829; </span> <code>code</code> {computer}
</p>
<div className="grid">
{/* <a href="/posts/first-post" className="card">
<h3><Link href="/posts/first-post">CSS BFC &rarr;</Link></h3>
<p>Demo about css BFC !</p>
</a> */}
{/* <a href="/posts/flex-demo" className="card">
<h3>Learn &rarr;</h3>
<p> Demo about CSS!</p>
</a>
<a
href="https://github.com/vercel/next.js/tree/master/examples"
className="card"
>
<h3>Examples &rarr;</h3>
<p>Discover and deploy boilerplate example Next.js projects.</p>
</a>
<a
href="https://vercel.com/import?filter=next.js&utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
className="card"
>
<h3>Deploy &rarr;</h3>
<p>
Instantly deploy your Next.js site to a public URL with Vercel.
</p>
</a> */}
</div>
</main>
<footer>
<a
href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
Edited by Miaomiao
</a>
</footer>
<style jsx>{`
.container {
min-height: 100vh;
padding: 0 0.5rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
}
a {
color: inherit;
text-decoration: none;
}
.title a {
color: #0070f3;
text-decoration: none;
}
.title a:hover,
.title a:focus,
.title a:active {
text-decoration: underline;
}
.title {
margin: 0;
line-height: 1.15;
font-size: 4rem;
}
.title,
.description {
text-align: center;
}
.description {
line-height: 1.5;
font-size: 1.5rem;
}
.description .heart {
color: red;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono,
DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
.grid {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 800px;
margin-top: 3rem;
}
.card {
margin: 1rem;
flex-basis: 45%;
padding: 1.5rem;
text-align: left;
color: inherit;
text-decoration: none;
border: 1px solid #eaeaea;
border-radius: 10px;
transition: color 0.15s ease, border-color 0.15s ease;
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
border-color: #0070f3;
}
.card h3 {
margin: 0 0 1rem 0;
font-size: 1.5rem;
}
.card p {
margin: 0;
font-size: 1.25rem;
line-height: 1.5;
}
.logo {
height: 1em;
}
@media (max-width: 600px) {
.grid {
width: 100%;
flex-direction: column;
}
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
)
}

38
pages/posts/first-post.js Normal file
View File

@ -0,0 +1,38 @@
import Layout from '../../components/Layout';
export default function FirstPost() {
return (
<Layout>
<p>
没有分界线可以是边框padding也可以是BFC形成的空间隔开就有可能发生外边距合并
display:inline-block || add two child-container and set the overflow to create bfc
</p>
<div className='parent'>
<div className='child-container'>
<div className='child updiv'>give parent div border or padding to prevent margin fusion</div>
</div>
<div className='child-container'>
<div className='child downdiv'>give brother's element inline-block , margin will not be in fusion</div>
</div>
</div>
<style jsx>{`
.parent{
height: 500px;
background-color:green;
padding: 50px;
margin-bottom: 100px;
}
.child-container{
overflow:hidden
}
.child{
height:100px;
background-color:blue;
margin: 50px;
// display: inline-block; no need to creat child-container
}
`}</style>
</Layout>
)
}

32
pages/posts/float.js Normal file
View File

@ -0,0 +1,32 @@
import Layout from '../../components/Layout';
export default function SecondPost() {
return (
<Layout>
<p>parent's height, padding and border have not been setted, use overflow:hidden to creat BFC to support the height</p>
<div className='parent'>
<div className='child updiv'>float element</div>
<div className='child downdiv'>float element</div>
<div className='clear'></div>
</div>
<style jsx>{`
.parent{
background-color:yellow;
margin-bottom: 100px;
// overflow:hidden; //!1
}
.child{
height:100px;
background-color:orange;
margin: 50px;
float:left;
}
.clear{
clear:both //2
}
`}</style>
</Layout>
)
}

35
pages/posts/third-post.js Normal file
View File

@ -0,0 +1,35 @@
import Layout from '../../components/Layout';
export default function ThirdPost() {
return (
<Layout>
<div id="header">bfc will not influence the outside word</div>
<div id="content">
<div className="aside">aside</div>
<div className="main">
我是main 我是main 我是main 我是main 我是main 我是main 我是main 我是main 我是main 我是main 我是main 我是main...
</div>
</div>
<div id="footer"></div>
<style jsx>{`
#header, #footer{
background-color: #E83151;
height: 40px;
}
#header{
margin-top: 50px;
}
#content .aside{
background-color: blue;
float:left;
width: 140px;
}
#content .main{
background-color: pink;
overflow: auto; //interesiting
}
`}</style>
</Layout>
)
}

38
pages/users/[id].js Normal file
View File

@ -0,0 +1,38 @@
export const getStaticPaths = async() => {
// generate all the routes for the static page
// how many htmls files we need
const res = await fetch('https://jsonplaceholder.typicode.com/users');
const data = await res.json();
const paths = data.map(user=>({
params: {id:user.id.toString()}
}))
return {
paths,
fallback:false
}
}
export const getStaticProps = async(context) => {
const id = context.params.id;
const res = await fetch(`https://jsonplaceholder.typicode.com/users/${id}`);
const data =await res.json();
return {
props: {
user:data
}
}
}
// dynamic router
function UserDetail({user}) {
return (
<div>
<h1>User detail</h1>
<div>{user.name}</div>
<div>{user.email}</div>
</div>
);
}
export default UserDetail;

31
pages/users/index.js Normal file
View File

@ -0,0 +1,31 @@
import style from '../../styles/users.module.css';
import Link from 'next/link';
// run at build time not in the browser
// how to fetch data in next js
export const getStaticProps = async()=>{
const response = await fetch('https://jsonplaceholder.typicode.com/users');
const data = await response.json();
return {
// pass as props to component
props: {
users: data
}
}
}
function Users({users}) {
return (
<div>
<h1>All users</h1>
{
users.map((u)=>(
<Link href={`/users/${u.id}`} key={u.id}>
{u.name}
</Link>
))
}
</div>
);
}
export default Users;

11
posts/pre-rendering.md Normal file
View File

@ -0,0 +1,11 @@
---
title: 'Two Forms of Pre-rendering'
date: '2020-01-01'
---
Next.js has two forms of pre-rendering: **Static Generation** and **Server-side Rendering**. The difference is in **when** it generates the HTML for a page.
- **Static Generation** is the pre-rendering method that generates the HTML at **build time**. The pre-rendered HTML is then _reused_ on each request.
- **Server-side Rendering** is the pre-rendering method that generates the HTML on **each request**.
Importantly, Next.js lets you **choose** which pre-rendering form to use for each page. You can create a "hybrid" Next.js app by using Static Generation for most pages and using Server-side Rendering for others.

19
posts/ssg-ssr.md Normal file
View File

@ -0,0 +1,19 @@
---
title: 'When to Use Static Generation v.s. Server-side Rendering'
date: '2020-01-02'
---
We recommend using **Static Generation** (with and without data) whenever possible because your page can be built once and served by CDN, which makes it much faster than having a server render the page on every request.
You can use Static Generation for many types of pages, including:
- Marketing pages
- Blog posts
- E-commerce product listings
- Help and documentation
You should ask yourself: "Can I pre-render this page **ahead** of a user's request?" If the answer is yes, then you should choose Static Generation.
On the other hand, Static Generation is **not** a good idea if you cannot pre-render a page ahead of a user's request. Maybe your page shows frequently updated data, and the page content changes on every request.
In that case, you can use **Server-Side Rendering**. It will be slower, but the pre-rendered page will always be up-to-date. Or you can skip pre-rendering and use client-side JavaScript to populate data.

BIN
public/aimon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/profile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

4
public/vercel.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="283" height="64" viewBox="0 0 283 64" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M141.04 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM248.72 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.45 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM200.24 34c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10zm82.48-29v46h-9V5h9zM36.95 0L73.9 64H0L36.95 0zm92.38 5l-27.71 48L73.91 5H84.3l17.32 30 17.32-30h10.39zm58.91 12v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10V51h-9V17h9v9.2c0-5.08 5.91-9.2 13.2-9.2z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,13 @@
.cube{
position: relative;
width: 300px;
height: 300px;
transform-style: preserve-3d;
}
.cube div{
position: absolute;
top:0;
left:0;
width: 100%;
}

View File

@ -0,0 +1,31 @@
.water_drop_container{
display: flex;
justify-content: center;
align-items: center;
background-color: #eee;
height: 100vh;
}
.water_drop{
position: relative;
width: 150px;
height: 150px;
box-shadow: inset 10px 10px 10px rgba(0, 0, 0, 0.05),
15px 25px 10px rgba(0, 0, 0, 0.05),
15px 20px 20px rgba(0, 0, 255, 0.05),
inset -10px -10px 15px rgba(255, 255, 255, 0.9);
border-radius: 50%;
}
.water_drop::before{
content: '';
position: absolute;
top: 35px;
left: 30px;
width: 20px;
height: 18px;
border-radius: 40%;
background-color: white;
}

32
styles/global.css Normal file
View File

@ -0,0 +1,32 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu,
Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
line-height: 1.6;
font-size: 18px;
}
* {
box-sizing: border-box;
}
a {
color: #0070f3;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
img {
max-width: 100%;
display: block;
}

42
styles/glowing.module.css Normal file
View File

@ -0,0 +1,42 @@
.container{
display: flex;
justify-content: center;
align-items: center;
background-color: black;
height: 100vh;
}
.sentence{
font-size: 6em;
font-weight: 500;
color: #222;
letter-spacing: 5px;
cursor: pointer;
}
/* new thing, controle the margin-right*/
.sentence span{
transition: .5s;
}
.sentence:hover span:nth-child(1){
margin-right: 10px;
}
.sentence:hover span:nth-child(1):after{
content: "'";
}
.sentence:hover span:nth-child(2){
margin-left: 40px;
}
.sentence:hover span{
color: #fff;
text-shadow: 0 0 10px #fff,
0 0 20px #fff,
0 0 40px #fff,
0 0 80px #fff,
0 0 120px #fff,
0 0 160px #fff;
}

View File

@ -0,0 +1,32 @@
.container{
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
/* display: flex; */
/* flex-direction: column; */
/* justify-content: left; */
align-items: center;
background-color: #f1f1f1;
height: 100vh;
margin: auto;
padding: 0 20%;
}
.text{
position: relative;
color: #fff;
font-weight: 700;
text-align: left;
font-size: 12em;
letter-spacing: 2px;
transform: rotate(-10deg) skew(20deg);
}
.text::before{
content: attr(data-text);
position: absolute;
color: rgba(0,0,0,0.3);
top: 30px;
left: -30px;
text-shadow:none;
filter: blur(8px);
z-index: -1;
}

View File

@ -0,0 +1,66 @@
.loader_container{
display: flex;
justify-content: center;
align-items: center;
background-color: #2196f3;
height: 100vh;
}
.loader{
display: flex;
flex-direction: row;
}
.loader span{
width: 50px;
height: 300px;
margin: 0 20px;
/* background-color: #2196f3; */
animation: anime 2s linear infinite;
}
.loader span:nth-child(1)
{
animation-delay: 0;
}
.loader span:nth-child(2)
{
animation-delay: 0.2s;
}
.loader span:nth-child(3)
{
animation-delay: 0.4s;
}
.loader span:nth-child(4)
{
animation-delay: 0.6s;
}
.loader span:nth-child(5)
{
animation-delay: 0.8s;
}
.loader span:nth-child(6)
{
animation-delay: 1s;
}
@keyframes anime{
0%{
box-shadow: 0 0 0 rgba(0, 0, 0, .5);
opacity: 0;
transform: translateX(-50px) scale(1);
}
50%{
box-shadow: 0 20px 30px rgba(0, 0, 0, .5);
opacity: 1;
transform: translateX(0px) scale(1.2);
}
100%{
box-shadow: 0 0 0 rgba(0, 0, 0, .5);
opacity: 0;
transform: translateX(50px) scale(1);
}
}

View File

@ -0,0 +1,78 @@
.neumorphism_container{
display: flex;
justify-content: center;
align-items: center;
background-color: #edf1f4;
height: 100vh;
}
.loader{
display: flex;
flex-direction: row;
}
.loader div{
position: relative;
width: 40px;
height: 200px;
margin: 20px;
z-index: 5;
overflow: hidden;
/* border: 1px solid red; */
box-shadow: 15px 30px 20px rgba(0, 0, 0,0.1),
-15px -15px 20px #fff,
inset 5px 5px 10px rgba(0, 0, 0, 0.1),
inset -5px -5px 10px #fff;
border-radius: 40px;
border: 2px solid #edf1f4;
background: linear-gradient(to bottom, rgba(0,0,0,#edf1f4));
}
.loader div::before{
content: '';
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
border-radius: 40px;
z-index: 5;
box-shadow: 15px 30px 20px rgba(0, 0, 0,0.1),
-15px -15px 20px #fff,
inset 5px 5px 10px rgba(0, 0, 0, 0.1),
inset -5px -5px 10px #fff;
}
.loader div::after{
content: '';
position: absolute;
top: 0px;
left: 0px;
width: 36px;
height: 36px;
background-color: #fff;
border-radius: 50%;
box-shadow:inset -5px -5px 5px rgba(0, 0, 0,0.2),
0px 320px 0px 300px #2196f3;
animation: animate 2.5s ease-in-out infinite;
animation-delay: calc(-0.5s * var(--i));
}
@keyframes animate
{
0% {
transform: translateY(160px);
filter: hue-rotate(180deg);
}
50% {
transform: translateY(0);
}
100%{
transform: translateY(160px);
filter: hue-rotate(0deg);
}
}

11
styles/users.module.css Normal file
View File

@ -0,0 +1,11 @@
.single {
padding: 2px 16px;
width: 10em;
background: lightblue;
display: block;
margin: 20px 10px;
border-left: 8px solid lightblue;
}
.single:hover{
border-left: 8px solid #4979ff;
}

52
styles/utils.module.css Normal file
View File

@ -0,0 +1,52 @@
.heading2Xl {
font-size: 2.5rem;
line-height: 1.2;
font-weight: 800;
letter-spacing: -0.05rem;
margin: 1rem 0;
}
.headingXl {
font-size: 2rem;
line-height: 1.3;
font-weight: 800;
letter-spacing: -0.05rem;
margin: 1rem 0;
}
.headingLg {
font-size: 1.5rem;
line-height: 1.4;
margin: 1rem 0;
}
.headingMd {
font-size: 1.2rem;
line-height: 1.5;
}
.borderCircle {
border-radius: 9999px;
}
.colorInherit {
color: inherit;
}
.padding1px {
padding-top: 1px;
}
.list {
list-style: none;
padding: 0;
margin: 0;
}
.listItem {
margin: 0 0 1.25rem;
}
.lightText {
color: #666;
}

8
utils/dropEffects.js Normal file
View File

@ -0,0 +1,8 @@
export const All = "all";
export const Move = "move";
export const Copy = "copy";
export const Link = "link";
export const CopyOrMove = "copyMove";
export const CopyOrLink = "copyLink";
export const LinkOrMove = "linkMove";
export const None = "none";

393
yarn.lock Normal file
View File

@ -0,0 +1,393 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/runtime@^7.15.4", "@babel/runtime@^7.6.3", "@babel/runtime@^7.9.2":
version "7.20.7"
resolved "https://registry.npm.alibaba-inc.com/@babel/runtime/download/@babel/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
dependencies:
regenerator-runtime "^0.13.11"
"@next/env@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/env/download/@next/env-13.1.1.tgz#6ff26488dc7674ef2bfdd1ca28fe43eed1113bea"
integrity sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==
"@next/swc-android-arm-eabi@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-android-arm-eabi/download/@next/swc-android-arm-eabi-13.1.1.tgz#b5c3cd1f79d5c7e6a3b3562785d4e5ac3555b9e1"
integrity sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==
"@next/swc-android-arm64@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-android-arm64/download/@next/swc-android-arm64-13.1.1.tgz#e2ca9ccbba9ef770cb19fbe96d1ac00fe4cb330d"
integrity sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==
"@next/swc-darwin-arm64@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-darwin-arm64/download/@next/swc-darwin-arm64-13.1.1.tgz#4af00877332231bbd5a3703435fdd0b011e74767"
integrity sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==
"@next/swc-darwin-x64@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-darwin-x64/download/@next/swc-darwin-x64-13.1.1.tgz#bf4cb09e7e6ec6d91e031118dde2dd17078bcbbc"
integrity sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==
"@next/swc-freebsd-x64@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-freebsd-x64/download/@next/swc-freebsd-x64-13.1.1.tgz#6933ea1264328e8523e28818f912cd53824382d4"
integrity sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==
"@next/swc-linux-arm-gnueabihf@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-linux-arm-gnueabihf/download/@next/swc-linux-arm-gnueabihf-13.1.1.tgz#b5896967aaba3873d809c3ad2e2039e89acde419"
integrity sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==
"@next/swc-linux-arm64-gnu@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-linux-arm64-gnu/download/@next/swc-linux-arm64-gnu-13.1.1.tgz#91b3e9ea8575b1ded421c0ea0739b7bccf228469"
integrity sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==
"@next/swc-linux-arm64-musl@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-linux-arm64-musl/download/@next/swc-linux-arm64-musl-13.1.1.tgz#83149ea05d7d55f3664d608dbe004c0d125f9147"
integrity sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==
"@next/swc-linux-x64-gnu@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-linux-x64-gnu/download/@next/swc-linux-x64-gnu-13.1.1.tgz#d7d0777b56de0dd82b78055772e13e18594a15ca"
integrity sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==
"@next/swc-linux-x64-musl@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-linux-x64-musl/download/@next/swc-linux-x64-musl-13.1.1.tgz#41655722b127133cd95ab5bc8ca1473e9ab6876f"
integrity sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==
"@next/swc-win32-arm64-msvc@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-win32-arm64-msvc/download/@next/swc-win32-arm64-msvc-13.1.1.tgz#f10da3dfc9b3c2bbd202f5d449a9b807af062292"
integrity sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==
"@next/swc-win32-ia32-msvc@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-win32-ia32-msvc/download/@next/swc-win32-ia32-msvc-13.1.1.tgz#4c0102b9b18ece15c818056d07e3917ee9dade78"
integrity sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==
"@next/swc-win32-x64-msvc@13.1.1":
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/@next/swc-win32-x64-msvc/download/@next/swc-win32-x64-msvc-13.1.1.tgz#c209a37da13be27b722f9c40c40ab4b094866244"
integrity sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==
"@redux-saga/core@^1.2.2":
version "1.2.2"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/core/download/@redux-saga/core-1.2.2.tgz#99b1daac93a42feecd9bab449f452f56f3155fea"
integrity sha512-0qr5oleOAmI5WoZLRA6FEa30M4qKZcvx+ZQOQw+RqFeH8t20bvhE329XSPsNfTVP8C6qyDsXOSjuoV+g3+8zkg==
dependencies:
"@babel/runtime" "^7.6.3"
"@redux-saga/deferred" "^1.2.1"
"@redux-saga/delay-p" "^1.2.1"
"@redux-saga/is" "^1.1.3"
"@redux-saga/symbols" "^1.1.3"
"@redux-saga/types" "^1.2.1"
redux "^4.0.4"
typescript-tuple "^2.2.1"
"@redux-saga/deferred@^1.2.1":
version "1.2.1"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/deferred/download/@redux-saga/deferred-1.2.1.tgz#aca373a08ccafd6f3481037f2f7ee97f2c87c3ec"
integrity sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==
"@redux-saga/delay-p@^1.2.1":
version "1.2.1"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/delay-p/download/@redux-saga/delay-p-1.2.1.tgz#e72ac4731c5080a21f75b61bedc31cb639d9e446"
integrity sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==
dependencies:
"@redux-saga/symbols" "^1.1.3"
"@redux-saga/is@^1.1.3":
version "1.1.3"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/is/download/@redux-saga/is-1.1.3.tgz#b333f31967e87e32b4e6b02c75b78d609dd4ad73"
integrity sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==
dependencies:
"@redux-saga/symbols" "^1.1.3"
"@redux-saga/types" "^1.2.1"
"@redux-saga/symbols@^1.1.3":
version "1.1.3"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/symbols/download/@redux-saga/symbols-1.1.3.tgz#b731d56201719e96dc887dc3ae9016e761654367"
integrity sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==
"@redux-saga/types@^1.2.1":
version "1.2.1"
resolved "https://registry.npm.alibaba-inc.com/@redux-saga/types/download/@redux-saga/types-1.2.1.tgz#9403f51c17cae37edf870c6bc0c81c1ece5ccef8"
integrity sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==
"@swc/helpers@0.4.14":
version "0.4.14"
resolved "https://registry.npm.alibaba-inc.com/@swc/helpers/download/@swc/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74"
integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==
dependencies:
tslib "^2.4.0"
"@types/hoist-non-react-statics@^3.3.0":
version "3.3.1"
resolved "https://registry.npm.alibaba-inc.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f"
integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58=
dependencies:
"@types/react" "*"
hoist-non-react-statics "^3.3.0"
"@types/prop-types@*":
version "15.7.5"
resolved "https://registry.npm.alibaba-inc.com/@types/prop-types/download/@types/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
"@types/react-redux@^7.1.20":
version "7.1.25"
resolved "https://registry.npm.alibaba-inc.com/@types/react-redux/download/@types/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88"
integrity sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==
dependencies:
"@types/hoist-non-react-statics" "^3.3.0"
"@types/react" "*"
hoist-non-react-statics "^3.3.0"
redux "^4.0.0"
"@types/react@*":
version "18.0.26"
resolved "https://registry.npm.alibaba-inc.com/@types/react/download/@types/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/scheduler@*":
version "0.16.2"
resolved "https://registry.npm.alibaba-inc.com/@types/scheduler/download/@types/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
integrity sha1-GmL4lSVyPd4kuhsBsJK/XfitTTk=
axios@^0.26.1:
version "0.26.1"
resolved "https://registry.npm.alibaba-inc.com/axios/download/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
dependencies:
follow-redirects "^1.14.8"
caniuse-lite@^1.0.30001406:
version "1.0.30001442"
resolved "https://registry.npm.alibaba-inc.com/caniuse-lite/download/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614"
integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==
client-only@0.0.1:
version "0.0.1"
resolved "https://registry.npm.alibaba-inc.com/client-only/download/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
csstype@^3.0.2:
version "3.1.1"
resolved "https://registry.npm.alibaba-inc.com/csstype/download/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
follow-redirects@^1.14.8:
version "1.15.2"
resolved "https://registry.npm.alibaba-inc.com/follow-redirects/download/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.npm.alibaba-inc.com/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U=
dependencies:
react-is "^16.7.0"
immer@^9.0.12:
version "9.0.17"
resolved "https://registry.npm.alibaba-inc.com/immer/download/immer-9.0.17.tgz#7cfe8fbb8b461096444e9da7a5ec4a67c6c4adf4"
integrity sha512-+hBruaLSQvkPfxRiTLK/mi4vLH+/VQS6z2KJahdoxlleFOI8ARqzOF17uy12eFDlqWmPoygwc5evgwcp+dlHhg==
invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.npm.alibaba-inc.com/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
dependencies:
loose-envify "^1.0.0"
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.npm.alibaba-inc.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npm.alibaba-inc.com/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.npm.alibaba-inc.com/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.npm.alibaba-inc.com/nanoid/download/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
next-redux-wrapper@^7.0.5:
version "7.0.5"
resolved "https://registry.npm.alibaba-inc.com/next-redux-wrapper/download/next-redux-wrapper-7.0.5.tgz#109cd3fe02183b18fbd094924cfcbd21262039dc"
integrity sha1-EJzT/gIYOxj70JSSTPy9ISYgOdw=
next@latest:
version "13.1.1"
resolved "https://registry.npm.alibaba-inc.com/next/download/next-13.1.1.tgz#42b825f650410649aff1017d203a088d77c80b5b"
integrity sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==
dependencies:
"@next/env" "13.1.1"
"@swc/helpers" "0.4.14"
caniuse-lite "^1.0.30001406"
postcss "8.4.14"
styled-jsx "5.1.1"
optionalDependencies:
"@next/swc-android-arm-eabi" "13.1.1"
"@next/swc-android-arm64" "13.1.1"
"@next/swc-darwin-arm64" "13.1.1"
"@next/swc-darwin-x64" "13.1.1"
"@next/swc-freebsd-x64" "13.1.1"
"@next/swc-linux-arm-gnueabihf" "13.1.1"
"@next/swc-linux-arm64-gnu" "13.1.1"
"@next/swc-linux-arm64-musl" "13.1.1"
"@next/swc-linux-x64-gnu" "13.1.1"
"@next/swc-linux-x64-musl" "13.1.1"
"@next/swc-win32-arm64-msvc" "13.1.1"
"@next/swc-win32-ia32-msvc" "13.1.1"
"@next/swc-win32-x64-msvc" "13.1.1"
object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.npm.alibaba-inc.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.alibaba-inc.com/picocolors/download/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=
postcss@8.4.14:
version "8.4.14"
resolved "https://registry.npm.alibaba-inc.com/postcss/download/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
prop-types@^15.7.2:
version "15.8.1"
resolved "https://registry.npm.alibaba-inc.com/prop-types/download/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
dependencies:
loose-envify "^1.4.0"
object-assign "^4.1.1"
react-is "^16.13.1"
react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.npm.alibaba-inc.com/react-dom/download/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
dependencies:
loose-envify "^1.1.0"
scheduler "^0.23.0"
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.npm.alibaba-inc.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=
react-is@^17.0.2:
version "17.0.2"
resolved "https://registry.npm.alibaba-inc.com/react-is/download/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=
react-redux@^7.2.8:
version "7.2.9"
resolved "https://registry.npm.alibaba-inc.com/react-redux/download/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d"
integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==
dependencies:
"@babel/runtime" "^7.15.4"
"@types/react-redux" "^7.1.20"
hoist-non-react-statics "^3.3.2"
loose-envify "^1.4.0"
prop-types "^15.7.2"
react-is "^17.0.2"
react@^18.2.0:
version "18.2.0"
resolved "https://registry.npm.alibaba-inc.com/react/download/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
dependencies:
loose-envify "^1.1.0"
redux-saga@^1.1.3:
version "1.2.2"
resolved "https://registry.npm.alibaba-inc.com/redux-saga/download/redux-saga-1.2.2.tgz#4b9b30e022cf94ed1450605e9afd45998c3e8ac1"
integrity sha512-6xAHWgOqRP75MFuLq88waKK9/+6dCdMQjii2TohDMARVHeQ6HZrZoJ9HZ3dLqMWCZ9kj4iuS6CDsujgnovn11A==
dependencies:
"@redux-saga/core" "^1.2.2"
redux@^4.0.0, redux@^4.0.4, redux@^4.1.2:
version "4.2.0"
resolved "https://registry.npm.alibaba-inc.com/redux/download/redux-4.2.0.tgz#46f10d6e29b6666df758780437651eeb2b969f13"
integrity sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==
dependencies:
"@babel/runtime" "^7.9.2"
regenerator-runtime@^0.13.11:
version "0.13.11"
resolved "https://registry.npm.alibaba-inc.com/regenerator-runtime/download/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
scheduler@^0.23.0:
version "0.23.0"
resolved "https://registry.npm.alibaba-inc.com/scheduler/download/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
dependencies:
loose-envify "^1.1.0"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.alibaba-inc.com/source-map-js/download/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
styled-jsx@5.1.1:
version "5.1.1"
resolved "https://registry.npm.alibaba-inc.com/styled-jsx/download/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f"
integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==
dependencies:
client-only "0.0.1"
tslib@^2.4.0:
version "2.4.1"
resolved "https://registry.npm.alibaba-inc.com/tslib/download/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
typescript-compare@^0.0.2:
version "0.0.2"
resolved "https://registry.npm.alibaba-inc.com/typescript-compare/download/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425"
integrity sha1-fuQKQApAbC6gp+VR79MwkCHV9CU=
dependencies:
typescript-logic "^0.0.0"
typescript-logic@^0.0.0:
version "0.0.0"
resolved "https://registry.npm.alibaba-inc.com/typescript-logic/download/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196"
integrity sha1-ZuvYKiVI8rREpDZnvsEgtJaJAZY=
typescript-tuple@^2.2.1:
version "2.2.1"
resolved "https://registry.npm.alibaba-inc.com/typescript-tuple/download/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2"
integrity sha1-fZgT+0s1X2msVQMuA2Pouw8E2tI=
dependencies:
typescript-compare "^0.0.2"