├── .github └── workflows │ └── gh-pages.yml ├── .gitignore ├── .npmignore ├── .vscode └── extensions.json ├── LICENSE ├── README.md ├── build └── rollup.config.ts ├── index.html ├── package-lock.json ├── package.json ├── package ├── index.ts └── text-clamp.vue ├── pnpm-lock.yaml ├── public └── icon.svg ├── src ├── App.vue ├── main.ts ├── plugins │ ├── i18n.ts │ ├── locales │ │ ├── en-US.ts │ │ └── zh-CN.ts │ └── vue-style.ts └── style.less ├── tsconfig.json ├── tsconfig.node.json ├── vite-env.d.ts └── vite.config.ts /.github/workflows/gh-pages.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 3 | 4 | name: Node.js CI 5 | 6 | on: 7 | push: 8 | branches: [ "master" ] 9 | pull_request: 10 | branches: [ "master" ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | matrix: 19 | node-version: [14.x] 20 | # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ 21 | 22 | steps: 23 | - uses: actions/checkout@v3 24 | - name: Use Node.js ${{ matrix.node-version }} 25 | uses: actions/setup-node@v3 26 | with: 27 | node-version: ${{ matrix.node-version }} 28 | cache: 'npm' 29 | - run: npm ci 30 | - run: npm run build --if-present 31 | - run: npm test 32 | - name: Deploy 33 | uses: peaceiris/actions-gh-pages@v3 34 | with: 35 | publish_dir: ./dist 36 | github_token: ${{ secrets.DEPLOY_SECRET }} 37 | user_name: ${{ secrets.MY_USER_NAME }} 38 | user_email: ${{ secrets.MY_USER_EMAIL }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | lib 13 | dist-ssr 14 | *.local 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .* 2 | vite-env.d.ts 3 | vite.config.ts 4 | tsconfig.json 5 | tsconfig.node.json 6 | pnpm-lock.yaml 7 | index.html 8 | node_modules 9 | public 10 | src 11 | build 12 | dist 13 | package -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Sherwin Shen 4 | 5 | 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: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 |

logo

4 |

Vue3 Text-Clamp

5 | 6 | ***Vue3** component which allows you to ellipsis your multiline text*, see more 👉 [homepage](https://sherwinshen.github.io/vue3-text-clamp/#/). 7 | 8 | ## Features 9 | 10 | - Clamps text with max lines and/or max height. No need to specify line height. 11 | - Place elllipsis at the end/middle/start of the clamped text and customize elllipsis string. 12 | - Automatically updates upon layout change. 13 | - The clamped text can be expanded/collapsed. 14 | - Customizable and responsive content before/after clamped text. 15 | 16 | ## Install and Usage 17 | 18 | ```shell 19 | $ npm install --save vue3-text-clamp 20 | ``` 21 | 22 | ↓ Full import 23 | 24 | ```typescript 25 | import { createApp } from 'vue'; 26 | import TextClamp from 'vue3-text-clamp'; 27 | import App from './App.vue'; 28 | 29 | createApp(App).use(TextClamp).mount('#app'); 30 | ``` 31 | 32 | ↓ Manually import 33 | 34 | ```vue 35 | 38 | 39 | 42 | ``` 43 | 44 | ## Links 45 | 46 | - [Home page](https://sherwinshen.github.io/vue3-text-clamp/#/) 47 | - [Vue2 version](https://vue-clamp.vercel.app/) 48 | 49 | 50 | ## License 51 | 52 | MIT License (MIT). Please see [License File](./LICENSE) for more information. 53 | -------------------------------------------------------------------------------- /build/rollup.config.ts: -------------------------------------------------------------------------------- 1 | import resolve from "@rollup/plugin-node-resolve"; 2 | import vuePlugin from "rollup-plugin-vue"; // 处理 SFC 代码 3 | import typescript from "rollup-plugin-typescript2"; // 处理 ts 代码 4 | import { terser } from "rollup-plugin-terser"; // 压缩代码 5 | 6 | // 打包入口 7 | const input = "package/index.ts"; 8 | // 外部依赖(npm包不会参与打包) 9 | const external = ["vue", "resize-detector"]; 10 | // 插件 11 | const plugins = [ 12 | resolve(), 13 | typescript({ 14 | useTsconfigDeclarationDir: true, 15 | tsconfigOverride: { 16 | exclude: ["node_modules", "src"], 17 | compilerOptions: { 18 | declaration: true, // 是否创建 typescript 声明文件 19 | declarationDir: "lib/types", 20 | skipLibCheck: true, 21 | }, 22 | }, 23 | exclude: ["node_modules"], 24 | }), 25 | vuePlugin(), 26 | terser(), 27 | ]; 28 | 29 | export default [ 30 | // umd 31 | { 32 | input, 33 | output: { 34 | file: "lib/text-clamp.js", 35 | format: "umd", 36 | name: "text-clamp", 37 | sourcemap: false, 38 | globals: { 39 | vue: "Vue", 40 | "resize-detector": "resizeDetector", 41 | }, 42 | exports: "named", 43 | }, 44 | plugins, 45 | external, 46 | }, 47 | // esm 48 | { 49 | input, 50 | output: { 51 | file: "lib/text-clamp.esm.js", 52 | format: "es", 53 | sourcemap: false, 54 | }, 55 | plugins, 56 | external, 57 | }, 58 | ]; 59 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | vue3 text-clamp 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue3-text-clamp", 3 | "version": "0.1.2", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.18.6", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", 10 | "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.18.6" 14 | } 15 | }, 16 | "@babel/helper-validator-identifier": { 17 | "version": "7.18.6", 18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", 19 | "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", 20 | "dev": true 21 | }, 22 | "@babel/highlight": { 23 | "version": "7.18.6", 24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 25 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 26 | "dev": true, 27 | "requires": { 28 | "@babel/helper-validator-identifier": "^7.18.6", 29 | "chalk": "^2.0.0", 30 | "js-tokens": "^4.0.0" 31 | } 32 | }, 33 | "@babel/parser": { 34 | "version": "7.18.11", 35 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", 36 | "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==" 37 | }, 38 | "@esbuild/android-arm": { 39 | "version": "0.15.18", 40 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", 41 | "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", 42 | "dev": true, 43 | "optional": true 44 | }, 45 | "@esbuild/linux-loong64": { 46 | "version": "0.15.18", 47 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", 48 | "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", 49 | "dev": true, 50 | "optional": true 51 | }, 52 | "@highlightjs/vue-plugin": { 53 | "version": "2.1.0", 54 | "resolved": "https://registry.npmjs.org/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz", 55 | "integrity": "sha512-E+bmk4ncca+hBEYRV2a+1aIzIV0VSY/e5ArjpuSN9IO7wBJrzUE2u4ESCwrbQD7sAy+jWQjkV5qCCWgc+pu7CQ==", 56 | "dev": true 57 | }, 58 | "@intlify/core-base": { 59 | "version": "9.2.2", 60 | "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz", 61 | "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", 62 | "dev": true, 63 | "requires": { 64 | "@intlify/devtools-if": "9.2.2", 65 | "@intlify/message-compiler": "9.2.2", 66 | "@intlify/shared": "9.2.2", 67 | "@intlify/vue-devtools": "9.2.2" 68 | } 69 | }, 70 | "@intlify/devtools-if": { 71 | "version": "9.2.2", 72 | "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", 73 | "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", 74 | "dev": true, 75 | "requires": { 76 | "@intlify/shared": "9.2.2" 77 | } 78 | }, 79 | "@intlify/message-compiler": { 80 | "version": "9.2.2", 81 | "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", 82 | "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", 83 | "dev": true, 84 | "requires": { 85 | "@intlify/shared": "9.2.2", 86 | "source-map": "0.6.1" 87 | } 88 | }, 89 | "@intlify/shared": { 90 | "version": "9.2.2", 91 | "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz", 92 | "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", 93 | "dev": true 94 | }, 95 | "@intlify/vue-devtools": { 96 | "version": "9.2.2", 97 | "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", 98 | "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", 99 | "dev": true, 100 | "requires": { 101 | "@intlify/core-base": "9.2.2", 102 | "@intlify/shared": "9.2.2" 103 | } 104 | }, 105 | "@jridgewell/gen-mapping": { 106 | "version": "0.3.2", 107 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", 108 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", 109 | "dev": true, 110 | "requires": { 111 | "@jridgewell/set-array": "^1.0.1", 112 | "@jridgewell/sourcemap-codec": "^1.4.10", 113 | "@jridgewell/trace-mapping": "^0.3.9" 114 | } 115 | }, 116 | "@jridgewell/resolve-uri": { 117 | "version": "3.1.0", 118 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 119 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 120 | "dev": true 121 | }, 122 | "@jridgewell/set-array": { 123 | "version": "1.1.2", 124 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 125 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 126 | "dev": true 127 | }, 128 | "@jridgewell/source-map": { 129 | "version": "0.3.2", 130 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", 131 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", 132 | "dev": true, 133 | "requires": { 134 | "@jridgewell/gen-mapping": "^0.3.0", 135 | "@jridgewell/trace-mapping": "^0.3.9" 136 | } 137 | }, 138 | "@jridgewell/sourcemap-codec": { 139 | "version": "1.4.14", 140 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 141 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 142 | "dev": true 143 | }, 144 | "@jridgewell/trace-mapping": { 145 | "version": "0.3.15", 146 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", 147 | "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", 148 | "dev": true, 149 | "requires": { 150 | "@jridgewell/resolve-uri": "^3.0.3", 151 | "@jridgewell/sourcemap-codec": "^1.4.10" 152 | } 153 | }, 154 | "@rollup/plugin-node-resolve": { 155 | "version": "13.3.0", 156 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", 157 | "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", 158 | "dev": true, 159 | "requires": { 160 | "@rollup/pluginutils": "^3.1.0", 161 | "@types/resolve": "1.17.1", 162 | "deepmerge": "^4.2.2", 163 | "is-builtin-module": "^3.1.0", 164 | "is-module": "^1.0.0", 165 | "resolve": "^1.19.0" 166 | } 167 | }, 168 | "@rollup/pluginutils": { 169 | "version": "3.1.0", 170 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 171 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 172 | "dev": true, 173 | "requires": { 174 | "@types/estree": "0.0.39", 175 | "estree-walker": "^1.0.1", 176 | "picomatch": "^2.2.2" 177 | }, 178 | "dependencies": { 179 | "estree-walker": { 180 | "version": "1.0.1", 181 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 182 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 183 | "dev": true 184 | } 185 | } 186 | }, 187 | "@types/estree": { 188 | "version": "0.0.39", 189 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 190 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 191 | "dev": true 192 | }, 193 | "@types/node": { 194 | "version": "18.7.2", 195 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", 196 | "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", 197 | "dev": true 198 | }, 199 | "@types/resolve": { 200 | "version": "1.17.1", 201 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", 202 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 203 | "dev": true, 204 | "requires": { 205 | "@types/node": "*" 206 | } 207 | }, 208 | "@vitejs/plugin-vue": { 209 | "version": "3.0.2", 210 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.2.tgz", 211 | "integrity": "sha512-LAqb+tibmsKmSbxBzsMqWVJe6gDE4BDmFLjIzk4YdHgeiRCTokPbK8yRB3dRxDRwNk4IFwCFVE6+WP+YM0mbJg==", 212 | "dev": true 213 | }, 214 | "@volar/code-gen": { 215 | "version": "0.38.9", 216 | "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.38.9.tgz", 217 | "integrity": "sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==", 218 | "dev": true, 219 | "requires": { 220 | "@volar/source-map": "0.38.9" 221 | } 222 | }, 223 | "@volar/source-map": { 224 | "version": "0.38.9", 225 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.38.9.tgz", 226 | "integrity": "sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==", 227 | "dev": true 228 | }, 229 | "@volar/vue-code-gen": { 230 | "version": "0.38.9", 231 | "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.38.9.tgz", 232 | "integrity": "sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==", 233 | "dev": true, 234 | "requires": { 235 | "@volar/code-gen": "0.38.9", 236 | "@volar/source-map": "0.38.9", 237 | "@vue/compiler-core": "^3.2.37", 238 | "@vue/compiler-dom": "^3.2.37", 239 | "@vue/shared": "^3.2.37" 240 | } 241 | }, 242 | "@volar/vue-typescript": { 243 | "version": "0.38.9", 244 | "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.38.9.tgz", 245 | "integrity": "sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==", 246 | "dev": true, 247 | "requires": { 248 | "@volar/code-gen": "0.38.9", 249 | "@volar/source-map": "0.38.9", 250 | "@volar/vue-code-gen": "0.38.9", 251 | "@vue/compiler-sfc": "^3.2.37", 252 | "@vue/reactivity": "^3.2.37" 253 | } 254 | }, 255 | "@vue/compiler-core": { 256 | "version": "3.2.37", 257 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", 258 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", 259 | "requires": { 260 | "@babel/parser": "^7.16.4", 261 | "@vue/shared": "3.2.37", 262 | "estree-walker": "^2.0.2", 263 | "source-map": "^0.6.1" 264 | } 265 | }, 266 | "@vue/compiler-dom": { 267 | "version": "3.2.37", 268 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", 269 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", 270 | "requires": { 271 | "@vue/compiler-core": "3.2.37", 272 | "@vue/shared": "3.2.37" 273 | } 274 | }, 275 | "@vue/compiler-sfc": { 276 | "version": "3.2.37", 277 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", 278 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", 279 | "requires": { 280 | "@babel/parser": "^7.16.4", 281 | "@vue/compiler-core": "3.2.37", 282 | "@vue/compiler-dom": "3.2.37", 283 | "@vue/compiler-ssr": "3.2.37", 284 | "@vue/reactivity-transform": "3.2.37", 285 | "@vue/shared": "3.2.37", 286 | "estree-walker": "^2.0.2", 287 | "magic-string": "^0.25.7", 288 | "postcss": "^8.1.10", 289 | "source-map": "^0.6.1" 290 | } 291 | }, 292 | "@vue/compiler-ssr": { 293 | "version": "3.2.37", 294 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", 295 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", 296 | "requires": { 297 | "@vue/compiler-dom": "3.2.37", 298 | "@vue/shared": "3.2.37" 299 | } 300 | }, 301 | "@vue/devtools-api": { 302 | "version": "6.2.1", 303 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", 304 | "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==", 305 | "dev": true 306 | }, 307 | "@vue/reactivity": { 308 | "version": "3.2.37", 309 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz", 310 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==", 311 | "requires": { 312 | "@vue/shared": "3.2.37" 313 | } 314 | }, 315 | "@vue/reactivity-transform": { 316 | "version": "3.2.37", 317 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", 318 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", 319 | "requires": { 320 | "@babel/parser": "^7.16.4", 321 | "@vue/compiler-core": "3.2.37", 322 | "@vue/shared": "3.2.37", 323 | "estree-walker": "^2.0.2", 324 | "magic-string": "^0.25.7" 325 | } 326 | }, 327 | "@vue/runtime-core": { 328 | "version": "3.2.37", 329 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz", 330 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==", 331 | "requires": { 332 | "@vue/reactivity": "3.2.37", 333 | "@vue/shared": "3.2.37" 334 | } 335 | }, 336 | "@vue/runtime-dom": { 337 | "version": "3.2.37", 338 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz", 339 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==", 340 | "requires": { 341 | "@vue/runtime-core": "3.2.37", 342 | "@vue/shared": "3.2.37", 343 | "csstype": "^2.6.8" 344 | } 345 | }, 346 | "@vue/server-renderer": { 347 | "version": "3.2.37", 348 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz", 349 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==", 350 | "requires": { 351 | "@vue/compiler-ssr": "3.2.37", 352 | "@vue/shared": "3.2.37" 353 | } 354 | }, 355 | "@vue/shared": { 356 | "version": "3.2.37", 357 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", 358 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==" 359 | }, 360 | "acorn": { 361 | "version": "8.8.0", 362 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", 363 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", 364 | "dev": true 365 | }, 366 | "ansi-styles": { 367 | "version": "3.2.1", 368 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 369 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 370 | "dev": true, 371 | "requires": { 372 | "color-convert": "^1.9.0" 373 | } 374 | }, 375 | "buffer-from": { 376 | "version": "1.1.2", 377 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 378 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 379 | "dev": true 380 | }, 381 | "builtin-modules": { 382 | "version": "3.3.0", 383 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", 384 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", 385 | "dev": true 386 | }, 387 | "chalk": { 388 | "version": "2.4.2", 389 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 390 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 391 | "dev": true, 392 | "requires": { 393 | "ansi-styles": "^3.2.1", 394 | "escape-string-regexp": "^1.0.5", 395 | "supports-color": "^5.3.0" 396 | } 397 | }, 398 | "color-convert": { 399 | "version": "1.9.3", 400 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 401 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 402 | "dev": true, 403 | "requires": { 404 | "color-name": "1.1.3" 405 | } 406 | }, 407 | "color-name": { 408 | "version": "1.1.3", 409 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 410 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 411 | "dev": true 412 | }, 413 | "commander": { 414 | "version": "2.20.3", 415 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 416 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 417 | "dev": true 418 | }, 419 | "commondir": { 420 | "version": "1.0.1", 421 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 422 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", 423 | "dev": true 424 | }, 425 | "copy-anything": { 426 | "version": "2.0.6", 427 | "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", 428 | "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", 429 | "dev": true, 430 | "requires": { 431 | "is-what": "^3.14.1" 432 | } 433 | }, 434 | "csstype": { 435 | "version": "2.6.20", 436 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 437 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 438 | }, 439 | "debug": { 440 | "version": "3.2.7", 441 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 442 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 443 | "dev": true, 444 | "optional": true, 445 | "requires": { 446 | "ms": "^2.1.1" 447 | } 448 | }, 449 | "deepmerge": { 450 | "version": "4.2.2", 451 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 452 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 453 | "dev": true 454 | }, 455 | "errno": { 456 | "version": "0.1.8", 457 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", 458 | "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", 459 | "dev": true, 460 | "optional": true, 461 | "requires": { 462 | "prr": "~1.0.1" 463 | } 464 | }, 465 | "esbuild": { 466 | "version": "0.15.18", 467 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", 468 | "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", 469 | "dev": true, 470 | "requires": { 471 | "@esbuild/android-arm": "0.15.18", 472 | "@esbuild/linux-loong64": "0.15.18", 473 | "esbuild-android-64": "0.15.18", 474 | "esbuild-android-arm64": "0.15.18", 475 | "esbuild-darwin-64": "0.15.18", 476 | "esbuild-darwin-arm64": "0.15.18", 477 | "esbuild-freebsd-64": "0.15.18", 478 | "esbuild-freebsd-arm64": "0.15.18", 479 | "esbuild-linux-32": "0.15.18", 480 | "esbuild-linux-64": "0.15.18", 481 | "esbuild-linux-arm": "0.15.18", 482 | "esbuild-linux-arm64": "0.15.18", 483 | "esbuild-linux-mips64le": "0.15.18", 484 | "esbuild-linux-ppc64le": "0.15.18", 485 | "esbuild-linux-riscv64": "0.15.18", 486 | "esbuild-linux-s390x": "0.15.18", 487 | "esbuild-netbsd-64": "0.15.18", 488 | "esbuild-openbsd-64": "0.15.18", 489 | "esbuild-sunos-64": "0.15.18", 490 | "esbuild-windows-32": "0.15.18", 491 | "esbuild-windows-64": "0.15.18", 492 | "esbuild-windows-arm64": "0.15.18" 493 | } 494 | }, 495 | "esbuild-android-64": { 496 | "version": "0.15.18", 497 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", 498 | "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", 499 | "dev": true, 500 | "optional": true 501 | }, 502 | "esbuild-android-arm64": { 503 | "version": "0.15.18", 504 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", 505 | "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", 506 | "dev": true, 507 | "optional": true 508 | }, 509 | "esbuild-darwin-64": { 510 | "version": "0.15.18", 511 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", 512 | "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", 513 | "dev": true, 514 | "optional": true 515 | }, 516 | "esbuild-darwin-arm64": { 517 | "version": "0.15.18", 518 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", 519 | "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", 520 | "dev": true, 521 | "optional": true 522 | }, 523 | "esbuild-freebsd-64": { 524 | "version": "0.15.18", 525 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", 526 | "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", 527 | "dev": true, 528 | "optional": true 529 | }, 530 | "esbuild-freebsd-arm64": { 531 | "version": "0.15.18", 532 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", 533 | "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", 534 | "dev": true, 535 | "optional": true 536 | }, 537 | "esbuild-linux-32": { 538 | "version": "0.15.18", 539 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", 540 | "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", 541 | "dev": true, 542 | "optional": true 543 | }, 544 | "esbuild-linux-64": { 545 | "version": "0.15.18", 546 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", 547 | "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", 548 | "dev": true, 549 | "optional": true 550 | }, 551 | "esbuild-linux-arm": { 552 | "version": "0.15.18", 553 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", 554 | "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", 555 | "dev": true, 556 | "optional": true 557 | }, 558 | "esbuild-linux-arm64": { 559 | "version": "0.15.18", 560 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", 561 | "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", 562 | "dev": true, 563 | "optional": true 564 | }, 565 | "esbuild-linux-mips64le": { 566 | "version": "0.15.18", 567 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", 568 | "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", 569 | "dev": true, 570 | "optional": true 571 | }, 572 | "esbuild-linux-ppc64le": { 573 | "version": "0.15.18", 574 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", 575 | "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", 576 | "dev": true, 577 | "optional": true 578 | }, 579 | "esbuild-linux-riscv64": { 580 | "version": "0.15.18", 581 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", 582 | "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", 583 | "dev": true, 584 | "optional": true 585 | }, 586 | "esbuild-linux-s390x": { 587 | "version": "0.15.18", 588 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", 589 | "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", 590 | "dev": true, 591 | "optional": true 592 | }, 593 | "esbuild-netbsd-64": { 594 | "version": "0.15.18", 595 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", 596 | "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", 597 | "dev": true, 598 | "optional": true 599 | }, 600 | "esbuild-openbsd-64": { 601 | "version": "0.15.18", 602 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", 603 | "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", 604 | "dev": true, 605 | "optional": true 606 | }, 607 | "esbuild-sunos-64": { 608 | "version": "0.15.18", 609 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", 610 | "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", 611 | "dev": true, 612 | "optional": true 613 | }, 614 | "esbuild-windows-32": { 615 | "version": "0.15.18", 616 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", 617 | "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", 618 | "dev": true, 619 | "optional": true 620 | }, 621 | "esbuild-windows-64": { 622 | "version": "0.15.18", 623 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", 624 | "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", 625 | "dev": true, 626 | "optional": true 627 | }, 628 | "esbuild-windows-arm64": { 629 | "version": "0.15.18", 630 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", 631 | "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", 632 | "dev": true, 633 | "optional": true 634 | }, 635 | "escape-string-regexp": { 636 | "version": "1.0.5", 637 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 638 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 639 | "dev": true 640 | }, 641 | "estree-walker": { 642 | "version": "2.0.2", 643 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 644 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 645 | }, 646 | "find-cache-dir": { 647 | "version": "3.3.2", 648 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", 649 | "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", 650 | "dev": true, 651 | "requires": { 652 | "commondir": "^1.0.1", 653 | "make-dir": "^3.0.2", 654 | "pkg-dir": "^4.1.0" 655 | }, 656 | "dependencies": { 657 | "make-dir": { 658 | "version": "3.1.0", 659 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 660 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 661 | "dev": true, 662 | "requires": { 663 | "semver": "^6.0.0" 664 | } 665 | }, 666 | "semver": { 667 | "version": "6.3.0", 668 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 669 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 670 | "dev": true 671 | } 672 | } 673 | }, 674 | "find-up": { 675 | "version": "4.1.0", 676 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 677 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 678 | "dev": true, 679 | "requires": { 680 | "locate-path": "^5.0.0", 681 | "path-exists": "^4.0.0" 682 | } 683 | }, 684 | "fs-extra": { 685 | "version": "10.1.0", 686 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", 687 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", 688 | "dev": true, 689 | "requires": { 690 | "graceful-fs": "^4.2.0", 691 | "jsonfile": "^6.0.1", 692 | "universalify": "^2.0.0" 693 | } 694 | }, 695 | "fsevents": { 696 | "version": "2.3.2", 697 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 698 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 699 | "dev": true, 700 | "optional": true 701 | }, 702 | "function-bind": { 703 | "version": "1.1.1", 704 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 705 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 706 | "dev": true 707 | }, 708 | "graceful-fs": { 709 | "version": "4.2.10", 710 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 711 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 712 | "dev": true 713 | }, 714 | "has": { 715 | "version": "1.0.3", 716 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 717 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 718 | "dev": true, 719 | "requires": { 720 | "function-bind": "^1.1.1" 721 | } 722 | }, 723 | "has-flag": { 724 | "version": "3.0.0", 725 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 726 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 727 | "dev": true 728 | }, 729 | "hash-sum": { 730 | "version": "2.0.0", 731 | "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", 732 | "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", 733 | "dev": true 734 | }, 735 | "highlight.js": { 736 | "version": "11.6.0", 737 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz", 738 | "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==", 739 | "dev": true 740 | }, 741 | "iconv-lite": { 742 | "version": "0.6.3", 743 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 744 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 745 | "dev": true, 746 | "optional": true, 747 | "requires": { 748 | "safer-buffer": ">= 2.1.2 < 3.0.0" 749 | } 750 | }, 751 | "image-size": { 752 | "version": "0.5.5", 753 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", 754 | "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", 755 | "dev": true, 756 | "optional": true 757 | }, 758 | "is-builtin-module": { 759 | "version": "3.2.0", 760 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", 761 | "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", 762 | "dev": true, 763 | "requires": { 764 | "builtin-modules": "^3.3.0" 765 | } 766 | }, 767 | "is-core-module": { 768 | "version": "2.10.0", 769 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", 770 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", 771 | "dev": true, 772 | "requires": { 773 | "has": "^1.0.3" 774 | } 775 | }, 776 | "is-module": { 777 | "version": "1.0.0", 778 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 779 | "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", 780 | "dev": true 781 | }, 782 | "is-what": { 783 | "version": "3.14.1", 784 | "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", 785 | "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", 786 | "dev": true 787 | }, 788 | "jest-worker": { 789 | "version": "26.6.2", 790 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", 791 | "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", 792 | "dev": true, 793 | "requires": { 794 | "@types/node": "*", 795 | "merge-stream": "^2.0.0", 796 | "supports-color": "^7.0.0" 797 | }, 798 | "dependencies": { 799 | "has-flag": { 800 | "version": "4.0.0", 801 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 802 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 803 | "dev": true 804 | }, 805 | "supports-color": { 806 | "version": "7.2.0", 807 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 808 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 809 | "dev": true, 810 | "requires": { 811 | "has-flag": "^4.0.0" 812 | } 813 | } 814 | } 815 | }, 816 | "js-tokens": { 817 | "version": "4.0.0", 818 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 819 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 820 | "dev": true 821 | }, 822 | "jsonfile": { 823 | "version": "6.1.0", 824 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 825 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 826 | "dev": true, 827 | "requires": { 828 | "graceful-fs": "^4.1.6", 829 | "universalify": "^2.0.0" 830 | } 831 | }, 832 | "less": { 833 | "version": "4.1.3", 834 | "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", 835 | "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", 836 | "dev": true, 837 | "requires": { 838 | "copy-anything": "^2.0.1", 839 | "errno": "^0.1.1", 840 | "graceful-fs": "^4.1.2", 841 | "image-size": "~0.5.0", 842 | "make-dir": "^2.1.0", 843 | "mime": "^1.4.1", 844 | "needle": "^3.1.0", 845 | "parse-node-version": "^1.0.1", 846 | "source-map": "~0.6.0", 847 | "tslib": "^2.3.0" 848 | } 849 | }, 850 | "locate-path": { 851 | "version": "5.0.0", 852 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 853 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 854 | "dev": true, 855 | "requires": { 856 | "p-locate": "^4.1.0" 857 | } 858 | }, 859 | "magic-string": { 860 | "version": "0.25.9", 861 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 862 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 863 | "requires": { 864 | "sourcemap-codec": "^1.4.8" 865 | } 866 | }, 867 | "make-dir": { 868 | "version": "2.1.0", 869 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 870 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 871 | "dev": true, 872 | "optional": true, 873 | "requires": { 874 | "pify": "^4.0.1", 875 | "semver": "^5.6.0" 876 | } 877 | }, 878 | "merge-stream": { 879 | "version": "2.0.0", 880 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 881 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 882 | "dev": true 883 | }, 884 | "mime": { 885 | "version": "1.6.0", 886 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 887 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 888 | "dev": true, 889 | "optional": true 890 | }, 891 | "ms": { 892 | "version": "2.1.3", 893 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 894 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 895 | "dev": true, 896 | "optional": true 897 | }, 898 | "nanoid": { 899 | "version": "3.3.4", 900 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 901 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 902 | }, 903 | "needle": { 904 | "version": "3.1.0", 905 | "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", 906 | "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", 907 | "dev": true, 908 | "optional": true, 909 | "requires": { 910 | "debug": "^3.2.6", 911 | "iconv-lite": "^0.6.3", 912 | "sax": "^1.2.4" 913 | } 914 | }, 915 | "p-limit": { 916 | "version": "2.3.0", 917 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 918 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 919 | "dev": true, 920 | "requires": { 921 | "p-try": "^2.0.0" 922 | } 923 | }, 924 | "p-locate": { 925 | "version": "4.1.0", 926 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 927 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 928 | "dev": true, 929 | "requires": { 930 | "p-limit": "^2.2.0" 931 | } 932 | }, 933 | "p-try": { 934 | "version": "2.2.0", 935 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 936 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 937 | "dev": true 938 | }, 939 | "parse-node-version": { 940 | "version": "1.0.1", 941 | "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", 942 | "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", 943 | "dev": true 944 | }, 945 | "path-exists": { 946 | "version": "4.0.0", 947 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 948 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 949 | "dev": true 950 | }, 951 | "path-parse": { 952 | "version": "1.0.7", 953 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 954 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 955 | "dev": true 956 | }, 957 | "picocolors": { 958 | "version": "1.0.0", 959 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 960 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 961 | }, 962 | "picomatch": { 963 | "version": "2.3.1", 964 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 965 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 966 | "dev": true 967 | }, 968 | "pify": { 969 | "version": "4.0.1", 970 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 971 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 972 | "dev": true, 973 | "optional": true 974 | }, 975 | "pkg-dir": { 976 | "version": "4.2.0", 977 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 978 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 979 | "dev": true, 980 | "requires": { 981 | "find-up": "^4.0.0" 982 | } 983 | }, 984 | "postcss": { 985 | "version": "8.4.16", 986 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", 987 | "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", 988 | "requires": { 989 | "nanoid": "^3.3.4", 990 | "picocolors": "^1.0.0", 991 | "source-map-js": "^1.0.2" 992 | } 993 | }, 994 | "prr": { 995 | "version": "1.0.1", 996 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 997 | "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", 998 | "dev": true, 999 | "optional": true 1000 | }, 1001 | "randombytes": { 1002 | "version": "2.1.0", 1003 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1004 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1005 | "dev": true, 1006 | "requires": { 1007 | "safe-buffer": "^5.1.0" 1008 | } 1009 | }, 1010 | "resize-detector": { 1011 | "version": "0.3.0", 1012 | "resolved": "https://registry.npmjs.org/resize-detector/-/resize-detector-0.3.0.tgz", 1013 | "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==" 1014 | }, 1015 | "resolve": { 1016 | "version": "1.22.1", 1017 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1018 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1019 | "dev": true, 1020 | "requires": { 1021 | "is-core-module": "^2.9.0", 1022 | "path-parse": "^1.0.7", 1023 | "supports-preserve-symlinks-flag": "^1.0.0" 1024 | } 1025 | }, 1026 | "rollup": { 1027 | "version": "2.77.3", 1028 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", 1029 | "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", 1030 | "dev": true, 1031 | "requires": { 1032 | "fsevents": "~2.3.2" 1033 | } 1034 | }, 1035 | "rollup-plugin-terser": { 1036 | "version": "7.0.2", 1037 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", 1038 | "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", 1039 | "dev": true, 1040 | "requires": { 1041 | "@babel/code-frame": "^7.10.4", 1042 | "jest-worker": "^26.2.1", 1043 | "serialize-javascript": "^4.0.0", 1044 | "terser": "^5.0.0" 1045 | } 1046 | }, 1047 | "rollup-plugin-typescript2": { 1048 | "version": "0.32.1", 1049 | "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.32.1.tgz", 1050 | "integrity": "sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==", 1051 | "dev": true, 1052 | "requires": { 1053 | "@rollup/pluginutils": "^4.1.2", 1054 | "find-cache-dir": "^3.3.2", 1055 | "fs-extra": "^10.0.0", 1056 | "resolve": "^1.20.0", 1057 | "tslib": "^2.4.0" 1058 | }, 1059 | "dependencies": { 1060 | "@rollup/pluginutils": { 1061 | "version": "4.2.1", 1062 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", 1063 | "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", 1064 | "dev": true, 1065 | "requires": { 1066 | "estree-walker": "^2.0.1", 1067 | "picomatch": "^2.2.2" 1068 | } 1069 | } 1070 | } 1071 | }, 1072 | "rollup-plugin-vue": { 1073 | "version": "6.0.0", 1074 | "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz", 1075 | "integrity": "sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==", 1076 | "dev": true, 1077 | "requires": { 1078 | "debug": "^4.1.1", 1079 | "hash-sum": "^2.0.0", 1080 | "rollup-pluginutils": "^2.8.2" 1081 | }, 1082 | "dependencies": { 1083 | "debug": { 1084 | "version": "4.3.4", 1085 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1086 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1087 | "dev": true, 1088 | "requires": { 1089 | "ms": "2.1.2" 1090 | } 1091 | }, 1092 | "ms": { 1093 | "version": "2.1.2", 1094 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1095 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1096 | "dev": true 1097 | } 1098 | } 1099 | }, 1100 | "rollup-pluginutils": { 1101 | "version": "2.8.2", 1102 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1103 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1104 | "dev": true, 1105 | "requires": { 1106 | "estree-walker": "^0.6.1" 1107 | }, 1108 | "dependencies": { 1109 | "estree-walker": { 1110 | "version": "0.6.1", 1111 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 1112 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 1113 | "dev": true 1114 | } 1115 | } 1116 | }, 1117 | "safe-buffer": { 1118 | "version": "5.2.1", 1119 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1120 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1121 | "dev": true 1122 | }, 1123 | "safer-buffer": { 1124 | "version": "2.1.2", 1125 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1126 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1127 | "dev": true, 1128 | "optional": true 1129 | }, 1130 | "sax": { 1131 | "version": "1.2.4", 1132 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1133 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 1134 | "dev": true, 1135 | "optional": true 1136 | }, 1137 | "semver": { 1138 | "version": "5.7.1", 1139 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1140 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1141 | "dev": true, 1142 | "optional": true 1143 | }, 1144 | "serialize-javascript": { 1145 | "version": "4.0.0", 1146 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", 1147 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", 1148 | "dev": true, 1149 | "requires": { 1150 | "randombytes": "^2.1.0" 1151 | } 1152 | }, 1153 | "source-map": { 1154 | "version": "0.6.1", 1155 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1156 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1157 | }, 1158 | "source-map-js": { 1159 | "version": "1.0.2", 1160 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1161 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 1162 | }, 1163 | "source-map-support": { 1164 | "version": "0.5.21", 1165 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1166 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1167 | "dev": true, 1168 | "requires": { 1169 | "buffer-from": "^1.0.0", 1170 | "source-map": "^0.6.0" 1171 | } 1172 | }, 1173 | "sourcemap-codec": { 1174 | "version": "1.4.8", 1175 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1176 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 1177 | }, 1178 | "spectre.css": { 1179 | "version": "0.5.9", 1180 | "resolved": "https://registry.npmjs.org/spectre.css/-/spectre.css-0.5.9.tgz", 1181 | "integrity": "sha512-9jUqwZmCnvflrxFGcK+ize43TvjwDjqMwZPVubEtSIHzvinH0TBUESm1LcOJx3Ur7bdPaeOHQIjOqBl1Y5kLFw==", 1182 | "dev": true 1183 | }, 1184 | "supports-color": { 1185 | "version": "5.5.0", 1186 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1187 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1188 | "dev": true, 1189 | "requires": { 1190 | "has-flag": "^3.0.0" 1191 | } 1192 | }, 1193 | "supports-preserve-symlinks-flag": { 1194 | "version": "1.0.0", 1195 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1196 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1197 | "dev": true 1198 | }, 1199 | "terser": { 1200 | "version": "5.14.2", 1201 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", 1202 | "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", 1203 | "dev": true, 1204 | "requires": { 1205 | "@jridgewell/source-map": "^0.3.2", 1206 | "acorn": "^8.5.0", 1207 | "commander": "^2.20.0", 1208 | "source-map-support": "~0.5.20" 1209 | } 1210 | }, 1211 | "tslib": { 1212 | "version": "2.4.0", 1213 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", 1214 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 1215 | "dev": true 1216 | }, 1217 | "typescript": { 1218 | "version": "4.7.4", 1219 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", 1220 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", 1221 | "dev": true 1222 | }, 1223 | "universalify": { 1224 | "version": "2.0.0", 1225 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 1226 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 1227 | "dev": true 1228 | }, 1229 | "vite": { 1230 | "version": "3.2.7", 1231 | "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz", 1232 | "integrity": "sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==", 1233 | "dev": true, 1234 | "requires": { 1235 | "esbuild": "^0.15.9", 1236 | "fsevents": "~2.3.2", 1237 | "postcss": "^8.4.18", 1238 | "resolve": "^1.22.1", 1239 | "rollup": "^2.79.1" 1240 | }, 1241 | "dependencies": { 1242 | "nanoid": { 1243 | "version": "3.3.6", 1244 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1245 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1246 | "dev": true 1247 | }, 1248 | "postcss": { 1249 | "version": "8.4.27", 1250 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", 1251 | "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", 1252 | "dev": true, 1253 | "requires": { 1254 | "nanoid": "^3.3.6", 1255 | "picocolors": "^1.0.0", 1256 | "source-map-js": "^1.0.2" 1257 | } 1258 | }, 1259 | "rollup": { 1260 | "version": "2.79.1", 1261 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", 1262 | "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", 1263 | "dev": true, 1264 | "requires": { 1265 | "fsevents": "~2.3.2" 1266 | } 1267 | } 1268 | } 1269 | }, 1270 | "vue": { 1271 | "version": "3.2.37", 1272 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz", 1273 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==", 1274 | "requires": { 1275 | "@vue/compiler-dom": "3.2.37", 1276 | "@vue/compiler-sfc": "3.2.37", 1277 | "@vue/runtime-dom": "3.2.37", 1278 | "@vue/server-renderer": "3.2.37", 1279 | "@vue/shared": "3.2.37" 1280 | } 1281 | }, 1282 | "vue-i18n": { 1283 | "version": "9.2.2", 1284 | "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz", 1285 | "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", 1286 | "dev": true, 1287 | "requires": { 1288 | "@intlify/core-base": "9.2.2", 1289 | "@intlify/shared": "9.2.2", 1290 | "@intlify/vue-devtools": "9.2.2", 1291 | "@vue/devtools-api": "^6.2.1" 1292 | } 1293 | }, 1294 | "vue-tsc": { 1295 | "version": "0.38.9", 1296 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.38.9.tgz", 1297 | "integrity": "sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==", 1298 | "dev": true, 1299 | "requires": { 1300 | "@volar/vue-typescript": "0.38.9" 1301 | } 1302 | } 1303 | } 1304 | } 1305 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue3-text-clamp", 3 | "author": "Sherwin Shen", 4 | "description": "Vue3 component which allows you to ellipsis your multiline text.", 5 | "version": "0.1.2", 6 | "type": "module", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "vue-tsc --noEmit && vite build", 10 | "preview": "vite preview", 11 | "build:lib": "vue-tsc --noEmit && rm -rf lib && npx rollup -c build/rollup.config.ts" 12 | }, 13 | "main": "lib/text-clamp.js", 14 | "module": "lib/text-clamp.esm.js", 15 | "types": "lib/types/index.d.ts", 16 | "license": "MIT", 17 | "dependencies": { 18 | "resize-detector": "^0.3.0", 19 | "vue": "^3.2.37" 20 | }, 21 | "devDependencies": { 22 | "@highlightjs/vue-plugin": "^2.1.0", 23 | "@rollup/plugin-node-resolve": "^13.3.0", 24 | "@vitejs/plugin-vue": "^3.0.0", 25 | "@vue/compiler-sfc": "^3.2.37", 26 | "highlight.js": "^11.6.0", 27 | "less": "^4.1.3", 28 | "rollup": "^2.77.2", 29 | "rollup-plugin-terser": "^7.0.2", 30 | "rollup-plugin-typescript2": "^0.32.1", 31 | "rollup-plugin-vue": "^6.0.0", 32 | "spectre.css": "^0.5.9", 33 | "typescript": "^4.6.4", 34 | "vite": "^3.0.0", 35 | "vue-i18n": "^9.2.2", 36 | "vue-tsc": "^0.38.4" 37 | }, 38 | "peerDependencies": { 39 | "resize-detector": "^0.3.0", 40 | "vue": "^3.2.37" 41 | }, 42 | "repository": { 43 | "type": "git", 44 | "url": "git+https://github.com/sherwinshen/vue3-text-clamp.git" 45 | }, 46 | "bugs": { 47 | "url": "https://github.com/sherwinshen/vue3-text-clamp/issues" 48 | }, 49 | "homepage": "https://sherwinshen.github.io/vue3-text-clamp/#/", 50 | "keywords": [ 51 | "text-clamp", 52 | "vue3", 53 | "text-overflow", 54 | "ellipsis", 55 | "typescript" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /package/index.ts: -------------------------------------------------------------------------------- 1 | import type { App, Plugin } from "vue"; 2 | import TextClampComp from "./text-clamp.vue"; 3 | 4 | type SFCWithInstall = T & Plugin; 5 | export const withInstall = (comp: T) => { 6 | (comp as SFCWithInstall).install = function (app: App) { 7 | app.component((comp as any).__name, comp); 8 | }; 9 | return comp; 10 | }; 11 | 12 | const TextClamp = withInstall(TextClampComp); 13 | 14 | export default TextClamp; 15 | -------------------------------------------------------------------------------- /package/text-clamp.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 234 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | resize-detector: 9 | specifier: ^0.3.0 10 | version: 0.3.0 11 | vue: 12 | specifier: ^3.2.37 13 | version: 3.2.37 14 | 15 | devDependencies: 16 | '@highlightjs/vue-plugin': 17 | specifier: ^2.1.0 18 | version: 2.1.0(highlight.js@11.6.0)(vue@3.2.37) 19 | '@rollup/plugin-node-resolve': 20 | specifier: ^13.3.0 21 | version: 13.3.0(rollup@2.77.3) 22 | '@vitejs/plugin-vue': 23 | specifier: ^3.0.0 24 | version: 3.0.2(vite@3.2.7)(vue@3.2.37) 25 | '@vue/compiler-sfc': 26 | specifier: ^3.2.37 27 | version: 3.2.37 28 | highlight.js: 29 | specifier: ^11.6.0 30 | version: 11.6.0 31 | less: 32 | specifier: ^4.1.3 33 | version: 4.1.3 34 | rollup: 35 | specifier: ^2.77.2 36 | version: 2.77.3 37 | rollup-plugin-terser: 38 | specifier: ^7.0.2 39 | version: 7.0.2(rollup@2.77.3) 40 | rollup-plugin-typescript2: 41 | specifier: ^0.32.1 42 | version: 0.32.1(rollup@2.77.3)(typescript@4.7.4) 43 | rollup-plugin-vue: 44 | specifier: ^6.0.0 45 | version: 6.0.0(@vue/compiler-sfc@3.2.37) 46 | spectre.css: 47 | specifier: ^0.5.9 48 | version: 0.5.9 49 | typescript: 50 | specifier: ^4.6.4 51 | version: 4.7.4 52 | vite: 53 | specifier: ^3.0.0 54 | version: 3.2.7(less@4.1.3) 55 | vue-i18n: 56 | specifier: ^9.2.2 57 | version: 9.2.2(vue@3.2.37) 58 | vue-tsc: 59 | specifier: ^0.38.4 60 | version: 0.38.9(typescript@4.7.4) 61 | 62 | packages: 63 | 64 | /@babel/code-frame@7.18.6: 65 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 66 | engines: {node: '>=6.9.0'} 67 | dependencies: 68 | '@babel/highlight': 7.18.6 69 | dev: true 70 | 71 | /@babel/helper-string-parser@7.18.10: 72 | resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} 73 | engines: {node: '>=6.9.0'} 74 | 75 | /@babel/helper-validator-identifier@7.18.6: 76 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 77 | engines: {node: '>=6.9.0'} 78 | 79 | /@babel/highlight@7.18.6: 80 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 81 | engines: {node: '>=6.9.0'} 82 | dependencies: 83 | '@babel/helper-validator-identifier': 7.18.6 84 | chalk: 2.4.2 85 | js-tokens: 4.0.0 86 | dev: true 87 | 88 | /@babel/parser@7.18.11: 89 | resolution: {integrity: sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==} 90 | engines: {node: '>=6.0.0'} 91 | hasBin: true 92 | dependencies: 93 | '@babel/types': 7.18.10 94 | 95 | /@babel/types@7.18.10: 96 | resolution: {integrity: sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==} 97 | engines: {node: '>=6.9.0'} 98 | dependencies: 99 | '@babel/helper-string-parser': 7.18.10 100 | '@babel/helper-validator-identifier': 7.18.6 101 | to-fast-properties: 2.0.0 102 | 103 | /@esbuild/android-arm@0.15.18: 104 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 105 | engines: {node: '>=12'} 106 | cpu: [arm] 107 | os: [android] 108 | requiresBuild: true 109 | dev: true 110 | optional: true 111 | 112 | /@esbuild/linux-loong64@0.15.18: 113 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 114 | engines: {node: '>=12'} 115 | cpu: [loong64] 116 | os: [linux] 117 | requiresBuild: true 118 | dev: true 119 | optional: true 120 | 121 | /@highlightjs/vue-plugin@2.1.0(highlight.js@11.6.0)(vue@3.2.37): 122 | resolution: {integrity: sha512-E+bmk4ncca+hBEYRV2a+1aIzIV0VSY/e5ArjpuSN9IO7wBJrzUE2u4ESCwrbQD7sAy+jWQjkV5qCCWgc+pu7CQ==} 123 | peerDependencies: 124 | highlight.js: ^11.0.1 125 | vue: ^3 126 | dependencies: 127 | highlight.js: 11.6.0 128 | vue: 3.2.37 129 | dev: true 130 | 131 | /@intlify/core-base@9.2.2: 132 | resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==} 133 | engines: {node: '>= 14'} 134 | dependencies: 135 | '@intlify/devtools-if': 9.2.2 136 | '@intlify/message-compiler': 9.2.2 137 | '@intlify/shared': 9.2.2 138 | '@intlify/vue-devtools': 9.2.2 139 | dev: true 140 | 141 | /@intlify/devtools-if@9.2.2: 142 | resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} 143 | engines: {node: '>= 14'} 144 | dependencies: 145 | '@intlify/shared': 9.2.2 146 | dev: true 147 | 148 | /@intlify/message-compiler@9.2.2: 149 | resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} 150 | engines: {node: '>= 14'} 151 | dependencies: 152 | '@intlify/shared': 9.2.2 153 | source-map: 0.6.1 154 | dev: true 155 | 156 | /@intlify/shared@9.2.2: 157 | resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} 158 | engines: {node: '>= 14'} 159 | dev: true 160 | 161 | /@intlify/vue-devtools@9.2.2: 162 | resolution: {integrity: sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==} 163 | engines: {node: '>= 14'} 164 | dependencies: 165 | '@intlify/core-base': 9.2.2 166 | '@intlify/shared': 9.2.2 167 | dev: true 168 | 169 | /@jridgewell/gen-mapping@0.3.2: 170 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 171 | engines: {node: '>=6.0.0'} 172 | dependencies: 173 | '@jridgewell/set-array': 1.1.2 174 | '@jridgewell/sourcemap-codec': 1.4.14 175 | '@jridgewell/trace-mapping': 0.3.15 176 | dev: true 177 | 178 | /@jridgewell/resolve-uri@3.1.0: 179 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 180 | engines: {node: '>=6.0.0'} 181 | dev: true 182 | 183 | /@jridgewell/set-array@1.1.2: 184 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 185 | engines: {node: '>=6.0.0'} 186 | dev: true 187 | 188 | /@jridgewell/source-map@0.3.2: 189 | resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} 190 | dependencies: 191 | '@jridgewell/gen-mapping': 0.3.2 192 | '@jridgewell/trace-mapping': 0.3.15 193 | dev: true 194 | 195 | /@jridgewell/sourcemap-codec@1.4.14: 196 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 197 | dev: true 198 | 199 | /@jridgewell/trace-mapping@0.3.15: 200 | resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} 201 | dependencies: 202 | '@jridgewell/resolve-uri': 3.1.0 203 | '@jridgewell/sourcemap-codec': 1.4.14 204 | dev: true 205 | 206 | /@rollup/plugin-node-resolve@13.3.0(rollup@2.77.3): 207 | resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} 208 | engines: {node: '>= 10.0.0'} 209 | peerDependencies: 210 | rollup: ^2.42.0 211 | dependencies: 212 | '@rollup/pluginutils': 3.1.0(rollup@2.77.3) 213 | '@types/resolve': 1.17.1 214 | deepmerge: 4.2.2 215 | is-builtin-module: 3.2.0 216 | is-module: 1.0.0 217 | resolve: 1.22.1 218 | rollup: 2.77.3 219 | dev: true 220 | 221 | /@rollup/pluginutils@3.1.0(rollup@2.77.3): 222 | resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} 223 | engines: {node: '>= 8.0.0'} 224 | peerDependencies: 225 | rollup: ^1.20.0||^2.0.0 226 | dependencies: 227 | '@types/estree': 0.0.39 228 | estree-walker: 1.0.1 229 | picomatch: 2.3.1 230 | rollup: 2.77.3 231 | dev: true 232 | 233 | /@rollup/pluginutils@4.2.1: 234 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 235 | engines: {node: '>= 8.0.0'} 236 | dependencies: 237 | estree-walker: 2.0.2 238 | picomatch: 2.3.1 239 | dev: true 240 | 241 | /@types/estree@0.0.39: 242 | resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} 243 | dev: true 244 | 245 | /@types/node@18.7.2: 246 | resolution: {integrity: sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==} 247 | dev: true 248 | 249 | /@types/resolve@1.17.1: 250 | resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} 251 | dependencies: 252 | '@types/node': 18.7.2 253 | dev: true 254 | 255 | /@vitejs/plugin-vue@3.0.2(vite@3.2.7)(vue@3.2.37): 256 | resolution: {integrity: sha512-LAqb+tibmsKmSbxBzsMqWVJe6gDE4BDmFLjIzk4YdHgeiRCTokPbK8yRB3dRxDRwNk4IFwCFVE6+WP+YM0mbJg==} 257 | engines: {node: ^14.18.0 || >=16.0.0} 258 | peerDependencies: 259 | vite: ^3.0.0 260 | vue: ^3.2.25 261 | dependencies: 262 | vite: 3.2.7(less@4.1.3) 263 | vue: 3.2.37 264 | dev: true 265 | 266 | /@volar/code-gen@0.38.9: 267 | resolution: {integrity: sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==} 268 | dependencies: 269 | '@volar/source-map': 0.38.9 270 | dev: true 271 | 272 | /@volar/source-map@0.38.9: 273 | resolution: {integrity: sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==} 274 | dev: true 275 | 276 | /@volar/vue-code-gen@0.38.9: 277 | resolution: {integrity: sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==} 278 | dependencies: 279 | '@volar/code-gen': 0.38.9 280 | '@volar/source-map': 0.38.9 281 | '@vue/compiler-core': 3.2.37 282 | '@vue/compiler-dom': 3.2.37 283 | '@vue/shared': 3.2.37 284 | dev: true 285 | 286 | /@volar/vue-typescript@0.38.9: 287 | resolution: {integrity: sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==} 288 | dependencies: 289 | '@volar/code-gen': 0.38.9 290 | '@volar/source-map': 0.38.9 291 | '@volar/vue-code-gen': 0.38.9 292 | '@vue/compiler-sfc': 3.2.37 293 | '@vue/reactivity': 3.2.37 294 | dev: true 295 | 296 | /@vue/compiler-core@3.2.37: 297 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} 298 | dependencies: 299 | '@babel/parser': 7.18.11 300 | '@vue/shared': 3.2.37 301 | estree-walker: 2.0.2 302 | source-map: 0.6.1 303 | 304 | /@vue/compiler-dom@3.2.37: 305 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==} 306 | dependencies: 307 | '@vue/compiler-core': 3.2.37 308 | '@vue/shared': 3.2.37 309 | 310 | /@vue/compiler-sfc@3.2.37: 311 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==} 312 | dependencies: 313 | '@babel/parser': 7.18.11 314 | '@vue/compiler-core': 3.2.37 315 | '@vue/compiler-dom': 3.2.37 316 | '@vue/compiler-ssr': 3.2.37 317 | '@vue/reactivity-transform': 3.2.37 318 | '@vue/shared': 3.2.37 319 | estree-walker: 2.0.2 320 | magic-string: 0.25.9 321 | postcss: 8.4.16 322 | source-map: 0.6.1 323 | 324 | /@vue/compiler-ssr@3.2.37: 325 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==} 326 | dependencies: 327 | '@vue/compiler-dom': 3.2.37 328 | '@vue/shared': 3.2.37 329 | 330 | /@vue/devtools-api@6.2.1: 331 | resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==} 332 | dev: true 333 | 334 | /@vue/reactivity-transform@3.2.37: 335 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} 336 | dependencies: 337 | '@babel/parser': 7.18.11 338 | '@vue/compiler-core': 3.2.37 339 | '@vue/shared': 3.2.37 340 | estree-walker: 2.0.2 341 | magic-string: 0.25.9 342 | 343 | /@vue/reactivity@3.2.37: 344 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==} 345 | dependencies: 346 | '@vue/shared': 3.2.37 347 | 348 | /@vue/runtime-core@3.2.37: 349 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==} 350 | dependencies: 351 | '@vue/reactivity': 3.2.37 352 | '@vue/shared': 3.2.37 353 | 354 | /@vue/runtime-dom@3.2.37: 355 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==} 356 | dependencies: 357 | '@vue/runtime-core': 3.2.37 358 | '@vue/shared': 3.2.37 359 | csstype: 2.6.20 360 | 361 | /@vue/server-renderer@3.2.37(vue@3.2.37): 362 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==} 363 | peerDependencies: 364 | vue: 3.2.37 365 | dependencies: 366 | '@vue/compiler-ssr': 3.2.37 367 | '@vue/shared': 3.2.37 368 | vue: 3.2.37 369 | 370 | /@vue/shared@3.2.37: 371 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==} 372 | 373 | /acorn@8.8.0: 374 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 375 | engines: {node: '>=0.4.0'} 376 | hasBin: true 377 | dev: true 378 | 379 | /ansi-styles@3.2.1: 380 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 381 | engines: {node: '>=4'} 382 | dependencies: 383 | color-convert: 1.9.3 384 | dev: true 385 | 386 | /buffer-from@1.1.2: 387 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 388 | dev: true 389 | 390 | /builtin-modules@3.3.0: 391 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 392 | engines: {node: '>=6'} 393 | dev: true 394 | 395 | /chalk@2.4.2: 396 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 397 | engines: {node: '>=4'} 398 | dependencies: 399 | ansi-styles: 3.2.1 400 | escape-string-regexp: 1.0.5 401 | supports-color: 5.5.0 402 | dev: true 403 | 404 | /color-convert@1.9.3: 405 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 406 | dependencies: 407 | color-name: 1.1.3 408 | dev: true 409 | 410 | /color-name@1.1.3: 411 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 412 | dev: true 413 | 414 | /commander@2.20.3: 415 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 416 | dev: true 417 | 418 | /commondir@1.0.1: 419 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 420 | dev: true 421 | 422 | /copy-anything@2.0.6: 423 | resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} 424 | dependencies: 425 | is-what: 3.14.1 426 | dev: true 427 | 428 | /csstype@2.6.20: 429 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} 430 | 431 | /debug@3.2.7: 432 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 433 | peerDependencies: 434 | supports-color: '*' 435 | peerDependenciesMeta: 436 | supports-color: 437 | optional: true 438 | dependencies: 439 | ms: 2.1.3 440 | dev: true 441 | optional: true 442 | 443 | /debug@4.3.4: 444 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 445 | engines: {node: '>=6.0'} 446 | peerDependencies: 447 | supports-color: '*' 448 | peerDependenciesMeta: 449 | supports-color: 450 | optional: true 451 | dependencies: 452 | ms: 2.1.2 453 | dev: true 454 | 455 | /deepmerge@4.2.2: 456 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 457 | engines: {node: '>=0.10.0'} 458 | dev: true 459 | 460 | /errno@0.1.8: 461 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} 462 | hasBin: true 463 | requiresBuild: true 464 | dependencies: 465 | prr: 1.0.1 466 | dev: true 467 | optional: true 468 | 469 | /esbuild-android-64@0.15.18: 470 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 471 | engines: {node: '>=12'} 472 | cpu: [x64] 473 | os: [android] 474 | requiresBuild: true 475 | dev: true 476 | optional: true 477 | 478 | /esbuild-android-arm64@0.15.18: 479 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 480 | engines: {node: '>=12'} 481 | cpu: [arm64] 482 | os: [android] 483 | requiresBuild: true 484 | dev: true 485 | optional: true 486 | 487 | /esbuild-darwin-64@0.15.18: 488 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 489 | engines: {node: '>=12'} 490 | cpu: [x64] 491 | os: [darwin] 492 | requiresBuild: true 493 | dev: true 494 | optional: true 495 | 496 | /esbuild-darwin-arm64@0.15.18: 497 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 498 | engines: {node: '>=12'} 499 | cpu: [arm64] 500 | os: [darwin] 501 | requiresBuild: true 502 | dev: true 503 | optional: true 504 | 505 | /esbuild-freebsd-64@0.15.18: 506 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 507 | engines: {node: '>=12'} 508 | cpu: [x64] 509 | os: [freebsd] 510 | requiresBuild: true 511 | dev: true 512 | optional: true 513 | 514 | /esbuild-freebsd-arm64@0.15.18: 515 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 516 | engines: {node: '>=12'} 517 | cpu: [arm64] 518 | os: [freebsd] 519 | requiresBuild: true 520 | dev: true 521 | optional: true 522 | 523 | /esbuild-linux-32@0.15.18: 524 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 525 | engines: {node: '>=12'} 526 | cpu: [ia32] 527 | os: [linux] 528 | requiresBuild: true 529 | dev: true 530 | optional: true 531 | 532 | /esbuild-linux-64@0.15.18: 533 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 534 | engines: {node: '>=12'} 535 | cpu: [x64] 536 | os: [linux] 537 | requiresBuild: true 538 | dev: true 539 | optional: true 540 | 541 | /esbuild-linux-arm64@0.15.18: 542 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 543 | engines: {node: '>=12'} 544 | cpu: [arm64] 545 | os: [linux] 546 | requiresBuild: true 547 | dev: true 548 | optional: true 549 | 550 | /esbuild-linux-arm@0.15.18: 551 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 552 | engines: {node: '>=12'} 553 | cpu: [arm] 554 | os: [linux] 555 | requiresBuild: true 556 | dev: true 557 | optional: true 558 | 559 | /esbuild-linux-mips64le@0.15.18: 560 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 561 | engines: {node: '>=12'} 562 | cpu: [mips64el] 563 | os: [linux] 564 | requiresBuild: true 565 | dev: true 566 | optional: true 567 | 568 | /esbuild-linux-ppc64le@0.15.18: 569 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 570 | engines: {node: '>=12'} 571 | cpu: [ppc64] 572 | os: [linux] 573 | requiresBuild: true 574 | dev: true 575 | optional: true 576 | 577 | /esbuild-linux-riscv64@0.15.18: 578 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 579 | engines: {node: '>=12'} 580 | cpu: [riscv64] 581 | os: [linux] 582 | requiresBuild: true 583 | dev: true 584 | optional: true 585 | 586 | /esbuild-linux-s390x@0.15.18: 587 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 588 | engines: {node: '>=12'} 589 | cpu: [s390x] 590 | os: [linux] 591 | requiresBuild: true 592 | dev: true 593 | optional: true 594 | 595 | /esbuild-netbsd-64@0.15.18: 596 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 597 | engines: {node: '>=12'} 598 | cpu: [x64] 599 | os: [netbsd] 600 | requiresBuild: true 601 | dev: true 602 | optional: true 603 | 604 | /esbuild-openbsd-64@0.15.18: 605 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 606 | engines: {node: '>=12'} 607 | cpu: [x64] 608 | os: [openbsd] 609 | requiresBuild: true 610 | dev: true 611 | optional: true 612 | 613 | /esbuild-sunos-64@0.15.18: 614 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 615 | engines: {node: '>=12'} 616 | cpu: [x64] 617 | os: [sunos] 618 | requiresBuild: true 619 | dev: true 620 | optional: true 621 | 622 | /esbuild-windows-32@0.15.18: 623 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 624 | engines: {node: '>=12'} 625 | cpu: [ia32] 626 | os: [win32] 627 | requiresBuild: true 628 | dev: true 629 | optional: true 630 | 631 | /esbuild-windows-64@0.15.18: 632 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 633 | engines: {node: '>=12'} 634 | cpu: [x64] 635 | os: [win32] 636 | requiresBuild: true 637 | dev: true 638 | optional: true 639 | 640 | /esbuild-windows-arm64@0.15.18: 641 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 642 | engines: {node: '>=12'} 643 | cpu: [arm64] 644 | os: [win32] 645 | requiresBuild: true 646 | dev: true 647 | optional: true 648 | 649 | /esbuild@0.15.18: 650 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 651 | engines: {node: '>=12'} 652 | hasBin: true 653 | requiresBuild: true 654 | optionalDependencies: 655 | '@esbuild/android-arm': 0.15.18 656 | '@esbuild/linux-loong64': 0.15.18 657 | esbuild-android-64: 0.15.18 658 | esbuild-android-arm64: 0.15.18 659 | esbuild-darwin-64: 0.15.18 660 | esbuild-darwin-arm64: 0.15.18 661 | esbuild-freebsd-64: 0.15.18 662 | esbuild-freebsd-arm64: 0.15.18 663 | esbuild-linux-32: 0.15.18 664 | esbuild-linux-64: 0.15.18 665 | esbuild-linux-arm: 0.15.18 666 | esbuild-linux-arm64: 0.15.18 667 | esbuild-linux-mips64le: 0.15.18 668 | esbuild-linux-ppc64le: 0.15.18 669 | esbuild-linux-riscv64: 0.15.18 670 | esbuild-linux-s390x: 0.15.18 671 | esbuild-netbsd-64: 0.15.18 672 | esbuild-openbsd-64: 0.15.18 673 | esbuild-sunos-64: 0.15.18 674 | esbuild-windows-32: 0.15.18 675 | esbuild-windows-64: 0.15.18 676 | esbuild-windows-arm64: 0.15.18 677 | dev: true 678 | 679 | /escape-string-regexp@1.0.5: 680 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 681 | engines: {node: '>=0.8.0'} 682 | dev: true 683 | 684 | /estree-walker@0.6.1: 685 | resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} 686 | dev: true 687 | 688 | /estree-walker@1.0.1: 689 | resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} 690 | dev: true 691 | 692 | /estree-walker@2.0.2: 693 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 694 | 695 | /find-cache-dir@3.3.2: 696 | resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} 697 | engines: {node: '>=8'} 698 | dependencies: 699 | commondir: 1.0.1 700 | make-dir: 3.1.0 701 | pkg-dir: 4.2.0 702 | dev: true 703 | 704 | /find-up@4.1.0: 705 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 706 | engines: {node: '>=8'} 707 | dependencies: 708 | locate-path: 5.0.0 709 | path-exists: 4.0.0 710 | dev: true 711 | 712 | /fs-extra@10.1.0: 713 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 714 | engines: {node: '>=12'} 715 | dependencies: 716 | graceful-fs: 4.2.10 717 | jsonfile: 6.1.0 718 | universalify: 2.0.0 719 | dev: true 720 | 721 | /fsevents@2.3.2: 722 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 723 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 724 | os: [darwin] 725 | requiresBuild: true 726 | dev: true 727 | optional: true 728 | 729 | /function-bind@1.1.1: 730 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 731 | dev: true 732 | 733 | /graceful-fs@4.2.10: 734 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 735 | dev: true 736 | 737 | /has-flag@3.0.0: 738 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 739 | engines: {node: '>=4'} 740 | dev: true 741 | 742 | /has-flag@4.0.0: 743 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 744 | engines: {node: '>=8'} 745 | dev: true 746 | 747 | /has@1.0.3: 748 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 749 | engines: {node: '>= 0.4.0'} 750 | dependencies: 751 | function-bind: 1.1.1 752 | dev: true 753 | 754 | /hash-sum@2.0.0: 755 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} 756 | dev: true 757 | 758 | /highlight.js@11.6.0: 759 | resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==} 760 | engines: {node: '>=12.0.0'} 761 | dev: true 762 | 763 | /iconv-lite@0.6.3: 764 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 765 | engines: {node: '>=0.10.0'} 766 | dependencies: 767 | safer-buffer: 2.1.2 768 | dev: true 769 | optional: true 770 | 771 | /image-size@0.5.5: 772 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} 773 | engines: {node: '>=0.10.0'} 774 | hasBin: true 775 | requiresBuild: true 776 | dev: true 777 | optional: true 778 | 779 | /is-builtin-module@3.2.0: 780 | resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==} 781 | engines: {node: '>=6'} 782 | dependencies: 783 | builtin-modules: 3.3.0 784 | dev: true 785 | 786 | /is-core-module@2.10.0: 787 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 788 | dependencies: 789 | has: 1.0.3 790 | dev: true 791 | 792 | /is-module@1.0.0: 793 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 794 | dev: true 795 | 796 | /is-what@3.14.1: 797 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} 798 | dev: true 799 | 800 | /jest-worker@26.6.2: 801 | resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} 802 | engines: {node: '>= 10.13.0'} 803 | dependencies: 804 | '@types/node': 18.7.2 805 | merge-stream: 2.0.0 806 | supports-color: 7.2.0 807 | dev: true 808 | 809 | /js-tokens@4.0.0: 810 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 811 | dev: true 812 | 813 | /jsonfile@6.1.0: 814 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 815 | dependencies: 816 | universalify: 2.0.0 817 | optionalDependencies: 818 | graceful-fs: 4.2.10 819 | dev: true 820 | 821 | /less@4.1.3: 822 | resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} 823 | engines: {node: '>=6'} 824 | hasBin: true 825 | dependencies: 826 | copy-anything: 2.0.6 827 | parse-node-version: 1.0.1 828 | tslib: 2.4.0 829 | optionalDependencies: 830 | errno: 0.1.8 831 | graceful-fs: 4.2.10 832 | image-size: 0.5.5 833 | make-dir: 2.1.0 834 | mime: 1.6.0 835 | needle: 3.1.0 836 | source-map: 0.6.1 837 | transitivePeerDependencies: 838 | - supports-color 839 | dev: true 840 | 841 | /locate-path@5.0.0: 842 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 843 | engines: {node: '>=8'} 844 | dependencies: 845 | p-locate: 4.1.0 846 | dev: true 847 | 848 | /magic-string@0.25.9: 849 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 850 | dependencies: 851 | sourcemap-codec: 1.4.8 852 | 853 | /make-dir@2.1.0: 854 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} 855 | engines: {node: '>=6'} 856 | requiresBuild: true 857 | dependencies: 858 | pify: 4.0.1 859 | semver: 5.7.1 860 | dev: true 861 | optional: true 862 | 863 | /make-dir@3.1.0: 864 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 865 | engines: {node: '>=8'} 866 | dependencies: 867 | semver: 6.3.0 868 | dev: true 869 | 870 | /merge-stream@2.0.0: 871 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 872 | dev: true 873 | 874 | /mime@1.6.0: 875 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 876 | engines: {node: '>=4'} 877 | hasBin: true 878 | requiresBuild: true 879 | dev: true 880 | optional: true 881 | 882 | /ms@2.1.2: 883 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 884 | dev: true 885 | 886 | /ms@2.1.3: 887 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 888 | dev: true 889 | optional: true 890 | 891 | /nanoid@3.3.6: 892 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 893 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 894 | hasBin: true 895 | 896 | /needle@3.1.0: 897 | resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==} 898 | engines: {node: '>= 4.4.x'} 899 | hasBin: true 900 | requiresBuild: true 901 | dependencies: 902 | debug: 3.2.7 903 | iconv-lite: 0.6.3 904 | sax: 1.2.4 905 | transitivePeerDependencies: 906 | - supports-color 907 | dev: true 908 | optional: true 909 | 910 | /p-limit@2.3.0: 911 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 912 | engines: {node: '>=6'} 913 | dependencies: 914 | p-try: 2.2.0 915 | dev: true 916 | 917 | /p-locate@4.1.0: 918 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 919 | engines: {node: '>=8'} 920 | dependencies: 921 | p-limit: 2.3.0 922 | dev: true 923 | 924 | /p-try@2.2.0: 925 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 926 | engines: {node: '>=6'} 927 | dev: true 928 | 929 | /parse-node-version@1.0.1: 930 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 931 | engines: {node: '>= 0.10'} 932 | dev: true 933 | 934 | /path-exists@4.0.0: 935 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 936 | engines: {node: '>=8'} 937 | dev: true 938 | 939 | /path-parse@1.0.7: 940 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 941 | dev: true 942 | 943 | /picocolors@1.0.0: 944 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 945 | 946 | /picomatch@2.3.1: 947 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 948 | engines: {node: '>=8.6'} 949 | dev: true 950 | 951 | /pify@4.0.1: 952 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 953 | engines: {node: '>=6'} 954 | dev: true 955 | optional: true 956 | 957 | /pkg-dir@4.2.0: 958 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 959 | engines: {node: '>=8'} 960 | dependencies: 961 | find-up: 4.1.0 962 | dev: true 963 | 964 | /postcss@8.4.16: 965 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} 966 | engines: {node: ^10 || ^12 || >=14} 967 | dependencies: 968 | nanoid: 3.3.6 969 | picocolors: 1.0.0 970 | source-map-js: 1.0.2 971 | 972 | /postcss@8.4.27: 973 | resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} 974 | engines: {node: ^10 || ^12 || >=14} 975 | dependencies: 976 | nanoid: 3.3.6 977 | picocolors: 1.0.0 978 | source-map-js: 1.0.2 979 | dev: true 980 | 981 | /prr@1.0.1: 982 | resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} 983 | dev: true 984 | optional: true 985 | 986 | /randombytes@2.1.0: 987 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 988 | dependencies: 989 | safe-buffer: 5.2.1 990 | dev: true 991 | 992 | /resize-detector@0.3.0: 993 | resolution: {integrity: sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==} 994 | dev: false 995 | 996 | /resolve@1.22.1: 997 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 998 | hasBin: true 999 | dependencies: 1000 | is-core-module: 2.10.0 1001 | path-parse: 1.0.7 1002 | supports-preserve-symlinks-flag: 1.0.0 1003 | dev: true 1004 | 1005 | /rollup-plugin-terser@7.0.2(rollup@2.77.3): 1006 | resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} 1007 | peerDependencies: 1008 | rollup: ^2.0.0 1009 | dependencies: 1010 | '@babel/code-frame': 7.18.6 1011 | jest-worker: 26.6.2 1012 | rollup: 2.77.3 1013 | serialize-javascript: 4.0.0 1014 | terser: 5.14.2 1015 | dev: true 1016 | 1017 | /rollup-plugin-typescript2@0.32.1(rollup@2.77.3)(typescript@4.7.4): 1018 | resolution: {integrity: sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==} 1019 | peerDependencies: 1020 | rollup: '>=1.26.3' 1021 | typescript: '>=2.4.0' 1022 | dependencies: 1023 | '@rollup/pluginutils': 4.2.1 1024 | find-cache-dir: 3.3.2 1025 | fs-extra: 10.1.0 1026 | resolve: 1.22.1 1027 | rollup: 2.77.3 1028 | tslib: 2.4.0 1029 | typescript: 4.7.4 1030 | dev: true 1031 | 1032 | /rollup-plugin-vue@6.0.0(@vue/compiler-sfc@3.2.37): 1033 | resolution: {integrity: sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==} 1034 | peerDependencies: 1035 | '@vue/compiler-sfc': '*' 1036 | dependencies: 1037 | '@vue/compiler-sfc': 3.2.37 1038 | debug: 4.3.4 1039 | hash-sum: 2.0.0 1040 | rollup-pluginutils: 2.8.2 1041 | transitivePeerDependencies: 1042 | - supports-color 1043 | dev: true 1044 | 1045 | /rollup-pluginutils@2.8.2: 1046 | resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} 1047 | dependencies: 1048 | estree-walker: 0.6.1 1049 | dev: true 1050 | 1051 | /rollup@2.77.3: 1052 | resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} 1053 | engines: {node: '>=10.0.0'} 1054 | hasBin: true 1055 | optionalDependencies: 1056 | fsevents: 2.3.2 1057 | dev: true 1058 | 1059 | /rollup@2.79.1: 1060 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} 1061 | engines: {node: '>=10.0.0'} 1062 | hasBin: true 1063 | optionalDependencies: 1064 | fsevents: 2.3.2 1065 | dev: true 1066 | 1067 | /safe-buffer@5.2.1: 1068 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1069 | dev: true 1070 | 1071 | /safer-buffer@2.1.2: 1072 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1073 | dev: true 1074 | optional: true 1075 | 1076 | /sax@1.2.4: 1077 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 1078 | dev: true 1079 | optional: true 1080 | 1081 | /semver@5.7.1: 1082 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1083 | hasBin: true 1084 | dev: true 1085 | optional: true 1086 | 1087 | /semver@6.3.0: 1088 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1089 | hasBin: true 1090 | dev: true 1091 | 1092 | /serialize-javascript@4.0.0: 1093 | resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} 1094 | dependencies: 1095 | randombytes: 2.1.0 1096 | dev: true 1097 | 1098 | /source-map-js@1.0.2: 1099 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1100 | engines: {node: '>=0.10.0'} 1101 | 1102 | /source-map-support@0.5.21: 1103 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1104 | dependencies: 1105 | buffer-from: 1.1.2 1106 | source-map: 0.6.1 1107 | dev: true 1108 | 1109 | /source-map@0.6.1: 1110 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1111 | engines: {node: '>=0.10.0'} 1112 | 1113 | /sourcemap-codec@1.4.8: 1114 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1115 | 1116 | /spectre.css@0.5.9: 1117 | resolution: {integrity: sha512-9jUqwZmCnvflrxFGcK+ize43TvjwDjqMwZPVubEtSIHzvinH0TBUESm1LcOJx3Ur7bdPaeOHQIjOqBl1Y5kLFw==} 1118 | dev: true 1119 | 1120 | /supports-color@5.5.0: 1121 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1122 | engines: {node: '>=4'} 1123 | dependencies: 1124 | has-flag: 3.0.0 1125 | dev: true 1126 | 1127 | /supports-color@7.2.0: 1128 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1129 | engines: {node: '>=8'} 1130 | dependencies: 1131 | has-flag: 4.0.0 1132 | dev: true 1133 | 1134 | /supports-preserve-symlinks-flag@1.0.0: 1135 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1136 | engines: {node: '>= 0.4'} 1137 | dev: true 1138 | 1139 | /terser@5.14.2: 1140 | resolution: {integrity: sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==} 1141 | engines: {node: '>=10'} 1142 | hasBin: true 1143 | dependencies: 1144 | '@jridgewell/source-map': 0.3.2 1145 | acorn: 8.8.0 1146 | commander: 2.20.3 1147 | source-map-support: 0.5.21 1148 | dev: true 1149 | 1150 | /to-fast-properties@2.0.0: 1151 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1152 | engines: {node: '>=4'} 1153 | 1154 | /tslib@2.4.0: 1155 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 1156 | dev: true 1157 | 1158 | /typescript@4.7.4: 1159 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 1160 | engines: {node: '>=4.2.0'} 1161 | hasBin: true 1162 | dev: true 1163 | 1164 | /universalify@2.0.0: 1165 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 1166 | engines: {node: '>= 10.0.0'} 1167 | dev: true 1168 | 1169 | /vite@3.2.7(less@4.1.3): 1170 | resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} 1171 | engines: {node: ^14.18.0 || >=16.0.0} 1172 | hasBin: true 1173 | peerDependencies: 1174 | '@types/node': '>= 14' 1175 | less: '*' 1176 | sass: '*' 1177 | stylus: '*' 1178 | sugarss: '*' 1179 | terser: ^5.4.0 1180 | peerDependenciesMeta: 1181 | '@types/node': 1182 | optional: true 1183 | less: 1184 | optional: true 1185 | sass: 1186 | optional: true 1187 | stylus: 1188 | optional: true 1189 | sugarss: 1190 | optional: true 1191 | terser: 1192 | optional: true 1193 | dependencies: 1194 | esbuild: 0.15.18 1195 | less: 4.1.3 1196 | postcss: 8.4.27 1197 | resolve: 1.22.1 1198 | rollup: 2.79.1 1199 | optionalDependencies: 1200 | fsevents: 2.3.2 1201 | dev: true 1202 | 1203 | /vue-i18n@9.2.2(vue@3.2.37): 1204 | resolution: {integrity: sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==} 1205 | engines: {node: '>= 14'} 1206 | peerDependencies: 1207 | vue: ^3.0.0 1208 | dependencies: 1209 | '@intlify/core-base': 9.2.2 1210 | '@intlify/shared': 9.2.2 1211 | '@intlify/vue-devtools': 9.2.2 1212 | '@vue/devtools-api': 6.2.1 1213 | vue: 3.2.37 1214 | dev: true 1215 | 1216 | /vue-tsc@0.38.9(typescript@4.7.4): 1217 | resolution: {integrity: sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==} 1218 | hasBin: true 1219 | peerDependencies: 1220 | typescript: '*' 1221 | dependencies: 1222 | '@volar/vue-typescript': 0.38.9 1223 | typescript: 4.7.4 1224 | dev: true 1225 | 1226 | /vue@3.2.37: 1227 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==} 1228 | dependencies: 1229 | '@vue/compiler-dom': 3.2.37 1230 | '@vue/compiler-sfc': 3.2.37 1231 | '@vue/runtime-dom': 3.2.37 1232 | '@vue/server-renderer': 3.2.37(vue@3.2.37) 1233 | '@vue/shared': 3.2.37 1234 | -------------------------------------------------------------------------------- /public/icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 385 | 386 | 414 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | import i18n from "./plugins/i18n"; 4 | /* style */ 5 | import "spectre.css/dist/spectre.min.css"; 6 | import "spectre.css/dist/spectre-exp.min.css"; 7 | import "highlight.js/styles/atom-one-light.css"; 8 | import "highlight.js/lib/common"; 9 | import hljs from "highlight.js/lib/core"; 10 | import vueStyle from "./plugins/vue-style"; 11 | import hljsVuePlugin from "@highlightjs/vue-plugin"; 12 | import "./style.less"; 13 | 14 | hljs.registerLanguage("vue", vueStyle); 15 | createApp(App).use(i18n).use(hljsVuePlugin).mount("#app"); 16 | -------------------------------------------------------------------------------- /src/plugins/i18n.ts: -------------------------------------------------------------------------------- 1 | import { createI18n } from "vue-i18n"; 2 | 3 | import zh_CN from "./locales/zh-CN"; 4 | import en_EN from "./locales/en-US"; 5 | 6 | export enum LANG_TYPE { 7 | ZH_CN = "zh-CN", 8 | EN_US = "en-US", 9 | } 10 | 11 | // 语言库 12 | const messages = { 13 | [LANG_TYPE.ZH_CN]: zh_CN, 14 | [LANG_TYPE.EN_US]: en_EN, 15 | }; 16 | 17 | // 默认语言 18 | export const langDefault = LANG_TYPE.EN_US; 19 | 20 | const i18n = createI18n({ 21 | legacy: false, 22 | locale: langDefault, //默认显示的语言 23 | messages, 24 | }); 25 | 26 | export default i18n; 27 | -------------------------------------------------------------------------------- /src/plugins/locales/en-US.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | title: "", 3 | desc: "Vue3 component which allows you to ellipsis your multiline text.", 4 | vue2: "Vue2 Version", 5 | default: "Default", 6 | madeBy: "Made by", 7 | create: "", 8 | reference: "Referenced from", 9 | 10 | functionTitle: "Function", 11 | function1: "Clamps text with max lines and/or max height. No need to specify line height.", 12 | function2: "Place elllipsis at the end/middle/start of the clamped text and customize elllipsis string.", 13 | function3: "Automatically updates upon layout change.", 14 | function4: "The clamped text can be expanded/collapsed.", 15 | function5: "Customizable and responsive content before/after clamped text.", 16 | 17 | usageTitle: "Usage", 18 | usageText: "↓ Installation", 19 | usage1: "↓ Full Import", 20 | usage2: "↓ Manually import", 21 | 22 | api1: "↓ Props", 23 | props1: "The text to clamp.", 24 | props2: "The max number of lines that can be displayed.", 25 | props3: "The max height of the root element.", 26 | props4: "The ellipsis characters displayed when the text is clamped.", 27 | props5: "The location of the ellipsis.", 28 | props6: "Whether to observe the root element's size.", 29 | props7: "Whether the clamped area is expanded(Supports .sync modifier).", 30 | 31 | api2: "↓ Slots", 32 | beforeScope: "Slot scope: ", 33 | beforeSlot: "Content displayed before the clamped text. Can contain anything.", 34 | afterScope: "Slot scope: Same as before.", 35 | afterSlot: "Content displayed after the clamped text. Can contain anything.", 36 | scope1: "Expand the clamped text.", 37 | scope2: "Collapse the expanded text.", 38 | scope3: "Toggle the expand state of clamped text.", 39 | scope4: "Whether text content is being clamped.", 40 | scope5: "Whether text content is being expanded.", 41 | 42 | api3: "↓ Events", 43 | events1: "Emitted when clamp state changes.", 44 | parameterText: "Callback parameter list: ", 45 | 46 | demoTitle: "Demo", 47 | text: "Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only, and is easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries.", 48 | maxLines: "Max lines: ", 49 | maxHeight: "Max height: ", 50 | containerWidth: "Container width: ", 51 | location: "Location: ", 52 | ellipsis: "Ellipsis: ", 53 | featured: "Featured", 54 | toggle: "Toggle", 55 | start: "start", 56 | middle: "middle", 57 | end: "end", 58 | clampStatus: "Clamped: ", 59 | clampYes: "Yes", 60 | clampNo: "No", 61 | }; 62 | -------------------------------------------------------------------------------- /src/plugins/locales/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | title: "", 3 | desc: "Vue3 多行文本省略组件。", 4 | vue2: "Vue2 版本", 5 | default: "默认值", 6 | madeBy: "由", 7 | create: "创作", 8 | reference: "参考自", 9 | 10 | functionTitle: "功能", 11 | function1: "支持选择限制行数与/或最大高度,在文本溢出时截断文本。", 12 | function2: "支持自定义文本截断时显示的省略字符以及截断的位置。", 13 | function3: "支持在布局变化时自动更新。", 14 | function4: "支持展开/收起被截断部分内容。", 15 | function5: "支持自定义截断文本前后内容,并且进行响应式更新。", 16 | 17 | usageTitle: "使用", 18 | usageText: "↓ 安装", 19 | usage1: "↓ 全局导入", 20 | usage2: "↓ 手动导入", 21 | 22 | api1: "↓ Props", 23 | props1: "展示文本.", 24 | props2: "可以显示的最大行数", 25 | props3: "根元素的最大高度", 26 | props4: "当文字被截断时需要显示的省略号字符串", 27 | props5: "截断后显式省略符号的位置", 28 | props6: "是否要自动适配根元素的尺寸变化", 29 | props7: "是否展开显式被截断的文本(支持 .sync 修饰符)", 30 | 31 | api2: "↓ Slots", 32 | beforeScope: "Slot 作用域: ", 33 | beforeSlot: "在被截断的文本前显式的内容,可以包含任意类型内容。", 34 | afterScope: "Slot 作用域:与 before 相同。", 35 | afterSlot: "在被截断的文本后显式的内容,可以包含任意类型内容。", 36 | scope1: "展开被截断的文本。", 37 | scope2: "收起展开后的文本。", 38 | scope3: "切换被截断文本的展开状态。", 39 | scope4: "内容是否处于截断状态。", 40 | scope5: "内容是否处于展开状态。", 41 | 42 | api3: "↓ Events", 43 | events1: "截断状态变化时触发。", 44 | parameterText: "回调参数:", 45 | 46 | demoTitle: "示例", 47 | text: "Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。", 48 | maxLines: "最大行数: ", 49 | maxHeight: "最大高度: ", 50 | containerWidth: "容器宽度: ", 51 | location: "位置: ", 52 | ellipsis: "省略符号: ", 53 | featured: "推荐", 54 | toggle: "切换", 55 | start: "开始", 56 | middle: "中间", 57 | end: "末尾", 58 | clampStatus: "截断状态: ", 59 | clampYes: "截断", 60 | clampNo: "未截断", 61 | }; 62 | -------------------------------------------------------------------------------- /src/plugins/vue-style.ts: -------------------------------------------------------------------------------- 1 | export default function (hljs: any) { 2 | const XML_IDENT_RE = "[A-Za-z0-9\\._:-]+"; 3 | const TAG_INTERNALS = { 4 | endsWithParent: true, 5 | illegal: /`]+/ }], 21 | }, 22 | ], 23 | }, 24 | ], 25 | }; 26 | return { 27 | case_insensitive: true, 28 | contains: [ 29 | hljs.COMMENT("", { 30 | relevance: 10, 31 | }), 32 | { 33 | className: "tag", 34 | /* 35 | The lookahead pattern (?=...) ensures that 'begin' only matches 36 | '|$)", 41 | end: ">", 42 | keywords: { name: "style" }, 43 | contains: [TAG_INTERNALS], 44 | starts: { 45 | end: "", 46 | returnEnd: true, 47 | subLanguage: ["css", "less", "scss", "stylus"], 48 | }, 49 | }, 50 | { 51 | className: "tag", 52 | // See the comment in the