diff --git a/package.json b/package.json index b7ec946..50a6163 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "clearx", - "version": "0.1.0.beta.1", + "name": "ClearX-Turbo", + "version": "0.1.0", "description": "Turbo快速开发框架", "license": "MIT", "author": "jiangw1027@gmail.com", @@ -35,14 +35,14 @@ "test:cover": "vitest run --coverage" }, "dependencies": { - "@designable/core": "0.0.1-beta.13", - "@designable/formily-semi": "0.0.1-beta.13", - "@designable/formily-setters": "0.0.1-beta.13", - "@designable/formily-transformer": "0.0.1-beta.13", - "@designable/react": "0.0.1-beta.13", - "@designable/react-sandbox": "0.0.1-beta.13", - "@designable/react-settings-form": "0.0.1-beta.13", - "@designable/shared": "0.0.1-beta.13", + "@designable/core": "0.0.1-beta.22", + "@designable/formily-semi": "0.0.1-beta.22", + "@designable/formily-setters": "0.0.1-beta.22", + "@designable/formily-transformer": "0.0.1-beta.22", + "@designable/react": "0.0.1-beta.22", + "@designable/react-sandbox": "0.0.1-beta.22", + "@designable/react-settings-form": "0.0.1-beta.22", + "@designable/shared": "0.0.1-beta.22", "@douyinfe/semi-icons": "^2.50.0", "@douyinfe/semi-illustrations": "^2.50.0", "@douyinfe/semi-ui": "^2.50.0", @@ -61,8 +61,10 @@ "iconoir": "^7.2.0", "iconoir-react": "^7.2.0", "lodash": "^4.17.21", + "lottie-react": "^2.4.0", "moment": "^2.29.4", "react": "^18.2.0", + "react-cache": "2.0.0-alpha.1", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "^18.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc5e847..717c2a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,29 +6,29 @@ settings: dependencies: '@designable/core': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) '@designable/formily-semi': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@designable/formily-setters': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@designable/formily-transformer': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) '@designable/react': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) '@designable/react-sandbox': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) '@designable/react-settings-form': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0) '@designable/shared': - specifier: 0.0.1-beta.13 - version: 0.0.1-beta.13 + specifier: 0.0.1-beta.22 + version: 0.0.1-beta.22 '@douyinfe/semi-icons': specifier: ^2.50.0 version: 2.51.0(react@18.2.0) @@ -83,12 +83,18 @@ dependencies: lodash: specifier: ^4.17.21 version: 4.17.21 + lottie-react: + specifier: ^2.4.0 + version: 2.4.0(react-dom@18.2.0)(react@18.2.0) moment: specifier: ^2.29.4 version: 2.29.4 react: specifier: ^18.2.0 version: 18.2.0 + react-cache: + specifier: 2.0.0-alpha.1 + version: 2.0.0-alpha.1(react@18.2.0) react-dnd: specifier: ^16.0.1 version: 16.0.1(@types/react@18.2.45)(react@18.2.0) @@ -218,6 +224,46 @@ packages: '@jridgewell/trace-mapping': 0.3.20 dev: true + /@ant-design/colors@6.0.0: + resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==, tarball: https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz} + dependencies: + '@ctrl/tinycolor': 3.6.1 + dev: false + + /@ant-design/icons-svg@4.3.1: + resolution: {integrity: sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==, tarball: https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz} + dev: false + + /@ant-design/icons@4.8.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JRAuiqllnMsiZIO8OvBOeFconprC3cnMpJ9MvXrHh+H5co9rlg8/aSHQfLf5jKKe18lUgRaIwC2pz8YxH9VuCA==, tarball: https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.1.tgz} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.3.1 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + lodash: 4.17.21 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@ant-design/react-slick@1.0.2(react@18.2.0): + resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==, tarball: https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz} + peerDependencies: + react: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + json2mq: 0.2.0 + react: 18.2.0 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 5.0.0 + dev: false + /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -366,7 +412,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.23.6 - dev: true /@babel/runtime@7.23.6: resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} @@ -409,23 +454,28 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@designable/core@0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1): - resolution: {integrity: sha512-Jk42M48K7Ih5OCYoO9YzOpANbkpFoFWNWRjYVKAYK6EzpSmFdy1co13AJ6ePCEa4lT5ymOY51p6pVaGhHZTMBw==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/core/-/@designable/core-0.0.1-beta.13.tgz} + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz} + engines: {node: '>=10'} + dev: false + + /@designable/core@0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1): + resolution: {integrity: sha512-MX3xpEKhAt1W1X35wxfYlor5xuMs1tnwAetDPVIuTYwLLOlsrix8xZEZAkd2OIrr4cOnVmFMTHj5lgsoC7tQUw==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/core/-/@designable/core-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: '@formily/json-schema': ^2.3.1 '@formily/path': ^2.3.1 '@formily/reactive': ^2.3.1 dependencies: - '@designable/shared': 0.0.1-beta.13 + '@designable/shared': 0.0.1-beta.22 '@formily/json-schema': 2.3.1(typescript@5.3.3) - '@formily/path': registry.npmmirror.com/@formily/path@2.3.1 + '@formily/path': 2.3.1 '@formily/reactive': 2.3.1 - '@juggle/resize-observer': registry.npmmirror.com/@juggle/resize-observer@3.4.0 + '@juggle/resize-observer': 3.4.0 dev: false - /@designable/formily-semi@0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9KDklC0Co8gBiaptDf8FTjk8nv+/nkDNYWVjRsCifW0f49LV2B03pLhJ4FkH0OuxKClO7/cL3D9vGaUyrpiWBg==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-semi/-/@designable/formily-semi-0.0.1-beta.13.tgz} + /@designable/formily-semi@0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5pRwaDHR6Of2qQLmi3pqO8v35ApHOXIpIOA4o2czzwigP1cdUcpN4By66TKkY0TJqhI4i74oyEsh8sFAtNI+Qw==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-semi/-/@designable/formily-semi-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: '@douyinfe/semi-ui': ^2.50.0 @@ -439,10 +489,10 @@ packages: react-dom: '>=16.8.0' react-is: '>=16.8.0 || >=17.0.0' dependencies: - '@designable/core': 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/formily-setters': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - '@designable/formily-transformer': 0.0.1-beta.13(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/react': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + '@designable/core': 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/formily-setters': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + '@designable/formily-transformer': 0.0.1-beta.22(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/react': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) '@douyinfe/semi-ui': 2.51.0(react-dom@18.2.0)(react@18.2.0) '@formily/core': 2.3.1 '@formily/react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(typescript@5.3.3) @@ -452,7 +502,7 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + react-is: 18.2.0 transitivePeerDependencies: - '@formily/json-schema' - '@formily/path' @@ -461,8 +511,8 @@ packages: - antd dev: false - /@designable/formily-setters@0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HyTPHdnjmudKKJjszZ8NMHdAYWzjs5KkWo1b1p4zb62W2z7aVuhO4kbHdGEX9oB1IC57okAMxraeVhgq4EOKtA==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-setters/-/@designable/formily-setters-0.0.1-beta.13.tgz} + /@designable/formily-setters@0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(antd@4.24.15)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NtkEUjmoivZODJExjuxzuzMSKu7HRE0gXA08XGHEn2HClBD6qg2E24fwYRjHI6GVcLPbBNbciH4PvRTDsGTavw==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-setters/-/@designable/formily-setters-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: '@formily/core': ^2.3.1 @@ -476,20 +526,20 @@ packages: react-dom: '>=16.8.0' react-is: '>=16.8.0 || >=17.0.0' dependencies: - '@designable/core': 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/formily-transformer': 0.0.1-beta.13(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/react': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) - '@designable/react-settings-form': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0) + '@designable/core': 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/formily-transformer': 0.0.1-beta.22(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/react': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + '@designable/react-settings-form': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0) '@formily/core': 2.3.1 '@formily/react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(typescript@5.3.3) '@formily/semi': 0.0.3-beta.0(@douyinfe/semi-icons@2.51.0)(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/grid@2.2.1)(@formily/json-schema@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(prop-types@15.8.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@formily/shared': 2.3.1 '@types/react': 18.2.45 '@types/react-dom': 18.2.18 - antd: registry.npmmirror.com/antd@4.24.15(react-dom@18.2.0)(react@18.2.0) + antd: 4.24.15(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + react-is: 18.2.0 transitivePeerDependencies: - '@douyinfe/semi-ui' - '@formily/json-schema' @@ -498,15 +548,15 @@ packages: - '@formily/reactive-react' dev: false - /@designable/formily-transformer@0.0.1-beta.13(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1): - resolution: {integrity: sha512-QreZrLd/PZflExY1d5VGqd8EFpM6ziLJcZNvRlf3Wn5E5vu4Rr/7XGQFIlwfjCiBqYiBXqnQR7WA+ho+cA4WCA==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-transformer/-/@designable/formily-transformer-0.0.1-beta.13.tgz} + /@designable/formily-transformer@0.0.1-beta.22(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1): + resolution: {integrity: sha512-YgEwE2mqI/L13Fds8OlftiZHLYoZyx9mVHroGkO8j0KuhfWYFi78DsmnEcixidsD+dlArJC+jOCrFb4ze4VXKg==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/formily-transformer/-/@designable/formily-transformer-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: '@formily/core': ^2.3.1 '@formily/json-schema': ^2.3.1 dependencies: - '@designable/core': 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/shared': 0.0.1-beta.13 + '@designable/core': 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/shared': 0.0.1-beta.22 '@formily/core': 2.3.1 '@formily/json-schema': 2.3.1(typescript@5.3.3) transitivePeerDependencies: @@ -514,14 +564,14 @@ packages: - '@formily/reactive' dev: false - /@designable/react-sandbox@0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0): - resolution: {integrity: sha512-V97ISmBpufUrAlUNQh/BFYjQ/kMXCJLZMD/X4mugcln8V7Q3+twr+Wl+fBkHV4HZ1mwtPTiRpjdP+DqHcKH26w==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react-sandbox/-/@designable/react-sandbox-0.0.1-beta.13.tgz} + /@designable/react-sandbox@0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0): + resolution: {integrity: sha512-VltZ/6UAY9mBUuyTRQNJT9euTjt2jAwgkXG4z1N4a5pTsqzwGsDF4DJ6A8+6rhcPFnTC1BzHfF8kOoZCYw4iqg==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react-sandbox/-/@designable/react-sandbox-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: react: 16.x || 17.x dependencies: - '@designable/react': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) - '@designable/shared': 0.0.1-beta.13 + '@designable/react': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + '@designable/shared': 0.0.1-beta.22 react: 18.2.0 transitivePeerDependencies: - '@douyinfe/semi-ui' @@ -531,8 +581,8 @@ packages: - '@formily/reactive-react' dev: false - /@designable/react-settings-form@0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Lz9dTR6L1RUSM+qNyoRcXeFAl14m2Wo//Yy7bcLGKeeTiWzk90SCtsvposXipP5jhC4mHLXOj2FWaltgSyzHXA==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react-settings-form/-/@designable/react-settings-form-0.0.1-beta.13.tgz} + /@designable/react-settings-form@0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/semi@0.0.3-beta.0)(@formily/shared@2.3.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zmStU5+fDPh9enpr8mleH2R4zWi5J3LnGO+Fp845ZS/xkzTQw8iowwUb4qd3EostfKmghbBMYa8OLMWcNYP0nQ==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react-settings-form/-/@designable/react-settings-form-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: '@douyinfe/semi-ui': ^2.50.0 @@ -543,10 +593,10 @@ packages: '@formily/semi': ^0.0.3-beta.0 '@formily/shared': ^2.3.1 dependencies: - '@babel/parser': registry.npmmirror.com/@babel/parser@7.23.6 - '@designable/core': 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/react': 0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) - '@designable/shared': 0.0.1-beta.13 + '@babel/parser': 7.23.6 + '@designable/core': 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/react': 0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0) + '@designable/shared': 0.0.1-beta.22 '@douyinfe/semi-ui': 2.51.0(react-dom@18.2.0)(react@18.2.0) '@formily/core': 2.3.1 '@formily/react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(typescript@5.3.3) @@ -554,11 +604,11 @@ packages: '@formily/reactive-react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@formily/semi': 0.0.3-beta.0(@douyinfe/semi-icons@2.51.0)(@douyinfe/semi-ui@2.51.0)(@formily/core@2.3.1)(@formily/grid@2.2.1)(@formily/json-schema@2.3.1)(@formily/react@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(@formily/shared@2.3.1)(@types/react-dom@18.2.18)(@types/react@18.2.45)(prop-types@15.8.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) '@formily/shared': 2.3.1 - '@monaco-editor/react': registry.npmmirror.com/@monaco-editor/react@4.6.0(monaco-editor@0.25.2)(react-dom@18.2.0)(react@18.2.0) - monaco-editor: registry.npmmirror.com/monaco-editor@0.25.2 - prettier: registry.npmmirror.com/prettier@2.8.8 - react-color: registry.npmmirror.com/react-color@2.19.3(react@18.2.0) - react-tiny-popover: registry.npmmirror.com/react-tiny-popover@6.0.10(react-dom@18.2.0)(react@18.2.0) + '@monaco-editor/react': 4.6.0(monaco-editor@0.25.2)(react-dom@18.2.0)(react@18.2.0) + monaco-editor: 0.25.2 + prettier: 2.8.8 + react-color: 2.19.3(react@18.2.0) + react-tiny-popover: 6.0.10(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@formily/json-schema' - '@formily/path' @@ -566,32 +616,32 @@ packages: - react-dom dev: false - /@designable/react@0.0.1-beta.13(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0): - resolution: {integrity: sha512-PDTBhNkogpxdGdWZOcAGDiyxWHfNtLWEOslvbAj3Glley4EoAjtx2B665FozLIFp5xyh3XZyPdf+kK29w5wC+w==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react/-/@designable/react-0.0.1-beta.13.tgz} + /@designable/react@0.0.1-beta.22(@douyinfe/semi-ui@2.51.0)(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive-react@2.3.1)(@formily/reactive@2.3.1)(react@18.2.0): + resolution: {integrity: sha512-zraGB4dLA7JhcD93pkCAj/y9W0Pv+V3yU6oQNGPND66c/8T6ChoaOy1nXY2IO8FhlX62j0ai2iW1Y5WxVg3BZg==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/react/-/@designable/react-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} peerDependencies: - '@douyinfe/semi-ui': ^2.51.0 + '@douyinfe/semi-ui': ^2.50.0 '@formily/reactive': ^2.3.1 '@formily/reactive-react': ^2.3.1 react: 16.x || 17.x dependencies: - '@designable/core': 0.0.1-beta.13(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) - '@designable/shared': 0.0.1-beta.13 + '@designable/core': 0.0.1-beta.22(@formily/json-schema@2.3.1)(@formily/path@2.3.1)(@formily/reactive@2.3.1) + '@designable/shared': 0.0.1-beta.22 '@douyinfe/semi-ui': 2.51.0(react-dom@18.2.0)(react@18.2.0) '@formily/reactive': 2.3.1 '@formily/reactive-react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - dateformat: registry.npmmirror.com/dateformat@4.6.3 + dateformat: 4.6.3 react: 18.2.0 transitivePeerDependencies: - '@formily/json-schema' - '@formily/path' dev: false - /@designable/shared@0.0.1-beta.13: - resolution: {integrity: sha512-oq+Azn6HJTsU4Haokklk8I65vpX878iH81RA5gfC7D2FLS7VMjrwqkvTTat16NcUOmbkW22uD2QVeQcrhrvh4A==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/shared/-/@designable/shared-0.0.1-beta.13.tgz} + /@designable/shared@0.0.1-beta.22: + resolution: {integrity: sha512-AKfsSZiafFw2ucTZEbKR5xMmQ5SrzrVNfcUm+eih9z5riSasI+0QiBdh0GvUGkz+UbnBIypwYyjgKUUY5MKsrw==, tarball: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry/@designable/shared/-/@designable/shared-0.0.1-beta.22.tgz} engines: {npm: '>=3.0.0'} dependencies: - requestidlecallback: registry.npmmirror.com/requestidlecallback@0.3.0 + requestidlecallback: 0.3.0 dev: false /@dnd-kit/accessibility@3.1.0(react@18.2.0): @@ -838,6 +888,167 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false + /@esbuild/aix-ppc64@0.19.10: + resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==, tarball: https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.10: + resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.10: + resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.10: + resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.10: + resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.10: + resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.10: + resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.10: + resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.10: + resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.10: + resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.10: + resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.10: + resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.10: + resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.10: + resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.10: + resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.10: + resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.10: + resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.10: + resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.10: + resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.10: + resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.10: + resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.10: + resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.10: + resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz} + engines: {node: '>=12'} + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -884,6 +1095,17 @@ packages: '@formily/validator': 2.3.1 dev: false + /@formily/grid@2.2.1(typescript@5.3.3): + resolution: {integrity: sha512-d2yXPXEzGyhiicGLtnZpEqftmHRAUvLRbQF9z6vp05/uOlcEjceTf2x7Wj9ucV+VM/0vmjiM3xLd3MCGCJh4XQ==, tarball: https://registry.npmmirror.com/@formily/grid/-/grid-2.2.1.tgz} + engines: {npm: '>=3.0.0'} + peerDependencies: + typescript: ^4.1.0 + dependencies: + '@formily/reactive': 2.2.1 + '@juggle/resize-observer': 3.4.0 + typescript: 5.3.3 + dev: false + /@formily/json-schema@2.3.1(typescript@5.3.3): resolution: {integrity: sha512-LcJmU1BOYGdoip+Q9YAxHdrpjdl781WFSg0fDTD9/0A7c3xUXWwxdCYZIN0cvoXi2qq8Khyzba0pizl3YSkf0A==} engines: {npm: '>=3.0.0'} @@ -927,7 +1149,7 @@ packages: hoist-non-react-statics: 3.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + react-is: 18.2.0 transitivePeerDependencies: - typescript dev: false @@ -953,7 +1175,12 @@ packages: hoist-non-react-statics: 3.3.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + react-is: 18.2.0 + dev: false + + /@formily/reactive@2.2.1: + resolution: {integrity: sha512-8NtHwoPyv8zmP6JSkFGU0osSlm1Y9jPe4TcHJYi3B2/GxYOI6o+qiJbBLDDkTsJXINw74R2MtjG+uNslDx4hkw==, tarball: https://registry.npmmirror.com/@formily/reactive/-/reactive-2.2.1.tgz} + engines: {npm: '>=3.0.0'} dev: false /@formily/reactive@2.3.1: @@ -983,7 +1210,7 @@ packages: '@douyinfe/semi-icons': 2.51.0(react@18.2.0) '@douyinfe/semi-ui': 2.51.0(react-dom@18.2.0)(react@18.2.0) '@formily/core': 2.3.1 - '@formily/grid': registry.npmmirror.com/@formily/grid@2.2.1(typescript@5.3.3) + '@formily/grid': 2.2.1(typescript@5.3.3) '@formily/json-schema': 2.3.1(typescript@5.3.3) '@formily/react': 2.3.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(typescript@5.3.3) '@formily/reactive': 2.3.1 @@ -994,7 +1221,7 @@ packages: dayjs: registry.npmmirror.com/dayjs@1.11.10 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + react-is: 18.2.0 react-sortable-hoc: registry.npmmirror.com/react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) react-sticky-box: registry.npmmirror.com/react-sticky-box@0.9.3(prop-types@15.8.1)(react@18.2.0) transitivePeerDependencies: @@ -1041,6 +1268,14 @@ packages: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true + /@icons/material@0.2.4(react@18.2.0): + resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==, tarball: https://registry.npmmirror.com/@icons/material/-/material-0.2.4.tgz} + peerDependencies: + react: '*' + dependencies: + react: 18.2.0 + dev: false + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1078,6 +1313,32 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@juggle/resize-observer@3.4.0: + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==, tarball: https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz} + dev: false + + /@monaco-editor/loader@1.4.0(monaco-editor@0.25.2): + resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==, tarball: https://registry.npmmirror.com/@monaco-editor/loader/-/loader-1.4.0.tgz} + peerDependencies: + monaco-editor: '>= 0.21.0 < 1' + dependencies: + monaco-editor: 0.25.2 + state-local: 1.0.7 + dev: false + + /@monaco-editor/react@4.6.0(monaco-editor@0.25.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==, tarball: https://registry.npmmirror.com/@monaco-editor/react/-/react-4.6.0.tgz} + peerDependencies: + monaco-editor: '>= 0.25.0 < 1' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@monaco-editor/loader': 1.4.0(monaco-editor@0.25.2) + monaco-editor: 0.25.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1111,6 +1372,20 @@ packages: tslib: 2.6.2 dev: true + /@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, tarball: https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@react-dnd/asap@5.0.2: resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==, tarball: https://registry.npmmirror.com/@react-dnd/asap/-/asap-5.0.2.tgz} dev: false @@ -1128,77 +1403,225 @@ packages: engines: {node: '>=14.0.0'} dev: false - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@rollup/rollup-android-arm-eabi@4.9.1: + resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz} + requiresBuild: true dev: true + optional: true - /@swc/core@1.3.101: - resolution: {integrity: sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==} - engines: {node: '>=10'} + /@rollup/rollup-android-arm64@4.9.1: + resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz} requiresBuild: true - peerDependencies: - '@swc/helpers': ^0.5.0 - peerDependenciesMeta: - '@swc/helpers': - optional: true - dependencies: - '@swc/counter': 0.1.2 - '@swc/types': 0.1.5 - optionalDependencies: - '@swc/core-darwin-arm64': registry.npmmirror.com/@swc/core-darwin-arm64@1.3.101 - '@swc/core-darwin-x64': registry.npmmirror.com/@swc/core-darwin-x64@1.3.101 - '@swc/core-linux-arm-gnueabihf': registry.npmmirror.com/@swc/core-linux-arm-gnueabihf@1.3.101 - '@swc/core-linux-arm64-gnu': registry.npmmirror.com/@swc/core-linux-arm64-gnu@1.3.101 - '@swc/core-linux-arm64-musl': registry.npmmirror.com/@swc/core-linux-arm64-musl@1.3.101 - '@swc/core-linux-x64-gnu': registry.npmmirror.com/@swc/core-linux-x64-gnu@1.3.101 - '@swc/core-linux-x64-musl': registry.npmmirror.com/@swc/core-linux-x64-musl@1.3.101 - '@swc/core-win32-arm64-msvc': registry.npmmirror.com/@swc/core-win32-arm64-msvc@1.3.101 - '@swc/core-win32-ia32-msvc': registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.101 - '@swc/core-win32-x64-msvc': registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.101 dev: true + optional: true - /@swc/counter@0.1.2: - resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + /@rollup/rollup-darwin-arm64@4.9.1: + resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==, tarball: https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz} + requiresBuild: true dev: true + optional: true - /@swc/types@0.1.5: - resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + /@rollup/rollup-darwin-x64@4.9.1: + resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==, tarball: https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz} + requiresBuild: true dev: true + optional: true - /@testing-library/dom@9.3.3: - resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} - engines: {node: '>=14'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.6 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 + /@rollup/rollup-linux-arm-gnueabihf@4.9.1: + resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz} + requiresBuild: true dev: true + optional: true - /@testing-library/jest-dom@6.1.5(vitest@1.1.0): - resolution: {integrity: sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==} - engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - peerDependencies: - '@jest/globals': '>= 28' - '@types/jest': '>= 28' - jest: '>= 28' - vitest: '>= 0.32' - peerDependenciesMeta: - '@jest/globals': - optional: true - '@types/jest': - optional: true - jest: - optional: true - vitest: - optional: true - dependencies: - '@adobe/css-tools': 4.3.2 - '@babel/runtime': 7.23.6 + /@rollup/rollup-linux-arm64-gnu@4.9.1: + resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.1: + resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.1: + resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.1: + resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.1: + resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.1: + resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.1: + resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.1: + resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz} + requiresBuild: true + dev: true + optional: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@swc/core-darwin-arm64@1.3.101: + resolution: {integrity: sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ==, tarball: https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-x64@1.3.101: + resolution: {integrity: sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw==, tarball: https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm-gnueabihf@1.3.101: + resolution: {integrity: sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-gnu@1.3.101: + resolution: {integrity: sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-musl@1.3.101: + resolution: {integrity: sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu@1.3.101: + resolution: {integrity: sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg==, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-musl@1.3.101: + resolution: {integrity: sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw==, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-arm64-msvc@1.3.101: + resolution: {integrity: sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ==, tarball: https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-ia32-msvc@1.3.101: + resolution: {integrity: sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA==, tarball: https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-x64-msvc@1.3.101: + resolution: {integrity: sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ==, tarball: https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /@swc/core@1.3.101: + resolution: {integrity: sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==} + engines: {node: '>=10'} + requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@swc/counter': 0.1.2 + '@swc/types': 0.1.5 + optionalDependencies: + '@swc/core-darwin-arm64': 1.3.101 + '@swc/core-darwin-x64': 1.3.101 + '@swc/core-linux-arm-gnueabihf': 1.3.101 + '@swc/core-linux-arm64-gnu': 1.3.101 + '@swc/core-linux-arm64-musl': 1.3.101 + '@swc/core-linux-x64-gnu': 1.3.101 + '@swc/core-linux-x64-musl': 1.3.101 + '@swc/core-win32-arm64-msvc': 1.3.101 + '@swc/core-win32-ia32-msvc': 1.3.101 + '@swc/core-win32-x64-msvc': 1.3.101 + dev: true + + /@swc/counter@0.1.2: + resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + dev: true + + /@swc/types@0.1.5: + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + dev: true + + /@testing-library/dom@9.3.3: + resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.23.6 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + + /@testing-library/jest-dom@6.1.5(vitest@1.1.0): + resolution: {integrity: sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true + dependencies: + '@adobe/css-tools': 4.3.2 + '@babel/runtime': 7.23.6 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 @@ -1382,6 +1805,59 @@ packages: engines: {node: '>=10'} dev: true + /antd@4.24.15(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-pXCNJB8cTSjQdqeW5RNadraiYiJkMec/Qt0Zh+fEKUK9UqwmD4TxIYs/xnEbyQIVtHHwtl0fW684xql73KhCyQ==, tarball: https://registry.npmmirror.com/antd/-/antd-4.24.15.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons': 4.8.1(react-dom@18.2.0)(react@18.2.0) + '@ant-design/react-slick': 1.0.2(react@18.2.0) + '@babel/runtime': 7.23.6 + '@ctrl/tinycolor': 3.6.1 + classnames: 2.3.2 + copy-to-clipboard: 3.3.3 + lodash: 4.17.21 + moment: 2.29.4 + rc-cascader: 3.7.3(react-dom@18.2.0)(react@18.2.0) + rc-checkbox: 3.0.1(react-dom@18.2.0)(react@18.2.0) + rc-collapse: 3.4.2(react-dom@18.2.0)(react@18.2.0) + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 6.3.0(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.38.2(react-dom@18.2.0)(react@18.2.0) + rc-image: 5.13.0(react-dom@18.2.0)(react@18.2.0) + rc-input: 0.1.4(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 7.3.11(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 1.13.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.9.0(react-dom@18.2.0)(react@18.2.0) + rc-notification: 4.6.1(react-dom@18.2.0)(react@18.2.0) + rc-pagination: 3.2.0(react-dom@18.2.0)(react@18.2.0) + rc-picker: 2.7.6(react-dom@18.2.0)(react@18.2.0) + rc-progress: 3.4.2(react-dom@18.2.0)(react@18.2.0) + rc-rate: 2.9.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.4.0(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.1.18(react-dom@18.2.0)(react@18.2.0) + rc-slider: 10.0.1(react-dom@18.2.0)(react@18.2.0) + rc-steps: 5.0.0(react-dom@18.2.0)(react@18.2.0) + rc-switch: 3.2.2(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.26.0(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 12.5.10(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-tooltip: 5.2.2(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.12(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.5.5(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.3.5(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(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: 2.2.31 + dev: false + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -1432,6 +1908,10 @@ packages: is-string: 1.0.7 dev: true + /array-tree-filter@2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==, tarball: https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz} + dev: false + /array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} @@ -1498,6 +1978,10 @@ packages: resolution: {integrity: sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-3.5.2.tgz} dev: false + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz} + dev: false + /asynciterator.prototype@1.0.0: resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} dependencies: @@ -1705,7 +2189,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: registry.npmmirror.com/fsevents@2.3.3 + fsevents: 2.3.3 dev: true /classnames@2.3.2: @@ -1777,6 +2261,12 @@ packages: engines: {node: '>=6'} dev: false + /copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, tarball: https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz} + dependencies: + toggle-selection: 1.0.6 + dev: false + /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} @@ -1857,6 +2347,14 @@ packages: '@babel/runtime': 7.23.6 dev: false + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, tarball: https://registry.npmmirror.com/dateformat/-/dateformat-4.6.3.tgz} + dev: false + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz} + dev: false + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2008,6 +2506,10 @@ packages: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dev: true + /dom-align@1.12.4: + resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==, tarball: https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz} + dev: false + /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -2028,6 +2530,15 @@ packages: engines: {node: '>=0.12'} dev: true + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -2142,29 +2653,29 @@ packages: hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': registry.npmmirror.com/@esbuild/aix-ppc64@0.19.10 - '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm@0.19.10 - '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64@0.19.10 - '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64@0.19.10 - '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64@0.19.10 - '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64@0.19.10 - '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64@0.19.10 - '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64@0.19.10 - '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm@0.19.10 - '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64@0.19.10 - '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32@0.19.10 - '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64@0.19.10 - '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el@0.19.10 - '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64@0.19.10 - '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64@0.19.10 - '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x@0.19.10 - '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64@0.19.10 - '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64@0.19.10 - '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64@0.19.10 - '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64@0.19.10 - '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64@0.19.10 - '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32@0.19.10 - '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64@0.19.10 + '@esbuild/aix-ppc64': 0.19.10 + '@esbuild/android-arm': 0.19.10 + '@esbuild/android-arm64': 0.19.10 + '@esbuild/android-x64': 0.19.10 + '@esbuild/darwin-arm64': 0.19.10 + '@esbuild/darwin-x64': 0.19.10 + '@esbuild/freebsd-arm64': 0.19.10 + '@esbuild/freebsd-x64': 0.19.10 + '@esbuild/linux-arm': 0.19.10 + '@esbuild/linux-arm64': 0.19.10 + '@esbuild/linux-ia32': 0.19.10 + '@esbuild/linux-loong64': 0.19.10 + '@esbuild/linux-mips64el': 0.19.10 + '@esbuild/linux-ppc64': 0.19.10 + '@esbuild/linux-riscv64': 0.19.10 + '@esbuild/linux-s390x': 0.19.10 + '@esbuild/linux-x64': 0.19.10 + '@esbuild/netbsd-x64': 0.19.10 + '@esbuild/openbsd-x64': 0.19.10 + '@esbuild/sunos-x64': 0.19.10 + '@esbuild/win32-arm64': 0.19.10 + '@esbuild/win32-ia32': 0.19.10 + '@esbuild/win32-x64': 0.19.10 dev: true /escalade@3.1.1: @@ -2627,6 +3138,13 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + requiresBuild: true + dev: true + optional: true + /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -2740,6 +3258,12 @@ packages: get-intrinsic: 1.2.2 dev: true + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz} + requiresBuild: true + dev: true + optional: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -2862,6 +3386,14 @@ packages: engines: {node: '>= 4'} dev: true + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + /immutable@4.3.4: resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true @@ -3209,6 +3741,12 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==, tarball: https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz} + dependencies: + string-convert: 0.2.1 + dev: false + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -3262,13 +3800,13 @@ packages: parse-node-version: 1.0.1 tslib: 2.6.2 optionalDependencies: - errno: registry.npmmirror.com/errno@0.1.8 - graceful-fs: registry.npmmirror.com/graceful-fs@4.2.11 - image-size: registry.npmmirror.com/image-size@0.5.5 - make-dir: registry.npmmirror.com/make-dir@2.1.0 - mime: registry.npmmirror.com/mime@1.6.0 - needle: registry.npmmirror.com/needle@3.3.1 - source-map: registry.npmmirror.com/source-map@0.6.1 + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 dev: true /levn@0.4.1: @@ -3307,6 +3845,10 @@ packages: p-locate: 5.0.0 dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, tarball: https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz} + dev: false + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -3320,6 +3862,21 @@ packages: dependencies: js-tokens: 4.0.0 + /lottie-react@2.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-pDJGj+AQlnlyHvOHFK7vLdsDcvbuqvwPZdMlJ360wrzGFurXeKPr8SiRCjLf3LrNYKANQtSsh5dz9UYQHuqx4w==, tarball: https://registry.npmmirror.com/lottie-react/-/lottie-react-2.4.0.tgz} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + lottie-web: 5.12.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /lottie-web@5.12.2: + resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==, tarball: https://registry.npmmirror.com/lottie-web/-/lottie-web-5.12.2.tgz} + dev: false + /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: @@ -3350,6 +3907,20 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.2 + dev: true + optional: true + + /material-colors@1.2.6: + resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==, tarball: https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz} + dev: false + /memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==, tarball: https://registry.npmmirror.com/memoize-one/-/memoize-one-5.2.1.tgz} dev: false @@ -3381,6 +3952,14 @@ packages: dependencies: mime-db: 1.52.0 + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz} + engines: {node: '>=4'} + hasBin: true + requiresBuild: true + dev: true + optional: true + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -3418,6 +3997,10 @@ packages: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} dev: false + /monaco-editor@0.25.2: + resolution: {integrity: sha512-5iylzSJevCnzJn9UVsW8yOZ3yHjmAs4TfvH3zsbftKiFKmHG0xirGN6DK9Kk04VSWxYCZZAIafYJoNJJMAU1KA==, tarball: https://registry.npmmirror.com/monaco-editor/-/monaco-editor-0.25.2.tgz} + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true @@ -3443,6 +4026,17 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==, tarball: https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + sax: 1.3.0 + dev: true + optional: true + /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -3812,6 +4406,12 @@ packages: fast-diff: 1.3.0 dev: true + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, tarball: https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz} + engines: {node: '>=10.13.0'} + hasBin: true + dev: false + /prettier@3.1.1: resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} engines: {node: '>=14'} @@ -3870,830 +4470,1431 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /react-dnd-html5-backend@16.0.1: - resolution: {integrity: sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==, tarball: https://registry.npmmirror.com/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz} + /rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, tarball: https://registry.npmmirror.com/rc-align/-/rc-align-4.0.15.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - dnd-core: 16.0.1 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + dom-align: 1.12.4 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 dev: false - /react-dnd@16.0.1(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q==, tarball: https://registry.npmmirror.com/react-dnd/-/react-dnd-16.0.1.tgz} + /rc-cascader@3.7.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==, tarball: https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.7.3.tgz} peerDependencies: - '@types/hoist-non-react-statics': '>= 3.3.1' - '@types/node': '>= 12' - '@types/react': '>= 16' - react: '>= 16.14' - peerDependenciesMeta: - '@types/hoist-non-react-statics': - optional: true - '@types/node': - optional: true - '@types/react': - optional: true + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - '@react-dnd/invariant': 4.0.2 - '@react-dnd/shallowequal': 4.0.2 - '@types/react': 18.2.45 - dnd-core: 16.0.1 - fast-deep-equal: 3.1.3 - hoist-non-react-statics: 3.3.2 + '@babel/runtime': 7.23.6 + array-tree-filter: 2.1.0 + classnames: 2.3.2 + rc-select: 14.1.18(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.12(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /rc-checkbox@3.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==, tarball: https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz} peerDependencies: - react: ^18.2.0 + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - loose-envify: 1.4.0 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - scheduler: 0.23.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==, tarball: https://registry.npmmirror.com/react-draggable/-/react-draggable-4.4.6.tgz} + /rc-collapse@3.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==, tarball: https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.4.2.tgz} peerDependencies: - react: '>= 16.3.0' - react-dom: '>= 16.3.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - clsx: 1.2.1 - prop-types: 15.8.1 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 dev: false - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /react-resizable@3.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==, tarball: https://registry.npmmirror.com/react-resizable/-/react-resizable-3.0.5.tgz} + /rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==, tarball: https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.0.2.tgz} peerDependencies: - react: '>= 16.3' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - prop-types: 15.8.1 + '@babel/runtime': 7.23.6 + '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - react-dom + react-dom: 18.2.0(react@18.2.0) dev: false - /react-router-dom@6.21.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1dUdVj3cwc1npzJaf23gulB562ESNvxf7E4x8upNJycqyUm5BRRZ6dd3LrlzhtLaMrwOCO8R0zoiYxdaJx4LlQ==} - engines: {node: '>=14.0.0'} + /rc-drawer@6.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==, tarball: https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.3.0.tgz} peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - '@remix-run/router': 1.14.0 + '@babel/runtime': 7.23.6 + '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.21.0(react@18.2.0) dev: false - /react-router@6.21.0(react@18.2.0): - resolution: {integrity: sha512-hGZ0HXbwz3zw52pLZV3j3+ec+m/PQ9cTpBvqjFQmy2XVUWGn5MD+31oXHb6dVTxYzmAeaiUBYjkoNz66n3RGCg==} - engines: {node: '>=14.0.0'} + /rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==, tarball: https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz} peerDependencies: - react: '>=16.8' + react: '>=16.11.0' + react-dom: '>=16.11.0' dependencies: - '@remix-run/router': 1.14.0 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /react-window@1.8.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==, tarball: https://registry.npmmirror.com/react-window/-/react-window-1.8.10.tgz} - engines: {node: '>8.0.0'} + /rc-field-form@1.38.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==, tarball: https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.38.2.tgz} + engines: {node: '>=8.x'} peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.23.6 - memoize-one: 5.2.1 + async-validator: 4.2.5 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + /rc-image@5.13.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==, tarball: https://registry.npmmirror.com/rc-image/-/rc-image-5.13.0.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - loose-envify: 1.4.0 + '@babel/runtime': 7.23.6 + '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + /rc-input-number@7.3.11(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==, tarball: https://registry.npmmirror.com/rc-input-number/-/rc-input-number-7.3.11.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - pify: 2.3.0 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + /rc-input@0.1.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==, tarball: https://registry.npmmirror.com/rc-input/-/rc-input-0.1.4.tgz} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' dependencies: - picomatch: 2.3.1 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /recoil@0.7.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==} + /rc-mentions@1.13.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==, tarball: https://registry.npmmirror.com/rc-mentions/-/rc-mentions-1.13.1.tgz} peerDependencies: - react: '>=16.13.1' - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - hamt_plus: 1.0.2 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + /rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==, tarball: https://registry.npmmirror.com/rc-menu/-/rc-menu-9.8.4.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==, tarball: https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz} + /rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==, tarball: https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} - engines: {node: '>= 0.4'} + /rc-notification@4.6.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==, tarball: https://registry.npmmirror.com/rc-notification/-/rc-notification-4.6.1.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 - dev: true - - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + /rc-overflow@1.3.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==, tarball: https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.1 - dev: true - - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true - - /resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + /rc-pagination@3.2.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==, tarball: https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.2.0.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true + /rc-picker@2.7.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==, tarball: https://registry.npmmirror.com/rc-picker/-/rc-picker-2.7.6.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + date-fns: 2.30.0 + dayjs: 1.11.10 + moment: 2.29.4 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: false - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + /rc-progress@3.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==, tarball: https://registry.npmmirror.com/rc-progress/-/rc-progress-3.4.2.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - glob: 7.2.3 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /rollup@4.9.1: - resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - '@rollup/rollup-android-arm-eabi': registry.npmmirror.com/@rollup/rollup-android-arm-eabi@4.9.1 - '@rollup/rollup-android-arm64': registry.npmmirror.com/@rollup/rollup-android-arm64@4.9.1 - '@rollup/rollup-darwin-arm64': registry.npmmirror.com/@rollup/rollup-darwin-arm64@4.9.1 - '@rollup/rollup-darwin-x64': registry.npmmirror.com/@rollup/rollup-darwin-x64@4.9.1 - '@rollup/rollup-linux-arm-gnueabihf': registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf@4.9.1 - '@rollup/rollup-linux-arm64-gnu': registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu@4.9.1 - '@rollup/rollup-linux-arm64-musl': registry.npmmirror.com/@rollup/rollup-linux-arm64-musl@4.9.1 - '@rollup/rollup-linux-riscv64-gnu': registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu@4.9.1 - '@rollup/rollup-linux-x64-gnu': registry.npmmirror.com/@rollup/rollup-linux-x64-gnu@4.9.1 - '@rollup/rollup-linux-x64-musl': registry.npmmirror.com/@rollup/rollup-linux-x64-musl@4.9.1 - '@rollup/rollup-win32-arm64-msvc': registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc@4.9.1 - '@rollup/rollup-win32-ia32-msvc': registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc@4.9.1 - '@rollup/rollup-win32-x64-msvc': registry.npmmirror.com/@rollup/rollup-win32-x64-msvc@4.9.1 - fsevents: registry.npmmirror.com/fsevents@2.3.3 - dev: true + /rc-rate@2.9.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==, tarball: https://registry.npmmirror.com/rc-rate/-/rc-rate-2.9.3.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - dev: true + /rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==, tarball: https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + dev: false - /run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} + /rc-segmented@2.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==, tarball: https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.1.2.tgz} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' dependencies: - execa: 5.1.1 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + /rc-select@14.1.18(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==, tarball: https://registry.npmmirror.com/rc-select/-/rc-select-14.1.18.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' dependencies: - queue-microtask: 1.2.3 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.11.3(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} + /rc-slider@10.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==, tarball: https://registry.npmmirror.com/rc-slider/-/rc-slider-10.0.1.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: false - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /rc-steps@5.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==, tarball: https://registry.npmmirror.com/rc-steps/-/rc-steps-5.0.0.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-regex: 1.1.4 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - requiresBuild: true - dev: true + /rc-switch@3.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==, tarball: https://registry.npmmirror.com/rc-switch/-/rc-switch-3.2.2.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /sass@1.69.5: - resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} - engines: {node: '>=14.0.0'} - hasBin: true + /rc-table@7.26.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==, tarball: https://registry.npmmirror.com/rc-table/-/rc-table-7.26.0.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - chokidar: 3.5.3 - immutable: 4.3.4 - source-map-js: 1.0.2 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: false - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - requiresBuild: true - dev: true - optional: true + /rc-tabs@12.5.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==, tarball: https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.5.10.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + 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.9.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} + /rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==, tarball: https://registry.npmmirror.com/rc-textarea/-/rc-textarea-0.4.7.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - xmlchars: 2.2.0 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==, tarball: https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - loose-envify: 1.4.0 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /scroll-into-view-if-needed@2.2.31: - resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==, tarball: https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz} + /rc-tree-select@5.5.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==, tarball: https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz} + peerDependencies: + react: '*' + react-dom: '*' dependencies: - compute-scroll-into-view: 1.0.20 + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-select: 14.1.18(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.12(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - requiresBuild: true - dev: true - optional: true + /rc-tree@5.7.12(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==, tarball: https://registry.npmmirror.com/rc-tree/-/rc-tree-5.7.12.tgz} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.11.3(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + /rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, tarball: https://registry.npmmirror.com/rc-trigger/-/rc-trigger-5.3.4.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} + /rc-upload@4.3.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==, tarball: https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.5.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - dev: true + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + /rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==, tarball: https://registry.npmmirror.com/rc-util/-/rc-util-5.38.1.tgz} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: - define-data-property: 1.1.1 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 - dev: true + '@babel/runtime': 7.23.6 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.2.0 + dev: false - /shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + /rc-virtual-list@3.11.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==, tarball: https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.23.6 + classnames: 2.3.2 + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + /react-cache@2.0.0-alpha.1(react@18.2.0): + resolution: {integrity: sha512-dDJVVGvxAlZE/dMxDXaxU5ZfcE4fbaSmJVFrCTi6dYWXDp7YjCsnywkpEYG6IURVW+eJrCydAIDcW0FADw0/5w==, tarball: https://registry.npmmirror.com/react-cache/-/react-cache-2.0.0-alpha.1.tgz} + peerDependencies: + react: ^16.3.0-alpha.1 dependencies: - shebang-regex: 3.0.0 - dev: true + react: 18.2.0 + dev: false - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + /react-color@2.19.3(react@18.2.0): + resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==, tarball: https://registry.npmmirror.com/react-color/-/react-color-2.19.3.tgz} + peerDependencies: + react: '*' + dependencies: + '@icons/material': 0.2.4(react@18.2.0) + lodash: 4.17.21 + lodash-es: 4.17.21 + material-colors: 1.2.6 + prop-types: 15.8.1 + react: 18.2.0 + reactcss: 1.2.3(react@18.2.0) + tinycolor2: 1.6.0 + dev: false - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /react-dnd-html5-backend@16.0.1: + resolution: {integrity: sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==, tarball: https://registry.npmmirror.com/react-dnd-html5-backend/-/react-dnd-html5-backend-16.0.1.tgz} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 - dev: true + dnd-core: 16.0.1 + dev: false - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + /react-dnd@16.0.1(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-QeoM/i73HHu2XF9aKksIUuamHPDvRglEwdHL4jsp784BgUuWcg6mzfxT0QDdQz8Wj0qyRKx2eMg8iZtWvU4E2Q==, tarball: https://registry.npmmirror.com/react-dnd/-/react-dnd-16.0.1.tgz} + peerDependencies: + '@types/hoist-non-react-statics': '>= 3.3.1' + '@types/node': '>= 12' + '@types/react': '>= 16' + react: '>= 16.14' + peerDependenciesMeta: + '@types/hoist-non-react-statics': + optional: true + '@types/node': + optional: true + '@types/react': + optional: true + dependencies: + '@react-dnd/invariant': 4.0.2 + '@react-dnd/shallowequal': 4.0.2 + '@types/react': 18.2.45 + dnd-core: 16.0.1 + fast-deep-equal: 3.1.3 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + dev: false - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + /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 - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + /react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==, tarball: https://registry.npmmirror.com/react-draggable/-/react-draggable-4.4.6.tgz} + peerDependencies: + react: '>= 16.3.0' + react-dom: '>= 16.3.0' + dependencies: + clsx: 1.2.1 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + /react-resizable@3.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==, tarball: https://registry.npmmirror.com/react-resizable/-/react-resizable-3.0.5.tgz} + peerDependencies: + react: '>= 16.3' + dependencies: + prop-types: 15.8.1 + react: 18.2.0 + react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react-dom + dev: false + + /react-router-dom@6.21.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1dUdVj3cwc1npzJaf23gulB562ESNvxf7E4x8upNJycqyUm5BRRZ6dd3LrlzhtLaMrwOCO8R0zoiYxdaJx4LlQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + '@remix-run/router': 1.14.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.21.0(react@18.2.0) + dev: false + + /react-router@6.21.0(react@18.2.0): + resolution: {integrity: sha512-hGZ0HXbwz3zw52pLZV3j3+ec+m/PQ9cTpBvqjFQmy2XVUWGn5MD+31oXHb6dVTxYzmAeaiUBYjkoNz66n3RGCg==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + dependencies: + '@remix-run/router': 1.14.0 + react: 18.2.0 + dev: false + + /react-tiny-popover@6.0.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ECMucd701SxWHGa+2YuVvccCxxTjmhomcD0ZYTF+Qmi5qNAj8pdlExFN+k+p1G78QTYIGPGNLocxRb9f6cZ0Mw==, tarball: https://registry.npmmirror.com/react-tiny-popover/-/react-tiny-popover-6.0.10.tgz} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /react-window@1.8.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==, tarball: https://registry.npmmirror.com/react-window/-/react-window-1.8.10.tgz} + engines: {node: '>8.0.0'} + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.6 + memoize-one: 5.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + + /reactcss@1.2.3(react@18.2.0): + resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==, tarball: https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz} + peerDependencies: + react: '*' + dependencies: + lodash: 4.17.21 + react: 18.2.0 dev: false - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 dev: true - /std-env@3.6.0: - resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 dev: true - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + /recoil@0.7.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==} + peerDependencies: + react: '>=16.13.1' + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true dependencies: - internal-slot: 1.0.6 - dev: true + hamt_plus: 1.0.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 + indent-string: 4.0.0 + strip-indent: 3.0.0 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + /redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==, tarball: https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true + '@babel/runtime': 7.23.6 + dev: false - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /reflect.getprototypeof@1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.3 + set-function-name: 2.0.1 dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true + /requestidlecallback@0.3.0: + resolution: {integrity: sha512-TWHFkT7S9p7IxLC5A1hYmAYQx2Eb9w1skrXmQ+dS1URyvR8tenMLl4lHbqEOUnpEYxNKpkVMXUgknVpBZWXXfQ==, tarball: https://registry.npmmirror.com/requestidlecallback/-/requestidlecallback-0.3.0.tgz} + dev: false - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + dev: false - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true dependencies: - min-indent: 1.0.1 - dev: true + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 dev: true - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} - dependencies: - acorn: 8.11.2 + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /styled-components@6.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-LJjirciivbOKNuKKjheXMeNOlFspur4s2/AYW2hPyrL4RhwEFiowF9axgjeMVxX7siEoLJAitKrzpuNApJ5R/Q==} - engines: {node: '>= 16'} - peerDependencies: - react: '>= 16.8.0' - react-dom: '>= 16.8.0' + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true dependencies: - '@emotion/is-prop-valid': 1.2.1 - '@emotion/unitless': 0.8.1 - '@types/stylis': 4.2.4 - css-to-react-native: 3.2.0 - csstype: 3.1.3 - postcss: 8.4.32 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: 1.1.0 - stylis: 4.3.0 - tslib: 2.6.2 - dev: false + glob: 7.2.3 + dev: true - /stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - dev: false + /rollup@4.9.1: + resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.1 + '@rollup/rollup-android-arm64': 4.9.1 + '@rollup/rollup-darwin-arm64': 4.9.1 + '@rollup/rollup-darwin-x64': 4.9.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.1 + '@rollup/rollup-linux-arm64-gnu': 4.9.1 + '@rollup/rollup-linux-arm64-musl': 4.9.1 + '@rollup/rollup-linux-riscv64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-musl': 4.9.1 + '@rollup/rollup-win32-arm64-msvc': 4.9.1 + '@rollup/rollup-win32-ia32-msvc': 4.9.1 + '@rollup/rollup-win32-x64-msvc': 4.9.1 + fsevents: 2.3.3 + dev: true - /stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} - dev: false + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} - hasBin: true + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 7.1.6 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 + execa: 5.1.1 dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: - has-flag: 3.0.0 + queue-microtask: 1.2.3 + dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} dependencies: - has-flag: 4.0.0 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - /symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 dev: true - /synckit@0.8.6: - resolution: {integrity: sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.4.2 - tslib: 2.6.2 + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + requiresBuild: true dev: true - /tailwindcss@3.4.0: - resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 chokidar: 3.5.3 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.32 - postcss-import: 15.1.0(postcss@8.4.32) - postcss-js: 4.0.1(postcss@8.4.32) - postcss-load-config: 4.0.2(postcss@8.4.32) - postcss-nested: 6.0.1(postcss@8.4.32) - postcss-selector-parser: 6.0.13 - resolve: 1.22.8 - sucrase: 3.34.0 - transitivePeerDependencies: - - ts-node + immutable: 4.3.4 + source-map-js: 1.0.2 dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + requiresBuild: true dev: true + optional: true - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: - thenify: 3.3.1 + xmlchars: 2.2.0 dev: true - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: - any-promise: 1.3.0 - dev: true + loose-envify: 1.4.0 - /tinybench@2.5.1: - resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + /scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==, tarball: https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz} + dependencies: + compute-scroll-into-view: 1.0.20 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + requiresBuild: true dev: true + optional: true - /tinypool@0.8.1: - resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} - engines: {node: '>=14.0.0'} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true dev: true - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 dev: true - /titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 dev: true - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + /shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + dev: false - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: - is-number: 7.0.0 + shebang-regex: 3.0.0 dev: true - /tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} - engines: {node: '>=6'} - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: true - /tr46@5.0.0: - resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} - engines: {node: '>=18'} + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - punycode: 2.3.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 dev: true - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} + engines: {node: '>=0.10.0'} + requiresBuild: true dev: true + optional: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + /state-local@1.0.7: + resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==, tarball: https://registry.npmmirror.com/state-local/-/state-local-1.0.7.tgz} + dev: false + + /std-env@3.6.0: + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 + dev: true + + /string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==, tarball: https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz} + dev: false + + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - available-typed-arrays: 1.0.5 call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.5 - for-each: 0.3.3 - is-typed-array: 1.1.12 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: false + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.5 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: true - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} dev: true - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 + acorn: 8.11.2 dev: true - /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + /styled-components@6.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LJjirciivbOKNuKKjheXMeNOlFspur4s2/AYW2hPyrL4RhwEFiowF9axgjeMVxX7siEoLJAitKrzpuNApJ5R/Q==} + engines: {node: '>= 16'} + peerDependencies: + react: '>= 16.8.0' + react-dom: '>= 16.8.0' dependencies: + '@emotion/is-prop-valid': 1.2.1 + '@emotion/unitless': 0.8.1 + '@types/stylis': 4.2.4 + css-to-react-native: 3.2.0 + csstype: 3.1.3 + postcss: 8.4.32 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + stylis: 4.3.0 tslib: 2.6.2 dev: false - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + /stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + dev: false + + /stylis@4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + dev: false + + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true dependencies: - punycode: 2.3.1 + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 dev: true - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /utility-types@3.10.0: - resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==, tarball: https://registry.npmmirror.com/utility-types/-/utility-types-3.10.0.tgz} - engines: {node: '>= 4'} - dev: false + /synckit@0.8.6: + resolution: {integrity: sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.2 + dev: true - /vite-node@1.1.0(less@4.2.0)(sass@1.69.5): - resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} - engines: {node: ^18.0.0 || >=20.0.0} + /tailwindcss@3.4.0: + resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.1 + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 picocolors: 1.0.0 - vite: 5.0.10(less@4.2.0)(sass@1.69.5) + postcss: 8.4.32 + postcss-import: 15.1.0(postcss@8.4.32) + postcss-js: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.2(postcss@8.4.32) + postcss-nested: 6.0.1(postcss@8.4.32) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.34.0 transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser + - ts-node dev: true - /vite@5.0.10(less@4.2.0)(sass@1.69.5): - resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /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: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /throttle-debounce@5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==, tarball: https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz} + engines: {node: '>=12.22'} + dev: false + + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + dev: true + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==, tarball: https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz} + dev: false + + /tinypool@0.8.1: + resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, tarball: https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz} + dev: false + + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + dependencies: + punycode: 2.3.1 + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + dependencies: + tslib: 2.6.2 + dev: false + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /utility-types@3.10.0: + resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==, tarball: https://registry.npmmirror.com/utility-types/-/utility-types-3.10.0.tgz} + engines: {node: '>= 4'} + dev: false + + /vite-node@1.1.0(less@4.2.0)(sass@1.69.5): + resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 5.0.10(less@4.2.0)(sass@1.69.5) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.0.10(less@4.2.0)(sass@1.69.5): + resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' lightningcss: ^1.21.0 sass: '*' stylus: '*' @@ -4721,7 +5922,7 @@ packages: rollup: 4.9.1 sass: 1.69.5 optionalDependencies: - fsevents: registry.npmmirror.com/fsevents@2.3.3 + fsevents: 2.3.3 dev: true /vitest@1.1.0(jsdom@23.0.1)(less@4.2.0)(sass@1.69.5): @@ -4836,1627 +6037,133 @@ packages: is-regex: 1.1.4 is-weakref: 1.0.2 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 - dev: true - - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - dev: true - - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /ws@8.15.1: - resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - - /xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - dev: true - - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: false - - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - registry.npmmirror.com/@ant-design/colors@6.0.0: - resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz} - name: '@ant-design/colors' - version: 6.0.0 - dependencies: - '@ctrl/tinycolor': registry.npmmirror.com/@ctrl/tinycolor@3.6.1 - dev: false - - registry.npmmirror.com/@ant-design/icons-svg@4.3.1: - resolution: {integrity: sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz} - name: '@ant-design/icons-svg' - version: 4.3.1 - dev: false - - registry.npmmirror.com/@ant-design/icons@4.8.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JRAuiqllnMsiZIO8OvBOeFconprC3cnMpJ9MvXrHh+H5co9rlg8/aSHQfLf5jKKe18lUgRaIwC2pz8YxH9VuCA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.1.tgz} - id: registry.npmmirror.com/@ant-design/icons/4.8.1 - name: '@ant-design/icons' - version: 4.8.1 - engines: {node: '>=8'} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@ant-design/colors': registry.npmmirror.com/@ant-design/colors@6.0.0 - '@ant-design/icons-svg': registry.npmmirror.com/@ant-design/icons-svg@4.3.1 - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - lodash: registry.npmmirror.com/lodash@4.17.21 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/@ant-design/react-slick@1.0.2(react@18.2.0): - resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz} - id: registry.npmmirror.com/@ant-design/react-slick/1.0.2 - name: '@ant-design/react-slick' - version: 1.0.2 - peerDependencies: - react: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - json2mq: registry.npmmirror.com/json2mq@0.2.0 - react: 18.2.0 - resize-observer-polyfill: registry.npmmirror.com/resize-observer-polyfill@1.5.1 - throttle-debounce: registry.npmmirror.com/throttle-debounce@5.0.0 - dev: false - - registry.npmmirror.com/@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz} - name: '@babel/helper-string-parser' - version: 7.23.4 - engines: {node: '>=6.9.0'} - dev: false - - registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz} - name: '@babel/helper-validator-identifier' - version: 7.22.20 - engines: {node: '>=6.9.0'} - dev: false - - registry.npmmirror.com/@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz} - name: '@babel/parser' - version: 7.23.6 - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': registry.npmmirror.com/@babel/types@7.23.6 - dev: false - - registry.npmmirror.com/@babel/runtime@7.23.6: - resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz} - name: '@babel/runtime' - version: 7.23.6 - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: registry.npmmirror.com/regenerator-runtime@0.14.1 - dev: false - - registry.npmmirror.com/@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.23.6.tgz} - name: '@babel/types' - version: 7.23.6 - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': registry.npmmirror.com/@babel/helper-string-parser@7.23.4 - '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier@7.22.20 - to-fast-properties: registry.npmmirror.com/to-fast-properties@2.0.0 - dev: false - - registry.npmmirror.com/@ctrl/tinycolor@3.6.1: - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz} - name: '@ctrl/tinycolor' - version: 3.6.1 - engines: {node: '>=10'} - dev: false - - registry.npmmirror.com/@esbuild/aix-ppc64@0.19.10: - resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz} - name: '@esbuild/aix-ppc64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/android-arm64@0.19.10: - resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz} - name: '@esbuild/android-arm64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/android-arm@0.19.10: - resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz} - name: '@esbuild/android-arm' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/android-x64@0.19.10: - resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz} - name: '@esbuild/android-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/darwin-arm64@0.19.10: - resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz} - name: '@esbuild/darwin-arm64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/darwin-x64@0.19.10: - resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz} - name: '@esbuild/darwin-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/freebsd-arm64@0.19.10: - resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz} - name: '@esbuild/freebsd-arm64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/freebsd-x64@0.19.10: - resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz} - name: '@esbuild/freebsd-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-arm64@0.19.10: - resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz} - name: '@esbuild/linux-arm64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-arm@0.19.10: - resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz} - name: '@esbuild/linux-arm' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-ia32@0.19.10: - resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz} - name: '@esbuild/linux-ia32' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-loong64@0.19.10: - resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz} - name: '@esbuild/linux-loong64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-mips64el@0.19.10: - resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz} - name: '@esbuild/linux-mips64el' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-ppc64@0.19.10: - resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz} - name: '@esbuild/linux-ppc64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-riscv64@0.19.10: - resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz} - name: '@esbuild/linux-riscv64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-s390x@0.19.10: - resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz} - name: '@esbuild/linux-s390x' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/linux-x64@0.19.10: - resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz} - name: '@esbuild/linux-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/netbsd-x64@0.19.10: - resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz} - name: '@esbuild/netbsd-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/openbsd-x64@0.19.10: - resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz} - name: '@esbuild/openbsd-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/sunos-x64@0.19.10: - resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz} - name: '@esbuild/sunos-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-arm64@0.19.10: - resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz} - name: '@esbuild/win32-arm64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-ia32@0.19.10: - resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz} - name: '@esbuild/win32-ia32' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@esbuild/win32-x64@0.19.10: - resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz} - name: '@esbuild/win32-x64' - version: 0.19.10 - engines: {node: '>=12'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@formily/grid@2.2.1(typescript@5.3.3): - resolution: {integrity: sha512-d2yXPXEzGyhiicGLtnZpEqftmHRAUvLRbQF9z6vp05/uOlcEjceTf2x7Wj9ucV+VM/0vmjiM3xLd3MCGCJh4XQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@formily/grid/-/grid-2.2.1.tgz} - id: registry.npmmirror.com/@formily/grid/2.2.1 - name: '@formily/grid' - version: 2.2.1 - engines: {npm: '>=3.0.0'} - peerDependencies: - typescript: ^4.1.0 - dependencies: - '@formily/reactive': registry.npmmirror.com/@formily/reactive@2.2.1 - '@juggle/resize-observer': registry.npmmirror.com/@juggle/resize-observer@3.4.0 - typescript: 5.3.3 - dev: false - - registry.npmmirror.com/@formily/path@2.3.1: - resolution: {integrity: sha512-BVo89K5nAFntx02+EV696If1b1bVIm5I1tRPtVyCVIjBIfAgga5hK4k80GZ01Dlk3tpReHpiIbZVg2DNVfw7jA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@formily/path/-/path-2.3.1.tgz} - name: '@formily/path' - version: 2.3.1 - engines: {npm: '>=3.0.0'} - dev: false - - registry.npmmirror.com/@formily/reactive@2.2.1: - resolution: {integrity: sha512-8NtHwoPyv8zmP6JSkFGU0osSlm1Y9jPe4TcHJYi3B2/GxYOI6o+qiJbBLDDkTsJXINw74R2MtjG+uNslDx4hkw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@formily/reactive/-/reactive-2.2.1.tgz} - name: '@formily/reactive' - version: 2.2.1 - engines: {npm: '>=3.0.0'} - dev: false - - registry.npmmirror.com/@icons/material@0.2.4(react@18.2.0): - resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@icons/material/-/material-0.2.4.tgz} - id: registry.npmmirror.com/@icons/material/0.2.4 - name: '@icons/material' - version: 0.2.4 - peerDependencies: - react: '*' - dependencies: - react: 18.2.0 - dev: false - - registry.npmmirror.com/@juggle/resize-observer@3.4.0: - resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz} - name: '@juggle/resize-observer' - version: 3.4.0 - dev: false - - registry.npmmirror.com/@monaco-editor/loader@1.4.0(monaco-editor@0.25.2): - resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@monaco-editor/loader/-/loader-1.4.0.tgz} - id: registry.npmmirror.com/@monaco-editor/loader/1.4.0 - name: '@monaco-editor/loader' - version: 1.4.0 - peerDependencies: - monaco-editor: '>= 0.21.0 < 1' - dependencies: - monaco-editor: registry.npmmirror.com/monaco-editor@0.25.2 - state-local: registry.npmmirror.com/state-local@1.0.7 - dev: false - - registry.npmmirror.com/@monaco-editor/react@4.6.0(monaco-editor@0.25.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@monaco-editor/react/-/react-4.6.0.tgz} - id: registry.npmmirror.com/@monaco-editor/react/4.6.0 - name: '@monaco-editor/react' - version: 4.6.0 - peerDependencies: - monaco-editor: '>= 0.25.0 < 1' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@monaco-editor/loader': registry.npmmirror.com/@monaco-editor/loader@1.4.0(monaco-editor@0.25.2) - monaco-editor: registry.npmmirror.com/monaco-editor@0.25.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz} - id: registry.npmmirror.com/@rc-component/portal/1.1.2 - name: '@rc-component/portal' - version: 1.1.2 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/@rollup/rollup-android-arm-eabi@4.9.1: - resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz} - name: '@rollup/rollup-android-arm-eabi' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-android-arm64@4.9.1: - resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz} - name: '@rollup/rollup-android-arm64' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-darwin-arm64@4.9.1: - resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz} - name: '@rollup/rollup-darwin-arm64' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-darwin-x64@4.9.1: - resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz} - name: '@rollup/rollup-darwin-x64' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf@4.9.1: - resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz} - name: '@rollup/rollup-linux-arm-gnueabihf' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu@4.9.1: - resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz} - name: '@rollup/rollup-linux-arm64-gnu' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-arm64-musl@4.9.1: - resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz} - name: '@rollup/rollup-linux-arm64-musl' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu@4.9.1: - resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz} - name: '@rollup/rollup-linux-riscv64-gnu' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-x64-gnu@4.9.1: - resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz} - name: '@rollup/rollup-linux-x64-gnu' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-linux-x64-musl@4.9.1: - resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz} - name: '@rollup/rollup-linux-x64-musl' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc@4.9.1: - resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz} - name: '@rollup/rollup-win32-arm64-msvc' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc@4.9.1: - resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz} - name: '@rollup/rollup-win32-ia32-msvc' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@rollup/rollup-win32-x64-msvc@4.9.1: - resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz} - name: '@rollup/rollup-win32-x64-msvc' - version: 4.9.1 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-darwin-arm64@1.3.101: - resolution: {integrity: sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz} - name: '@swc/core-darwin-arm64' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-darwin-x64@1.3.101: - resolution: {integrity: sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz} - name: '@swc/core-darwin-x64' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-linux-arm-gnueabihf@1.3.101: - resolution: {integrity: sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz} - name: '@swc/core-linux-arm-gnueabihf' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-linux-arm64-gnu@1.3.101: - resolution: {integrity: sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz} - name: '@swc/core-linux-arm64-gnu' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-linux-arm64-musl@1.3.101: - resolution: {integrity: sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz} - name: '@swc/core-linux-arm64-musl' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-linux-x64-gnu@1.3.101: - resolution: {integrity: sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz} - name: '@swc/core-linux-x64-gnu' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-linux-x64-musl@1.3.101: - resolution: {integrity: sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz} - name: '@swc/core-linux-x64-musl' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-win32-arm64-msvc@1.3.101: - resolution: {integrity: sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz} - name: '@swc/core-win32-arm64-msvc' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.101: - resolution: {integrity: sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz} - name: '@swc/core-win32-ia32-msvc' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.101: - resolution: {integrity: sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz} - name: '@swc/core-win32-x64-msvc' - version: 1.3.101 - engines: {node: '>=10'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/antd@4.24.15(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pXCNJB8cTSjQdqeW5RNadraiYiJkMec/Qt0Zh+fEKUK9UqwmD4TxIYs/xnEbyQIVtHHwtl0fW684xql73KhCyQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/antd/-/antd-4.24.15.tgz} - id: registry.npmmirror.com/antd/4.24.15 - name: antd - version: 4.24.15 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@ant-design/colors': registry.npmmirror.com/@ant-design/colors@6.0.0 - '@ant-design/icons': registry.npmmirror.com/@ant-design/icons@4.8.1(react-dom@18.2.0)(react@18.2.0) - '@ant-design/react-slick': registry.npmmirror.com/@ant-design/react-slick@1.0.2(react@18.2.0) - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - '@ctrl/tinycolor': registry.npmmirror.com/@ctrl/tinycolor@3.6.1 - classnames: registry.npmmirror.com/classnames@2.3.2 - copy-to-clipboard: registry.npmmirror.com/copy-to-clipboard@3.3.3 - lodash: registry.npmmirror.com/lodash@4.17.21 - moment: registry.npmmirror.com/moment@2.29.4 - rc-cascader: registry.npmmirror.com/rc-cascader@3.7.3(react-dom@18.2.0)(react@18.2.0) - rc-checkbox: registry.npmmirror.com/rc-checkbox@3.0.1(react-dom@18.2.0)(react@18.2.0) - rc-collapse: registry.npmmirror.com/rc-collapse@3.4.2(react-dom@18.2.0)(react@18.2.0) - rc-dialog: registry.npmmirror.com/rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0) - rc-drawer: registry.npmmirror.com/rc-drawer@6.3.0(react-dom@18.2.0)(react@18.2.0) - rc-dropdown: registry.npmmirror.com/rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0) - rc-field-form: registry.npmmirror.com/rc-field-form@1.38.2(react-dom@18.2.0)(react@18.2.0) - rc-image: registry.npmmirror.com/rc-image@5.13.0(react-dom@18.2.0)(react@18.2.0) - rc-input: registry.npmmirror.com/rc-input@0.1.4(react-dom@18.2.0)(react@18.2.0) - rc-input-number: registry.npmmirror.com/rc-input-number@7.3.11(react-dom@18.2.0)(react@18.2.0) - rc-mentions: registry.npmmirror.com/rc-mentions@1.13.1(react-dom@18.2.0)(react@18.2.0) - rc-menu: registry.npmmirror.com/rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0) - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-notification: registry.npmmirror.com/rc-notification@4.6.1(react-dom@18.2.0)(react@18.2.0) - rc-pagination: registry.npmmirror.com/rc-pagination@3.2.0(react-dom@18.2.0)(react@18.2.0) - rc-picker: registry.npmmirror.com/rc-picker@2.7.6(react-dom@18.2.0)(react@18.2.0) - rc-progress: registry.npmmirror.com/rc-progress@3.4.2(react-dom@18.2.0)(react@18.2.0) - rc-rate: registry.npmmirror.com/rc-rate@2.9.3(react-dom@18.2.0)(react@18.2.0) - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-segmented: registry.npmmirror.com/rc-segmented@2.1.2(react-dom@18.2.0)(react@18.2.0) - rc-select: registry.npmmirror.com/rc-select@14.1.18(react-dom@18.2.0)(react@18.2.0) - rc-slider: registry.npmmirror.com/rc-slider@10.0.1(react-dom@18.2.0)(react@18.2.0) - rc-steps: registry.npmmirror.com/rc-steps@5.0.0(react-dom@18.2.0)(react@18.2.0) - rc-switch: registry.npmmirror.com/rc-switch@3.2.2(react-dom@18.2.0)(react@18.2.0) - rc-table: registry.npmmirror.com/rc-table@7.26.0(react-dom@18.2.0)(react@18.2.0) - rc-tabs: registry.npmmirror.com/rc-tabs@12.5.10(react-dom@18.2.0)(react@18.2.0) - rc-textarea: registry.npmmirror.com/rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0) - rc-tooltip: registry.npmmirror.com/rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0) - rc-tree: registry.npmmirror.com/rc-tree@5.7.12(react-dom@18.2.0)(react@18.2.0) - rc-tree-select: registry.npmmirror.com/rc-tree-select@5.5.5(react-dom@18.2.0)(react@18.2.0) - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-upload: registry.npmmirror.com/rc-upload@4.3.5(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(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: registry.npmmirror.com/scroll-into-view-if-needed@2.2.31 - dev: false - - registry.npmmirror.com/array-tree-filter@2.1.0: - resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz} - name: array-tree-filter - version: 2.1.0 - dev: false - - registry.npmmirror.com/async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz} - name: async-validator - version: 4.2.5 - dev: false - - registry.npmmirror.com/classnames@2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/classnames/-/classnames-2.3.2.tgz} - name: classnames - version: 2.3.2 - dev: false - - registry.npmmirror.com/compute-scroll-into-view@1.0.20: - resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz} - name: compute-scroll-into-view - version: 1.0.20 - dev: false - - registry.npmmirror.com/copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz} - name: copy-to-clipboard - version: 3.3.3 - dependencies: - toggle-selection: registry.npmmirror.com/toggle-selection@1.0.6 - dev: false - - registry.npmmirror.com/date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/date-fns/-/date-fns-2.30.0.tgz} - name: date-fns - version: 2.30.0 - engines: {node: '>=0.11'} - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - dev: false - - registry.npmmirror.com/dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/dateformat/-/dateformat-4.6.3.tgz} - name: dateformat - version: 4.6.3 - dev: false - - registry.npmmirror.com/dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz} - name: dayjs - version: 1.11.10 - dev: false - - registry.npmmirror.com/dom-align@1.12.4: - resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz} - name: dom-align - version: 1.12.4 - dev: false - - registry.npmmirror.com/errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz} - name: errno - version: 0.1.8 - hasBin: true - requiresBuild: true - dependencies: - prr: 1.0.1 - dev: true - optional: true - - registry.npmmirror.com/fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz} - name: fsevents - version: 2.3.3 - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz} - name: graceful-fs - version: 4.2.11 - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz} - name: image-size - version: 0.5.5 - engines: {node: '>=0.10.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz} - name: invariant - version: 2.2.4 - dependencies: - loose-envify: registry.npmmirror.com/loose-envify@1.4.0 - dev: false - - registry.npmmirror.com/js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz} - name: js-tokens - version: 4.0.0 - dev: false - - registry.npmmirror.com/json2mq@0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz} - name: json2mq - version: 0.2.0 - dependencies: - string-convert: registry.npmmirror.com/string-convert@0.2.1 - dev: false - - registry.npmmirror.com/lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz} - name: lodash-es - version: 4.17.21 - dev: false - - registry.npmmirror.com/lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz} - name: lodash - version: 4.17.21 - dev: false - - registry.npmmirror.com/loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz} - name: loose-envify - version: 1.4.0 - hasBin: true - dependencies: - js-tokens: registry.npmmirror.com/js-tokens@4.0.0 - dev: false - - registry.npmmirror.com/make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz} - name: make-dir - version: 2.1.0 - engines: {node: '>=6'} - requiresBuild: true - dependencies: - pify: 4.0.1 - semver: 5.7.2 - dev: true - optional: true - - registry.npmmirror.com/material-colors@1.2.6: - resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz} - name: material-colors - version: 1.2.6 - dev: false - - registry.npmmirror.com/mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz} - name: mime - version: 1.6.0 - engines: {node: '>=4'} - hasBin: true - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/moment@2.29.4: - resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz} - name: moment - version: 2.29.4 - dev: false - - registry.npmmirror.com/monaco-editor@0.25.2: - resolution: {integrity: sha512-5iylzSJevCnzJn9UVsW8yOZ3yHjmAs4TfvH3zsbftKiFKmHG0xirGN6DK9Kk04VSWxYCZZAIafYJoNJJMAU1KA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/monaco-editor/-/monaco-editor-0.25.2.tgz} - name: monaco-editor - version: 0.25.2 - dev: false - - registry.npmmirror.com/needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz} - name: needle - version: 3.3.1 - engines: {node: '>= 4.4.x'} - hasBin: true - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - sax: 1.3.0 - dev: true - optional: true - - registry.npmmirror.com/object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz} - name: object-assign - version: 4.1.1 - engines: {node: '>=0.10.0'} - dev: false - - registry.npmmirror.com/prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz} - name: prettier - version: 2.8.8 - engines: {node: '>=10.13.0'} - hasBin: true - dev: false - - registry.npmmirror.com/prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz} - name: prop-types - version: 15.8.1 - dependencies: - loose-envify: registry.npmmirror.com/loose-envify@1.4.0 - object-assign: registry.npmmirror.com/object-assign@4.1.1 - react-is: registry.npmmirror.com/react-is@16.13.1 - dev: false - - registry.npmmirror.com/rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-align/-/rc-align-4.0.15.tgz} - id: registry.npmmirror.com/rc-align/4.0.15 - name: rc-align - version: 4.0.15 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - dom-align: registry.npmmirror.com/dom-align@1.12.4 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - resize-observer-polyfill: registry.npmmirror.com/resize-observer-polyfill@1.5.1 - dev: false - - registry.npmmirror.com/rc-cascader@3.7.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.7.3.tgz} - id: registry.npmmirror.com/rc-cascader/3.7.3 - name: rc-cascader - version: 3.7.3 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - array-tree-filter: registry.npmmirror.com/array-tree-filter@2.1.0 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-select: registry.npmmirror.com/rc-select@14.1.18(react-dom@18.2.0)(react@18.2.0) - rc-tree: registry.npmmirror.com/rc-tree@5.7.12(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-checkbox@3.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz} - id: registry.npmmirror.com/rc-checkbox/3.0.1 - name: rc-checkbox - version: 3.0.1 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-collapse@3.4.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.4.2.tgz} - id: registry.npmmirror.com/rc-collapse/3.4.2 - name: rc-collapse - version: 3.4.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: registry.npmmirror.com/shallowequal@1.1.0 - dev: false - - registry.npmmirror.com/rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.0.2.tgz} - id: registry.npmmirror.com/rc-dialog/9.0.2 - name: rc-dialog - version: 9.0.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - '@rc-component/portal': registry.npmmirror.com/@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0) - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-drawer@6.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.3.0.tgz} - id: registry.npmmirror.com/rc-drawer/6.3.0 - name: rc-drawer - version: 6.3.0 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - '@rc-component/portal': registry.npmmirror.com/@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0) - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz} - id: registry.npmmirror.com/rc-dropdown/4.0.1 - name: rc-dropdown - version: 4.0.1 - peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-field-form@1.38.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.38.2.tgz} - id: registry.npmmirror.com/rc-field-form/1.38.2 - name: rc-field-form - version: 1.38.2 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - async-validator: registry.npmmirror.com/async-validator@4.2.5 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-image@5.13.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-image/-/rc-image-5.13.0.tgz} - id: registry.npmmirror.com/rc-image/5.13.0 - name: rc-image - version: 5.13.0 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - '@rc-component/portal': registry.npmmirror.com/@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0) - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-dialog: registry.npmmirror.com/rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0) - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-input-number@7.3.11(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-input-number/-/rc-input-number-7.3.11.tgz} - id: registry.npmmirror.com/rc-input-number/7.3.11 - name: rc-input-number - version: 7.3.11 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-input@0.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-input/-/rc-input-0.1.4.tgz} - id: registry.npmmirror.com/rc-input/0.1.4 - name: rc-input - version: 0.1.4 - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-mentions@1.13.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-mentions/-/rc-mentions-1.13.1.tgz} - id: registry.npmmirror.com/rc-mentions/1.13.1 - name: rc-mentions - version: 1.13.1 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-menu: registry.npmmirror.com/rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0) - rc-textarea: registry.npmmirror.com/rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0) - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-menu/-/rc-menu-9.8.4.tgz} - id: registry.npmmirror.com/rc-menu/9.8.4 - name: rc-menu - version: 9.8.4 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-overflow: registry.npmmirror.com/rc-overflow@1.3.2(react-dom@18.2.0)(react@18.2.0) - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz} - id: registry.npmmirror.com/rc-motion/2.9.0 - name: rc-motion - version: 2.9.0 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-notification@4.6.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-notification/-/rc-notification-4.6.1.tgz} - id: registry.npmmirror.com/rc-notification/4.6.1 - name: rc-notification - version: 4.6.1 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-overflow@1.3.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz} - id: registry.npmmirror.com/rc-overflow/1.3.2 - name: rc-overflow - version: 1.3.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-pagination@3.2.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.2.0.tgz} - id: registry.npmmirror.com/rc-pagination/3.2.0 - name: rc-pagination - version: 3.2.0 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-picker@2.7.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-picker/-/rc-picker-2.7.6.tgz} - id: registry.npmmirror.com/rc-picker/2.7.6 - name: rc-picker - version: 2.7.6 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - date-fns: registry.npmmirror.com/date-fns@2.30.0 - dayjs: registry.npmmirror.com/dayjs@1.11.10 - moment: registry.npmmirror.com/moment@2.29.4 - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: registry.npmmirror.com/shallowequal@1.1.0 - dev: false - - registry.npmmirror.com/rc-progress@3.4.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-progress/-/rc-progress-3.4.2.tgz} - id: registry.npmmirror.com/rc-progress/3.4.2 - name: rc-progress - version: 3.4.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-rate@2.9.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-rate/-/rc-rate-2.9.3.tgz} - id: registry.npmmirror.com/rc-rate/2.9.3 - name: rc-rate - version: 2.9.3 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz} - id: registry.npmmirror.com/rc-resize-observer/1.4.0 - name: rc-resize-observer - version: 1.4.0 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - resize-observer-polyfill: registry.npmmirror.com/resize-observer-polyfill@1.5.1 - dev: false - - registry.npmmirror.com/rc-segmented@2.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.1.2.tgz} - id: registry.npmmirror.com/rc-segmented/2.1.2 - name: rc-segmented - version: 2.1.2 - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true - registry.npmmirror.com/rc-select@14.1.18(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-select/-/rc-select-14.1.18.tgz} - id: registry.npmmirror.com/rc-select/14.1.18 - name: rc-select - version: 14.1.18 - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-overflow: registry.npmmirror.com/rc-overflow@1.3.2(react-dom@18.2.0)(react@18.2.0) - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: registry.npmmirror.com/rc-virtual-list@3.11.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true - registry.npmmirror.com/rc-slider@10.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-slider/-/rc-slider-10.0.1.tgz} - id: registry.npmmirror.com/rc-slider/10.0.1 - name: rc-slider - version: 10.0.1 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: registry.npmmirror.com/shallowequal@1.1.0 - dev: false + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true - registry.npmmirror.com/rc-steps@5.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-steps/-/rc-steps-5.0.0.tgz} - id: registry.npmmirror.com/rc-steps/5.0.0 - name: rc-steps - version: 5.0.0 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + isexe: 2.0.0 + dev: true - registry.npmmirror.com/rc-switch@3.2.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-switch/-/rc-switch-3.2.2.tgz} - id: registry.npmmirror.com/rc-switch/3.2.2 - name: rc-switch - version: 3.2.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true - registry.npmmirror.com/rc-table@7.26.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-table/-/rc-table-7.26.0.tgz} - id: registry.npmmirror.com/rc-table/7.26.0 - name: rc-table - version: 7.26.0 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: registry.npmmirror.com/shallowequal@1.1.0 - dev: false + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - registry.npmmirror.com/rc-tabs@12.5.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.5.10.tgz} - id: registry.npmmirror.com/rc-tabs/12.5.10 - name: rc-tabs - version: 12.5.10 - engines: {node: '>=8.x'} + /ws@8.15.1: + resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} + engines: {node: '>=10.0.0'} peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-dropdown: registry.npmmirror.com/rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0) - rc-menu: registry.npmmirror.com/rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0) - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - registry.npmmirror.com/rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-textarea/-/rc-textarea-0.4.7.tgz} - id: registry.npmmirror.com/rc-textarea/0.4.7 - name: rc-textarea - version: 0.4.7 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: registry.npmmirror.com/shallowequal@1.1.0 - dev: false + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + dev: true - registry.npmmirror.com/rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz} - id: registry.npmmirror.com/rc-tooltip/5.2.2 - name: rc-tooltip - version: 5.2.2 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-trigger: registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true - registry.npmmirror.com/rc-tree-select@5.5.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz} - id: registry.npmmirror.com/rc-tree-select/5.5.5 - name: rc-tree-select - version: 5.5.5 - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-select: registry.npmmirror.com/rc-select@14.1.18(react-dom@18.2.0)(react@18.2.0) - rc-tree: registry.npmmirror.com/rc-tree@5.7.12(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true - registry.npmmirror.com/rc-tree@5.7.12(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-tree/-/rc-tree-5.7.12.tgz} - id: registry.npmmirror.com/rc-tree/5.7.12 - name: rc-tree - version: 5.7.12 - engines: {node: '>=10.x'} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - rc-virtual-list: registry.npmmirror.com/rc-virtual-list@3.11.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: false - registry.npmmirror.com/rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-trigger/-/rc-trigger-5.3.4.tgz} - id: registry.npmmirror.com/rc-trigger/5.3.4 - name: rc-trigger - version: 5.3.4 - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-align: registry.npmmirror.com/rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0) - rc-motion: registry.npmmirror.com/rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true - registry.npmmirror.com/rc-upload@4.3.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.5.tgz} - id: registry.npmmirror.com/rc-upload/4.3.5 - name: rc-upload - version: 4.3.5 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true - registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-util/-/rc-util-5.38.1.tgz} - id: registry.npmmirror.com/rc-util/5.38.1 - name: rc-util - version: 5.38.1 - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + registry.npmmirror.com/@babel/runtime@7.23.6: + resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz} + name: '@babel/runtime' + version: 7.23.6 + engines: {node: '>=6.9.0'} dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: registry.npmmirror.com/react-is@18.2.0 + regenerator-runtime: registry.npmmirror.com/regenerator-runtime@0.14.1 dev: false - registry.npmmirror.com/rc-virtual-list@3.11.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz} - id: registry.npmmirror.com/rc-virtual-list/3.11.3 - name: rc-virtual-list - version: 3.11.3 - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - classnames: registry.npmmirror.com/classnames@2.3.2 - rc-resize-observer: registry.npmmirror.com/rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: registry.npmmirror.com/rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + registry.npmmirror.com/dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz} + name: dayjs + version: 1.11.10 dev: false - registry.npmmirror.com/react-color@2.19.3(react@18.2.0): - resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/react-color/-/react-color-2.19.3.tgz} - id: registry.npmmirror.com/react-color/2.19.3 - name: react-color - version: 2.19.3 - peerDependencies: - react: '*' + registry.npmmirror.com/invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz} + name: invariant + version: 2.2.4 dependencies: - '@icons/material': registry.npmmirror.com/@icons/material@0.2.4(react@18.2.0) - lodash: registry.npmmirror.com/lodash@4.17.21 - lodash-es: registry.npmmirror.com/lodash-es@4.17.21 - material-colors: registry.npmmirror.com/material-colors@1.2.6 - prop-types: registry.npmmirror.com/prop-types@15.8.1 - react: 18.2.0 - reactcss: registry.npmmirror.com/reactcss@1.2.3(react@18.2.0) - tinycolor2: registry.npmmirror.com/tinycolor2@1.6.0 + loose-envify: registry.npmmirror.com/loose-envify@1.4.0 dev: false - registry.npmmirror.com/react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz} - name: react-is - version: 16.13.1 + registry.npmmirror.com/js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz} + name: js-tokens + version: 4.0.0 dev: false - registry.npmmirror.com/react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz} - name: react-is - version: 18.2.0 + registry.npmmirror.com/loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz} + name: loose-envify + version: 1.4.0 + hasBin: true + dependencies: + js-tokens: registry.npmmirror.com/js-tokens@4.0.0 dev: false registry.npmmirror.com/react-sortable-hoc@2.0.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): @@ -6471,7 +6178,7 @@ packages: dependencies: '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 invariant: registry.npmmirror.com/invariant@2.2.4 - prop-types: registry.npmmirror.com/prop-types@15.8.1 + prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6486,111 +6193,19 @@ packages: react: ^0.14.0 || ^15.0.0 || ^16.0.0 dependencies: '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.23.6 - prop-types: registry.npmmirror.com/prop-types@15.8.1 + prop-types: 15.8.1 react: 18.2.0 resize-observer-polyfill: registry.npmmirror.com/resize-observer-polyfill@1.5.1 dev: false - registry.npmmirror.com/react-tiny-popover@6.0.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ECMucd701SxWHGa+2YuVvccCxxTjmhomcD0ZYTF+Qmi5qNAj8pdlExFN+k+p1G78QTYIGPGNLocxRb9f6cZ0Mw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/react-tiny-popover/-/react-tiny-popover-6.0.10.tgz} - id: registry.npmmirror.com/react-tiny-popover/6.0.10 - name: react-tiny-popover - version: 6.0.10 - peerDependencies: - react: ^16.8.0 || ^17.0.0 - react-dom: ^16.8.0 || ^17.0.0 - dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - registry.npmmirror.com/reactcss@1.2.3(react@18.2.0): - resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz} - id: registry.npmmirror.com/reactcss/1.2.3 - name: reactcss - version: 1.2.3 - peerDependencies: - react: '*' - dependencies: - lodash: registry.npmmirror.com/lodash@4.17.21 - react: 18.2.0 - dev: false - registry.npmmirror.com/regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz} name: regenerator-runtime version: 0.14.1 dev: false - registry.npmmirror.com/requestidlecallback@0.3.0: - resolution: {integrity: sha512-TWHFkT7S9p7IxLC5A1hYmAYQx2Eb9w1skrXmQ+dS1URyvR8tenMLl4lHbqEOUnpEYxNKpkVMXUgknVpBZWXXfQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/requestidlecallback/-/requestidlecallback-0.3.0.tgz} - name: requestidlecallback - version: 0.3.0 - dev: false - registry.npmmirror.com/resize-observer-polyfill@1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz} name: resize-observer-polyfill version: 1.5.1 dev: false - - registry.npmmirror.com/scroll-into-view-if-needed@2.2.31: - resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz} - name: scroll-into-view-if-needed - version: 2.2.31 - dependencies: - compute-scroll-into-view: registry.npmmirror.com/compute-scroll-into-view@1.0.20 - dev: false - - registry.npmmirror.com/shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz} - name: shallowequal - version: 1.1.0 - dev: false - - registry.npmmirror.com/source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} - name: source-map - version: 0.6.1 - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true - optional: true - - registry.npmmirror.com/state-local@1.0.7: - resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/state-local/-/state-local-1.0.7.tgz} - name: state-local - version: 1.0.7 - dev: false - - registry.npmmirror.com/string-convert@0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz} - name: string-convert - version: 0.2.1 - dev: false - - registry.npmmirror.com/throttle-debounce@5.0.0: - resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz} - name: throttle-debounce - version: 5.0.0 - engines: {node: '>=12.22'} - dev: false - - registry.npmmirror.com/tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz} - name: tinycolor2 - version: 1.6.0 - dev: false - - registry.npmmirror.com/to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} - name: to-fast-properties - version: 2.0.0 - engines: {node: '>=4'} - dev: false - - registry.npmmirror.com/toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, registry: https://packages.aliyun.com/636dc75af003e3b7bb5cad97/npm/npm-registry, tarball: https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz} - name: toggle-selection - version: 1.0.6 - dev: false diff --git a/src/App.tsx b/src/App.tsx index 7991a6d..141a4eb 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,24 +1,83 @@ +import '@/pages/developer/editor'; import { Layout } from '@douyinfe/semi-ui'; import MotionContent from './components/MotionContent'; import MotionHeader from './components/MotionHeader'; -import { useEffect } from 'react'; +import { useEffect, useMemo } from 'react'; import { GlobalRegistry } from '@designable/core'; +import { SUPPORT_LOCALES } from './components/MotionHeader/Locales'; +import { useLoaderData, useLocation } from 'react-router-dom'; +import { TurboRoute } from './route/AppRouter'; +import { observable } from '@formily/reactive'; +import { findRoute } from './route/util'; +import { AppContext } from './context'; +import { observer } from '@formily/reactive-react'; +import { UserTab } from './components/MotionContent/interface'; +import { createContentTab } from './components/MotionContent/util'; import './locales'; +import './theme/default.css'; -import { SUPPORT_LOCALES } from './components/MotionHeader/Locales'; +export type AppProperty = { + // 当前用户route + userRoutes: TurboRoute[]; + // 选择顶部菜单的key + selectTopKey: string | undefined; + // 选择侧边菜单的key + selectSideKey: string | undefined; + // 小tab栏 + userTabs: UserTab[]; + // 选中的小tab栏 + selectTabKey: string | undefined; +}; export default function App(): React.ReactNode { + const userRoutes = useLoaderData() as TurboRoute[]; + const location = useLocation(); + + const app = useMemo(() => { + const { pathname } = location; + const route = findRoute(pathname, userRoutes); + const app: AppProperty = observable({ + userRoutes, + selectTopKey: route ? route.topRouteKey || 'home' : 'home', + selectSideKey: undefined, + userTabs: [], + selectTabKey: undefined, + }); + return app; + }, []); + useEffect(() => { const supportLocales = SUPPORT_LOCALES.map((locales) => locales.value); if (!supportLocales.includes(GlobalRegistry.getDesignerLanguage())) { GlobalRegistry.setDesignerLanguage('zh-cn'); } - }, []); + const { pathname } = location; + const route = findRoute(pathname, app.userRoutes); + if (route) { + app.selectTopKey = route.topRouteKey; + app.selectSideKey = route.code; + const newTabs = createContentTab( + app.userTabs, + route, + route.topRouteKey as string, + ); + if (newTabs) { + app.userTabs = newTabs; + } + app.selectTabKey = route.code; + } + }, [location]); + return ; +} + +const AppLayout: React.FC<{ app: AppProperty }> = observer(({ app }) => { return ( - - + + + + ); -} +}); diff --git a/src/api/developer/bo.ts b/src/api/developer/bo.ts index c1dc7be..8684f84 100644 --- a/src/api/developer/bo.ts +++ b/src/api/developer/bo.ts @@ -31,18 +31,52 @@ export interface Bo extends TenantEntity, CategoryEntity { } export interface BoApi extends GeneralApi { + check: (boId: string) => Promise>; /** * 获取bo schema */ schema: (boId: string) => Promise>; + + /** + * 保存bo schema + * @param boSchema bo schema + * @returns + */ + saveSchema: (boSchema: BoSchema) => Promise>; + + /** + * 物化 + * @param boId bo id + * @returns true if success + */ + materialize: (boId: string) => Promise>; } class BoApiImpl extends GeneralApiImpl implements BoApi { + check(boId: string): Promise> { + return this.request.get(this.apiPath + `/check/${boId}`).then((res) => { + return res.data; + }); + } + materialize(boId: string): Promise> { + return this.request + .get(this.apiPath + `/materialize/${boId}`) + .then((res) => { + return res.data; + }); + } schema(boId: string): Promise> { return this.request.get(this.apiPath + `/schema/${boId}`).then((res) => { return res.data; }); } + saveSchema(boSchema: BoSchema): Promise> { + return this.request + .post(this.apiPath + '/save-schema', boSchema) + .then((res) => { + return res.data; + }); + } } export default function useBoApi(): BoApi { diff --git a/src/api/developer/dataset.ts b/src/api/developer/dataset.ts new file mode 100644 index 0000000..fee273b --- /dev/null +++ b/src/api/developer/dataset.ts @@ -0,0 +1,48 @@ +import useRequest from '@/hook/request'; +import { + CategoryEntity, + GeneralApi, + GeneralApiImpl, + TenantEntity, +} from '../interface'; + +export interface Dataset extends TenantEntity, CategoryEntity { + /** + * 数据集名称 + */ + name: string; + + /** + * 数据集编码 + */ + code: string; + + /** + * 来源 + */ + source: string; + + /** + * 来源id + */ + sourceId: string; + + /** + * 配置信息 + */ + advanced: string; + + /** + * 分类id + */ + categoryId: string; +} + +export interface DatasetApi extends GeneralApi {} + +class DatasetApiImpl extends GeneralApiImpl implements DatesetApi {} + +export default function useDatasetApi(): DatasetApi { + const request = useRequest(); + return new DatasetApiImpl('/api/dev/dataset', request); +} diff --git a/src/api/developer/datasource.ts b/src/api/developer/datasource.ts index d92b7bd..5ecd78d 100644 --- a/src/api/developer/datasource.ts +++ b/src/api/developer/datasource.ts @@ -1,5 +1,5 @@ import useRequest from '@/hook/request'; -import { GeneralApi, GeneralApiImpl, TenantEntity } from '../interface'; +import { GeneralApi, GeneralApiImpl, R, TenantEntity } from '../interface'; export interface DataSource extends TenantEntity { /** @@ -10,7 +10,7 @@ export interface DataSource extends TenantEntity { /** * 数据源连接地址 */ - url: string; + address: string; /** * 连接用户名 @@ -22,17 +22,40 @@ export interface DataSource extends TenantEntity { */ password: string; + /** + * 连接数据库 + */ + database: string; + /** * 数据源引擎 */ engine: string; } -export interface DataSourceApi extends GeneralApi {} +export interface DataSourceApi extends GeneralApi { + testConnection: (dataSource: DataSource) => Promise>; + showTables: (id: string) => Promise>>; +} class DataSourceApiImpl extends GeneralApiImpl - implements DataSourceApi {} + implements DataSourceApi +{ + testConnection(dataSource: DataSource): Promise> { + return this.request + .post(this.apiPath + '/test-connection', dataSource) + .then((res) => { + return res.data; + }); + } + + showTables(id: string): Promise>> { + return this.request.get(this.apiPath + `/show-tables/${id}`).then((res) => { + return res.data; + }); + } +} export default function useDataSourceApi(): DataSourceApi { const request = useRequest(); diff --git a/src/api/developer/domain.ts b/src/api/developer/domain.ts new file mode 100644 index 0000000..13f7715 --- /dev/null +++ b/src/api/developer/domain.ts @@ -0,0 +1,124 @@ +import useRequest, { InternalRequest } from '@/hook/request'; +import { + GeneralApi, + GeneralApiImpl, + GeneralParams, + Pagination, + R, + TenantEntity, + Tree, +} from '../interface'; +import _ from 'lodash'; + +// domain +export type DomainEntity = Record & Tree & TenantEntity; + +export interface DomainApi extends GeneralApi {} + +class DomainApiImpl extends GeneralApiImpl implements DomainApi { + constructor( + protected apiPath: string, + protected request: InternalRequest, + private boId: string, + ) { + super(apiPath, request); + } + + save(entity: DomainEntity): Promise> { + return this.request + .post(this.apiPath + `/save/${this.boId}`, entity) + .then((res) => { + return res.data; + }); + } + + edit(entity: DomainEntity): Promise> { + return this.request + .put(this.apiPath + `/edit/${this.boId}`, entity) + .then((res) => { + return res.data; + }); + } + + saveOrUpdate(entity: DomainEntity): Promise> { + return this.request + .post(this.apiPath + `/save-or-update/${this.boId}`, entity) + .then((res) => { + return res.data; + }); + } + + batchSaveOrUpdate(entity: DomainEntity[]): Promise> { + return this.request + .post(this.apiPath + `/batch-save-or-update/${this.boId}`, entity) + .then((res) => { + return res.data; + }); + } + + deleteEntity(ids: string[]): Promise> { + return this.request + .delete(this.apiPath + `/delete/${this.boId}`, ids) + .then((res) => { + return res.data; + }); + } + + details(id: string): Promise> { + return this.request + .get(this.apiPath + `/details/${this.boId}/${id}`) + .then((res) => { + return res.data; + }); + } + + /** + * 导入 + * @param id id + * @returns true or false + */ + import(file: any): Promise> { + return this.request + .post(this.apiPath + `/import/${this.boId}`, { file }) + .then((res) => { + return res.data; + }); + } + + /** + * 导出 + * @param id id + * @returns 实体 or null + */ + export(params?: GeneralParams): Promise { + const queryParam = this.buildRemoteQueryParam(params); + return this.request.post(this.apiPath + `/export/${this.boId}`, { + ...queryParam, + }); + } + + list(params?: GeneralParams): Promise> { + const queryParam = this.buildRemoteQueryParam(params); + return this.request + .post(this.apiPath + `/list/${this.boId}`, { ...queryParam }) + .then((res) => { + return res.data; + }); + } + page( + page: Pagination, + params?: GeneralParams, + ): Promise>> { + const queryParam = this.buildRemoteQueryParam(params); + return this.request + .post(this.apiPath + `/page/${this.boId}`, { page, ...queryParam }) + .then((res) => { + return res.data; + }); + } +} + +export default function useDomainApi(boId: string): DomainApi { + const request = useRequest(); + return new DomainApiImpl('/api/dev/bo/domain', request, boId); +} diff --git a/src/api/developer/form.ts b/src/api/developer/form.ts index 8cb2055..09ee62e 100644 --- a/src/api/developer/form.ts +++ b/src/api/developer/form.ts @@ -17,11 +17,6 @@ export interface Form extends CategoryEntity { */ schema: string; - /** - * boSchema - */ - boSchema: string; - /** * 所属于bo id */ diff --git a/src/api/developer/page.ts b/src/api/developer/page.ts new file mode 100644 index 0000000..138a31a --- /dev/null +++ b/src/api/developer/page.ts @@ -0,0 +1,83 @@ +import useRequest from '@/hook/request'; +import { + CategoryEntity, + GeneralApi, + GeneralApiImpl, + R, + TenantEntity, +} from '../interface'; +import { DataView } from '@/pages/developer/editor/kernel'; + +export interface Page extends TenantEntity, CategoryEntity { + /** + * 页面名称 + */ + name: string; + + /** + * 页面code + */ + code: string; + + /** + * 页面路由 + */ + route: string; + + /** + * 数据集id + */ + datasetId: string; + + /** + * 数据视图 + */ + dataview: string; + + /** + * bo + */ + boId: string; + + /** + * 表单 + */ + formId: string; + + /** + * 分类id + */ + categoryId: string; +} + +export type PageView = Omit & { + dataView: DataView; +}; + +export interface PageApi extends GeneralApi { + deploy: (page: Page, menuId: string) => Promise>; + pageView: (pageView: string) => Promise>; +} + +class PageApiImpl extends GeneralApiImpl implements PageApi { + pageView(pageId: string): Promise> { + return this.request + .get(this.apiPath + `/pageView/${pageId}`) + .then((res) => { + return res.data; + }); + } + + deploy(page: Page, menuId: string): Promise> { + return this.request + .post(this.apiPath + `/deploy/${menuId}`, page) + .then((res) => { + return res.data; + }); + } +} + +export default function usePageApi(): PageApi { + const request = useRequest(); + return new PageApiImpl('/api/dev/page', request); +} diff --git a/src/api/system/category.ts b/src/api/system/category.ts index 89b5168..06ad747 100644 --- a/src/api/system/category.ts +++ b/src/api/system/category.ts @@ -27,7 +27,9 @@ export type CategoryTree = Category & { children: CategoryTree[]; }; -export default function useCategoryApi(): TreeGeneralApi { +export interface CategoryApi extends TreeGeneralApi {} + +export default function useCategoryApi(): CategoryApi { const request = useRequest(); return new TreeGeneralApiImpl('/api/sys/category', request); } diff --git a/src/api/system/menu.ts b/src/api/system/menu.ts index d353d70..56e5969 100644 --- a/src/api/system/menu.ts +++ b/src/api/system/menu.ts @@ -42,7 +42,9 @@ export type MenuTree = Menu & { children: MenuTree[]; }; -export default function useMenuApi(): TreeGeneralApi { +export interface MenuApi extends TreeGeneralApi {} + +export default function useMenuApi(): MenuApi { const request = useRequest(); return new TreeGeneralApiImpl('/api/sys/menu', request); } diff --git a/src/api/system/org.ts b/src/api/system/org.ts index f2cba72..2e3e6d9 100644 --- a/src/api/system/org.ts +++ b/src/api/system/org.ts @@ -28,7 +28,7 @@ export interface Org extends Tree { type: string; } -interface OrgApi extends TreeGeneralApi {} +export interface OrgApi extends TreeGeneralApi {} export default function useOrgApi(): OrgApi { const request = useRequest(); diff --git a/src/api/system/params.ts b/src/api/system/params.ts new file mode 100644 index 0000000..96fd641 --- /dev/null +++ b/src/api/system/params.ts @@ -0,0 +1,33 @@ +import useRequest from '@/hook/request'; +import { GeneralApi, GeneralApiImpl, TenantEntity } from '../interface'; + +export interface Params extends TenantEntity { + /** + * 名称 + */ + name: string; + + /** + * key + */ + key: string; + + /** + * 值 + */ + value: string; + + /** + * 描述 + */ + description: string; +} + +export interface ParamsApi extends GeneralApi {} + +class ParamsApiImpl extends GeneralApiImpl implements ParamsApi {} + +export default function useParamsApi(): ParamsApi { + const request = useRequest(); + return new ParamsApiImpl('/api/sys/params', request); +} diff --git a/src/api/system/post.ts b/src/api/system/post.ts index d1b11f6..de6a46d 100644 --- a/src/api/system/post.ts +++ b/src/api/system/post.ts @@ -23,9 +23,11 @@ export interface Post extends TenantEntity { sort: number; } -class PostApiImpl extends GeneralApiImpl {} +export interface PostApi extends GeneralApi {} -export default function usePostApi(): GeneralApi { +class PostApiImpl extends GeneralApiImpl implements PostApi {} + +export default function usePostApi(): PostApi { const request = useRequest(); return new PostApiImpl('/api/sys/post', request); } diff --git a/src/api/system/rolemenu.ts b/src/api/system/rolemenu.ts index 8c21c33..5b1de43 100644 --- a/src/api/system/rolemenu.ts +++ b/src/api/system/rolemenu.ts @@ -18,7 +18,9 @@ export interface RoleMenu { menuId: string; } -const useRoleMenuApi = (): GeneralApi => { +interface RoleMenuApi extends GeneralApi {} + +const useRoleMenuApi = (): RoleMenuApi => { const request = useRequest(); return new GeneralApiImpl('/api/sys/role-menu', request); }; diff --git a/src/api/system/tenant.ts b/src/api/system/tenant.ts index d359b86..b4ff622 100644 --- a/src/api/system/tenant.ts +++ b/src/api/system/tenant.ts @@ -28,7 +28,9 @@ export interface Tenant extends IdEntity { updatedBy: string; } -export default function useTenantApi(): GeneralApi { +export interface TenantApi extends GeneralApi {} + +export default function useTenantApi(): TenantApi { const request = useRequest(); return new GeneralApiImpl('/api/sys/tenant', request); } diff --git a/src/api/system/userpost.ts b/src/api/system/userpost.ts index 3880404..9277acd 100644 --- a/src/api/system/userpost.ts +++ b/src/api/system/userpost.ts @@ -13,7 +13,9 @@ export interface UserPost extends IdEntity { postId: number; } -const useUserPosteApi = (): GeneralApi => { +interface UserPostApi extends GeneralApi {} + +const useUserPosteApi = (): UserPostApi => { const request = useRequest(); return new GeneralApiImpl('/api/sys/user-post', request); diff --git a/src/api/system/userrole.ts b/src/api/system/userrole.ts index c992681..8d930d7 100644 --- a/src/api/system/userrole.ts +++ b/src/api/system/userrole.ts @@ -13,7 +13,9 @@ export interface UserRole extends IdEntity { roleId: string; } -const useUserRoleApi = (): GeneralApi => { +interface UserRoleApi extends GeneralApi {} + +const useUserRoleApi = (): UserRoleApi => { const request = useRequest(); return new GeneralApiImpl('/api/sys/user-role', request); diff --git a/src/components/Color/preview.tsx b/src/components/Color/preview.tsx index f99197f..4778f61 100644 --- a/src/components/Color/preview.tsx +++ b/src/components/Color/preview.tsx @@ -36,8 +36,9 @@ const Color: React.FC = ({ disabled, value, onChange }) => { value={value} onChange={onChange} > - {colorList.map((item) => ( + {colorList.map((item, idx) => ( ) { + return ( + + + + ); +} +export const IconDataManager = convertIcon( + SvgComponent, + 'align_center_vertical', +); diff --git a/src/components/Icon/collection/IconDataView.tsx b/src/components/Icon/collection/IconDataView.tsx new file mode 100644 index 0000000..33aa944 --- /dev/null +++ b/src/components/Icon/collection/IconDataView.tsx @@ -0,0 +1,40 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + + + ); +} +export const IconDataView = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconDetails.tsx b/src/components/Icon/collection/IconDetails.tsx new file mode 100644 index 0000000..987fbdf --- /dev/null +++ b/src/components/Icon/collection/IconDetails.tsx @@ -0,0 +1,24 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + ); +} +export const IconDetails = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconEnable.tsx b/src/components/Icon/collection/IconEnable.tsx new file mode 100644 index 0000000..4db184b --- /dev/null +++ b/src/components/Icon/collection/IconEnable.tsx @@ -0,0 +1,35 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + + ); +} +export const IconEnable = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconFormDesign.tsx b/src/components/Icon/collection/IconFormDesign.tsx new file mode 100644 index 0000000..fb9b75b --- /dev/null +++ b/src/components/Icon/collection/IconFormDesign.tsx @@ -0,0 +1,43 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + + + ); +} +export const IconFormDesign = convertIcon( + SvgComponent, + 'align_center_vertical', +); diff --git a/src/components/Icon/collection/IconFormSetting.tsx b/src/components/Icon/collection/IconFormSetting.tsx new file mode 100644 index 0000000..39c8732 --- /dev/null +++ b/src/components/Icon/collection/IconFormSetting.tsx @@ -0,0 +1,27 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + ); +} +export const IconFormSetting = convertIcon( + SvgComponent, + 'align_center_vertical', +); diff --git a/src/components/Icon/collection/IconLock.tsx b/src/components/Icon/collection/IconLock.tsx new file mode 100644 index 0000000..17714de --- /dev/null +++ b/src/components/Icon/collection/IconLock.tsx @@ -0,0 +1,30 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + ); +} +export const IconLock = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/IconMessage.tsx b/src/components/Icon/collection/IconMessage.tsx similarity index 89% rename from src/components/Icon/IconMessage.tsx rename to src/components/Icon/collection/IconMessage.tsx index 876f6e3..7870bec 100644 --- a/src/components/Icon/IconMessage.tsx +++ b/src/components/Icon/collection/IconMessage.tsx @@ -3,8 +3,6 @@ import { convertIcon } from '@douyinfe/semi-icons'; function SvgComponent(props: React.SVGProps) { return ( ) { ); } -const IconMessage = convertIcon(SvgComponent, 'align_center_vertical'); -export default IconMessage; +export const IconMessage = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconOrg.tsx b/src/components/Icon/collection/IconOrg.tsx new file mode 100644 index 0000000..7deef3e --- /dev/null +++ b/src/components/Icon/collection/IconOrg.tsx @@ -0,0 +1,24 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + ); +} +export const IconOrg = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconPageSetting.tsx b/src/components/Icon/collection/IconPageSetting.tsx new file mode 100644 index 0000000..d608dfb --- /dev/null +++ b/src/components/Icon/collection/IconPageSetting.tsx @@ -0,0 +1,31 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + ); +} +export const IconPageSetting = convertIcon( + SvgComponent, + 'align_center_vertical', +); diff --git a/src/components/Icon/collection/IconPassword.tsx b/src/components/Icon/collection/IconPassword.tsx new file mode 100644 index 0000000..f2398cb --- /dev/null +++ b/src/components/Icon/collection/IconPassword.tsx @@ -0,0 +1,28 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + ); +} +export const IconPassword = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconPeer.tsx b/src/components/Icon/collection/IconPeer.tsx new file mode 100644 index 0000000..eaba85b --- /dev/null +++ b/src/components/Icon/collection/IconPeer.tsx @@ -0,0 +1,28 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + ); +} +export const IconPeer = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconPost.tsx b/src/components/Icon/collection/IconPost.tsx new file mode 100644 index 0000000..0aab011 --- /dev/null +++ b/src/components/Icon/collection/IconPost.tsx @@ -0,0 +1,24 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + ); +} +export const IconPost = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconRole.tsx b/src/components/Icon/collection/IconRole.tsx new file mode 100644 index 0000000..4e880da --- /dev/null +++ b/src/components/Icon/collection/IconRole.tsx @@ -0,0 +1,25 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + ); +} +export const IconRole = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/IconSubordinate.tsx b/src/components/Icon/collection/IconSubordinate.tsx new file mode 100644 index 0000000..662e931 --- /dev/null +++ b/src/components/Icon/collection/IconSubordinate.tsx @@ -0,0 +1,35 @@ +import { convertIcon } from '@douyinfe/semi-icons'; + +function SvgComponent(props: React.SVGProps) { + return ( + + + + + + ); +} +export const IconSubordinate = convertIcon( + SvgComponent, + 'align_center_vertical', +); diff --git a/src/components/Icon/IconTheme.tsx b/src/components/Icon/collection/IconTheme.tsx similarity index 93% rename from src/components/Icon/IconTheme.tsx rename to src/components/Icon/collection/IconTheme.tsx index e375c07..6ce9f05 100644 --- a/src/components/Icon/IconTheme.tsx +++ b/src/components/Icon/collection/IconTheme.tsx @@ -7,7 +7,6 @@ function SvgComponent(props: React.SVGProps) { class="icon" viewBox="0 0 1024 1024" version="1.1" - xmlns="http://www.w3.org/2000/svg" p-id="7542" // 注意自定义icon需要加上下面参数 width="1em" @@ -39,5 +38,4 @@ function SvgComponent(props: React.SVGProps) { ); } -const IconTheme = convertIcon(SvgComponent, 'align_center_vertical'); -export default IconTheme; +export const IconTheme = convertIcon(SvgComponent, 'align_center_vertical'); diff --git a/src/components/Icon/collection/index.ts b/src/components/Icon/collection/index.ts new file mode 100644 index 0000000..2c607c5 --- /dev/null +++ b/src/components/Icon/collection/index.ts @@ -0,0 +1,16 @@ +export * from './IconMessage'; +export * from './IconTheme'; +export * from './IconPeer'; +export * from './IconSubordinate'; +export * from './IconFormDesign'; +export * from './IconDataView'; +export * from './IconDataManager'; +export * from './IconPageSetting'; +export * from './IconFormSetting'; +export * from './IconDetails'; +export * from './IconPassword'; +export * from './IconLock'; +export * from './IconRole'; +export * from './IconOrg'; +export * from './IconPost'; +export * from './IconEnable'; diff --git a/src/components/Icon/index.ts b/src/components/Icon/index.ts index 1db6c85..904447a 100644 --- a/src/components/Icon/index.ts +++ b/src/components/Icon/index.ts @@ -1,4 +1,4 @@ export * from './preview'; export * from './shared'; -export * from './IconMessage'; -export * from './IconTheme'; +export * from './collection/IconMessage'; +export * from './collection/IconTheme'; diff --git a/src/components/Icon/shared.tsx b/src/components/Icon/shared.tsx index 956b57f..b485c72 100644 --- a/src/components/Icon/shared.tsx +++ b/src/components/Icon/shared.tsx @@ -1,11 +1,13 @@ import { lazy } from 'react'; +import * as systemIcons from './collection'; +import { IconProps } from '@douyinfe/semi-icons'; export type Icon = { key: string; component: any; }; -export type IconSystem = 'semi' | 'system' | 'iconoir'; +export type IconSystem = 'semi' | 'system'; export interface IconModel { /** @@ -71,26 +73,10 @@ export class SemiIconsModel implements IconModel { export class SystemIconsModel implements IconModel { constructor(private icons: Map) { - const imports = import.meta.glob('./*'); - Object.keys(imports) - .filter((name) => { - return name.match('Icon.*.js') !== null; - }) - .map((iconKey) => { - // 形如../../../node_modules/@douyinfe/semi-icons/lib/es/icons/IconPieChart2Stroked.js形式 - const lastSlashIndex = iconKey.lastIndexOf('/Icon'); - const suffixIndex = iconKey.lastIndexOf('.js'); - // IconPieChart2Stroked ===> PieChart2Stroked - const key = iconKey.substring(lastSlashIndex + 1, suffixIndex); - const component = lazy(imports[iconKey]); - return { - key, - component, - } as Icon; - }) - .forEach((icon) => { - this.icons.set(icon.key, icon); - }); + for (const key in systemIcons) { + const icon = systemIcons[key]; + this.icons.set(key, { key, component: icon }); + } } getIconList(): Icon[] { @@ -158,11 +144,12 @@ export const importIcon = (icon: string, type: IconSystem = 'semi') => { export const directGetIcon = ( icon: string | undefined, type: IconSystem = 'semi', + props: Partial = {}, ): React.ReactNode => { if (icon === undefined) { return null; } const iconModel = getIconModel(type); const IconComponent = iconModel.getIcon(icon)?.component; - return IconComponent && ; + return IconComponent && ; }; diff --git a/src/components/Modular/Modular.tsx b/src/components/Modular/Modular.tsx new file mode 100644 index 0000000..53921e8 --- /dev/null +++ b/src/components/Modular/Modular.tsx @@ -0,0 +1,234 @@ +import { Button, ButtonGroup, Modal } from '@douyinfe/semi-ui'; +import { ModularButton, ModularProps } from './interface'; +import { directGetIcon } from '../Icon'; +import { createRoot } from 'react-dom/client'; +import { Suspense } from 'react'; +import cls from 'classnames'; + +const TypeIcons: Record = {}; +TypeIcons['info'] = directGetIcon('IconInfoCircle', 'semi', { + size: 'large', + className: 'semi-modal-info-icon', +}); +TypeIcons['warning'] = directGetIcon('IconIssueStroked', 'semi', { + size: 'large', + className: 'semi-modal-warning-icon', +}); +TypeIcons['error'] = directGetIcon('IconClose', 'semi', { + size: 'large', + className: 'semi-modal-error-icon', +}); +TypeIcons['success'] = directGetIcon('IconCheckCircleStroked', 'semi', { + size: 'large', + className: 'semi-modal-success-icon', +}); + +// 封装Modal组件 +const Modular = (props: ModularProps) => { + const { + type, + icon, + title, + content, + closeOnEsc = true, + visible = true, + children, + scrollX = true, + scrollY = true, + closable = true, + size = 'medium', + fullScreen, + beforeConfirm, + onConfirm, + beforeCancel, + onCancel, + showConfirm = true, + showCancel = true, + append = [], + afterClose, + } = props; + + const powerfulConfirm = () => { + try { + if (beforeConfirm) { + beforeConfirm(onConfirm); + } else { + onConfirm?.(); + } + } catch (err) { + console.error(err); + } + }; + + const powerfulCancel = () => { + try { + if (beforeCancel) { + beforeCancel(onCancel); + } else { + onCancel?.(); + } + } catch (err) { + console.error(err); + } + }; + + const modularButtons: ModularButton[] = []; + if (showCancel) { + modularButtons.push({ + code: 'cancel', + name: '取消', + type: 'tertiary', + size: 'default', + icon: directGetIcon('IconCrossCircleStroked'), + onClick() { + powerfulCancel(); + }, + }); + } + if (showConfirm) { + modularButtons.push({ + code: 'confirm', + name: '确定', + type: 'primary', + loading: true, + size: 'default', + icon: directGetIcon('IconCheckCircleStroked'), + onClick() { + powerfulConfirm(); + }, + }); + } + append.forEach((button) => modularButtons.push(button)); + + const IconComponent = (type && TypeIcons[type]) || icon; + + const bodyClassName = cls(`${scrollY && 'max-h-[60vh] overflow-y-auto'}`); + + return ( + + {modularButtons.map((button) => { + const { + code, + icon, + type, + size, + loading = false, + onClick, + name, + } = button; + return ( + onClick?.()} + > + {name} + + ); + })} + + } + > + {content ?? children} + + ); +}; + +export type StaticModularProps = Omit; + +const confirm = (props: ModularProps) => { + const div = document.createElement('div'); + const container = createRoot(div); + document.body.appendChild(div); + + function open(props: StaticModularProps) { + const newProps: ModularProps = { ...props, visible: true }; + render(newProps); + } + + const destroy = () => { + container.unmount(); + }; + + function close() { + const newProps: ModularProps = { ...props, visible: false }; + render(newProps); + } + + function render(props: ModularProps) { + const { onCancel, onConfirm } = props; + + container.render( + + { + const res = onConfirm?.(); + if (res && res.then) { + res.then( + (...args) => { + destroy(); + }, + (err) => { + destroy(); + }, + ); + } else { + destroy(); + } + }} + onCancel={() => { + const res = onCancel?.(); + if (res && res.then) { + res.then( + (...args) => { + destroy(); + }, + (err) => { + destroy(); + }, + ); + } else { + destroy(); + } + }} + afterClose={() => destroy()} + /> + , + ); + } + render(props); + return { open, destroy, close }; +}; + +Modular.success = (props: StaticModularProps) => { + return confirm({ ...props, type: 'success' }); +}; + +Modular.info = (props: StaticModularProps) => { + return confirm({ ...props, type: 'info' }); +}; + +Modular.warning = (props: StaticModularProps) => { + return confirm({ ...props, type: 'warning' }); +}; + +Modular.error = (props: StaticModularProps) => { + return confirm({ ...props, type: 'error' }); +}; + +export default Modular; diff --git a/src/components/Modular/index.ts b/src/components/Modular/index.ts new file mode 100644 index 0000000..f3cd6f6 --- /dev/null +++ b/src/components/Modular/index.ts @@ -0,0 +1 @@ +export * from './Modular'; diff --git a/src/components/Modular/index.tsx b/src/components/Modular/index.tsx deleted file mode 100644 index a05bf47..0000000 --- a/src/components/Modular/index.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { Button, ButtonGroup, Modal, Spin } from '@douyinfe/semi-ui'; -import { ModularProps } from './interface'; - -// 封装Modal组件 -const Modular = (props: ModularProps) => { - const { - title, - visible = true, - loading = false, - children, - size = 'medium', - fullScreen, - onConfirm, - onCancel, - } = props; - - return ( - - - 确认 - - - 取消 - - - } - > - {children} - - ); -}; - -export default Modular; diff --git a/src/components/Modular/interface.ts b/src/components/Modular/interface.ts index 0d07beb..d4cffe1 100644 --- a/src/components/Modular/interface.ts +++ b/src/components/Modular/interface.ts @@ -1,20 +1,56 @@ import { ModalReactProps } from '@douyinfe/semi-ui/lib/es/modal'; export interface ModularProps { + type?: 'success' | 'info' | 'error' | 'warning'; // 标题 title?: React.ReactNode; + // 优先取content + content?: string | React.ReactNode; // 是否可见 visible?: boolean; // 是否加载 loading?: boolean; + // icon + icon?: React.ReactNode; // 内置元素 - children: React.ReactNode; + children?: React.ReactNode; + // 是否显示关闭按钮 + closable?: boolean; // 大小 size?: ModalReactProps['size']; // 是否全屏 fullScreen?: boolean; + // 是否显示确认操作 + showConfirm?: boolean; + // 是否显示取消操作 + showCancel?: boolean; + // 自定义追加,当是函数渲染时,返回值如果是undefined 该追加操作则不进行添加 + append?: ModularButton[]; + // 是否显示Y轴滑动轮 + scrollY?: boolean; + // 是否显示X轴滑动轮 + scrollX?: boolean; + // closeOnEsc + closeOnEsc?: boolean; + // confirm before,当存在返回值时不会立即调用onConfirm,由使用方确定是否使用 + beforeConfirm?: (thenConfirm?: ModularProps['onConfirm']) => void; // 确认回调 - onConfirm?: () => void; + onConfirm?: () => void | Promise; + // cancel before,当存在返回值时不会立即调用onCancel,由使用方确定是否使用 + beforeCancel?: (thenCancel?: ModularProps['onCancel']) => void; // 取消回调 - onCancel?: () => void; + onCancel?: () => void | Promise; + // 关闭后执行 + afterClose?: () => void; } + +export type ModularButton = { + code: string; + name: string; + type: 'warning' | 'primary' | 'tertiary' | 'secondary' | 'danger'; + size?: 'default' | 'small' | 'large'; + icon?: React.ReactNode; + // 按钮loading状态,如果不赋值默认为false + loading?: boolean; + onClick?: () => void; +}; diff --git a/src/components/MotionContent/ContentTabs.tsx b/src/components/MotionContent/ContentTabs.tsx index 38be923..2fff60f 100644 --- a/src/components/MotionContent/ContentTabs.tsx +++ b/src/components/MotionContent/ContentTabs.tsx @@ -1,29 +1,20 @@ -import { - CurrentUserMenuTabsState, - CurrentUserSelectTabState, - CurrentUserSidebarMenusState, - CurrentUserSidebarSelectTabState, - UserTab, -} from '@/store/menu'; import { Dropdown, Notification, TabPane, Tabs } from '@douyinfe/semi-ui'; -import { useLoaderData, useNavigate } from 'react-router-dom'; -import { useRecoilState, useSetRecoilState } from 'recoil'; +import { useNavigate } from 'react-router-dom'; import { directGetIcon } from '../Icon/shared'; import Text from '@douyinfe/semi-ui/lib/es/typography/text'; -import { TurboRoute } from '@/route/AppRouter'; import _ from 'lodash'; +import { useContext, useEffect } from 'react'; +import { AppContext } from '@/context'; +import { findRoute } from '@/route/util'; +import { createContentTab } from './util'; +import { observer } from '@formily/reactive-react'; +import { UserTab } from './interface'; -const ContentTabs = () => { - const [userTabs, setCurrentUserTabs] = useRecoilState( - CurrentUserMenuTabsState, - ); - const [sidebarSelectTab, setSidebarSelectTab] = useRecoilState( - CurrentUserSidebarSelectTabState, - ); - const [topMenu, setTopMenu] = useRecoilState(CurrentUserSelectTabState); +const ContentTabs = observer(() => { + const app = useContext(AppContext); + const { userRoutes, userTabs, selectTopKey, selectTabKey, selectSideKey } = + app; const navigate = useNavigate(); - const userRoutes = useLoaderData() as TurboRoute[]; - const setSidebarMenus = useSetRecoilState(CurrentUserSidebarMenusState); const closeTab = (tabKey: string) => { // 去除关闭的menu tab @@ -32,7 +23,7 @@ const ContentTabs = () => { return tab.itemKey === tabKey; }); // 判断当前关闭的key是否为激活的key,如果不是则不重新设置激活key - if (tabKey === sidebarSelectTab) { + if (tabKey === selectSideKey) { // 判断当前关闭是否为最后一个,如果是则取上一个,如果不是则取下一个 const nextTab = userTabs[ @@ -45,16 +36,15 @@ const ContentTabs = () => { toHome(); return; } - - setSidebarSelectTab(nextTab.itemKey as string); + app.selectSideKey = nextTab.itemKey; navigate(nextTab.path as string); onceMoreRenderSideMenu(nextTab); } - const newTabs = [ + const newUserTabs = [ ...userTabs.slice(0, closeTabIndex), ...userTabs.slice(closeTabIndex + 1, userTabs.length), ]; - setCurrentUserTabs(newTabs); + app.userTabs = newUserTabs; }; const closeOtherTab = (tab: UserTab) => { @@ -68,11 +58,11 @@ const ContentTabs = () => { // 判断当前是否是选中 // 如果是,则不需要设置选中项 // 如果不是,则需要设置选中项,以当前结点作为选中项并跳转 - if (sidebarSelectTab !== tab.itemKey) { - setSidebarSelectTab(tab.itemKey as string); + if (selectSideKey !== tab.itemKey) { + app.selectSideKey = tab.itemKey; navigate(tab.path as string); } - setCurrentUserTabs(newUserTabs); + app.userTabs = newUserTabs; }; const closeAllTab = () => { @@ -80,11 +70,11 @@ const ContentTabs = () => { const homeTab = userTabs.find((tab) => tab.itemKey === 'home'); if (homeTab) { // 跳转到home - setTopMenu(homeTab.itemKey as string); + app.selectTopKey = homeTab.itemKey as string; navigate(homeTab.path as string); - setCurrentUserTabs([homeTab]); + app.userTabs = [homeTab]; } else { - setCurrentUserTabs([]); + app.userTabs = []; } }; @@ -105,8 +95,8 @@ const ContentTabs = () => { navigate(tab.path); } // 设置active - setSidebarSelectTab(activeKey); - + app.selectTabKey = activeKey; + app.selectSideKey = activeKey; onceMoreRenderSideMenu(tab); } }; @@ -114,30 +104,36 @@ const ContentTabs = () => { // 再次渲染 side menu const onceMoreRenderSideMenu = (tab: UserTab) => { // 避免重复渲染 - if (topMenu !== tab.topMenuKey) { - setTopMenu(tab.topMenuKey); - // 重新设置sidebar - const topMenu = userRoutes.find((route) => route.code === tab.topMenuKey); - topMenu && - setSidebarMenus({ - topMenuKey: tab.topMenuKey, - sideMenus: topMenu.children as TurboRoute[], - }); + if (selectTopKey !== tab.topMenuKey) { + app.selectTopKey = tab.topMenuKey; } }; const toHome = () => { navigate('/home'); - setTopMenu('home'); + app.selectTopKey = 'home'; }; + useEffect(() => { + const homeRoute = findRoute('/home', userRoutes); + if (homeRoute) { + const newTabs = createContentTab(userTabs, homeRoute, 'home'); + if (app.selectTabKey === undefined) { + app.selectTabKey = 'home'; + } + if (newTabs) { + app.userTabs = newTabs; + } + } + }, []); + return ( tabClick(activeKey)} onTabClose={(tabKey) => closeTab(tabKey)} - activeKey={sidebarSelectTab} + activeKey={selectTabKey} renderTabBar={(props, Bar) => { return ( <> @@ -152,55 +148,53 @@ const ContentTabs = () => { - - {tab.itemKey !== 'home' && ( - { - navigate(tab.path); - // 设置active - setSidebarSelectTab(tab.itemKey as string); - }} - > - 刷新 - - )} - - {tab.itemKey !== 'home' && ( - closeTab(tab.itemKey as string)} - > - 关闭 - - )} + + {tab.itemKey !== 'home' && ( closeOtherTab(tab)} + icon={directGetIcon('IconRefresh')} + onClick={() => { + navigate(tab.path); + // 设置active + app.selectSideKey = tab.itemKey as string; + }} > - 关闭其他 + 刷新 + )} + + {tab.itemKey !== 'home' && ( closeAllTab()} + icon={directGetIcon('IconClose')} + onClick={() => closeTab(tab.itemKey as string)} > - 关闭全部 - - - 收藏 + 关闭 - - } - > - {tab.tab} - - > + )} + closeOtherTab(tab)} + > + 关闭其他 + + closeAllTab()} + > + 关闭全部 + + + 收藏 + + + } + > + {tab.tab} + } tabIndex={index} itemKey={tab.itemKey} @@ -211,5 +205,6 @@ const ContentTabs = () => { })} ); -}; +}); + export default ContentTabs; diff --git a/src/components/MotionContent/index.tsx b/src/components/MotionContent/index.tsx index 947babb..5844548 100644 --- a/src/components/MotionContent/index.tsx +++ b/src/components/MotionContent/index.tsx @@ -1,31 +1,29 @@ import { Layout } from '@douyinfe/semi-ui'; -import React from 'react'; +import { useContext } from 'react'; import { Outlet } from 'react-router-dom'; import Sidebar from '../Sidebar'; import ContentTabs from './ContentTabs'; -import { CurrentUserSelectTabState } from '@/store/menu'; -import { useRecoilValue } from 'recoil'; - -const MotionContent = React.memo(() => { - const selectTab = useRecoilValue(CurrentUserSelectTabState); +import { AppContext } from '@/context'; +import { observer } from '@formily/reactive-react'; +const MotionContent = observer(() => { + const app = useContext(AppContext); + const { selectTopKey } = app; return ( - <> - - {selectTab !== 'home' && } - - {selectTab !== 'home' && } - - - - - - - - > + + {selectTopKey !== 'home' && } + + {selectTopKey !== 'home' && } + + + + + + + ); }); diff --git a/src/components/MotionContent/interface.ts b/src/components/MotionContent/interface.ts new file mode 100644 index 0000000..9fcd981 --- /dev/null +++ b/src/components/MotionContent/interface.ts @@ -0,0 +1,6 @@ +import { TabPaneProps } from '@douyinfe/semi-ui/lib/es/tabs'; + +export type UserTab = Omit & { + path: string; + topMenuKey: string; +}; diff --git a/src/components/MotionContent/util.ts b/src/components/MotionContent/util.ts new file mode 100644 index 0000000..6ca02e9 --- /dev/null +++ b/src/components/MotionContent/util.ts @@ -0,0 +1,35 @@ +import { TurboRoute } from '@/route/AppRouter'; +import { newArray } from '@/util/utils'; +import { UserTab } from './interface'; + +/** + * 判断给定的route是否可以加入userTabs中,如果可以则创建新的数组加入并返回,否则返回null + * @param userTabs 原userTabs + * @param route route + * @param topMenuKey topMenuKey + * @returns + */ +export const createContentTab = ( + userTabs: UserTab[], + route: TurboRoute, + topMenuKey: string, +) => { + // 设置用户选择的tab + const hasTabIndex = userTabs.findIndex((tab) => tab.itemKey === route.code); + if (hasTabIndex < 0 && route.path !== '/') { + // 排除 '/'路径的content tab添加 + const newTabs = newArray(); + userTabs.forEach((tab) => newTabs.push(tab)); + // 添加user tab + newTabs.push({ + itemKey: route.code, + path: route.path, + icon: route.icon, + tab: route.name, + closable: route.clearable, + topMenuKey, + }); + return newTabs; + } + return undefined; +}; diff --git a/src/components/MotionHeader/index.tsx b/src/components/MotionHeader/index.tsx index 93427cb..ed0d1a2 100644 --- a/src/components/MotionHeader/index.tsx +++ b/src/components/MotionHeader/index.tsx @@ -3,7 +3,6 @@ import { Badge, Button, Dropdown, - Image, Modal, Nav, Notification, @@ -11,246 +10,250 @@ import { Tabs, } from '@douyinfe/semi-ui'; import Header from '@douyinfe/semi-ui/lib/es/navigation/Header'; -import IconTheme from '../Icon/IconTheme'; import { IconBell, IconLanguage } from '@douyinfe/semi-icons'; -import { useLoaderData, useNavigate } from 'react-router-dom'; -import { useClearCurrentUserMenuResources, useRenderMenu } from '@/hook/menu'; +import { useNavigate } from 'react-router-dom'; +import { useRenderMenu } from '@/hook/menu'; import { CurrentUserState } from '@/store/user'; import { useRecoilValue } from 'recoil'; -import { useMemo, useState } from 'react'; +import { useContext } from 'react'; import useAuthApi from '@/api/system/auth'; import * as local from '@/util/local'; import * as headers from '@/util/headers'; -import ChangePasswordForm from '@/pages/system/user/ChangePassword'; -import Brand from '../../../public/vite.svg'; -import { TurboRoute } from '@/route/AppRouter'; -import { CurrentUserSelectTabState } from '@/store/menu'; import { SUPPORT_LOCALES } from './Locales'; import { GlobalRegistry } from '@designable/core'; import { TextWidget } from '@designable/react'; +import TForm from '../TForm/TForm'; +import { AppContext } from '@/context'; +import { observer } from '@formily/reactive-react'; +import { changePasswordColumns } from '@/pages/system/user/ChangePassword'; +import _ from 'lodash'; +import { IconTheme } from '../Icon'; + +const MotionHeader = observer(() => { + const app = useContext(AppContext); + const { userRoutes, selectTopKey } = app; -const MotionHeader = () => { const authApi = useAuthApi(); const currentUser = useRecoilValue(CurrentUserState); - const [showChangePassword, setShowChangePassword] = useState(false); const navigate = useNavigate(); - const clearMenuResources = useClearCurrentUserMenuResources(); // 取depth = 0的菜单项进行渲染 - const userRoutes = useLoaderData() as TurboRoute[]; const topMenus = userRoutes.filter( - (route) => route.depth === 0 || route.code === 'home', + (route) => route?.depth === 0 || route?.code === 'home', ); const renderMenu = useRenderMenu(); - const selectTab = useRecoilValue(CurrentUserSelectTabState); - - const clearResources = useMemo(() => { - return () => { - clearMenuResources(); - }; - }, []); return ( - <> - - - } - text="Turbo" - /> - {renderMenu(topMenus, 'top')} - - - - - - 文档 - - - 快速起步 - - - 帮助 - - - - - - 查看更多 - - + + + + {renderMenu(topMenus, 'top', app)} + + + + + + 文档 + + + 快速起步 + + + 帮助 + + - } - > - - } - style={{ - color: 'var(--semi-color-text-2)', - marginRight: '12px', - }} - > - - - - - - - 默认 - 暗色 - - } - > + + + 查看更多 + + + + } + > + } + icon={} style={{ color: 'var(--semi-color-text-2)', marginRight: '12px', }} > - + - - - {SUPPORT_LOCALES.map((locales) => { - return ( - { - GlobalRegistry.setDesignerLanguage(locales.value); - }} - > - {locales.label} - - ); - })} - - } + + + + + 默认 + 暗色 + + } + > + } + style={{ + color: 'var(--semi-color-text-2)', + marginRight: '12px', + }} > - } - style={{ - color: 'var(--semi-color-text-2)', - marginRight: '12px', - }} - > - - - - - navigate('/home')}> - - - - navigate('/profile')}> - - - setShowChangePassword(true)}> - - - - { - Modal.confirm({ - content: '是否退出登陆', - onOk: () => { - authApi.logout().then((res) => { - if (res.code === 200 && res.data) { - // 1.资源清理 - clearResources(); - // 2.清除token - local.remove(headers.Authentication); - // 3.重定向 - navigate('/login'); + + + + + {SUPPORT_LOCALES.map((locales) => { + return ( + { + GlobalRegistry.setDesignerLanguage(locales.value); + }} + > + {locales.label} + + ); + })} + + } + > + } + style={{ + color: 'var(--semi-color-text-2)', + marginRight: '12px', + }} + > + + + + + navigate('/home')}> + + + + navigate('/profile')}> + + + { + const from = TForm.open({ + mode: 'simply', + title: '修改密码', + columns: changePasswordColumns, + size: 'small', + immediateVisible: false, + onOk(formContext) { + if (currentUser === undefined) { + Notification.error({ + position: 'top', + content: '当前用户信息不存在!', + }); + return; + } + const changePassword = formContext.getValues(); + authApi + .changePassword( + currentUser.userId, + changePassword.rawPassword, + changePassword.newPassword, + ) + .then((res) => { + const { code, data, message } = res; + if (code === 200) { + Notification.success({ + position: 'top', + content: message, + }); + // 设置新token + local.set( + headers.Authentication, + data.token.tokenValue, + ); + } else { + Notification.error({ + position: 'top', + content: message, + }); } - Notification.success({ - position: 'top', - content: res.message, - }); }); - }, - }); - }} - > - - - - } - clickToHide - > - - - - - - {showChangePassword && ( - { - if (currentUser === undefined) { - Notification.error({ - position: 'top', - content: '当前用户信息不存在!', - }); - return; + }, + onCancel(formContext) { + from.destroy(); + }, + }); + from.open(); + }} + > + + + + { + Modal.confirm({ + content: '是否退出登陆', + onOk: () => { + authApi.logout().then((res) => { + if (res.code === 200 && res.data) { + // 1.清除token + local.remove(headers.Authentication); + // 2.重定向 + navigate('/login'); + } + Notification.success({ + position: 'top', + content: res.message, + }); + }); + }, + }); + }} + > + + + } - const changePassword = formContext.getValues(); - authApi - .changePassword( - currentUser.userId, - changePassword.rawPassword, - changePassword.newPassword, - ) - .then((res) => { - const { code, data, message } = res; - if (code === 200) { - Notification.success({ position: 'top', content: message }); - setShowChangePassword(false); - // 设置新token - local.set(headers.Authentication, data.token.tokenValue); - } else { - Notification.error({ position: 'top', content: message }); - } - }); - }} - onCancel={() => setShowChangePassword(false)} - /> - )} - > + clickToHide + > + + + + + ); -}; +}); export default MotionHeader; diff --git a/src/components/Sidebar/index.tsx b/src/components/Sidebar/index.tsx index 46a69fe..c944b4c 100644 --- a/src/components/Sidebar/index.tsx +++ b/src/components/Sidebar/index.tsx @@ -1,29 +1,31 @@ import { Nav } from '@douyinfe/semi-ui'; import Sider from '@douyinfe/semi-ui/lib/es/layout/Sider'; import { useRenderMenu } from '@/hook/menu'; -import { useRecoilValue } from 'recoil'; -import { - CurrentUserSidebarSelectTabState, - CurrentUserSidebarMenusState, -} from '@/store/menu'; import _ from 'lodash'; +import { TurboRoute } from '@/route/AppRouter'; +import { useContext } from 'react'; +import { AppContext } from '@/context'; +import { observer } from '@formily/reactive-react'; -const Sidebar = () => { - const selectSideTab = useRecoilValue(CurrentUserSidebarSelectTabState); +const Sidebar = observer(() => { + const app = useContext(AppContext); + const { userRoutes, selectTopKey, selectSideKey } = app; + + const topMenu = userRoutes.find((route) => route.code === selectTopKey); + const sideMenus = (topMenu?.children || []) as TurboRoute[]; const renderMenu = useRenderMenu(); - const side = useRecoilValue(CurrentUserSidebarMenusState); return ( - {side && renderMenu(side.sideMenus, 'side', side.topMenuKey)} + {renderMenu(sideMenus, 'side', app, selectTopKey)} ); -}; +}); export default Sidebar; diff --git a/src/components/TForm/TForm.tsx b/src/components/TForm/TForm.tsx index 1ef23bc..af6da0e 100644 --- a/src/components/TForm/TForm.tsx +++ b/src/components/TForm/TForm.tsx @@ -1,7 +1,8 @@ -import { IdEntity } from '@/api/interface'; +import { GeneralApi, IdEntity } from '@/api/interface'; import { Constant } from '@/constant/interface'; import { FormContext, FormProps, RemoteProps } from './interface'; -import { useMemo, useRef } from 'react'; +import { Suspense, useMemo, useRef } from 'react'; +import { createRoot } from 'react-dom/client'; import { getFormColumnDecorator } from './form'; import useDicApi, { Dic, DicApi, format } from '@/api/system/dic'; import _ from 'lodash'; @@ -117,15 +118,26 @@ function TForm(props: FormProps) { const request = useRequest(); const formRef = useRef(); const formContext = useMemo(() => { - const { columns } = props; const decorator = props.decorator || getFormColumnDecorator(undefined); + const { columns } = props; const formContext: FormContext = { - type: 'add', + type: props.type || 'add', props, visible: props.immediateVisible || false, loading: false, decorator, dataSet: {}, + valid: formRef.current?.valid || false, + validating: formRef.current?.validating || false, + validate: (pattern) => { + formRef.current?.validate(pattern); + }, + submit: (onSubmit) => { + return formRef.current?.submit(onSubmit); + }, + reset: (pattern, option) => { + return formRef.current?.reset(pattern, option); + }, getDefaultValues() { // 1.父级传递的params // 2.column上默认值 @@ -156,29 +168,42 @@ function TForm(props: FormProps) { columns.filter((column) => { let showForm; if (typeof column.form === 'function') { - showForm = column.form(formContext as FormContext); + showForm = column.form(formContext); } else { showForm = column.form; } return column.type !== 'undefined' && showForm !== false; }) || []; formContext.columns = showColumns; - loadDataSet(formContext, dicApi, request); + // 使FormContext成为observable对象 const observerFormContext = observable>(formContext); decorator.setFormContext(observerFormContext); + // 加载表单数据集 + loadDataSet(observerFormContext, dicApi, request); return observerFormContext; }, []); + // 设置api + const relationApis: Map> = new Map(); + for (const column of formContext.columns) { + const { relation } = column; + if (relation) { + relation.helper.getApi && + relationApis.set(column.field, relation.helper.getApi()); + } + } + formContext.decorator.setRelationApis(relationApis); + props.getFormContext?.(formContext); return ( (formRef.current = form)} @@ -186,4 +211,36 @@ function TForm(props: FormProps) { ); } +TForm.open = (props: FormProps) => { + // create a dom in adapter? + const div = document.createElement('div'); + const container = createRoot(div); + document.body.appendChild(div); + + const destroy = () => { + container.unmount(); + }; + + function open(params: Partial = {}) { + const newProps: FormProps = { ...props, immediateVisible: true, params }; + render(newProps); + } + + function close() { + const newProps: FormProps = { ...props, immediateVisible: false }; + render(newProps); + } + + function render(props: FormProps) { + //@ts-ignore + container.render( + + + , + ); + } + + return { open, close, destroy }; +}; + export default TForm; diff --git a/src/components/TForm/components/FormField.tsx b/src/components/TForm/components/FormField.tsx index 47c0ade..a200784 100644 --- a/src/components/TForm/components/FormField.tsx +++ b/src/components/TForm/components/FormField.tsx @@ -3,6 +3,7 @@ import { ColumnType, FormColumnProps } from '../interface'; import { FormColumnDecorator } from '..'; import { ISchema } from '@formily/json-schema'; import { GlobalSchemaColumnRegistry } from '../formily/schema'; +import { BoAttrSchema } from '@designable/core'; export interface FormField> { /** @@ -10,9 +11,8 @@ export interface FormField> { * @param type 区分column是搜索还是表单渲染 */ render(column: K, type: 'search' | 'form'): React.ReactNode | undefined; - schema(column: K, index: number): ISchema; - + from(index: number, schema: BoAttrSchema): FormColumnProps | undefined; getDefaultSpan(): FormColumnProps['span']; } @@ -52,11 +52,22 @@ export abstract class BaseFormField< public schema(column: K, index: number): ISchema { const schema = GlobalSchemaColumnRegistry.getSchemaColumn( this.getType(), - ).adapt({ ...column, index }, this.decorator.getFormContext()); - const label = column.label; - const placeholder = `${this.placeholderPrefix[column.type]}${label}!`; - schema['x-component-props']['placeholder'] = placeholder; - return schema; + )?.adapt({ ...column, index }, this.decorator.getFormContext()); + if (schema) { + const label = column.label; + const placeholder = `${this.placeholderPrefix[column.type]}${label}!`; + schema['x-component-props']['placeholder'] = placeholder; + return schema; + } else { + return {}; + } + } + + from(index: number, schema: BoAttrSchema): FormColumnProps | undefined { + const column = GlobalSchemaColumnRegistry.getSchemaColumn( + this.getType(), + )?.reverse(index, schema); + return column; } public render( diff --git a/src/components/TForm/components/TreeSelect/TreeSelectFormField.tsx b/src/components/TForm/components/TreeSelect/TreeSelectFormField.tsx index 95319f6..8f7d2ed 100644 --- a/src/components/TForm/components/TreeSelect/TreeSelectFormField.tsx +++ b/src/components/TForm/components/TreeSelect/TreeSelectFormField.tsx @@ -5,6 +5,7 @@ import { BaseFormField } from '..'; import { FormTreeSelectColumnProps } from '.'; import { TreeNodeData } from '@douyinfe/semi-ui/lib/es/tree'; import { ISchema } from '@formily/json-schema'; +import _ from 'lodash'; export class TreeSelectFormField extends BaseFormField< T, @@ -36,11 +37,12 @@ export class TreeSelectFormField extends BaseFormField< public schema(column: FormTreeSelectColumnProps, index: number): ISchema { const schema = super.schema(column, index); - let data = column.treeData; + let data; if (typeof column.treeData === 'function') { data = column.treeData(this.decorator.getFormContext()); - } else { - data = column.treeData as TreeNodeData[]; + } + if (_.isEmpty(data)) { + data = column.treeData; } schema['x-component-props']['treeData'] = data; return schema; diff --git a/src/components/TForm/components/TreeSelect/interface.ts b/src/components/TForm/components/TreeSelect/interface.ts index eb5625f..7d87da5 100644 --- a/src/components/TForm/components/TreeSelect/interface.ts +++ b/src/components/TForm/components/TreeSelect/interface.ts @@ -1,12 +1,19 @@ -import { IdEntity } from '@/api/interface'; +import { IdEntity, Tree } from '@/api/interface'; import { FormColumnProps, FormContext, RemoteProps } from '../../interface'; import { TreeSelectProps } from '@douyinfe/semi-ui/lib/es/treeSelect'; import { TreeNodeData } from '@douyinfe/semi-ui/lib/es/tree'; import { TreeConstant } from '@/constant'; // TreeSelect 组件 -export type FormTreeSelectColumnProps = FormColumnProps & +export type FormTreeSelectColumnProps = FormColumnProps & Omit & { + // 如果数据视图是tree panel,则该参数意义则是把当前树型视图的数据放入到treeData上 + self?: boolean; + // tree转换 + treeTransform?: ( + tree: T[], + labelRender?: (tree: T) => React.ReactNode, + ) => TreeNodeData[]; treeData: | TreeNodeData[] | ((formContext?: FormContext) => TreeNodeData[]); diff --git a/src/components/TForm/form.tsx b/src/components/TForm/form.tsx index de22270..bc92483 100644 --- a/src/components/TForm/form.tsx +++ b/src/components/TForm/form.tsx @@ -1,4 +1,4 @@ -import { IdEntity } from '@/api/interface'; +import { GeneralApi, IdEntity } from '@/api/interface'; import { ColumnType, FormColumnProps, @@ -31,6 +31,8 @@ import { UploadDragFormField, } from './components'; import { ISchema } from '@formily/json-schema'; +import { BoAttrSchema } from '@designable/core'; +import { GlobalSchemaColumnRegistry } from './formily/schema'; export interface FormColumnDecorator { /** @@ -46,6 +48,13 @@ export interface FormColumnDecorator { */ schema(column: FormColumnProps, index: number): ISchema; + /** + * 基于schema获取Column + * @param index index + * @param schema schema + */ + from(index: number, schema: BoAttrSchema): FormColumnProps | undefined; + /** * 获取默认span * @param column column @@ -61,6 +70,16 @@ export interface FormColumnDecorator { * 设置form context */ setFormContext(formContext: FormContext): void; + + /** + * 设置relation apis + */ + setRelationApis(relationApis: Map>): void; + + /** + * 获取relation apis + */ + getRelationApis(): Map>; } export class UndefinedFormField extends BaseFormField< @@ -138,8 +157,16 @@ export class FormColumnFactory { export class FormColumnDecoratorImpl implements FormColumnDecorator { + private relationApis: Map> = new Map(); constructor(private formContext?: FormContext) {} + setRelationApis(relationApis: Map>): void { + this.relationApis = relationApis; + } + getRelationApis(): Map> { + return this.relationApis; + } + schema(column: FormColumnProps, index: number): ISchema { return FormColumnFactory.get>( column.type, @@ -147,6 +174,25 @@ export class FormColumnDecoratorImpl )?.schema(column, index); } + from(index: number, schema: BoAttrSchema): FormColumnProps | undefined { + if (schema.binding) { + const component = schema['props']?.['x-component']; + const columnType = + component && + GlobalSchemaColumnRegistry.getColumnTypeByComponent(component); + return ( + (columnType && + FormColumnFactory.get>(columnType, this)?.from( + index, + schema, + )) || + undefined + ); + } else { + return undefined; + } + } + render(column: FormColumnProps, type: 'search' | 'form'): ReactNode { return FormColumnFactory.get>( column.type, diff --git a/src/components/TForm/formily/FormilyForm.tsx b/src/components/TForm/formily/FormilyForm.tsx index a8215f9..1a85bb7 100644 --- a/src/components/TForm/formily/FormilyForm.tsx +++ b/src/components/TForm/formily/FormilyForm.tsx @@ -29,14 +29,16 @@ import { Slider, } from '@formily/semi'; import { useMemo } from 'react'; -import { createForm } from '@formily/core'; +import { Form as FormType, createForm } from '@formily/core'; import React from 'react'; import { Icon, Color } from './components'; import { toSchema } from './schema'; -import { Modal, Notification } from '@douyinfe/semi-ui'; -import { FormContext } from '../interface'; +import { Button, ButtonGroup, Modal, Notification } from '@douyinfe/semi-ui'; +import { FormContext, FormProps, ModalButton } from '../interface'; import { Constant } from '@/constant'; import _ from 'lodash'; +import { directGetIcon } from '@/components/Icon'; +import { GeneralApi } from '@/api/interface'; const Text: React.FC<{ value?: string; @@ -99,9 +101,9 @@ const useFormType = (formContext: FormContext) => { return formTypeList[formContext?.type || 'add']; }; -const useTitle = (formContext: FormContext) => { +const useTitle = (formProps: FormProps, formContext: FormContext) => { const formType = useFormType(formContext); - return formType.label; + return formProps.title || formType.label; }; const useIcon = (formContext: FormContext) => { @@ -109,46 +111,65 @@ const useIcon = (formContext: FormContext) => { return formType.icon; }; -const FormliyForm: React.FC = observer((props) => { +const ModalButtonComponent: React.FC<{ + formProps: FormProps; + formContext: FormContext; + form: FormType; +}> = observer(({ formProps, formContext, form }) => { const { - formProps, - formContext, - effects, - scope, - components, - ...formliyProps - } = props; - const { columns, decorator } = formContext; - const api = formProps.useApi?.(); - const form = useMemo(() => { - return createForm({ - initialValues: formContext?.getDefaultValues(), - values: formContext.values, - effects(form) { - effects?.(form); - }, - }); - }, [formContext.values]); + showConfirm, + showCancel, + append = [], + } = formProps.modal || { + showConfirm: true, + showCancel: true, + append: [], + }; + let api: GeneralApi; + const { event, useApi } = formProps; + if (useApi) { + if (typeof useApi === 'function') { + api = useApi(); + } else { + api = useApi; + } + } - const schema = useMemo(() => { - return toSchema(columns, formContext, (column, index) => - decorator.schema(column, index), - ); - }, [formContext.dataSet, formContext.type, formContext.visible]); + const modalButtons: ModalButton[] = []; - const title = useTitle(formContext); - const icon = useIcon(formContext); + if ( + (typeof showCancel === 'function' && showCancel(formContext)) || + showCancel + ) { + modalButtons.push({ + code: 'cancel', + name: '取消', + type: 'tertiary', + size: 'default', + icon: directGetIcon('IconCrossCircleStroked'), + onClick: (formContext) => { + if (formProps.onCancel) { + formProps.onCancel(formContext); + } else { + formContext.visible = false; + } + }, + }); + } - return ( - { + if ( + ((typeof showConfirm === 'function' && showConfirm(formContext)) || + showConfirm) && + formContext.type !== 'details' + ) { + modalButtons.push({ + code: 'confirm', + name: '确定', + type: 'primary', + loading: true, + size: 'default', + icon: directGetIcon('IconCheckCircleStroked'), + onClick: (formContext) => { // 构建需要校验的字段 const { params, onOk, onError } = formProps; form @@ -156,6 +177,13 @@ const FormliyForm: React.FC = observer((props) => { formContext.loading = true; // 相同key优先级 默认值 > 表单值 const values = Object.assign(data, params); + // 移除undefined的值 + for (const key in values) { + const v = values[key]; + if (_.isEmpty(v)) { + delete values[key]; + } + } if (api) { api .saveOrUpdate(values) @@ -165,15 +193,18 @@ const FormliyForm: React.FC = observer((props) => { position: 'top', content: res.message, }); - onOk?.(formContext); + try { + // 回调事件 + onOk?.(formContext); + event?.onSaveOrUpdateSuccess?.(values); + } catch (err) { + // simple print + console.error(err); + } + formContext.visible = false; } else { - Notification.error({ - position: 'top', - content: res.message, - }); onError?.(new Error(res.message), formContext); } - formContext.visible = false; formContext.loading = false; }) .catch((err) => { @@ -207,7 +238,88 @@ const FormliyForm: React.FC = observer((props) => { }); } }); - }} + }, + }); + } + + append.forEach((button) => { + if (typeof button === 'function') { + const maybeButton = button(formContext); + if (maybeButton) { + modalButtons.push({ ...maybeButton }); + } + } else { + modalButtons.push({ ...button }); + } + }); + + return ( + + {modalButtons.map((button) => { + const { + code, + icon, + type, + size, + loading = false, + onClick, + name, + } = button; + return ( + onClick?.(formContext)} + > + {name} + + ); + })} + + ); +}); + +const FormliyForm: React.FC = observer((props) => { + const { + formProps, + formContext, + effects, + scope, + components, + ...formliyProps + } = props; + + const { columns, decorator } = formContext; + + const form = useMemo(() => { + return createForm({ + initialValues: formContext?.getDefaultValues(), + values: formContext.values, + effects(form) { + effects?.(form); + }, + }); + }, [formContext.values]); + + const schema = useMemo(() => { + return toSchema(columns, formContext, (column, index) => + decorator.schema(column, index), + ); + }, [formContext.dataSet, formContext.type, formContext.visible]); + + const title = useTitle(formProps, formContext); + const icon = useIcon(formContext); + + return ( + { if (formProps.onCancel) { formProps.onCancel(formContext); @@ -215,6 +327,15 @@ const FormliyForm: React.FC = observer((props) => { formContext.visible = false; } }} + footer={ + columns.length > 0 && ( + + ) + } > ; @@ -21,20 +22,20 @@ export type FormilyFormProps = IFormLayoutProps & { export interface SchemaColumn> { /** - * 给定column转换Schema + * 给定column转换Formliy Schema * @param column column * @returns */ adapt: (column: Column, formContext: FormContext) => ISchema; /** - * 给定schema转换为Column + * 将BoAttrSchema转换为Column * @param field column field * @param span 栅栏间隔 * @param schema schema * @returns */ - reverse: (field: string, span: number, schema: ISchema) => Column; + reverse: (index: number, schema: BoAttrSchema) => Column; } export interface SchemaColumnRegistry { @@ -53,5 +54,34 @@ export interface SchemaColumnRegistry { * @param columnType column * @returns */ - getSchemaColumn: (columnType: ColumnType) => SchemaColumn; + getSchemaColumn: (columnType: ColumnType) => SchemaColumn | undefined; + + /** + * 添加表单组件与ColumnType的映射 + * @param component 表单组件 + * @param columnType column type + */ + addComponentColumnMapping: ( + component: string, + columnType: ColumnType, + ) => void; + + /** + * 根据表单组件获取Column Type + * @param component 表单组件 + */ + getColumnTypeByComponent(component: string): ColumnType | undefined; + + /** + * 添加字段类型与ColumnType的映射 + * @param component 表单组件 + * @param columnType column type + */ + addFieldTypeColumnMapping: (field: FieldType, columnType: ColumnType) => void; + + /** + * 根据字段获取Column Type + * @param component 表单组件 + */ + getColumnTypeByFieldType(field: FieldType): ColumnType | undefined; } diff --git a/src/components/TForm/formily/schema/CasaderSchema.ts b/src/components/TForm/formily/schema/CasaderSchema.ts index cfe5659..575a908 100644 --- a/src/components/TForm/formily/schema/CasaderSchema.ts +++ b/src/components/TForm/formily/schema/CasaderSchema.ts @@ -3,33 +3,27 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormCascadeColumnProps } from '../../components'; const CascadeSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Cascader', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Cascader', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'cascade', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('cascade', CascadeSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Cascader', 'cascade'); diff --git a/src/components/TForm/formily/schema/CheckboxSchema.ts b/src/components/TForm/formily/schema/CheckboxSchema.ts index 866c2b9..e7a8a38 100644 --- a/src/components/TForm/formily/schema/CheckboxSchema.ts +++ b/src/components/TForm/formily/schema/CheckboxSchema.ts @@ -3,33 +3,35 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormCheckboxColumnProps } from '../../components'; const CheckboxSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Checkbox.Group', 'string'), + ...baseOnColumnCreateISchema( + column, + formContext, + 'Checkbox.Group', + 'string', + ), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'checkbox', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('checkbox', CheckboxSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'Checkbox.Group', + 'checkbox', +); diff --git a/src/components/TForm/formily/schema/ColorSchema.ts b/src/components/TForm/formily/schema/ColorSchema.ts index 0d6d5c1..aba6679 100644 --- a/src/components/TForm/formily/schema/ColorSchema.ts +++ b/src/components/TForm/formily/schema/ColorSchema.ts @@ -3,33 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormColorColumnProps } from '../../components'; const ColorSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Color', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Color', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'color', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'color' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('color', ColorSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Color', 'color'); diff --git a/src/components/TForm/formily/schema/DateRangeSchema.ts b/src/components/TForm/formily/schema/DateRangeSchema.ts index 5cb05fb..17302fd 100644 --- a/src/components/TForm/formily/schema/DateRangeSchema.ts +++ b/src/components/TForm/formily/schema/DateRangeSchema.ts @@ -3,14 +3,15 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormDateRangeColumnProps } from '../../components'; const DateRangeSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema( + ...baseOnColumnCreateISchema( column, formContext, 'DatePicker.RangePicker', @@ -21,20 +22,16 @@ const DateRangeSchema: SchemaColumn> = { }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'dateRange', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('dateRange', DateRangeSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'DatePicker.RangePicker', + 'dateRange', +); diff --git a/src/components/TForm/formily/schema/DateSchema.ts b/src/components/TForm/formily/schema/DateSchema.ts index baf9f79..f1b2073 100644 --- a/src/components/TForm/formily/schema/DateSchema.ts +++ b/src/components/TForm/formily/schema/DateSchema.ts @@ -3,33 +3,26 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormDateColumnProps } from '../../components'; const DateSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'DatePicker', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'DatePicker', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'date', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'date' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('date', DateSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('DatePicker', 'date'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('timestamp', 'date'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('date', 'date'); diff --git a/src/components/TForm/formily/schema/IconSchema.ts b/src/components/TForm/formily/schema/IconSchema.ts index 2a63f94..fa1419c 100644 --- a/src/components/TForm/formily/schema/IconSchema.ts +++ b/src/components/TForm/formily/schema/IconSchema.ts @@ -3,33 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormIconColumnProps } from '../../components'; const IconSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Icon', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Icon', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'icon', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'icon' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('icon', IconSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Icon', 'icon'); diff --git a/src/components/TForm/formily/schema/InputSchema.ts b/src/components/TForm/formily/schema/InputSchema.ts index 1316c88..345c87d 100644 --- a/src/components/TForm/formily/schema/InputSchema.ts +++ b/src/components/TForm/formily/schema/InputSchema.ts @@ -3,33 +3,27 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormInputColumnProps } from '../../components'; const InputSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Input', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Input', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'input', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + const column = baseOnBoAttrSchemaCreateColumn(index, schema); + return { ...column, type: 'input' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('input', InputSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Input', 'input'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('varchar', 'input'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('char', 'input'); diff --git a/src/components/TForm/formily/schema/NumberSchema.ts b/src/components/TForm/formily/schema/NumberSchema.ts index 884b699..7a4c763 100644 --- a/src/components/TForm/formily/schema/NumberSchema.ts +++ b/src/components/TForm/formily/schema/NumberSchema.ts @@ -3,33 +3,36 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormNumberColumnProps } from '../../components'; const NumberSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'NumberPicker', 'number'), + ...baseOnColumnCreateISchema( + column, + formContext, + 'NumberPicker', + 'number', + ), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'number', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'number' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('number', NumberSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('NumberPicker', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('smallint', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('int', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('bigint', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('number', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('double', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('float', 'number'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('decimal', 'number'); diff --git a/src/components/TForm/formily/schema/PasswordSchema.ts b/src/components/TForm/formily/schema/PasswordSchema.ts index 521bc86..b5d55af 100644 --- a/src/components/TForm/formily/schema/PasswordSchema.ts +++ b/src/components/TForm/formily/schema/PasswordSchema.ts @@ -3,33 +3,27 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormPasswordColumnProps } from '../../components'; const PasswordSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Password', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Password', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'password', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('password', PasswordSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Password', 'password'); diff --git a/src/components/TForm/formily/schema/RadioSchema.ts b/src/components/TForm/formily/schema/RadioSchema.ts index c4388e2..b0e34f4 100644 --- a/src/components/TForm/formily/schema/RadioSchema.ts +++ b/src/components/TForm/formily/schema/RadioSchema.ts @@ -3,33 +3,29 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormRadioColumnProps } from '../../components'; const RadioSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Radio.Group', 'string'), + ...baseOnColumnCreateISchema( + column, + formContext, + 'Radio.Group', + 'string', + ), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'radio', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'radio' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('radio', RadioSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Radio.Group', 'radio'); diff --git a/src/components/TForm/formily/schema/RateSchema.ts b/src/components/TForm/formily/schema/RateSchema.ts index 9978183..6eef43b 100644 --- a/src/components/TForm/formily/schema/RateSchema.ts +++ b/src/components/TForm/formily/schema/RateSchema.ts @@ -3,33 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormRateColumnProps } from '../../components'; const RateSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Rate', 'number'), + ...baseOnColumnCreateISchema(column, formContext, 'Rate', 'number'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'rate', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'rate' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('rate', RateSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Rate', 'rate'); diff --git a/src/components/TForm/formily/schema/SchemaColumn.ts b/src/components/TForm/formily/schema/SchemaColumn.ts index 076d92c..6256bda 100644 --- a/src/components/TForm/formily/schema/SchemaColumn.ts +++ b/src/components/TForm/formily/schema/SchemaColumn.ts @@ -10,8 +10,17 @@ import { IdEntity } from '@/api/interface'; import { ISchema, SchemaTypes } from '@formily/json-schema'; import { uid } from '@/util/utils'; import { chunk } from '../../util'; +import { BoAttrSchema, BoSchema, FieldType } from '@designable/core'; -export const createColumnSchema = ( +/** + * 基于Column实例创建ISchema + * @param column form column + * @param formContext form context + * @param component 组件名称 + * @param type 组件类型 + * @returns ISchema instance + */ +export const baseOnColumnCreateISchema = ( column: FormColumnProps, formContext: FormContext, component: string, @@ -34,6 +43,36 @@ export const createColumnSchema = ( return schema; }; +/** + * 基于BoAttrSchema创建Column实例 + * @param index column index + * @param schema bo attr schema + */ +export const baseOnBoAttrSchemaCreateColumn = < + Column extends FormColumnProps, +>( + index: number, + schema: BoAttrSchema, +): Column => { + const { binding, defaulted } = schema; + + return { + field: schema.key, + require: binding ? schema['props']?.['required'] ?? false : false, + label: schema.name, + index, + span: schema.span || 12, + line: schema.span === 24, + // 1.表单上是否显示根据表单设计器是否绑定 + // 2.或者是非默认的字段 + form: binding === true ? true : !defaulted, + table: binding === true ? true : !defaulted, + search: binding === true ? true : !defaulted, + reaction: schema['props']?.['x-reactions'], + ...(schema['props']?.['x-component-props'] || {}), + }; +}; + // 排出基本属性项 export const ExclusiveColumnKeyProps: KeyColumnProps[] = [ 'field', @@ -50,29 +89,63 @@ export const ExclusiveColumnKeyProps: KeyColumnProps[] = [ 'validate', 'validateTrigger', 'reaction', + 'ellipsis', + 'search', + 'table', ]; -const SCHEMA_COLUMN_STORE: Record> = {}; +const SCHEMA_COLUMN_STORE: Map> = new Map(); +// 表单组件与Column Type的映射 +const COMPONENT_COLUMN_TYPE_STORE: Map = new Map(); +// 数据类型与Column Type的映射 +const FIELD_TYPE_COLUMN_TYPE_STORE: Map = new Map(); export const GlobalSchemaColumnRegistry: SchemaColumnRegistry = { addSchemaColumn: function (columnType, schemaColumn): void { - SCHEMA_COLUMN_STORE[columnType] = schemaColumn; + SCHEMA_COLUMN_STORE.set(columnType, schemaColumn); + }, + getSchemaColumn: function ( + columnType: ColumnType, + ): SchemaColumn | undefined { + return SCHEMA_COLUMN_STORE.get(columnType); + }, + addComponentColumnMapping: function ( + component: string, + columnType: ColumnType, + ): void { + COMPONENT_COLUMN_TYPE_STORE.set(component, columnType); + }, + getColumnTypeByComponent: function ( + component: string, + ): ColumnType | undefined { + return COMPONENT_COLUMN_TYPE_STORE.get(component); }, - getSchemaColumn: function (columnType: ColumnType): SchemaColumn { - return SCHEMA_COLUMN_STORE[columnType]; + addFieldTypeColumnMapping: function ( + field: FieldType, + columnType: ColumnType, + ): void { + FIELD_TYPE_COLUMN_TYPE_STORE.set(field, columnType); + }, + getColumnTypeByFieldType: function ( + field: FieldType, + ): ColumnType | undefined { + return FIELD_TYPE_COLUMN_TYPE_STORE.get(field); }, }; export const toSchema = ( columns: FormColumnProps[], formContext: FormContext, - toSchema: (column: FormColumnProps, index: number) => ISchema = ( + mapping: (column: FormColumnProps, index: number) => ISchema = ( column, index, ) => { - return GlobalSchemaColumnRegistry.getSchemaColumn(column.type).adapt( - { ...column, index }, - formContext, + // 如果表单中存在于当前为进行映射处理的SchemaColumn那么默认返回{} + return ( + GlobalSchemaColumnRegistry.getSchemaColumn(column.type)?.adapt( + { ...column, index }, + formContext, + ) || {} ); }, ): ISchema => { @@ -85,7 +158,7 @@ export const toSchema = ( const schemas = barrier.columns .map((column, index) => { const columnSchema: Record = {}; - const schema = toSchema(column, index); + const schema = mapping(column, index); columnSchema[column.field] = schema; return columnSchema; }) @@ -113,3 +186,45 @@ export const toSchema = ( properties: aggregateSchema, }; }; + +/** + * 从boSchema转换为Column实例数组 + * 1.取root的第一个元素(此元素一定为table),其造成的后果就是不能对多表进行创建 + * 2.基于该元素调用SchemaColumn进行转换 + * 3.如果包含子表则有TableSchemaColumn进行转换,子表的深度只能是1 + * @param boSchema bo schema + * @param map column 转换关系 + */ +export const from = >( + boSchema: BoSchema, + mapping: (index: number, attrSchema: BoAttrSchema) => Column | undefined = ( + index, + attrSchema, + ) => { + const component = attrSchema['props']?.['x-component']; + const type = attrSchema.type; + const columnType = + GlobalSchemaColumnRegistry.getColumnTypeByComponent(component) || + GlobalSchemaColumnRegistry.getColumnTypeByFieldType(type); + return ( + (columnType && + GlobalSchemaColumnRegistry.getSchemaColumn(columnType)?.reverse( + index, + attrSchema, + )) || + undefined + ); + }, +): Column[] => { + const attrSchemas = boSchema.attrs; + if (attrSchemas.length > 0) { + const rootSchema = attrSchemas[0]; + if (rootSchema.attrType !== 'table') return []; + const schemas = rootSchema.children || []; + const columns = schemas + .map((schema, index) => mapping(index, schema)) + .filter((column) => !_.isEmpty(column)); + return columns; + } + return []; +}; diff --git a/src/components/TForm/formily/schema/SelectSchema.ts b/src/components/TForm/formily/schema/SelectSchema.ts index 0e8b83f..f5666ec 100644 --- a/src/components/TForm/formily/schema/SelectSchema.ts +++ b/src/components/TForm/formily/schema/SelectSchema.ts @@ -3,34 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormSelectColumnProps } from '../../components'; -// TODO dic remote 这些属性怎么处理 const SelectSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Select', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'Select', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps, 'dic', 'remote']), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'select', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'select' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('select', SelectSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Select', 'select'); diff --git a/src/components/TForm/formily/schema/SliderSchema.ts b/src/components/TForm/formily/schema/SliderSchema.ts index 4d86f63..2bbc547 100644 --- a/src/components/TForm/formily/schema/SliderSchema.ts +++ b/src/components/TForm/formily/schema/SliderSchema.ts @@ -3,33 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormSliderColumnProps } from '../../components'; const SliderSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Slider', 'number'), + ...baseOnColumnCreateISchema(column, formContext, 'Slider', 'number'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'slider', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'slider' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('slider', SliderSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Slider', 'slider'); diff --git a/src/components/TForm/formily/schema/SwitchSchema.ts b/src/components/TForm/formily/schema/SwitchSchema.ts index 20e06d6..c6337f1 100644 --- a/src/components/TForm/formily/schema/SwitchSchema.ts +++ b/src/components/TForm/formily/schema/SwitchSchema.ts @@ -3,33 +3,25 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormSwitchColumnProps } from '../../components'; const SwitchSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Switch', 'boolean'), + ...baseOnColumnCreateISchema(column, formContext, 'Switch', 'boolean'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'switch', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'switch' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('switch', SwitchSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Switch', 'switch'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('bool', 'switch'); diff --git a/src/components/TForm/formily/schema/TextareaSchema.ts b/src/components/TForm/formily/schema/TextareaSchema.ts index 8a4c7c5..fb525f6 100644 --- a/src/components/TForm/formily/schema/TextareaSchema.ts +++ b/src/components/TForm/formily/schema/TextareaSchema.ts @@ -3,33 +3,36 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormTextareaColumnProps } from '../../components'; const TextareaSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Input.TextArea', 'string'), + ...baseOnColumnCreateISchema( + column, + formContext, + 'Input.TextArea', + 'string', + ), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'textarea', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('textarea', TextareaSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'Input.TextArea', + 'textarea', +); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('text', 'textarea'); diff --git a/src/components/TForm/formily/schema/TimeRangeSchema.ts b/src/components/TForm/formily/schema/TimeRangeSchema.ts index 5530946..dc0e85e 100644 --- a/src/components/TForm/formily/schema/TimeRangeSchema.ts +++ b/src/components/TForm/formily/schema/TimeRangeSchema.ts @@ -3,14 +3,15 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormTimeRangeColumnProps } from '../../components'; const TimeRangeSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema( + ...baseOnColumnCreateISchema( column, formContext, 'TimePicker.RangePicker', @@ -21,20 +22,16 @@ const TimeRangeSchema: SchemaColumn> = { }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'timeRange', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('timeRange', TimeRangeSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'TimePicker.RangePicker', + 'timeRange', +); diff --git a/src/components/TForm/formily/schema/TimeSchema.ts b/src/components/TForm/formily/schema/TimeSchema.ts index d5b2e05..b86595a 100644 --- a/src/components/TForm/formily/schema/TimeSchema.ts +++ b/src/components/TForm/formily/schema/TimeSchema.ts @@ -3,33 +3,25 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormTimeColumnProps } from '../../components'; const TimeSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'TimePicker', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'TimePicker', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'time', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'time' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('time', TimeSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('TimePicker', 'time'); +GlobalSchemaColumnRegistry.addFieldTypeColumnMapping('time', 'time'); diff --git a/src/components/TForm/formily/schema/TransferSchema.ts b/src/components/TForm/formily/schema/TransferSchema.ts index d45928d..43f9ed7 100644 --- a/src/components/TForm/formily/schema/TransferSchema.ts +++ b/src/components/TForm/formily/schema/TransferSchema.ts @@ -3,33 +3,27 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormTransferColumnProps } from '../../components'; const TransferSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Transfer', 'string[]'), + ...baseOnColumnCreateISchema(column, formContext, 'Transfer', 'string[]'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'transfer', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('transfer', TransferSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Transfer', 'transfer'); diff --git a/src/components/TForm/formily/schema/TreeSelectSchema.ts b/src/components/TForm/formily/schema/TreeSelectSchema.ts index 0bbb250..cb9f51f 100644 --- a/src/components/TForm/formily/schema/TreeSelectSchema.ts +++ b/src/components/TForm/formily/schema/TreeSelectSchema.ts @@ -3,7 +3,8 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormTreeSelectColumnProps } from '../../components'; @@ -11,26 +12,22 @@ import { FormTreeSelectColumnProps } from '../../components'; const TreeSelectSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'TreeSelect', 'string'), + ...baseOnColumnCreateISchema(column, formContext, 'TreeSelect', 'string'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps, 'treeData', 'remote']), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'treeSelect', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('treeSelect', TreeSelectSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'TreeSelect', + 'treeSelect', +); diff --git a/src/components/TForm/formily/schema/UploadDragSchema.ts b/src/components/TForm/formily/schema/UploadDragSchema.ts index 43dab64..486ec5c 100644 --- a/src/components/TForm/formily/schema/UploadDragSchema.ts +++ b/src/components/TForm/formily/schema/UploadDragSchema.ts @@ -3,33 +3,35 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormUploadDragColumnProps } from '../../components'; const UploadDragSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Upload.Dragger', 'array'), + ...baseOnColumnCreateISchema( + column, + formContext, + 'Upload.Dragger', + 'array', + ), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { + reverse: (index, schema) => { return { - field, - index: schema['x-index'], + ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'uploadDrag', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('uploadDrag', UploadDragSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping( + 'Upload.Dragger', + 'uploadDrag', +); diff --git a/src/components/TForm/formily/schema/UploadSchema.ts b/src/components/TForm/formily/schema/UploadSchema.ts index a01123a..8cb28d7 100644 --- a/src/components/TForm/formily/schema/UploadSchema.ts +++ b/src/components/TForm/formily/schema/UploadSchema.ts @@ -3,33 +3,24 @@ import { SchemaColumn } from '../interface'; import { ExclusiveColumnKeyProps, GlobalSchemaColumnRegistry, - createColumnSchema, + baseOnColumnCreateISchema, + baseOnBoAttrSchemaCreateColumn, } from './SchemaColumn'; import { FormUploadProps } from '../../components'; const UploadSchema: SchemaColumn> = { adapt: (column, formContext) => { return { - ...createColumnSchema(column, formContext, 'Upload', 'array'), + ...baseOnColumnCreateISchema(column, formContext, 'Upload', 'array'), 'x-component-props': { ..._.omit(column, [...ExclusiveColumnKeyProps]), }, }; }, - reverse: (field, span, schema) => { - return { - field, - index: schema['x-index'], - type: 'upload', - label: schema.title, - require: schema.required, - initValue: schema.default, - span, - line: span === 24, - reaction: schema['x-reactions'], - ...schema['x-component-props'], - }; + reverse: (index, schema) => { + return { ...baseOnBoAttrSchemaCreateColumn(index, schema), type: 'upload' }; }, }; GlobalSchemaColumnRegistry.addSchemaColumn('upload', UploadSchema); +GlobalSchemaColumnRegistry.addComponentColumnMapping('Upload', 'upload'); diff --git a/src/components/TForm/interface.ts b/src/components/TForm/interface.ts index c3c1ab1..b9bee07 100644 --- a/src/components/TForm/interface.ts +++ b/src/components/TForm/interface.ts @@ -1,10 +1,11 @@ -import { GeneralApi, IdEntity, TreeGeneralApi } from '@/api/interface'; +import { GeneralApi, IdEntity } from '@/api/interface'; import { Constant } from '@/constant/interface'; -import { FormApi, RuleItem } from '@douyinfe/semi-ui/lib/es/form'; +import { RuleItem } from '@douyinfe/semi-ui/lib/es/form'; import { FormColumnDecorator } from './form'; -import { Dic } from '@/api/system/dic'; import { Method } from 'axios'; -import { ISchema, SchemaReactions } from '@formily/json-schema'; +import { SchemaReactions } from '@formily/json-schema'; +import { Form as FormType } from '@formily/core'; +import { Helper } from '../interface'; export type Pair = { key: string; @@ -58,6 +59,19 @@ export type ColumnType = | 'selectGroup' | 'undefined'; +export type FormStatus = 'add' | 'edit' | 'details'; + +export type ModalButton = { + code: string; + name: string; + type: 'warning' | 'primary' | 'tertiary' | 'secondary' | 'danger'; + size?: 'default' | 'small' | 'large'; + icon?: React.ReactNode; + // 按钮loading状态,如果不赋值默认为false + loading?: boolean; + onClick?: (formContext: FormContext) => void; +}; + export type FormProps = { // 表单模型标识 mode: 'tree' | 'table' | 'simply'; @@ -65,6 +79,8 @@ export type FormProps = { title?: string; // 字段集合 columns: FormColumnProps[]; + // 表单类型 + type?: FormStatus; // 表单弹出框大小 size?: 'small' | 'medium' | 'large' | 'full-width'; decorator?: FormColumnDecorator; @@ -74,10 +90,17 @@ export type FormProps = { immediateVisible?: boolean; // 是否显示表单验证提示消息 showValidateErrorNotification?: boolean; + // 可选字段 + [key: string]: any; + // 内置事件回调 + event?: { + // 当保存或者更新成功后进行回调 + onSaveOrUpdateSuccess?: (entity: T) => void; + }; // 表单级字段验证 validateFields?: (values: T) => string; // api - useApi?: () => GeneralApi; + useApi?: (() => GeneralApi) | GeneralApi; // 操作完成的回调 onOk?: (formContext: FormContext) => void; // 发生错误时回调 @@ -85,9 +108,19 @@ export type FormProps = { // 取消时回调 onCancel?: (formContext: FormContext) => void; // 获取表单上下文 - getFormContext?: (formContext?: FormContext) => void; - // 可选字段 - [key: string]: any; + getFormContext?: (formContext: FormContext) => void; + // modal内容 + modal?: { + // 是否显示确认操作 + showConfirm?: boolean | ((formContext: FormContext) => boolean); + // 是否显示取消操作 + showCancel?: boolean | ((formContext: FormContext) => boolean); + // 自定义追加,当是函数渲染时,返回值如果是undefined 该追加操作则不进行添加 + append?: ( + | ModalButton + | ((formContext: FormContext) => ModalButton | undefined) + )[]; + }; }; // 远程搜索 @@ -146,11 +179,17 @@ export type FormColumnProps = { ) => string | Promise; // 联动 reaction?: SchemaReactions; + // 关联 + relation?: { + title?: FormProps['title']; + helper: Helper; + }; + [key: string]: any; }; export type FormContext = { // 弹窗类型 - type: 'add' | 'edit' | 'details' | undefined; + type: FormStatus; // Form props props: FormProps; // 是否显示 @@ -165,6 +204,11 @@ export type FormContext = { dataSet: Record; // 字段转换为semi props decorator: FormColumnDecorator; + valid: FormType['valid']; + validating: FormType['validating']; + validate?: FormType['validate']; + submit?: FormType['submit']; + reset?: FormType['reset']; // 获取字段绑定的默认值 getDefaultValues: () => Partial; // 获取表单绑定的值 diff --git a/src/components/TableCrud/CardPage.tsx b/src/components/TableCrud/CardPage.tsx index 8ab2eef..088e1c0 100644 --- a/src/components/TableCrud/CardPage.tsx +++ b/src/components/TableCrud/CardPage.tsx @@ -59,7 +59,7 @@ const CardPage = observer((props: CardPageProps) => { // 取内容区columns const contentColumns = tableColumns .filter((col) => col.field !== titleColumn.field) - .slice(0, 5); + .slice(0, 4); return ( diff --git a/src/components/TableCrud/TableApi.tsx b/src/components/TableCrud/TableApi.tsx index b7ee76c..8d7694b 100644 --- a/src/components/TableCrud/TableApi.tsx +++ b/src/components/TableCrud/TableApi.tsx @@ -7,7 +7,7 @@ import { } from '@/api/interface'; import { TableApi, TableContext, TableCrudProps } from './interface'; import { useMemo } from 'react'; -import { Notification } from '@douyinfe/semi-ui'; +import { Toast } from '@douyinfe/semi-ui'; import { TablePagination, TablePaginationProps, @@ -19,16 +19,38 @@ export default function useTableApi( return useMemo>(() => { const check = (tableContext: TableContext