From 493517c04699dfa4fb870e55525426e1a3026d62 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Mon, 18 Sep 2023 17:55:21 +0800 Subject: [PATCH 01/11] feat: support live code --- examples/normal/.dumi/pages/loader-test.tsx | 4 + examples/normal/package.json | 1 + examples/normal/src/Foo/demo/work.tsx | 9 +- examples/normal/src/Foo/index.md | 4 +- package.json | 2 + pnpm-lock.yaml | 814 +++++++++++++++++- src/client/theme-api/evalCode.ts | 12 + src/client/theme-api/index.ts | 2 + src/client/theme-api/useDemoScopes.ts | 12 + src/client/theme-api/useRouteMeta.ts | 4 +- .../builtins/Previewer/index.tsx | 38 +- .../slots/PreviewerActions/index.tsx | 5 +- src/features/compile/index.ts | 26 + src/features/exports.ts | 1 + src/features/meta.ts | 9 + src/loaders/markdown/index.ts | 141 ++- src/templates/meta-scopes.ts.tpl | 22 + 17 files changed, 1075 insertions(+), 31 deletions(-) create mode 100644 src/client/theme-api/evalCode.ts create mode 100644 src/client/theme-api/useDemoScopes.ts create mode 100644 src/templates/meta-scopes.ts.tpl diff --git a/examples/normal/.dumi/pages/loader-test.tsx b/examples/normal/.dumi/pages/loader-test.tsx index 0e51fba745..e5b008de02 100644 --- a/examples/normal/.dumi/pages/loader-test.tsx +++ b/examples/normal/.dumi/pages/loader-test.tsx @@ -1,2 +1,6 @@ // Customize Page for dumi test +import * as scopes from '../../src/Foo/index.md?type=scope'; + +console.log(scopes); + export default () => 'Customize Dumi Test Page'; diff --git a/examples/normal/package.json b/examples/normal/package.json index a048b980d5..b0cc238dc9 100644 --- a/examples/normal/package.json +++ b/examples/normal/package.json @@ -8,6 +8,7 @@ "start": "npm run dev" }, "dependencies": { + "antd": "^5.0.0", "react": "^18.2.0" }, "devDependencies": { diff --git a/examples/normal/src/Foo/demo/work.tsx b/examples/normal/src/Foo/demo/work.tsx index e73dd6052a..1442a85233 100644 --- a/examples/normal/src/Foo/demo/work.tsx +++ b/examples/normal/src/Foo/demo/work.tsx @@ -2,5 +2,12 @@ * title: 我是标题 * description: 我是简介,我可以用 `Markdown` 来编写 */ +import { Button, Space } from 'antd'; +import React from 'react'; -export default () => 'External Demo Block'; +export default () => ( + +
External Demo Block
+ +
+); diff --git a/examples/normal/src/Foo/index.md b/examples/normal/src/Foo/index.md index ace042fc67..d988f8333c 100644 --- a/examples/normal/src/Foo/index.md +++ b/examples/normal/src/Foo/index.md @@ -1,7 +1,9 @@ 组件路由测试 ```jsx -export default () => 'Hello Foo!'; +import React from 'react'; + +export default () =>
Hello Foo!
; ``` 你好,Foo! diff --git a/package.json b/package.json index 74576c10b8..c5a5e81aae 100644 --- a/package.json +++ b/package.json @@ -121,6 +121,7 @@ "react-copy-to-clipboard": "^5.1.0", "react-error-boundary": "^4.0.10", "react-intl": "^6.4.4", + "react-simple-code-editor": "latest", "rehype-autolink-headings": "^6.1.1", "rehype-remove-comments": "^5.0.0", "rehype-stringify": "^9.0.3", @@ -131,6 +132,7 @@ "remark-rehype": "^10.1.0", "sass": "^1.64.1", "sitemap": "^7.1.1", + "sucrase": "latest", "umi": "^4.0.73", "unified": "^10.1.2", "unist-util-visit": "^4.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35aa1b6f26..6ba859f6a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,6 +146,9 @@ importers: react-intl: specifier: ^6.4.4 version: 6.4.4(react@18.2.0)(typescript@5.0.4) + react-simple-code-editor: + specifier: latest + version: 0.13.1(react-dom@17.0.2)(react@18.2.0) rehype-autolink-headings: specifier: ^6.1.1 version: 6.1.1 @@ -176,6 +179,9 @@ importers: sitemap: specifier: ^7.1.1 version: 7.1.1 + sucrase: + specifier: latest + version: 3.34.0 umi: specifier: ^4.0.73 version: 4.0.73(@babel/core@7.22.9)(@types/node@18.17.1)(@types/react@18.2.17)(eslint@8.46.0)(postcss@8.4.25)(prettier@2.8.8)(react-dom@17.0.2)(react@18.2.0)(sass@1.64.1)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4)(webpack@5.82.0) @@ -300,6 +306,9 @@ importers: examples/normal: dependencies: + antd: + specifier: ^5.0.0 + version: 5.4.7(react-dom@18.1.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -385,7 +394,6 @@ packages: resolution: {integrity: sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==} dependencies: '@ctrl/tinycolor': 3.6.0 - dev: true /@ant-design/cssinjs@0.0.0-alpha.54(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-oCQOaXfpLrSTFZiVV9/y7u9ykwyzE4KUBHq19cBkNfOv3Q2rdxfckv1Fun+ovBZblqU85YGxpDIGch9Xzkiixw==} @@ -421,6 +429,23 @@ packages: stylis: 4.1.3 dev: true + /@ant-design/cssinjs@1.9.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-CZt1vCMs/sY7RoacYuIkZwQmb8Bhp99ReNNE9Y8lnUzik8fmCdKAQA7ecvVOFwmNFdcBHga7ye/XIRrsbkiqWw==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.21.0 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.3.2 + csstype: 3.1.1 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + stylis: 4.1.3 + dev: false + /@ant-design/icons-svg@4.2.1: resolution: {integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==} @@ -456,6 +481,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /@ant-design/icons@5.0.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-ZyF4ksXCcdtwA/1PLlnFLcF/q8/MhwxXhKHh4oCHDA4Ip+ZzAHoICtyp4wZWfiCVDP0yuz3HsjyvuldHFb3wjA==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 7.0.0 + '@ant-design/icons-svg': 4.2.1 + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@ant-design/pro-card@2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-PGFcfIF3Qegtpo97LmzB4QtBS2dGXTvt6A/HMUgcZzW6cs2rHeAdDYJedpTkJUK8r76ZCxxVDIHufFuscK+bTg==} peerDependencies: @@ -733,7 +774,6 @@ packages: react: 18.2.0 resize-observer-polyfill: 1.5.1 throttle-debounce: 5.0.0 - dev: true /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} @@ -1613,11 +1653,9 @@ packages: /@ctrl/tinycolor@3.6.0: resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==} engines: {node: '>=10'} - dev: true /@emotion/hash@0.8.0: resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - dev: true /@emotion/is-prop-valid@1.2.1: resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} @@ -2130,14 +2168,14 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.17 /@jridgewell/resolve-uri@3.1.0: @@ -2159,7 +2197,6 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} @@ -2171,7 +2208,7 @@ packages: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@loadable/component@5.15.2(react@18.1.0): @@ -2495,12 +2532,23 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /@rc-component/context@1.3.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@rc-component/mini-decimal@1.0.1: resolution: {integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==} engines: {node: '>=8.x'} dependencies: '@babel/runtime': 7.21.0 - dev: true /@rc-component/mutate-observer@1.0.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==} @@ -2516,6 +2564,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /@rc-component/mutate-observer@1.0.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@rc-component/portal@1.1.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==} engines: {node: '>=8.x'} @@ -2529,6 +2591,20 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /@rc-component/portal@1.1.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@rc-component/tour@1.8.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==} engines: {node: '>=8.x'} @@ -2545,6 +2621,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /@rc-component/tour@1.8.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@rc-component/trigger@1.12.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-exkkpV2ImoTUORRzdxpuxiRIV7bteE6B/c6ccYL8zmv4i188H/9yU8r5JH5aF25fcpayd/YScKrdK/7JZdtuOw==} engines: {node: '>=8.x'} @@ -2562,6 +2654,24 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /@rc-component/trigger@1.12.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-exkkpV2ImoTUORRzdxpuxiRIV7bteE6B/c6ccYL8zmv4i188H/9yU8r5JH5aF25fcpayd/YScKrdK/7JZdtuOw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-align: 4.0.12(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /@rushstack/node-core-library@3.51.1: resolution: {integrity: sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A==} dependencies: @@ -3767,7 +3877,7 @@ packages: axios: 0.27.2 babel-plugin-import: 1.13.5 dayjs: 1.11.6 - dva-core: 2.0.4(redux@4.2.0) + dva-core: 2.0.4(redux@3.7.2) dva-immer: 1.0.0(dva@2.5.0-beta.2) dva-loading: 3.0.22(dva-core@2.0.4) event-emitter: 0.3.5 @@ -4364,6 +4474,71 @@ packages: - moment dev: true + /antd@5.4.7(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-kFClbdlrultV1SJh8oxHSCCsO3iLGc6QFu0IIHGNuC4JHkDc2Ed94sk7XSmOTcENLcTd7BQYP0A4nK0VERp7vA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@ant-design/colors': 7.0.0 + '@ant-design/cssinjs': 1.9.1(react-dom@18.1.0)(react@18.2.0) + '@ant-design/icons': 5.0.1(react-dom@18.1.0)(react@18.2.0) + '@ant-design/react-slick': 1.0.0(react@18.2.0) + '@babel/runtime': 7.21.0 + '@ctrl/tinycolor': 3.6.0 + '@rc-component/mutate-observer': 1.0.0(react-dom@18.1.0)(react@18.2.0) + '@rc-component/tour': 1.8.0(react-dom@18.1.0)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + copy-to-clipboard: 3.3.3 + dayjs: 1.11.6 + qrcode.react: 3.1.0(react@18.2.0) + rc-cascader: 3.10.3(react-dom@18.1.0)(react@18.2.0) + rc-checkbox: 3.0.0(react-dom@18.1.0)(react@18.2.0) + rc-collapse: 3.5.2(react-dom@18.1.0)(react@18.2.0) + rc-dialog: 9.1.0(react-dom@18.1.0)(react@18.2.0) + rc-drawer: 6.1.5(react-dom@18.1.0)(react@18.2.0) + rc-dropdown: 4.0.1(react-dom@18.1.0)(react@18.2.0) + rc-field-form: 1.30.0(react-dom@18.1.0)(react@18.2.0) + rc-image: 5.16.0(react-dom@18.1.0)(react@18.2.0) + rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) + rc-input-number: 7.4.2(react-dom@18.1.0)(react@18.2.0) + rc-mentions: 2.2.0(react-dom@18.1.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-notification: 5.0.3(react-dom@18.1.0)(react@18.2.0) + rc-pagination: 3.3.1(react-dom@18.1.0)(react@18.2.0) + rc-picker: 3.6.2(dayjs@1.11.6)(react-dom@18.1.0)(react@18.2.0) + rc-progress: 3.4.1(react-dom@18.1.0)(react@18.2.0) + rc-rate: 2.10.0(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-segmented: 2.1.2(react-dom@18.1.0)(react@18.2.0) + rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) + rc-slider: 10.1.1(react-dom@18.1.0)(react@18.2.0) + rc-steps: 6.0.0(react-dom@18.1.0)(react@18.2.0) + rc-switch: 4.1.0(react-dom@18.1.0)(react@18.2.0) + rc-table: 7.31.1(react-dom@18.1.0)(react@18.2.0) + rc-tabs: 12.5.6(react-dom@18.1.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.1.0)(react@18.2.0) + rc-tooltip: 6.0.1(react-dom@18.1.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) + rc-tree-select: 5.8.0(react-dom@18.1.0)(react@18.2.0) + rc-upload: 4.3.4(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + scroll-into-view-if-needed: 3.0.10 + throttle-debounce: 5.0.0 + transitivePeerDependencies: + - date-fns + - luxon + - moment + dev: false + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + /anymatch@3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -4428,7 +4603,6 @@ packages: /array-tree-filter@2.1.0: resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} - dev: true /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} @@ -4496,7 +4670,6 @@ packages: /async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} - dev: true /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -5246,6 +5419,11 @@ packages: /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: false + /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -5267,7 +5445,6 @@ packages: /compute-scroll-into-view@3.0.3: resolution: {integrity: sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==} - dev: true /concat-map@0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} @@ -5668,7 +5845,6 @@ packages: /dayjs@1.11.6: resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} - dev: true /debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} @@ -5988,7 +6164,7 @@ packages: warning: 3.0.0 dev: true - /dva-core@2.0.4(redux@4.2.0): + /dva-core@2.0.4(redux@3.7.2): resolution: {integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==} peerDependencies: redux: 4.x @@ -5998,7 +6174,7 @@ packages: global: 4.4.0 invariant: 2.2.4 is-plain-object: 2.0.4 - redux: 4.2.0 + redux: 3.7.2 redux-saga: 0.16.2 warning: 3.0.0 dev: true @@ -6019,7 +6195,7 @@ packages: dva-core: ^1.1.0 | ^1.5.0-0 | ^1.6.0-0 dependencies: '@babel/runtime': 7.21.0 - dva-core: 2.0.4(redux@4.2.0) + dva-core: 2.0.4(redux@3.7.2) dev: true /dva@2.5.0-beta.2(react-dom@17.0.2)(react@18.2.0): @@ -7573,6 +7749,17 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -8842,7 +9029,6 @@ packages: resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} dependencies: string-convert: 0.2.1 - dev: true /json5@0.5.1: resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} @@ -10000,6 +10186,14 @@ packages: resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} dev: false + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: false + /nanoid@2.1.11: resolution: {integrity: sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==} dev: false @@ -11389,6 +11583,22 @@ packages: react-dom: 17.0.2(react@18.2.0) resize-observer-polyfill: 1.5.1 + /rc-align@4.0.12(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + dom-align: 1.12.3 + lodash: 4.17.21 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + dev: false + /rc-cascader@3.10.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-RBK1u59a2m/RKY8F+UvW9pUXdPv7bCxh2s2DAb81QjXX7TbwSX92Y0tICYo/Bo8fRsAh2g+7RXVf488/98ijkA==} peerDependencies: @@ -11405,6 +11615,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-cascader@3.10.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-RBK1u59a2m/RKY8F+UvW9pUXdPv7bCxh2s2DAb81QjXX7TbwSX92Y0tICYo/Bo8fRsAh2g+7RXVf488/98ijkA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + array-tree-filter: 2.1.0 + classnames: 2.3.2 + rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-checkbox@3.0.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==} peerDependencies: @@ -11418,6 +11644,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-checkbox@3.0.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-collapse@3.5.2(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} peerDependencies: @@ -11432,6 +11671,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-collapse@3.5.2(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-dialog@9.1.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} peerDependencies: @@ -11447,6 +11700,21 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-dialog@9.1.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-drawer@6.1.5(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-MDRomQXFi+tvDuwsRAddJ2Oy2ayLCZ29weMzp3rJFO9UNEVLEVV7nuyx5lEgNJIdM//tE6wWQV95cTUiMVqD6w==} peerDependencies: @@ -11462,6 +11730,21 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-drawer@6.1.5(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-MDRomQXFi+tvDuwsRAddJ2Oy2ayLCZ29weMzp3rJFO9UNEVLEVV7nuyx5lEgNJIdM//tE6wWQV95cTUiMVqD6w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-dropdown@4.0.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} peerDependencies: @@ -11476,6 +11759,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-dropdown@4.0.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-trigger: 5.3.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-dropdown@4.1.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==} peerDependencies: @@ -11504,6 +11801,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-field-form@1.30.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-hCBa3/+m9SSuEPILSsxB/wd3ZFEmNTQfIhThhMaMp05fLwDDw+2K26lEZf5NuChQlx90VVNUOYmTslH6Ks4tpA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + async-validator: 4.2.5 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-image@5.16.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} peerDependencies: @@ -11520,6 +11831,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-image@5.16.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-dialog: 9.1.0(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-input-number@7.4.2(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} peerDependencies: @@ -11534,6 +11861,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-input-number@7.4.2(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/mini-decimal': 1.0.1 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-input@1.0.4(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} peerDependencies: @@ -11547,6 +11888,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-input@1.0.4(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-mentions@2.2.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} peerDependencies: @@ -11564,6 +11918,23 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-mentions@2.2.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-menu@9.11.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-jq9I3XkPKgFpsn8MYko+OAjnrNxzQGQauy0MNysYZ5iw5JGeg5wwCP/toZX2ZWQwxNUfye14mY/uVLE6HCcQlQ==} peerDependencies: @@ -11596,6 +11967,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-menu@9.8.4(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-overflow: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-trigger: 5.3.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-motion@2.7.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} peerDependencies: @@ -11608,6 +11995,19 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /rc-motion@2.7.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-notification@5.0.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-+wHbHu6RiTNtsZYx42WxWA+tC5m0qyKvJAauO4/6LIEyJspK8fRlFQz+OCFgFwGuNs3cOdo9tLs+cPfztSZwbQ==} engines: {node: '>=8.x'} @@ -11623,6 +12023,21 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-notification@5.0.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-+wHbHu6RiTNtsZYx42WxWA+tC5m0qyKvJAauO4/6LIEyJspK8fRlFQz+OCFgFwGuNs3cOdo9tLs+cPfztSZwbQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-overflow@1.3.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==} peerDependencies: @@ -11636,6 +12051,20 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /rc-overflow@1.3.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-pagination@3.3.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-eI4dSeB3OrFxll7KzWa3ZH63LV2tHxt0AUmZmDwuI6vc3CK5lZhaKUYq0fRowb5586hN+L26j5WZoSz9cwEfjg==} peerDependencies: @@ -11648,6 +12077,18 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-pagination@3.3.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-eI4dSeB3OrFxll7KzWa3ZH63LV2tHxt0AUmZmDwuI6vc3CK5lZhaKUYq0fRowb5586hN+L26j5WZoSz9cwEfjg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-picker@3.6.2(dayjs@1.11.6)(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-acLNCi2WTNAuvTtcEzKp72mU15ni0sqrIKVlEcj04KgLZxhlVPMabCS+Sc8VuOCPJbOcW0XeOydbNnJbWTvzxg==} engines: {node: '>=8.x'} @@ -11677,6 +12118,35 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-picker@3.6.2(dayjs@1.11.6)(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-acLNCi2WTNAuvTtcEzKp72mU15ni0sqrIKVlEcj04KgLZxhlVPMabCS+Sc8VuOCPJbOcW0XeOydbNnJbWTvzxg==} + engines: {node: '>=8.x'} + peerDependencies: + date-fns: '>= 2.x' + dayjs: '>= 1.x' + luxon: '>= 3.x' + moment: '>= 2.x' + react: '>=16.9.0' + react-dom: '>=16.9.0' + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.6 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-progress@3.4.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} peerDependencies: @@ -11690,6 +12160,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-progress@3.4.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-rate@2.10.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} engines: {node: '>=8.x'} @@ -11704,6 +12187,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-rate@2.10.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-resize-observer@1.3.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==} peerDependencies: @@ -11717,6 +12214,20 @@ packages: react-dom: 17.0.2(react@18.2.0) resize-observer-polyfill: 1.5.1 + /rc-resize-observer@1.3.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + dev: false + /rc-segmented@2.1.2(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==} peerDependencies: @@ -11731,6 +12242,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-segmented@2.1.2(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-select@14.4.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw==} engines: {node: '>=8.x'} @@ -11749,6 +12274,24 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-select@14.4.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-overflow: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-virtual-list: 3.5.3(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-slider@10.1.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==} engines: {node: '>=8.x'} @@ -11763,6 +12306,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-slider@10.1.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-steps@6.0.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==} engines: {node: '>=8.x'} @@ -11777,6 +12334,20 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-steps@6.0.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-switch@4.1.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} peerDependencies: @@ -11790,6 +12361,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-switch@4.1.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-table@7.31.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-KZPi35aGpv2VaL1Jbc58FBJo063HtKyVjhOFWX4AkBV7tjHHQokMdUoua5E+GPJh6QZUpK/a8PjKa9IZzPLIEA==} engines: {node: '>=8.x'} @@ -11806,6 +12390,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-table@7.31.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-KZPi35aGpv2VaL1Jbc58FBJo063HtKyVjhOFWX4AkBV7tjHHQokMdUoua5E+GPJh6QZUpK/a8PjKa9IZzPLIEA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/context': 1.3.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-tabs@12.10.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-smeTKWZivfJGxCBHF2D5lgU8WPQ9VZFduJWMnsYS/f8EIf8oH8Y8sAACa62u21Q2jyzEZ2tQf70Fz8mdQBm4Zw==} engines: {node: '>=8.x'} @@ -11842,6 +12442,24 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-tabs@12.5.6(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-aArXHzxK7YICxe+622CZ8FlO5coMi8P7E6tXpseCPKm1gdTjUt0LrQK1/AxcrRXZXG3K4QqhlKmET0+cX5DQaQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-dropdown: 4.0.1(react-dom@18.1.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-textarea@1.2.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==} peerDependencies: @@ -11857,6 +12475,21 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-textarea@1.2.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-tooltip@6.0.1(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==} peerDependencies: @@ -11870,6 +12503,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-tooltip@6.0.1(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-tree-select@5.8.0(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-NozrkVLR8k3cpx8R5/YFmJMptgOacR5zEQHZGMQg31bD6jEgGiJeOn2cGRI6x0Xdyvi1CSqCbUsIoqiej74wzw==} peerDependencies: @@ -11885,6 +12531,21 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-tree-select@5.8.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-NozrkVLR8k3cpx8R5/YFmJMptgOacR5zEQHZGMQg31bD6jEgGiJeOn2cGRI6x0Xdyvi1CSqCbUsIoqiej74wzw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-tree@5.7.9(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-1hKkToz/EVjJlMVwmZnpXeLXt/1iQMsaAq9m+GNkUbK746gkc7QpJXSN/TzjhTI5Hi+LOSlrMaXLMT0bHPqILQ==} engines: {node: '>=10.x'} @@ -11900,6 +12561,22 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /rc-tree@5.7.9(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-1hKkToz/EVjJlMVwmZnpXeLXt/1iQMsaAq9m+GNkUbK746gkc7QpJXSN/TzjhTI5Hi+LOSlrMaXLMT0bHPqILQ==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-virtual-list: 3.5.3(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-trigger@5.3.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==} engines: {node: '>=8.x'} @@ -11916,6 +12593,22 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-trigger@5.3.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-align: 4.0.12(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-upload@4.3.4(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==} peerDependencies: @@ -11929,6 +12622,19 @@ packages: react-dom: 17.0.2(react@18.2.0) dev: true + /rc-upload@4.3.4(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc-util@4.21.1: resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} dependencies: @@ -11950,6 +12656,18 @@ packages: react-dom: 17.0.2(react@18.2.0) react-is: 16.13.1 + /rc-util@5.37.0(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-cPMV8DzaHI1KDaS7XPRXAf4J7mtBqjvjikLpQieaeOO7+cEbqY2j7Kso/T0R0OiEZTNcLS/8Zl9YrlXiO9UbjQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.21.0 + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + react-is: 16.13.1 + dev: false + /rc-virtual-list@3.5.3(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-rG6IuD4EYM8K6oZ8Shu2BC/CmcTdqng4yBWkc/5fjWhB20bl6QwR2Upyt7+MxvfscoVm8zOQY+tcpEO5cu4GaQ==} engines: {node: '>=8.x'} @@ -11964,6 +12682,21 @@ packages: react: 18.2.0 react-dom: 17.0.2(react@18.2.0) + /rc-virtual-list@3.5.3(react-dom@18.1.0)(react@18.2.0): + resolution: {integrity: sha512-rG6IuD4EYM8K6oZ8Shu2BC/CmcTdqng4yBWkc/5fjWhB20bl6QwR2Upyt7+MxvfscoVm8zOQY+tcpEO5cu4GaQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.21.0 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.1.0(react@18.2.0) + dev: false + /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -12254,6 +12987,16 @@ packages: react: 18.2.0 dev: false + /react-simple-code-editor@0.13.1(react-dom@17.0.2)(react@18.2.0): + resolution: {integrity: sha512-XYeVwRZwgyKtjNIYcAEgg2FaQcCZwhbarnkJIV20U2wkCU9q/CPFBo8nRXrK4GXUz3AvbqZFsZRrpUTkqqEYyQ==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + react: 18.2.0 + react-dom: 17.0.2(react@18.2.0) + dev: false + /react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==} peerDependencies: @@ -12806,7 +13549,6 @@ packages: resolution: {integrity: sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==} dependencies: compute-scroll-into-view: 3.0.3 - dev: true /selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} @@ -13189,7 +13931,6 @@ packages: /string-convert@0.2.1: resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} - dev: true /string-width@2.1.1: resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} @@ -13443,7 +14184,20 @@ packages: /stylis@4.1.3: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} - dev: true + + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: false /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -13644,6 +14398,19 @@ packages: engines: {node: '>=0.8'} dev: false + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: false + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: false + /thread-stream@0.15.2: resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} dependencies: @@ -13652,7 +14419,6 @@ packages: /throttle-debounce@5.0.0: resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} engines: {node: '>=12.22'} - dev: true /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -13769,6 +14535,10 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: false + /ts-node@10.9.1(@swc/core@1.3.72)(@types/node@18.17.1)(typescript@5.0.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true diff --git a/src/client/theme-api/evalCode.ts b/src/client/theme-api/evalCode.ts new file mode 100644 index 0000000000..270c62bf32 --- /dev/null +++ b/src/client/theme-api/evalCode.ts @@ -0,0 +1,12 @@ +import type { ComponentType } from 'react'; + +export const evalCode = (code: string, scope: any): ComponentType => { + const scopeKeys = Object.keys(scope); + const scopeValues = scopeKeys.map((key) => scope[key]); + const importReg = /import.*from.*;/g; + console.log(scope); + return new Function( + ...scopeKeys, + code.replace(importReg, '').replace('export default', 'return').trim(), + )(...scopeValues); +}; diff --git a/src/client/theme-api/index.ts b/src/client/theme-api/index.ts index 040f64eabe..4c7bc85966 100644 --- a/src/client/theme-api/index.ts +++ b/src/client/theme-api/index.ts @@ -23,10 +23,12 @@ export { DumiDemo } from './DumiDemo'; export { DumiDemoGrid } from './DumiDemoGrid'; export { DumiPage } from './DumiPage'; export { useDemoData, useSiteData } from './context'; +export { evalCode } from './evalCode'; export { openCodeSandbox } from './openCodeSandbox'; export { openStackBlitz } from './openStackBlitz'; export type { IPreviewerProps } from './types'; export { useAtomAssets } from './useAtomAssets'; +export { useDemoScopes } from './useDemoScopes'; export { useLocale } from './useLocale'; export { useNavData } from './useNavData'; export { usePrefersColor } from './usePrefersColor'; diff --git a/src/client/theme-api/useDemoScopes.ts b/src/client/theme-api/useDemoScopes.ts new file mode 100644 index 0000000000..90f2e665da --- /dev/null +++ b/src/client/theme-api/useDemoScopes.ts @@ -0,0 +1,12 @@ +import { getDemoScopesById } from 'dumi'; +import use from './context/use'; + +const cache = new Map>(); + +export const useDemoScopes = (id: string) => { + if (!cache.has(id)) { + cache.set(id, getDemoScopesById(id)); + } + + return use>(cache.get(id)!); +}; diff --git a/src/client/theme-api/useRouteMeta.ts b/src/client/theme-api/useRouteMeta.ts index e0e9ea74cf..4d6559f738 100644 --- a/src/client/theme-api/useRouteMeta.ts +++ b/src/client/theme-api/useRouteMeta.ts @@ -9,14 +9,14 @@ import { useMemo } from 'react'; import use from './context/use'; import type { IRouteMeta } from './types'; -const cache = new Map>(); +const cache = new Map>(); const useAsyncRouteMeta = (id: string) => { if (!cache.has(id)) { cache.set(id, getRouteMetaById(id)); } - return use>(cache.get(id)); + return use>(cache.get(id)!); }; const emptyMeta = { diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 7c8df054a4..32ac4e5bf1 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -1,14 +1,35 @@ import classnames from 'classnames'; -import { IPreviewerProps, useLocation } from 'dumi'; +import { IPreviewerProps, evalCode, useDemoScopes, useLocation } from 'dumi'; import PreviewerActions from 'dumi/theme/slots/PreviewerActions'; -import React, { useRef, type FC } from 'react'; +import { highlight, languages } from 'prismjs'; +import React, { useRef, useState, type FC } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import Editor from 'react-simple-code-editor'; +import { transform } from 'sucrase'; import './index.less'; +const LiveDemo: FC<{ code: string; scopes: any }> = ({ code, scopes }) => { + const Comp = evalCode( + transform(code, { transforms: ['typescript', 'jsx'] }).code, + scopes, + ); + + return ; +}; + const Previewer: FC = (props) => { const demoContainer = useRef(null); const { hash } = useLocation(); const link = `#${props.asset.id}`; + const scopes = useDemoScopes(props.asset.id); + + const [code, setCode] = useState( + Object.entries(props.asset.dependencies).filter( + ([, { type }]) => type === 'FILE', + )[0][1].value, + ); + return (
= (props) => { src={props.demoUrl} > ) : ( - props.children + // props.children + Compiling...
} resetKeys={[code]}> + + )}
@@ -62,6 +86,14 @@ const Previewer: FC = (props) => { ? (demoContainer.current?.firstElementChild as HTMLIFrameElement) : demoContainer.current! } + sourceCode={ + setCode(code)} + highlight={(code) => highlight(code, languages.js)} + padding={10} + /> + } />
diff --git a/src/client/theme-default/slots/PreviewerActions/index.tsx b/src/client/theme-default/slots/PreviewerActions/index.tsx index e08d4ef142..254cd553ac 100644 --- a/src/client/theme-default/slots/PreviewerActions/index.tsx +++ b/src/client/theme-default/slots/PreviewerActions/index.tsx @@ -23,6 +23,7 @@ export interface IPreviewerActionsProps extends IPreviewerProps { extra?: ReactNode; forceShowCode?: boolean; demoContainer: HTMLDivElement | HTMLIFrameElement; + sourceCode?: ReactNode; } const IconCode: FC = () => ( @@ -185,7 +186,9 @@ const PreviewerActions: FC = (props) => { /> )} - {files[activeKey][1].value} + {props.sourceCode || ( + {files[activeKey][1].value} + )} )} diff --git a/src/features/compile/index.ts b/src/features/compile/index.ts index 733b79a0b4..f45d66f5e5 100644 --- a/src/features/compile/index.ts +++ b/src/features/compile/index.ts @@ -127,6 +127,32 @@ export default (api: IApi) => { }) .end() .end() + // get page scope for each markdown file + .oneOf('md-scope') + .resourceQuery(/scope$/) + .use('babel-loader') + .loader(babelInUmi.loader) + .options(babelInUmi.options) + .end() + .use('md-scope-loader') + .loader(loaderPath) + .options({ + ...loaderBaseOpts, + mode: 'scope', + }) + .end() + .end() + // get page scope-index for each markdown file + .oneOf('md-scope-index') + .resourceQuery(/scope-index$/) + .use('md-scope-index-loader') + .loader(loaderPath) + .options({ + ...loaderBaseOpts, + mode: 'scope-index', + }) + .end() + .end() // get page component for each markdown file .oneOf('md') .use('babel-loader') diff --git a/src/features/exports.ts b/src/features/exports.ts index 288bb78dee..d63a06fbe3 100644 --- a/src/features/exports.ts +++ b/src/features/exports.ts @@ -19,6 +19,7 @@ export default (api: IApi) => { content: `export * from '../exports'; export * from '${winPath(require.resolve('../client/theme-api'))}'; export { getRouteMetaById } from './meta/route-meta'; +export { getDemoScopesById } from './meta/scopes'; export { loadFilesMeta } from './meta/search';`, }); }); diff --git a/src/features/meta.ts b/src/features/meta.ts index c1517904d9..685fc08a3b 100644 --- a/src/features/meta.ts +++ b/src/features/meta.ts @@ -96,6 +96,15 @@ export default (api: IApi) => { }, }); + api.writeTmpFile({ + noPluginDir: true, + path: 'dumi/meta/scopes.ts', + tplPath: winPath(join(TEMPLATES_DIR, 'meta-scopes.ts.tpl')), + context: { + metaFiles: mdFiles, + }, + }); + // generate runtime plugin, to append page meta to route object api.writeTmpFile({ noPluginDir: true, diff --git a/src/loaders/markdown/index.ts b/src/loaders/markdown/index.ts index afbc55ea9b..d3381e2ae3 100644 --- a/src/loaders/markdown/index.ts +++ b/src/loaders/markdown/index.ts @@ -47,13 +47,25 @@ interface IMdLoaderTextModeOptions mode: 'text'; } +interface IMdLoaderScopeModeOptions + extends Omit { + mode: 'scope'; +} + +interface IMdLoaderScopeIndexModeOptions + extends Omit { + mode: 'scope-index'; +} + export type IMdLoaderOptions = | IMdLoaderDefaultModeOptions | IMdLoaderDemosModeOptions | IMdLoaderDemoModeOptions | IMdLoaderFrontmatterModeOptions | IMdLoaderTextModeOptions - | IMdLoaderDemoIndexModeOptions; + | IMdLoaderDemoIndexModeOptions + | IMdLoaderScopeModeOptions + | IMdLoaderScopeIndexModeOptions; function getDemoSourceFiles(demos: IMdTransformerResult['meta']['demos'] = []) { return demos.reduce((ret, demo) => { @@ -241,6 +253,129 @@ export const texts = {{{texts}}};`, ); } +function emitScope(opts: IMdLoaderOptions, ret: IMdTransformerResult) { + const { demos } = ret.meta; + + const importReg = /import.*from.*;/g; + + return Mustache.render( + `{{#renderImport}} +{{{.}}} +{{/renderImport}} + +export const scopes = { +{{#demos}} + '{{{id}}}': { {{{renderScope}}} }, +{{/demos}} +}`, + { + demos, + renderImport: function renderImport() { + // do not render asset for inline demo + if (!demos) return []; + + // render scope for normal demo + const imports: Record = {}; + for (const demo of demos) { + if ('asset' in demo) { + const { asset } = demo; + Object.entries(asset.dependencies).forEach(([filename, file]) => { + if (filename.endsWith('.tsx')) { + const fileImports = + file.value.match(importReg) || + ([] as unknown as RegExpMatchArray); + fileImports.forEach((item) => { + const scope = item.replace(/import(.*)from.*;/, '$1').trim(); + const dep = item.replace(/import.*from(.*);/, '$1').trim(); + + const namedReg = /.*\{(.*)}/g; + const namedScope = namedReg.test(scope) + ? scope + .replace(namedReg, '$1') + .split(',') + .map((item) => item.trim()) + .filter(Boolean) + : []; + + const defaultReg = /(?:(?![,{]).)*/; + const defaultScope = scope.match(defaultReg)?.[0].trim(); + + imports[dep] ??= []; + if (defaultScope) { + const defaultImport = `default as ${defaultScope}`; + if (!imports[dep].includes(defaultImport)) { + imports[dep].push(defaultImport); + } + } + + console.log(namedScope); + if (namedScope.length) { + for (const item of namedScope) { + if (!imports[dep].includes(item)) { + imports[dep].push(item); + } + } + } + }); + } + }); + } + } + + return Object.entries(imports) + .map(([key, value]) => { + return value.length + ? `import { ${value.join(', ')} } from ${key};` + : ''; + }) + .filter(Boolean); + }, + renderScope: function renderScope(this: NonNullable[0]) { + // do not render asset for inline demo + if (!('asset' in this)) return ''; + + // render asset for normal demo + const { asset } = this; + const demoScopes: string[] = []; + Object.entries(asset.dependencies).forEach(([filename, file]) => { + if (filename.endsWith('.tsx')) { + const imports = + file.value.match(importReg) || + ([] as unknown as RegExpMatchArray); + const scopes = imports.reduce((acc, item) => { + const scope = item.replace(/import(.*)from.*;/, '$1').trim(); + const scopeList = scope.replace(/[{}]/g, '').trim(); + return [...acc, scopeList]; + }, []); + demoScopes.push(...scopes); + } + }); + return demoScopes.join(', '); + }, + }, + ); +} + +function emitScopeIndex( + this: any, + opts: IMdLoaderScopeIndexModeOptions, + ret: IMdTransformerResult, +) { + const { demos } = ret.meta; + + return Mustache.render( + `export const scopeIndex = { +{{#demos}} + '{{{id}}}': {{{getter}}}, +{{/demos}} +};`, + { + demos, + getter: `() => import('${winPath(this.resourcePath)}?type=scope')`, + }, + ); +} + function emit(this: any, opts: IMdLoaderOptions, ret: IMdTransformerResult) { const { demos, embeds } = ret.meta; @@ -262,6 +397,10 @@ function emit(this: any, opts: IMdLoaderOptions, ret: IMdTransformerResult) { return emitFrontmatter.call(this, opts, ret); case 'text': return emitText.call(this, opts, ret); + case 'scope': + return emitScope.call(this, opts, ret); + case 'scope-index': + return emitScopeIndex.call(this, opts, ret); default: return emitDefault.call(this, opts, ret); } diff --git a/src/templates/meta-scopes.ts.tpl b/src/templates/meta-scopes.ts.tpl new file mode 100644 index 0000000000..d6034776d5 --- /dev/null +++ b/src/templates/meta-scopes.ts.tpl @@ -0,0 +1,22 @@ +{{#metaFiles}} +import { scopeIndex as scpi{{{index}}} } from '{{{file}}}?type=scope-index'; +{{/metaFiles}} + +const scopeIndexes: Record Promise }> = { + {{#metaFiles}} + ...scpi{{{index}}}, + {{/metaFiles}} +}; + +/** Async to load demo by id */ +export const getDemoScopesById = async (id: string) => { + const getter = scopeIndexes[id]; + + if (!getter) { + return {}; + } + + const { scopes }: any = await getter() || {}; + + return scopes?.[id] || {}; +}; From 65235e900bc45bfc721e6f61935ff28d876b1695 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Mon, 18 Sep 2023 22:00:14 +0800 Subject: [PATCH 02/11] feat: split live plugin --- examples/normal/.dumirc.ts | 1 + src/templates/{meta-scopes.ts.tpl => live-demo-scopes.ts.tpl} | 0 2 files changed, 1 insertion(+) rename src/templates/{meta-scopes.ts.tpl => live-demo-scopes.ts.tpl} (100%) diff --git a/examples/normal/.dumirc.ts b/examples/normal/.dumirc.ts index b5a7c1c952..54258323ec 100644 --- a/examples/normal/.dumirc.ts +++ b/examples/normal/.dumirc.ts @@ -5,6 +5,7 @@ export default { ], themeConfig: { name: '示例' }, mfsu: false, + live: true, apiParser: {}, resolve: { entryFile: './src/index.ts' }, }; diff --git a/src/templates/meta-scopes.ts.tpl b/src/templates/live-demo-scopes.ts.tpl similarity index 100% rename from src/templates/meta-scopes.ts.tpl rename to src/templates/live-demo-scopes.ts.tpl From 09753e5ad94a00b5ff67e84e2cbce14c94fd6c15 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 11:59:18 +0800 Subject: [PATCH 03/11] feat: enabled by live config --- examples/normal/.dumi/pages/loader-test.tsx | 4 -- package.json | 5 +- pnpm-lock.yaml | 11 ++- src/client/theme-api/evalCode.ts | 2 +- src/client/theme-api/index.ts | 1 + src/client/theme-api/useLive.tsx | 46 +++++++++++++ .../builtins/Previewer/index.tsx | 36 ++-------- src/features/exports.ts | 4 +- src/features/live.ts | 67 +++++++++++++++++++ src/features/meta.ts | 9 --- src/loaders/markdown/index.ts | 1 - src/preset.ts | 1 + .../demo-scopes.ts.tpl} | 0 src/templates/live/disabled.ts.tpl | 1 + 14 files changed, 137 insertions(+), 51 deletions(-) create mode 100644 src/client/theme-api/useLive.tsx create mode 100644 src/features/live.ts rename src/templates/{live-demo-scopes.ts.tpl => live/demo-scopes.ts.tpl} (100%) create mode 100644 src/templates/live/disabled.ts.tpl diff --git a/examples/normal/.dumi/pages/loader-test.tsx b/examples/normal/.dumi/pages/loader-test.tsx index e5b008de02..0e51fba745 100644 --- a/examples/normal/.dumi/pages/loader-test.tsx +++ b/examples/normal/.dumi/pages/loader-test.tsx @@ -1,6 +1,2 @@ // Customize Page for dumi test -import * as scopes from '../../src/Foo/index.md?type=scope'; - -console.log(scopes); - export default () => 'Customize Dumi Test Page'; diff --git a/package.json b/package.json index c5a5e81aae..ab492b0494 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "react-copy-to-clipboard": "^5.1.0", "react-error-boundary": "^4.0.10", "react-intl": "^6.4.4", - "react-simple-code-editor": "latest", + "react-simple-code-editor": "^0.13.1", "rehype-autolink-headings": "^6.1.1", "rehype-remove-comments": "^5.0.0", "rehype-stringify": "^9.0.3", @@ -132,7 +132,7 @@ "remark-rehype": "^10.1.0", "sass": "^1.64.1", "sitemap": "^7.1.1", - "sucrase": "latest", + "sucrase": "^3.34.0", "umi": "^4.0.73", "unified": "^10.1.2", "unist-util-visit": "^4.1.2", @@ -151,6 +151,7 @@ "@types/lodash.throttle": "^4.1.7", "@types/node": "^18.17.1", "@types/pluralize": "^0.0.30", + "@types/prismjs": "^1.26.0", "@types/react": "^18.2.17", "@types/react-copy-to-clipboard": "^5.0.4", "@umijs/lint": "^4.0.73", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ba859f6a0..3722c36191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,7 +147,7 @@ importers: specifier: ^6.4.4 version: 6.4.4(react@18.2.0)(typescript@5.0.4) react-simple-code-editor: - specifier: latest + specifier: ^0.13.1 version: 0.13.1(react-dom@17.0.2)(react@18.2.0) rehype-autolink-headings: specifier: ^6.1.1 @@ -180,7 +180,7 @@ importers: specifier: ^7.1.1 version: 7.1.1 sucrase: - specifier: latest + specifier: ^3.34.0 version: 3.34.0 umi: specifier: ^4.0.73 @@ -231,6 +231,9 @@ importers: '@types/pluralize': specifier: ^0.0.30 version: 0.0.30 + '@types/prismjs': + specifier: ^1.26.0 + version: 1.26.0 '@types/react': specifier: ^18.2.17 version: 18.2.17 @@ -3276,6 +3279,10 @@ packages: resolution: {integrity: sha512-kVww6xZrW/db5BR9OqiT71J9huRdQ+z/r+LbDuT7/EK50mCmj5FoaIARnVv0rvjUS/YpDox0cDU9lpQT011VBA==} dev: true + /@types/prismjs@1.26.0: + resolution: {integrity: sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==} + dev: true + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} diff --git a/src/client/theme-api/evalCode.ts b/src/client/theme-api/evalCode.ts index 270c62bf32..3ea7557827 100644 --- a/src/client/theme-api/evalCode.ts +++ b/src/client/theme-api/evalCode.ts @@ -4,7 +4,7 @@ export const evalCode = (code: string, scope: any): ComponentType => { const scopeKeys = Object.keys(scope); const scopeValues = scopeKeys.map((key) => scope[key]); const importReg = /import.*from.*;/g; - console.log(scope); + return new Function( ...scopeKeys, code.replace(importReg, '').replace('export default', 'return').trim(), diff --git a/src/client/theme-api/index.ts b/src/client/theme-api/index.ts index 4c7bc85966..8f9e466774 100644 --- a/src/client/theme-api/index.ts +++ b/src/client/theme-api/index.ts @@ -29,6 +29,7 @@ export { openStackBlitz } from './openStackBlitz'; export type { IPreviewerProps } from './types'; export { useAtomAssets } from './useAtomAssets'; export { useDemoScopes } from './useDemoScopes'; +export { useLive } from './useLive'; export { useLocale } from './useLocale'; export { useNavData } from './useNavData'; export { usePrefersColor } from './usePrefersColor'; diff --git a/src/client/theme-api/useLive.tsx b/src/client/theme-api/useLive.tsx new file mode 100644 index 0000000000..1d86e02eb6 --- /dev/null +++ b/src/client/theme-api/useLive.tsx @@ -0,0 +1,46 @@ +import { evalCode, useDemoScopes } from 'dumi'; +import { highlight, languages } from 'prismjs'; +import React, { FC, useState } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import Editor from 'react-simple-code-editor'; +import { transform } from 'sucrase'; + +const LiveDemo: FC<{ code: string; scopes: any }> = ({ code, scopes }) => { + const Demo = evalCode( + transform(code, { transforms: ['typescript', 'jsx'] }).code, + scopes, + ); + + return ; +}; + +export const useLive = ( + id: string, + initialCode: string, +): { + liveDemo?: React.ReactNode; + editor?: React.ReactNode; +} => { + const [code, setCode] = useState(initialCode); + const scopes = useDemoScopes(id); + + if (!scopes) { + return {}; + } + + return { + liveDemo: ( + Compiling}> + + + ), + editor: ( + setCode(code)} + highlight={(code) => highlight(code, languages.js, 'tsx')} + padding={20} + /> + ), + }; +}; diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 32ac4e5bf1..19300fe7f6 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -1,30 +1,16 @@ import classnames from 'classnames'; -import { IPreviewerProps, evalCode, useDemoScopes, useLocation } from 'dumi'; +import { IPreviewerProps, useLive, useLocation } from 'dumi'; import PreviewerActions from 'dumi/theme/slots/PreviewerActions'; -import { highlight, languages } from 'prismjs'; -import React, { useRef, useState, type FC } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; -import Editor from 'react-simple-code-editor'; -import { transform } from 'sucrase'; +import React, { useRef, type FC } from 'react'; import './index.less'; -const LiveDemo: FC<{ code: string; scopes: any }> = ({ code, scopes }) => { - const Comp = evalCode( - transform(code, { transforms: ['typescript', 'jsx'] }).code, - scopes, - ); - - return ; -}; - const Previewer: FC = (props) => { const demoContainer = useRef(null); const { hash } = useLocation(); const link = `#${props.asset.id}`; - const scopes = useDemoScopes(props.asset.id); - - const [code, setCode] = useState( + const { editor, liveDemo } = useLive( + props.asset.id, Object.entries(props.asset.dependencies).filter( ([, { type }]) => type === 'FILE', )[0][1].value, @@ -56,10 +42,7 @@ const Previewer: FC = (props) => { src={props.demoUrl} > ) : ( - // props.children - Compiling...} resetKeys={[code]}> - - + liveDemo ?? props.children )}
@@ -86,14 +69,7 @@ const Previewer: FC = (props) => { ? (demoContainer.current?.firstElementChild as HTMLIFrameElement) : demoContainer.current! } - sourceCode={ - setCode(code)} - highlight={(code) => highlight(code, languages.js)} - padding={10} - /> - } + sourceCode={editor} />
diff --git a/src/features/exports.ts b/src/features/exports.ts index d63a06fbe3..c958373e58 100644 --- a/src/features/exports.ts +++ b/src/features/exports.ts @@ -19,8 +19,8 @@ export default (api: IApi) => { content: `export * from '../exports'; export * from '${winPath(require.resolve('../client/theme-api'))}'; export { getRouteMetaById } from './meta/route-meta'; -export { getDemoScopesById } from './meta/scopes'; -export { loadFilesMeta } from './meta/search';`, +export { loadFilesMeta } from './meta/search'; +export { getDemoScopesById } from './live/demo-scopes';`, }); }); }; diff --git a/src/features/live.ts b/src/features/live.ts new file mode 100644 index 0000000000..e8c2cdfe7c --- /dev/null +++ b/src/features/live.ts @@ -0,0 +1,67 @@ +import { TEMPLATES_DIR } from '@/constants'; +import { isTabRouteFile } from '@/features/tabs'; +import { join } from 'path'; +import { IApi, IRoute } from 'umi'; +import { winPath } from 'umi/plugin-utils'; + +type MarkdownFiles = { index: number; file: string; id: string }[]; + +export default (api: IApi) => { + const mdFiles: MarkdownFiles = []; + + api.describe({ + key: 'live', + config: { + schema(joi) { + return joi.boolean(); + }, + }, + enableBy: api.EnableBy.register, + }); + + api.register({ + key: 'modifyRoutes', + // make sure it is called last + stage: Infinity, + fn: (routes: Record) => { + // reset for re-generate files + mdFiles.length = 0; + + // collect all markdown route files for combine demos & page meta + Object.values(routes).forEach((route) => { + if ( + !route.isLayout && + !/\*|:/.test(route.path) && + route.file && + !isTabRouteFile(route.file) && + route.file.endsWith('.md') + ) { + mdFiles.push({ + index: mdFiles.length, + file: winPath(route.file), + id: route.id, + }); + } + }); + + return routes; + }, + }); + + api.onGenerateFiles(async () => { + api.writeTmpFile({ + noPluginDir: true, + path: 'dumi/live/demo-scopes.ts', + tplPath: winPath( + join( + TEMPLATES_DIR, + 'live', + !!api.config.live ? 'demo-scopes.ts.tpl' : 'disabled.ts.tpl', + ), + ), + context: { + metaFiles: mdFiles, + }, + }); + }); +}; diff --git a/src/features/meta.ts b/src/features/meta.ts index 685fc08a3b..c1517904d9 100644 --- a/src/features/meta.ts +++ b/src/features/meta.ts @@ -96,15 +96,6 @@ export default (api: IApi) => { }, }); - api.writeTmpFile({ - noPluginDir: true, - path: 'dumi/meta/scopes.ts', - tplPath: winPath(join(TEMPLATES_DIR, 'meta-scopes.ts.tpl')), - context: { - metaFiles: mdFiles, - }, - }); - // generate runtime plugin, to append page meta to route object api.writeTmpFile({ noPluginDir: true, diff --git a/src/loaders/markdown/index.ts b/src/loaders/markdown/index.ts index d3381e2ae3..f5354780c2 100644 --- a/src/loaders/markdown/index.ts +++ b/src/loaders/markdown/index.ts @@ -308,7 +308,6 @@ export const scopes = { } } - console.log(namedScope); if (namedScope.length) { for (const item of namedScope) { if (!imports[dep].includes(item)) { diff --git a/src/preset.ts b/src/preset.ts index ce2991fa95..fd22ef8bcd 100644 --- a/src/preset.ts +++ b/src/preset.ts @@ -22,6 +22,7 @@ export default (api: IApi) => { require.resolve('./features/exportStatic'), require.resolve('./features/sitemap'), require.resolve('./features/html2sketch'), + require.resolve('./features/live'), ], }; }; diff --git a/src/templates/live-demo-scopes.ts.tpl b/src/templates/live/demo-scopes.ts.tpl similarity index 100% rename from src/templates/live-demo-scopes.ts.tpl rename to src/templates/live/demo-scopes.ts.tpl diff --git a/src/templates/live/disabled.ts.tpl b/src/templates/live/disabled.ts.tpl new file mode 100644 index 0000000000..ae54d25486 --- /dev/null +++ b/src/templates/live/disabled.ts.tpl @@ -0,0 +1 @@ +export const getDemoScopesById = async () => null; From 96488447de8e37a4817eb36a6b170a1d2dbd7c95 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 15:34:47 +0800 Subject: [PATCH 04/11] feat: add error catcher --- package.json | 2 + pnpm-lock.yaml | 1646 +++++------------ src/client/theme-api/index.ts | 9 +- src/client/theme-api/live/LiveDemo.tsx | 10 + src/client/theme-api/live/LiveEditor.tsx | 19 + src/client/theme-api/live/LiveError.tsx | 21 + src/client/theme-api/live/LiveProvider.tsx | 81 + src/client/theme-api/live/index.less | 22 + src/client/theme-api/live/index.ts | 6 + .../theme-api/{ => live}/useDemoScopes.ts | 2 +- src/client/theme-api/useLive.tsx | 46 - .../builtins/Previewer/index.tsx | 49 +- 12 files changed, 663 insertions(+), 1250 deletions(-) create mode 100644 src/client/theme-api/live/LiveDemo.tsx create mode 100644 src/client/theme-api/live/LiveEditor.tsx create mode 100644 src/client/theme-api/live/LiveError.tsx create mode 100644 src/client/theme-api/live/LiveProvider.tsx create mode 100644 src/client/theme-api/live/index.less create mode 100644 src/client/theme-api/live/index.ts rename src/client/theme-api/{ => live}/useDemoScopes.ts (89%) delete mode 100644 src/client/theme-api/useLive.tsx diff --git a/package.json b/package.json index ab492b0494..0ce1fccf5f 100644 --- a/package.json +++ b/package.json @@ -154,6 +154,7 @@ "@types/prismjs": "^1.26.0", "@types/react": "^18.2.17", "@types/react-copy-to-clipboard": "^5.0.4", + "@types/react-dom": "^18.2.7", "@umijs/lint": "^4.0.73", "@umijs/plugins": "4.0.32", "dumi-theme-mobile": "workspace:*", @@ -167,6 +168,7 @@ "prettier-plugin-organize-imports": "^3.2.3", "prettier-plugin-packagejson": "^2.4.5", "react": "^18.2.0", + "react-dom": "^18.2.0", "stylelint": "^15.10.2", "ts-node": "^10.9.1", "typescript": "~5.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3722c36191..da7e9be930 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -124,22 +124,19 @@ importers: version: 4.0.2(webpack@5.82.0) rc-motion: specifier: ^2.7.3 - version: 2.7.3(react-dom@17.0.2)(react@18.2.0) + version: 2.7.3(react-dom@18.2.0)(react@18.2.0) rc-tabs: specifier: ^12.10.0 - version: 12.10.0(react-dom@17.0.2)(react@18.2.0) + version: 12.10.0(react-dom@18.2.0)(react@18.2.0) rc-tree: specifier: ^5.7.9 - version: 5.7.9(react-dom@17.0.2)(react@18.2.0) + version: 5.7.9(react-dom@18.2.0)(react@18.2.0) rc-util: specifier: ^5.37.0 - version: 5.37.0(react-dom@17.0.2)(react@18.2.0) + version: 5.37.0(react-dom@18.2.0)(react@18.2.0) react-copy-to-clipboard: specifier: ^5.1.0 version: 5.1.0(react@18.2.0) - react-dom: - specifier: '>=16.8' - version: 17.0.2(react@18.2.0) react-error-boundary: specifier: ^4.0.10 version: 4.0.10(react@18.2.0) @@ -148,7 +145,7 @@ importers: version: 6.4.4(react@18.2.0)(typescript@5.0.4) react-simple-code-editor: specifier: ^0.13.1 - version: 0.13.1(react-dom@17.0.2)(react@18.2.0) + version: 0.13.1(react-dom@18.2.0)(react@18.2.0) rehype-autolink-headings: specifier: ^6.1.1 version: 6.1.1 @@ -184,7 +181,7 @@ importers: version: 3.34.0 umi: specifier: ^4.0.73 - version: 4.0.73(@babel/core@7.22.9)(@types/node@18.17.1)(@types/react@18.2.17)(eslint@8.46.0)(postcss@8.4.25)(prettier@2.8.8)(react-dom@17.0.2)(react@18.2.0)(sass@1.64.1)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4)(webpack@5.82.0) + version: 4.0.73(@babel/core@7.22.9)(@types/node@18.17.1)(@types/react@18.2.17)(eslint@8.46.0)(postcss@8.4.25)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.64.1)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4)(webpack@5.82.0) unified: specifier: ^10.1.2 version: 10.1.2 @@ -240,12 +237,15 @@ importers: '@types/react-copy-to-clipboard': specifier: ^5.0.4 version: 5.0.4 + '@types/react-dom': + specifier: ^18.2.7 + version: 18.2.7 '@umijs/lint': specifier: ^4.0.73 version: 4.0.73(eslint@8.46.0)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4) '@umijs/plugins': specifier: 4.0.32 - version: 4.0.32(@types/lodash.merge@4.6.7)(@types/react@18.2.17)(antd@5.4.7)(dva@2.5.0-beta.2)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0)(vite@4.3.1) + version: 4.0.32(@types/lodash.merge@4.6.7)(@types/react-dom@18.2.7)(@types/react@18.2.17)(antd@5.4.7)(dva@2.5.0-beta.2)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0)(vite@4.3.1) dumi-theme-mobile: specifier: workspace:* version: link:suites/theme-mobile @@ -279,6 +279,9 @@ importers: react: specifier: ^18.2.0 version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) stylelint: specifier: ^15.10.2 version: 15.10.2 @@ -311,7 +314,7 @@ importers: dependencies: antd: specifier: ^5.0.0 - version: 5.4.7(react-dom@18.1.0)(react@18.2.0) + version: 5.4.7(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -398,7 +401,7 @@ packages: dependencies: '@ctrl/tinycolor': 3.6.0 - /@ant-design/cssinjs@0.0.0-alpha.54(react-dom@17.0.2)(react@18.2.0): + /@ant-design/cssinjs@0.0.0-alpha.54(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-oCQOaXfpLrSTFZiVV9/y7u9ykwyzE4KUBHq19cBkNfOv3Q2rdxfckv1Fun+ovBZblqU85YGxpDIGch9Xzkiixw==} peerDependencies: react: '>=16.0.0' @@ -409,30 +412,13 @@ packages: '@emotion/unitless': 0.7.5 classnames: 2.3.2 csstype: 3.1.1 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - stylis: 4.1.3 - dev: true - - /@ant-design/cssinjs@1.9.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-CZt1vCMs/sY7RoacYuIkZwQmb8Bhp99ReNNE9Y8lnUzik8fmCdKAQA7ecvVOFwmNFdcBHga7ye/XIRrsbkiqWw==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@babel/runtime': 7.21.0 - '@emotion/hash': 0.8.0 - '@emotion/unitless': 0.7.5 - classnames: 2.3.2 - csstype: 3.1.1 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) stylis: 4.1.3 dev: true - /@ant-design/cssinjs@1.9.1(react-dom@18.1.0)(react@18.2.0): + /@ant-design/cssinjs@1.9.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-CZt1vCMs/sY7RoacYuIkZwQmb8Bhp99ReNNE9Y8lnUzik8fmCdKAQA7ecvVOFwmNFdcBHga7ye/XIRrsbkiqWw==} peerDependencies: react: '>=16.0.0' @@ -443,16 +429,15 @@ packages: '@emotion/unitless': 0.7.5 classnames: 2.3.2 csstype: 3.1.1 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) stylis: 4.1.3 - dev: false /@ant-design/icons-svg@4.2.1: resolution: {integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==} - /@ant-design/icons@4.7.0(react-dom@17.0.2)(react@18.2.0): + /@ant-design/icons@4.7.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aoB4Z7JA431rt6d4u+8xcNPPCrdufSRMUOpxa1ab6mz1JCQZOEVolj2WVs/tDFmN62zzK30mNelEsprLYsSF3g==} engines: {node: '>=8'} peerDependencies: @@ -463,28 +448,12 @@ packages: '@ant-design/icons-svg': 4.2.1 '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /@ant-design/icons@5.0.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-ZyF4ksXCcdtwA/1PLlnFLcF/q8/MhwxXhKHh4oCHDA4Ip+ZzAHoICtyp4wZWfiCVDP0yuz3HsjyvuldHFb3wjA==} - engines: {node: '>=8'} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@ant-design/colors': 7.0.0 - '@ant-design/icons-svg': 4.2.1 - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: true - /@ant-design/icons@5.0.1(react-dom@18.1.0)(react@18.2.0): + /@ant-design/icons@5.0.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ZyF4ksXCcdtwA/1PLlnFLcF/q8/MhwxXhKHh4oCHDA4Ip+ZzAHoICtyp4wZWfiCVDP0yuz3HsjyvuldHFb3wjA==} engines: {node: '>=8'} peerDependencies: @@ -495,69 +464,68 @@ packages: '@ant-design/icons-svg': 4.2.1 '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /@ant-design/pro-card@2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-card@2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-PGFcfIF3Qegtpo97LmzB4QtBS2dGXTvt6A/HMUgcZzW6cs2rHeAdDYJedpTkJUK8r76ZCxxVDIHufFuscK+bTg==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 omit.js: 2.0.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 transitivePeerDependencies: - prop-types - react-dom dev: true - /@ant-design/pro-components@2.3.30(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-components@2.3.30(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2afvUlZEXqEUNvDY60G7cpP4OQW9bzMl+aTpQconrWMXMXe1sRi800w27Lx5eC+ZCvriYLa9Itf8mnN2r2ASRA==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-descriptions': 2.0.26(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-layout': 7.2.1(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-list': 2.0.27(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-skeleton': 2.0.4(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-table': 3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-descriptions': 2.0.26(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-layout': 7.2.1(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-list': 2.0.27(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.0.4(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@types/lodash.merge' - prop-types - rc-field-form dev: true - /@ant-design/pro-descriptions@2.0.26(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-descriptions@2.0.26(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-QqOOombGeswcd88ScH/T/5P+/INpmdFTYssaxNyZ80UVKkS8jF0nEfJcyJiqbssEw+l8iWOvJt0dGLA50Mvllw==} peerDependencies: react: '>=16.9.0' dependencies: - '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-skeleton': 2.0.4(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.0.4(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 use-json-comparison: 1.0.6(react@18.2.0) transitivePeerDependencies: @@ -568,21 +536,21 @@ packages: - react-dom dev: true - /@ant-design/pro-field@2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-field@2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Vr8vnO6uPXpxZnMubgmCvAgk+paPXLgHlFECEAyf5A+xPXY2eo+X+zm+IdnhyDlGpNBE8THsfcoQNNBw9h87Rw==} peerDependencies: react: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 '@chenshuai2144/sketch-color': 1.0.8(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.6 lodash.tonumber: 4.0.3 omit.js: 2.0.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 swr: 1.3.0(react@18.2.0) transitivePeerDependencies: @@ -591,7 +559,7 @@ packages: - react-dom dev: true - /@ant-design/pro-form@2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-form@2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-+KsxHWJDTlToRF9QfmgwKtq5weKRIrDhzA9WDFTle1OtjQkh3EuaasgzHfHkxI7g6myXHTZnhqvNxZN2jBbMaA==} peerDependencies: '@types/lodash.merge': ^4.6.7 @@ -600,51 +568,51 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 '@types/lodash.merge': 4.6.7 '@umijs/use-params': 1.0.9(react@18.2.0) - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 lodash.merge: 4.6.2 omit.js: 2.0.2 - rc-field-form: 1.30.0(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-field-form: 1.30.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) use-json-comparison: 1.0.6(react@18.2.0) use-media-antd-query: 1.1.0(react@18.2.0) transitivePeerDependencies: - prop-types dev: true - /@ant-design/pro-layout@7.2.1(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-layout@7.2.1(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fNqrKzPh5YfmZM44O5ZGvHdGaXNWQFLvFUcP8NuQWm09lhaMeH8yCP76jw0BPZdluTPJslHlBLOATa8FIhyx9g==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 '@umijs/route-utils': 2.2.1 '@umijs/ssr-darkreader': 4.9.45 '@umijs/use-params': 1.0.9(react@18.2.0) - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 lodash.merge: 4.6.2 omit.js: 2.0.2 path-to-regexp: 2.4.0 - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) swr: 1.3.0(react@18.2.0) unstated-next: 1.1.0 use-json-comparison: 1.0.6(react@18.2.0) @@ -654,25 +622,25 @@ packages: - prop-types dev: true - /@ant-design/pro-list@2.0.27(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-list@2.0.27(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NLOrg+VJkOm0DMqvBo1wmlq2ZEKPzUki6HQ81X0lrNqgP7j703oEsOLR2kfOeHNvcJA4YS+FNGSJgfxvBxPi1w==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-table': 3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.6 - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) rc-util: 4.21.1 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) unstated-next: 1.1.0 use-media-antd-query: 1.1.0(react@18.2.0) transitivePeerDependencies: @@ -681,24 +649,24 @@ packages: - rc-field-form dev: true - /@ant-design/pro-provider@2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-provider@2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-HTxM0JpslPWrd9f+6VksS66NJ07kNAmI2BajwDpBkJblvBS4+2cXv1dg4D1PX2jpz0Sza6VWAISkN4fVzsjy7A==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/cssinjs': 0.0.0-alpha.54(react-dom@17.0.2)(react@18.2.0) + '@ant-design/cssinjs': 0.0.0-alpha.54(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 '@ctrl/tinycolor': 3.4.1 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) swr: 1.3.0(react@18.2.0) dev: true - /@ant-design/pro-skeleton@2.0.4(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-skeleton@2.0.4(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-n5O55bpXWt4nt+304PhUQNgvp3FsuOV4cTvrVpzlMKNt0iHyT3sy25bFeTyb6L0N/JzGjxAQ6YCh3illrltpPg==} peerDependencies: antd: '>=4.20.0' @@ -706,13 +674,13 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) use-media-antd-query: 1.1.0(react@18.2.0) dev: true - /@ant-design/pro-table@3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-table@3.1.4(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-iILHNqqoc4snnpcf6ePRlLfOSZlGU2PZC4dlH/cnQjnrSAN4RGbwq9h9NPDC/UGtucs8WZ4/WTgNwaXzDGd9xg==} peerDependencies: antd: '>=4.20.0' @@ -720,22 +688,22 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.0.24(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.1.19(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.2.17(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.6 omit.js: 2.0.2 - rc-field-form: 1.30.0(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-field-form: 1.30.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - react-sortable-hoc: 2.0.0(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-sortable-hoc: 2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) unstated-next: 1.1.0 use-json-comparison: 1.0.6(react@18.2.0) use-media-antd-query: 1.1.0(react@18.2.0) @@ -744,23 +712,23 @@ packages: - prop-types dev: true - /@ant-design/pro-utils@2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): + /@ant-design/pro-utils@2.3.2(antd@5.4.7)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-efNBTg3fa8Oe4iTJiVVSevqkk3rCDyg6Y+0t2KpWmQ+TWicpAqLK4rLHBkkEf3H0x95HXDVpKdwRW8K2bywG8A==} peerDependencies: antd: '>=4.20.0' react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.0.14(antd@5.4.7)(react-dom@18.2.0)(react@18.2.0) '@babel/runtime': 7.21.0 - antd: 5.4.7(react-dom@17.0.2)(react@18.2.0) + antd: 5.4.7(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.6 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - react-sortable-hoc: 2.0.0(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-sortable-hoc: 2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) swr: 1.3.0(react@18.2.0) transitivePeerDependencies: - prop-types @@ -2523,29 +2491,16 @@ packages: resolution: {integrity: sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==} dev: true - /@rc-component/context@1.3.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /@rc-component/context@1.3.0(react-dom@18.1.0)(react@18.2.0): + /@rc-component/context@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) /@rc-component/mini-decimal@1.0.1: resolution: {integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==} @@ -2553,21 +2508,7 @@ packages: dependencies: '@babel/runtime': 7.21.0 - /@rc-component/mutate-observer@1.0.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /@rc-component/mutate-observer@1.0.0(react-dom@18.1.0)(react@18.2.0): + /@rc-component/mutate-observer@1.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==} engines: {node: '>=8.x'} peerDependencies: @@ -2576,25 +2517,11 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /@rc-component/portal@1.1.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) - /@rc-component/portal@1.1.1(react-dom@18.1.0)(react@18.2.0): + /@rc-component/portal@1.1.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==} engines: {node: '>=8.x'} peerDependencies: @@ -2603,28 +2530,11 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /@rc-component/tour@1.8.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@17.0.2)(react@18.2.0) - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /@rc-component/tour@1.8.0(react-dom@18.1.0)(react@18.2.0): + /@rc-component/tour@1.8.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==} engines: {node: '>=8.x'} peerDependencies: @@ -2632,32 +2542,14 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /@rc-component/trigger@1.12.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-exkkpV2ImoTUORRzdxpuxiRIV7bteE6B/c6ccYL8zmv4i188H/9yU8r5JH5aF25fcpayd/YScKrdK/7JZdtuOw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@17.0.2)(react@18.2.0) + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-align: 4.0.12(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) - /@rc-component/trigger@1.12.0(react-dom@18.1.0)(react@18.2.0): + /@rc-component/trigger@1.12.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-exkkpV2ImoTUORRzdxpuxiRIV7bteE6B/c6ccYL8zmv4i188H/9yU8r5JH5aF25fcpayd/YScKrdK/7JZdtuOw==} engines: {node: '>=8.x'} peerDependencies: @@ -2665,15 +2557,14 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-align: 4.0.12(react-dom@18.1.0)(react@18.2.0) - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-align: 4.0.12(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) /@rushstack/node-core-library@3.51.1: resolution: {integrity: sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A==} @@ -3302,6 +3193,12 @@ packages: '@types/react': 18.2.17 dev: true + /@types/react-dom@18.2.7: + resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} + dependencies: + '@types/react': 18.2.17 + dev: true + /@types/react-router-dom@4.3.5: resolution: {integrity: sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==} dependencies: @@ -3871,13 +3768,13 @@ packages: tsx: 3.12.2 dev: false - /@umijs/plugins@4.0.32(@types/lodash.merge@4.6.7)(@types/react@18.2.17)(antd@5.4.7)(dva@2.5.0-beta.2)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0)(vite@4.3.1): + /@umijs/plugins@4.0.32(@types/lodash.merge@4.6.7)(@types/react-dom@18.2.7)(@types/react@18.2.17)(antd@5.4.7)(dva@2.5.0-beta.2)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0)(vite@4.3.1): resolution: {integrity: sha512-yMcO/PUKe9Nmj197gtXrzGybIbNRWGAYLrGsVTw2lXMHN2McDetdRIvXTXNsN2yiFC94NY4jibVEq0RKPD5jJg==} dependencies: '@ahooksjs/use-request': 2.8.15(react@18.2.0) '@ant-design/antd-theme-variable': 1.0.0 - '@ant-design/icons': 4.7.0(react-dom@17.0.2)(react@18.2.0) - '@ant-design/pro-components': 2.3.30(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@17.0.2)(react@18.2.0) + '@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-components': 2.3.30(@types/lodash.merge@4.6.7)(antd@5.4.7)(prop-types@15.8.1)(rc-field-form@1.30.0)(react-dom@18.2.0)(react@18.2.0) '@umijs/bundler-utils': 4.0.32 '@umijs/valtio': 1.0.0(react@18.2.0)(vite@4.3.1) antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.6) @@ -3894,7 +3791,7 @@ packages: moment: 2.29.4 qiankun: 2.8.4 react-intl: 3.12.1(react@18.2.0) - react-redux: 8.0.5(@types/react@18.2.17)(react-dom@17.0.2)(react@18.2.0)(redux@4.2.0) + react-redux: 8.0.5(@types/react-dom@18.2.7)(@types/react@18.2.17)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.0) redux: 4.2.0 warning: 4.0.3 transitivePeerDependencies: @@ -3974,34 +3871,34 @@ packages: - webpack-plugin-serve dev: false - /@umijs/renderer-react@4.0.73(react-dom@17.0.2)(react@18.2.0): + /@umijs/renderer-react@4.0.73(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-5xI8ia7Bp8kjWuLtebhD0i7l55/Qsk4jqz1GJyYHtFKrCLDQOBkF5r8sUZiXO0E5CHmPEG+j0BzvBTNeAZw+ww==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: '@babel/runtime': 7.21.0 - '@loadable/component': 5.15.2(react@18.2.0) + '@loadable/component': 5.15.2(react@18.1.0) history: 5.3.0 - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@17.0.2)(react@18.2.0) - react-router-dom: 6.3.0(react-dom@17.0.2)(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-helmet-async: 1.3.0(react-dom@18.1.0)(react@18.1.0) + react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) dev: false - /@umijs/renderer-react@4.0.73(react-dom@18.1.0)(react@18.1.0): + /@umijs/renderer-react@4.0.73(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-5xI8ia7Bp8kjWuLtebhD0i7l55/Qsk4jqz1GJyYHtFKrCLDQOBkF5r8sUZiXO0E5CHmPEG+j0BzvBTNeAZw+ww==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: '@babel/runtime': 7.21.0 - '@loadable/component': 5.15.2(react@18.1.0) + '@loadable/component': 5.15.2(react@18.2.0) history: 5.3.0 - react: 18.1.0 - react-dom: 18.1.0(react@18.1.0) - react-helmet-async: 1.3.0(react-dom@18.1.0)(react@18.1.0) - react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + react-router-dom: 6.3.0(react-dom@18.2.0)(react@18.2.0) dev: false /@umijs/route-utils@2.2.1: @@ -4420,127 +4317,65 @@ packages: dayjs: 1.11.6 dev: true - /antd@5.4.7(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-kFClbdlrultV1SJh8oxHSCCsO3iLGc6QFu0IIHGNuC4JHkDc2Ed94sk7XSmOTcENLcTd7BQYP0A4nK0VERp7vA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@ant-design/colors': 7.0.0 - '@ant-design/cssinjs': 1.9.1(react-dom@17.0.2)(react@18.2.0) - '@ant-design/icons': 5.0.1(react-dom@17.0.2)(react@18.2.0) - '@ant-design/react-slick': 1.0.0(react@18.2.0) - '@babel/runtime': 7.21.0 - '@ctrl/tinycolor': 3.6.0 - '@rc-component/mutate-observer': 1.0.0(react-dom@17.0.2)(react@18.2.0) - '@rc-component/tour': 1.8.0(react-dom@17.0.2)(react@18.2.0) - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - copy-to-clipboard: 3.3.3 - dayjs: 1.11.6 - qrcode.react: 3.1.0(react@18.2.0) - rc-cascader: 3.10.3(react-dom@17.0.2)(react@18.2.0) - rc-checkbox: 3.0.0(react-dom@17.0.2)(react@18.2.0) - rc-collapse: 3.5.2(react-dom@17.0.2)(react@18.2.0) - rc-dialog: 9.1.0(react-dom@17.0.2)(react@18.2.0) - rc-drawer: 6.1.5(react-dom@17.0.2)(react@18.2.0) - rc-dropdown: 4.0.1(react-dom@17.0.2)(react@18.2.0) - rc-field-form: 1.30.0(react-dom@17.0.2)(react@18.2.0) - rc-image: 5.16.0(react-dom@17.0.2)(react@18.2.0) - rc-input: 1.0.4(react-dom@17.0.2)(react@18.2.0) - rc-input-number: 7.4.2(react-dom@17.0.2)(react@18.2.0) - rc-mentions: 2.2.0(react-dom@17.0.2)(react@18.2.0) - rc-menu: 9.8.4(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-notification: 5.0.3(react-dom@17.0.2)(react@18.2.0) - rc-pagination: 3.3.1(react-dom@17.0.2)(react@18.2.0) - rc-picker: 3.6.2(dayjs@1.11.6)(react-dom@17.0.2)(react@18.2.0) - rc-progress: 3.4.1(react-dom@17.0.2)(react@18.2.0) - rc-rate: 2.10.0(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-segmented: 2.1.2(react-dom@17.0.2)(react@18.2.0) - rc-select: 14.4.3(react-dom@17.0.2)(react@18.2.0) - rc-slider: 10.1.1(react-dom@17.0.2)(react@18.2.0) - rc-steps: 6.0.0(react-dom@17.0.2)(react@18.2.0) - rc-switch: 4.1.0(react-dom@17.0.2)(react@18.2.0) - rc-table: 7.31.1(react-dom@17.0.2)(react@18.2.0) - rc-tabs: 12.5.6(react-dom@17.0.2)(react@18.2.0) - rc-textarea: 1.2.3(react-dom@17.0.2)(react@18.2.0) - rc-tooltip: 6.0.1(react-dom@17.0.2)(react@18.2.0) - rc-tree: 5.7.9(react-dom@17.0.2)(react@18.2.0) - rc-tree-select: 5.8.0(react-dom@17.0.2)(react@18.2.0) - rc-upload: 4.3.4(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - scroll-into-view-if-needed: 3.0.10 - throttle-debounce: 5.0.0 - transitivePeerDependencies: - - date-fns - - luxon - - moment - dev: true - - /antd@5.4.7(react-dom@18.1.0)(react@18.2.0): + /antd@5.4.7(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kFClbdlrultV1SJh8oxHSCCsO3iLGc6QFu0IIHGNuC4JHkDc2Ed94sk7XSmOTcENLcTd7BQYP0A4nK0VERp7vA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@ant-design/colors': 7.0.0 - '@ant-design/cssinjs': 1.9.1(react-dom@18.1.0)(react@18.2.0) - '@ant-design/icons': 5.0.1(react-dom@18.1.0)(react@18.2.0) + '@ant-design/cssinjs': 1.9.1(react-dom@18.2.0)(react@18.2.0) + '@ant-design/icons': 5.0.1(react-dom@18.2.0)(react@18.2.0) '@ant-design/react-slick': 1.0.0(react@18.2.0) '@babel/runtime': 7.21.0 '@ctrl/tinycolor': 3.6.0 - '@rc-component/mutate-observer': 1.0.0(react-dom@18.1.0)(react@18.2.0) - '@rc-component/tour': 1.8.0(react-dom@18.1.0)(react@18.2.0) - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) + '@rc-component/mutate-observer': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@rc-component/tour': 1.8.0(react-dom@18.2.0)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 copy-to-clipboard: 3.3.3 dayjs: 1.11.6 qrcode.react: 3.1.0(react@18.2.0) - rc-cascader: 3.10.3(react-dom@18.1.0)(react@18.2.0) - rc-checkbox: 3.0.0(react-dom@18.1.0)(react@18.2.0) - rc-collapse: 3.5.2(react-dom@18.1.0)(react@18.2.0) - rc-dialog: 9.1.0(react-dom@18.1.0)(react@18.2.0) - rc-drawer: 6.1.5(react-dom@18.1.0)(react@18.2.0) - rc-dropdown: 4.0.1(react-dom@18.1.0)(react@18.2.0) - rc-field-form: 1.30.0(react-dom@18.1.0)(react@18.2.0) - rc-image: 5.16.0(react-dom@18.1.0)(react@18.2.0) - rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) - rc-input-number: 7.4.2(react-dom@18.1.0)(react@18.2.0) - rc-mentions: 2.2.0(react-dom@18.1.0)(react@18.2.0) - rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-notification: 5.0.3(react-dom@18.1.0)(react@18.2.0) - rc-pagination: 3.3.1(react-dom@18.1.0)(react@18.2.0) - rc-picker: 3.6.2(dayjs@1.11.6)(react-dom@18.1.0)(react@18.2.0) - rc-progress: 3.4.1(react-dom@18.1.0)(react@18.2.0) - rc-rate: 2.10.0(react-dom@18.1.0)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-segmented: 2.1.2(react-dom@18.1.0)(react@18.2.0) - rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) - rc-slider: 10.1.1(react-dom@18.1.0)(react@18.2.0) - rc-steps: 6.0.0(react-dom@18.1.0)(react@18.2.0) - rc-switch: 4.1.0(react-dom@18.1.0)(react@18.2.0) - rc-table: 7.31.1(react-dom@18.1.0)(react@18.2.0) - rc-tabs: 12.5.6(react-dom@18.1.0)(react@18.2.0) - rc-textarea: 1.2.3(react-dom@18.1.0)(react@18.2.0) - rc-tooltip: 6.0.1(react-dom@18.1.0)(react@18.2.0) - rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) - rc-tree-select: 5.8.0(react-dom@18.1.0)(react@18.2.0) - rc-upload: 4.3.4(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) + rc-cascader: 3.10.3(react-dom@18.2.0)(react@18.2.0) + rc-checkbox: 3.0.0(react-dom@18.2.0)(react@18.2.0) + rc-collapse: 3.5.2(react-dom@18.2.0)(react@18.2.0) + rc-dialog: 9.1.0(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 6.1.5(react-dom@18.2.0)(react@18.2.0) + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-field-form: 1.30.0(react-dom@18.2.0)(react@18.2.0) + rc-image: 5.16.0(react-dom@18.2.0)(react@18.2.0) + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 7.4.2(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 2.2.0(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-notification: 5.0.3(react-dom@18.2.0)(react@18.2.0) + rc-pagination: 3.3.1(react-dom@18.2.0)(react@18.2.0) + rc-picker: 3.6.2(dayjs@1.11.6)(react-dom@18.2.0)(react@18.2.0) + rc-progress: 3.4.1(react-dom@18.2.0)(react@18.2.0) + rc-rate: 2.10.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-segmented: 2.1.2(react-dom@18.2.0)(react@18.2.0) + rc-select: 14.4.3(react-dom@18.2.0)(react@18.2.0) + rc-slider: 10.1.1(react-dom@18.2.0)(react@18.2.0) + rc-steps: 6.0.0(react-dom@18.2.0)(react@18.2.0) + rc-switch: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.31.1(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 12.5.6(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.2.0)(react@18.2.0) + rc-tooltip: 6.0.1(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.8.0(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.0.10 throttle-debounce: 5.0.0 transitivePeerDependencies: - date-fns - luxon - moment - dev: false /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -4807,7 +4642,7 @@ packages: babel-plugin-syntax-jsx: 6.18.0 lodash: 4.17.21 picomatch: 2.3.1 - styled-components: 5.3.10(react-dom@17.0.2)(react-is@18.2.0)(react@18.2.0) + styled-components: 5.3.10(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) /babel-plugin-syntax-jsx@6.18.0: resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==} @@ -6192,7 +6027,7 @@ packages: dva: ^2.5.0-0 dependencies: '@babel/runtime': 7.21.0 - dva: 2.5.0-beta.2(react-dom@17.0.2)(react@18.2.0) + dva: 2.5.0-beta.2(react-dom@18.2.0)(react@18.2.0) immer: 8.0.4 dev: true @@ -6205,7 +6040,7 @@ packages: dva-core: 2.0.4(redux@3.7.2) dev: true - /dva@2.5.0-beta.2(react-dom@17.0.2)(react@18.2.0): + /dva@2.5.0-beta.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==} peerDependencies: react: 15.x || ^16.0.0-0 @@ -6221,7 +6056,7 @@ packages: invariant: 2.2.4 isomorphic-fetch: 2.2.1 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) react-redux: 5.1.2(react@18.2.0)(redux@3.7.2) react-router-dom: 4.3.1(react@18.2.0) react-router-redux: 5.0.0-alpha.9(react@18.2.0) @@ -11575,7 +11410,7 @@ packages: webpack: 5.82.0(@swc/core@1.3.72) dev: false - /rc-align@4.0.12(react-dom@17.0.2)(react@18.2.0): + /rc-align@4.0.12(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==} peerDependencies: react: '>=16.9.0' @@ -11585,630 +11420,310 @@ packages: classnames: 2.3.2 dom-align: 1.12.3 lodash: 4.17.21 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) resize-observer-polyfill: 1.5.1 - /rc-align@4.0.12(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==} + /rc-cascader@3.10.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RBK1u59a2m/RKY8F+UvW9pUXdPv7bCxh2s2DAb81QjXX7TbwSX92Y0tICYo/Bo8fRsAh2g+7RXVf488/98ijkA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 + array-tree-filter: 2.1.0 classnames: 2.3.2 - dom-align: 1.12.3 - lodash: 4.17.21 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-select: 14.4.3(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - resize-observer-polyfill: 1.5.1 - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-cascader@3.10.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-RBK1u59a2m/RKY8F+UvW9pUXdPv7bCxh2s2DAb81QjXX7TbwSX92Y0tICYo/Bo8fRsAh2g+7RXVf488/98ijkA==} + /rc-checkbox@3.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - array-tree-filter: 2.1.0 classnames: 2.3.2 - rc-select: 14.4.3(react-dom@17.0.2)(react@18.2.0) - rc-tree: 5.7.9(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-cascader@3.10.3(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-RBK1u59a2m/RKY8F+UvW9pUXdPv7bCxh2s2DAb81QjXX7TbwSX92Y0tICYo/Bo8fRsAh2g+7RXVf488/98ijkA==} + /rc-collapse@3.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - array-tree-filter: 2.1.0 classnames: 2.3.2 - rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) - rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-checkbox@3.0.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==} + /rc-dialog@9.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-checkbox@3.0.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-tOEs1+wWDUei7DuP2EsJCZfam5vxMjKTCGcZdXVgsiOcNszc41Esycbo31P0/jFwUAPmd5oPYFWkcnFUCTLZxA==} + /rc-drawer@6.1.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MDRomQXFi+tvDuwsRAddJ2Oy2ayLCZ29weMzp3rJFO9UNEVLEVV7nuyx5lEgNJIdM//tE6wWQV95cTUiMVqD6w==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-collapse@3.5.2(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} + /rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + react: '>=16.11.0' + react-dom: '>=16.11.0' dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-collapse@3.5.2(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} + /rc-dropdown@4.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==} peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + react: '>=16.11.0' + react-dom: '>=16.11.0' dependencies: '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-dialog@9.1.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} + /rc-field-form@1.30.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hCBa3/+m9SSuEPILSsxB/wd3ZFEmNTQfIhThhMaMp05fLwDDw+2K26lEZf5NuChQlx90VVNUOYmTslH6Ks4tpA==} + engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + async-validator: 4.2.5 + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-dialog@9.1.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} + /rc-image@5.16.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-dialog: 9.1.0(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-drawer@6.1.5(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-MDRomQXFi+tvDuwsRAddJ2Oy2ayLCZ29weMzp3rJFO9UNEVLEVV7nuyx5lEgNJIdM//tE6wWQV95cTUiMVqD6w==} + /rc-input-number@7.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@17.0.2)(react@18.2.0) + '@rc-component/mini-decimal': 1.0.1 classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-drawer@6.1.5(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-MDRomQXFi+tvDuwsRAddJ2Oy2ayLCZ29weMzp3rJFO9UNEVLEVV7nuyx5lEgNJIdM//tE6wWQV95cTUiMVqD6w==} + /rc-input@1.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + react: '>=16.0.0' + react-dom: '>=16.0.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-dropdown@4.0.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + /rc-mentions@2.2.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-trigger: 5.3.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-dropdown@4.0.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + /rc-menu@9.11.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jq9I3XkPKgFpsn8MYko+OAjnrNxzQGQauy0MNysYZ5iw5JGeg5wwCP/toZX2ZWQwxNUfye14mY/uVLE6HCcQlQ==} peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-trigger: 5.3.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-dropdown@4.1.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==} + /rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-field-form@1.30.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-hCBa3/+m9SSuEPILSsxB/wd3ZFEmNTQfIhThhMaMp05fLwDDw+2K26lEZf5NuChQlx90VVNUOYmTslH6Ks4tpA==} - engines: {node: '>=8.x'} + /rc-motion@2.7.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - async-validator: 4.2.5 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + classnames: 2.3.2 + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-field-form@1.30.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-hCBa3/+m9SSuEPILSsxB/wd3ZFEmNTQfIhThhMaMp05fLwDDw+2K26lEZf5NuChQlx90VVNUOYmTslH6Ks4tpA==} + /rc-notification@5.0.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+wHbHu6RiTNtsZYx42WxWA+tC5m0qyKvJAauO4/6LIEyJspK8fRlFQz+OCFgFwGuNs3cOdo9tLs+cPfztSZwbQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - async-validator: 4.2.5 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-image@5.16.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} + /rc-overflow@1.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@17.0.2)(react@18.2.0) classnames: 2.3.2 - rc-dialog: 9.1.0(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-image@5.16.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} + /rc-pagination@3.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-eI4dSeB3OrFxll7KzWa3ZH63LV2tHxt0AUmZmDwuI6vc3CK5lZhaKUYq0fRowb5586hN+L26j5WZoSz9cwEfjg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.1(react-dom@18.1.0)(react@18.2.0) classnames: 2.3.2 - rc-dialog: 9.1.0(react-dom@18.1.0)(react@18.2.0) - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-input-number@7.4.2(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} + /rc-picker@3.6.2(dayjs@1.11.6)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-acLNCi2WTNAuvTtcEzKp72mU15ni0sqrIKVlEcj04KgLZxhlVPMabCS+Sc8VuOCPJbOcW0XeOydbNnJbWTvzxg==} + engines: {node: '>=8.x'} peerDependencies: + date-fns: '>= 2.x' + dayjs: '>= 1.x' + luxon: '>= 3.x' + moment: '>= 2.x' react: '>=16.9.0' react-dom: '>=16.9.0' + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true dependencies: '@babel/runtime': 7.21.0 - '@rc-component/mini-decimal': 1.0.1 + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + dayjs: 1.11.6 + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-input-number@7.4.2(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} + /rc-progress@3.4.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/mini-decimal': 1.0.1 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-input@1.0.4(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} + /rc-rate@2.10.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} + engines: {node: '>=8.x'} peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-input@1.0.4(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-mentions@2.2.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - rc-input: 1.0.4(react-dom@17.0.2)(react@18.2.0) - rc-menu: 9.8.4(react-dom@17.0.2)(react@18.2.0) - rc-textarea: 1.2.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-mentions@2.2.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) - classnames: 2.3.2 - rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) - rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) - rc-textarea: 1.2.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-menu@9.11.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-jq9I3XkPKgFpsn8MYko+OAjnrNxzQGQauy0MNysYZ5iw5JGeg5wwCP/toZX2ZWQwxNUfye14mY/uVLE6HCcQlQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-overflow: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: false - - /rc-menu@9.8.4(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-overflow: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-trigger: 5.3.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-menu@9.8.4(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-overflow: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-trigger: 5.3.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-motion@2.7.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - - /rc-motion@2.7.3(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-notification@5.0.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-+wHbHu6RiTNtsZYx42WxWA+tC5m0qyKvJAauO4/6LIEyJspK8fRlFQz+OCFgFwGuNs3cOdo9tLs+cPfztSZwbQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-notification@5.0.3(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-+wHbHu6RiTNtsZYx42WxWA+tC5m0qyKvJAauO4/6LIEyJspK8fRlFQz+OCFgFwGuNs3cOdo9tLs+cPfztSZwbQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-overflow@1.3.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - - /rc-overflow@1.3.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-RY0nVBlfP9CkxrpgaLlGzkSoh9JhjJLu6Icqs9E7CW6Ewh9s0peF9OHIex4OhfoPsR92LR0fN6BlCY9Z4VoUtA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-pagination@3.3.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-eI4dSeB3OrFxll7KzWa3ZH63LV2tHxt0AUmZmDwuI6vc3CK5lZhaKUYq0fRowb5586hN+L26j5WZoSz9cwEfjg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-pagination@3.3.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-eI4dSeB3OrFxll7KzWa3ZH63LV2tHxt0AUmZmDwuI6vc3CK5lZhaKUYq0fRowb5586hN+L26j5WZoSz9cwEfjg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-picker@3.6.2(dayjs@1.11.6)(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-acLNCi2WTNAuvTtcEzKp72mU15ni0sqrIKVlEcj04KgLZxhlVPMabCS+Sc8VuOCPJbOcW0XeOydbNnJbWTvzxg==} - engines: {node: '>=8.x'} - peerDependencies: - date-fns: '>= 2.x' - dayjs: '>= 1.x' - luxon: '>= 3.x' - moment: '>= 2.x' - react: '>=16.9.0' - react-dom: '>=16.9.0' - peerDependenciesMeta: - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - dayjs: 1.11.6 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-picker@3.6.2(dayjs@1.11.6)(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-acLNCi2WTNAuvTtcEzKp72mU15ni0sqrIKVlEcj04KgLZxhlVPMabCS+Sc8VuOCPJbOcW0XeOydbNnJbWTvzxg==} - engines: {node: '>=8.x'} - peerDependencies: - date-fns: '>= 2.x' - dayjs: '>= 1.x' - luxon: '>= 3.x' - moment: '>= 2.x' - react: '>=16.9.0' - react-dom: '>=16.9.0' - peerDependenciesMeta: - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) - classnames: 2.3.2 - dayjs: 1.11.6 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-progress@3.4.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-progress@3.4.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-rate@2.10.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-rate@2.10.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-resize-observer@1.3.1(react-dom@17.0.2)(react@18.2.0): + /rc-resize-observer@1.3.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==} peerDependencies: react: '>=16.9.0' @@ -12216,40 +11731,12 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) resize-observer-polyfill: 1.5.1 - /rc-resize-observer@1.3.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - resize-observer-polyfill: 1.5.1 - dev: false - - /rc-segmented@2.1.2(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-segmented@2.1.2(react-dom@18.1.0)(react@18.2.0): + /rc-segmented@2.1.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==} peerDependencies: react: '>=16.0.0' @@ -12257,13 +11744,12 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-select@14.4.3(react-dom@17.0.2)(react@18.2.0): + /rc-select@14.4.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw==} engines: {node: '>=8.x'} peerDependencies: @@ -12271,49 +11757,16 @@ packages: react-dom: '*' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-overflow: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - rc-virtual-list: 3.5.3(react-dom@17.0.2)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.5.3(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-select@14.4.3(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-overflow: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - rc-virtual-list: 3.5.3(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-slider@10.1.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-slider@10.1.1(react-dom@18.1.0)(react@18.2.0): + /rc-slider@10.1.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==} engines: {node: '>=8.x'} peerDependencies: @@ -12322,12 +11775,11 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-steps@6.0.0(react-dom@17.0.2)(react@18.2.0): + /rc-steps@6.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==} engines: {node: '>=8.x'} peerDependencies: @@ -12336,39 +11788,11 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-steps@6.0.0(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-switch@4.1.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-switch@4.1.0(react-dom@18.1.0)(react@18.2.0): + /rc-switch@4.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} peerDependencies: react: '>=16.9.0' @@ -12376,28 +11800,11 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-table@7.31.1(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-KZPi35aGpv2VaL1Jbc58FBJo063HtKyVjhOFWX4AkBV7tjHHQokMdUoua5E+GPJh6QZUpK/a8PjKa9IZzPLIEA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/context': 1.3.0(react-dom@17.0.2)(react@18.2.0) - classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-table@7.31.1(react-dom@18.1.0)(react@18.2.0): + /rc-table@7.31.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-KZPi35aGpv2VaL1Jbc58FBJo063HtKyVjhOFWX4AkBV7tjHHQokMdUoua5E+GPJh6QZUpK/a8PjKa9IZzPLIEA==} engines: {node: '>=8.x'} peerDependencies: @@ -12405,15 +11812,14 @@ packages: react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/context': 1.3.0(react-dom@18.1.0)(react@18.2.0) + '@rc-component/context': 1.3.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-tabs@12.10.0(react-dom@17.0.2)(react@18.2.0): + /rc-tabs@12.10.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-smeTKWZivfJGxCBHF2D5lgU8WPQ9VZFduJWMnsYS/f8EIf8oH8Y8sAACa62u21Q2jyzEZ2tQf70Fz8mdQBm4Zw==} engines: {node: '>=8.x'} peerDependencies: @@ -12422,34 +11828,16 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-dropdown: 4.1.0(react-dom@17.0.2)(react@18.2.0) - rc-menu: 9.11.1(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.11.1(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: false - /rc-tabs@12.5.6(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-aArXHzxK7YICxe+622CZ8FlO5coMi8P7E6tXpseCPKm1gdTjUt0LrQK1/AxcrRXZXG3K4QqhlKmET0+cX5DQaQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-dropdown: 4.0.1(react-dom@17.0.2)(react@18.2.0) - rc-menu: 9.8.4(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-tabs@12.5.6(react-dom@18.1.0)(react@18.2.0): + /rc-tabs@12.5.6(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aArXHzxK7YICxe+622CZ8FlO5coMi8P7E6tXpseCPKm1gdTjUt0LrQK1/AxcrRXZXG3K4QqhlKmET0+cX5DQaQ==} engines: {node: '>=8.x'} peerDependencies: @@ -12458,31 +11846,15 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-dropdown: 4.0.1(react-dom@18.1.0)(react@18.2.0) - rc-menu: 9.8.4(react-dom@18.1.0)(react@18.2.0) - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-textarea@1.2.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-input: 1.0.4(react-dom@17.0.2)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-textarea@1.2.3(react-dom@18.1.0)(react@18.2.0): + /rc-textarea@1.2.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==} peerDependencies: react: '>=16.9.0' @@ -12490,55 +11862,25 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-input: 1.0.4(react-dom@18.1.0)(react@18.2.0) - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) - /rc-tooltip@6.0.1(react-dom@17.0.2)(react@18.2.0): + /rc-tooltip@6.0.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@17.0.2)(react@18.2.0) + '@rc-component/trigger': 1.12.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-tooltip@6.0.1(react-dom@18.1.0)(react@18.2.0): - resolution: {integrity: sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/trigger': 1.12.0(react-dom@18.1.0)(react@18.2.0) - classnames: 2.3.2 - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-tree-select@5.8.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-NozrkVLR8k3cpx8R5/YFmJMptgOacR5zEQHZGMQg31bD6jEgGiJeOn2cGRI6x0Xdyvi1CSqCbUsIoqiej74wzw==} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-select: 14.4.3(react-dom@17.0.2)(react@18.2.0) - rc-tree: 5.7.9(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true - - /rc-tree-select@5.8.0(react-dom@18.1.0)(react@18.2.0): + /rc-tree-select@5.8.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NozrkVLR8k3cpx8R5/YFmJMptgOacR5zEQHZGMQg31bD6jEgGiJeOn2cGRI6x0Xdyvi1CSqCbUsIoqiej74wzw==} peerDependencies: react: '*' @@ -12546,29 +11888,13 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-select: 14.4.3(react-dom@18.1.0)(react@18.2.0) - rc-tree: 5.7.9(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-tree@5.7.9(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-1hKkToz/EVjJlMVwmZnpXeLXt/1iQMsaAq9m+GNkUbK746gkc7QpJXSN/TzjhTI5Hi+LOSlrMaXLMT0bHPqILQ==} - engines: {node: '>=10.x'} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - rc-virtual-list: 3.5.3(react-dom@17.0.2)(react@18.2.0) + rc-select: 14.4.3(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.9(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) - /rc-tree@5.7.9(react-dom@18.1.0)(react@18.2.0): + /rc-tree@5.7.9(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1hKkToz/EVjJlMVwmZnpXeLXt/1iQMsaAq9m+GNkUbK746gkc7QpJXSN/TzjhTI5Hi+LOSlrMaXLMT0bHPqILQ==} engines: {node: '>=10.x'} peerDependencies: @@ -12577,30 +11903,13 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - rc-virtual-list: 3.5.3(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-trigger@5.3.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-align: 4.0.12(react-dom@17.0.2)(react@18.2.0) - rc-motion: 2.7.3(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.5.3(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-trigger@5.3.3(react-dom@18.1.0)(react@18.2.0): + /rc-trigger@5.3.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==} engines: {node: '>=8.x'} peerDependencies: @@ -12609,27 +11918,13 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-align: 4.0.12(react-dom@18.1.0)(react@18.2.0) - rc-motion: 2.7.3(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false - - /rc-upload@4.3.4(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) + rc-align: 4.0.12(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - dev: true + react-dom: 18.2.0(react@18.2.0) - /rc-upload@4.3.4(react-dom@18.1.0)(react@18.2.0): + /rc-upload@4.3.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==} peerDependencies: react: '>=16.9.0' @@ -12637,10 +11932,9 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) /rc-util@4.21.1: resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} @@ -12652,18 +11946,7 @@ packages: shallowequal: 1.1.0 dev: true - /rc-util@5.37.0(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-cPMV8DzaHI1KDaS7XPRXAf4J7mtBqjvjikLpQieaeOO7+cEbqY2j7Kso/T0R0OiEZTNcLS/8Zl9YrlXiO9UbjQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - react-is: 16.13.1 - - /rc-util@5.37.0(react-dom@18.1.0)(react@18.2.0): + /rc-util@5.37.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cPMV8DzaHI1KDaS7XPRXAf4J7mtBqjvjikLpQieaeOO7+cEbqY2j7Kso/T0R0OiEZTNcLS/8Zl9YrlXiO9UbjQ==} peerDependencies: react: '>=16.9.0' @@ -12671,25 +11954,10 @@ packages: dependencies: '@babel/runtime': 7.21.0 react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) react-is: 16.13.1 - dev: false - - /rc-virtual-list@3.5.3(react-dom@17.0.2)(react@18.2.0): - resolution: {integrity: sha512-rG6IuD4EYM8K6oZ8Shu2BC/CmcTdqng4yBWkc/5fjWhB20bl6QwR2Upyt7+MxvfscoVm8zOQY+tcpEO5cu4GaQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@17.0.2)(react@18.2.0) - rc-util: 5.37.0(react-dom@17.0.2)(react@18.2.0) - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - /rc-virtual-list@3.5.3(react-dom@18.1.0)(react@18.2.0): + /rc-virtual-list@3.5.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-rG6IuD4EYM8K6oZ8Shu2BC/CmcTdqng4yBWkc/5fjWhB20bl6QwR2Upyt7+MxvfscoVm8zOQY+tcpEO5cu4GaQ==} engines: {node: '>=8.x'} peerDependencies: @@ -12698,11 +11966,10 @@ packages: dependencies: '@babel/runtime': 7.21.0 classnames: 2.3.2 - rc-resize-observer: 1.3.1(react-dom@18.1.0)(react@18.2.0) - rc-util: 5.37.0(react-dom@18.1.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.1.0(react@18.2.0) - dev: false + react-dom: 18.2.0(react@18.2.0) /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -12724,16 +11991,6 @@ packages: react: 18.2.0 dev: false - /react-dom@17.0.2(react@18.2.0): - resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} - peerDependencies: - react: 17.0.2 - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react: 18.2.0 - scheduler: 0.20.2 - /react-dom@18.1.0(react@18.1.0): resolution: {integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==} peerDependencies: @@ -12754,6 +12011,15 @@ packages: scheduler: 0.22.0 dev: false + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + /react-error-boundary@4.0.10(react@18.2.0): resolution: {integrity: sha512-pvVKdi77j2OoPHo+p3rorgE43OjDWiqFkaqkJz8sJKK6uf/u8xtzuaVfj5qJ2JnDLIgF1De3zY5AJDijp+LVPA==} peerDependencies: @@ -12770,7 +12036,7 @@ packages: resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==} dev: false - /react-helmet-async@1.3.0(react-dom@17.0.2)(react@18.2.0): + /react-helmet-async@1.3.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 @@ -12779,13 +12045,13 @@ packages: '@babel/runtime': 7.21.0 invariant: 2.2.4 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) react-fast-compare: 3.2.0 shallowequal: 1.1.0 dev: false - /react-helmet-async@1.3.0(react-dom@18.1.0)(react@18.1.0): + /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 @@ -12794,8 +12060,8 @@ packages: '@babel/runtime': 7.21.0 invariant: 2.2.4 prop-types: 15.8.1 - react: 18.1.0 - react-dom: 18.1.0(react@18.1.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) react-fast-compare: 3.2.0 shallowequal: 1.1.0 dev: false @@ -12874,7 +12140,7 @@ packages: redux: 3.7.2 dev: true - /react-redux@8.0.5(@types/react@18.2.17)(react-dom@17.0.2)(react@18.2.0)(redux@4.2.0): + /react-redux@8.0.5(@types/react-dom@18.2.7)(@types/react@18.2.17)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.0): resolution: {integrity: sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==} peerDependencies: '@types/react': ^16.8 || ^17.0 || ^18.0 @@ -12898,10 +12164,11 @@ packages: '@babel/runtime': 7.21.0 '@types/hoist-non-react-statics': 3.3.1 '@types/react': 18.2.17 + '@types/react-dom': 18.2.7 '@types/use-sync-external-store': 0.0.3 hoist-non-react-statics: 3.3.2 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 redux: 4.2.0 use-sync-external-store: 1.2.0(react@18.2.0) @@ -12925,28 +12192,28 @@ packages: warning: 4.0.3 dev: true - /react-router-dom@6.3.0(react-dom@17.0.2)(react@18.2.0): + /react-router-dom@6.3.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: history: 5.3.0 - react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) - react-router: 6.3.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-router: 6.3.0(react@18.1.0) dev: false - /react-router-dom@6.3.0(react-dom@18.1.0)(react@18.1.0): + /react-router-dom@6.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: history: 5.3.0 - react: 18.1.0 - react-dom: 18.1.0(react@18.1.0) - react-router: 6.3.0(react@18.1.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.3.0(react@18.2.0) dev: false /react-router-redux@5.0.0-alpha.9(react@18.2.0): @@ -12994,17 +12261,17 @@ packages: react: 18.2.0 dev: false - /react-simple-code-editor@0.13.1(react-dom@17.0.2)(react@18.2.0): + /react-simple-code-editor@0.13.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XYeVwRZwgyKtjNIYcAEgg2FaQcCZwhbarnkJIV20U2wkCU9q/CPFBo8nRXrK4GXUz3AvbqZFsZRrpUTkqqEYyQ==} peerDependencies: react: '*' react-dom: '*' dependencies: react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: false - /react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@17.0.2)(react@18.2.0): + /react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==} peerDependencies: prop-types: ^15.5.7 @@ -13015,7 +12282,7 @@ packages: invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) dev: true /react@18.1.0: @@ -13524,18 +12791,17 @@ packages: /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - /scheduler@0.20.2: - resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - /scheduler@0.22.0: resolution: {integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==} dependencies: loose-envify: 1.4.0 dev: false + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + /schema-utils@3.1.1: resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} engines: {node: '>= 10.13.0'} @@ -14104,7 +13370,7 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-components@5.3.10(react-dom@17.0.2)(react-is@18.2.0)(react@18.2.0): + /styled-components@5.3.10(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3kSzSBN0TiCnGJM04UwO1HklIQQSXW7rCARUk+VyMR7clz8XVlA3jijtf5ypqoDIdNMKx3la4VvaPFR855SFcg==} engines: {node: '>=10'} peerDependencies: @@ -14121,7 +13387,7 @@ packages: css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 react: 18.2.0 - react-dom: 17.0.2(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 shallowequal: 1.1.0 supports-color: 5.5.0 @@ -14711,7 +13977,7 @@ packages: resolution: {integrity: sha512-NFTTzrJArwdqtwZRNo5rF7F+NR95unQUAMkHAgcOGuuaJBnUey5w7lgpDR6K7/mV1bDwY2O3CLXSyLR1wxZyCw==} dev: false - /umi@4.0.73(@babel/core@7.22.9)(@types/node@18.17.1)(@types/react@18.2.17)(eslint@8.46.0)(postcss@8.4.25)(prettier@2.8.8)(react-dom@17.0.2)(react@18.2.0)(sass@1.64.1)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4)(webpack@5.82.0): + /umi@4.0.73(@babel/core@7.22.9)(@types/node@18.17.1)(@types/react@18.2.17)(eslint@8.46.0)(postcss@8.4.25)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.64.1)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4)(webpack@5.82.0): resolution: {integrity: sha512-nESgoeAZfWZoAXpe2avFgD664q1ZJCSUo3fXM3AE6rj11SpClmcBUUpIvk5ceCPnTkxmauM5bEn6PGKeYRFvtA==} engines: {node: '>=14'} hasBin: true @@ -14722,7 +13988,7 @@ packages: '@umijs/core': 4.0.73 '@umijs/lint': 4.0.73(eslint@8.46.0)(styled-components@5.3.10)(stylelint@15.10.2)(typescript@5.0.4) '@umijs/preset-umi': 4.0.73(@types/node@18.17.1)(@types/react@18.2.17)(postcss@8.4.25)(sass@1.64.1)(styled-components@5.3.10)(typescript@5.0.4)(webpack@5.82.0) - '@umijs/renderer-react': 4.0.73(react-dom@17.0.2)(react@18.2.0) + '@umijs/renderer-react': 4.0.73(react-dom@18.2.0)(react@18.2.0) '@umijs/server': 4.0.73 '@umijs/test': 4.0.73(@babel/core@7.22.9) '@umijs/utils': 4.0.73 diff --git a/src/client/theme-api/index.ts b/src/client/theme-api/index.ts index 8f9e466774..66cb51a3e6 100644 --- a/src/client/theme-api/index.ts +++ b/src/client/theme-api/index.ts @@ -24,12 +24,17 @@ export { DumiDemoGrid } from './DumiDemoGrid'; export { DumiPage } from './DumiPage'; export { useDemoData, useSiteData } from './context'; export { evalCode } from './evalCode'; +export { + LiveContext, + LiveDemo, + LiveEditor, + LiveError, + LiveProvider, +} from './live'; export { openCodeSandbox } from './openCodeSandbox'; export { openStackBlitz } from './openStackBlitz'; export type { IPreviewerProps } from './types'; export { useAtomAssets } from './useAtomAssets'; -export { useDemoScopes } from './useDemoScopes'; -export { useLive } from './useLive'; export { useLocale } from './useLocale'; export { useNavData } from './useNavData'; export { usePrefersColor } from './usePrefersColor'; diff --git a/src/client/theme-api/live/LiveDemo.tsx b/src/client/theme-api/live/LiveDemo.tsx new file mode 100644 index 0000000000..fdf08ac569 --- /dev/null +++ b/src/client/theme-api/live/LiveDemo.tsx @@ -0,0 +1,10 @@ +import React, { FC, useContext } from 'react'; +import { LiveContext } from './LiveProvider'; + +const LiveDemo: FC = () => { + const { demo } = useContext(LiveContext); + + return <>{demo}; +}; + +export default LiveDemo; diff --git a/src/client/theme-api/live/LiveEditor.tsx b/src/client/theme-api/live/LiveEditor.tsx new file mode 100644 index 0000000000..b1121811ba --- /dev/null +++ b/src/client/theme-api/live/LiveEditor.tsx @@ -0,0 +1,19 @@ +import { highlight, languages } from 'prismjs'; +import React, { FC, useContext } from 'react'; +import Editor from 'react-simple-code-editor'; +import { LiveContext } from './LiveProvider'; + +const LiveEditor: FC = () => { + const { code, onCodeChange } = useContext(LiveContext); + + return ( + highlight(code, languages.js, 'tsx')} + padding={20} + /> + ); +}; + +export default LiveEditor; diff --git a/src/client/theme-api/live/LiveError.tsx b/src/client/theme-api/live/LiveError.tsx new file mode 100644 index 0000000000..78253e1acc --- /dev/null +++ b/src/client/theme-api/live/LiveError.tsx @@ -0,0 +1,21 @@ +import { ReactComponent as IconError } from '@ant-design/icons-svg/inline-svg/filled/close-circle.svg'; +import React, { FC, useContext } from 'react'; +import { LiveContext } from './LiveProvider'; +import './index.less'; + +const LiveError: FC = () => { + const { error } = useContext(LiveContext); + + if (!error) { + return null; + } + + return ( +
+      
+      {error}
+    
+ ); +}; + +export default LiveError; diff --git a/src/client/theme-api/live/LiveProvider.tsx b/src/client/theme-api/live/LiveProvider.tsx new file mode 100644 index 0000000000..988f84fb77 --- /dev/null +++ b/src/client/theme-api/live/LiveProvider.tsx @@ -0,0 +1,81 @@ +import { evalCode } from 'dumi'; +import React, { FC, useMemo, useState } from 'react'; +import ReactDOM from 'react-dom/server'; +import { transform } from 'sucrase'; +import { useDemoScopes } from './useDemoScopes'; + +type LiveContextProps = { + enabled: boolean; + code: string; + onCodeChange: (code: string) => void; + demo: React.ReactNode; + error: string; +}; + +export const LiveContext = React.createContext({ + enabled: false, + code: '', + onCodeChange: () => {}, + demo: null, + error: '', +}); + +export type LiveProviderProps = { + initialCode: string; + demoId: string; + children: React.ReactElement; +}; + +const transformCode = (code: string, scopes: any) => { + const Comp = evalCode( + transform(code, { transforms: ['typescript', 'jsx'] }).code, + scopes, + ); + + return ; +}; + +export const LiveProvider: FC = ({ + initialCode, + demoId, + children, +}) => { + const scopes = useDemoScopes(demoId); + const [code, setCode] = useState(initialCode); + const [demo, setDemo] = useState(() => + transformCode(code, scopes), + ); + const [error, setError] = useState(''); + + const onCodeChange = (newCode: string) => { + setCode(newCode); + try { + const liveDemo = transformCode(newCode, scopes); + ReactDOM.renderToString(liveDemo); + setDemo(liveDemo); + setError(''); + } catch (e: any) { + setError(e.message); + } + }; + + const contextValue = useMemo(() => { + return { + error, + enabled: scopes !== null, + demo, + code, + onCodeChange, + }; + }, [code, scopes, demo, error]); + + if (!scopes) { + return children; + } + + return ( + {children} + ); +}; + +export default LiveProvider; diff --git a/src/client/theme-api/live/index.less b/src/client/theme-api/live/index.less new file mode 100644 index 0000000000..fd289f2e08 --- /dev/null +++ b/src/client/theme-api/live/index.less @@ -0,0 +1,22 @@ +@import (reference) '../../theme-default/styles/variables.less'; + +.dumi-default-live-error { + @color: darken(desaturate(@c-error, 20%), 1%); + + white-space: break-spaces; + background: lighten(@c-error, 51%); + color: @color; + padding: 12px 20px; + margin: 0; + border-radius: 0 0 4px 4px; + display: flex; + align-items: flex-start; + gap: 8px; + line-height: 16px; + + > svg { + fill: currentcolor; + width: 16px; + flex: none; + } +} diff --git a/src/client/theme-api/live/index.ts b/src/client/theme-api/live/index.ts new file mode 100644 index 0000000000..7596afbdf3 --- /dev/null +++ b/src/client/theme-api/live/index.ts @@ -0,0 +1,6 @@ +import LiveDemo from './LiveDemo'; +import LiveEditor from './LiveEditor'; +import LiveError from './LiveError'; +import LiveProvider, { LiveContext } from './LiveProvider'; + +export { LiveProvider, LiveEditor, LiveDemo, LiveContext, LiveError }; diff --git a/src/client/theme-api/useDemoScopes.ts b/src/client/theme-api/live/useDemoScopes.ts similarity index 89% rename from src/client/theme-api/useDemoScopes.ts rename to src/client/theme-api/live/useDemoScopes.ts index 90f2e665da..c07b6f45d6 100644 --- a/src/client/theme-api/useDemoScopes.ts +++ b/src/client/theme-api/live/useDemoScopes.ts @@ -1,5 +1,5 @@ import { getDemoScopesById } from 'dumi'; -import use from './context/use'; +import use from '../context/use'; const cache = new Map>(); diff --git a/src/client/theme-api/useLive.tsx b/src/client/theme-api/useLive.tsx deleted file mode 100644 index 1d86e02eb6..0000000000 --- a/src/client/theme-api/useLive.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { evalCode, useDemoScopes } from 'dumi'; -import { highlight, languages } from 'prismjs'; -import React, { FC, useState } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; -import Editor from 'react-simple-code-editor'; -import { transform } from 'sucrase'; - -const LiveDemo: FC<{ code: string; scopes: any }> = ({ code, scopes }) => { - const Demo = evalCode( - transform(code, { transforms: ['typescript', 'jsx'] }).code, - scopes, - ); - - return ; -}; - -export const useLive = ( - id: string, - initialCode: string, -): { - liveDemo?: React.ReactNode; - editor?: React.ReactNode; -} => { - const [code, setCode] = useState(initialCode); - const scopes = useDemoScopes(id); - - if (!scopes) { - return {}; - } - - return { - liveDemo: ( - Compiling}> - - - ), - editor: ( - setCode(code)} - highlight={(code) => highlight(code, languages.js, 'tsx')} - padding={20} - /> - ), - }; -}; diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 19300fe7f6..a76a849ee9 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -1,20 +1,23 @@ import classnames from 'classnames'; -import { IPreviewerProps, useLive, useLocation } from 'dumi'; +import { + IPreviewerProps, + LiveContext, + LiveDemo, + LiveEditor, + LiveError, + LiveProvider, + useLocation, +} from 'dumi'; import PreviewerActions from 'dumi/theme/slots/PreviewerActions'; -import React, { useRef, type FC } from 'react'; +import React, { useContext, useRef, type FC } from 'react'; import './index.less'; -const Previewer: FC = (props) => { +const InternalPreviewer: FC = (props) => { const demoContainer = useRef(null); const { hash } = useLocation(); const link = `#${props.asset.id}`; - const { editor, liveDemo } = useLive( - props.asset.id, - Object.entries(props.asset.dependencies).filter( - ([, { type }]) => type === 'FILE', - )[0][1].value, - ); + const { enabled } = useContext(LiveContext); return (
= (props) => { } src={props.demoUrl} > + ) : enabled ? ( + ) : ( - liveDemo ?? props.children + props.children )}
@@ -69,11 +74,33 @@ const Previewer: FC = (props) => { ? (demoContainer.current?.firstElementChild as HTMLIFrameElement) : demoContainer.current! } - sourceCode={editor} + sourceCode={ + enabled ? ( +
+ + +
+ ) : null + } />
); }; +const Previewer: FC = (props) => { + return ( + type === 'FILE', + )[0][1].value + } + demoId={props.asset.id} + > + + + ); +}; + export default Previewer; From 589c21904716f908727823b61445ccc46974b9cd Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 16:04:47 +0800 Subject: [PATCH 05/11] docs: add docs --- docs/config/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/config/index.md b/docs/config/index.md index 71b3ebde70..c6430d2ad5 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -203,6 +203,17 @@ export default () => ( ); ``` +### live2.3.0+ + +- 类型:`boolean` +- 默认值:`undefined` + +启用动态演示功能。开启后 Demo 的代码块会变为编辑器,代码的变化会实时反映到 Demo 中。 + +:::Warning +由于 Demo 的依赖在编译阶段收集并固定,所以不能够实时修改 `import` 部分的代码。 +::: + ## 主题配置项 通过 `themeConfig` 可配置传递给主题的配置项: From 345fa9fba21c334961adff29812523dfd68bdbba Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 16:04:47 +0800 Subject: [PATCH 06/11] docs: add docs --- src/client/theme-api/types.ts | 4 ++++ src/client/theme-default/builtins/Previewer/index.tsx | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/client/theme-api/types.ts b/src/client/theme-api/types.ts index 4e6919e22c..6ea5903298 100644 --- a/src/client/theme-api/types.ts +++ b/src/client/theme-api/types.ts @@ -42,6 +42,10 @@ export interface IPreviewerProps { * background color for demo content */ background?: string; + /** + * enable live demo + */ + live?: boolean; /** * asset metadata of current demo */ diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index a76a849ee9..87dcc98826 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -76,7 +76,7 @@ const InternalPreviewer: FC = (props) => { } sourceCode={ enabled ? ( -
+
@@ -89,6 +89,13 @@ const InternalPreviewer: FC = (props) => { }; const Previewer: FC = (props) => { + const children = ; + + // Only Single File + if (!props.live || Object.entries(props.asset.dependencies).length > 1) { + return children; + } + return ( = (props) => { } demoId={props.asset.id} > - + {children} ); }; From fcefe00d0fe8d64d7ac8e94e074949c4b7469202 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 17:14:28 +0800 Subject: [PATCH 07/11] feat: update single file logic --- src/client/theme-default/builtins/Previewer/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 87dcc98826..6f2a1ab062 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -92,7 +92,12 @@ const Previewer: FC = (props) => { const children = ; // Only Single File - if (!props.live || Object.entries(props.asset.dependencies).length > 1) { + if ( + props.live === false || + Object.entries(props.asset.dependencies).filter( + ([, { type }]) => type === 'FILE', + ).length > 1 + ) { return children; } From eb043f500cf3d95ca0f172c96a683f9ba1e35c31 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 19 Sep 2023 19:12:20 +0800 Subject: [PATCH 08/11] docs: rm docs --- docs/config/index.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/config/index.md b/docs/config/index.md index c6430d2ad5..71b3ebde70 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -203,17 +203,6 @@ export default () => ( ); ``` -### live2.3.0+ - -- 类型:`boolean` -- 默认值:`undefined` - -启用动态演示功能。开启后 Demo 的代码块会变为编辑器,代码的变化会实时反映到 Demo 中。 - -:::Warning -由于 Demo 的依赖在编译阶段收集并固定,所以不能够实时修改 `import` 部分的代码。 -::: - ## 主题配置项 通过 `themeConfig` 可配置传递给主题的配置项: From 34e027f2a6db3f9f06c03e8787e6dfc16615d59a Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Thu, 12 Oct 2023 15:17:42 +0800 Subject: [PATCH 09/11] feat: put Live Components into theme-default slots --- .gitignore | 1 + examples/normal/.dumirc.ts | 1 - examples/normal/docs/index.md | 2 +- src/client/theme-api/index.ts | 8 +------- src/client/theme-api/live/LiveProvider.tsx | 4 ++++ src/client/theme-api/live/index.ts | 6 ++---- src/client/theme-api/live/useDemoScopes.ts | 10 ++++++++-- src/client/theme-default/builtins/Previewer/index.tsx | 8 +++++--- .../slots/LiveDemo/index.tsx} | 2 +- .../slots/LiveEditor/index.tsx} | 2 +- .../live => theme-default/slots/LiveError}/index.less | 2 +- .../slots/LiveError/index.tsx} | 2 +- src/templates/live/disabled.ts.tpl | 2 +- 13 files changed, 27 insertions(+), 23 deletions(-) rename src/client/{theme-api/live/LiveDemo.tsx => theme-default/slots/LiveDemo/index.tsx} (78%) rename src/client/{theme-api/live/LiveEditor.tsx => theme-default/slots/LiveEditor/index.tsx} (90%) rename src/client/{theme-api/live => theme-default/slots/LiveError}/index.less (85%) rename src/client/{theme-api/live/LiveError.tsx => theme-default/slots/LiveError/index.tsx} (90%) diff --git a/.gitignore b/.gitignore index 13f94bb42b..bfb98259ec 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /target /compiled/crates .swc +/server diff --git a/examples/normal/.dumirc.ts b/examples/normal/.dumirc.ts index 54258323ec..b5a7c1c952 100644 --- a/examples/normal/.dumirc.ts +++ b/examples/normal/.dumirc.ts @@ -5,7 +5,6 @@ export default { ], themeConfig: { name: '示例' }, mfsu: false, - live: true, apiParser: {}, resolve: { entryFile: './src/index.ts' }, }; diff --git a/examples/normal/docs/index.md b/examples/normal/docs/index.md index 47ca14f09d..500d5fb2ba 100644 --- a/examples/normal/docs/index.md +++ b/examples/normal/docs/index.md @@ -30,7 +30,7 @@ features: 代码块 demo ```jsx -import react from 'react'; +import React from 'react'; export default () => <>Hello first code block demo!; ``` diff --git a/src/client/theme-api/index.ts b/src/client/theme-api/index.ts index 66cb51a3e6..1abe878d52 100644 --- a/src/client/theme-api/index.ts +++ b/src/client/theme-api/index.ts @@ -24,13 +24,7 @@ export { DumiDemoGrid } from './DumiDemoGrid'; export { DumiPage } from './DumiPage'; export { useDemoData, useSiteData } from './context'; export { evalCode } from './evalCode'; -export { - LiveContext, - LiveDemo, - LiveEditor, - LiveError, - LiveProvider, -} from './live'; +export { LiveContext, LiveProvider, isLiveEnabled } from './live'; export { openCodeSandbox } from './openCodeSandbox'; export { openStackBlitz } from './openStackBlitz'; export type { IPreviewerProps } from './types'; diff --git a/src/client/theme-api/live/LiveProvider.tsx b/src/client/theme-api/live/LiveProvider.tsx index 988f84fb77..0595beefb5 100644 --- a/src/client/theme-api/live/LiveProvider.tsx +++ b/src/client/theme-api/live/LiveProvider.tsx @@ -27,6 +27,10 @@ export type LiveProviderProps = { }; const transformCode = (code: string, scopes: any) => { + if (!scopes) { + return <>; + } + const Comp = evalCode( transform(code, { transforms: ['typescript', 'jsx'] }).code, scopes, diff --git a/src/client/theme-api/live/index.ts b/src/client/theme-api/live/index.ts index 7596afbdf3..830df8e5d3 100644 --- a/src/client/theme-api/live/index.ts +++ b/src/client/theme-api/live/index.ts @@ -1,6 +1,4 @@ -import LiveDemo from './LiveDemo'; -import LiveEditor from './LiveEditor'; -import LiveError from './LiveError'; import LiveProvider, { LiveContext } from './LiveProvider'; +import { isLiveEnabled } from './useDemoScopes'; -export { LiveProvider, LiveEditor, LiveDemo, LiveContext, LiveError }; +export { LiveProvider, LiveContext, isLiveEnabled }; diff --git a/src/client/theme-api/live/useDemoScopes.ts b/src/client/theme-api/live/useDemoScopes.ts index c07b6f45d6..a6aa56f97d 100644 --- a/src/client/theme-api/live/useDemoScopes.ts +++ b/src/client/theme-api/live/useDemoScopes.ts @@ -1,12 +1,18 @@ import { getDemoScopesById } from 'dumi'; import use from '../context/use'; -const cache = new Map>(); +const cache = new Map(); export const useDemoScopes = (id: string) => { + if (!getDemoScopesById) { + return null; + } + if (!cache.has(id)) { cache.set(id, getDemoScopesById(id)); } - return use>(cache.get(id)!); + return use(cache.get(id)!); }; + +export const isLiveEnabled = () => !!getDemoScopesById; diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 6f2a1ab062..93c8128546 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -2,12 +2,13 @@ import classnames from 'classnames'; import { IPreviewerProps, LiveContext, - LiveDemo, - LiveEditor, - LiveError, LiveProvider, + isLiveEnabled, useLocation, } from 'dumi'; +import LiveDemo from 'dumi/theme/slots/LiveDemo'; +import LiveEditor from 'dumi/theme/slots/LiveEditor'; +import LiveError from 'dumi/theme/slots/LiveError'; import PreviewerActions from 'dumi/theme/slots/PreviewerActions'; import React, { useContext, useRef, type FC } from 'react'; import './index.less'; @@ -93,6 +94,7 @@ const Previewer: FC = (props) => { // Only Single File if ( + isLiveEnabled() || props.live === false || Object.entries(props.asset.dependencies).filter( ([, { type }]) => type === 'FILE', diff --git a/src/client/theme-api/live/LiveDemo.tsx b/src/client/theme-default/slots/LiveDemo/index.tsx similarity index 78% rename from src/client/theme-api/live/LiveDemo.tsx rename to src/client/theme-default/slots/LiveDemo/index.tsx index fdf08ac569..c79e1a60eb 100644 --- a/src/client/theme-api/live/LiveDemo.tsx +++ b/src/client/theme-default/slots/LiveDemo/index.tsx @@ -1,5 +1,5 @@ +import { LiveContext } from 'dumi'; import React, { FC, useContext } from 'react'; -import { LiveContext } from './LiveProvider'; const LiveDemo: FC = () => { const { demo } = useContext(LiveContext); diff --git a/src/client/theme-api/live/LiveEditor.tsx b/src/client/theme-default/slots/LiveEditor/index.tsx similarity index 90% rename from src/client/theme-api/live/LiveEditor.tsx rename to src/client/theme-default/slots/LiveEditor/index.tsx index b1121811ba..2000be0f25 100644 --- a/src/client/theme-api/live/LiveEditor.tsx +++ b/src/client/theme-default/slots/LiveEditor/index.tsx @@ -1,7 +1,7 @@ +import { LiveContext } from 'dumi'; import { highlight, languages } from 'prismjs'; import React, { FC, useContext } from 'react'; import Editor from 'react-simple-code-editor'; -import { LiveContext } from './LiveProvider'; const LiveEditor: FC = () => { const { code, onCodeChange } = useContext(LiveContext); diff --git a/src/client/theme-api/live/index.less b/src/client/theme-default/slots/LiveError/index.less similarity index 85% rename from src/client/theme-api/live/index.less rename to src/client/theme-default/slots/LiveError/index.less index fd289f2e08..27eb8df578 100644 --- a/src/client/theme-api/live/index.less +++ b/src/client/theme-default/slots/LiveError/index.less @@ -1,4 +1,4 @@ -@import (reference) '../../theme-default/styles/variables.less'; +@import (reference) '../../styles/variables.less'; .dumi-default-live-error { @color: darken(desaturate(@c-error, 20%), 1%); diff --git a/src/client/theme-api/live/LiveError.tsx b/src/client/theme-default/slots/LiveError/index.tsx similarity index 90% rename from src/client/theme-api/live/LiveError.tsx rename to src/client/theme-default/slots/LiveError/index.tsx index 78253e1acc..19f7269418 100644 --- a/src/client/theme-api/live/LiveError.tsx +++ b/src/client/theme-default/slots/LiveError/index.tsx @@ -1,6 +1,6 @@ import { ReactComponent as IconError } from '@ant-design/icons-svg/inline-svg/filled/close-circle.svg'; +import { LiveContext } from 'dumi'; import React, { FC, useContext } from 'react'; -import { LiveContext } from './LiveProvider'; import './index.less'; const LiveError: FC = () => { diff --git a/src/templates/live/disabled.ts.tpl b/src/templates/live/disabled.ts.tpl index ae54d25486..0ad74cdb49 100644 --- a/src/templates/live/disabled.ts.tpl +++ b/src/templates/live/disabled.ts.tpl @@ -1 +1 @@ -export const getDemoScopesById = async () => null; +export const getDemoScopesById = null; From 7527b2099923a89587d5ed45283f53672cbe14f2 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Mon, 16 Oct 2023 21:46:11 +0800 Subject: [PATCH 10/11] feat: update regexp & fix enable logic --- examples/normal/.dumirc.ts | 1 + src/client/theme-default/builtins/Previewer/index.tsx | 2 +- src/loaders/markdown/index.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/normal/.dumirc.ts b/examples/normal/.dumirc.ts index b5a7c1c952..a72ed97d3c 100644 --- a/examples/normal/.dumirc.ts +++ b/examples/normal/.dumirc.ts @@ -6,5 +6,6 @@ export default { themeConfig: { name: '示例' }, mfsu: false, apiParser: {}, + live: true, resolve: { entryFile: './src/index.ts' }, }; diff --git a/src/client/theme-default/builtins/Previewer/index.tsx b/src/client/theme-default/builtins/Previewer/index.tsx index 93c8128546..a1e249f378 100644 --- a/src/client/theme-default/builtins/Previewer/index.tsx +++ b/src/client/theme-default/builtins/Previewer/index.tsx @@ -94,7 +94,7 @@ const Previewer: FC = (props) => { // Only Single File if ( - isLiveEnabled() || + !isLiveEnabled() || props.live === false || Object.entries(props.asset.dependencies).filter( ([, { type }]) => type === 'FILE', diff --git a/src/loaders/markdown/index.ts b/src/loaders/markdown/index.ts index 5928a8d309..04587efb84 100644 --- a/src/loaders/markdown/index.ts +++ b/src/loaders/markdown/index.ts @@ -215,7 +215,7 @@ export const texts = {{{texts}}};`, function emitScope(opts: IMdLoaderOptions, ret: IMdTransformerResult) { const { demos } = ret.meta; - const importReg = /import.*from.*;/g; + const importReg = /import(?!(\stype)).*from.*;/g; return Mustache.render( `{{#renderImport}} From d6ab8202da8a4d236e291b4d274848cf59c0078e Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Tue, 17 Oct 2023 11:40:30 +0800 Subject: [PATCH 11/11] feat: make LiveEditor derivate Editor --- src/client/theme-default/slots/LiveEditor/index.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/client/theme-default/slots/LiveEditor/index.tsx b/src/client/theme-default/slots/LiveEditor/index.tsx index 2000be0f25..135cea6916 100644 --- a/src/client/theme-default/slots/LiveEditor/index.tsx +++ b/src/client/theme-default/slots/LiveEditor/index.tsx @@ -1,17 +1,20 @@ import { LiveContext } from 'dumi'; import { highlight, languages } from 'prismjs'; -import React, { FC, useContext } from 'react'; +import React, { ComponentProps, FC, useContext } from 'react'; import Editor from 'react-simple-code-editor'; -const LiveEditor: FC = () => { +const LiveEditor: FC> = (props) => { const { code, onCodeChange } = useContext(LiveContext); return ( highlight(code, languages.js, 'tsx')} - padding={20} + highlight={ + props.highlight ?? ((code) => highlight(code, languages.js, 'tsx')) + } + padding={props.padding ?? 20} /> ); };