diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..800f3a8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# production
+/build
+/dist
+
+# misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
diff --git a/.replit b/.replit
new file mode 100644
index 0000000..983da56
--- /dev/null
+++ b/.replit
@@ -0,0 +1,31 @@
+run = "npm run dev"
+entrypoint = "src/App.jsx"
+
+hidden = [".config", "tsconfig.json", "tsconfig.node.json", "vite.config.js", ".gitignore"]
+
+[nix]
+channel = "stable-22_11"
+
+[env]
+PATH = "/home/runner/$REPL_SLUG/.config/npm/node_global/bin:/home/runner/$REPL_SLUG/node_modules/.bin"
+npm_config_prefix = "/home/runner/$REPL_SLUG/.config/npm/node_global"
+
+[gitHubImport]
+requiredFiles = [".replit", "replit.nix", ".config"]
+
+[packager]
+language = "nodejs"
+ [packager.features]
+ packageSearch = true
+ guessImports = true
+ enabledForHosting = false
+
+[languages]
+ [languages.javascript]
+ pattern = "**/{*.js,*.jsx,*.ts,*.tsx}"
+ [languages.javascript.languageServer]
+ start = "typescript-language-server --stdio"
+
+[deployment]
+build = ["sh", "-c", "npm run build"]
+run = ["sh", "-c", "npm run preview"]
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..35ec5b1
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Base Script
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..340ca93
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,2486 @@
+{
+ "name": "react-emplate",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "react-emplate",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@douyinfe/semi-foundation": "^2.38.0",
+ "@douyinfe/semi-ui": "^2.36.0",
+ "@lark-base-open/js-sdk": "^0.3.0",
+ "i18next": "^23.5.1",
+ "i18next-browser-languagedetector": "^7.1.0",
+ "react-i18next": "^13.2.2",
+ "reset-css": "^5.0.1"
+ },
+ "devDependencies": {
+ "@types/react": "^18.0.15",
+ "@types/react-dom": "^18.0.6",
+ "@vitejs/plugin-react": "^2.0.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "typescript": "^4.7.4",
+ "vite": "^3.0.4"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.21.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.22.3",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.22.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.22.0",
+ "@babel/helper-compilation-targets": "^7.22.1",
+ "@babel/helper-module-transforms": "^7.22.1",
+ "@babel/helpers": "^7.22.0",
+ "@babel/parser": "^7.22.0",
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.2",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.22.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.22.3",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.22.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.0",
+ "@babel/helper-validator-option": "^7.21.0",
+ "browserslist": "^4.21.3",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.21.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.21.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.22.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-simple-access": "^7.21.5",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.21.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.21.5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.21.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.19.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.21.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.22.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.22.4",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.21.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx": {
+ "version": "7.22.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-jsx": "^7.21.4",
+ "@babel/types": "^7.22.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-development": {
+ "version": "7.18.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/plugin-transform-react-jsx": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.21.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.19.6",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.23.1",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz",
+ "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.22.3",
+ "license": "MIT",
+ "dependencies": {
+ "core-js-pure": "^3.30.2",
+ "regenerator-runtime": "^0.13.11"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ },
+ "node_modules/@babel/template": {
+ "version": "7.21.9",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/parser": "^7.21.9",
+ "@babel/types": "^7.21.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.22.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.22.3",
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.22.4",
+ "@babel/types": "^7.22.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.22.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.21.5",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-animation": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "dependencies": {
+ "bezier-easing": "^2.1.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-animation-react": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "dependencies": {
+ "@douyinfe/semi-animation": "2.12.0",
+ "@douyinfe/semi-animation-styled": "2.23.2",
+ "classnames": "^2.2.6"
+ }
+ },
+ "node_modules/@douyinfe/semi-animation-react/node_modules/@douyinfe/semi-animation": {
+ "version": "2.12.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime-corejs3": "^7.15.4",
+ "bezier-easing": "^2.1.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-animation-styled": {
+ "version": "2.23.2",
+ "license": "MIT"
+ },
+ "node_modules/@douyinfe/semi-foundation": {
+ "version": "2.38.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.38.0.tgz",
+ "integrity": "sha512-/Vefzrb3ZRSYw9agmUCWMoFFN8n/HmG0+/1TCCkUu7bbIxJE66aNUiJOJ+Ke4FLyFoQP1b8JsEYUa0e8BKHWaw==",
+ "dependencies": {
+ "@douyinfe/semi-animation": "2.38.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "memoize-one": "^5.2.1",
+ "scroll-into-view-if-needed": "^2.2.24"
+ }
+ },
+ "node_modules/@douyinfe/semi-foundation/node_modules/@douyinfe/semi-animation": {
+ "version": "2.38.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.38.0.tgz",
+ "integrity": "sha512-idrUPO/bb7mFm5Zn+095Tmh037P0kuKcDQZALzhS7axcvitCHD5Sk630LvZoxSOhnx9MA0nWVNCkezCUSN9KnA==",
+ "dependencies": {
+ "bezier-easing": "^2.1.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-icons": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "dependencies": {
+ "classnames": "^2.2.6"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-illustrations": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-theme-default": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^7.1.6"
+ }
+ },
+ "node_modules/@douyinfe/semi-ui": {
+ "version": "2.36.0",
+ "license": "MIT",
+ "dependencies": {
+ "@douyinfe/semi-animation": "2.36.0",
+ "@douyinfe/semi-animation-react": "2.36.0",
+ "@douyinfe/semi-foundation": "2.36.0",
+ "@douyinfe/semi-icons": "2.36.0",
+ "@douyinfe/semi-illustrations": "2.36.0",
+ "@douyinfe/semi-theme-default": "2.36.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "copy-text-to-clipboard": "^2.1.1",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "prop-types": "^15.7.2",
+ "react-resizable": "^1.8.0",
+ "react-sortable-hoc": "^2.0.0",
+ "react-window": "^1.8.2",
+ "resize-observer-polyfill": "^1.5.1",
+ "scroll-into-view-if-needed": "^2.2.24",
+ "utility-types": "^3.10.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.0.0",
+ "react-dom": ">=16.0.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-ui/node_modules/@douyinfe/semi-foundation": {
+ "version": "2.36.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.36.0.tgz",
+ "integrity": "sha512-lcDxviFlYdoq9KQTYQ0S+7x1ia8vWdu/uH3ACWAIZyUQ3W5Zd7pmDdmw9QsfQgdViJb9GnrejFrzgFEi4iEQjA==",
+ "dependencies": {
+ "@douyinfe/semi-animation": "2.12.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "memoize-one": "^5.2.1",
+ "scroll-into-view-if-needed": "^2.2.24"
+ }
+ },
+ "node_modules/@douyinfe/semi-ui/node_modules/@douyinfe/semi-foundation/node_modules/@douyinfe/semi-animation": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz",
+ "integrity": "sha512-OAfL9Nk38ZPqfdKm9k4cvVXXzm16ALI4LxGNZ0qfe2RCLLnYGB/hNzTctoTDjYD35dFv0yroh3qsXtZuP2xNdg==",
+ "dependencies": {
+ "@babel/runtime-corejs3": "^7.15.4",
+ "bezier-easing": "^2.1.0"
+ }
+ },
+ "node_modules/@douyinfe/semi-ui/node_modules/react-resizable": {
+ "version": "1.11.1",
+ "license": "MIT",
+ "dependencies": {
+ "prop-types": "15.x",
+ "react-draggable": "^4.0.3"
+ },
+ "peerDependencies": {
+ "react": "0.14.x || 15.x || 16.x || 17.x",
+ "react-dom": "0.14.x || 15.x || 16.x || 17.x"
+ }
+ },
+ "node_modules/@douyinfe/semi-ui/node_modules/react-sortable-hoc": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.2.0",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.5.7"
+ },
+ "peerDependencies": {
+ "prop-types": "^15.5.7",
+ "react": "^16.3.0 || ^17.0.0",
+ "react-dom": "^16.3.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
+ },
+ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@lark-base-open/js-sdk": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@lark-base-open/js-sdk/-/js-sdk-0.3.4.tgz",
+ "integrity": "sha512-akJA3mPbBRqcmWLb4wJZSmnM9F8GjXJolWrfn6YRLVfXOd2udyvw9q+Fj5kZaYv0W1tNvseDojZ6I3EhsAOboQ=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.5",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "18.2.8",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.2.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "2.2.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.19.6",
+ "@babel/plugin-transform-react-jsx": "^7.19.0",
+ "@babel/plugin-transform-react-jsx-development": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
+ "magic-string": "^0.26.7",
+ "react-refresh": "^0.14.0"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/async-validator": {
+ "version": "3.5.2",
+ "license": "MIT"
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "license": "MIT"
+ },
+ "node_modules/bezier-easing": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.21.7",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001489",
+ "electron-to-chromium": "^1.4.411",
+ "node-releases": "^2.0.12",
+ "update-browserslist-db": "^1.0.11"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001495",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/classnames": {
+ "version": "2.3.2",
+ "license": "MIT"
+ },
+ "node_modules/clsx": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/compute-scroll-into-view": {
+ "version": "1.0.20",
+ "license": "MIT"
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/copy-text-to-clipboard": {
+ "version": "2.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/core-js-pure": {
+ "version": "3.30.2",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/date-fns": {
+ "version": "2.30.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0"
+ },
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
+ "node_modules/date-fns-tz": {
+ "version": "1.3.8",
+ "license": "MIT",
+ "peerDependencies": {
+ "date-fns": ">=2.0.0"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.421",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/esbuild": {
+ "version": "0.15.18",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.15.18",
+ "@esbuild/linux-loong64": "0.15.18",
+ "esbuild-android-64": "0.15.18",
+ "esbuild-android-arm64": "0.15.18",
+ "esbuild-darwin-64": "0.15.18",
+ "esbuild-darwin-arm64": "0.15.18",
+ "esbuild-freebsd-64": "0.15.18",
+ "esbuild-freebsd-arm64": "0.15.18",
+ "esbuild-linux-32": "0.15.18",
+ "esbuild-linux-64": "0.15.18",
+ "esbuild-linux-arm": "0.15.18",
+ "esbuild-linux-arm64": "0.15.18",
+ "esbuild-linux-mips64le": "0.15.18",
+ "esbuild-linux-ppc64le": "0.15.18",
+ "esbuild-linux-riscv64": "0.15.18",
+ "esbuild-linux-s390x": "0.15.18",
+ "esbuild-netbsd-64": "0.15.18",
+ "esbuild-openbsd-64": "0.15.18",
+ "esbuild-sunos-64": "0.15.18",
+ "esbuild-windows-32": "0.15.18",
+ "esbuild-windows-64": "0.15.18",
+ "esbuild-windows-arm64": "0.15.18"
+ }
+ },
+ "node_modules/esbuild-linux-64": {
+ "version": "0.15.18",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "license": "ISC"
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "dependencies": {
+ "void-elements": "3.1.0"
+ }
+ },
+ "node_modules/i18next": {
+ "version": "23.5.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.5.1.tgz",
+ "integrity": "sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "dependencies": {
+ "@babel/runtime": "^7.22.5"
+ }
+ },
+ "node_modules/i18next-browser-languagedetector": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz",
+ "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==",
+ "dependencies": {
+ "@babel/runtime": "^7.19.4"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "license": "ISC"
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.12.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "license": "MIT"
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "license": "MIT"
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.26.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/memoize-one": {
+ "version": "5.2.1",
+ "license": "MIT"
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.6",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.12",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/postcss": {
+ "version": "8.4.24",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
+ "node_modules/react-draggable": {
+ "version": "4.4.5",
+ "license": "MIT",
+ "dependencies": {
+ "clsx": "^1.1.1",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": ">= 16.3.0",
+ "react-dom": ">= 16.3.0"
+ }
+ },
+ "node_modules/react-i18next": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.2.2.tgz",
+ "integrity": "sha512-+nFUkbRByFwnrfDcYqvzBuaeZb+nACHx+fAWN/pZMddWOCJH5hoc21+Sa/N/Lqi6ne6/9wC/qRGOoQhJa6IkEQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.22.5",
+ "html-parse-stringify": "^3.0.1"
+ },
+ "peerDependencies": {
+ "i18next": ">= 23.2.3",
+ "react": ">= 16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/react-refresh": {
+ "version": "0.14.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-window": {
+ "version": "1.8.9",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.0.0",
+ "memoize-one": ">=3.1.1 <6"
+ },
+ "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"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.11",
+ "license": "MIT"
+ },
+ "node_modules/reset-css": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/reset-css/-/reset-css-5.0.1.tgz",
+ "integrity": "sha512-VyuJdNFfp5x/W6e5wauJM59C02Vs0P22sxzZGhQMPaqu/NGTeFxlBFOOw3eq9vQd19gIDdZp7zi89ylyKOJ33Q=="
+ },
+ "node_modules/resize-observer-polyfill": {
+ "version": "1.5.1",
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.11.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.79.1",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/scroll-into-view-if-needed": {
+ "version": "2.2.31",
+ "license": "MIT",
+ "dependencies": {
+ "compute-scroll-into-view": "^1.0.20"
+ }
+ },
+ "node_modules/semver": {
+ "version": "6.3.0",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.9.5",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.11",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/utility-types": {
+ "version": "3.10.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/vite": {
+ "version": "3.2.7",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.15.9",
+ "postcss": "^8.4.18",
+ "resolve": "^1.22.1",
+ "rollup": "^2.79.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "license": "ISC"
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "dev": true,
+ "license": "ISC"
+ }
+ },
+ "dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.2.1",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.21.4",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.22.3",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.22.1",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.22.0",
+ "@babel/helper-compilation-targets": "^7.22.1",
+ "@babel/helper-module-transforms": "^7.22.1",
+ "@babel/helpers": "^7.22.0",
+ "@babel/parser": "^7.22.0",
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.2",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.22.3",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.22.3",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.18.6",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.22.1",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.22.0",
+ "@babel/helper-validator-option": "^7.21.0",
+ "browserslist": "^4.21.3",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.22.1",
+ "dev": true
+ },
+ "@babel/helper-function-name": {
+ "version": "7.21.0",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.20.7",
+ "@babel/types": "^7.21.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.21.4",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.4"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.22.1",
+ "dev": true,
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-simple-access": "^7.21.5",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.21.5",
+ "dev": true
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.21.5",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.21.5"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-string-parser": {
+ "version": "7.21.5",
+ "dev": true
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.19.1",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.21.0",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.22.3",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.21.9",
+ "@babel/traverse": "^7.22.1",
+ "@babel/types": "^7.22.3"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.18.6",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.22.4",
+ "dev": true
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.21.4",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@babel/plugin-transform-react-jsx": {
+ "version": "7.22.3",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-module-imports": "^7.21.4",
+ "@babel/helper-plugin-utils": "^7.21.5",
+ "@babel/plugin-syntax-jsx": "^7.21.4",
+ "@babel/types": "^7.22.3"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-development": {
+ "version": "7.18.6",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-transform-react-jsx": "^7.18.6"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-self": {
+ "version": "7.21.0",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.20.2"
+ }
+ },
+ "@babel/plugin-transform-react-jsx-source": {
+ "version": "7.19.6",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.19.0"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.23.1",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz",
+ "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==",
+ "requires": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ }
+ }
+ },
+ "@babel/runtime-corejs3": {
+ "version": "7.22.3",
+ "requires": {
+ "core-js-pure": "^3.30.2",
+ "regenerator-runtime": "^0.13.11"
+ }
+ },
+ "@babel/template": {
+ "version": "7.21.9",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/parser": "^7.21.9",
+ "@babel/types": "^7.21.5"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.22.4",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.21.4",
+ "@babel/generator": "^7.22.3",
+ "@babel/helper-environment-visitor": "^7.22.1",
+ "@babel/helper-function-name": "^7.21.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.22.4",
+ "@babel/types": "^7.22.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.22.4",
+ "dev": true,
+ "requires": {
+ "@babel/helper-string-parser": "^7.21.5",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@douyinfe/semi-animation": {
+ "version": "2.36.0",
+ "requires": {
+ "bezier-easing": "^2.1.0"
+ }
+ },
+ "@douyinfe/semi-animation-react": {
+ "version": "2.36.0",
+ "requires": {
+ "@douyinfe/semi-animation": "2.12.0",
+ "@douyinfe/semi-animation-styled": "2.23.2",
+ "classnames": "^2.2.6"
+ },
+ "dependencies": {
+ "@douyinfe/semi-animation": {
+ "version": "2.12.0",
+ "requires": {
+ "@babel/runtime-corejs3": "^7.15.4",
+ "bezier-easing": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@douyinfe/semi-animation-styled": {
+ "version": "2.23.2"
+ },
+ "@douyinfe/semi-foundation": {
+ "version": "2.38.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.38.0.tgz",
+ "integrity": "sha512-/Vefzrb3ZRSYw9agmUCWMoFFN8n/HmG0+/1TCCkUu7bbIxJE66aNUiJOJ+Ke4FLyFoQP1b8JsEYUa0e8BKHWaw==",
+ "requires": {
+ "@douyinfe/semi-animation": "2.38.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "memoize-one": "^5.2.1",
+ "scroll-into-view-if-needed": "^2.2.24"
+ },
+ "dependencies": {
+ "@douyinfe/semi-animation": {
+ "version": "2.38.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.38.0.tgz",
+ "integrity": "sha512-idrUPO/bb7mFm5Zn+095Tmh037P0kuKcDQZALzhS7axcvitCHD5Sk630LvZoxSOhnx9MA0nWVNCkezCUSN9KnA==",
+ "requires": {
+ "bezier-easing": "^2.1.0"
+ }
+ }
+ }
+ },
+ "@douyinfe/semi-icons": {
+ "version": "2.36.0",
+ "requires": {
+ "classnames": "^2.2.6"
+ }
+ },
+ "@douyinfe/semi-illustrations": {
+ "version": "2.36.0",
+ "requires": {}
+ },
+ "@douyinfe/semi-theme-default": {
+ "version": "2.36.0",
+ "requires": {
+ "glob": "^7.1.6"
+ }
+ },
+ "@douyinfe/semi-ui": {
+ "version": "2.36.0",
+ "requires": {
+ "@douyinfe/semi-animation": "2.36.0",
+ "@douyinfe/semi-animation-react": "2.36.0",
+ "@douyinfe/semi-foundation": "2.36.0",
+ "@douyinfe/semi-icons": "2.36.0",
+ "@douyinfe/semi-illustrations": "2.36.0",
+ "@douyinfe/semi-theme-default": "2.36.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "copy-text-to-clipboard": "^2.1.1",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "prop-types": "^15.7.2",
+ "react-resizable": "^1.8.0",
+ "react-sortable-hoc": "^2.0.0",
+ "react-window": "^1.8.2",
+ "resize-observer-polyfill": "^1.5.1",
+ "scroll-into-view-if-needed": "^2.2.24",
+ "utility-types": "^3.10.0"
+ },
+ "dependencies": {
+ "@douyinfe/semi-foundation": {
+ "version": "2.36.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.36.0.tgz",
+ "integrity": "sha512-lcDxviFlYdoq9KQTYQ0S+7x1ia8vWdu/uH3ACWAIZyUQ3W5Zd7pmDdmw9QsfQgdViJb9GnrejFrzgFEi4iEQjA==",
+ "requires": {
+ "@douyinfe/semi-animation": "2.12.0",
+ "async-validator": "^3.5.0",
+ "classnames": "^2.2.6",
+ "date-fns": "^2.29.3",
+ "date-fns-tz": "^1.3.8",
+ "lodash": "^4.17.21",
+ "memoize-one": "^5.2.1",
+ "scroll-into-view-if-needed": "^2.2.24"
+ },
+ "dependencies": {
+ "@douyinfe/semi-animation": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz",
+ "integrity": "sha512-OAfL9Nk38ZPqfdKm9k4cvVXXzm16ALI4LxGNZ0qfe2RCLLnYGB/hNzTctoTDjYD35dFv0yroh3qsXtZuP2xNdg==",
+ "requires": {
+ "@babel/runtime-corejs3": "^7.15.4",
+ "bezier-easing": "^2.1.0"
+ }
+ }
+ }
+ },
+ "react-resizable": {
+ "version": "1.11.1",
+ "requires": {
+ "prop-types": "15.x",
+ "react-draggable": "^4.0.3"
+ }
+ },
+ "react-sortable-hoc": {
+ "version": "2.0.0",
+ "requires": {
+ "@babel/runtime": "^7.2.0",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.5.7"
+ }
+ }
+ }
+ },
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "dev": true
+ },
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "dev": true
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "dev": true
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ },
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "dev": true
+ }
+ }
+ },
+ "@lark-base-open/js-sdk": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@lark-base-open/js-sdk/-/js-sdk-0.3.4.tgz",
+ "integrity": "sha512-akJA3mPbBRqcmWLb4wJZSmnM9F8GjXJolWrfn6YRLVfXOd2udyvw9q+Fj5kZaYv0W1tNvseDojZ6I3EhsAOboQ=="
+ },
+ "@types/prop-types": {
+ "version": "15.7.5",
+ "dev": true
+ },
+ "@types/react": {
+ "version": "18.2.8",
+ "dev": true,
+ "requires": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "@types/react-dom": {
+ "version": "18.2.4",
+ "dev": true,
+ "requires": {
+ "@types/react": "*"
+ }
+ },
+ "@types/scheduler": {
+ "version": "0.16.3",
+ "dev": true
+ },
+ "@vitejs/plugin-react": {
+ "version": "2.2.0",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.19.6",
+ "@babel/plugin-transform-react-jsx": "^7.19.0",
+ "@babel/plugin-transform-react-jsx-development": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
+ "magic-string": "^0.26.7",
+ "react-refresh": "^0.14.0"
+ }
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "async-validator": {
+ "version": "3.5.2"
+ },
+ "balanced-match": {
+ "version": "1.0.2"
+ },
+ "bezier-easing": {
+ "version": "2.1.0"
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "4.21.7",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001489",
+ "electron-to-chromium": "^1.4.411",
+ "node-releases": "^2.0.12",
+ "update-browserslist-db": "^1.0.11"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001495",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "classnames": {
+ "version": "2.3.2"
+ },
+ "clsx": {
+ "version": "1.2.1"
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "dev": true
+ },
+ "compute-scroll-into-view": {
+ "version": "1.0.20"
+ },
+ "concat-map": {
+ "version": "0.0.1"
+ },
+ "convert-source-map": {
+ "version": "1.9.0",
+ "dev": true
+ },
+ "copy-text-to-clipboard": {
+ "version": "2.2.0"
+ },
+ "core-js-pure": {
+ "version": "3.30.2"
+ },
+ "csstype": {
+ "version": "3.1.2",
+ "dev": true
+ },
+ "date-fns": {
+ "version": "2.30.0",
+ "requires": {
+ "@babel/runtime": "^7.21.0"
+ }
+ },
+ "date-fns-tz": {
+ "version": "1.3.8",
+ "requires": {}
+ },
+ "debug": {
+ "version": "4.3.4",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.421",
+ "dev": true
+ },
+ "esbuild": {
+ "version": "0.15.18",
+ "dev": true,
+ "requires": {
+ "@esbuild/android-arm": "0.15.18",
+ "@esbuild/linux-loong64": "0.15.18",
+ "esbuild-android-64": "0.15.18",
+ "esbuild-android-arm64": "0.15.18",
+ "esbuild-darwin-64": "0.15.18",
+ "esbuild-darwin-arm64": "0.15.18",
+ "esbuild-freebsd-64": "0.15.18",
+ "esbuild-freebsd-arm64": "0.15.18",
+ "esbuild-linux-32": "0.15.18",
+ "esbuild-linux-64": "0.15.18",
+ "esbuild-linux-arm": "0.15.18",
+ "esbuild-linux-arm64": "0.15.18",
+ "esbuild-linux-mips64le": "0.15.18",
+ "esbuild-linux-ppc64le": "0.15.18",
+ "esbuild-linux-riscv64": "0.15.18",
+ "esbuild-linux-s390x": "0.15.18",
+ "esbuild-netbsd-64": "0.15.18",
+ "esbuild-openbsd-64": "0.15.18",
+ "esbuild-sunos-64": "0.15.18",
+ "esbuild-windows-32": "0.15.18",
+ "esbuild-windows-64": "0.15.18",
+ "esbuild-windows-arm64": "0.15.18"
+ }
+ },
+ "esbuild-linux-64": {
+ "version": "0.15.18",
+ "dev": true,
+ "optional": true
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0"
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.2.3",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "requires": {
+ "void-elements": "3.1.0"
+ }
+ },
+ "i18next": {
+ "version": "23.5.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.5.1.tgz",
+ "integrity": "sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==",
+ "requires": {
+ "@babel/runtime": "^7.22.5"
+ }
+ },
+ "i18next-browser-languagedetector": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz",
+ "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==",
+ "requires": {
+ "@babel/runtime": "^7.19.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4"
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.12.1",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0"
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.3",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.21"
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "dev": true,
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.26.7",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "memoize-one": {
+ "version": "5.2.1"
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "3.3.6",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "2.0.12",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1"
+ },
+ "once": {
+ "version": "1.4.0",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1"
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "postcss": {
+ "version": "8.4.24",
+ "dev": true,
+ "requires": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "prop-types": {
+ "version": "15.8.1",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "react": {
+ "version": "18.2.0",
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "react-dom": {
+ "version": "18.2.0",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ }
+ },
+ "react-draggable": {
+ "version": "4.4.5",
+ "requires": {
+ "clsx": "^1.1.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "react-i18next": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.2.2.tgz",
+ "integrity": "sha512-+nFUkbRByFwnrfDcYqvzBuaeZb+nACHx+fAWN/pZMddWOCJH5hoc21+Sa/N/Lqi6ne6/9wC/qRGOoQhJa6IkEQ==",
+ "requires": {
+ "@babel/runtime": "^7.22.5",
+ "html-parse-stringify": "^3.0.1"
+ }
+ },
+ "react-is": {
+ "version": "16.13.1"
+ },
+ "react-refresh": {
+ "version": "0.14.0",
+ "dev": true
+ },
+ "react-window": {
+ "version": "1.8.9",
+ "requires": {
+ "@babel/runtime": "^7.0.0",
+ "memoize-one": ">=3.1.1 <6"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.11"
+ },
+ "reset-css": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/reset-css/-/reset-css-5.0.1.tgz",
+ "integrity": "sha512-VyuJdNFfp5x/W6e5wauJM59C02Vs0P22sxzZGhQMPaqu/NGTeFxlBFOOw3eq9vQd19gIDdZp7zi89ylyKOJ33Q=="
+ },
+ "resize-observer-polyfill": {
+ "version": "1.5.1"
+ },
+ "resolve": {
+ "version": "1.22.2",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.11.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "rollup": {
+ "version": "2.79.1",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "scheduler": {
+ "version": "0.23.0",
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "scroll-into-view-if-needed": {
+ "version": "2.2.31",
+ "requires": {
+ "compute-scroll-into-view": "^1.0.20"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "dev": true
+ },
+ "source-map-js": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "typescript": {
+ "version": "4.9.5",
+ "dev": true
+ },
+ "update-browserslist-db": {
+ "version": "1.0.11",
+ "dev": true,
+ "requires": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "utility-types": {
+ "version": "3.10.0"
+ },
+ "vite": {
+ "version": "3.2.7",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.15.9",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.4.18",
+ "resolve": "^1.22.1",
+ "rollup": "^2.79.1"
+ }
+ },
+ "void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w=="
+ },
+ "wrappy": {
+ "version": "1.0.2"
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..17f9ebe
--- /dev/null
+++ b/package.json
@@ -0,0 +1,32 @@
+{
+ "name": "react-emplate",
+ "version": "1.0.0",
+ "type": "module",
+ "description": "React TypeScript on Replit, using Vite bundler",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "@types/react": "^18.0.15",
+ "@types/react-dom": "^18.0.6",
+ "@vitejs/plugin-react": "^2.0.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "typescript": "^4.7.4",
+ "vite": "^3.0.4"
+ },
+ "dependencies": {
+ "@douyinfe/semi-foundation": "^2.38.0",
+ "@douyinfe/semi-ui": "^2.36.0",
+ "@lark-base-open/js-sdk": "^0.3.0",
+ "i18next": "^23.5.1",
+ "i18next-browser-languagedetector": "^7.1.0",
+ "react-i18next": "^13.2.2",
+ "reset-css": "^5.0.1"
+ }
+}
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000..de4aedd
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,15 @@
+
diff --git a/replit.nix b/replit.nix
new file mode 100644
index 0000000..962c864
--- /dev/null
+++ b/replit.nix
@@ -0,0 +1,8 @@
+{ pkgs }: {
+ deps = [
+ pkgs.nodejs-16_x
+ pkgs.nodePackages.typescript-language-server
+ pkgs.yarn
+ pkgs.replitPackages.jest
+ ];
+}
\ No newline at end of file
diff --git a/src/App.css b/src/App.css
new file mode 100644
index 0000000..b086105
--- /dev/null
+++ b/src/App.css
@@ -0,0 +1,12 @@
+@import 'reset-css';
+
+.main {
+ padding: 1.5rem 1rem 1rem;
+}
+.main h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+.main code {
+ color: #d63384;
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
+}
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..52a1bcf
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,73 @@
+import './App.css';
+import { bitable, TableMeta } from "@lark-base-open/js-sdk";
+import { Button, Form } from '@douyinfe/semi-ui';
+import { BaseFormApi } from '@douyinfe/semi-foundation/lib/es/form/interface';
+import { useState, useEffect, useRef, useCallback } from 'react';
+
+export default function App() {
+ const [tableMetaList, setTableMetaList] = useState();
+ const formApi = useRef();
+ const addRecord = useCallback(async ({ table: tableId }: { table: string }) => {
+ if (tableId) {
+ const table = await bitable.base.getTableById(tableId);
+ table.addRecord({
+ fields: {},
+ });
+ }
+ }, []);
+ useEffect(() => {
+ Promise.all([bitable.base.getTableMetaList(), bitable.base.getSelection()])
+ .then(([metaList, selection]) => {
+ setTableMetaList(metaList);
+ formApi.current?.setValues({ table: selection.tableId });
+ });
+ }, []);
+
+ return (
+
+
+ Edit src/App.tsx
and save to reload
+
+
+
+
+
+
+
+
+ {
+ Array.isArray(tableMetaList) && tableMetaList.map(({ name, id }) => {
+ return (
+
+ {name}
+
+ );
+ })
+ }
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/LoadApp/index.tsx b/src/components/LoadApp/index.tsx
new file mode 100644
index 0000000..975b8d0
--- /dev/null
+++ b/src/components/LoadApp/index.tsx
@@ -0,0 +1,37 @@
+import { ReactElement, useEffect, useState } from "react"
+import { bitable } from "@lark-base-open/js-sdk"
+import './style.css'
+
+export default function LoadApp(props: { neverShowBanner?: boolean, children: ReactElement }): ReactElement {
+ const [loadErr, setLoadErr] = useState(false)
+
+ const TopBanner =
+
+ After running the project, please get the webview address and paste it into the Base table "Extended Script" for use. See:
+
Development Guide
+
+
+ useEffect(() => {
+ if (props.neverShowBanner) return;
+ const timer = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ reject(false)
+ }, 3000)
+ })
+ Promise.race([bitable.bridge.getLanguage(), timer]).then((v) => {
+ setLoadErr(false)
+ }).catch(() => {
+ setLoadErr(true)
+ })
+ }, [])
+
+ if (props.neverShowBanner) {
+ return props.children || null
+ }
+
+ return
+ {loadErr && TopBanner}
+ {props.children}
+
+}
+
diff --git a/src/components/LoadApp/style.css b/src/components/LoadApp/style.css
new file mode 100644
index 0000000..04a7c06
--- /dev/null
+++ b/src/components/LoadApp/style.css
@@ -0,0 +1,6 @@
+.errTop{
+ padding: 14px;
+ background: #fffbe6;
+ border: 1px solid #ffe58f;
+ border-radius: 8px
+}
\ No newline at end of file
diff --git a/src/index.tsx b/src/index.tsx
new file mode 100644
index 0000000..3ddb0df
--- /dev/null
+++ b/src/index.tsx
@@ -0,0 +1,8 @@
+import ReactDOM from 'react-dom/client'
+import './App.css';
+import App from './App';
+import LoadApp from './components/LoadApp';
+// import './locales/i18n' // 支持国际化
+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render()
+
+
diff --git a/src/locales/en.json b/src/locales/en.json
new file mode 100644
index 0000000..fdd4c7e
--- /dev/null
+++ b/src/locales/en.json
@@ -0,0 +1,3 @@
+{
+ "title":"这是英文标题"
+}
\ No newline at end of file
diff --git a/src/locales/i18n.ts b/src/locales/i18n.ts
new file mode 100644
index 0000000..379acfb
--- /dev/null
+++ b/src/locales/i18n.ts
@@ -0,0 +1,34 @@
+import i18n from 'i18next';
+import { initReactI18next } from 'react-i18next';
+import LanguageDetector from 'i18next-browser-languagedetector';
+import { bitable } from '@lark-base-open/js-sdk';
+import translationEN from './en.json';
+import translationZH from './zh.json';
+
+const resources = {
+ zh: {
+ translation: translationZH,
+ },
+ en: {
+ translation: translationEN,
+ },
+};
+
+i18n
+ .use(LanguageDetector)
+ .use(initReactI18next)
+ .init({
+ resources,
+ fallbackLng: 'en', // 指定降级文案为英文
+ interpolation: {
+ escapeValue: false,
+ },
+ });
+
+bitable.bridge.getLanguage().then((lng) => {
+ if (i18n.language !== lng) {
+ i18n.changeLanguage(lng);
+ }
+});
+
+export default i18n;
diff --git a/src/locales/zh.json b/src/locales/zh.json
new file mode 100644
index 0000000..3664607
--- /dev/null
+++ b/src/locales/zh.json
@@ -0,0 +1,3 @@
+{
+ "title":"这是中文标题"
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..3d0a51a
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "allowJs": false,
+ "skipLibCheck": true,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "references": [{ "path": "./tsconfig.node.json" }]
+}
diff --git a/tsconfig.node.json b/tsconfig.node.json
new file mode 100644
index 0000000..9d31e2a
--- /dev/null
+++ b/tsconfig.node.json
@@ -0,0 +1,9 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..1f880d7
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,11 @@
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ base: './',
+ plugins: [react()],
+ server: {
+ host: '0.0.0.0',
+ }
+})