diff --git a/.github/workflows/releases-demo.yml b/.github/workflows/releases-demo.yml new file mode 100644 index 0000000..7c4d7a0 --- /dev/null +++ b/.github/workflows/releases-demo.yml @@ -0,0 +1,52 @@ +# 将静态内容部署到 GitHub Pages 的简易工作流程 +name: RELEASES DEMO + +on: + # 仅在推送到默认分支时触发工作流 + push: + branches: + - main + + # 这个选项可以使你手动在 Action tab 页面触发工作流 + workflow_dispatch: + +# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages。 +permissions: + contents: read + pages: write + id-token: write + +# 允许一个并发的部署 +concurrency: + group: 'pages' + cancel-in-progress: true + +jobs: + # 单次部署的工作描述 + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: 'npm' + - name: Install dependencies and build + run: | + npm ci + npm run build + - name: Setup Pages + uses: actions/configure-pages@v4 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload dist folder + path: '/demo-stdf/build/' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..93c146e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 dufu1991 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..70749a1 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# STDF Demo + +## Introduction + +This is a demo project for [STDF](https://stdf.design). + +It is built with [SvelteKit](https://kit.svelte.dev) + [Tailwind CSS](https://tailwindcss.com) + [STDF](https://stdf.design) . + +## Getting Started + +Install the dependencies... + +```bash +pnpm i +# or +npm i +# or +bun i +``` + +Start the development server... + +```bash +pnpm dev +# or +npm run dev +# or +bun dev +``` + +If you wish to start the development server with different components or in English language, please refer to the scripts section in `package.json`. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a757ede --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3191 @@ +{ + "name": "demo-stdf", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "demo-stdf", + "version": "0.0.1", + "dependencies": { + "svelte-confetti": "^1.3.2" + }, + "devDependencies": { + "@sveltejs/adapter-static": "^3.0.1", + "@sveltejs/kit": "^2.5.4", + "@sveltejs/vite-plugin-svelte": "^3.0.2", + "autoprefixer": "^10.4.19", + "postcss": "^8.4.38", + "rollup-plugin-stdf-icon": "^0.0.15", + "stdf": "^0.4.6", + "svelte": "^4.2.12", + "tailwindcss": "^3.4.1", + "vite": "^5.2.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.2.tgz", + "integrity": "sha512-/EBFydZDwfwFfFEuF1vzUseBoRziwKP7AoHAwv+Ot3M084sE/HTVBHf9mCmXfdM9ijprY5YEugZjleflncX5fQ==", + "dev": true, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.5.20", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.20.tgz", + "integrity": "sha512-47rJ5BoYwURE/Rp7FNMLp3NzdbWC9DQ/PmKd0mebxT2D/PrPxZxcLImcD3zsWdX2iS6oJk8ITJbO/N2lWnnUqA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^0.6.0", + "devalue": "^5.0.0", + "esm-env": "^1.0.0", + "import-meta-resolve": "^4.1.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^2.0.4", + "tiny-glob": "^0.2.9" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz", + "integrity": "sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==", + "dev": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.10", + "svelte-hmr": "^0.16.0", + "vitefu": "^0.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", + "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001650", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001650.tgz", + "integrity": "sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==", + "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" + } + ] + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "dev": true, + "dependencies": { + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", + "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", + "dev": true, + "dependencies": { + "css-select": "^4.3.0", + "css-what": "^6.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.3.1", + "domutils": "^2.8.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/devalue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz", + "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esm-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", + "dev": true + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.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/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-stdf-icon": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/rollup-plugin-stdf-icon/-/rollup-plugin-stdf-icon-0.0.15.tgz", + "integrity": "sha512-kwlTaCpHOrsgVddlcoK+1hhnKYBYcqmbUvpAP96x4pTnMgHE46m3K9RhyBfW8ygXPrDEsFWhsK8qALdJ2+bpvw==", + "dev": true, + "dependencies": { + "fs-extra": "^11.1.1", + "svgo": "^3.0.2", + "svgstore": "^3.0.1" + }, + "engines": { + "node": ">=14.14" + }, + "funding": { + "url": "https://stdf.design?fund" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz", + "integrity": "sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stdf": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/stdf/-/stdf-0.4.6.tgz", + "integrity": "sha512-UwZWefwSykltbMSFw1pJFyw4Kk7+CzH1d1BC2ik8pbVkg8OBUC3iPfiyQqPeoC7JQuR4cYxw2/dIl/lWkr8Ukg==", + "dev": true, + "funding": { + "url": "https://stdf.design?fund" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz", + "integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-confetti": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/svelte-confetti/-/svelte-confetti-1.4.0.tgz", + "integrity": "sha512-B0woNwpsFGwhkEoP48BIDQgvW0bMxPhavLVD+E+tsTWevlpr1aiz1S2wA8ArIXX957BiaZWHRHKmI5/pFRDbdg==", + "peerDependencies": { + "svelte": "^4.0.0" + } + }, + "node_modules/svelte-hmr": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", + "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", + "dev": true, + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgstore": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svgstore/-/svgstore-3.0.1.tgz", + "integrity": "sha512-nL6WTxYnsVl3e0G/mwGEFSnPAWUrzIwHAPOwInD4QUuLDKxaKMnXduf0Ipw3m/g9AldPhp1Y8E/nkReFBukJrA==", + "dev": true, + "dependencies": { + "cheerio": "v1.0.0-rc.10" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.8.tgz", + "integrity": "sha512-GkP17r9GQkxgZ9FKHJQEnjJuKBcbFhMFzKu5slmN6NjlCuFnYJMQ8N4AZ6VrUyiRXlDtPKHkesuQ/MS913Nvdg==", + "dev": 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.0", + "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.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "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" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", + "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.40", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..32e4dd8 --- /dev/null +++ b/package.json @@ -0,0 +1,102 @@ +{ + "name": "demo-stdf", + "version": "0.0.1", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "dev_en": "vite --mode english", + "button": "vite --mode button", + "icon": "vite --mode icon", + "navBar": "vite --mode navBar", + "divider": "vite --mode divider", + "cell": "vite --mode cell", + "switch": "vite --mode switch", + "avatar": "vite --mode avatar", + "tabs": "vite --mode tabs", + "tabBar": "vite --mode tabBar", + "steps": "vite --mode steps", + "indexBar": "vite --mode indexBar", + "radio": "vite --mode radio", + "checkbox": "vite --mode checkbox", + "input": "vite --mode input", + "grids": "vite --mode grids", + "swiper": "vite --mode swiper", + "placeholder": "vite --mode placeholder", + "skeleton": "vite --mode skeleton", + "rate": "vite --mode rate", + "slider": "vite --mode slider", + "badge": "vite --mode badge", + "noticeBar": "vite --mode noticeBar", + "progress": "vite --mode progress", + "progressLoop": "vite --mode progressLoop", + "mask": "vite --mode mask", + "toast": "vite --mode toast", + "loading": "vite --mode loading", + "popup": "vite --mode popup", + "bottomSheet": "vite --mode bottomSheet", + "modal": "vite --mode modal", + "dialog": "vite --mode dialog", + "actionSheet": "vite --mode actionSheet", + "picker": "vite --mode picker", + "asyncPicker": "vite --mode asyncPicker", + "timePicker": "vite --mode timePicker", + "calendar": "vite --mode calendar", + "pagination": "vite --mode pagination", + "numKeyboard": "vite --mode numKeyboard", + "button_en": "vite --mode button_en", + "icon_en": "vite --mode icon_en", + "navBar_en": "vite --mode navBar_en", + "divider_en": "vite --mode divider_en", + "cell_en": "vite --mode cell_en", + "switch_en": "vite --mode switch_en", + "avatar_en": "vite --mode avatar_en", + "tabs_en": "vite --mode tabs_en", + "tabBar_en": "vite --mode tabBar_en", + "steps_en": "vite --mode steps_en", + "indexBar_en": "vite --mode indexBar_en", + "radio_en": "vite --mode radio_en", + "checkbox_en": "vite --mode checkbox_en", + "input_en": "vite --mode input_en", + "grids_en": "vite --mode grids_en", + "swiper_en": "vite --mode swiper_en", + "placeholder_en": "vite --mode placeholder_en", + "skeleton_en": "vite --mode skeleton_en", + "rate_en": "vite --mode rate_en", + "slider_en": "vite --mode slider_en", + "badge_en": "vite --mode badge_en", + "noticeBar_en": "vite --mode noticeBar_en", + "progress_en": "vite --mode progress_en", + "progressLoop_en": "vite --mode progressLoop_en", + "mask_en": "vite --mode mask_en", + "toast_en": "vite --mode toast_en", + "loading_en": "vite --mode loading_en", + "popup_en": "vite --mode popup_en", + "bottomSheet_en": "vite --mode bottomSheet_en", + "modal_en": "vite --mode modal_en", + "dialog_en": "vite --mode dialog_en", + "actionSheet_en": "vite --mode actionSheet_en", + "picker_en": "vite --mode picker_en", + "asyncPicker_en": "vite --mode asyncPicker_en", + "timePicker_en": "vite --mode timePicker_en", + "calendar_en": "vite --mode calendar_en", + "pagination_en": "vite --mode pagination_en", + "numKeyboard_en": "vite --mode numKeyboard_en" + }, + "devDependencies": { + "@sveltejs/adapter-static": "^3.0.1", + "@sveltejs/kit": "^2.5.4", + "@sveltejs/vite-plugin-svelte": "^3.0.2", + "autoprefixer": "^10.4.19", + "postcss": "^8.4.38", + "rollup-plugin-stdf-icon": "^0.0.15", + "stdf": "^0.4.6", + "svelte": "^4.2.12", + "tailwindcss": "^3.4.1", + "vite": "^5.2.3" + }, + "type": "module", + "dependencies": { + "svelte-confetti": "^1.3.2" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..7b75c83 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/scripts/Refresh-auto.py b/scripts/Refresh-auto.py new file mode 100644 index 0000000..a5cea63 --- /dev/null +++ b/scripts/Refresh-auto.py @@ -0,0 +1,293 @@ +#!/usr/bin/env python3 +# coding=utf-8 +# __author__ = 'hanli.zyb' +# __date__ = '2021-04-23' + +'''Check Package''' + +try: + import os, re, sys, getopt, time, json, logging + from aliyunsdkcore.client import AcsClient + from aliyunsdkcore.acs_exception.exceptions import ClientException + from aliyunsdkcore.acs_exception.exceptions import ServerException + from aliyunsdkcdn.request.v20180510.RefreshObjectCachesRequest import RefreshObjectCachesRequest + from aliyunsdkcdn.request.v20180510.PushObjectCacheRequest import PushObjectCacheRequest + from aliyunsdkcdn.request.v20180510.DescribeRefreshTasksRequest import DescribeRefreshTasksRequest + from aliyunsdkcdn.request.v20180510.DescribeRefreshQuotaRequest import DescribeRefreshQuotaRequest +except: + sys.exit("[error] Please pip install aliyun-python-sdk-cdn and aliyun-python-sdk-core and logging,please install now......") +logging.basicConfig(level=logging.DEBUG, filename='./RefreshAndPredload.log') + +class Envariable(object): + LISTS = [] + REGION = 'cn-zhangzhou' + AK = os.environ.get("ALIYUN_CDN_AK") + SK = os.environ.get("ALIYUN_CDN_SK") + FD = None + CLI = None + TASK_TYPE = None + TASK_AREA = None + TASK_OTYPE = None + + def set_ak(ak): + Envariable.AK = ak + + def get_ak(): + return Envariable.AK + + def set_sk(sk): + Envariable.SK = sk + + def get_sk(): + return Envariable.SK + + def set_fd(fd): + Envariable.FD = fd + + def get_fd(): + return Envariable.FD + + def set_task_type(task_type): + Envariable.TASK_TYPE = task_type + + def get_task_type(): + return Envariable.TASK_TYPE + + def set_task_area(task_area): + Envariable.TASK_AREA = task_area + + def get_task_area(): + return Envariable.TASK_AREA + + def set_task_otype(task_otype): + Envariable.TASK_OTYPE = task_otype + + def get_task_otype(): + return Envariable.TASK_OTYPE + + def set_acs_client(): + Envariable.CLI = AcsClient(Envariable.get_ak(), Envariable.get_sk(), Envariable.REGION) + + def get_acs_client(): + return Envariable.CLI + +class InitHandler(object): + def __init__(self,ak,sk,region): + try: + self.client = AcsClient(self,Envariable.get_ak(),Envariable.get_sk(),Envariable.REGION) + except Exception: + logging.info("[error]: initial AcsClient failed") and exit(1) + +class BaseCheck(object): + + def __init__(self): + self.invalidurl = '' + self.lines = 0 + self.urllist = Envariable.get_fd() + + def printQuota(self): + + try: + if Envariable.get_acs_client(): + client = Envariable.get_acs_client() + else: + Envariable.set_acs_client() + client = Envariable.get_acs_client() + quotas = DescribeRefreshQuotaRequest() + quotaResp = json.loads(Envariable.get_acs_client().do_action_with_exception(quotas)) + except Exception as e: + logging.info("\n[error]: initial AcsClient failed\n") and sys.exit(1) + + if Envariable.TASK_TYPE: + if Envariable.TASK_TYPE == 'push': + if self.lines > int(quotaResp['PreloadRemain']): + sys.exit("\n[error]:PreloadRemain is not enough {0}".format(quotaResp['PreloadRemain'])) + return True + if Envariable.TASK_TYPE == 'clear': + if Envariable.get_task_otype() == 'File' and self.lines > int(quotaResp['UrlRemain']): + sys.exit("\n[error]:UrlRemain is not enough {0}".format(quotaResp['UrlRemain'])) + elif Envariable.get_task_otype() == 'Directory' and self.lines > int(quotaResp['DirRemain']): + sys.exit("\n[error]:DirRemain is not enough {0}".format(quotaResp['DirRemain'])) + else: + return True + + def urlFormat(self): + with open(self.urllist, "r") as f: + for line in f.readlines(): + self.lines += 1 + if not re.match(r'^((https)|(http))',line): + self.invalidurl = line + '\n' + self.invalidurl + if self.invalidurl != '': + sys.exit("\n[error]: URL format is illegal \n{0}".format(self.invalidurl)) + return True + +class doTask(object): + + def urlencode_pl(inputs_str): + len_str = len(inputs_str) + if str == "" or len_str <= 0: + return "" + index_j = 0 + index_i = 0 + result_end = "" + for index_i in range(0, len_str): + index_sb = index_i + 1 + chs = inputs_str[index_i:index_sb] + if (chs >= 'A' and chs <= 'Z') or (chs >= 'a' and chs <= 'z') or (chs >= '0' and chs <= '9') or ( + chs == ":") or (chs == "/"): + if result_end == "": + result_end = chs + else: + result_end += chs + elif chs == ' ': + result_end += '+' + elif chs == '.' or chs == '-' or chs == '_' or chs == '*': + result_end += chs + else: + result_end = '%s%%%02X' % (result_end, ord(chs)) + + return result_end + + def doProd(self): + gop = 100 + mins = 1 + maxs = gop + with open(Envariable.get_fd(), "r") as f: + for line in f.readlines(): + if mins != maxs: + line = line.strip("\n") + "\n" + else: + line = line.strip("\n") + line = line.strip() + line = doTask.urlencode_pl(line) + "\n" + Envariable.LISTS.append(line) + if mins >= maxs: + yield Envariable.LISTS + mins = maxs + maxs = gop + maxs - 1 + else: + mins += 1 + if len(Envariable.LISTS) > 0: yield Envariable.LISTS + + def doRefresh(lists): + try: + if Envariable.get_acs_client(): + client = Envariable.get_acs_client() + else: + Envariable.set_acs_client() + client = Envariable.get_acs_client() + if Envariable.get_task_type() == 'clear': + taskID = 'RefreshTaskId' + request = RefreshObjectCachesRequest() + if Envariable.get_task_otype(): + request.set_ObjectType(Envariable.get_task_otype()) + elif Envariable.get_task_type() == 'push': + taskID = 'PushTaskId' + request = PushObjectCacheRequest() + if Envariable.get_task_area(): + request.set_Area(Envariable.get_task_area()) + taskreq = DescribeRefreshTasksRequest() + request.set_accept_format('json') + request.set_ObjectPath(lists) + response = json.loads(client.do_action_with_exception(request)) + print(response) + timeout = 0 + while True: + count = 0 + taskreq.set_accept_format('json') + taskreq.set_TaskId(int(response[taskID])) + taskresp = json.loads(client.do_action_with_exception(taskreq)) + print("[" + response[taskID] + "]" + "is doing... ...") + for t in taskresp['Tasks']['CDNTask']: + if t['Status'] != 'Complete': + count += 1 + if count == 0: + logging.info("[" + response[taskID] + "]" + "is finish") + break + elif timeout > 5: + logging.info("[" + response[taskID] + "]" + "timeout") + break + else: + timeout += 1 + time.sleep(5) + continue + except Exception as e: + logging.info("\n[error]:%s",e) and sys.exit(1) + +class Refresh(object): + + def main(self,argv): + if len(argv) < 1: + sys.exit("\n[usage]: " + sys.argv[0] + " -h ") + try: + opts, args = getopt.getopt(argv, "hi:k:n:r:t:a:o:") + except Exception as e: + sys.exit("\n[usage]: " + sys.argv[0] + " -h ") + + for opt, arg in opts: + if opt == '-h': + self.helps() + sys.exit() + # elif opt == '-i': + # Envariable.set_ak(arg) + # elif opt == '-k': + # Envariable.set_sk(arg) + elif opt == '-r': + Envariable.set_fd(arg) + elif opt == '-t': + Envariable.set_task_type(arg) + elif opt == '-a': + Envariable.set_task_area(arg) + elif opt == '-o': + Envariable.set_task_otype(arg) + elif opt == '-q': + Envariable.set_task_id(arg) + else: + sys.exit("\n[usage]: " + sys.argv[0] + " -h \n") + + try: + if not (Envariable.get_ak() and Envariable.get_sk() and Envariable.get_fd() and Envariable.get_task_type()): + sys.exit("\n[error]: Must be by parameter '-i', '-k', '-r', '-t'\n") + + if not (Envariable.get_task_type() in ("push", "clear")): + sys.exit("\n[error]: taskType Error, '-t' option in 'push' or 'clear'\n") + + if Envariable.get_task_area() and Envariable.get_task_otype(): + sys.exit("\n[error]: -a and -o cannot exist at same time\n") + + if Envariable.get_task_area(): + if not Envariable.get_task_area() in ("domestic","overseas"): + sys.exit("\n[error]: Area value Error, '-a' option in 'domestic' or 'overseas'\n") + + if Envariable.get_task_otype(): + if not Envariable.get_task_otype() in ("File", "Directory"): + sys.exit("\n[error]: ObjectType value Error, '-a' options in 'File' or 'Directory'\n") + if Envariable.get_task_type() == 'push': + sys.exit("\n[error]: -t must be clear and 'push' -a use together\n") + except Exception as e: + logging.info("\n[error]: Parameter {0} error\n".format(str(e))) and sys.exit(1) + + handler = BaseCheck() + if handler.urlFormat() and handler.printQuota(): + for g in doTask.doProd(Envariable.get_fd()): + Envariable.LISTS = [] + doTask.doRefresh(''.join(g)) + time.sleep(1) + + def helps(self): + print("\nscript options explain: \ + \n\t -i 访问阿里云凭证,访问控制台上可以获得; \ + \n\t -k 访问阿里云密钥,访问控制台上可以获得; \ + \n\t -r filename指“文件所在的路径+文件名称”,自动化脚本运行后将会读取文件内记录的URL;文件内的URL记录方式为每行一条URL,有特殊字符先做URLencode,以http或https开头; \ + \n\t -t 任务类型,clear:刷新,push:预热; \ + \n\t -a [String, 可选项,预热范围,不传默认是全球;\ + \n\t domestic 仅中国内地; \ + \n\t overseas 全球(不包含中国内地); \ + \n\t -o [String,] 可选项,刷新的类型; \ + \n\t File 文件刷新(默认值); \ + \n\t Directory 目录刷新") + +#TODO +if __name__ == '__main__': + fun = Refresh() + fun.main(sys.argv[1:]) \ No newline at end of file diff --git a/scripts/cdn-list.txt b/scripts/cdn-list.txt new file mode 100644 index 0000000..3cb4d60 --- /dev/null +++ b/scripts/cdn-list.txt @@ -0,0 +1 @@ +https://demo.stdf.design/ \ No newline at end of file diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..8f4da4f --- /dev/null +++ b/src/app.css @@ -0,0 +1,74 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --theme-color-primary-50: 245, 248, 255; + --theme-color-primary-100: 232, 238, 255; + --theme-color-primary-200: 187, 203, 254; + --theme-color-primary-300: 143, 165, 253; + --theme-color-primary-400: 99, 124, 253; + --theme-color-primary-500: 55, 81, 252; + --theme-color-primary: 11, 36, 251; + --theme-color-primary-700: 7, 20, 207; + --theme-color-primary-800: 4, 9, 164; + --theme-color-primary-900: 1, 1, 120; + --theme-color-primary-950: 3, 0, 77; + --theme-color-dark-50: 255, 254, 245; + --theme-color-dark-100: 255, 251, 232; + --theme-color-dark-200: 255, 244, 199; + --theme-color-dark-300: 255, 234, 166; + --theme-color-dark-400: 255, 222, 133; + --theme-color-dark-500: 255, 209, 100; + --theme-color-dark: 255, 192, 67; + --theme-color-dark-700: 210, 148, 41; + --theme-color-dark-800: 166, 108, 22; + --theme-color-dark-900: 121, 72, 8; + --theme-color-dark-950: 77, 41, 0; + --theme-color-primaryBlack: 1, 3, 25; + --theme-color-primaryWhite: 242, 242, 243; + --theme-color-darkBlack: 25, 17, 1; + --theme-color-darkWhite: 243, 242, 242; + --theme-color-functional-success: 17, 187, 141; + --theme-color-functional-warning: 185, 80, 0; + --theme-color-functional-error: 218, 20, 20; + --theme-color-functional-info: 46, 90, 172; + --theme-color-extend0: 0, 172, 238; + --theme-color-extend1: 255, 105, 55; + --theme-color-extend2: 0, 112, 74; + } +} + +@font-face { + font-family: 'Trueno'; + src: url('/fonts/Trueno.otf') format('opentype'); +} + +*::-webkit-scrollbar { + width: 6px; +} +*::-webkit-scrollbar-thumb { + border-radius: 3px; + background-color: rgba(133, 133, 133, 0.3); +} +*::-webkit-scrollbar-track { + background-color: rgba(133, 133, 133, 0.1); +} +html { + overflow-y: overlay; + -webkit-tap-highlight-color: transparent; + scrollbar-width: none; /* Firefox */ +} +body::-webkit-scrollbar { + display: none; +} +body { + -ms-overflow-style: none; +} +* { + -webkit-overflow-scrolling: touch; +} +button:focus { + outline: none; +} diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..5c5d70f --- /dev/null +++ b/src/app.html @@ -0,0 +1,18 @@ + + + + + + + + + STDF Demo + %sveltekit.head% + + + +
%sveltekit.body%
+ + + \ No newline at end of file diff --git a/src/data/aphorisms.js b/src/data/aphorisms.js new file mode 100644 index 0000000..8b4cef7 --- /dev/null +++ b/src/data/aphorisms.js @@ -0,0 +1,51 @@ +export default [ + // 中文 + { text: '爱是永恒不变的力量,能够超越所有维度,当我归来,你已垂暮,我一次呼吸划过了你一辈子的岁月。', from: '—— 《星际穿越》' }, + { text: '爱一朵花不猜它能开多久,放宽了心情,把什么都变美了。', from: '—— 郭静《在树上唱歌》' }, + { text: '不是所有的坚持都有结果,但是总有一些坚持,能从一寸冰封的土地里,培育出十万朵怒放的蔷薇。', from: '—— 八月长安《最好的我们》' }, + { text: '当没有任何一个人信任你的时候,沉默和坚持就是最好的反击和证明。', from: '—— 《沉默的羔羊》' }, + { text: '既不回头,何必不忘。既然无缘,何需誓言。今日种种,似水无痕。明夕何夕,君已陌路。', from: '—— 《仙剑奇侠传一》' }, + { text: '记忆是相见的另一种方式。', from: '—— 纪伯伦​​​​' }, + { text: '没有值得不值得,只有愿意不愿意。', from: '—— 彩衣' }, + { text: '每朵云都下落不明,每盏月亮都不知所踪。', from: '—— 八月长安《暗恋》' }, + { text: '让人类永远保持理智,是一种奢求。', from: '—— MOSS' }, + { text: '生命的闪耀不坚持到底怎能看到 ,与其苟延残喘不如纵情燃烧 。', from: '—— 《追梦赤子心》' }, + { text: '生活坏到一定程度就会好起来,因为它无法更坏,努力过后,才知道许多事情,坚持坚持,就过来了。', from: '—— 宫崎骏《千与千寻》' }, + { + text: '我每天醒在鸟声里。我从梦里就听到鸟叫,直到我醒来。我听得出几种极熟悉的叫声,那是每天都叫的,似乎每天都在那个固定的枝头。', + from: '—— 汪曾祺', + }, + { text: '我相信人类的勇气可以跨越时间,跨越当下,跨越未来。', from: '—— 《流浪地球2》' }, + { + text: '于千万人之中遇见你所要遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也没有晚一步,刚巧赶上了,那也没有别的话可说,惟有轻轻地问一声:“噢,你也在这里吗?”', + from: '—— 张爱玲《爱》', + }, + { text: '御剑乘风来,除魔天地间,有酒乐逍遥,无酒我亦癫。一饮尽江河,再饮吞日月,千杯醉不倒,唯我酒剑仙。', from: '—— 酒剑仙' }, + { text: '最美的不是下雨天,是曾与你躲过雨的屋檐。', from: '—— 周杰伦《不能说的秘密》' }, + + // English + { text: 'All the splendor in the world is not worth a good friend.', from: '— Voltaire' }, + { text: 'Continuous labor is the life of the iron law, also the art of iron.', from: '— Balzac' }, + { + text: 'Do not go gentle into that good night; Old age should burn and rave at close of day. Rage, rage against the dying of the light.', + from: '— Dylan Thomas', + }, + { + text: 'Hope is a good thing, maybe the best of things and no good thing ever dies.', + from: '— The Shawshank Redemption', + fromItalic: true, + }, + { text: 'Honesty and diligence should be your eternal mates.', from: '— Franklin' }, + { text: 'If a man deceives me once, shame on him; if twice,shame on me.', from: '— John Ray' }, + { text: 'Life is a kind of endless yearning, eager to continue to rise, become more great and noble.', from: '— Du Charm' }, + { text: 'The best way to find yourself is to lose yourself in the service of others.', from: '— Gandhi' }, + { text: 'The best way to cheer yourself up is to try to cheer somebody else up.', from: '— Mark Twain' }, + { + text: 'The body is always in the end. In addition to thinking, there is no beautiful and interesting things to stay, because thought is life.', + from: '— Bernard Shaw', + }, + { + text: "We should not be at any price to keep our friendship, so that it is defiled. If you have to sacrifice friendship for that great love, that's no way to do it; but if you can keep it, it will be a perfect state.", + from: '— Tagore', + }, +]; diff --git a/src/data/menuList.js b/src/data/menuList.js new file mode 100644 index 0000000..3e47fee --- /dev/null +++ b/src/data/menuList.js @@ -0,0 +1,393 @@ +export default [ + { + class: '通用', + class_en: 'Universal', + childs: [ + { + title: '按钮 Button', + title_zh: '按钮', + title_en: 'Button', + nav: 'button', + tip: '按下它,让世界变得更美好吧。', + tip_en: 'Press it and make the world a better place.', + alias: 'button|按钮', + }, + { + title: '底部浮窗 BottomSheet', + title_zh: '底部浮窗', + title_en: 'BottomSheet', + nav: 'bottomSheet', + tip: '浮窗犹如小偷,突然出现让你焦灼,却也能唤起你的警觉。', + tip_en: 'The floating window is like a thief, suddenly appearing to make you anxious, but it can also arouse your alertness.', + alias: + 'bottomSheet|底部浮窗|底部|底|部|浮窗|bottomSheet底部浮窗|bottomSheet 底部浮窗|底部弹窗|bottomSheet底部弹窗|bottomSheet 底部弹窗|底部弹出框|bottomSheet底部弹出框|bottomSheet 底部弹出框|底部弹出层|bottomSheet底部弹出层|bottomSheet 底部弹出层', + }, + { + title: '图标 Icon', + title_zh: '图标', + title_en: 'Icon', + nav: 'icon', + tip: '使用 SVG Sprites,请参照指南引入与使用。', + tip_en: 'Use SVG Sprites, please refer to the guide to import and use.', + alias: 'icon|图标|svg', + }, + { + title: '遮罩 Mask', + title_zh: '遮罩', + title_en: 'Mask', + nav: 'mask', + tip: '遮罩虽能掩盖身形,却无法掩藏内心。', + tip_en: 'Although the mask can cover the figure, it cannot hide the heart.', + alias: 'mask|遮罩|遮|罩|mask遮罩|mask 遮罩|遮罩层|mask遮罩层|mask 遮罩层|Overlay|maskOverlay|mask Overlay', + }, + { + title: '弹出层 Popup', + title_zh: '弹出层', + title_en: 'Popup', + nav: 'popup', + tip: '机会就像弹珠,只有你努力地推它,它才会弹出来。', + tip_en: 'Opportunity is like a marble, only if you push it hard, it will pop out.', + alias: + 'popup|弹出层|弹出|弹|出|层|popup弹出层|popup 弹出层|弹窗|popup弹窗|popup 弹窗|弹出框|popup弹出框|popup 弹出框|弹出层|popup弹出层|popup 弹出层', + }, + ], + }, + { + class: '布局', + class_en: 'Layout', + childs: [ + { + title: '分割线 Divider', + title_zh: '分割线', + title_en: 'Divider', + nav: 'divider', + tip: '分开的日子越久,最初的喜悦越发淡薄。', + tip_en: 'The longer the days are separated, the more the initial joy fades.', + alias: 'divider|分割线|分割|line', + }, + { + title: '网格 Grids', + title_zh: '网格', + title_en: 'Grids', + nav: 'grids', + tip: '可是怎么说,总觉得,我们之间留了太多空白格。', + tip_en: 'How can I say, I always feel that there are too many blank grids between us.', + alias: 'grids|网格|grid|row|col|column', + }, + { + title: '占位符 Placeholder', + title_zh: '占位符', + title_en: 'Placeholder', + nav: 'placeholder', + tip: '人生重要的不是所站的位置,而是所朝的方向。', + tip_en: 'What is important in life is not the position you stand, but the direction you face.', + alias: 'placeholder|占位符|占位', + }, + { + title: '骨架屏 Skeleton', + title_zh: '骨架屏', + title_en: 'Skeleton', + nav: 'skeleton', + tip: '骨架是支撑身体的关键,而人生信念则是支撑生命的骨架。', + tip_en: 'The skeleton is the key to supporting the body, and the belief in life is the skeleton that supports life.', + alias: 'skeleton|骨架屏|骨架', + }, + ], + }, + { + class: '导航', + class_en: 'Navigation', + childs: [ + { + title: '索引栏 IndexBar', + title_zh: '索引栏', + title_en: 'IndexBar', + nav: 'indexBar', + tip: '你不迷途知返,我怎么给你以索引?', + tip_en: "If you don't know the way back, how can I give you an index?", + alias: 'indexBar|索引栏|indexbar|index|bar|索引|index 栏|索引条|index条|index 条', + }, + { + title: '导航栏 NavBar', + title_zh: '导航栏', + title_en: 'NavBar', + nav: 'navBar', + tip: '没有指引,在黑暗中只能乱撞。', + tip_en: 'Without guidance, you can only bump in the dark.', + alias: 'navBar|导航栏|navbar|nav|bar|导航|nav-bar|nav bar', + }, + { + title: '分页 Pagination', + title_zh: '分页', + title_en: 'Pagination', + nav: 'pagination', + tip: '人生就像一部电影,不论多么精彩,也有谢幕的时候。', + tip_en: 'Life is like a movie, no matter how wonderful it is, there is a curtain call.', + alias: 'pagination|分页|page|分|页|pagination分页|pagination 分页|page分页|page 分页', + }, + { + title: '步骤条 Steps', + title_zh: '步骤条', + title_en: 'Steps', + nav: 'steps', + tip: '人生没有白走的路,每一步都算数。', + tip_en: 'Life has no wasted steps, every step counts.', + alias: 'steps|step|步骤条|步骤|step条|step 条|步骤栏|step栏|step 栏', + }, + { + title: '标签栏 TabBar', + title_zh: '标签栏', + title_en: 'TabBar', + nav: 'tabBar', + tip: '看脚下一片黑暗,望头顶星光璀璨。', + tip_en: "Looking down, it's all darkness; looking up, the stars are shining brightly.", + alias: 'tabBar|标签栏|tabbar|tab|bar|标签|tab 栏', + }, + { + title: '标签页 Tabs', + title_zh: '标签页', + title_en: 'Tabs', + nav: 'tabs', + tip: '偶尔隐藏,是为了在合适的时候更好地绽放。', + tip_en: 'Occasionally hide, it is to bloom better at the right time.', + alias: 'tabs|tab|标签页|标签|tab页', + }, + ], + }, + { + class: '数据输入', + class_en: 'Data entry', + childs: [ + { + title: '动作面板 ActionSheet', + title_zh: '动作面板', + title_en: 'ActionSheet', + nav: 'actionSheet', + tip: '我的世界只有一个选项,就是你。', + tip_en: 'There is only one option in my world, and that is you.', + alias: + 'actionSheet|动作面板|动作|动|作|面板|actionSheet动作面板|actionSheet 动作面板|动作面板|actionSheet动作面板|actionSheet 动作面板|动作面板|actionSheet动作面板|actionSheet 动作面板', + }, + { + title: '异步选择器 AsyncPicker', + title_zh: '异步选择器', + title_en: 'AsyncPicker', + nav: 'asyncPicker', + tip: '错过的话,就请错过一辈子吧!', + tip_en: 'If you miss it, please miss it for a lifetime!', + alias: 'asyncPicker|异步选择器|异步|asyncPicker异步选择器|asyncPicker 异步选择器|async picker|asyncpicker|异步picker|异步picker', + }, + { + title: '日历 Calendar', + title_zh: '日历', + title_en: 'Calendar', + nav: 'calendar', + tip: '在无人问津日子里,正是登峰造极的好时机。', + tip_en: 'In the days when no one cares, it is a good time to reach the peak.', + alias: + 'calendar|日历|日|历|calendar日历|calendar 日历|日期|calendar日期|calendar 日期|周选择|calendar周选择|calendar 周选择|周|calendar周|calendar 周|日期区间|月选择|日期范围选择', + }, + { + title: '复选框 Checkbox', + title_zh: '复选框', + title_en: 'Checkbox', + nav: 'checkbox', + tip: '要么全不,要么全部。', + tip_en: 'Either all or none.', + alias: + 'checkbox|复选框|复选|checkbox复选框|checkbox 复选框|复选按钮|checkbox复选按钮|checkbox 复选按钮|多选框|多选|checkbox多选框|checkbox 多选框|多选按钮|checkbox多选按钮|checkbox 多选按钮', + }, + { + title: '输入框 Input', + title_zh: '输入框', + title_en: 'Input', + nav: 'input', + tip: '对方正在输入......', + tip_en: 'The other party is typing...', + alias: + 'input|输入框|输入|input输入框|input 输入框|Textarea|textarea|文本域|文本框|文本|textarea文本域|textarea 文本域|多行输入框|多行输入|多行|textarea多行输入框|textarea 多行输入框', + }, + { + title: '数字键盘 NumKeyboard', + title_zh: '数字键盘', + title_en: 'NumKeyboard', + nav: 'numKeyboard', + tip: '3 0624700 | 3 0624770 | 5 34202 13942 | 4314 0624', + tip_en: '3 0624700 | 3 0624770 | 5 34202 13942 | 4314 0624', + alias: + 'numKeyboard|数字键盘|数字|键盘|numKeyboard数字键盘|numKeyboard 数字键盘|金额键盘|numKeyboard金额键盘|numKeyboard 金额键盘|number|keyboard|amount|money|', + }, + { + title: '选择器 Picker', + title_zh: '选择器', + title_en: 'Picker', + nav: 'picker', + tip: '采摘花瓣时,你得不到花的美丽。', + tip_en: 'When you pick petals, you don’t get the beauty of the flower.', + alias: 'picker|选择器|选择|picker选择器|picker 选择器', + }, + { + title: '单选框 Radio', + title_zh: '单选框', + title_en: 'Radio', + nav: 'radio', + tip: '如果要在正确和善良中选择一个,请选择善良。', + tip_en: 'If you have to choose between right and good, choose good.', + alias: 'radio|单选框|单选|radio单选框|radio 单选框|单选按钮|radio单选按钮|radio 单选按钮', + }, + { + title: '评分 Rate', + title_zh: '评分', + title_en: 'Rate', + nav: 'rate', + tip: '散场时,对方剩余的手机电量,就是这场约会的评分。', + tip_en: 'At the end of the game, the remaining battery power of the other party is the score of this date.', + alias: 'rate|评分|评|分|rate评分|rate 评分', + }, + { + title: '滑块 Slider', + title_zh: '滑块', + title_en: 'Slider', + nav: 'slider', + tip: '请滑动解锁您的烦恼。', + tip_en: 'Please slide to unlock your troubles.', + alias: 'slider|滑块|滑|块|slider滑块|slider 滑块', + }, + { + title: '开关 Switch', + title_zh: '开关', + title_en: 'Switch', + nav: 'switch', + tip: '死亡是一个开关,活着却是一根绳索。', + tip_en: 'Death is a switch, but life is a rope.', + alias: 'switch|开关|开|关|switch开关|switch 开关', + }, + { + title: '时间选择器 TimePicker', + title_zh: '时间选择器', + title_en: 'TimePicker', + nav: 'timePicker', + tip: '死亡不是失去生命,而是走出了时间的枷锁。', + tip_en: 'Death is not the loss of life, but the release of the shackles of time.', + alias: + 'timePicker|时间选择器|时间|timePicker时间选择器|timePicker 时间选择器|time picker|timepicker|时间picker|时间picker|日期选择器|日期|datePicker日期选择器|datePicker 日期选择器|date picker|datepicker|日期picker|日期picker', + }, + ], + }, + { + class: '信息展示', + class_en: 'Info display', + childs: [ + { + title: '头像 Avatar', + title_zh: '头像', + title_en: 'Avatar', + nav: 'avatar', + tip: '其实我发给您的头像,是情侣头像...', + tip_en: 'Actually, the avatar I sent to you is a couple avatar...', + alias: 'avatar|头像|头|像|avatar头像|avatar 头像', + }, + { + title: '徽标 Badge', + title_zh: '徽标', + title_en: 'Badge', + nav: 'badge', + tip: '在标记消失之前,回到我身边。', + tip_en: 'Before the mark disappears, come back to me.', + alias: 'badge|徽标|徽|标|badge徽标|badge 徽标|标记|badge标记|badge 标记', + }, + { + title: '单元格 Cell', + title_zh: '单元格', + title_en: 'Cell', + nav: 'cell', + tip: '当全世界抛弃您的时候请记住,您身上有几亿细胞都在为你而活。', + tip_en: 'When the whole world abandons you, remember that there are billions of cells on your body that are living for you.', + alias: 'cell|单元格|单元|cell单元格|cell 单元格', + }, + { + title: '通告栏 NoticeBar', + title_zh: '通告栏', + title_en: 'NoticeBar', + nav: 'noticeBar', + tip: '我方开放地下城,这是告知,不是商量。', + tip_en: 'Our side opens the dungeon, this is to inform, not to discuss.', + alias: + 'noticeBar|通告栏|通告|通|栏|noticeBar通告栏|noticeBar 通告栏|通知栏|noticeBar通知栏|noticeBar 通知栏|公告栏|noticeBar公告栏|noticeBar 公告栏', + }, + { + title: '进度条 Progress', + title_zh: '进度条', + title_en: 'Progress', + nav: 'progress', + tip: '好运进度:▓▓▓▓▓▓▓▓▓▓▓▓ 100%', + tip_en: 'Good luck progr: ▓▓▓▓▓▓▓▓▓▓▓▓ 100%', + alias: 'progress|进度条|进度|进|度|progress进度条|progress 进度条', + }, + { + title: '进度环 ProgressLoop', + title_zh: '进度环', + title_en: 'ProgressLoop', + nav: 'progressLoop', + tip: '人生不是一个完美的圆环,一旦完美,你就再没有任何可能性。', + tip_en: 'Life is not a perfect circle. Once perfect, you have no possibility.', + alias: + 'progressLoop|进度环|进度|进|度|progressLoop进度环|progressLoop 进度环|环形进度条|progressLoop环形进度条|progressLoop 环形进度条|progress loop|progress-loop', + }, + { + title: '轮播 Swiper', + title_zh: '轮播', + title_en: 'Swiper', + nav: 'swiper', + tip: '人世间悲喜烂剧,昼夜轮播不停。', + tip_en: 'The ups and downs of life, day and night, are not stopping.', + alias: 'swiper|轮播|轮|播|swiper轮播|swiper 轮播|轮播图|swiper轮播图|swiper 轮播图|走马灯|swiper走马灯|swiper 走马灯|carousel', + }, + ], + }, + { + class: '反馈', + class_en: 'Feedback', + childs: [ + { + title: '对话框 Dialog', + title_zh: '对话框', + title_en: 'Dialog', + nav: 'dialog', + tip: '无法确定任何事情,尤其是按下“确定”键的那一刻,我最不确定。', + tip_en: 'Nothing can be determined, especially at the moment when the "OK" button is pressed, I am the most uncertain.', + alias: + 'dialog|对话框|对话|对|话|框|dialog对话框|dialog 对话框|对话框|dialog对话框|dialog 对话框|对话框|dialog对话框|dialog 对话框|对话框|dialog对话框|dialog 对话框', + }, + { + title: '加载 Loading', + title_zh: '加载', + title_en: 'Loading', + nav: 'loading', + tip: '不要再苦苦等待答案了,没有回复已是答案。', + tip_en: "Don't wait for the answer, no reply is the answer.", + alias: 'loading|加载|加载中|loading加载|loading 加载|loading加载中|loading 加载中|loading加载中...|loading 加载中...', + }, + { + title: '弹框 Modal', + title_zh: '弹框', + title_en: 'Modal', + nav: 'modal', + tip: '弹框即人生,要么选择关闭,要么选择继续。', + tip_en: 'The modal is life, either choose to close or choose to continue.', + alias: + 'modal|弹框|弹|框|modal弹框|modal 弹框|弹窗|modal弹窗|modal 弹窗|弹出框|modal弹出框|modal 弹出框|弹框|modal弹框|modal 弹框|模态框|modal模态框|modal 模态框', + }, + { + title: '轻提示 Toast', + title_zh: '轻提示', + title_en: 'Toast', + nav: 'toast', + tip: '总有一些东西,要用消失来证明它的珍贵。', + tip_en: 'There are always some things that have to disappear to prove their value.', + alias: + 'toast|轻提示|轻|提示|toast轻提示|toast 轻提示|轻弹窗|toast轻弹窗|toast 轻弹窗|轻提示框|toast轻提示框|toast 轻提示框|吐司|toast吐司|toast 吐司', + }, + ], + }, +]; diff --git a/src/data/themes/AzurePink.js b/src/data/themes/AzurePink.js new file mode 100644 index 0000000..f3b9b44 --- /dev/null +++ b/src/data/themes/AzurePink.js @@ -0,0 +1,46 @@ +export default { + name: 'AzurePink', + color: { + primary: { + 50: '245, 247, 255', // #F5F7FF + 100: '232, 237, 255', // #E8EDFF + 200: '176, 186, 237', // #B0BAED + 300: '126, 139, 219', // #7E8BDB + 400: '83, 94, 201', // #535EC9 + 500: '45, 54, 183', // #2D36B7 + default: '13, 18, 165', // #0D12A5 + 700: '8, 8, 143', // #08088F + 800: '9, 5, 121', // #090579 + 900: '8, 2, 99', // #080263 + 950: '8, 0, 77', // #08004D + }, + dark: { + 50: '255, 245, 248', // #FFF5F8 + 100: '255, 232, 240', // #FFE8F0 + 200: '251, 190, 213', // #FBBED5 + 300: '247, 149, 190', // #F795BE + 400: '243, 109, 169', // #F36DA9 + 500: '239, 70, 152', // #EF4698 + default: '235, 33, 136', // #EB2188 + 700: '195, 21, 117', // #C31575 + 800: '156, 11, 95', // #9C0B5F + 900: '116, 4, 73', // #740449 + 950: '77, 0, 50', // #4D0032 + }, + primaryBlack: '1, 1, 25', // #010119 + primaryWhite: '242, 242, 243', // #F2F2F3 + darkBlack: '25, 1, 13', // #19010D + darkWhite: '243, 242, 242', // #F3F2F2 + functional: { + success: '43, 164, 23', // #2ba417 + warning: '227, 115, 24', // #e37318 + error: '213, 73, 65', // #d54941 + info: '0, 82, 217', // #0052d9 + }, + extend: [ + { color: '20, 40, 160', alias: 'Samsung' }, // #1428A0 + { color: '253, 73, 0', alias: 'Xiaomi' }, // #fd4900 + { color: '4, 106, 56', alias: 'OPPO' }, // ##046a38 + ], + }, +}; diff --git a/src/data/themes/CamelliaRed.js b/src/data/themes/CamelliaRed.js new file mode 100644 index 0000000..21c1ed3 --- /dev/null +++ b/src/data/themes/CamelliaRed.js @@ -0,0 +1,46 @@ +export default { + name: 'CamelliaRed', + color: { + primary: { + 50: '255, 246, 245', // #FFF6F5 + 100: '255, 234, 232', // #FFEAE8 + 200: '252, 199, 196', // #FCC7C4 + 300: '248, 163, 162', // #F8A3A2 + 400: '245, 128, 130', // #F58082 + 500: '241, 95, 102', // #F15F66 + default: '238, 63, 77', // #EE3F4D + 700: '198, 39, 58', // #C6273A + 800: '157, 21, 41', // #9D1529 + 900: '117, 8, 28', // #75081C + 950: '77, 0, 17', // #4D0011 + }, + dark: { + 50: '254, 250, 255', // #FEFAFF + 100: '251, 232, 255', // #FBE8FF + 200: '246, 214, 255', // #F6D6FF + 300: '240, 196, 255', // #F0C4FF + 400: '233, 179, 255', // #E9B3FF + 500: '225, 161, 255', // #E1A1FF + default: '216, 143, 255', // #D88FFF + 700: '164, 88, 210', // #A458D2 + 800: '116, 46, 166', // #742EA6 + 900: '74, 17, 121', // #4A1179 + 950: '40, 0, 77', // #28004D + }, + primaryBlack: '25, 1, 3', // #190103 + primaryWhite: '243, 242, 242', // #F3F2F2 + darkBlack: '16, 1, 25', // #100119 + darkWhite: '242, 242, 243', // #F2F2F3 + functional: { + success: '82, 196, 26', // #52c41a + warning: '250, 173, 20', // #faad14 + error: '255, 77, 79', // #ff4d4f + info: '22, 119, 255', // #1677ff + }, + extend: [ + { color: '59, 89, 152', alias: 'Facebook' }, // #3b5998 + { color: '237, 28, 22', alias: 'CocaCola' }, // #ed1c16 + { color: '0, 104, 181', alias: 'Intel' }, // #0068b5 + ], + }, +}; diff --git a/src/data/themes/Nintendo.js b/src/data/themes/Nintendo.js new file mode 100644 index 0000000..628fda2 --- /dev/null +++ b/src/data/themes/Nintendo.js @@ -0,0 +1,46 @@ +export default { + name: 'Nintendo', + color: { + primary: { + 50: '255, 246, 245', // #FFF6F5 + 100: '255, 234, 232', // #FFEAE8 + 200: '250, 185, 182', // #FAB9B6 + 300: '245, 136, 134', // #F58886 + 400: '240, 87, 90', // #F0575A + 500: '235, 43, 52', // #EB2B34 + default: '230, 0, 18', // #E60012 + 700: '192, 0, 22', // #C00016 + 800: '153, 0, 23', // #990017 + 900: '115, 0, 21', // #730015 + 950: '77, 0, 17', // #4D0011 + }, + dark: { + 50: '245, 255, 254', // #F5FFFE + 100: '232, 255, 254', // #E8FFFE + 200: '182, 249, 249', // #B6F9F9 + 300: '133, 240, 244', // #85F0F4 + 400: '87, 228, 238', // #57E4EE + 500: '42, 214, 233', // #2AD6E9 + default: '0, 195, 227', // #00C3E3 + 700: '0, 158, 189', // #009EBD + 800: '0, 121, 152', // #007998 + 900: '0, 87, 114', // #005772 + 950: '0, 56, 77', // #00384D + }, + primaryBlack: '25, 1, 3', // #190103 + primaryWhite: '243, 242, 242', // #F3F2F2 + darkBlack: '1, 22, 25', // #011619 + darkWhite: '242, 243, 243', // #F2F3F3 + functional: { + success: '0, 180, 42', // #00b42a + warning: '255, 125, 0', // #ff7d00 + error: '245, 63, 63', // #f53f3f + info: '22, 93, 255', // #165dff + }, + extend: [ + { color: '0, 82, 217', alias: 'Tencent' }, // #0052d9 + { color: '26, 173, 25', alias: 'WeChat' }, // #1aad19 + { color: '243, 112, 33', alias: 'Hermès' }, // #f37021 + ], + }, +}; diff --git a/src/data/themes/SmartLive.js b/src/data/themes/SmartLive.js new file mode 100644 index 0000000..2d27aa6 --- /dev/null +++ b/src/data/themes/SmartLive.js @@ -0,0 +1,46 @@ +export default { + name: 'SmartLive', + color: { + primary: { + 50: '252, 245, 255', // #FCF5FF + 100: '248, 232, 255', // #F8E8FF + 200: '205, 174, 222', // #CDAEDE + 300: '165, 125, 189', // #A57DBD + 400: '126, 84, 157', // #7E549D + 500: '91, 51, 124', // #5B337C + default: '60, 26, 91', // #3C1A5B + 700: '52, 19, 87', // #341357 + 800: '44, 12, 84', // #2C0C54 + 900: '37, 6, 80', // #250650 + 950: '29, 0, 77', // #1D004D + }, + dark: { + 50: '253, 255, 245', // #FDFFF5 + 100: '252, 255, 232', // #FCFFE8 + 200: '250, 255, 200', // #FAFFC8 + 300: '251, 255, 168', // #FBFFA8 + 400: '253, 255, 136', // #FDFF88 + 500: '255, 252, 104', // #FFFC68 + default: '255, 247, 72', // #FFF748 + 700: '210, 197, 45', // #D2C52D + 800: '166, 149, 23', // #A69517 + 900: '121, 104, 9', // #796809 + 950: '77, 62, 0', // #4D3E00 + }, + primaryBlack: '13, 1, 25', // #0D0119 + primaryWhite: '242, 242, 243', // #F2F2F3 + darkBlack: '25, 24, 1', // #191801 + darkWhite: '243, 243, 242', // #F3F3F2 + functional: { + success: '21, 91, 54', // #155b36 + warning: '208, 126, 11', // #d07e0b + error: '218, 20, 20', // #da1414 + info: '99, 176, 227', // #63b0e3 + }, + extend: [ + { color: '118, 185, 0', alias: 'NVIDIA' }, // #76b900 + { color: '251, 114, 153', alias: 'bilibili' }, // #fb7299 + { color: '22, 119, 255', alias: 'AliPay' }, // #1677ff + ], + }, +}; diff --git a/src/data/themes/chameleon.js b/src/data/themes/chameleon.js new file mode 100644 index 0000000..ff784dc --- /dev/null +++ b/src/data/themes/chameleon.js @@ -0,0 +1,46 @@ +export default { + name: 'Chameleon', + color: { + primary: { + 50: '245, 255, 248', // #F5FFF8 + 100: '232, 255, 239', // #E8FFEF + 200: '173, 236, 195', // #ADECC3 + 300: '120, 218, 157', // #78DA9D + 400: '74, 199, 126', // #4AC77E + 500: '35, 181, 100', // #23B564 + default: '2, 162, 78', // #02A24E + 700: '1, 141, 73', // #018D49 + 800: '1, 119, 66', // #017742 + 900: '0, 98, 57', // #006239 + 950: '0, 77, 47', // #004D2F + }, + dark: { + 50: '255, 245, 252', // #FFF5FC + 100: '255, 232, 250', // #FFE8FA + 200: '250, 204, 241', // #FACCF1 + 300: '246, 177, 234', // #F6B1EA + 400: '241, 151, 229', // #F197E5 + 500: '237, 126, 226', // #ED7EE2 + default: '232, 102, 223', // #E866DF + 700: '193, 64, 189', // #C140BD + 800: '154, 34, 154', // #9A229A + 900: '112, 13, 115', // #700D73 + 950: '71, 0, 77', // #47004D + }, + primaryBlack: '1, 25, 12', // #01190C + primaryWhite: '242, 243, 242', // #F2F3F2 + darkBlack: '25, 1, 23', // #190117 + darkWhite: '243, 242, 243', // #F3F2F3 + functional: { + success: '103, 194, 58', // #67c23a + warning: '230, 162, 60', // #e6a23c + error: '245, 108, 108', // #f56c6c + info: '144, 147, 153', // #909399 + }, + extend: [ + { color: '56, 189, 248', alias: 'Tailwind' }, // #38bdf8 + { color: '194, 12, 12', alias: 'NetEaseCloudMusic' }, // #c20c0c + { color: '65, 95, 255', alias: 'vivo' }, // #415fff + ], + }, +}; diff --git a/src/data/themes/index.js b/src/data/themes/index.js new file mode 100644 index 0000000..d9032dd --- /dev/null +++ b/src/data/themes/index.js @@ -0,0 +1,78 @@ +import { stdfTheme } from 'stdf/theme'; +import chameleonTheme from './chameleon'; +import AzurePink from './AzurePink'; +import SmartLive from './SmartLive'; +import CamelliaRed from './CamelliaRed'; +import Nintendo from './Nintendo'; + +/** + * 传入 rgb 格式 255, 255, 255 的颜色值,返回 hex 格式的颜色值 + * Pass in the color value of rgb format 255, 255, 255 and return the color value of hex format + * @param {string} rgb + * @returns {string} + */ +const rgbToHex = rgb => { + // 如果传入的是 hex 格式的颜色值,直接返回 + // If the color value passed in is in hex format, return directly + if (rgb.includes('#')) { + return rgb; + } + const rgbArr = rgb.split(','); + let hex = '#'; + rgbArr.forEach(item => { + const num = parseInt(item); + hex += num.toString(16).padStart(2, '0'); + }); + return hex; +}; + +/** + * 将 theme 对象中所有的 rgb 格式 255, 255, 255 转换为 hex 格式 #ffffff + * Let all rgb formats 255, 255, 255 in the theme object be converted to hex format #ffffff + * @param {Object} theme + * @returns {Object} + */ +const rgbToHexFunc = theme => { + const obj = theme.color; + const primary = obj.primary; + for (const key in primary) { + if (Object.hasOwnProperty.call(primary, key)) { + const element = primary[key]; + if (typeof element === 'string' && element.includes(',')) { + primary[key] = rgbToHex(element); + } + } + } + const dark = obj.dark; + for (const key in dark) { + if (Object.hasOwnProperty.call(dark, key)) { + const element = dark[key]; + if (typeof element === 'string' && element.includes(',')) { + dark[key] = rgbToHex(element); + } + } + } + obj.functional.success = rgbToHex(obj.functional.success); + obj.functional.warning = rgbToHex(obj.functional.warning); + obj.functional.error = rgbToHex(obj.functional.error); + obj.functional.info = rgbToHex(obj.functional.info); + const extend = obj.extend; + extend.forEach(item => { + item.color = rgbToHex(item.color); + }); + obj.primaryBlack = rgbToHex(obj.primaryBlack); + obj.primaryWhite = rgbToHex(obj.primaryWhite); + obj.darkBlack = rgbToHex(obj.darkBlack); + obj.darkWhite = rgbToHex(obj.darkWhite); + theme.color = obj; + return theme; +}; + +export default [ + { name_CN: 'STDF', name: stdfTheme.name, theme: rgbToHexFunc(stdfTheme) }, + { name_CN: '任天堂', name: Nintendo.name, theme: rgbToHexFunc(Nintendo) }, + { name_CN: '蔚蓝粉', name: AzurePink.name, theme: rgbToHexFunc(AzurePink) }, + { name_CN: '变色龙', name: chameleonTheme.name, theme: rgbToHexFunc(chameleonTheme) }, + { name_CN: '慧活力', name: SmartLive.name, theme: rgbToHexFunc(SmartLive) }, + { name_CN: '山茶红', name: CamelliaRed.name, theme: rgbToHexFunc(CamelliaRed) }, +]; diff --git a/src/lib/symbol/ri-account-circle-fill.svg b/src/lib/symbol/ri-account-circle-fill.svg new file mode 100644 index 0000000..110027b --- /dev/null +++ b/src/lib/symbol/ri-account-circle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-account-circle-line.svg b/src/lib/symbol/ri-account-circle-line.svg new file mode 100644 index 0000000..02edd7d --- /dev/null +++ b/src/lib/symbol/ri-account-circle-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-aliens-fill.svg b/src/lib/symbol/ri-aliens-fill.svg new file mode 100644 index 0000000..8224b9e --- /dev/null +++ b/src/lib/symbol/ri-aliens-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-android-fill.svg b/src/lib/symbol/ri-android-fill.svg new file mode 100644 index 0000000..412d503 --- /dev/null +++ b/src/lib/symbol/ri-android-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-apple-fill.svg b/src/lib/symbol/ri-apple-fill.svg new file mode 100644 index 0000000..6dbe040 --- /dev/null +++ b/src/lib/symbol/ri-apple-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-apps-2-line.svg b/src/lib/symbol/ri-apps-2-line.svg new file mode 100644 index 0000000..2a0d17e --- /dev/null +++ b/src/lib/symbol/ri-apps-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-arrow-down-s-line.svg b/src/lib/symbol/ri-arrow-down-s-line.svg new file mode 100644 index 0000000..6c07343 --- /dev/null +++ b/src/lib/symbol/ri-arrow-down-s-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-arrow-left-s-line.svg b/src/lib/symbol/ri-arrow-left-s-line.svg new file mode 100644 index 0000000..087efae --- /dev/null +++ b/src/lib/symbol/ri-arrow-left-s-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-arrow-right-s-line.svg b/src/lib/symbol/ri-arrow-right-s-line.svg new file mode 100644 index 0000000..48dcbb0 --- /dev/null +++ b/src/lib/symbol/ri-arrow-right-s-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-arrow-up-s-fill.svg b/src/lib/symbol/ri-arrow-up-s-fill.svg new file mode 100644 index 0000000..7d07d88 --- /dev/null +++ b/src/lib/symbol/ri-arrow-up-s-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-arrow-up-s-line.svg b/src/lib/symbol/ri-arrow-up-s-line.svg new file mode 100644 index 0000000..f5111cd --- /dev/null +++ b/src/lib/symbol/ri-arrow-up-s-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-bank-line.svg b/src/lib/symbol/ri-bank-line.svg new file mode 100644 index 0000000..b61a58c --- /dev/null +++ b/src/lib/symbol/ri-bank-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-barcode-fill.svg b/src/lib/symbol/ri-barcode-fill.svg new file mode 100644 index 0000000..a26eae1 --- /dev/null +++ b/src/lib/symbol/ri-barcode-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-battery-2-charge-line.svg b/src/lib/symbol/ri-battery-2-charge-line.svg new file mode 100644 index 0000000..446bae0 --- /dev/null +++ b/src/lib/symbol/ri-battery-2-charge-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-battery-charge-line.svg b/src/lib/symbol/ri-battery-charge-line.svg new file mode 100644 index 0000000..782b91a --- /dev/null +++ b/src/lib/symbol/ri-battery-charge-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-bear-smile-line.svg b/src/lib/symbol/ri-bear-smile-line.svg new file mode 100644 index 0000000..a2bb85a --- /dev/null +++ b/src/lib/symbol/ri-bear-smile-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-bluetooth-connect-line.svg b/src/lib/symbol/ri-bluetooth-connect-line.svg new file mode 100644 index 0000000..2e1bc22 --- /dev/null +++ b/src/lib/symbol/ri-bluetooth-connect-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-bluetooth-line.svg b/src/lib/symbol/ri-bluetooth-line.svg new file mode 100644 index 0000000..a72531b --- /dev/null +++ b/src/lib/symbol/ri-bluetooth-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-cake-2-fill.svg b/src/lib/symbol/ri-cake-2-fill.svg new file mode 100644 index 0000000..dec8864 --- /dev/null +++ b/src/lib/symbol/ri-cake-2-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-car-line.svg b/src/lib/symbol/ri-car-line.svg new file mode 100644 index 0000000..cab93a4 --- /dev/null +++ b/src/lib/symbol/ri-car-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-check-fill.svg b/src/lib/symbol/ri-check-fill.svg new file mode 100644 index 0000000..a195ed0 --- /dev/null +++ b/src/lib/symbol/ri-check-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-check-line.svg b/src/lib/symbol/ri-check-line.svg new file mode 100644 index 0000000..a195ed0 --- /dev/null +++ b/src/lib/symbol/ri-check-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-blank-circle-line.svg b/src/lib/symbol/ri-checkbox-blank-circle-line.svg new file mode 100644 index 0000000..0c131d2 --- /dev/null +++ b/src/lib/symbol/ri-checkbox-blank-circle-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-circle-fill.svg b/src/lib/symbol/ri-checkbox-circle-fill.svg new file mode 100644 index 0000000..e02610d --- /dev/null +++ b/src/lib/symbol/ri-checkbox-circle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-circle-line.svg b/src/lib/symbol/ri-checkbox-circle-line.svg new file mode 100644 index 0000000..ea59dbe --- /dev/null +++ b/src/lib/symbol/ri-checkbox-circle-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-fill.svg b/src/lib/symbol/ri-checkbox-fill.svg new file mode 100644 index 0000000..0d243a1 --- /dev/null +++ b/src/lib/symbol/ri-checkbox-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-line.svg b/src/lib/symbol/ri-checkbox-line.svg new file mode 100644 index 0000000..7c4da58 --- /dev/null +++ b/src/lib/symbol/ri-checkbox-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-multiple-fill.svg b/src/lib/symbol/ri-checkbox-multiple-fill.svg new file mode 100644 index 0000000..2cc4cb8 --- /dev/null +++ b/src/lib/symbol/ri-checkbox-multiple-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-checkbox-multiple-line.svg b/src/lib/symbol/ri-checkbox-multiple-line.svg new file mode 100644 index 0000000..2c23848 --- /dev/null +++ b/src/lib/symbol/ri-checkbox-multiple-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-chrome-fill.svg b/src/lib/symbol/ri-chrome-fill.svg new file mode 100644 index 0000000..6720a5a --- /dev/null +++ b/src/lib/symbol/ri-chrome-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-close-circle-fill.svg b/src/lib/symbol/ri-close-circle-fill.svg new file mode 100644 index 0000000..585779a --- /dev/null +++ b/src/lib/symbol/ri-close-circle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-close-circle-line.svg b/src/lib/symbol/ri-close-circle-line.svg new file mode 100644 index 0000000..331ba3a --- /dev/null +++ b/src/lib/symbol/ri-close-circle-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-close-fill.svg b/src/lib/symbol/ri-close-fill.svg new file mode 100644 index 0000000..ddd4652 --- /dev/null +++ b/src/lib/symbol/ri-close-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-close-line.svg b/src/lib/symbol/ri-close-line.svg new file mode 100644 index 0000000..ddd4652 --- /dev/null +++ b/src/lib/symbol/ri-close-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-code-box-fill.svg b/src/lib/symbol/ri-code-box-fill.svg new file mode 100644 index 0000000..7551e9f --- /dev/null +++ b/src/lib/symbol/ri-code-box-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-command-fill.svg b/src/lib/symbol/ri-command-fill.svg new file mode 100644 index 0000000..07a7772 --- /dev/null +++ b/src/lib/symbol/ri-command-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-command-line.svg b/src/lib/symbol/ri-command-line.svg new file mode 100644 index 0000000..07a7772 --- /dev/null +++ b/src/lib/symbol/ri-command-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-compass-3-fill.svg b/src/lib/symbol/ri-compass-3-fill.svg new file mode 100644 index 0000000..af37f9a --- /dev/null +++ b/src/lib/symbol/ri-compass-3-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-compass-3-line.svg b/src/lib/symbol/ri-compass-3-line.svg new file mode 100644 index 0000000..a070e73 --- /dev/null +++ b/src/lib/symbol/ri-compass-3-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-compass-line.svg b/src/lib/symbol/ri-compass-line.svg new file mode 100644 index 0000000..6234e81 --- /dev/null +++ b/src/lib/symbol/ri-compass-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-computer-line.svg b/src/lib/symbol/ri-computer-line.svg new file mode 100644 index 0000000..ed7d606 --- /dev/null +++ b/src/lib/symbol/ri-computer-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-cup-fill.svg b/src/lib/symbol/ri-cup-fill.svg new file mode 100644 index 0000000..20c84d2 --- /dev/null +++ b/src/lib/symbol/ri-cup-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-cup-line.svg b/src/lib/symbol/ri-cup-line.svg new file mode 100644 index 0000000..8b142d3 --- /dev/null +++ b/src/lib/symbol/ri-cup-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-customer-service-2-line.svg b/src/lib/symbol/ri-customer-service-2-line.svg new file mode 100644 index 0000000..92b4e46 --- /dev/null +++ b/src/lib/symbol/ri-customer-service-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-delete-back-2-line.svg b/src/lib/symbol/ri-delete-back-2-line.svg new file mode 100644 index 0000000..4544168 --- /dev/null +++ b/src/lib/symbol/ri-delete-back-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-discuss-fill.svg b/src/lib/symbol/ri-discuss-fill.svg new file mode 100644 index 0000000..8aa3691 --- /dev/null +++ b/src/lib/symbol/ri-discuss-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-discuss-line.svg b/src/lib/symbol/ri-discuss-line.svg new file mode 100644 index 0000000..821de38 --- /dev/null +++ b/src/lib/symbol/ri-discuss-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-drag-move-line.svg b/src/lib/symbol/ri-drag-move-line.svg new file mode 100644 index 0000000..b5b00a6 --- /dev/null +++ b/src/lib/symbol/ri-drag-move-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-emotion-line.svg b/src/lib/symbol/ri-emotion-line.svg new file mode 100644 index 0000000..9c90cdc --- /dev/null +++ b/src/lib/symbol/ri-emotion-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-emotion-sad-fill.svg b/src/lib/symbol/ri-emotion-sad-fill.svg new file mode 100644 index 0000000..77eeb19 --- /dev/null +++ b/src/lib/symbol/ri-emotion-sad-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-emotion-sad-line.svg b/src/lib/symbol/ri-emotion-sad-line.svg new file mode 100644 index 0000000..65f99a3 --- /dev/null +++ b/src/lib/symbol/ri-emotion-sad-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-error-warning-line.svg b/src/lib/symbol/ri-error-warning-line.svg new file mode 100644 index 0000000..d40c871 --- /dev/null +++ b/src/lib/symbol/ri-error-warning-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-fingerprint-line.svg b/src/lib/symbol/ri-fingerprint-line.svg new file mode 100644 index 0000000..0594b44 --- /dev/null +++ b/src/lib/symbol/ri-fingerprint-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-github-fill.svg b/src/lib/symbol/ri-github-fill.svg new file mode 100644 index 0000000..9ad1d73 --- /dev/null +++ b/src/lib/symbol/ri-github-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-hand-heart-line.svg b/src/lib/symbol/ri-hand-heart-line.svg new file mode 100644 index 0000000..ef0d6fa --- /dev/null +++ b/src/lib/symbol/ri-hand-heart-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-heart-3-fill.svg b/src/lib/symbol/ri-heart-3-fill.svg new file mode 100644 index 0000000..67c5761 --- /dev/null +++ b/src/lib/symbol/ri-heart-3-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-home-3-fill.svg b/src/lib/symbol/ri-home-3-fill.svg new file mode 100644 index 0000000..dc139e2 --- /dev/null +++ b/src/lib/symbol/ri-home-3-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-home-3-line.svg b/src/lib/symbol/ri-home-3-line.svg new file mode 100644 index 0000000..c0118f7 --- /dev/null +++ b/src/lib/symbol/ri-home-3-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-home-7-line.svg b/src/lib/symbol/ri-home-7-line.svg new file mode 100644 index 0000000..b19e545 --- /dev/null +++ b/src/lib/symbol/ri-home-7-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-hotel-bed-fill.svg b/src/lib/symbol/ri-hotel-bed-fill.svg new file mode 100644 index 0000000..84ae239 --- /dev/null +++ b/src/lib/symbol/ri-hotel-bed-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-hotel-bed-line.svg b/src/lib/symbol/ri-hotel-bed-line.svg new file mode 100644 index 0000000..e20af2d --- /dev/null +++ b/src/lib/symbol/ri-hotel-bed-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-image-2-fill.svg b/src/lib/symbol/ri-image-2-fill.svg new file mode 100644 index 0000000..76fd733 --- /dev/null +++ b/src/lib/symbol/ri-image-2-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-indent-decrease.svg b/src/lib/symbol/ri-indent-decrease.svg new file mode 100644 index 0000000..350cf08 --- /dev/null +++ b/src/lib/symbol/ri-indent-decrease.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-information-line.svg b/src/lib/symbol/ri-information-line.svg new file mode 100644 index 0000000..cba15f5 --- /dev/null +++ b/src/lib/symbol/ri-information-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-lock-line.svg b/src/lib/symbol/ri-lock-line.svg new file mode 100644 index 0000000..d314891 --- /dev/null +++ b/src/lib/symbol/ri-lock-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-macbook-fill.svg b/src/lib/symbol/ri-macbook-fill.svg new file mode 100644 index 0000000..0adcb4a --- /dev/null +++ b/src/lib/symbol/ri-macbook-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-medal-fill.svg b/src/lib/symbol/ri-medal-fill.svg new file mode 100644 index 0000000..359fe24 --- /dev/null +++ b/src/lib/symbol/ri-medal-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-mic-off-fill.svg b/src/lib/symbol/ri-mic-off-fill.svg new file mode 100644 index 0000000..5b1cf3a --- /dev/null +++ b/src/lib/symbol/ri-mic-off-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-money-cny-circle-line.svg b/src/lib/symbol/ri-money-cny-circle-line.svg new file mode 100644 index 0000000..4b287a4 --- /dev/null +++ b/src/lib/symbol/ri-money-cny-circle-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-moon-fill.svg b/src/lib/symbol/ri-moon-fill.svg new file mode 100644 index 0000000..7c581a7 --- /dev/null +++ b/src/lib/symbol/ri-moon-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-moon-line.svg b/src/lib/symbol/ri-moon-line.svg new file mode 100644 index 0000000..c111745 --- /dev/null +++ b/src/lib/symbol/ri-moon-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-more-fill.svg b/src/lib/symbol/ri-more-fill.svg new file mode 100644 index 0000000..8772c9c --- /dev/null +++ b/src/lib/symbol/ri-more-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-more-line.svg b/src/lib/symbol/ri-more-line.svg new file mode 100644 index 0000000..3fe1a50 --- /dev/null +++ b/src/lib/symbol/ri-more-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-movie-2-fill.svg b/src/lib/symbol/ri-movie-2-fill.svg new file mode 100644 index 0000000..f8c30a1 --- /dev/null +++ b/src/lib/symbol/ri-movie-2-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-notification-2-line.svg b/src/lib/symbol/ri-notification-2-line.svg new file mode 100644 index 0000000..a8072f6 --- /dev/null +++ b/src/lib/symbol/ri-notification-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-paint-brush-fill.svg b/src/lib/symbol/ri-paint-brush-fill.svg new file mode 100644 index 0000000..54f987a --- /dev/null +++ b/src/lib/symbol/ri-paint-brush-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-paint-brush-line.svg b/src/lib/symbol/ri-paint-brush-line.svg new file mode 100644 index 0000000..7538cb2 --- /dev/null +++ b/src/lib/symbol/ri-paint-brush-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-palette-line.svg b/src/lib/symbol/ri-palette-line.svg new file mode 100644 index 0000000..4f41b35 --- /dev/null +++ b/src/lib/symbol/ri-palette-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-parent-line.svg b/src/lib/symbol/ri-parent-line.svg new file mode 100644 index 0000000..c3fbc10 --- /dev/null +++ b/src/lib/symbol/ri-parent-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-phone-fill.svg b/src/lib/symbol/ri-phone-fill.svg new file mode 100644 index 0000000..2de9782 --- /dev/null +++ b/src/lib/symbol/ri-phone-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-plane-fill.svg b/src/lib/symbol/ri-plane-fill.svg new file mode 100644 index 0000000..b66fb2c --- /dev/null +++ b/src/lib/symbol/ri-plane-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-plane-line.svg b/src/lib/symbol/ri-plane-line.svg new file mode 100644 index 0000000..b66fb2c --- /dev/null +++ b/src/lib/symbol/ri-plane-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-qr-code-fill.svg b/src/lib/symbol/ri-qr-code-fill.svg new file mode 100644 index 0000000..88869b1 --- /dev/null +++ b/src/lib/symbol/ri-qr-code-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-qr-scan-line.svg b/src/lib/symbol/ri-qr-scan-line.svg new file mode 100644 index 0000000..6b5323c --- /dev/null +++ b/src/lib/symbol/ri-qr-scan-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-radio-button-fill.svg b/src/lib/symbol/ri-radio-button-fill.svg new file mode 100644 index 0000000..73a60db --- /dev/null +++ b/src/lib/symbol/ri-radio-button-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-radio-button-line.svg b/src/lib/symbol/ri-radio-button-line.svg new file mode 100644 index 0000000..b48073d --- /dev/null +++ b/src/lib/symbol/ri-radio-button-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-restaurant-2-fill.svg b/src/lib/symbol/ri-restaurant-2-fill.svg new file mode 100644 index 0000000..6c8bf5c --- /dev/null +++ b/src/lib/symbol/ri-restaurant-2-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-restaurant-2-line.svg b/src/lib/symbol/ri-restaurant-2-line.svg new file mode 100644 index 0000000..423eaa0 --- /dev/null +++ b/src/lib/symbol/ri-restaurant-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-riding-line.svg b/src/lib/symbol/ri-riding-line.svg new file mode 100644 index 0000000..e6b70ad --- /dev/null +++ b/src/lib/symbol/ri-riding-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-send-plane-line.svg b/src/lib/symbol/ri-send-plane-line.svg new file mode 100644 index 0000000..cf513a4 --- /dev/null +++ b/src/lib/symbol/ri-send-plane-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-service-line.svg b/src/lib/symbol/ri-service-line.svg new file mode 100644 index 0000000..b90f9d0 --- /dev/null +++ b/src/lib/symbol/ri-service-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-share-forward-2-fill.svg b/src/lib/symbol/ri-share-forward-2-fill.svg new file mode 100644 index 0000000..b0b0a1b --- /dev/null +++ b/src/lib/symbol/ri-share-forward-2-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-share-forward-line.svg b/src/lib/symbol/ri-share-forward-line.svg new file mode 100644 index 0000000..06edd01 --- /dev/null +++ b/src/lib/symbol/ri-share-forward-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-share-line.svg b/src/lib/symbol/ri-share-line.svg new file mode 100644 index 0000000..eff2e7e --- /dev/null +++ b/src/lib/symbol/ri-share-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-shield-user-line.svg b/src/lib/symbol/ri-shield-user-line.svg new file mode 100644 index 0000000..a2fc12a --- /dev/null +++ b/src/lib/symbol/ri-shield-user-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-ship-2-line.svg b/src/lib/symbol/ri-ship-2-line.svg new file mode 100644 index 0000000..1e4169f --- /dev/null +++ b/src/lib/symbol/ri-ship-2-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-shopping-basket-line.svg b/src/lib/symbol/ri-shopping-basket-line.svg new file mode 100644 index 0000000..022f0ab --- /dev/null +++ b/src/lib/symbol/ri-shopping-basket-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-skip-down-line.svg b/src/lib/symbol/ri-skip-down-line.svg new file mode 100644 index 0000000..2a09e0b --- /dev/null +++ b/src/lib/symbol/ri-skip-down-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-smartphone-line.svg b/src/lib/symbol/ri-smartphone-line.svg new file mode 100644 index 0000000..27062a9 --- /dev/null +++ b/src/lib/symbol/ri-smartphone-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-spy-fill.svg b/src/lib/symbol/ri-spy-fill.svg new file mode 100644 index 0000000..eb84073 --- /dev/null +++ b/src/lib/symbol/ri-spy-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-star-fill.svg b/src/lib/symbol/ri-star-fill.svg new file mode 100644 index 0000000..89706df --- /dev/null +++ b/src/lib/symbol/ri-star-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-star-line.svg b/src/lib/symbol/ri-star-line.svg new file mode 100644 index 0000000..2455a96 --- /dev/null +++ b/src/lib/symbol/ri-star-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-sun-line.svg b/src/lib/symbol/ri-sun-line.svg new file mode 100644 index 0000000..2d4bace --- /dev/null +++ b/src/lib/symbol/ri-sun-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-surgical-mask-fill.svg b/src/lib/symbol/ri-surgical-mask-fill.svg new file mode 100644 index 0000000..8553a73 --- /dev/null +++ b/src/lib/symbol/ri-surgical-mask-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-survey-fill.svg b/src/lib/symbol/ri-survey-fill.svg new file mode 100644 index 0000000..1f7fe72 --- /dev/null +++ b/src/lib/symbol/ri-survey-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-survey-line.svg b/src/lib/symbol/ri-survey-line.svg new file mode 100644 index 0000000..a21e129 --- /dev/null +++ b/src/lib/symbol/ri-survey-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-switch-fill.svg b/src/lib/symbol/ri-switch-fill.svg new file mode 100644 index 0000000..8140e6a --- /dev/null +++ b/src/lib/symbol/ri-switch-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-tablet-line.svg b/src/lib/symbol/ri-tablet-line.svg new file mode 100644 index 0000000..f4ac7b7 --- /dev/null +++ b/src/lib/symbol/ri-tablet-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-thumb-up-fill.svg b/src/lib/symbol/ri-thumb-up-fill.svg new file mode 100644 index 0000000..7fc40b9 --- /dev/null +++ b/src/lib/symbol/ri-thumb-up-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-train-line.svg b/src/lib/symbol/ri-train-line.svg new file mode 100644 index 0000000..e798574 --- /dev/null +++ b/src/lib/symbol/ri-train-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-ubuntu-fill.svg b/src/lib/symbol/ri-ubuntu-fill.svg new file mode 100644 index 0000000..4b274b0 --- /dev/null +++ b/src/lib/symbol/ri-ubuntu-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-ubuntu-line.svg b/src/lib/symbol/ri-ubuntu-line.svg new file mode 100644 index 0000000..e65a3d5 --- /dev/null +++ b/src/lib/symbol/ri-ubuntu-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-user-3-line.svg b/src/lib/symbol/ri-user-3-line.svg new file mode 100644 index 0000000..e7c59bd --- /dev/null +++ b/src/lib/symbol/ri-user-3-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-user-add-line.svg b/src/lib/symbol/ri-user-add-line.svg new file mode 100644 index 0000000..ddaa9d7 --- /dev/null +++ b/src/lib/symbol/ri-user-add-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-user-smile-line.svg b/src/lib/symbol/ri-user-smile-line.svg new file mode 100644 index 0000000..d960853 --- /dev/null +++ b/src/lib/symbol/ri-user-smile-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-volume-down-line.svg b/src/lib/symbol/ri-volume-down-line.svg new file mode 100644 index 0000000..3e4ca8f --- /dev/null +++ b/src/lib/symbol/ri-volume-down-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-volume-mute-line.svg b/src/lib/symbol/ri-volume-mute-line.svg new file mode 100644 index 0000000..b012b1a --- /dev/null +++ b/src/lib/symbol/ri-volume-mute-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-volume-up-line.svg b/src/lib/symbol/ri-volume-up-line.svg new file mode 100644 index 0000000..82950c5 --- /dev/null +++ b/src/lib/symbol/ri-volume-up-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-wifi-line.svg b/src/lib/symbol/ri-wifi-line.svg new file mode 100644 index 0000000..3df2f45 --- /dev/null +++ b/src/lib/symbol/ri-wifi-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-wifi-off-line.svg b/src/lib/symbol/ri-wifi-off-line.svg new file mode 100644 index 0000000..3522d7c --- /dev/null +++ b/src/lib/symbol/ri-wifi-off-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-windows-fill.svg b/src/lib/symbol/ri-windows-fill.svg new file mode 100644 index 0000000..1618f61 --- /dev/null +++ b/src/lib/symbol/ri-windows-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-wireless-charging-line.svg b/src/lib/symbol/ri-wireless-charging-line.svg new file mode 100644 index 0000000..f7c2a55 --- /dev/null +++ b/src/lib/symbol/ri-wireless-charging-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-zzz-fill.svg b/src/lib/symbol/ri-zzz-fill.svg new file mode 100644 index 0000000..fe9734e --- /dev/null +++ b/src/lib/symbol/ri-zzz-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/lib/symbol/ri-zzz-line.svg b/src/lib/symbol/ri-zzz-line.svg new file mode 100644 index 0000000..fe9734e --- /dev/null +++ b/src/lib/symbol/ri-zzz-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/routes/+layout.js b/src/routes/+layout.js new file mode 100644 index 0000000..babfd5e --- /dev/null +++ b/src/routes/+layout.js @@ -0,0 +1,3 @@ +// 修改 ssr 为 false ,使其不再使用服务端渲染,而是使用客户端渲染 +// Change ssr to false to use client-side rendering instead of server-side rendering +export const ssr = false; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..471ee4c --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,186 @@ + + +
+ item.nav === $page.url.pathname.substring(7))[0][isZh ? 'title_zh' : 'title_en'] + + (isZh ? '示例' : ' Demo')} + left={showLeft ? 'back' : 'none'} + rightSlot + injClass="bg-white/60 dark:bg-black/60 backdrop-blur" + on:clickleft={() => window.history.back()} + > +
+ {#if isIframe === '0'} +
+ + + +
+
+ + + +
+ {/if} + + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..b79c8fd --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,64 @@ + + +
+ + + + +
+ +
stdf.design
+
+ +
+
+ {#each menuList as menu} +
{isZh ? menu.class : menu.class_en}
+ + {#each menu.childs as child, i} + + + {/each} + + {/each} +
+
{isZh ? '当前组件总数:' : 'Current number of components: '}{menuListArr.length}
+
+ + +
+ {isZh ? 'English' : '简体中文'} +
+
+
diff --git a/src/routes/components/Aphorism.svelte b/src/routes/components/Aphorism.svelte new file mode 100644 index 0000000..9598cef --- /dev/null +++ b/src/routes/components/Aphorism.svelte @@ -0,0 +1,26 @@ + + +
+ {#each aphorismsList as item} +
1}> +
{item.text}
+
{item.from}
+
+ {/each} +
diff --git a/src/routes/components/ThemeSwitch.svelte b/src/routes/components/ThemeSwitch.svelte new file mode 100644 index 0000000..19ed6ef --- /dev/null +++ b/src/routes/components/ThemeSwitch.svelte @@ -0,0 +1,64 @@ + + +
+ {#each themes as item} + + +
selectColorFunc(e, item)} + > +
+ + + + +
+
{isZh ? item.name_CN : item.name}
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ +
+ {#each item.theme.color.extend as child} +
+ {/each} +
+
+
+
+ {/each} +
diff --git a/src/routes/en_US/actionSheet/+page.svelte b/src/routes/en_US/actionSheet/+page.svelte new file mode 100644 index 0000000..103de98 --- /dev/null +++ b/src/routes/en_US/actionSheet/+page.svelte @@ -0,0 +1,104 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + (toastVisible1 = true)} /> + + + (visible8 = true)} /> + (toastVisible2 = true)} /> + + + (visible9 = true)} /> + + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + +
diff --git a/src/routes/en_US/asyncPicker/+page.svelte b/src/routes/en_US/asyncPicker/+page.svelte new file mode 100644 index 0000000..c5a89e8 --- /dev/null +++ b/src/routes/en_US/asyncPicker/+page.svelte @@ -0,0 +1,734 @@ + + + +
+
+ {#if allItems.length} + Currently selected: + {#each allItems as item} + {item.label} + {/each} + {:else} +
Please select the data
+ {/if} +
+
+ {#if allIndexs.length} + The index value of the current selection value is located:: + {#each allIndexs as index} + {index} + {/each} + {:else} +
Please select the data
+ {/if} +
+ { + visible1 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible2 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible3 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible5 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible4 = true; + diffLabelKeyData = linkageDiffLabeData; + labelKey = 'province'; + diffLabelKeyCurrentLevel = 0; + diffLabelKeyLastLevel = false; + diffLabelKeyFirstLevel = true; + diffLabelKeyLevel1Data = linkageDiffLabeData[0].children; + }} + /> + + + { + visible6 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible8 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible7 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible9 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + titleBind = 'Please select the provincial level'; + level1Data = linkageData[0].children; + }} + /> + +
+ diff --git a/src/routes/en_US/asyncPicker/data_en.js b/src/routes/en_US/asyncPicker/data_en.js new file mode 100644 index 0000000..6afb518 --- /dev/null +++ b/src/routes/en_US/asyncPicker/data_en.js @@ -0,0 +1,402 @@ +const linkageData = [ + { + label: 'Yunnan', + children: [ + { + label: 'Kunming', + children: [{ label: 'Panlong District' }, { label: 'Wuhua District' }, { label: 'Guandu District' }, { label: 'Xishan District' }], + }, + { + label: 'Qujing', + children: [ + { label: 'Qilin District' }, + { label: 'Zhanyi District' }, + { label: 'Malong County' }, + { label: 'Luliang County' }, + { label: 'Shizong County' }, + { label: 'Luoping County' }, + { label: 'Fuyuan County' }, + { label: 'Huize County' }, + { label: 'Xuanwei City' }, + ], + }, + { + label: 'Yuxi', + children: [ + { label: 'Hongta District' }, + { label: 'Jiangchuan District' }, + { label: 'Chengjiang County' }, + { label: 'Tonghai County' }, + { label: 'Huaning County' }, + ], + }, + { + label: 'Baoshan', + children: [ + { label: 'Longyang District' }, + { label: 'Shidian County' }, + { label: 'Longling County' }, + { label: 'Changning County' }, + { label: 'Tengchong City' }, + { label: 'Longling County' }, + ], + }, + { + label: 'Lijiang', + children: [ + { label: 'Gucheng District' }, + { label: 'Yongsheng County' }, + { label: 'Huaping County' }, + { label: 'Yulong Naxi Autonomous County' }, + { label: 'Ninglang Yi Autonomous County' }, + ], + }, + { + label: "Pu'er", + children: [ + { label: 'Simao District' }, + { label: "Ning'er Hani and Yi Autonomous County" }, + { label: 'Mojiang Hani Autonomous County' }, + { label: 'Jingdong Yi Autonomous County' }, + { label: 'Jinggu Dai and Yi Autonomous County' }, + ], + }, + { + label: 'Lincang', + children: [ + { label: 'Linxiang District' }, + { label: 'Fengqing County' }, + { label: 'Yun County' }, + { label: 'Yongde County' }, + { label: 'Zhenkang County' }, + ], + }, + { + label: 'Chuxiong', + children: [ + { label: 'Chuxiong City' }, + { label: 'Shuangbai County' }, + { label: 'Mouding County' }, + { label: 'Nanhua County' }, + { label: "Yao'an County" }, + { label: 'Dayao County' }, + ], + }, + { + label: 'Honghe', + children: [ + { label: 'Gejiu City' }, + { label: 'Kaiyuan City' }, + { label: 'Mengzi City' }, + { label: 'Mile City' }, + { label: 'Pingbian Miao Autonomous County' }, + { label: 'Jianshui County' }, + ], + }, + { + label: 'Wenshan', + children: [ + { label: 'Wenshan City' }, + { label: 'Yanshan County' }, + { label: 'Xichou County' }, + { label: 'Malipo County' }, + { label: 'Maguan County' }, + { label: 'Qiubei County' }, + { label: 'Guangnan County' }, + { label: 'Funing County' }, + ], + }, + ], + }, + { + label: 'Guangdong', + children: [ + { + label: 'Guangzhou', + children: [ + { label: 'Tianhe District' }, + { label: 'Haizhu District' }, + { label: 'Liwan District' }, + { label: 'Yuexiu District' }, + { label: 'Baiyun District' }, + { label: 'Huangpu District' }, + ], + }, + { + label: 'Shenzhen', + children: [ + { label: 'Luohu District' }, + { label: 'Futian District' }, + { label: 'Nanshan District' }, + { label: "Bao'an District" }, + { label: 'Longgang District' }, + { label: 'Yantian District' }, + ], + }, + { label: 'Zhuhai', children: [{ label: 'Xiangzhou District' }, { label: 'Doumen District' }, { label: 'Jinwan District' }] }, + { + label: 'Shantou', + children: [ + { label: 'Longhu District' }, + { label: 'Jinping District' }, + { label: 'Gongjing District' }, + { label: 'Chaoyang District' }, + { label: 'Chaonan District' }, + { label: 'Chenghai District' }, + ], + }, + { + label: 'Foshan', + children: [ + { label: 'Chancheng District' }, + { label: 'Nanhai District' }, + { label: 'Shunde District' }, + { label: 'Sanshui District' }, + { label: 'Gaoming District' }, + ], + }, + ], + }, + { + label: 'Sichuan', + children: [ + { + label: 'Chengdu', + children: [ + { label: 'Jinjiang District' }, + { label: 'Qingyang District' }, + { label: 'Jinniu District' }, + { label: 'Wuhou District' }, + { label: 'Chenghua District' }, + { label: 'Longquanyi District' }, + ], + }, + { + label: 'Mianyang', + children: [ + { label: 'Fucheng District' }, + { label: 'Youxian District' }, + { label: 'Anzhou District' }, + { label: 'Santai County' }, + { label: 'Yanting County' }, + { label: 'Zitong County' }, + ], + }, + { + label: 'Zigong', + children: [ + { label: 'Ziliujing District' }, + { label: 'Gongjing District' }, + { label: "Da'an District" }, + { label: 'Yantan District' }, + { label: 'Rong County' }, + { label: 'Fushun County' }, + ], + }, + { + label: 'Panzhihua', + children: [ + { label: 'Dong District' }, + { label: 'Xi District' }, + { label: 'Renhe District' }, + { label: 'Miyi County' }, + { label: 'Yanbian County' }, + ], + }, + ], + }, + { + label: 'Beijing', + children: [ + { + label: 'Beijing', + children: [ + { label: 'Dongcheng District' }, + { label: 'Xicheng District' }, + { label: 'Chaoyang District' }, + { label: 'Fengtai District' }, + { label: 'Shijingshan District' }, + { label: 'Haidian District' }, + ], + }, + ], + }, + { + label: 'Zhejiang', + children: [ + { + label: 'Hangzhou', + children: [ + { label: 'Shangcheng District' }, + { label: 'Xiacheng District' }, + { label: 'Jianggan District' }, + { label: 'Gongshu District' }, + { label: 'Xihu District' }, + { label: 'Binjiang District' }, + ], + }, + { + label: 'Ningbo', + children: [ + { label: 'Haishu District' }, + { label: 'Jiangdong District' }, + { label: 'Jiangbei District' }, + { label: 'Beilun District' }, + { label: 'Zhenhai District' }, + { label: 'Yinzhou District' }, + ], + }, + { + label: 'Wenzhou', + children: [ + { label: 'Lucheng District' }, + { label: 'Longwan District' }, + { label: 'Ouhai District' }, + { label: 'Dongtou District' }, + { label: 'Yongjia County' }, + { label: 'Pingyang County' }, + ], + }, + { + label: 'Jiaxing', + children: [ + { label: 'Nanhu District' }, + { label: 'Xiuzhou District' }, + { label: 'Jiashan County' }, + { label: 'Haiyan County' }, + { label: 'Haining City' }, + { label: 'Pinghu City' }, + ], + }, + { + label: 'Huzhou', + children: [ + { label: 'Wuxing District' }, + { label: 'Nanxun District' }, + { label: 'Deqing County' }, + { label: 'Changxing County' }, + { label: 'Anji County' }, + ], + }, + ], + }, +]; + +const linkageDiffLabeData = [ + { + province: 'Yunnan', + children: [ + { + city: 'Kunming', + children: [ + { region: 'Panlong District' }, + { region: 'Wuhua District' }, + { region: 'Guandu District' }, + { region: 'Xishan District' }, + { region: 'Dongchuan District' }, + { region: 'Chenggong District' }, + { region: 'Jinning District' }, + { region: 'Fumin County' }, + { region: 'Yiliang County' }, + { region: 'Shilin Yi Autonomous County' }, + { region: 'Songming County' }, + { region: 'Luquan Yi and Miao Autonomous County' }, + { region: 'Xundian Hui and Yi Autonomous County' }, + { region: 'Anning City' }, + ], + }, + { + city: 'Qujing', + children: [ + { region: 'Qilin District' }, + { region: 'Zhanyi District' }, + { region: 'Malong County' }, + { region: 'Luliang County' }, + { region: 'Shizong County' }, + { region: 'Luoping County' }, + { region: 'Fuyuan County' }, + { region: 'Huize County' }, + { region: 'Xuanwei City' }, + ], + }, + { + city: 'Yuxi', + children: [ + { region: 'Hongta District' }, + { region: 'Jiangchuan District' }, + { region: 'Chengjiang County' }, + { region: 'Tonghai County' }, + { region: 'Huaning County' }, + { region: 'Yimen County' }, + { region: 'Eshan Yi Autonomous County' }, + { region: 'Xinping Yi and Dai Autonomous County' }, + { region: 'Yuanjiang Hani, Yi and Dai Autonomous County' }, + ], + }, + { + city: 'Baoshan', + children: [ + { region: 'Longyang District' }, + { region: 'Shidian County' }, + { region: 'Longling County' }, + { region: 'Changning County' }, + { region: 'Tengchong City' }, + ], + }, + { + city: 'Lijiang', + children: [ + { region: 'Gucheng District' }, + { region: 'Yongsheng County' }, + { region: 'Huaping County' }, + { region: 'Yulong Naxi Autonomous County' }, + { region: 'Ninglang Yi Autonomous County' }, + ], + }, + { + city: "Pu'er", + children: [ + { region: 'Simao District' }, + { region: "Ning'er Hani and Yi Autonomous County" }, + { region: 'Mojiang Hani Autonomous County' }, + { region: 'Jingdong Yi Autonomous County' }, + { region: 'Jinggu Dai and Yi Autonomous County' }, + { region: 'Zhenyuan Yi, Hani and Lahu Autonomous County' }, + { region: 'Jiangcheng Hani and Yi Autonomous County' }, + { region: 'Menglian Dai, Lahu and Va Autonomous County' }, + { region: 'Lancang Lahu Autonomous County' }, + { region: 'Ximeng Va Autonomous County' }, + ], + }, + ], + }, + { + province: 'Guangdong', + children: [ + { + city: 'Guangzhou', + children: [ + { region: 'Tianhe District' }, + { region: 'Haizhu District' }, + { region: 'Liwan District' }, + { region: 'Yuexiu District' }, + { region: 'Baiyun District' }, + { region: 'Huangpu District' }, + ], + }, + { + city: 'Shenzhen', + children: [ + { region: 'Luohu District' }, + { region: 'Futian District' }, + { region: 'Nanshan District' }, + { region: "Bao'an District" }, + { region: 'Longgang District' }, + { region: 'Yantian District' }, + ], + }, + ], + }, +]; + +export { linkageData, linkageDiffLabeData }; diff --git a/src/routes/en_US/avatar/+page.svelte b/src/routes/en_US/avatar/+page.svelte new file mode 100644 index 0000000..c20dd0a --- /dev/null +++ b/src/routes/en_US/avatar/+page.svelte @@ -0,0 +1,125 @@ + + + +
+
Different rounded corners
+
+ + + + + +
+ +
Different picture types and size
+
+ + + + +
+ +
Custom background color
+
+ + + + +
+ +
Different border
+
+ + + + +
+ +
Replace text
+
+ + + + +
+ +
Replace Icon
+
+ {#each icons as icon} + + {/each} +
+ +
Different size
+
+
+ + + + + +
+
+ + + + + +
+
+ + + +
Avatar group
+
Default
+ + +
smaller
+ + +
loose
+ + +
Border thick point
+ + +
Make the corners smaller
+ + +
Reverse
+ + +
A maximum of 6 are displayed
+ + +
Top layer display increase
+ + +
Do not show top layer
+ +
diff --git a/src/routes/en_US/badge/+page.svelte b/src/routes/en_US/badge/+page.svelte new file mode 100644 index 0000000..ef661e1 --- /dev/null +++ b/src/routes/en_US/badge/+page.svelte @@ -0,0 +1,126 @@ + + + +
+
Basic usage
+
+ + + + + + + + + + + + +
+ +
Different rounded corners
+
+ + + + + + + + + + + + +
+ +
Located on the left
+
+ + + + + + + + + + + + +
+ +
Match other components
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
Badge animation
+
+ + + + + + + + + + + + +
+ + + + + +
Custom background color and border
+
+ + + + + + + + + + + + +
+
diff --git a/src/routes/en_US/bottomSheet/+page.svelte b/src/routes/en_US/bottomSheet/+page.svelte new file mode 100644 index 0000000..5e9379f --- /dev/null +++ b/src/routes/en_US/bottomSheet/+page.svelte @@ -0,0 +1,149 @@ + + + +
+ (visible1 = true)} /> + +
+
This is the content area
+
+
+ + (visible8 = true)} /> + + + + + (visible2 = true)} /> + (toastBackVisible = true)} + on:close={() => (toastCloseVisible = true)} + > + + + + + + (visible3 = true)} /> + + + + + (visible4 = true)} /> + + + + + (visible5 = true)} /> + + + + + (visible6 = true)} /> + + + + + (visible7 = true)} /> + + + + + (visible9 = true)} /> + +
+
Head area
+
title
+
Return and close icons
+
Dividing line
+
No display
+
The location still retains as a sliding touch area
+
+ +
+
+
+ + (visible10 = true)} /> + + + + + (visible13 = true)} /> + + + + + (visible14 = true)} /> + + + + + (visible12 = true)} /> + + + + + (visible11 = true)} /> + +
+ Set the Closeheight to 10. If the position from the bottom of the page is less than 10% at the bottom of the page at the end of the + sliding, it will automatically turn off. +
+
+
+ + + diff --git a/src/routes/en_US/button/+page.svelte b/src/routes/en_US/button/+page.svelte new file mode 100644 index 0000000..b55a37e --- /dev/null +++ b/src/routes/en_US/button/+page.svelte @@ -0,0 +1,161 @@ + + + +
+
+
Different states
+ + + + + +
+
+
Different rounded style
+ + + + + +
+
+
Different fill mode
+ + + + + + + +
+
+
Different border style
+ + + +
+
+
Different size
+ + + + + + +
+
+
Different heights
+ + +
+
+
Fixed size
+
+ + + + + + + + +
+
+
+
Disable
+ + +
+
+
Load
+ + +
+
+
Icon
+ + +
+
+
Love version
+ + +
+
+
Customize
+ + + + + +
+
+
Button group
+ + +
+
+ diff --git a/src/routes/en_US/calendar/+page.svelte b/src/routes/en_US/calendar/+page.svelte new file mode 100644 index 0000000..729ab52 --- /dev/null +++ b/src/routes/en_US/calendar/+page.svelte @@ -0,0 +1,175 @@ + + + +
+ (visible1 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible18 = true)} /> + + + (visible11 = true)} /> + + + (visible19 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible23 = true)} /> + + + (visible17 = true)} /> + + +
+ {#if selectedDates.length} + The following is the following total {selectedDates.length} day: + {:else} +
Please select the date
+ {/if} +
+
+ {#each selectedDates as item} +
{item}
+ {/each} +
+ (visible20 = true)} /> + + +
+ {#if selectedFormatDates.length} + The following is the following total {selectedFormatDates.length} day: + {:else} +
Please select the date
+ {/if} +
+
+ {#each selectedFormatDates as item} +
{item}
+ {/each} +
+ (visible21 = true)} /> + + + (visible22 = true)} /> + +
diff --git a/src/routes/en_US/cell/+page.svelte b/src/routes/en_US/cell/+page.svelte new file mode 100644 index 0000000..018e638 --- /dev/null +++ b/src/routes/en_US/cell/+page.svelte @@ -0,0 +1,127 @@ + + + +
+
+ + + + I am a slot content + + + + (visible = true)} /> + + + + + + + + + + +
+ +
+
+ +
+ +
+
+ +
+
+ +
+ +
+
+ + + + + + + +
+ +
+
+ + +
+ +
+
+
+ + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+ + +
+
+ + + +
+
diff --git a/src/routes/en_US/checkbox/+page.svelte b/src/routes/en_US/checkbox/+page.svelte new file mode 100644 index 0000000..f202d3d --- /dev/null +++ b/src/routes/en_US/checkbox/+page.svelte @@ -0,0 +1,318 @@ + + + +
+
Horizontal arrangement
+
Simple usage
+ + {#each dota as item} + {item.label} + {/each} + + +
Text is in different positions
+ + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + +
Custom icon
+ + Jugg + Mor + Kotl + Mag + + +
Picture option
+ + {#each dotaImgs as dota, i} + +
+ +
+
+ {/each} +
+
+ {imgCheckeds.length > 0 ? 'selected' : 'No hero is selected.'} + {imgCheckeds.join(' + ')}{imgCheckeds.length > 0 ? '。' : ''} +
+ +
No icon && use Button
+ + {#each dota as item} + + + + {/each} + + +
No icon && Customized selection effect
+ + {#each dota as item} + +
+ {item.label} +
+
+ {/each} +
+
+ + +
+
Elemental element arrangementtal element arrangement
+
No icon && Elemental element arrangement
+ + {#each dotaInlines as item} + +
+ {item} +
+
+ {/each} +
+
selected:{checkInlines.join('-')}
+
+ + +
+
Vertical arrangement
+
Basic usage
+ + {#each dota as item} + {item.label} + {/each} + + +
Long text option
+ + {#each dota as item} + {item.desc} + {/each} + + +
Text to left
+ + {#each dota as item, i} + + {item.label} + {#if i !== dota.length - 1} +
+ {/if} + + {/each} + + +
Complicated option && Customized selection effect
+ + {#each dotaVoices as item, i} + +
+ {item.label} + {#each item.voices as voice} +
{voice}
+ {/each} + {#if i !== dotaVoices.length - 1} +
+ {/if} +
+ + {/each} + + +
Batch operation
+ + {#each dotaAll as item} + {item} + {/each} + +
selected:{checkDotas.join('-')}
+
Une selected:{noCheckDotas.join('-')}
+
+
+ +
+
+ +
+
+ +
+
+ +
Animation
+
+
+
Unsteady
+
+ + {#each animateNos as item (item)} +
+ {item} +
+ {/each} +
+
+
+
+
selected
+ + {#each animateYess as item (item)} +
+ + {item} + +
+ {/each} +
+
+
+
diff --git a/src/routes/en_US/dialog/+page.svelte b/src/routes/en_US/dialog/+page.svelte new file mode 100644 index 0000000..e8cb268 --- /dev/null +++ b/src/routes/en_US/dialog/+page.svelte @@ -0,0 +1,152 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + + + (visible3 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible4 = true)} /> + +
+ +
+
+ + (visible11 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible19 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible15 = true)} /> + + + (visible14 = true)} /> + (toastVisible = true)} /> + + + (visible16 = true)} /> + (toastVisible2 = true)} /> + + + (visible17 = true)} /> + (toastVisible3 = true)} /> + + + (visible18 = true)} /> + + + {#if loading} + + {:else} + Enter + {/if} + + + +
+ + + diff --git a/src/routes/en_US/divider/+page.svelte b/src/routes/en_US/divider/+page.svelte new file mode 100644 index 0000000..c390c5b --- /dev/null +++ b/src/routes/en_US/divider/+page.svelte @@ -0,0 +1,79 @@ + + + +
+
+
Different length
+ + + + + +
+
+
Include text
+ + +
+
+
Different heights
+
start
+ +
Height is 0
+ +
Height is 4
+ +
Height is 8
+
+ +
+
Text location
+ + + +
+
+
Line style
+ + + +
+
+
Custom color
+ + + + + +
+
+
Vertical segmentation line
+
+ Three -day volleyThree -day LianzhuPerson computer +
+
+
+
Different thickness
+ + + +
+ SwordThree -day volleyThree -day LianzhuPerson + computer +
+
+
+
Custom vertical division line
+
+ Increase + + customize + + color + + Line style +
+
+
diff --git a/src/routes/en_US/grids/+page.svelte b/src/routes/en_US/grids/+page.svelte new file mode 100644 index 0000000..47feb29 --- /dev/null +++ b/src/routes/en_US/grids/+page.svelte @@ -0,0 +1,280 @@ + + + +
Example of using a placeholder 3﹡4
+ + + 3﹡1 + + + 1﹡3 + + + 2﹡1 + + + 1﹡2 + + + 1﹡1 + + + 1﹡1 + + + +
Example of using a placeholder 4﹡6
+ + + 3﹡2 + + + 1﹡3 + + + 4﹡1 + + + 2﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡4 + + + +
Increase the outer marginal and unit grid spacing
+ + + 3﹡1 + + + 1﹡3 + + + 2﹡1 + + + 1﹡2 + + + 1﹡1 + + + 1﹡1 + + + +
Scene example 6﹡5
+
+
+ + +
+
{weekDay}
+
{day}
+
{month}
+
+
+ +
+ {time} +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
Colorful
+
+
+ + +
+ +
+
+ +
+
+ {#if currentDevice === 'iOS'} + + {:else if currentDevice === 'Android'} + + {:else if currentDevice === 'Windows'} + + {:else if currentDevice === 'macOS'} + + {:else} + + {/if} +
+
+
+ {#if currentDevice === 'iOS'} + A15 Bionic + {:else if currentDevice === 'Android'} + Snapdragon 8 Gen1 + {:else if currentDevice === 'Windows'} + AMD YES + {:else if currentDevice === 'macOS'} + M1 Ultra + {:else} + Intel + {/if} +
+
+ {#if currentDevice === 'iOS'} + iPhone + {:else if currentDevice === 'Android'} + Android + {:else if currentDevice === 'Windows'} + Windows + {:else if currentDevice === 'macOS'} + MacBook Pro + {:else} + Ubuntu + {/if} +
+
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+
Bluetooth
+
+
+ +
+
+ + +
+
STDF
+
+
+ +
+
92%
+
+ +
+
charging
+
+
+ +
+ {#if currentDevice === 'iOS'} + + {:else if currentDevice === 'Android'} + + {:else if currentDevice === 'Windows'} + + {:else if currentDevice === 'macOS'} + + {:else} + + {/if} +
+
+ +
+
+ +
+
+
68%
+
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+
Wi-Fi
+
+
+
+
+
diff --git a/src/routes/en_US/icon/+page.svelte b/src/routes/en_US/icon/+page.svelte new file mode 100644 index 0000000..3f15352 --- /dev/null +++ b/src/routes/en_US/icon/+page.svelte @@ -0,0 +1,110 @@ + + + +
+
+
Basic usage
+
+ {#each icons as icon} +
+ +
{icon}
+
+ {/each} +
+
+
+
Follow the theme color
+
+ {#each icons as icon} +
+ +
+ {/each} +
+
+
+
Different size
+
+ {#each icons as icon, i} +
+ +
{18 + i * 6}
+
+ {/each} +
+
+
+
Different transparency
+
+ {#each icons as icon, i} +
+ +
{(0.2 + i * 0.2).toFixed(1)}
+
+ {/each} +
+
+
+
+ Custom colorBy injClass +
+
+ {#each icons as icon} +
+ +
+ {/each} +
+
+
+
+ Custom colorby slot +
+
+ {#each icons as icon} +
+ + + + + +
+ {/each} +
+
+
+
Slot
+
+ + {#each icons as icon} +
+ + + +
+ {/each} +
+
+
+
Offset
+
+ + {#each icons as icon, i} +
+ + top:{-4 + i * 2} +
+ {/each} +
+
+
diff --git a/src/routes/en_US/icon/allIcon.md b/src/routes/en_US/icon/allIcon.md new file mode 100644 index 0000000..fa5e315 --- /dev/null +++ b/src/routes/en_US/icon/allIcon.md @@ -0,0 +1,124 @@ +Demo 中用到的所有 svg 图标 + +- account-circle-fill +- account-circle-line +- aliens-fill +- android-fill +- apple-fill +- apps-2-line +- arrow-down-s-line +- arrow-left-s-line +- arrow-right-s-line +- arrow-up-s-fill +- arrow-up-s-line +- bank-line +- barcode-fill +- battery-2-charge-line +- battery-charge-line +- bear-smile-line +- bluetooth-connect-line +- bluetooth-line +- cake-2-fill +- car-line +- check-fill +- check-line +- checkbox-blank-circle-line +- checkbox-circle-fill +- checkbox-circle-line +- checkbox-fill +- checkbox-line +- checkbox-multiple-fill +- checkbox-multiple-line +- chrome-fill +- close-circle-fill +- close-circle-line +- close-fill +- close-line +- code-box-fill +- command-fill +- command-line +- compass-3-fill +- compass-3-line +- compass-line +- computer-line +- cup-fill +- cup-line +- customer-service-2-line +- discuss-fill +- discuss-line +- drag-move-line +- delete-back-2-line +- emotion-line +- emotion-sad-fill +- emotion-sad-line +- error-warning-line +- fingerprint-line +- github-fill +- hand-heart-line +- heart-3-fill +- home-3-fill +- home-3-line +- home-7-line +- hotel-bed-fill +- hotel-bed-line +- image-2-fill +- indent-decrease +- information-line +- lock-line +- macbook-fill +- medal-fill +- mic-off-fill +- money-cny-circle-line +- moon-fill +- moon-line +- more-fil +- more-line +- movie-2-fill +- notification-2-line +- paint-brush-fill +- paint-brush-line +- parent-line +- phone-fill +- plane-fill +- plane-line +- qr-code-fill +- qr-scan-line +- radio-button-fill +- radio-button-line +- restaurant-2-fill +- restaurant-2-line +- riding-line +- send-plane-line +- service-line +- share-forward-2-fill +- share-forward-line +- share-line +- shield-user-line +- ship-2-line +- shopping-basket-line +- smartphone-line +- spy-fill +- star-fill +- star-line +- sun-line +- surgical-mask-fill +- survey-fill +- survey-line +- switch-fill +- skip-down-line +- tablet-line +- thumb-up-fill +- train-line +- ubuntu-fill +- ubuntu-line +- user-3-line +- user-smile-line +- volume-down-line +- volume-mute-line +- volume-up-line +- wifi-line +- wifi-off-line +- windows-fill +- wireless-charging-line +- zzz-fill +- zzz-lin diff --git a/src/routes/en_US/indexBar/+page.svelte b/src/routes/en_US/indexBar/+page.svelte new file mode 100644 index 0000000..935bd5c --- /dev/null +++ b/src/routes/en_US/indexBar/+page.svelte @@ -0,0 +1,184 @@ + + + +{#if dataFlag === 0} + { + toastObj = e.detail; + visible = true; + }} + /> +{:else if dataFlag === 1} + { + toastObj = e.detail; + visible = true; + }} + /> +{:else} + { + toastObj = e.detail; + visible = true; + }} + /> +{/if} + + +
+ + + + +
diff --git a/src/routes/en_US/input/+page.svelte b/src/routes/en_US/input/+page.svelte new file mode 100644 index 0000000..cb916dd --- /dev/null +++ b/src/routes/en_US/input/+page.svelte @@ -0,0 +1,277 @@ + + + +
Basic usage
+ + +
Without the title
+ + +
customize placeholder
+ + +
+ Different input types + {#if isIframe} + Please check the keyboard type on your mobile device. + {/if} +
+ + + + + + + + + + + +
Linear style
+ + + + +
Different transition time
+ + + + + + +
Different title positions
+ + + + +
Different input text position
+ + + +
Different rounded style
+ + + + + + +
Different vertical spacing
+ + + + + + + +
Removal
+ + +
Disable
+ + +
Different states
+ + + + + + + + +
Left with icon
+ + + +
Left with text
+ + +
The left with icon and text
+ + +
The left with text and icon
+ + +
left with icon & text & icon
+ + +
left with icon
+ + + +
right with text
+ + +
right with iocn and text
+ + +
right with text and icon
+ + +
right with icon & text & icon
+ + +
left with text, right with icon
+ + +
Six left and right all band
+ + +
Prompt information and data item combination
+ + + + + + + +
Show all configuration items
+ + +
label1 and label4 use slot
+ +
+ + + + +
+
+ +
+ + +
Dynamic display
+ +
+ {#if mobileLength === 11} + + {:else if mobileLength === 0} + + {:else} + + {/if} +
+ + +
bind value
+ + + + +
click label4 trigger event
+ + +
textarea
+ + +
textarea automatic height
+ + +
Listen for keydown event
+
You pressed {key}
+ diff --git a/src/routes/en_US/loading/+page.svelte b/src/routes/en_US/loading/+page.svelte new file mode 100644 index 0000000..6f3fd40 --- /dev/null +++ b/src/routes/en_US/loading/+page.svelte @@ -0,0 +1,153 @@ + + + +
+ + +
+
+ {#each ['Default', 'Theme', 'Custom', 'Inverse', 'Inv theme'] as item} +
{item}
+ {/each} +
+
+ + {#each arr1 as item, i} +
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+ {/each} +
+
+
Continually updated...
+
+ +
+
+ {#each ['Default', 'Custom', 'Inverse'] as item} +
{item}
+ {/each} +
+
+ + {#each arr2 as item, i} +
+
+ +
+
{'2_' + i}
+
+
+
+ +
+
{'2_' + i}
+
+
+
+ +
+
{'2_' + i}
+
+ {/each} +
+
+
Continually updated...
+
+ +
+
+ {#each ['Default', 'Custom', 'Default', 'Custom'] as item} +
{item}
+ {/each} +
+
+ + {#each arr4 as item, i} +
+
+ +
+
{'4_' + i}
+
+
+
+ +
+
{'4_' + i}
+
+ {/each} +
+
+
Continually updated...
+
+ +
+
Continually updated...
+ + +
+ +
+ {#each speedBtns as item} +
+ +
+ {/each} +
diff --git a/src/routes/en_US/mask/+page.svelte b/src/routes/en_US/mask/+page.svelte new file mode 100644 index 0000000..0c1135c --- /dev/null +++ b/src/routes/en_US/mask/+page.svelte @@ -0,0 +1,61 @@ + + + +
+ (visible1 = true)} /> + (visible1 = false)} /> + + (visible2 = true)} /> + (visible2 = false)} /> + + (visible3 = true)} /> + (visible3 = false)} /> + + (visible4 = true)} /> + +
+
+ +
+
+ +
+
+ + (visible5 = true)} /> + (visible5 = false)} /> + + (visible6 = true)} /> + (visible6 = false)} /> + + (visible7 = true)} /> + (visible7 = false)} /> + + (visible8 = true)} /> + (visible8 = false)} /> + + (visible9 = true)} /> + (visible9 = false)} /> + + (visible10 = true)} /> + + + (visible11 = true)} /> + +
diff --git a/src/routes/en_US/modal/+page.svelte b/src/routes/en_US/modal/+page.svelte new file mode 100644 index 0000000..951c3bd --- /dev/null +++ b/src/routes/en_US/modal/+page.svelte @@ -0,0 +1,112 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible12 = true)} /> + + + (visible10 = true)} /> + +
+ +
+
+ + (visible7 = true)} /> + + + (visible11 = true)} /> + + + (visible13 = true)} /> + (toastVisible = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + +
+ + + diff --git a/src/routes/en_US/navBar/+page.svelte b/src/routes/en_US/navBar/+page.svelte new file mode 100644 index 0000000..35be5be --- /dev/null +++ b/src/routes/en_US/navBar/+page.svelte @@ -0,0 +1,73 @@ + + + +
+ + + + + (visible1 = true)} /> + + + { + visible2 = true; + rightIndex = e.detail; + }} + /> + + + + + + + +
Customize text colors by slot
+
+ + +
+
title Slot render header area
+
right Slot render right and clickable
+
+
+ + +
(visible3 = true)}>Hello
+
+
+ + + + + +
+ +
+
+ injClass and slot combine custom styles +
+
+ +
+
+
diff --git a/src/routes/en_US/noticeBar/+page.svelte b/src/routes/en_US/noticeBar/+page.svelte new file mode 100644 index 0000000..cbad653 --- /dev/null +++ b/src/routes/en_US/noticeBar/+page.svelte @@ -0,0 +1,63 @@ + + + +
Basic usage
+ + +
The announcements are short and do not scroll
+ + +
Set notification spacing
+ + +
Set rolling speed
+ + +
Right arrow (listen for click events)
+ (visible = true)}> + + +
No content on the right
+ + +
Nothing on the left
+ + +
Set text size
+ + +
Custom left
+ + +🥳 + +
Vertical rolling
+ + +
Scroll transition to 1 second
+ + +
The scrolling interval is 8 seconds
+ + +
Excessively long text
+ + +
Single bar does not roll
+ + +
Custom style
+ + + +
diff --git a/src/routes/en_US/numKeyboard/+page.svelte b/src/routes/en_US/numKeyboard/+page.svelte new file mode 100644 index 0000000..1dfe28b --- /dev/null +++ b/src/routes/en_US/numKeyboard/+page.svelte @@ -0,0 +1,128 @@ + + + + (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible9 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible10 = true)} /> + + + (visible18 = true)} /> + + + (visible11 = true)} /> + + + +
+ {value} + {#if !doneDisabled} + + {/if} +
+ (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible17 = true)} /> + + + (visible19 = true)} /> + diff --git a/src/routes/en_US/pagination/+page.svelte b/src/routes/en_US/pagination/+page.svelte new file mode 100644 index 0000000..42978bc --- /dev/null +++ b/src/routes/en_US/pagination/+page.svelte @@ -0,0 +1,131 @@ + + +
Basic usage
+ + +
Event monitoring
+
Current page number: {current}
+ + +
Initially omitting page number
+
Can be used to guide users
+ + +
Set the initial page
+ + +
Maximum display 11 pages
+
At the same time display more pages but the page number is small
+ + +
Maximum display 5 pages
+
Suitable for scenes with smaller paging area
+
+
This is my site
+
+ +
+
+ +
no data
+ + +
Only one page
+ + +
The total number of pages does not exceed the maximum display page
+
There will be no omit -to -page number
+ + +
The total page number exceeds the maximum number of display pages, but not much
+
There will not be two provinces to elaborate before and after the same existence
+ + +
A lot of total pages
+
There will be two provinces to omit the page number before and after at the same time
+ + +
Only 3 items per page
+ + +
Gao Liang Page Code is a border
+ + +
The highlight page number is block shape
+ + +
Increase high -bright pages round corners
+ + +
Number of omittings is 2
+ + +
injection injClass
+ + +
Simulation request
+
+ {#each data as item} +
1}> +
{item.text}
+
{item.from}
+
+ {/each} + {#if loading} +
+
Query {currentPage} Page data...
+ +
+ {/if} +
+ + +
Continuous mode
+
Only click on the previous page and next page
+ + +
diff --git a/src/routes/en_US/picker/+page.svelte b/src/routes/en_US/picker/+page.svelte new file mode 100644 index 0000000..81dbc00 --- /dev/null +++ b/src/routes/en_US/picker/+page.svelte @@ -0,0 +1,787 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} + subTitle="You need to disable automatic selection of the last selected item" + /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible20 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible21 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible22 = true)} /> + + + (visible17 = true)} /> + + +
+ {#if allItems.length} + Currently selected: + {#each allItems as item} + {item.label} + {/each} + {:else} +
Please select data
+ {/if} +
+
+ {#if allIndexs.length} + The index values of the current selected values in the column are: + {#each allIndexs as index} + {index} + {/each} + {:else} +
Please select data
+ {/if} +
+ (visible18 = true)} /> + + + (visible19 = true)} /> + +
+ + + diff --git a/src/routes/en_US/picker/data_en.js b/src/routes/en_US/picker/data_en.js new file mode 100644 index 0000000..0b8d7e1 --- /dev/null +++ b/src/routes/en_US/picker/data_en.js @@ -0,0 +1,613 @@ +const someProvinceList = [ + { label: 'Yunnan' }, + { label: 'Beijing' }, + { label: 'Guangdong' }, + { label: 'Chongqing' }, + { label: 'Sichuan' }, + { label: 'Hubei' }, + { label: 'Henan' }, + { label: 'Hunan' }, + { label: 'Shandong' }, + { label: 'Jiangsu' }, + { label: 'Zhejiang' }, + { label: 'Jiangxi' }, + { label: 'Anhui' }, + { label: 'Fujian' }, +]; +const weekList = [ + { label: 'Monday' }, + { label: 'Tuesday' }, + { label: 'Wednesday' }, + { label: 'Thursday' }, + { label: 'Friday' }, + { label: 'Saturday' }, + { label: 'Sunday' }, +]; +const amOrPmList = [{ label: 'AM' }, { label: 'PM' }]; +const timeList = [ + { label: '01:00' }, + { label: '02:00' }, + { label: '03:00' }, + { label: '04:00' }, + { label: '05:00' }, + { label: '06:00' }, + { label: '07:00' }, + { label: '08:00' }, + { label: '09:00' }, + { label: '10:00' }, + { label: '11:00' }, + { label: '12:00' }, +]; +const cityList = [ + { cityName: 'kunming' }, + { cityName: 'qujing' }, + { cityName: 'yuxi' }, + { cityName: 'baoshan' }, + { cityName: 'zhaotong' }, + { cityName: 'lijiang' }, + { cityName: 'puer' }, + { cityName: 'lincang' }, + { cityName: 'chuxiong' }, + { cityName: 'honghe' }, + { cityName: 'wenshan' }, +]; +const linkageData = [ + { + label: 'Yunnan', + children: [ + { + label: 'Kunming', + children: [ + { label: 'Panlong District' }, + { label: 'Wuhua District' }, + { label: 'Guandu District' }, + { label: 'Xishan District' }, + { label: 'Dongchuan District' }, + ], + }, + { + label: 'Qujing', + children: [ + { label: 'Qilin District' }, + { label: 'Zhanyi District' }, + { label: 'Malong County' }, + { label: 'Luliang County' }, + { label: 'Shizong County' }, + { label: 'Luoping County' }, + ], + }, + { + label: 'Yuxi', + children: [ + { label: 'Hongta District' }, + { label: 'Jiangchuan District' }, + { label: 'Chengjiang County' }, + { label: 'Tonghai County' }, + { label: 'Huaning County' }, + ], + }, + { + label: 'Baoshan', + children: [ + { label: 'Longyang District' }, + { label: 'Shidian County' }, + { label: 'Longling County' }, + { label: 'Changning County' }, + { label: 'Tengchong City' }, + { label: 'Longling County' }, + ], + }, + { + label: 'Lijiang', + children: [{ label: 'Gucheng District' }, { label: 'Yongsheng County' }, { label: 'Huaping County' }], + }, + { + label: "Pu'er", + children: [ + { label: 'Simao District' }, + { label: "Ning'er Hani and Yi Autonomous County" }, + { label: 'Mojiang Hani Autonomous County' }, + { label: 'Jingdong Yi Autonomous County' }, + { label: 'Jinggu Dai and Yi Autonomous County' }, + ], + }, + { + label: 'Lincang', + children: [ + { label: 'Linxia District' }, + { label: 'Fengqing County' }, + { label: 'Yun County' }, + { label: 'Yongde County' }, + { label: 'Zhenkang County' }, + ], + }, + { + label: 'Chuxiong', + children: [ + { label: 'Chuxiong City' }, + { label: 'Shuangbai County' }, + { label: 'Mouding County' }, + { label: 'Nanhua County' }, + { label: "Yao'an County" }, + { label: 'Dayao County' }, + ], + }, + { + label: 'Honghe', + children: [ + { label: 'Gejiu City' }, + { label: 'Kaiyuan City' }, + { label: 'Mengzi City' }, + { label: 'Mile City' }, + { label: 'Pingbian Miao Autonomous County' }, + ], + }, + { + label: 'Wenshan', + children: [ + { label: 'Wenshan City' }, + { label: 'Yanshan County' }, + { label: 'Xichou County' }, + { label: 'Malipo County' }, + { label: 'Maguan County' }, + { label: 'Qiubei County' }, + { label: 'Guangnan County' }, + { label: 'Funing County' }, + ], + }, + ], + }, + { + label: 'Guangdong', + children: [ + { + label: 'Guangzhou', + children: [ + { label: 'Tianhe District' }, + { label: 'Haizhu District' }, + { label: 'Liwan District' }, + { label: 'Yuexiu District' }, + { label: 'Baiyun District' }, + { label: 'Huangpu District' }, + ], + }, + { + label: 'Shenzhen', + children: [ + { label: 'Luohu District' }, + { label: 'Futian District' }, + { label: 'Nanshan District' }, + { label: "Bao'an District" }, + { label: 'Longgang District' }, + { label: 'Yantian District' }, + ], + }, + { + label: 'Zhuhai', + children: [{ label: 'Xiangzhou District' }, { label: 'Doumen District' }, { label: 'Jinwan District' }], + }, + { + label: 'Shantou', + children: [ + { label: 'Longhu District' }, + { label: 'Jinping District' }, + { label: 'Haojiang District' }, + { label: 'Chaoyang District' }, + { label: "Chao'an District" }, + { label: 'Chenghai District' }, + ], + }, + { + label: 'Foshan', + children: [ + { label: 'Chancheng District' }, + { label: 'Nanhai District' }, + { label: 'Shunde District' }, + { label: 'Sanshui District' }, + { label: 'Gaoming District' }, + ], + }, + ], + }, + { + label: 'Sichuan', + children: [ + { + label: 'Chengdu', + children: [ + { label: 'Jinjiang District' }, + { label: 'Qingyang District' }, + { label: 'Jinniu District' }, + { label: 'Wuhou District' }, + { label: 'Chenghua District' }, + { label: 'Longquanyi District' }, + ], + }, + { + label: 'Mianyang', + children: [ + { label: 'Fucheng District' }, + { label: 'Youxian District' }, + { label: 'Anzhou District' }, + { label: 'Santai County' }, + { label: 'Yanting County' }, + { label: 'Zitong County' }, + ], + }, + { + label: 'Zigong', + children: [ + { label: 'Ziliujing District' }, + { label: 'Gongjing District' }, + { label: "Da'an District" }, + { label: 'Yantan District' }, + { label: 'Rong County' }, + { label: 'Fushun County' }, + ], + }, + { + label: 'Panzhihua', + children: [ + { label: 'Dong District' }, + { label: 'Xi District' }, + { label: 'Renhe District' }, + { label: 'Miyi County' }, + { label: 'Yanbian County' }, + ], + }, + ], + }, + { + label: 'Beijing', + children: [ + { + label: 'Beijing City', + children: [ + { label: 'Dongcheng District' }, + { label: 'Xicheng District' }, + { label: 'Chaoyang District' }, + { label: 'Fengtai District' }, + { label: 'Shijingshan District' }, + { label: 'Haidian District' }, + ], + }, + ], + }, + { + label: 'Zhejiang', + children: [ + { + label: 'Hangzhou', + children: [ + { label: 'Shangcheng District' }, + { label: 'Xiacheng District' }, + { label: 'Jianggan District' }, + { label: 'Gongshu District' }, + { label: 'Xihu District' }, + { label: 'Binjiang District' }, + ], + }, + { + label: 'Ningbo', + children: [ + { label: 'Haishu District' }, + { label: 'Jiangdong District' }, + { label: 'Jiangbei District' }, + { label: 'Beilun District' }, + { label: 'Zhenhai District' }, + { label: 'Yinzhou District' }, + ], + }, + { + label: 'Wenzhou', + children: [ + { label: 'Lucheng District' }, + { label: 'Longwan District' }, + { label: 'Ouhai District' }, + { label: 'Dongtou District' }, + { label: 'Yongjia County' }, + { label: 'Pingyang County' }, + ], + }, + { + label: 'Jiaxing', + children: [ + { label: 'Nanhu District' }, + { label: 'Xiuzhou District' }, + { label: 'Jiashan County' }, + { label: 'Haiyan County' }, + { label: 'Haining City' }, + { label: 'Pinghu City' }, + ], + }, + { + label: 'Huzhou', + children: [ + { label: 'Wuxing District' }, + { label: 'Nanxun District' }, + { label: 'Deqing County' }, + { label: 'Changxing County' }, + { label: 'Anji County' }, + ], + }, + ], + }, +]; +const linkagDiffLabelKeyData = [ + { + province: 'Yunnan', + children: [ + { + city: 'Kunming', + children: [ + { region: 'Panlong Qu' }, + { region: 'Wuhua Qu' }, + { region: 'Guandu Qu' }, + { region: 'Xishan Qu' }, + { region: 'Dongchuan Qu' }, + { region: 'Chenggong Qu' }, + { region: 'Jinning Qu' }, + ], + }, + { + city: 'Qujing', + children: [ + { region: 'Qilin Qu' }, + { region: 'Zhanyi Qu' }, + { region: 'Malong Xian' }, + { region: 'Luliang Xian' }, + { region: 'Shizong Xian' }, + { region: 'Luoping Xian' }, + ], + }, + { + city: 'Yuxi', + children: [ + { region: 'Hongta Qu' }, + { region: 'Jiangchuan Qu' }, + { region: 'Chengjiang Xian' }, + { region: 'Tonghai Xian' }, + { region: 'Huaning Xian' }, + { region: 'Yimen Xian' }, + ], + }, + ], + }, + { + province: 'Guizhou', + children: [ + { + city: 'Guiyang', + children: [ + { region: 'Nanming Qu' }, + { region: 'Yunyan Qu' }, + { region: 'Huaxi Qu' }, + { region: 'Wudang Qu' }, + { region: 'Baiyun Qu' }, + { region: 'Guanshanhu Qu' }, + ], + }, + { + city: 'Zunyi', + children: [ + { region: 'Honghuagang Qu' }, + { region: 'Huichuan Qu' }, + { region: 'Bozhou Qu' }, + { region: 'Tongzi Xian' }, + { region: 'Suiyang Xian' }, + { region: 'Zhengan Xian' }, + ], + }, + { + city: 'Liupanshui', + children: [{ region: 'Zhongshan Qu' }, { region: 'Liuzhi Special District' }, { region: 'Shuicheng Xian' }, { region: 'Pan Xian' }], + }, + ], + }, + { + province: 'Sichuan', + children: [ + { + city: 'Chengdu', + children: [ + { region: 'Jinjiang Qu' }, + { region: 'Qingyang Qu' }, + { region: 'Jinniu Qu' }, + { region: 'Wuhou Qu' }, + { region: 'Chenghua Qu' }, + { region: 'Longquanyi Qu' }, + ], + }, + { + city: 'Mianyang', + children: [ + { region: 'Fucheng Qu' }, + { region: 'Youxian Qu' }, + { region: 'Anzhou Qu' }, + { region: 'Santai Xian' }, + { region: 'Yanling Xian' }, + { region: 'Zitong Xian' }, + ], + }, + { + city: 'Panzhihua', + children: [{ region: 'Dongqu' }, { region: 'Xiqu' }, { region: 'Renhe Qu' }, { region: 'Miyi Xian' }, { region: 'Yanbian Xian' }], + }, + ], + }, + { + province: 'Beijing', + children: [ + { + city: 'Beijing', + children: [ + { region: 'Dongcheng Qu' }, + { region: 'Xicheng Qu' }, + { region: 'Chaoyang Qu' }, + { region: 'Fengtai Qu' }, + { region: 'Shijingshan Qu' }, + { region: 'Haidian Qu' }, + ], + }, + ], + }, +]; +const linkagCustomChildrenKeyData = [ + { + label: 'YunNan', + child: [ + { + label: 'KunMing', + child: [ + { label: 'PanLongQu' }, + { label: 'WuHuaQu' }, + { label: 'GuanDuQu' }, + { label: 'XiShanQu' }, + { label: 'DongChuanQu' }, + { label: 'ChengGongQu' }, + { label: 'JinNingQu' }, + ], + }, + { + label: 'QuJing', + child: [ + { label: 'QiLinQu' }, + { label: 'ZhanYiQu' }, + { label: 'MaLongXian' }, + { label: 'LuLiangXian' }, + { label: 'ShiZongXian' }, + { label: 'LuoPingXian' }, + ], + }, + { + label: 'YuXi', + child: [ + { label: 'HongTaQu' }, + { label: 'JiangChuanQu' }, + { label: 'ChengJiangXian' }, + { label: 'TongHaiXian' }, + { label: 'HuaNingXian' }, + { label: 'YiMenXian' }, + ], + }, + ], + }, + { + label: 'GuiZhou', + child: [ + { + label: 'GuiYang', + child: [ + { label: 'NanMingQu' }, + { label: 'YunYanQu' }, + { label: 'HuaXiQu' }, + { label: 'WuDangQu' }, + { label: 'BaiYunQu' }, + { label: 'GuanShanHuQu' }, + ], + }, + { + label: 'ZunYi', + child: [ + { label: 'HongHuaGangQu' }, + { label: 'HuiChuanQu' }, + { label: 'BoZhouQu' }, + { label: 'TongZiXian' }, + { label: 'SuiYangXian' }, + { label: 'ZhengAnXian' }, + ], + }, + { + label: 'LiuPanShui', + child: [{ label: 'ZhongShanQu' }, { label: 'LiuZhiTeQu' }, { label: 'ShuiChengXian' }, { label: 'PanXian' }], + }, + ], + }, + { + label: 'SiChuan', + child: [ + { + label: 'ChengDu', + child: [ + { label: 'JinJiangQu' }, + { label: 'QingYangQu' }, + { label: 'JinNiuQu' }, + { label: 'WuHouQu' }, + { label: 'ChengHuaQu' }, + { label: 'LongQuanYiQu' }, + ], + }, + { + label: 'MianYang', + child: [ + { label: 'FuChengQu' }, + { label: 'YouXianQu' }, + { label: 'AnZhouQu' }, + { label: 'SanTaiXian' }, + { label: 'YanTingXian' }, + { label: 'ZiTongXian' }, + ], + }, + { + label: 'PanZhiHua', + child: [{ label: 'DongQu' }, { label: 'XiQu' }, { label: 'RenHeQu' }, { label: 'MiYiXian' }, { label: 'YanBianXian' }], + }, + ], + }, + { + label: 'BeiJing', + child: [ + { + label: 'BeiJing', + child: [ + { label: 'DongChengQu' }, + { label: 'XiChengQu' }, + { label: 'ChaoYangQu' }, + { label: 'FengTaiQu' }, + { label: 'ShiJingShanQu' }, + { label: 'HaiDianQu' }, + ], + }, + ], + }, + { + label: 'ZheJiang', + child: [ + { + label: 'HangZhou', + child: [ + { label: 'XiHuQu' }, + { label: 'ShangChengQu' }, + { label: 'XiaChengQu' }, + { label: 'JiangGanQu' }, + { label: 'GongShuQu' }, + { label: 'BinJiangQu' }, + ], + }, + { + label: 'NingBo', + child: [ + { label: 'HaiShuQu' }, + { label: 'JiangDongQu' }, + { label: 'JiangBeiQu' }, + { label: 'BeiLunQu' }, + { label: 'ZhenHaiQu' }, + { label: 'YinZhouQu' }, + ], + }, + { + label: 'WenZhou', + child: [ + { label: 'LuChengQu' }, + { label: 'LongWanQu' }, + { label: 'OuHaiQu' }, + { label: 'DongTouQu' }, + { label: 'YongJiaXian' }, + { label: 'PingYangXian' }, + ], + }, + ], + }, +]; + +export { someProvinceList, weekList, amOrPmList, timeList, cityList, linkageData, linkagDiffLabelKeyData, linkagCustomChildrenKeyData }; diff --git a/src/routes/en_US/placeholder/+page.svelte b/src/routes/en_US/placeholder/+page.svelte new file mode 100644 index 0000000..dc62e06 --- /dev/null +++ b/src/routes/en_US/placeholder/+page.svelte @@ -0,0 +1,34 @@ + + + +
Basic usage
+Basic usage + +
Set height
+High for 32 + +
Different fillet
+
+ unfillet + XL Rounded corner + Full fillet +
+ +
shaded
+shadow + +
customize injClass
+Gradient background + +
Combined with Grids
+ + 3﹡2 + 1﹡3 + 3﹡1 + 2﹡2 + 1﹡1 + 1﹡1 + +
diff --git a/src/routes/en_US/popup/+page.svelte b/src/routes/en_US/popup/+page.svelte new file mode 100644 index 0000000..3aef380 --- /dev/null +++ b/src/routes/en_US/popup/+page.svelte @@ -0,0 +1,169 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible16 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + +
+ +
+
+ + (visible14 = true)} /> + +
+
AirPods Pro connected
+
+ +
+
+
set
+
music
+
+
+
+ + (visible20 = true)} /> + +
+ + +
(visible20 = false)}>Home page
+ + +
(visible20 = false)}>set
+ + +
(visible20 = false)}>about
+
+
+ + (visible17 = true)} /> + +
+
+
+ +
+
+
Mobile phone
+
Hu Ge
+
+
+
+
+ +
+
+ +
+
+
+
+ + (visible18 = true)} /> + +
+
+ +
+
+
+ + (visible15 = true)} /> + + + (visible19 = true)} /> + + + + + (visible21 = true)} /> + +
+ + + diff --git a/src/routes/en_US/progress/+page.svelte b/src/routes/en_US/progress/+page.svelte new file mode 100644 index 0000000..897efcf --- /dev/null +++ b/src/routes/en_US/progress/+page.svelte @@ -0,0 +1,95 @@ + + + +
+
Basic usage
+ + +
Different heights
+
+ + + + +
+ +
Percentage different position
+
+ + + + +
+ +
Different styles of rounded corners
+
+ + + + + +
+ +
Ash setting
+
+ + +
+ +
Transition effect
+
+ + + + + +
+ + +
Custom color
+
+ + + + +
+ +
Custom text
+
+ +
completed 2/3
+
+ +
completed 2/3
+
+
+
diff --git a/src/routes/en_US/progressLoop/+page.svelte b/src/routes/en_US/progressLoop/+page.svelte new file mode 100644 index 0000000..33e24bc --- /dev/null +++ b/src/routes/en_US/progressLoop/+page.svelte @@ -0,0 +1,135 @@ + + + +
Basic usage
+
+ +
+ +
Different width
+
+
+ +
+
+ +
+
+ +
+
+ +
Straight end
+
+ +
+ +
Counterclockwise direction
+
+ +
+ +
Custom color
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
Custom text
+
+
+ +
+
Completed
+
6666
+
step
+
+
+
+
+ +
+
Residual flow
+
66
+
GB
+
+
+
+
+ +
complete 2/3
+
+
+
+ +
Transition effect
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
diff --git a/src/routes/en_US/radio/+page.svelte b/src/routes/en_US/radio/+page.svelte new file mode 100644 index 0000000..73c383c --- /dev/null +++ b/src/routes/en_US/radio/+page.svelte @@ -0,0 +1,162 @@ + + + +
+
Horizontal arrangement
+
Simple usage
+ + {#each dota as item} + {item.label} + {/each} + + +
The text is in different places
+ + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + +
Custom icon
+ + Jugg + SB + Kotl + Mag + + +
Picture option
+ + {#each dotaImgs as dota, i} + +
+ +
+
+ {/each} +
+
What, are you choosing again {imgValue}!!
+ +
No icon && use Button
+ + {#each dota as item} + + + + {/each} + + +
No icon && Customize the selection effect
+ + {#each dota as item} + +
+ {item.label} +
+
+ {/each} +
+
+ +
+
Longitudinal arrangement
+
Basic usage
+ + {#each dota as item} + {item.label} + {/each} + + +
Long text option
+ + {#each dota as item} + {item.desc} + {/each} + + +
Text to the left
+ + {#each dota as item, i} + + {item.label} + {#if i !== dota.length - 1} +
+ {/if} + + {/each} + + +
Complex option && Customize the selection effect
+ + {#each dotaVoices as item, i} + +
+ {item.label} + {#each item.voices as voice} +
{voice}
+ {/each} + {#if i !== dotaVoices.length - 1} +
+ {/if} +
+ + {/each} + +
diff --git a/src/routes/en_US/rate/+page.svelte b/src/routes/en_US/rate/+page.svelte new file mode 100644 index 0000000..65b8260 --- /dev/null +++ b/src/routes/en_US/rate/+page.svelte @@ -0,0 +1,110 @@ + + + +
Basic usage
+
+ +
+
Set initial score
+
+ +
+
Zero points allowed
+
+ +
+
Custom score
+
+ +
+
Set unselected transparency
+
+ +
+
Allow semi-selection
+
+ +
+
Vertical semi-selection
+
+ +
+
Half option allows zero points
+
+ +
+
Increase spacing
+
+ +
+
disable
+
+ +
+
Read only
+
+ +
+
Different size
+
+ +
+
+ +
+
+ +
+
customize
+
+ + + +
+
+ + + +
+
+ + + +
+
+ +
👍
+
+
+
+ +
🍺
+
+
+
+ +
M
+
+
+
Listening event
+
+ +

Score:{value} star

+
+ +
All activation ICONS have click animations
+
+ +
+ +
Close click animation
+
+ +
diff --git a/src/routes/en_US/skeleton/+page.svelte b/src/routes/en_US/skeleton/+page.svelte new file mode 100644 index 0000000..1dca546 --- /dev/null +++ b/src/routes/en_US/skeleton/+page.svelte @@ -0,0 +1,68 @@ + + + +
+
example 1
+
+ +
+ + +
+
+ +
example 2
+
+ + + + +
+ + + +
example 3
+
+ +
+ +
+
+ +
example 4
+
+
+ + +
+ +
+ +
example 5
+
+ + + + +
+ +
example 6
+ + {#each [1, 1, 1] as item} +
+
+
+ +
+ + +
+
+
+ +
+ + {/each} +
diff --git a/src/routes/en_US/slider/+page.svelte b/src/routes/en_US/slider/+page.svelte new file mode 100644 index 0000000..4d799ec --- /dev/null +++ b/src/routes/en_US/slider/+page.svelte @@ -0,0 +1,125 @@ + + + +
Basic usage
+
+ +
+
monitor value
+
+ + Current value:{value} +
+
Step size is 5
+
+ +
+
Step size is 0.1
+
+ +
+
Set optional range (60-80)
+
+ +
+
Interval selection
+
+ +
+
Range setting Optional range (40-80)
+
+ + Current interval:{valueRange[0]} - {valueRange[1]} +
+
Different fillet
+
+ +
+
+ +
+
+ +
+
Wire frame slider
+
+ +
+
+ +
+
Always show Tip
+
+ +
+
+ +
+
+ +
+
Do not display Tip
+
+ +
+
Composite layout
+
+ +
+ +
+ +
+
use Slot
+
+ +
+
+ {#each barList as item, i} +
+ {/each} +
+
+ +
+
disable
+
+ +
+
Read only
+
+ +
diff --git a/src/routes/en_US/steps/+page.svelte b/src/routes/en_US/steps/+page.svelte new file mode 100644 index 0000000..2984b90 --- /dev/null +++ b/src/routes/en_US/steps/+page.svelte @@ -0,0 +1,290 @@ + + + +
Horizontal arrangement
+
Simple usage
+ + +
Different fillet
+ + + +
Tape icon
+ + +
Different icon border
+ + + + + + +
Tape completion step
+ + +
Tape icon && Complete steps
+ + +
The step bar area uses text
+ + +
Use images for the step bar area
+ + + + +
Longitudinal arrangement
+
Different fillet
+
+ + + +
+ +
Different icon border
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
Tape description information
+ + + + +
Tape completion step
+ + +
The step bar area uses text
+ + +
Use images for the step bar area
+
+ + +
+ +
The content area injects elements
+ + +
+
+ +
+
+ +
+
+ + + + + + diff --git a/src/routes/en_US/steps/injCom1_en.svelte b/src/routes/en_US/steps/injCom1_en.svelte new file mode 100644 index 0000000..af5a128 --- /dev/null +++ b/src/routes/en_US/steps/injCom1_en.svelte @@ -0,0 +1,6 @@ +
+
Here you inject a picture as a component
+
+ +
+
diff --git a/src/routes/en_US/steps/injCom2_en.svelte b/src/routes/en_US/steps/injCom2_en.svelte new file mode 100644 index 0000000..64ecae4 --- /dev/null +++ b/src/routes/en_US/steps/injCom2_en.svelte @@ -0,0 +1,11 @@ + + +
Here you inject something in the form of a component
+
+ + + + +
diff --git a/src/routes/en_US/swiper/+page.svelte b/src/routes/en_US/swiper/+page.svelte new file mode 100644 index 0000000..e0c9e9f --- /dev/null +++ b/src/routes/en_US/swiper/+page.svelte @@ -0,0 +1,331 @@ + + + +
Basic usage
+ + +
The initial index is 2
+ + +
Interval of 8 seconds
+ + +
Transition 1500 ms
+ + +
Turn off autoplay
+ + +
External indicator
+ + +
Off indicator
+ + +
Right-align indicator
+ + +
Dot indicator
+ + +
Linear indicator
+ + +
Long line indicator
+ +
+ + +
Square indicator
+ +
+ + +
+ Specifies the color behind the indicator +

injection Class

+
+ + +
+ Specify indicator color +

Remove the background color at the same time

+
+ + +
Specifies the container aspect ratio
+ + +
+ Configure the inside margins of the container +

Also specify indicator color, remove indicator back color, and configure container interior fillet

+
+ +
+ + +
+ Add a drop shadow inside the container +

injection Class

+
+ + +
Inactive container X and Z offsets
+ +
+ +
+ + +
Inactive container X, Y, Z axis rotation
+ +
+ +
+ +
+ +
+ +
+ + +
The container injection Class was not activated
+ +
+ + +
Specified container width
+
+ +
+ +
Container content uses components
+ + +
+ Listen for change events +

Currently active index values:{indexChange}

+
+ + +
+ Listen for click events +

Click on the index value: {indexClick === -1 ? 'Not clicked' : indexClick}

+
+ + + + diff --git a/src/routes/en_US/swiper/Item_en.svelte b/src/routes/en_US/swiper/Item_en.svelte new file mode 100644 index 0000000..4d35825 --- /dev/null +++ b/src/routes/en_US/swiper/Item_en.svelte @@ -0,0 +1,13 @@ + + +
+
This container uses a single component as its content
+
+ +
+
+ +
+
diff --git a/src/routes/en_US/switch/+page.svelte b/src/routes/en_US/switch/+page.svelte new file mode 100644 index 0000000..e44884d --- /dev/null +++ b/src/routes/en_US/switch/+page.svelte @@ -0,0 +1,131 @@ + + + +
+
+
+
Different fillet
+
+ + + +
+
+
+
Different colors
+
+ + + + +
+
+
+
With text/status/icon
+
+ + + + + +
+ +
+
+ +
+
+
+
+
+
disable
+
+ + +
+
+
+
Asynchronous control
+
+
+ +
Trigger after 2 seconds of clicking
+
+
+ +
Trigger after 3 seconds of clicking
+
+
+
+
+ +
Use in Cell
+ + + + + + + + + +
diff --git a/src/routes/en_US/tabBar/+page.svelte b/src/routes/en_US/tabBar/+page.svelte new file mode 100644 index 0000000..2d8dfe3 --- /dev/null +++ b/src/routes/en_US/tabBar/+page.svelte @@ -0,0 +1,92 @@ + + + +
+
+
+
Basic usage
+ +
+
+
Text only
+ +
+
+
Icon only
+ +
+
+
Belt line
+ +
+ +
+ +
+ +
+
+
ICONS change colors only
+ +
+
+
Customize the outermost layer
+ +
+
+
customize Tab
+ +
+
+
Custom selection Tab
+ +
+
+
Custom line
+ +
+
+
Care edition
+ +
+
+
monitor change event
+
At present TabBar activated active:{active}
+ +
+
+
+
+ +
diff --git a/src/routes/en_US/tabs/+page.svelte b/src/routes/en_US/tabs/+page.svelte new file mode 100644 index 0000000..4b9d6ee --- /dev/null +++ b/src/routes/en_US/tabs/+page.svelte @@ -0,0 +1,216 @@ + + + +
+
use Tabs
+
+
Basic usage
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
Accelerate the transition
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
Transition mitigation
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
Use linear style
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
The TAB is located at the bottom
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
The TAB is located on the left
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
The TAB is located on the right
+ + I am a plane + I am a ship + I am a train + I am a car + + + +
Custom transition
+ +
+ {#if active === 0} +
I am a plane
+ {:else if active === 1} +
I am a ship
+ {:else if active === 2} +
I am a train
+ {:else if active === 3} +
I am a car
+ {/if} +
+
+ + +
monitor change event
+ + I am a plane + I am a ship + I am a train + I am a car + +
At present Tabs activated active:{changeActive}
+ + +
Overflow mode
+ + {#each overflowLabels as item} + I am {item.text} + {/each} + + + {#each overflowLabels as item} + I am {item.text} + {/each} + + + +
Overflow mode closes automatic scrolling
+ + {#each overflowLabels as item} + I am {item.text} + {/each} + + + +
Overflow mode shows 2 items
+ + {#each overflowLabels as item} + I am {item.text} + {/each} + +
+ + +
different Tab style
+
+
Different fillet
+ + + + + +
Match text with ICONS
+ + + + +
Care edition
+ + +
Linear style
+ + + +
customize Tab Outer style
+ + +
customize Tab style
+ + +
Custom selection Tab style
+ + +
Customize the indicator style
+ + + +
Different mx
+
+ + + + +
+
+ + +
Use alone Tab
+
+ +
At present Tab clickable active:{active}
+
+ +
diff --git a/src/routes/en_US/timePicker/+page.svelte b/src/routes/en_US/timePicker/+page.svelte new file mode 100644 index 0000000..5c7d3be --- /dev/null +++ b/src/routes/en_US/timePicker/+page.svelte @@ -0,0 +1,155 @@ + + + +
+
+ {#if defaultTimeStr !== ''} + Currently selected: + {defaultTimeStr} + {:else} +
Please select the time
+ {/if} +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible7 = true)} + /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible8 = true)} /> + + + (visible22 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + +
+ {#if customFormatStr !== ''} + Currently selected: + {customFormatStr} + {:else} +
Please select the time
+ {/if} +
+ (visible15 = true)} + /> + + +
+ {#if monthFirstStr !== ''} + Currently selected: + {monthFirstStr} + {:else} +
Please select the time
+ {/if} +
+ (visible16 = true)} /> + + +
+ Currently selected:
+ {timeObjStr} +
+ (visible17 = true)} /> + + + (visible14 = true)} /> + + + (visible18 = true)} /> + + + (visible19 = true)} /> + + + (visible20 = true)} /> + + + (visible21 = true)} /> + +
diff --git a/src/routes/en_US/toast/+page.svelte b/src/routes/en_US/toast/+page.svelte new file mode 100644 index 0000000..68fd49b --- /dev/null +++ b/src/routes/en_US/toast/+page.svelte @@ -0,0 +1,175 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible30 = true)} /> + + + (visible31 = true)} /> + + + (visible32 = true)} /> + + + (visible27 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible17 = true)} /> + + + (visible18 = true)} /> + + + (visible19 = true)} /> + + + (visible20 = true)} /> + + + (visible28 = true)} /> + + + (visible29 = true)} /> + + + (visible21 = true)} /> + + + (visible22 = true)} /> + + + (visible23 = true)} /> + + + (visible24 = true)} /> + + + + +
+
Customize the prompt content
+ +
Close in {time} seconds
+
+
+ + (visible26 = true)} /> + +
+ +
+
+ +
+
diff --git a/src/routes/zh_CN/actionSheet/+page.svelte b/src/routes/zh_CN/actionSheet/+page.svelte new file mode 100644 index 0000000..1e1ae77 --- /dev/null +++ b/src/routes/zh_CN/actionSheet/+page.svelte @@ -0,0 +1,104 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + (toastVisible1 = true)} /> + + + (visible8 = true)} /> + (toastVisible2 = true)} /> + + + (visible9 = true)} /> + + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + +
diff --git a/src/routes/zh_CN/asyncPicker/+page.svelte b/src/routes/zh_CN/asyncPicker/+page.svelte new file mode 100644 index 0000000..7b3b2c6 --- /dev/null +++ b/src/routes/zh_CN/asyncPicker/+page.svelte @@ -0,0 +1,752 @@ + + + +
+
+ {#if allItems.length} + 当前选定了: + {#each allItems as item} + {item.label} + {/each} + {:else} +
请选定数据
+ {/if} +
+
+ {#if allIndexs.length} + 当前选定值位于所在列的索引值分别为: + {#each allIndexs as index} + {index} + {/each} + {:else} +
请选定数据
+ {/if} +
+ { + visible1 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible2 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible3 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible5 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible4 = true; + diffLabelKeyData = linkageDiffLabeData; + labelKey = 'province'; + diffLabelKeyCurrentLevel = 0; + diffLabelKeyLastLevel = false; + diffLabelKeyFirstLevel = true; + diffLabelKeyLevel1Data = linkageDiffLabeData[0].children; + }} + /> + + + { + visible6 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible8 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible7 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + level1Data = linkageData[0].children; + }} + /> + + + { + visible9 = true; + data = linkageData; + lastLevel = false; + firstLevel = true; + currentLevel = 0; + titleBind = '请选择省级'; + level1Data = linkageData[0].children; + }} + /> + +
+ diff --git a/src/routes/zh_CN/asyncPicker/data.js b/src/routes/zh_CN/asyncPicker/data.js new file mode 100644 index 0000000..1e267fc --- /dev/null +++ b/src/routes/zh_CN/asyncPicker/data.js @@ -0,0 +1,426 @@ +const linkageData = [ + { + label: '云南', + children: [ + { + label: '昆明', + children: [ + { label: '盘龙区' }, + { label: '五华区' }, + { label: '官渡区' }, + { label: '西山区' }, + { label: '东川区' }, + { label: '呈贡区' }, + { label: '晋宁区' }, + { label: '富民县' }, + { label: '宜良县' }, + { label: '石林彝族自治县' }, + { label: '嵩明县' }, + { label: '禄劝彝族苗族自治县' }, + { label: '寻甸回族彝族自治县' }, + { label: '安宁市' }, + ], + }, + { + label: '曲靖', + children: [ + { label: '麒麟区' }, + { label: '沾益区' }, + { label: '马龙县' }, + { label: '陆良县' }, + { label: '师宗县' }, + { label: '罗平县' }, + { label: '富源县' }, + { label: '会泽县' }, + { label: '宣威市' }, + ], + }, + { + label: '玉溪', + children: [ + { label: '红塔区' }, + { label: '江川区' }, + { label: '澄江县' }, + { label: '通海县' }, + { label: '华宁县' }, + { label: '易门县' }, + { label: '峨山彝族自治县' }, + { label: '新平彝族傣族自治县' }, + { label: '元江哈尼族彝族傣族自治县' }, + ], + }, + { + label: '保山', + children: [ + { label: '隆阳区' }, + { label: '施甸县' }, + { label: '龙陵县' }, + { label: '昌宁县' }, + { label: '腾冲市' }, + { label: '龙陵县' }, + ], + }, + { + label: '丽江', + children: [ + { label: '古城区' }, + { label: '永胜县' }, + { label: '华坪县' }, + { label: '玉龙纳西族自治县' }, + { label: '宁蒗彝族自治县' }, + ], + }, + { + label: '普洱', + children: [ + { label: '思茅区' }, + { label: '宁洱哈尼族彝族自治县' }, + { label: '墨江哈尼族自治县' }, + { label: '景东彝族自治县' }, + { label: '景谷傣族彝族自治县' }, + { label: '镇沅彝族哈尼族拉祜族自治县' }, + { label: '江城哈尼族彝族自治县' }, + { label: '孟连傣族拉祜族佤族自治县' }, + { label: '澜沧拉祜族自治县' }, + { label: '西盟佤族自治县' }, + ], + }, + { + label: '临沧', + children: [ + { label: '临翔区' }, + { label: '凤庆县' }, + { label: '云县' }, + { label: '永德县' }, + { label: '镇康县' }, + { label: '双江拉祜族佤族布朗族傣族自治县' }, + { label: '耿马傣族佤族自治县' }, + { label: '沧源佤族自治县' }, + ], + }, + { + label: '楚雄', + children: [ + { label: '楚雄市' }, + { label: '双柏县' }, + { label: '牟定县' }, + { label: '南华县' }, + { label: '姚安县' }, + { label: '大姚县' }, + { label: '永仁县' }, + { label: '元谋县' }, + { label: '武定县' }, + { label: '禄丰县' }, + ], + }, + { + label: '红河', + children: [ + { label: '个旧市' }, + { label: '开远市' }, + { label: '蒙自市' }, + { label: '弥勒市' }, + { label: '屏边苗族自治县' }, + { label: '建水县' }, + { label: '石屏县' }, + { label: '泸西县' }, + { label: '元阳县' }, + { label: '红河县' }, + { label: '金平苗族瑶族傣族自治县' }, + { label: '绿春县' }, + { label: '河口瑶族自治县' }, + ], + }, + { + label: '文山', + children: [ + { label: '文山市' }, + { label: '砚山县' }, + { label: '西畴县' }, + { label: '麻栗坡县' }, + { label: '马关县' }, + { label: '丘北县' }, + { label: '广南县' }, + { label: '富宁县' }, + ], + }, + ], + }, + { + label: '广东', + children: [ + { + label: '广州', + children: [ + { label: '天河区' }, + { label: '海珠区' }, + { label: '荔湾区' }, + { label: '越秀区' }, + { label: '白云区' }, + { label: '黄埔区' }, + ], + }, + { + label: '深圳', + children: [ + { label: '罗湖区' }, + { label: '福田区' }, + { label: '南山区' }, + { label: '宝安区' }, + { label: '龙岗区' }, + { label: '盐田区' }, + ], + }, + { + label: '珠海', + children: [{ label: '香洲区' }, { label: '斗门区' }, { label: '金湾区' }], + }, + { + label: '汕头', + children: [ + { label: '龙湖区' }, + { label: '金平区' }, + { label: '濠江区' }, + { label: '潮阳区' }, + { label: '潮南区' }, + { label: '澄海区' }, + ], + }, + { + label: '佛山', + children: [{ label: '禅城区' }, { label: '南海区' }, { label: '顺德区' }, { label: '三水区' }, { label: '高明区' }], + }, + ], + }, + { + label: '四川', + children: [ + { + label: '成都', + children: [ + { label: '锦江区' }, + { label: '青羊区' }, + { label: '金牛区' }, + { label: '武侯区' }, + { label: '成华区' }, + { label: '龙泉驿区' }, + ], + }, + { + label: '绵阳', + children: [ + { label: '涪城区' }, + { label: '游仙区' }, + { label: '安州区' }, + { label: '三台县' }, + { label: '盐亭县' }, + { label: '梓潼县' }, + ], + }, + { + label: '自贡', + children: [ + { label: '自流井区' }, + { label: '贡井区' }, + { label: '大安区' }, + { label: '沿滩区' }, + { label: '荣县' }, + { label: '富顺县' }, + ], + }, + { + label: '攀枝花', + children: [{ label: '东区' }, { label: '西区' }, { label: '仁和区' }, { label: '米易县' }, { label: '盐边县' }], + }, + ], + }, + { + label: '北京', + children: [ + { + label: '北京市', + children: [ + { label: '东城区' }, + { label: '西城区' }, + { label: '朝阳区' }, + { label: '丰台区' }, + { label: '石景山区' }, + { label: '海淀区' }, + ], + }, + ], + }, + { + label: '浙江', + children: [ + { + label: '杭州', + children: [ + { label: '上城区' }, + { label: '下城区' }, + { label: '江干区' }, + { label: '拱墅区' }, + { label: '西湖区' }, + { label: '滨江区' }, + ], + }, + { + label: '宁波', + children: [ + { label: '海曙区' }, + { label: '江东区' }, + { label: '江北区' }, + { label: '北仑区' }, + { label: '镇海区' }, + { label: '鄞州区' }, + ], + }, + { + label: '温州', + children: [ + { label: '鹿城区' }, + { label: '龙湾区' }, + { label: '瓯海区' }, + { label: '洞头区' }, + { label: '永嘉县' }, + { label: '平阳县' }, + ], + }, + { + label: '嘉兴', + children: [ + { label: '南湖区' }, + { label: '秀洲区' }, + { label: '嘉善县' }, + { label: '海盐县' }, + { label: '海宁市' }, + { label: '平湖市' }, + ], + }, + { + label: '湖州', + children: [{ label: '吴兴区' }, { label: '南浔区' }, { label: '德清县' }, { label: '长兴县' }, { label: '安吉县' }], + }, + ], + }, +]; + +const linkageDiffLabeData = [ + { + province: '云南', + children: [ + { + city: '昆明', + children: [ + { region: '盘龙区' }, + { region: '五华区' }, + { region: '官渡区' }, + { region: '西山区' }, + { region: '东川区' }, + { region: '呈贡区' }, + { region: '晋宁区' }, + { region: '富民县' }, + { region: '宜良县' }, + { region: '石林彝族自治县' }, + { region: '嵩明县' }, + { region: '禄劝彝族苗族自治县' }, + { region: '寻甸回族彝族自治县' }, + { region: '安宁市' }, + ], + }, + { + city: '曲靖', + children: [ + { region: '麒麟区' }, + { region: '沾益区' }, + { region: '马龙县' }, + { region: '陆良县' }, + { region: '师宗县' }, + { region: '罗平县' }, + { region: '富源县' }, + { region: '会泽县' }, + { region: '宣威市' }, + ], + }, + { + city: '玉溪', + children: [ + { region: '红塔区' }, + { region: '江川区' }, + { region: '澄江县' }, + { region: '通海县' }, + { region: '华宁县' }, + { region: '易门县' }, + { region: '峨山彝族自治县' }, + { region: '新平彝族傣族自治县' }, + { region: '元江哈尼族彝族傣族自治县' }, + ], + }, + { + city: '保山', + children: [ + { region: '隆阳区' }, + { region: '施甸县' }, + { region: '龙陵县' }, + { region: '昌宁县' }, + { region: '腾冲市' }, + { region: '龙陵县' }, + ], + }, + { + city: '丽江', + children: [ + { region: '古城区' }, + { region: '永胜县' }, + { region: '华坪县' }, + { region: '玉龙纳西族自治县' }, + { region: '宁蒗彝族自治县' }, + ], + }, + { + city: '普洱', + children: [ + { region: '思茅区' }, + { region: '宁洱哈尼族彝族自治县' }, + { region: '墨江哈尼族自治县' }, + { region: '景东彝族自治县' }, + { region: '景谷傣族彝族自治县' }, + { region: '镇沅彝族哈尼族拉祜族自治县' }, + { region: '江城哈尼族彝族自治县' }, + { region: '孟连傣族拉祜族佤族自治县' }, + { region: '澜沧拉祜族自治县' }, + { region: '西盟佤族自治县' }, + ], + }, + ], + }, + { + province: '广东', + children: [ + { + city: '广州', + children: [ + { region: '天河区' }, + { region: '海珠区' }, + { region: '荔湾区' }, + { region: '越秀区' }, + { region: '白云区' }, + { region: '黄埔区' }, + ], + }, + { + city: '深圳', + children: [ + { region: '罗湖区' }, + { region: '福田区' }, + { region: '南山区' }, + { region: '宝安区' }, + { region: '龙岗区' }, + { region: '盐田区' }, + ], + }, + ], + }, +]; + +export { linkageData, linkageDiffLabeData }; diff --git a/src/routes/zh_CN/avatar/+page.svelte b/src/routes/zh_CN/avatar/+page.svelte new file mode 100644 index 0000000..05239e3 --- /dev/null +++ b/src/routes/zh_CN/avatar/+page.svelte @@ -0,0 +1,125 @@ + + + +
+
不同圆角
+
+ + + + + +
+ +
不同图片类型与大小
+
+ + + + +
+ +
自定义背景色
+
+ + + + +
+ +
不同边框
+
+ + + + +
+ +
替换文本
+
+ + + + +
+ +
替换 Icon
+
+ {#each icons as icon} + + {/each} +
+ +
不同大小
+
+
+ + + + + +
+
+ + + + + +
+
+ + + +
头像组
+
默认
+ + +
小点
+ + +
宽松一点
+ + +
边框粗点
+ + +
圆角小点
+ + +
反向
+ + +
最多显示 6 个
+ + +
顶层显示增加
+ + +
不显示顶层
+ +
diff --git a/src/routes/zh_CN/badge/+page.svelte b/src/routes/zh_CN/badge/+page.svelte new file mode 100644 index 0000000..e6e69fb --- /dev/null +++ b/src/routes/zh_CN/badge/+page.svelte @@ -0,0 +1,126 @@ + + + +
+
基础用法
+
+ + + + + + + + + + + + +
+ +
不同圆角
+
+ + + + + + + + + + + + +
+ +
位于左侧
+
+ + + + + + + + + + + + +
+ +
搭配其他组件
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
徽标动画
+
+ + + + + + + + + + + + +
+ + + + + +
自定义背景色与边框
+
+ + + + + + + + + + + + +
+
diff --git a/src/routes/zh_CN/bottomSheet/+page.svelte b/src/routes/zh_CN/bottomSheet/+page.svelte new file mode 100644 index 0000000..b2bf3e3 --- /dev/null +++ b/src/routes/zh_CN/bottomSheet/+page.svelte @@ -0,0 +1,141 @@ + + + +
+ (visible1 = true)} /> + +
+
这里是内容区域
+
+
+ + (visible8 = true)} /> + + + + + (visible2 = true)} /> + (toastBackVisible = true)} + on:close={() => (toastCloseVisible = true)} + > + + + + + + (visible3 = true)} /> + + + + + (visible4 = true)} /> + + + + + (visible5 = true)} /> + + + + + (visible6 = true)} /> + + + + + (visible7 = true)} /> + + + + + (visible9 = true)} /> + +
+
头部区域
+
标题
+
返回与关闭图标
+
分割线
+
都不显示
+
位置依旧保留作为滑动触控区域
+
+ +
+
+
+ + (visible10 = true)} /> + + + + + (visible13 = true)} /> + + + + + (visible14 = true)} /> + + + + + (visible12 = true)} /> + + + + + (visible11 = true)} /> + +
将 closeHeight 设置为 10,如果滑动结束时位置距离页面底部小于页面高度的 10% 则自动关闭。
+
+
+ + + diff --git a/src/routes/zh_CN/button/+page.svelte b/src/routes/zh_CN/button/+page.svelte new file mode 100644 index 0000000..f7c1da7 --- /dev/null +++ b/src/routes/zh_CN/button/+page.svelte @@ -0,0 +1,161 @@ + + + +
+
+
不同状态色
+ + + + + +
+
+
不同圆角风格
+ + + + + +
+
+
不同填充模式
+ + + + + + + +
+
+
不同边框风格
+ + + +
+
+
不同大小
+ + + + + + +
+
+
不同高度
+ + +
+
+
固定大小
+
+ + + + + + + + +
+
+
+
禁用
+ + +
+
+
加载
+ + +
+
+
带图标
+ + +
+
+
关爱版
+ + +
+
+
自定义
+ + + + + +
+
+
按钮组
+ + +
+
+ diff --git a/src/routes/zh_CN/calendar/+page.svelte b/src/routes/zh_CN/calendar/+page.svelte new file mode 100644 index 0000000..83999b5 --- /dev/null +++ b/src/routes/zh_CN/calendar/+page.svelte @@ -0,0 +1,175 @@ + + + +
+ (visible1 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible18 = true)} /> + + + (visible11 = true)} /> + + + (visible19 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible23 = true)} /> + + + (visible17 = true)} /> + + +
+ {#if selectedDates.length} + 当前选定了以下共 {selectedDates.length} 天: + {:else} +
请选定日期
+ {/if} +
+
+ {#each selectedDates as item} +
{item}
+ {/each} +
+ (visible20 = true)} /> + + +
+ {#if selectedFormatDates.length} + 当前选定了以下共 {selectedFormatDates.length} 天: + {:else} +
请选定日期
+ {/if} +
+
+ {#each selectedFormatDates as item} +
{item}
+ {/each} +
+ (visible21 = true)} /> + + + (visible22 = true)} /> + +
diff --git a/src/routes/zh_CN/cell/+page.svelte b/src/routes/zh_CN/cell/+page.svelte new file mode 100644 index 0000000..7375226 --- /dev/null +++ b/src/routes/zh_CN/cell/+page.svelte @@ -0,0 +1,111 @@ + + + +
+
+ + + + 我是插槽内容 + + + + (visible = true)} /> + + + + + + + + + + +
+ +
+
+ +
+ +
+
+ +
+
+ +
+ +
+
+ + + + + + + +
+ +
+
+ + +
+ +
+
+
+ + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+ + +
+
+ + + +
+
diff --git a/src/routes/zh_CN/checkbox/+page.svelte b/src/routes/zh_CN/checkbox/+page.svelte new file mode 100644 index 0000000..5a2dc52 --- /dev/null +++ b/src/routes/zh_CN/checkbox/+page.svelte @@ -0,0 +1,310 @@ + + + +
+
横向排列
+
简单用法
+ + {#each dota as item} + {item.label} + {/each} + + +
文字在不同位置
+ + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + +
自定义图标
+ + 主宰 + 白牛 + 光法 + 猛犸 + + +
图片选项
+ + {#each dotaImgs as dota} + +
+ +
+
+ {/each} +
+
+ {imgCheckeds.length > 0 ? '已选' : '未选择任何英雄。'} + {imgCheckeds.join(' + ')}{imgCheckeds.length > 0 ? '。' : ''} +
+ +
不用图标 && 使用 Button
+ + {#each dota as item} + + + + {/each} + + +
不用图标 && 自定义选中效果
+ + {#each dota as item} + +
+ {item.label} +
+
+ {/each} +
+
+ + +
+
行内元素排列
+
不用图标 && 行内元素排列111
+ + {#each dotaInlines as item} + +
+ {item} +
+
+ {/each} +
+
已选:{checkInlines.join('-')}
+
+ + +
+
纵向排列
+
基础用法
+ + {#each dota as item} + {item.label} + {/each} + + +
长文字选项
+ + {#each dota as item} + {item.desc} + {/each} + + +
文字靠左
+ + {#each dota as item, i} + + {item.label} + {#if i !== dota.length - 1} +
+ {/if} + + {/each} + + +
复杂选项 && 自定义选中效果
+ + {#each dotaVoices as item, i} + +
+ {item.label} + {#each item.voices as voice} +
{voice}
+ {/each} + {#if i !== dotaVoices.length - 1} +
+ {/if} +
+ + {/each} + + +
批量操作
+ + {#each dotaAll as item} + {item} + {/each} + +
已选:{checkDotas.join('-')}
+
未选:{noCheckDotas.join('-')}
+
+
+ +
+
+ +
+
+ +
+
+ +
带动画
+
+
+
未选
+
+ + {#each animateNos as item (item)} +
+ {item} +
+ {/each} +
+
+
+
+
已选
+ + {#each animateYess as item (item)} +
+ + {item} + +
+ {/each} +
+
+
+
diff --git a/src/routes/zh_CN/dialog/+page.svelte b/src/routes/zh_CN/dialog/+page.svelte new file mode 100644 index 0000000..a756fa2 --- /dev/null +++ b/src/routes/zh_CN/dialog/+page.svelte @@ -0,0 +1,152 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + + + (visible3 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible4 = true)} /> + +
+ +
+
+ + (visible11 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible19 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible15 = true)} /> + + + (visible14 = true)} /> + (toastVisible = true)} /> + + + (visible16 = true)} /> + (toastVisible2 = true)} /> + + + (visible17 = true)} /> + (toastVisible3 = true)} /> + + + (visible18 = true)} /> + + + {#if loading} + + {:else} + 进入 + {/if} + + + +
+ + + diff --git a/src/routes/zh_CN/divider/+page.svelte b/src/routes/zh_CN/divider/+page.svelte new file mode 100644 index 0000000..96cc79a --- /dev/null +++ b/src/routes/zh_CN/divider/+page.svelte @@ -0,0 +1,78 @@ + + + +
+
+
不同长度
+ + + + + +
+
+
包含文字
+ + +
+
+
不同高度
+
开始
+ +
高度为0
+ +
高度为4
+ +
高度为8
+
+ +
+
文字位置
+ + + +
+
+
线条风格
+ + + +
+
+
自定义颜色
+ + + + + +
+
+
垂直分割线
+
+ 三日凌空三日连珠人列计算机 +
+
+
+
不同粗细
+ + + +
+ 执剑人三日凌空三日连珠人列计算机 +
+
+
+
自定义垂直分割线
+
+ 加大间距 + + 自定义 + + 颜色 + + 与线条风格 +
+
+
diff --git a/src/routes/zh_CN/grids/+page.svelte b/src/routes/zh_CN/grids/+page.svelte new file mode 100644 index 0000000..e0d88d0 --- /dev/null +++ b/src/routes/zh_CN/grids/+page.svelte @@ -0,0 +1,280 @@ + + + +
使用占位符示例 3﹡4
+ + + 3﹡1 + + + 1﹡3 + + + 2﹡1 + + + 1﹡2 + + + 1﹡1 + + + 1﹡1 + + + +
使用占位符示例 4﹡6
+ + + 3﹡2 + + + 1﹡3 + + + 4﹡1 + + + 2﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡1 + + + 1﹡4 + + + +
增加外边距与单元格间距
+ + + 3﹡1 + + + 1﹡3 + + + 2﹡1 + + + 1﹡2 + + + 1﹡1 + + + 1﹡1 + + + +
场景示例 6﹡5
+
+
+ + +
+
{weekDay}
+
{day}
+
{month}
+
+
+ +
+ {time} +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
彩 色
+
+
+ + +
+ +
+
+ +
+
+ {#if currentDevice === 'iOS'} + + {:else if currentDevice === 'Android'} + + {:else if currentDevice === 'Windows'} + + {:else if currentDevice === 'macOS'} + + {:else} + + {/if} +
+
+
+ {#if currentDevice === 'iOS'} + A15 Bionic + {:else if currentDevice === 'Android'} + 骁龙8 Gen1 + {:else if currentDevice === 'Windows'} + AMD YES + {:else if currentDevice === 'macOS'} + M1 Ultra + {:else} + Intel + {/if} +
+
+ {#if currentDevice === 'iOS'} + iPhone + {:else if currentDevice === 'Android'} + Android + {:else if currentDevice === 'Windows'} + Windows + {:else if currentDevice === 'macOS'} + MacBook Pro + {:else} + Ubuntu + {/if} +
+
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+
蓝 牙
+
+
+ +
+
+ + +
+
STDF
+
+
+ +
+
92%
+
+ +
+
充电中
+
+
+ +
+ {#if currentDevice === 'iOS'} + + {:else if currentDevice === 'Android'} + + {:else if currentDevice === 'Windows'} + + {:else if currentDevice === 'macOS'} + + {:else} + + {/if} +
+
+ +
+
+ +
+
+
68%
+
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+
Wi-Fi
+
+
+
+
+
diff --git a/src/routes/zh_CN/icon/+page.svelte b/src/routes/zh_CN/icon/+page.svelte new file mode 100644 index 0000000..70d0bbf --- /dev/null +++ b/src/routes/zh_CN/icon/+page.svelte @@ -0,0 +1,110 @@ + + + +
+
+
基础用法
+
+ {#each icons as icon} +
+ +
{icon}
+
+ {/each} +
+
+
+
跟随主题色
+
+ {#each icons as icon} +
+ +
+ {/each} +
+
+
+
不同大小
+
+ {#each icons as icon, i} +
+ +
{18 + i * 6}
+
+ {/each} +
+
+
+
不同透明度
+
+ {#each icons as icon, i} +
+ +
{(0.2 + i * 0.2).toFixed(1)}
+
+ {/each} +
+
+
+
+ 自定义颜色通过 injClass +
+
+ {#each icons as icon} +
+ +
+ {/each} +
+
+
+
+ 自定义颜色通过 slot +
+
+ {#each icons as icon} +
+ + + + + +
+ {/each} +
+
+
+
插槽
+
+ + {#each icons as icon} +
+ + + +
+ {/each} +
+
+
+
偏移
+
+ + {#each icons as icon, i} +
+ + top:{-4 + i * 2} +
+ {/each} +
+
+
diff --git a/src/routes/zh_CN/icon/allIcon.md b/src/routes/zh_CN/icon/allIcon.md new file mode 100644 index 0000000..fa5e315 --- /dev/null +++ b/src/routes/zh_CN/icon/allIcon.md @@ -0,0 +1,124 @@ +Demo 中用到的所有 svg 图标 + +- account-circle-fill +- account-circle-line +- aliens-fill +- android-fill +- apple-fill +- apps-2-line +- arrow-down-s-line +- arrow-left-s-line +- arrow-right-s-line +- arrow-up-s-fill +- arrow-up-s-line +- bank-line +- barcode-fill +- battery-2-charge-line +- battery-charge-line +- bear-smile-line +- bluetooth-connect-line +- bluetooth-line +- cake-2-fill +- car-line +- check-fill +- check-line +- checkbox-blank-circle-line +- checkbox-circle-fill +- checkbox-circle-line +- checkbox-fill +- checkbox-line +- checkbox-multiple-fill +- checkbox-multiple-line +- chrome-fill +- close-circle-fill +- close-circle-line +- close-fill +- close-line +- code-box-fill +- command-fill +- command-line +- compass-3-fill +- compass-3-line +- compass-line +- computer-line +- cup-fill +- cup-line +- customer-service-2-line +- discuss-fill +- discuss-line +- drag-move-line +- delete-back-2-line +- emotion-line +- emotion-sad-fill +- emotion-sad-line +- error-warning-line +- fingerprint-line +- github-fill +- hand-heart-line +- heart-3-fill +- home-3-fill +- home-3-line +- home-7-line +- hotel-bed-fill +- hotel-bed-line +- image-2-fill +- indent-decrease +- information-line +- lock-line +- macbook-fill +- medal-fill +- mic-off-fill +- money-cny-circle-line +- moon-fill +- moon-line +- more-fil +- more-line +- movie-2-fill +- notification-2-line +- paint-brush-fill +- paint-brush-line +- parent-line +- phone-fill +- plane-fill +- plane-line +- qr-code-fill +- qr-scan-line +- radio-button-fill +- radio-button-line +- restaurant-2-fill +- restaurant-2-line +- riding-line +- send-plane-line +- service-line +- share-forward-2-fill +- share-forward-line +- share-line +- shield-user-line +- ship-2-line +- shopping-basket-line +- smartphone-line +- spy-fill +- star-fill +- star-line +- sun-line +- surgical-mask-fill +- survey-fill +- survey-line +- switch-fill +- skip-down-line +- tablet-line +- thumb-up-fill +- train-line +- ubuntu-fill +- ubuntu-line +- user-3-line +- user-smile-line +- volume-down-line +- volume-mute-line +- volume-up-line +- wifi-line +- wifi-off-line +- windows-fill +- wireless-charging-line +- zzz-fill +- zzz-lin diff --git a/src/routes/zh_CN/indexBar/+page.svelte b/src/routes/zh_CN/indexBar/+page.svelte new file mode 100644 index 0000000..912a5e4 --- /dev/null +++ b/src/routes/zh_CN/indexBar/+page.svelte @@ -0,0 +1,183 @@ + + + +{#if dataFlag === 0} + { + toastObj = e.detail; + visible = true; + }} + /> +{:else if dataFlag === 1} + { + toastObj = e.detail; + visible = true; + }} + /> +{:else} + { + toastObj = e.detail; + visible = true; + }} + /> +{/if} + + +
+ + + + +
diff --git a/src/routes/zh_CN/input/+page.svelte b/src/routes/zh_CN/input/+page.svelte new file mode 100644 index 0000000..d8ea86d --- /dev/null +++ b/src/routes/zh_CN/input/+page.svelte @@ -0,0 +1,270 @@ + + + +
基础用法
+ + +
不带标题
+ + +
自定义 placeholder
+ + +
+ 不同输入类型 + {#if isIframe} + 请在移动设备查看键盘类型。 + {/if} +
+ + + + + + + + + + + +
线性风格
+ + + + +
不同过渡时间
+ + + + + + +
不同标题位置
+ + + + +
不同输入文字位置
+ + + +
不同圆角风格
+ + + + + + +
不同垂直间距
+ + + + + + + +
带清除
+ + +
禁用
+ + +
不同状态色
+ + + + + + + + +
左侧带图标
+ + + +
左侧带文字
+ + +
左侧带图标与文字
+ + +
左侧带文字与图标
+ + +
左侧带图标、文字、图标
+ + +
右侧带图标
+ + + +
右侧带文字
+ + +
右侧带图标与文字
+ + +
右侧带文字与图标
+ + +
右侧带图标、文字、图标
+ + +
左侧带文字右侧带图标
+ + +
左右六项全带
+ + +
提示信息与数据项组合
+ + + + + + + +
展示所有可配置项
+ + +
label1 和 label4 使用插槽
+ +
+ + + + +
+
+ +
+ + +
动态显示
+ +
+ {#if mobileLength === 11} + + {:else if mobileLength === 0} + + {:else} + + {/if} +
+ + +
绑定 value
+ + + + +
点击 label4 触发事件
+ + +
textarea
+ + +
textarea 自动高度
+ + +
监听 keydown 事件
+
你按下了 {key}
+ diff --git a/src/routes/zh_CN/loading/+page.svelte b/src/routes/zh_CN/loading/+page.svelte new file mode 100644 index 0000000..0333758 --- /dev/null +++ b/src/routes/zh_CN/loading/+page.svelte @@ -0,0 +1,153 @@ + + + +
+ + +
+
+ {#each ['默认色', '主题色', '自选色', '反差色', '反主色'] as item} +
{item}
+ {/each} +
+
+ + {#each arr1 as item, i} +
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+
+
+ +
+
{'1_' + i}
+
+ {/each} +
+
+
持续更新...
+
+ +
+
+ {#each ['默认色', '自选色', '反差色'] as item} +
{item}
+ {/each} +
+
+ + {#each arr2 as item, i} +
+
+ +
+
{'2_' + i}
+
+
+
+ +
+
{'2_' + i}
+
+
+
+ +
+
{'2_' + i}
+
+ {/each} +
+
+
持续更新...
+
+ +
+
+ {#each ['默认色', '自选色', '默认色', '自选色'] as item} +
{item}
+ {/each} +
+
+ + {#each arr4 as item, i} +
+
+ +
+
{'4_' + i}
+
+
+
+ +
+
{'4_' + i}
+
+ {/each} +
+
+
持续更新...
+
+ +
+
持续更新...
+ + +
+ +
+ {#each speedBtns as item} +
+ +
+ {/each} +
diff --git a/src/routes/zh_CN/mask/+page.svelte b/src/routes/zh_CN/mask/+page.svelte new file mode 100644 index 0000000..2174151 --- /dev/null +++ b/src/routes/zh_CN/mask/+page.svelte @@ -0,0 +1,61 @@ + + + +
+ (visible1 = true)} /> + (visible1 = false)} /> + + (visible2 = true)} /> + (visible2 = false)} /> + + (visible3 = true)} /> + (visible3 = false)} /> + + (visible4 = true)} /> + +
+
+ +
+
+ +
+
+ + (visible5 = true)} /> + (visible5 = false)} /> + + (visible6 = true)} /> + (visible6 = false)} /> + + (visible7 = true)} /> + (visible7 = false)} /> + + (visible8 = true)} /> + (visible8 = false)} /> + + (visible9 = true)} /> + (visible9 = false)} /> + + (visible10 = true)} /> + + + (visible11 = true)} /> + +
diff --git a/src/routes/zh_CN/modal/+page.svelte b/src/routes/zh_CN/modal/+page.svelte new file mode 100644 index 0000000..1736920 --- /dev/null +++ b/src/routes/zh_CN/modal/+page.svelte @@ -0,0 +1,112 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible12 = true)} /> + + + (visible10 = true)} /> + +
+ +
+
+ + (visible7 = true)} /> + + + (visible11 = true)} /> + + + (visible13 = true)} /> + (toastVisible = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + +
+ + + diff --git a/src/routes/zh_CN/navBar/+page.svelte b/src/routes/zh_CN/navBar/+page.svelte new file mode 100644 index 0000000..0a23e2c --- /dev/null +++ b/src/routes/zh_CN/navBar/+page.svelte @@ -0,0 +1,67 @@ + + + +
+ + + + + + (visible1 = true)} /> + + + { + visible2 = true; + rightIndex = e.detail; + }} + /> + + + + + + + +
自定义文字颜色 by slot
+
+ + +
+
title 插槽渲染标题区域
+
right 插槽渲染右侧且可点击
+
+
+ + +
(visible3 = true)}>Hello
+
+
+ + + + + +
+ +
+
injClass 与 slot 结合自定义样式
+
+ +
+
+
diff --git a/src/routes/zh_CN/noticeBar/+page.svelte b/src/routes/zh_CN/noticeBar/+page.svelte new file mode 100644 index 0000000..75bb221 --- /dev/null +++ b/src/routes/zh_CN/noticeBar/+page.svelte @@ -0,0 +1,60 @@ + + + +
基础用法
+ + +
通告内容较短不滚动
+ + +
设定通告间距
+ + +
设定滚动速度
+ + +
右侧箭头(监听点击事件)
+ (visible = true)}> + + +
右侧无内容
+ + +
左侧无内容
+ + +
设定文字大小
+ + +
自定义左侧
+ + +🥳 + +
垂直滚动
+ + +
滚动过渡为 1 秒
+ + +
滚动间隔为 8 秒
+ + +
文字过长
+ + +
单条不滚动
+ + +
自定义样式
+ + + +
diff --git a/src/routes/zh_CN/numKeyboard/+page.svelte b/src/routes/zh_CN/numKeyboard/+page.svelte new file mode 100644 index 0000000..8e5a9a6 --- /dev/null +++ b/src/routes/zh_CN/numKeyboard/+page.svelte @@ -0,0 +1,128 @@ + + + + (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible9 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible10 = true)} /> + + + (visible18 = true)} /> + + + (visible11 = true)} /> + + + +
+ {value} + {#if !doneDisabled} + + {/if} +
+ (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible17 = true)} /> + + + (visible19 = true)} /> + diff --git a/src/routes/zh_CN/pagination/+page.svelte b/src/routes/zh_CN/pagination/+page.svelte new file mode 100644 index 0000000..6065682 --- /dev/null +++ b/src/routes/zh_CN/pagination/+page.svelte @@ -0,0 +1,131 @@ + + +
基础用法
+ + +
事件监听
+
当前页码:{current}
+ + +
初始展示省略页码
+
可用于引导用户
+ + +
设置初始页
+ + +
最大显示 11 页
+
同时显示较多页但页码较小
+ + +
最大显示 5 页
+
适合分页区域较小的场景
+
+
这是我的地盘
+
+ +
+
+ +
无数据
+ + +
仅一页
+ + +
总页数未超过最大显示页数
+
不会存在省略页码
+ + +
总页数超过最大显示页数但不算多
+
不会同时存在前后两个省略页码
+ + +
总页数很多
+
会同时存在前后两个省略页码
+ + +
每页仅 3 项
+ + +
高亮页码为边框
+ + +
高亮页码为块状
+ + +
增加高亮页码圆角
+ + +
省略页码列数为 2
+ + +
注入 injClass
+ + +
模拟请求
+
+ {#each data as item} +
1}> +
{item.text}
+
{item.from}
+
+ {/each} + {#if loading} +
+
查询第 {currentPage} 页数据...
+ +
+ {/if} +
+ + +
连续模式
+
只允许点击上下页
+ + +
diff --git a/src/routes/zh_CN/picker/+page.svelte b/src/routes/zh_CN/picker/+page.svelte new file mode 100644 index 0000000..9129659 --- /dev/null +++ b/src/routes/zh_CN/picker/+page.svelte @@ -0,0 +1,795 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} subTitle="需要关闭自动选定上次选中项" /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible20 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible21 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible22 = true)} /> + + + (visible17 = true)} /> + + +
+ {#if allItems.length} + 当前选定了: + {#each allItems as item} + {item.label} + {/each} + {:else} +
请选定数据
+ {/if} +
+
+ {#if allIndexs.length} + 当前选定值位于所在列的索引值分别为: + {#each allIndexs as index} + {index} + {/each} + {:else} +
请选定数据
+ {/if} +
+ (visible18 = true)} /> + + + (visible19 = true)} /> + +
+ + + diff --git a/src/routes/zh_CN/picker/data.js b/src/routes/zh_CN/picker/data.js new file mode 100644 index 0000000..aabfe1b --- /dev/null +++ b/src/routes/zh_CN/picker/data.js @@ -0,0 +1,637 @@ +const someProvinceList = [ + { label: '云南' }, + { label: '北京' }, + { label: '广东' }, + { label: '重庆' }, + { label: '四川' }, + { label: '湖北' }, + { label: '河南' }, + { label: '湖南' }, + { label: '山东' }, + { label: '江苏' }, + { label: '浙江' }, + { label: '江西' }, + { label: '安徽' }, + { label: '福建' }, +]; +const weekList = [ + { label: '星期一' }, + { label: '星期二' }, + { label: '星期三' }, + { label: '星期四' }, + { label: '星期五' }, + { label: '星期六' }, + { label: '星期日' }, +]; +const amOrPmList = [{ label: '上午' }, { label: '下午' }]; +const timeList = [ + { label: '01:00' }, + { label: '02:00' }, + { label: '03:00' }, + { label: '04:00' }, + { label: '05:00' }, + { label: '06:00' }, + { label: '07:00' }, + { label: '08:00' }, + { label: '09:00' }, + { label: '10:00' }, + { label: '11:00' }, + { label: '12:00' }, +]; +const cityList = [ + { cityName: '昆明' }, + { cityName: '曲靖' }, + { cityName: '玉溪' }, + { cityName: '保山' }, + { cityName: '昭通' }, + { cityName: '丽江' }, + { cityName: '普洱' }, + { cityName: '临沧' }, + { cityName: '楚雄' }, + { cityName: '红河' }, + { cityName: '文山' }, +]; +const linkageData = [ + { + label: '云南', + children: [ + { + label: '昆明', + children: [ + { label: '盘龙区' }, + { label: '五华区' }, + { label: '官渡区' }, + { label: '西山区' }, + { label: '东川区' }, + { label: '呈贡区' }, + { label: '晋宁区' }, + { label: '富民县' }, + { label: '宜良县' }, + { label: '石林彝族自治县' }, + { label: '嵩明县' }, + { label: '禄劝彝族苗族自治县' }, + { label: '寻甸回族彝族自治县' }, + { label: '安宁市' }, + ], + }, + { + label: '曲靖', + children: [ + { label: '麒麟区' }, + { label: '沾益区' }, + { label: '马龙县' }, + { label: '陆良县' }, + { label: '师宗县' }, + { label: '罗平县' }, + { label: '富源县' }, + { label: '会泽县' }, + { label: '宣威市' }, + ], + }, + { + label: '玉溪', + children: [ + { label: '红塔区' }, + { label: '江川区' }, + { label: '澄江县' }, + { label: '通海县' }, + { label: '华宁县' }, + { label: '易门县' }, + { label: '峨山彝族自治县' }, + { label: '新平彝族傣族自治县' }, + { label: '元江哈尼族彝族傣族自治县' }, + ], + }, + { + label: '保山', + children: [ + { label: '隆阳区' }, + { label: '施甸县' }, + { label: '龙陵县' }, + { label: '昌宁县' }, + { label: '腾冲市' }, + { label: '龙陵县' }, + ], + }, + { + label: '丽江', + children: [ + { label: '古城区' }, + { label: '永胜县' }, + { label: '华坪县' }, + { label: '玉龙纳西族自治县' }, + { label: '宁蒗彝族自治县' }, + ], + }, + { + label: '普洱', + children: [ + { label: '思茅区' }, + { label: '宁洱哈尼族彝族自治县' }, + { label: '墨江哈尼族自治县' }, + { label: '景东彝族自治县' }, + { label: '景谷傣族彝族自治县' }, + { label: '镇沅彝族哈尼族拉祜族自治县' }, + { label: '江城哈尼族彝族自治县' }, + { label: '孟连傣族拉祜族佤族自治县' }, + { label: '澜沧拉祜族自治县' }, + { label: '西盟佤族自治县' }, + ], + }, + { + label: '临沧', + children: [ + { label: '临翔区' }, + { label: '凤庆县' }, + { label: '云县' }, + { label: '永德县' }, + { label: '镇康县' }, + { label: '双江拉祜族佤族布朗族傣族自治县' }, + { label: '耿马傣族佤族自治县' }, + { label: '沧源佤族自治县' }, + ], + }, + { + label: '楚雄', + children: [ + { label: '楚雄市' }, + { label: '双柏县' }, + { label: '牟定县' }, + { label: '南华县' }, + { label: '姚安县' }, + { label: '大姚县' }, + { label: '永仁县' }, + { label: '元谋县' }, + { label: '武定县' }, + { label: '禄丰县' }, + ], + }, + { + label: '红河', + children: [ + { label: '个旧市' }, + { label: '开远市' }, + { label: '蒙自市' }, + { label: '弥勒市' }, + { label: '屏边苗族自治县' }, + { label: '建水县' }, + { label: '石屏县' }, + { label: '泸西县' }, + { label: '元阳县' }, + { label: '红河县' }, + { label: '金平苗族瑶族傣族自治县' }, + { label: '绿春县' }, + { label: '河口瑶族自治县' }, + ], + }, + { + label: '文山', + children: [ + { label: '文山市' }, + { label: '砚山县' }, + { label: '西畴县' }, + { label: '麻栗坡县' }, + { label: '马关县' }, + { label: '丘北县' }, + { label: '广南县' }, + { label: '富宁县' }, + ], + }, + ], + }, + { + label: '广东', + children: [ + { + label: '广州', + children: [ + { label: '天河区' }, + { label: '海珠区' }, + { label: '荔湾区' }, + { label: '越秀区' }, + { label: '白云区' }, + { label: '黄埔区' }, + ], + }, + { + label: '深圳', + children: [ + { label: '罗湖区' }, + { label: '福田区' }, + { label: '南山区' }, + { label: '宝安区' }, + { label: '龙岗区' }, + { label: '盐田区' }, + ], + }, + { + label: '珠海', + children: [{ label: '香洲区' }, { label: '斗门区' }, { label: '金湾区' }], + }, + { + label: '汕头', + children: [ + { label: '龙湖区' }, + { label: '金平区' }, + { label: '濠江区' }, + { label: '潮阳区' }, + { label: '潮南区' }, + { label: '澄海区' }, + ], + }, + { + label: '佛山', + children: [{ label: '禅城区' }, { label: '南海区' }, { label: '顺德区' }, { label: '三水区' }, { label: '高明区' }], + }, + ], + }, + { + label: '四川', + children: [ + { + label: '成都', + children: [ + { label: '锦江区' }, + { label: '青羊区' }, + { label: '金牛区' }, + { label: '武侯区' }, + { label: '成华区' }, + { label: '龙泉驿区' }, + ], + }, + { + label: '绵阳', + children: [ + { label: '涪城区' }, + { label: '游仙区' }, + { label: '安州区' }, + { label: '三台县' }, + { label: '盐亭县' }, + { label: '梓潼县' }, + ], + }, + { + label: '自贡', + children: [ + { label: '自流井区' }, + { label: '贡井区' }, + { label: '大安区' }, + { label: '沿滩区' }, + { label: '荣县' }, + { label: '富顺县' }, + ], + }, + { + label: '攀枝花', + children: [{ label: '东区' }, { label: '西区' }, { label: '仁和区' }, { label: '米易县' }, { label: '盐边县' }], + }, + ], + }, + { + label: '北京', + children: [ + { + label: '北京市', + children: [ + { label: '东城区' }, + { label: '西城区' }, + { label: '朝阳区' }, + { label: '丰台区' }, + { label: '石景山区' }, + { label: '海淀区' }, + ], + }, + ], + }, + { + label: '浙江', + children: [ + { + label: '杭州', + children: [ + { label: '上城区' }, + { label: '下城区' }, + { label: '江干区' }, + { label: '拱墅区' }, + { label: '西湖区' }, + { label: '滨江区' }, + ], + }, + { + label: '宁波', + children: [ + { label: '海曙区' }, + { label: '江东区' }, + { label: '江北区' }, + { label: '北仑区' }, + { label: '镇海区' }, + { label: '鄞州区' }, + ], + }, + { + label: '温州', + children: [ + { label: '鹿城区' }, + { label: '龙湾区' }, + { label: '瓯海区' }, + { label: '洞头区' }, + { label: '永嘉县' }, + { label: '平阳县' }, + ], + }, + { + label: '嘉兴', + children: [ + { label: '南湖区' }, + { label: '秀洲区' }, + { label: '嘉善县' }, + { label: '海盐县' }, + { label: '海宁市' }, + { label: '平湖市' }, + ], + }, + { + label: '湖州', + children: [{ label: '吴兴区' }, { label: '南浔区' }, { label: '德清县' }, { label: '长兴县' }, { label: '安吉县' }], + }, + ], + }, +]; +const linkagDiffLabelKeyData = [ + { + province: '云南', + children: [ + { + city: '昆明', + children: [ + { region: '盘龙区' }, + { region: '五华区' }, + { region: '官渡区' }, + { region: '西山区' }, + { region: '东川区' }, + { region: '呈贡区' }, + { region: '晋宁区' }, + ], + }, + { + city: '曲靖', + children: [ + { region: '麒麟区' }, + { region: '沾益区' }, + { region: '马龙县' }, + { region: '陆良县' }, + { region: '师宗县' }, + { region: '罗平县' }, + ], + }, + { + city: '玉溪', + children: [ + { region: '红塔区' }, + { region: '江川区' }, + { region: '澄江县' }, + { region: '通海县' }, + { region: '华宁县' }, + { region: '易门县' }, + ], + }, + ], + }, + { + province: '贵州', + children: [ + { + city: '贵阳', + children: [ + { region: '南明区' }, + { region: '云岩区' }, + { region: '花溪区' }, + { region: '乌当区' }, + { region: '白云区' }, + { region: '观山湖区' }, + ], + }, + { + city: '遵义', + children: [ + { region: '红花岗区' }, + { region: '汇川区' }, + { region: '播州区' }, + { region: '桐梓县' }, + { region: '绥阳县' }, + { region: '正安县' }, + ], + }, + { + city: '六盘水', + children: [{ region: '钟山区' }, { region: '六枝特区' }, { region: '水城县' }, { region: '盘县' }], + }, + ], + }, + { + province: '四川', + children: [ + { + city: '成都', + children: [ + { region: '锦江区' }, + { region: '青羊区' }, + { region: '金牛区' }, + { region: '武侯区' }, + { region: '成华区' }, + { region: '龙泉驿区' }, + ], + }, + { + city: '绵阳', + children: [ + { region: '涪城区' }, + { region: '游仙区' }, + { region: '安州区' }, + { region: '三台县' }, + { region: '盐亭县' }, + { region: '梓潼县' }, + ], + }, + { + city: '攀枝花', + children: [{ region: '东区' }, { region: '西区' }, { region: '仁和区' }, { region: '米易县' }, { region: '盐边县' }], + }, + ], + }, + { + province: '北京', + children: [ + { + city: '北京', + children: [ + { region: '东城区' }, + { region: '西城区' }, + { region: '朝阳区' }, + { region: '丰台区' }, + { region: '石景山区' }, + { region: '海淀区' }, + ], + }, + ], + }, +]; +const linkagCustomChildrenKeyData = [ + { + label: '云南', + child: [ + { + label: '昆明', + child: [ + { label: '盘龙区' }, + { label: '五华区' }, + { label: '官渡区' }, + { label: '西山区' }, + { label: '东川区' }, + { label: '呈贡区' }, + { label: '晋宁区' }, + ], + }, + { + label: '曲靖', + child: [ + { label: '麒麟区' }, + { label: '沾益区' }, + { label: '马龙县' }, + { label: '陆良县' }, + { label: '师宗县' }, + { label: '罗平县' }, + ], + }, + { + label: '玉溪', + child: [ + { label: '红塔区' }, + { label: '江川区' }, + { label: '澄江县' }, + { label: '通海县' }, + { label: '华宁县' }, + { label: '易门县' }, + ], + }, + ], + }, + { + label: '贵州', + child: [ + { + label: '贵阳', + child: [ + { label: '南明区' }, + { label: '云岩区' }, + { label: '花溪区' }, + { label: '乌当区' }, + { label: '白云区' }, + { label: '观山湖区' }, + ], + }, + { + label: '遵义', + child: [ + { label: '红花岗区' }, + { label: '汇川区' }, + { label: '播州区' }, + { label: '桐梓县' }, + { label: '绥阳县' }, + { label: '正安县' }, + ], + }, + { + label: '六盘水', + child: [{ label: '钟山区' }, { label: '六枝特区' }, { label: '水城县' }, { label: '盘县' }], + }, + ], + }, + { + label: '四川', + child: [ + { + label: '成都', + child: [ + { label: '锦江区' }, + { label: '青羊区' }, + { label: '金牛区' }, + { label: '武侯区' }, + { label: '成华区' }, + { label: '龙泉驿区' }, + ], + }, + { + label: '绵阳', + child: [ + { label: '涪城区' }, + { label: '游仙区' }, + { label: '安州区' }, + { label: '三台县' }, + { label: '盐亭县' }, + { label: '梓潼县' }, + ], + }, + { + label: '攀枝花', + child: [{ label: '东区' }, { label: '西区' }, { label: '仁和区' }, { label: '米易县' }, { label: '盐边县' }], + }, + ], + }, + { + label: '北京', + child: [ + { + label: '北京', + child: [ + { label: '东城区' }, + { label: '西城区' }, + { label: '朝阳区' }, + { label: '丰台区' }, + { label: '石景山区' }, + { label: '海淀区' }, + ], + }, + ], + }, + { + label: '浙江', + child: [ + { + label: '杭州', + child: [ + { label: '西湖区' }, + { label: '上城区' }, + { label: '下城区' }, + { label: '江干区' }, + { label: '拱墅区' }, + { label: '滨江区' }, + ], + }, + { + label: '宁波', + child: [ + { label: '海曙区' }, + { label: '江东区' }, + { label: '江北区' }, + { label: '北仑区' }, + { label: '镇海区' }, + { label: '鄞州区' }, + ], + }, + { + label: '温州', + child: [ + { label: '鹿城区' }, + { label: '龙湾区' }, + { label: '瓯海区' }, + { label: '洞头区' }, + { label: '永嘉县' }, + { label: '平阳县' }, + ], + }, + ], + }, +]; + +export { someProvinceList, weekList, amOrPmList, timeList, cityList, linkageData, linkagDiffLabelKeyData, linkagCustomChildrenKeyData }; diff --git a/src/routes/zh_CN/placeholder/+page.svelte b/src/routes/zh_CN/placeholder/+page.svelte new file mode 100644 index 0000000..358b84b --- /dev/null +++ b/src/routes/zh_CN/placeholder/+page.svelte @@ -0,0 +1,34 @@ + + + +
基础用法
+基础用法 + +
设置高度
+高为 32 + +
不同圆角
+
+ 无圆角 + XL 圆角 + 全圆角 +
+ +
有阴影
+阴影 + +
自定义 injClass
+渐变背景 + +
与 Grids 结合
+ + 3﹡2 + 1﹡3 + 3﹡1 + 2﹡2 + 1﹡1 + 1﹡1 + +
diff --git a/src/routes/zh_CN/popup/+page.svelte b/src/routes/zh_CN/popup/+page.svelte new file mode 100644 index 0000000..85f29bb --- /dev/null +++ b/src/routes/zh_CN/popup/+page.svelte @@ -0,0 +1,169 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible16 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + +
+ +
+
+ + (visible14 = true)} /> + +
+
AirPods Pro 已连接
+
+ +
+
+
设置
+
音乐
+
+
+
+ + (visible20 = true)} /> + +
+ + +
(visible20 = false)}>首页
+ + +
(visible20 = false)}>设置
+ + +
(visible20 = false)}>关于
+
+
+ + (visible17 = true)} /> + +
+
+
+ +
+
+
手机
+
胡歌
+
+
+
+
+ +
+
+ +
+
+
+
+ + (visible18 = true)} /> + +
+
+ +
+
+
+ + (visible15 = true)} /> + + + (visible19 = true)} /> + + + + + (visible21 = true)} /> + +
+ + + diff --git a/src/routes/zh_CN/progress/+page.svelte b/src/routes/zh_CN/progress/+page.svelte new file mode 100644 index 0000000..5572b14 --- /dev/null +++ b/src/routes/zh_CN/progress/+page.svelte @@ -0,0 +1,95 @@ + + + +
+
基础用法
+ + +
不同高度
+
+ + + + +
+ +
百分比不同位置
+
+ + + + +
+ +
不同圆角风格
+
+ + + + + +
+ +
置灰
+
+ + +
+ +
过渡效果
+
+ + + + + +
+ + +
自定义颜色
+
+ + + + +
+ +
自定义文字
+
+ +
已完成 2/3
+
+ +
已完成 2/3
+
+
+
diff --git a/src/routes/zh_CN/progressLoop/+page.svelte b/src/routes/zh_CN/progressLoop/+page.svelte new file mode 100644 index 0000000..2952ecb --- /dev/null +++ b/src/routes/zh_CN/progressLoop/+page.svelte @@ -0,0 +1,135 @@ + + + +
基础用法
+
+ +
+ +
不同宽度
+
+
+ +
+
+ +
+
+ +
+
+ +
直边端点
+
+ +
+ +
逆时针方向
+
+ +
+ +
自定义颜色
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
自定义文字
+
+
+ +
+
已完成
+
6666
+
+
+
+
+
+ +
+
剩余流量
+
66
+
GB
+
+
+
+
+ +
完成 2/3
+
+
+
+ +
过渡效果
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
diff --git a/src/routes/zh_CN/radio/+page.svelte b/src/routes/zh_CN/radio/+page.svelte new file mode 100644 index 0000000..269a96c --- /dev/null +++ b/src/routes/zh_CN/radio/+page.svelte @@ -0,0 +1,155 @@ + + + +
+
横向排列
+
简单用法
+ + {#each dota as item} + {item.label} + {/each} + + +
文字在不同位置
+ + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + + + {#each dota as item} + {item.label} + {/each} + + +
自定义图标
+ + 主宰 + 白牛 + 光法 + 猛犸 + + +
图片选项
+ + {#each dotaImgs as dota} + +
+ +
+
+ {/each} +
+
什么,你又要选 {imgValue}!!
+ +
不用图标 && 使用 Button
+ + {#each dota as item} + + + + {/each} + + +
不用图标 && 自定义选中效果
+ + {#each dota as item} + +
+ {item.label} +
+
+ {/each} +
+
+ +
+
纵向排列
+
基础用法
+ + {#each dota as item} + {item.label} + {/each} + + +
长文字选项
+ + {#each dota as item} + {item.desc} + {/each} + + +
文字靠左
+ + {#each dota as item, i} + + {item.label} + {#if i !== dota.length - 1} +
+ {/if} + + {/each} + + +
复杂选项 && 自定义选中效果
+ + {#each dotaVoices as item, i} + +
+ {item.label} + {#each item.voices as voice} +
{voice}
+ {/each} + {#if i !== dotaVoices.length - 1} +
+ {/if} +
+ + {/each} + +
diff --git a/src/routes/zh_CN/rate/+page.svelte b/src/routes/zh_CN/rate/+page.svelte new file mode 100644 index 0000000..ae3b3e4 --- /dev/null +++ b/src/routes/zh_CN/rate/+page.svelte @@ -0,0 +1,110 @@ + + + +
基础用法
+
+ +
+
设置初始分数
+
+ +
+
允许零分
+
+ +
+
自定义总分
+
+ +
+
设置未选中透明度
+
+ +
+
允许半选
+
+ +
+
竖向半选
+
+ +
+
半选允许零分
+
+ +
+
加大间距
+
+ +
+
禁用
+
+ +
+
只读
+
+ +
+
不同大小
+
+ +
+
+ +
+
+ +
+
自定义
+
+ + + +
+
+ + + +
+
+ + + +
+
+ +
👍
+
+
+
+ +
🍺
+
+
+
+ +
+
+
+
监听事件
+
+ +

评分:{value} 星

+
+ +
所有激活图标都有点击动画
+
+ +
+ +
关闭点击动画
+
+ +
diff --git a/src/routes/zh_CN/skeleton/+page.svelte b/src/routes/zh_CN/skeleton/+page.svelte new file mode 100644 index 0000000..32fd920 --- /dev/null +++ b/src/routes/zh_CN/skeleton/+page.svelte @@ -0,0 +1,68 @@ + + + +
+
示例 1
+
+ +
+ + +
+
+ +
示例 2
+
+ + + + +
+ + + +
示例 3
+
+ +
+ +
+
+ +
示例 4
+
+
+ + +
+ +
+ +
示例 5
+
+ + + + +
+ +
示例 6
+ + {#each [1, 1, 1] as item} +
+
+
+ +
+ + +
+
+
+ +
+ + {/each} +
diff --git a/src/routes/zh_CN/slider/+page.svelte b/src/routes/zh_CN/slider/+page.svelte new file mode 100644 index 0000000..05bb79e --- /dev/null +++ b/src/routes/zh_CN/slider/+page.svelte @@ -0,0 +1,125 @@ + + + +
基础用法
+
+ +
+
监听 value
+
+ + 当前值:{value} +
+
步长为 5
+
+ +
+
步长为 0.1
+
+ +
+
设定可选范围(60-80)
+
+ +
+
区间选择
+
+ +
+
区间设定可选范围(40-80)
+
+ + 当前区间:{valueRange[0]} - {valueRange[1]} +
+
不同圆角
+
+ +
+
+ +
+
+ +
+
线框滑块
+
+ +
+
+ +
+
一直显示 Tip
+
+ +
+
+ +
+
+ +
+
不显示 Tip
+
+ +
+
组合布局
+
+ +
+ +
+ +
+
使用 Slot
+
+ +
+
+ {#each barList as item, i} +
+ {/each} +
+
+ +
+
禁用
+
+ +
+
只读
+
+ +
diff --git a/src/routes/zh_CN/steps/+page.svelte b/src/routes/zh_CN/steps/+page.svelte new file mode 100644 index 0000000..91b0d8e --- /dev/null +++ b/src/routes/zh_CN/steps/+page.svelte @@ -0,0 +1,286 @@ + + + +
横向排列
+
简单用法
+ + +
不同圆角
+ + + +
带图标
+ + +
图标不同边框
+ + + + + + +
带完成步骤
+ + +
带图标 && 完成步骤
+ + +
步骤栏区域使用文字
+ + +
步骤栏区域使用图片
+ + + + +
纵向排列
+
不同圆角
+
+ + + +
+ +
图标不同边框
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
带描述信息
+ + + + +
带完成步骤
+ + +
步骤栏区域使用文字
+ + +
步骤栏区域使用图片
+
+ + +
+ +
内容区域注入元素
+ + +
+
+ +
+
+ +
+
+ + + + + + diff --git a/src/routes/zh_CN/steps/injCom1.svelte b/src/routes/zh_CN/steps/injCom1.svelte new file mode 100644 index 0000000..1a6fbe0 --- /dev/null +++ b/src/routes/zh_CN/steps/injCom1.svelte @@ -0,0 +1,6 @@ +
+
此处以组件形式注入一张图片
+
+ +
+
diff --git a/src/routes/zh_CN/steps/injCom2.svelte b/src/routes/zh_CN/steps/injCom2.svelte new file mode 100644 index 0000000..445262b --- /dev/null +++ b/src/routes/zh_CN/steps/injCom2.svelte @@ -0,0 +1,11 @@ + + +
此处以组件形式注入一些内容
+
+ + + + +
diff --git a/src/routes/zh_CN/swiper/+page.svelte b/src/routes/zh_CN/swiper/+page.svelte new file mode 100644 index 0000000..3154454 --- /dev/null +++ b/src/routes/zh_CN/swiper/+page.svelte @@ -0,0 +1,329 @@ + + + +
基础用法
+ + +
初始索引为2
+ + +
间隔8秒
+ + +
过渡1500毫秒
+ + +
关闭自动播放
+ + +
外部指示器
+ + +
关闭指示器
+ + +
指示器右对齐
+ + +
圆点指示器
+ + +
线性指示器
+ + +
长线指示器
+ +
+ + +
方形指示器
+ +
+ + +
+ 指定指示器背景色 +

注入 Class

+
+ + +
+ 指定指示器颜色 +

同时去除背景色

+
+ + +
指定容器宽高比
+ + +
+ 配置容器内边距 +

同时指定指示器颜色、去除指示器背景色、配置容器内部圆角

+
+ +
+ + +
+ 容器内部增加投影 +

注入 Class

+
+ + +
未激活容器X、Z轴偏移
+ +
+ +
+ + +
未激活容器X、Y、Z轴旋转
+ +
+ +
+ +
+ +
+ +
+ + +
未激活容器注入 Class
+ +
+ + +
指定容器宽度
+
+ +
+ +
容器内容使用组件
+ + +
+ 监听 change 事件 +

当前激活索引值:{indexChange}

+
+ + +
+ 监听 click 事件 +

点击索引值:{indexClick === -1 ? '未点击' : indexClick}

+
+ + + + diff --git a/src/routes/zh_CN/swiper/Item.svelte b/src/routes/zh_CN/swiper/Item.svelte new file mode 100644 index 0000000..cedda6d --- /dev/null +++ b/src/routes/zh_CN/swiper/Item.svelte @@ -0,0 +1,13 @@ + + +
+
此容器使用单个组件作为内容
+
+ +
+
+ +
+
diff --git a/src/routes/zh_CN/switch/+page.svelte b/src/routes/zh_CN/switch/+page.svelte new file mode 100644 index 0000000..a1efa27 --- /dev/null +++ b/src/routes/zh_CN/switch/+page.svelte @@ -0,0 +1,126 @@ + + + +
+
+
+
不同圆角
+
+ + + +
+
+
+
不同颜色
+
+ + + + +
+
+
+
带文字 / 状态 / 图标
+
+ + + + + +
+ +
+
+ +
+
+
+
+
+
禁用
+
+ + +
+
+
+
异步控制
+
+
+ +
点击 2 秒后触发
+
+
+ +
点击 3 秒后触发
+
+
+
+
+ +
Cell 中使用
+ + + + + + + + + +
diff --git a/src/routes/zh_CN/tabBar/+page.svelte b/src/routes/zh_CN/tabBar/+page.svelte new file mode 100644 index 0000000..0a566ee --- /dev/null +++ b/src/routes/zh_CN/tabBar/+page.svelte @@ -0,0 +1,92 @@ + + + +
+
+
+
基础用法
+ +
+
+
仅文字
+ +
+
+
仅图标
+ +
+
+
带线条
+ +
+ +
+ +
+ +
+
+
图标仅换颜色
+ +
+
+
自定义最外层
+ +
+
+
自定义 Tab
+ +
+
+
自定义选定 Tab
+ +
+
+
自定义线条
+ +
+
+
关爱版
+ +
+
+
监听 change 事件
+
当前 TabBar 激活的 active:{active}
+ +
+
+
+
+ +
diff --git a/src/routes/zh_CN/tabs/+page.svelte b/src/routes/zh_CN/tabs/+page.svelte new file mode 100644 index 0000000..d269fbd --- /dev/null +++ b/src/routes/zh_CN/tabs/+page.svelte @@ -0,0 +1,216 @@ + + + +
+
使用 Tabs
+
+
基础用法
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
加快过渡
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
减缓过渡
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
使用线性风格
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
选项卡位于底部
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
选项卡位于左侧
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
选项卡位于右侧
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + + + +
自定义过渡
+ +
+ {#if active === 0} +
我是飞机
+ {:else if active === 1} +
我是轮船
+ {:else if active === 2} +
我是火车
+ {:else if active === 3} +
我是汽车
+ {/if} +
+
+ + +
监听 change 事件
+ + 我是飞机 + 我是轮船 + 我是火车 + 我是汽车 + +
当前 Tabs 激活的 active:{changeActive}
+ + +
溢出模式
+ + {#each overflowLabels as item} + 我是{item.text} + {/each} + + + {#each overflowLabels as item} + 我是{item.text} + {/each} + + + +
溢出模式关闭自动滚动
+ + {#each overflowLabels as item} + 我是{item.text} + {/each} + + + +
溢出模式完整显示 2 项
+ + {#each overflowLabels as item} + 我是{item.text} + {/each} + +
+ + +
不同的 Tab 风格
+
+
不同圆角
+ + + + + +
文字与图标搭配
+ + + + +
关爱版
+ + +
线性风格
+ + + +
自定义 Tab 外层风格
+ + +
自定义 Tab 风格
+ + +
自定义选定 Tab 风格
+ + +
自定义指示器风格
+ + + +
不同的左右间距
+
+ + + + +
+
+ + +
单独使用 Tab
+
+ +
当前 Tab 点击的 active:{active}
+
+ +
diff --git a/src/routes/zh_CN/timePicker/+page.svelte b/src/routes/zh_CN/timePicker/+page.svelte new file mode 100644 index 0000000..5c50c0b --- /dev/null +++ b/src/routes/zh_CN/timePicker/+page.svelte @@ -0,0 +1,147 @@ + + + +
+
+ {#if defaultTimeStr !== ''} + 当前选定了: + {defaultTimeStr} + {:else} +
请选定时间
+ {/if} +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible7 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible8 = true)} /> + + + (visible22 = true)} /> + + + (visible9 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + +
+ {#if customFormatStr !== ''} + 当前选定了: + {customFormatStr} + {:else} +
请选定时间
+ {/if} +
+ (visible15 = true)} /> + + +
+ {#if monthFirstStr !== ''} + 当前选定了: + {monthFirstStr} + {:else} +
请选定时间
+ {/if} +
+ (visible16 = true)} /> + + +
+ 当前选定了:
+ {timeObjStr} +
+ (visible17 = true)} /> + + + (visible14 = true)} /> + + + (visible18 = true)} /> + + + (visible19 = true)} /> + + + (visible20 = true)} /> + + + (visible21 = true)} /> + +
diff --git a/src/routes/zh_CN/toast/+page.svelte b/src/routes/zh_CN/toast/+page.svelte new file mode 100644 index 0000000..9c62b70 --- /dev/null +++ b/src/routes/zh_CN/toast/+page.svelte @@ -0,0 +1,167 @@ + + + +
+ (visible1 = true)} /> + + + (visible2 = true)} /> + + + (visible3 = true)} /> + + + (visible4 = true)} /> + + + (visible5 = true)} /> + + + (visible6 = true)} /> + + + (visible7 = true)} /> + + + (visible8 = true)} /> + + + (visible9 = true)} /> + + + (visible30 = true)} /> + + + (visible31 = true)} /> + + + (visible32 = true)} /> + + + (visible27 = true)} /> + + + (visible10 = true)} /> + + + (visible11 = true)} /> + + + (visible12 = true)} /> + + + (visible13 = true)} /> + + + (visible14 = true)} /> + + + (visible15 = true)} /> + + + (visible16 = true)} /> + + + (visible17 = true)} /> + + + (visible18 = true)} /> + + + (visible19 = true)} /> + + + (visible20 = true)} /> + + + (visible28 = true)} /> + + + (visible29 = true)} /> + + + (visible21 = true)} /> + + + (visible22 = true)} /> + + + (visible23 = true)} /> + + + (visible24 = true)} /> + + + + +
+
自定义提示内容
+ +
{time} 秒后关闭
+
+
+ + (visible26 = true)} /> + +
+ +
+
+ +
+
diff --git a/static/assets/images/airpods-pro2.png b/static/assets/images/airpods-pro2.png new file mode 100644 index 0000000..7398d0c Binary files /dev/null and b/static/assets/images/airpods-pro2.png differ diff --git a/static/assets/images/avatar_1.jpg b/static/assets/images/avatar_1.jpg new file mode 100644 index 0000000..940b5c0 Binary files /dev/null and b/static/assets/images/avatar_1.jpg differ diff --git a/static/assets/images/avatar_2.png b/static/assets/images/avatar_2.png new file mode 100644 index 0000000..5d50142 Binary files /dev/null and b/static/assets/images/avatar_2.png differ diff --git "a/static/assets/images/dota_\345\260\217\347\211\233.png" "b/static/assets/images/dota_\345\260\217\347\211\233.png" new file mode 100644 index 0000000..a805a98 Binary files /dev/null and "b/static/assets/images/dota_\345\260\217\347\211\233.png" differ diff --git "a/static/assets/images/dota_\346\226\257\346\270\251.png" "b/static/assets/images/dota_\346\226\257\346\270\251.png" new file mode 100644 index 0000000..6e7e7d1 Binary files /dev/null and "b/static/assets/images/dota_\346\226\257\346\270\251.png" differ diff --git "a/static/assets/images/dota_\346\260\264\344\272\272.png" "b/static/assets/images/dota_\346\260\264\344\272\272.png" new file mode 100644 index 0000000..019b4f1 Binary files /dev/null and "b/static/assets/images/dota_\346\260\264\344\272\272.png" differ diff --git "a/static/assets/images/dota_\347\201\253\345\245\263.png" "b/static/assets/images/dota_\347\201\253\345\245\263.png" new file mode 100644 index 0000000..1b8b8f2 Binary files /dev/null and "b/static/assets/images/dota_\347\201\253\345\245\263.png" differ diff --git "a/static/assets/images/dota_\347\201\253\346\236\252.png" "b/static/assets/images/dota_\347\201\253\346\236\252.png" new file mode 100644 index 0000000..ebac356 Binary files /dev/null and "b/static/assets/images/dota_\347\201\253\346\236\252.png" differ diff --git "a/static/assets/images/icon_\344\274\232\345\221\230.png" "b/static/assets/images/icon_\344\274\232\345\221\230.png" new file mode 100644 index 0000000..eb2c59f Binary files /dev/null and "b/static/assets/images/icon_\344\274\232\345\221\230.png" differ diff --git "a/static/assets/images/icon_\345\244\226\345\215\226.png" "b/static/assets/images/icon_\345\244\226\345\215\226.png" new file mode 100644 index 0000000..5aea400 Binary files /dev/null and "b/static/assets/images/icon_\345\244\226\345\215\226.png" differ diff --git "a/static/assets/images/icon_\346\270\270\346\210\217.png" "b/static/assets/images/icon_\346\270\270\346\210\217.png" new file mode 100644 index 0000000..27d1f4b Binary files /dev/null and "b/static/assets/images/icon_\346\270\270\346\210\217.png" differ diff --git "a/static/assets/images/icon_\347\201\253\350\275\246\347\245\250.png" "b/static/assets/images/icon_\347\201\253\350\275\246\347\245\250.png" new file mode 100644 index 0000000..9598e32 Binary files /dev/null and "b/static/assets/images/icon_\347\201\253\350\275\246\347\245\250.png" differ diff --git "a/static/assets/images/icon_\347\276\216\351\243\237.png" "b/static/assets/images/icon_\347\276\216\351\243\237.png" new file mode 100644 index 0000000..7ae70a8 Binary files /dev/null and "b/static/assets/images/icon_\347\276\216\351\243\237.png" differ diff --git "a/static/assets/images/icon_\350\257\204\344\273\267.png" "b/static/assets/images/icon_\350\257\204\344\273\267.png" new file mode 100644 index 0000000..3ad2d56 Binary files /dev/null and "b/static/assets/images/icon_\350\257\204\344\273\267.png" differ diff --git "a/static/assets/images/icon_\351\242\201\345\245\226.png" "b/static/assets/images/icon_\351\242\201\345\245\226.png" new file mode 100644 index 0000000..6590d97 Binary files /dev/null and "b/static/assets/images/icon_\351\242\201\345\245\226.png" differ diff --git a/static/assets/images/wall_1.jpg b/static/assets/images/wall_1.jpg new file mode 100644 index 0000000..70e0858 Binary files /dev/null and b/static/assets/images/wall_1.jpg differ diff --git a/static/assets/images/wall_2.jpg b/static/assets/images/wall_2.jpg new file mode 100644 index 0000000..e12e1a2 Binary files /dev/null and b/static/assets/images/wall_2.jpg differ diff --git a/static/assets/images/wall_3.jpg b/static/assets/images/wall_3.jpg new file mode 100644 index 0000000..d325f69 Binary files /dev/null and b/static/assets/images/wall_3.jpg differ diff --git a/static/assets/images/wall_4.jpg b/static/assets/images/wall_4.jpg new file mode 100644 index 0000000..fde483b Binary files /dev/null and b/static/assets/images/wall_4.jpg differ diff --git a/static/assets/logos/adidas.png b/static/assets/logos/adidas.png new file mode 100644 index 0000000..7aedf1a Binary files /dev/null and b/static/assets/logos/adidas.png differ diff --git a/static/assets/logos/adobe.png b/static/assets/logos/adobe.png new file mode 100644 index 0000000..f7ac599 Binary files /dev/null and b/static/assets/logos/adobe.png differ diff --git a/static/assets/logos/apple.png b/static/assets/logos/apple.png new file mode 100644 index 0000000..1aaca24 Binary files /dev/null and b/static/assets/logos/apple.png differ diff --git a/static/assets/logos/chrome.png b/static/assets/logos/chrome.png new file mode 100644 index 0000000..8988743 Binary files /dev/null and b/static/assets/logos/chrome.png differ diff --git a/static/assets/logos/figma.png b/static/assets/logos/figma.png new file mode 100644 index 0000000..a653d0a Binary files /dev/null and b/static/assets/logos/figma.png differ diff --git a/static/assets/logos/github.png b/static/assets/logos/github.png new file mode 100644 index 0000000..f238e36 Binary files /dev/null and b/static/assets/logos/github.png differ diff --git a/static/assets/logos/google.png b/static/assets/logos/google.png new file mode 100644 index 0000000..bba5738 Binary files /dev/null and b/static/assets/logos/google.png differ diff --git a/static/assets/logos/instagram.png b/static/assets/logos/instagram.png new file mode 100644 index 0000000..0b3781e Binary files /dev/null and b/static/assets/logos/instagram.png differ diff --git a/static/assets/logos/microsoft.png b/static/assets/logos/microsoft.png new file mode 100644 index 0000000..e1f801e Binary files /dev/null and b/static/assets/logos/microsoft.png differ diff --git a/static/assets/logos/netflix.png b/static/assets/logos/netflix.png new file mode 100644 index 0000000..b29418d Binary files /dev/null and b/static/assets/logos/netflix.png differ diff --git a/static/assets/logos/nike.png b/static/assets/logos/nike.png new file mode 100644 index 0000000..2b37375 Binary files /dev/null and b/static/assets/logos/nike.png differ diff --git a/static/assets/logos/pinterest.png b/static/assets/logos/pinterest.png new file mode 100644 index 0000000..ac5a80b Binary files /dev/null and b/static/assets/logos/pinterest.png differ diff --git a/static/assets/logos/safari.png b/static/assets/logos/safari.png new file mode 100644 index 0000000..35116df Binary files /dev/null and b/static/assets/logos/safari.png differ diff --git a/static/assets/logos/spotify.png b/static/assets/logos/spotify.png new file mode 100644 index 0000000..a3b8e6f Binary files /dev/null and b/static/assets/logos/spotify.png differ diff --git a/static/assets/logos/starbucks.png b/static/assets/logos/starbucks.png new file mode 100644 index 0000000..1025201 Binary files /dev/null and b/static/assets/logos/starbucks.png differ diff --git a/static/assets/logos/tik-tok.png b/static/assets/logos/tik-tok.png new file mode 100644 index 0000000..51c418d Binary files /dev/null and b/static/assets/logos/tik-tok.png differ diff --git a/static/assets/logos/twitter.png b/static/assets/logos/twitter.png new file mode 100644 index 0000000..fbd37b9 Binary files /dev/null and b/static/assets/logos/twitter.png differ diff --git a/static/assets/logos/youtube.png b/static/assets/logos/youtube.png new file mode 100644 index 0000000..e8988ce Binary files /dev/null and b/static/assets/logos/youtube.png differ diff --git a/static/assets/stdf_512px.png b/static/assets/stdf_512px.png new file mode 100644 index 0000000..79b6f6f Binary files /dev/null and b/static/assets/stdf_512px.png differ diff --git a/static/assets/stdf_dark_512px.png b/static/assets/stdf_dark_512px.png new file mode 100644 index 0000000..46f1de5 Binary files /dev/null and b/static/assets/stdf_dark_512px.png differ diff --git a/static/fonts/Trueno.otf b/static/fonts/Trueno.otf new file mode 100644 index 0000000..82a3952 Binary files /dev/null and b/static/fonts/Trueno.otf differ diff --git a/static/stdf.svg b/static/stdf.svg new file mode 100644 index 0000000..59130e0 --- /dev/null +++ b/static/stdf.svg @@ -0,0 +1,4 @@ + + + + diff --git a/static/stdf_dark.svg b/static/stdf_dark.svg new file mode 100644 index 0000000..599d3a3 --- /dev/null +++ b/static/stdf_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..18ba6f6 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,24 @@ +import adapter from '@sveltejs/adapter-static'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + kit: { + // 使用纯静态适配器,并配置打包文件的输入目录 + // Use pure static adapter and configure the input directory of the package file + adapter: adapter({ + // may differ from host to host + // 可能因主机而异 + fallback: 'index.html', + }), + }, + onwarn: (warning, handler) => { + if (warning.code.startsWith('a11y-')) { + return; + } + handler(warning); + }, + preprocess: vitePreprocess(), +}; + +export default config; diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..7af3ead --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,81 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./src/**/*.{html,js,svelte,ts}', './node_modules/stdf/**/*.svelte'], + theme: { + colors: { + // 主题色 + // Theme Color + primary: { + 50: 'rgba(var(--theme-color-primary-50), )', + 100: 'rgba(var(--theme-color-primary-100), )', + 200: 'rgba(var(--theme-color-primary-200), )', + 300: 'rgba(var(--theme-color-primary-300), )', + 400: 'rgba(var(--theme-color-primary-400), )', + 500: 'rgba(var(--theme-color-primary-500), )', + DEFAULT: 'rgba(var(--theme-color-primary), )', + 700: 'rgba(var(--theme-color-primary-700), )', + 800: 'rgba(var(--theme-color-primary-800), )', + 900: 'rgba(var(--theme-color-primary-900), )', + 950: 'rgba(var(--theme-color-primary-950), )', + }, + dark: { + 50: 'rgba(var(--theme-color-dark-50), )', + 100: 'rgba(var(--theme-color-dark-100), )', + 200: 'rgba(var(--theme-color-dark-200), )', + 300: 'rgba(var(--theme-color-dark-300), )', + 400: 'rgba(var(--theme-color-dark-400), )', + 500: 'rgba(var(--theme-color-dark-500), )', + DEFAULT: 'rgba(var(--theme-color-dark), )', + 700: 'rgba(var(--theme-color-dark-700), )', + 800: 'rgba(var(--theme-color-dark-800), )', + 900: 'rgba(var(--theme-color-dark-900), )', + 950: 'rgba(var(--theme-color-dark-950), )', + }, + primaryBlack: 'rgba(var(--theme-color-primaryBlack), )', + primaryWhite: 'rgba(var(--theme-color-primaryWhite), )', + darkBlack: 'rgba(var(--theme-color-darkBlack), )', + darkWhite: 'rgba(var(--theme-color-darkWhite), )', + + // 功能色 + // Functional Color + success: 'rgba(var(--theme-color-functional-success), )', + warning: 'rgba(var(--theme-color-functional-warning), )', + error: 'rgba(var(--theme-color-functional-error), )', + info: 'rgba(var(--theme-color-functional-info), )', + + // 扩展色 + // Extended Color + extend0: 'rgba(var(--theme-color-extend0), )', + extend1: 'rgba(var(--theme-color-extend1), )', + extend2: 'rgba(var(--theme-color-extend2), )', + + // 中性色 + // Neutral Color + black: '#000000', + white: '#ffffff', + gray: { + 50: '#f2f2f2', + 100: '#e6e6e6', + 200: '#cccccc', + 300: '#b3b3b3', + 400: '#999999', + 500: '#808080', + 600: '#666666', + 700: '#4D4D4D', + 800: '#333333', + 900: '#1A1A1A', + 950: '#0D0D0D', + }, + transparent: 'transparent', + }, + extend: { + // 自定义字体 + // Custom Font + fontFamily: { + Trueno: 'Trueno', + }, + }, + }, + darkMode: 'class', + plugins: [], +}; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..6ef0e2b --- /dev/null +++ b/vite.config.js @@ -0,0 +1,15 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; +import svgSprite from 'rollup-plugin-stdf-icon'; + +// @ts-ignore +export default defineConfig({ + // @ts-ignore + plugins: [sveltekit({}), svgSprite()], + server: { + hmr: true, + host: '0.0.0.0', + port: 8888, + https: false, + }, +});