From 330a00515250817809735af517e28f404e95fffe Mon Sep 17 00:00:00 2001 From: liweijie <674416404@qq.com> Date: Thu, 8 Oct 2026 15:14:45 +0800 Subject: [PATCH 01/27] chore: migrate to eslint flat config and prettier 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 用 eslint.config.mjs 合并根/site/site-components/theme-generator/auto-release 的 ESLint 配置 - 升级 eslint 10 / prettier 3 / typescript-eslint,移除子包独立 lint 脚本 - 保留错误 cause,清理失效 disable 注释,修复 template-shadow 与属性顺序 - 对 CLI 脚本与受信任 v-html 内容按路径关闭对应规则 --- .cnb.yml | 3 +- .eslintrc.js | 14 - .github/ISSUE_TEMPLATE/bug-report.zh-CN.yml | 4 +- .../ISSUE_TEMPLATE/feature-report.zh-CN.yml | 4 +- .github/ISSUE_TEMPLATE/new-component.zh-CN.md | 5 +- .github/workflows/ci.yml | 2 +- .github/workflows/pkg-pr-new.yml | 7 +- .github/workflows/service-update-schedule.yml | 4 +- README.md | 1 - docs/CODE_OF_CONDUCT.md | 2 +- docs/awesome_zh-CN.md | 8 +- docs/design/TDesign_Axure_Library Guide.md | 30 +- docs/design/offices-task_zh-CN.md | 450 +++--- docs/design/offices_zh-CN.md | 43 +- docs/faq_zh-CN.md | 3 +- docs/introduce.md | 2 +- docs/tech.md | 2 +- docs/tech_zh-CN.md | 21 +- eslint.config.mjs | 136 ++ package.json | 23 +- packages/auto-release-collection/.eslintrc.js | 8 - packages/auto-release-collection/package.json | 3 - packages/auto-release-collection/src/utils.ts | 4 +- packages/site-components/.eslintrc.js | 15 - packages/site-components/README.md | 4 +- packages/site-components/index.html | 2 +- packages/site-components/package.json | 3 - .../src/components/td-ai-button/style.less | 6 +- .../src/components/td-ai-button/utils.ts | 11 +- .../src/components/td-backtop/style.less | 9 +- .../src/components/td-code-block/style.less | 16 +- .../src/components/td-code/style.less | 7 +- .../src/components/td-contributors/style.less | 3 +- .../src/components/td-doc-aside/style.less | 26 +- .../src/components/td-doc-badge/style.less | 2 +- .../components/td-doc-changelog/style.less | 468 +++--- .../src/components/td-doc-content/style.less | 14 +- .../src/components/td-doc-copy/style.less | 14 +- .../src/components/td-doc-demo/index.ts | 2 +- .../src/components/td-doc-demo/style.less | 20 +- .../src/components/td-doc-empty/style.less | 1 - .../src/components/td-doc-footer/portal.less | 4 +- .../src/components/td-doc-footer/style.less | 5 +- .../src/components/td-doc-header/index.ts | 83 +- .../src/components/td-doc-header/style.less | 5 +- .../td-doc-header/td-doc-issue/style.less | 3 +- .../src/components/td-doc-history/index.ts | 14 +- .../src/components/td-doc-history/style.less | 2 +- .../src/components/td-doc-layout/index.ts | 2 +- .../src/components/td-doc-layout/style.less | 4 +- .../src/components/td-doc-phone/index.ts | 38 +- .../src/components/td-doc-phone/style.less | 19 +- .../src/components/td-doc-popup/index.ts | 3 +- .../src/components/td-doc-search/algolia.ts | 2 +- .../src/components/td-doc-search/hotkeys.ts | 6 +- .../src/components/td-doc-search/style.less | 12 +- .../src/components/td-doc-search/views.ts | 16 +- .../src/components/td-doc-tabs/style.less | 6 +- .../src/components/td-doc-usage/index.ts | 84 +- .../src/components/td-doc-usage/style.less | 36 +- .../src/components/td-header/index.ts | 44 +- .../src/components/td-header/portal.less | 20 +- .../src/components/td-header/style.less | 14 +- .../td-header/td-collapse-menu/index.ts | 2 +- .../td-header/td-collapse-menu/portal.less | 25 +- .../src/components/td-logo/index.ts | 17 +- .../src/components/td-message/README.md | 2 +- .../src/components/td-message/style.less | 4 +- .../src/components/td-portal/index.ts | 12 +- .../src/components/td-portal/style.less | 5 +- .../src/components/td-select/index.ts | 2 +- .../src/components/td-select/style.less | 3 +- .../src/components/td-stats/index.ts | 8 +- .../src/components/td-switch/style.less | 2 +- .../src/components/td-theme-tabs/style.less | 6 +- .../src/components/td-tooltip/style.less | 15 +- .../site-components/src/styles/animation.less | 52 +- packages/site-components/src/styles/dark.less | 48 +- packages/site-components/src/styles/docs.less | 58 +- packages/site-components/src/styles/main.less | 14 +- .../site-components/src/styles/nprogress.less | 27 +- .../src/styles/prism-theme-dark.less | 124 +- .../src/styles/prism-theme.less | 41 +- .../site-components/src/styles/reset.less | 15 +- .../site-components/src/styles/timeline.less | 2 +- packages/site-components/src/styles/vars.less | 64 +- packages/theme-generator/.eslintrc.js | 40 - .../theme-generator/CONTRIBUTING_zh-CN.md | 16 +- packages/theme-generator/index.html | 22 +- packages/theme-generator/package.json | 8 +- .../components/color-collapse/index.vue | 20 +- .../components/color-column/index.vue | 18 +- .../theme-generator/src/color-panel/index.vue | 86 +- .../src/common/components/collapse/index.vue | 4 +- .../common/components/color-picker/index.vue | 2 +- .../components/segment-selection/index.vue | 10 +- .../common/components/size-slider/index.vue | 6 +- .../built-in/css/mobile/TDesign/dark.css | 36 +- .../built-in/css/mobile/TDesign/extra.css | 76 +- .../built-in/css/mobile/TDesign/light.css | 36 +- .../src/common/themes/built-in/css/vars.css | 104 +- .../themes/built-in/css/web/TCloud/dark.css | 262 ++-- .../themes/built-in/css/web/TCloud/extra.css | 883 +++++------ .../themes/built-in/css/web/TCloud/light.css | 36 +- .../themes/built-in/css/web/TDesign/dark.css | 262 ++-- .../themes/built-in/css/web/TDesign/extra.css | 236 +-- .../themes/built-in/css/web/TDesign/light.css | 34 +- .../src/common/themes/iframe.ts | 14 +- .../src/common/utils/animation.ts | 2 - packages/theme-generator/src/dev-tools.ts | 3 +- .../components/recommend-themes/index.vue | 2 +- .../theme-generator/src/float-dock/index.vue | 12 +- .../components/font-color-adjust.vue | 14 +- .../components/font-size-adjust.vue | 30 +- .../components/line-height-adjust.vue | 32 +- .../theme-generator/src/font-panel/index.vue | 6 +- packages/theme-generator/src/generator.vue | 6 +- .../src/panel-drawer/index.vue | 21 +- .../src/radius-panel/index.vue | 18 +- .../shadow-panel/components/shadow-card.vue | 8 +- .../shadow-panel/components/shadow-editor.vue | 12 +- .../shadow-panel/components/shadow-layer.vue | 2 +- .../src/shadow-panel/index.vue | 4 +- .../src/size-panel/components/size-adjust.vue | 10 +- .../size-panel/components/size-display.vue | 2 +- .../theme-generator/src/size-panel/index.vue | 18 +- pnpm-lock.yaml | 1338 +++++++---------- pnpm-workspace.yaml | 4 +- site/.eslintignore | 13 - site/.eslintrc | 50 - site/contributor.html | 2 +- site/index.html | 2 +- site/package.json | 11 +- site/plugins/icons-manifest/index.ts | 4 +- site/postcss.config.js | 16 +- site/src/components/avatar.vue | 2 +- site/src/components/design-source.vue | 4 +- site/src/main.ts | 1 - site/src/pages/about/release.vue | 4 +- site/src/pages/design/color.vue | 46 +- site/src/pages/design/dark.vue | 16 +- site/src/pages/design/fonts.vue | 16 +- site/src/pages/design/source.vue | 20 +- site/src/pages/design/values.vue | 6 +- site/src/pages/home/avatar.vue | 4 +- site/src/pages/home/banner.vue | 18 +- site/src/pages/home/component-list.vue | 6 +- site/src/pages/home/index.vue | 68 +- site/src/style/color.less | 24 +- site/src/style/fonts.less | 32 +- site/src/style/home.less | 42 +- site/src/style/icon.less | 53 +- site/src/style/motion.less | 22 +- site/src/style/source.less | 367 ++--- 154 files changed, 3395 insertions(+), 3581 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 eslint.config.mjs delete mode 100644 packages/auto-release-collection/.eslintrc.js delete mode 100644 packages/site-components/.eslintrc.js delete mode 100644 packages/theme-generator/.eslintrc.js delete mode 100644 site/.eslintignore delete mode 100644 site/.eslintrc diff --git a/.cnb.yml b/.cnb.yml index 346310a88..9f29ab8c2 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -23,5 +23,4 @@ $: - docker stages: - name: install dependencies - script: pnpm install - + script: pnpm install diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index a57ee81d6..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - browser: true, - es6: true, - }, - extends: ['eslint:recommended', 'prettier'], - plugins: ['html', 'prettier'], - rules: { - 'prettier/prettier': ['error', {}, { usePrettierrc: true }], - 'no-console': ['warn', { allow: ['warn', 'error'] }], - }, -}; diff --git a/.github/ISSUE_TEMPLATE/bug-report.zh-CN.yml b/.github/ISSUE_TEMPLATE/bug-report.zh-CN.yml index 8f1908e1d..6f4da6f68 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.zh-CN.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.zh-CN.yml @@ -1,7 +1,7 @@ name: 反馈 Bug description: 通过 github 模板进行 Bug 反馈。 -title: "[组件名称] 描述问题的标题" -labels: [🐞 bug,🧐 unconfirmed] +title: '[组件名称] 描述问题的标题' +labels: [🐞 bug, 🧐 unconfirmed] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/feature-report.zh-CN.yml b/.github/ISSUE_TEMPLATE/feature-report.zh-CN.yml index dab32894e..924375177 100644 --- a/.github/ISSUE_TEMPLATE/feature-report.zh-CN.yml +++ b/.github/ISSUE_TEMPLATE/feature-report.zh-CN.yml @@ -1,7 +1,7 @@ name: 反馈新功能 description: 通过 github 模板进行新功能反馈。 -title: "[组件名称] 描述问题的标题" -labels: [💪🏻 enhancement,🧐 unconfirmed] +title: '[组件名称] 描述问题的标题' +labels: [💪🏻 enhancement, 🧐 unconfirmed] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/new-component.zh-CN.md b/.github/ISSUE_TEMPLATE/new-component.zh-CN.md index 05b48991c..b9e486b1e 100644 --- a/.github/ISSUE_TEMPLATE/new-component.zh-CN.md +++ b/.github/ISSUE_TEMPLATE/new-component.zh-CN.md @@ -4,21 +4,21 @@ about: 新组件招募 title: '' labels: '' assignees: '' - --- -## 组件名称中英文 +## 组件名称中英文 ### 交互稿 + 交互稿: ### 设计稿 @@ -42,4 +42,3 @@ issue label 需要设置为 help wanted,发起招募 详细提交过程请参考:[如何贡献](https://tdesign.tencent.com/about/contributing)。 欢迎填写[《贡献者加入意向收集》](https://wj.qq.com/s2/9772260/7cbe/)问卷加入 TDesign 贡献者群,参与过程中遇到的各类问题可以得到实时解答和指引。 - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99ba26e17..dbe84dece 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ name: ci on: pull_request: - branches: [ main] + branches: [main] types: [opened, synchronize, reopened] jobs: diff --git a/.github/workflows/pkg-pr-new.yml b/.github/workflows/pkg-pr-new.yml index d24140fc1..cba559249 100644 --- a/.github/workflows/pkg-pr-new.yml +++ b/.github/workflows/pkg-pr-new.yml @@ -31,7 +31,7 @@ jobs: - run: pnpm --filter '@tdesign/site-components' --filter '@tdesign/theme-generator' run build - run: pnpm dlx pkg-pr-new publish './packages/site-components' './packages/theme-generator' - + build-tdesign-vue-site: if: github.repository == 'Tencent/tdesign' && github.event_name == 'pull_request' needs: build @@ -278,14 +278,13 @@ jobs: - run: pnpm uniapp build:npm - - run: pnpm -C packages/tdesign-uniapp/example build:h5 --mode preview + - run: pnpm -C packages/tdesign-uniapp/example build:h5 --mode preview - uses: actions/upload-artifact@v7 with: name: tdesign-uniapp-site path: packages/tdesign-uniapp/site/dist - retention-days: 5 - + retention-days: 5 build-site: if: github.repository == 'Tencent/tdesign' && github.event_name == 'pull_request' diff --git a/.github/workflows/service-update-schedule.yml b/.github/workflows/service-update-schedule.yml index bd8bc7a34..c5a8c5518 100644 --- a/.github/workflows/service-update-schedule.yml +++ b/.github/workflows/service-update-schedule.yml @@ -5,12 +5,12 @@ name: service-update-schedule on: workflow_dispatch: schedule: - - cron: "0 0 * * 5" + - cron: '0 0 * * 5' jobs: create-report: # prevents this action from running on forks - if: github.repository == 'Tencent/tdesign' + if: github.repository == 'Tencent/tdesign' runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 diff --git a/README.md b/README.md index 0a1a4d6f3..f98302ccf 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,6 @@ For more information, refer to the guide section of each component, such as [But https://tdesign.tencent.com/contributor.html - ## Contributing Guide Any contributions to TDesign are welcome. Please read [《contributing for TDesign》](https://tdesign.tencent.com/about/contributing) for more information. diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md index efa0541d1..e3e37b5a9 100644 --- a/docs/CODE_OF_CONDUCT.md +++ b/docs/CODE_OF_CONDUCT.md @@ -43,4 +43,4 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]. [homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/docs/awesome_zh-CN.md b/docs/awesome_zh-CN.md index d9dabd23d..d6d356386 100644 --- a/docs/awesome_zh-CN.md +++ b/docs/awesome_zh-CN.md @@ -42,10 +42,10 @@ title: 社区资源 ## 📦 插件和工具 -名称 | 描述 ---|-- -[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)
[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) | 用于自动引入 TDesign 桌面端 [Vue2](https://github.com/Tencent/tdesign-vue)、[Vue3](https://github.com/Tencent/tdesign-vue-next) 的组件,使用请参考 [自动引入章节](https://tdesign.tencent.com/vue/getting-started#%E8%87%AA%E5%8A%A8%E5%BC%95%E5%85%A5) -[formilyjs/tdesign-react](https://github.com/formilyjs/tdesign-react) | 结合 Formily & tdesign-react 组件库能力的社区贡献产品 +| 名称 | 描述 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)
[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) | 用于自动引入 TDesign 桌面端 [Vue2](https://github.com/Tencent/tdesign-vue)、[Vue3](https://github.com/Tencent/tdesign-vue-next) 的组件,使用请参考 [自动引入章节](https://tdesign.tencent.com/vue/getting-started#%E8%87%AA%E5%8A%A8%E5%BC%95%E5%85%A5) | +| [formilyjs/tdesign-react](https://github.com/formilyjs/tdesign-react) | 结合 Formily & tdesign-react 组件库能力的社区贡献产品 | ## 📄 文章 diff --git a/docs/design/TDesign_Axure_Library Guide.md b/docs/design/TDesign_Axure_Library Guide.md index d3fa5439e..d543fc4eb 100644 --- a/docs/design/TDesign_Axure_Library Guide.md +++ b/docs/design/TDesign_Axure_Library Guide.md @@ -2,11 +2,7 @@ V1.1.0_2022/08/18 - - ------- - - +--- ## **元件库简介** @@ -17,39 +13,35 @@ V1.1.0_2022/08/18 - 兼容并济:兼容Axure8.0及以上版本,Windows 与 Mac 平台通用,内容持续更新 - 官方用户群:微信或企业微信扫码加入,随时与官方交流,获取最新动态 - ![image (1)](https://user-images.githubusercontent.com/18713847/185081301-a795df6f-6c9c-47ca-b6dc-29e7df49f4aa.png) - ------- - + ![image (1)](https://user-images.githubusercontent.com/18713847/185081301-a795df6f-6c9c-47ca-b6dc-29e7df49f4aa.png) +--- ## **一、下载及安装** 1. 访问[TDesign 设计资源库](https://tdesign.tencent.com/source)下载最新版 Axure 元件库 -![image (2)的副本](https://user-images.githubusercontent.com/18713847/185081512-4e533237-2586-421b-b0c6-99590d43d2c8.png) + ![image (2)的副本](https://user-images.githubusercontent.com/18713847/185081512-4e533237-2586-421b-b0c6-99590d43d2c8.png) 2. 打开 Axure,找到【元件库面板】 -![image (3)](https://user-images.githubusercontent.com/18713847/185081770-c6f4aa1d-be20-425a-b804-ec488820f3ab.png) + ![image (3)](https://user-images.githubusercontent.com/18713847/185081770-c6f4aa1d-be20-425a-b804-ec488820f3ab.png) 3. 单击元件库面板右上角【选项】按钮,在下拉菜单中点击【载入元件库】按钮 -![image (4)](https://user-images.githubusercontent.com/18713847/185081881-e4d590c9-e7b4-44cc-9aa2-4ca0d32f6119.png) + ![image (4)](https://user-images.githubusercontent.com/18713847/185081881-e4d590c9-e7b4-44cc-9aa2-4ca0d32f6119.png) 4. 选择【TDesign_Axure_Library_Web_1.1.0.rplib】 -![image (5)](https://user-images.githubusercontent.com/18713847/185081963-96eec0d0-e658-4644-a102-b6fd8bbad228.png) + ![image (5)](https://user-images.githubusercontent.com/18713847/185081963-96eec0d0-e658-4644-a102-b6fd8bbad228.png) 5. 稍等片刻,导入完成后就可以在元件库面板看到已装载的 TDesign 元件库了 -![image (7)](https://user-images.githubusercontent.com/18713847/185082174-c174ef19-9e60-42e7-9fd8-4542843a9b19.png) - - + ![image (7)](https://user-images.githubusercontent.com/18713847/185082174-c174ef19-9e60-42e7-9fd8-4542843a9b19.png) ## **二、使用元件库** 1. 在元件库中找到需要的元件,你也可以通过搜索元件名称找到需要的元件 2. 将元件拖动到画布 -![image (6)](https://user-images.githubusercontent.com/18713847/185082382-c638e0ab-401d-44f1-9bf3-8bb2bc10bb03.png) + ![image (6)](https://user-images.githubusercontent.com/18713847/185082382-c638e0ab-401d-44f1-9bf3-8bb2bc10bb03.png) 3. 解除编组(shift+command+g),删除不需要的元件,修改现有元件内容(注:按钮、列表等做了自适应设计,可以根据文本宽度自动扩充宽度) -![image (8)](https://user-images.githubusercontent.com/18713847/185082523-fa4f182b-94a9-478d-a4d9-213f02a0e4c6.png) + ![image (8)](https://user-images.githubusercontent.com/18713847/185082523-fa4f182b-94a9-478d-a4d9-213f02a0e4c6.png) 4. 完成设计后,点击右上角【预览】按钮即可在浏览中查看(注:按钮等元素已内置 hover、点击等状态) -![image (9)](https://user-images.githubusercontent.com/18713847/185082653-e3e126a7-7c2d-4e97-b34e-12e30455b86c.png) + ![image (9)](https://user-images.githubusercontent.com/18713847/185082653-e3e126a7-7c2d-4e97-b34e-12e30455b86c.png) diff --git a/docs/design/offices-task_zh-CN.md b/docs/design/offices-task_zh-CN.md index afca6122a..a12a413ff 100644 --- a/docs/design/offices-task_zh-CN.md +++ b/docs/design/offices-task_zh-CN.md @@ -1,225 +1,225 @@ ---- -title: 中后台高频任务设计方法 -description: 明确整体框架和页面布局后,根据业务场景,对相关任务流程进行设计。 -isDesign: true ---- - -中后台产品虽服务不同业务,但存在非常同质化的高频任务,掌握这些任务的设计方法,可有效提高中后台的交互体验。 - -## 数据筛选与查询 - -按所需条件或类型选择需要的数据项、或查询数据结果的任务。常应用于「[仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) 」「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base)」。 - -### A 查询后生效 - -何时使用:当用户对数据查询范围有明确针对性,需要对数据进行一系列筛选过滤的使用场景时,可使用查询器进行一次性提交生效。 - -核心流程:选择条件 - 触发查询 - 获得结果数据 - 清空条件 - -相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 - - - -### B 立即生效 - -何时使用:当数据查询范围较为随机,用户需要反复、多次修改条件时,可实时显示筛选结果,来提高查询效率。 - -核心流程:条件选择 - 获得结果数据 -条件修改 - 获得结果数据 - -相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 - - - -### 其他场景:折叠条件 - -何时使用:当筛选项过多,全部显示会增加用户信息识别效率,可只显示高频选项,其他选项折叠,需要时自定义展开。 - -核心流程:展开条件 - 条件选择 - 获得结果数据 - -相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 - - - 图示:隐藏固定选项的条件 - - - 图示:隐藏固定选项的条件 - -### 其他场景:条件模版保存与调用 - -何时使用:当用户的筛选需求个性化较强,需要根据自身需要使用筛选项时,提供可自定义保存的筛选器。 - -核心流程:条件选择 - 保存为模版 -模版调用 - -相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 - - - -
- -## 表格批量操作 - -对报表中的多项数据进行统一操作的任务。常应用于「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base)」。 - -### A 所见即所得 - -何时使用:当批量操作按钮为主要或高频操作时,无论是否已选择数据,均在页面给用户见即所得的操作预期。 - -核心流程:选择要操作的内容 - 进行操作 - 显示操作结果 - -相关组件:[表格](/vue/components/table)、[按钮](/vue/components/button)、[多选框](/vue/components/checkbox)、[下拉菜单](/vue/components/dropdown)、[全局提示](/vue/components/message) 等 - - - -### B 选择后触发 - -何时使用:当页面已有主要按钮,批量操作为次级或非高频操作时,可在选择数据后显示操作区。 - -核心流程:选择要操作的内容 - 进行操作 - 显示操作结果 - -相关组件:[下拉框](/vue/components/dropdown) 、[多选框](/vue/components/checkbox) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 - - - -
- -## 效果预览 - -当编辑或改变的数据未最终生效时,提前用户了解编辑或改变的数据效果的任务。常用于「[仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) 」「 [结果页](https://tdesign.tencent.com/starter/vue/#/result/success) 」「 [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」 。 - -### A 异步触发 - -何时使用:当需要配置或调整的元素较多、或实时刷新效果有延迟,需要集中预览效果时。常在页面整体出现预览。 - -核心流程:填写表单/或配置项-点击预览-进行预览 - -相关组件:[表单](/vue/components/form)、[按钮](/vue/components/button)、[输入框](/vue/components/input)、[上传](/vue/components/upload)、[下拉菜单](/vue/components/dropdown)、[单选框](/vue/components/radio)、[多选框](/vue/components/checkbox)、[选择器](/vue/components/select) 等 - - - -### B 同步预览 - -何时使用:在配置设置项或信息元素过程中,需要实时关注最终效果、或观察配置项变化时。常用在页面局部出现预览。 - -核心流程:填写表单/设置项-进行预览 - -相关组件:[表单](/vue/components/form)、[按钮](/vue/components/button)、[输入框](/vue/components/input)、[上传](/vue/components/upload)、[下拉菜单](/vue/components/dropdown)、[单选框](/vue/components/radio)、[多选框](/vue/components/checkbox)、[选择器](/vue/components/select) 等 - - - -
- -## 新手指引 - -为新用户提供功能介绍或使用说明等信息的指引性任务。是在任意页面都会经常出现的基础任务。 - -### A 阻断式指引 - -何时使用:当需要用户必读、或在指引过程中不建议用户做其他操作时,让用户聚焦关注指引内容。 - -核心流程:触发引导 - 逐步查看引导 - 结束引导 - -相关组件:[对话框](/vue/components/dialog) - - - -### B 非阻断式引导 - -何时使用:当指引内容为辅助说明、或需要在操作界面的同时查看指引时,让用户可选择的使用指引。 - -核心流程:触发引导 - 逐步查看引导 或 忽视引导继续操作界面 - 结束引导 - -相关组件:[气泡确认框](/vue/components/popconfirm)、[弹出层](/vue/components/popup)、[文字提示](/vue/components/tooltip) - - - -### 其他场景:主动触发引导 - -何时使用:当指引内容较多、或用户需要反复查看时,可提供用户可主动触发的入口。 - -核心流程:触发引导 - 选择任务 - 进入引导 - 逐步查看引导 - 结束引导 - -相关组件:[气泡确认框](/vue/components/popconfirm)、[弹出层](/vue/components/popup)、[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog) 等 - - - -
- -## 数据导入 - -将本地数据导入到中后台系统中的任务。常应用于[列表页](https://tdesign.tencent.com/starter/vue/#/list/base) 。 - -### A 逐个文件导入 - -何时使用:当需要轻量快速导入数据并显示结果、或待导入的数据格式较集中时,可逐个快速导入。 - -核心流程:触发导入 - 选择要导入的一个文件 - 开始导入 - 收到导入结果 - -相关组件:[按钮](/vue/components/button)、[上传](/vue/components/upload)、[全局提示](/vue/components/message)、[表格](/vue/components/table)、[列表](/vue/components/list)、[文字提示](/vue/components/tooltip) 等 - - - -### B 批量文件导入 - -何时使用:当待导入的数据较复杂、或数据文件有多个,可批量上传后,再导入需要的数据。 - -核心流程:触发导入 - 选择上传文件的方式 - 批量上传文件 - 确认批量文件的上传结果 - 导入文件 - -相关组件:[按钮](/vue/components/button)、[上传](/vue/components/upload)、[全局提示](/vue/components/message)、[表格](/vue/components/table)、[列表](/vue/components/list)、[对话框](/vue/components/dialog) 等 - - - -
- -## 状态流转 - -在使用某条数据项的过程中,对该项数据的状态进行调整或变化的任务。常应用于「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base) 」「 [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」「[结果页](https://tdesign.tencent.com/starter/vue/#/result/success) 」。 - -### A 通过详情进行状态流转 - -何时使用:当单条信息内容较多或较复杂时,需要用户查看信息详情、明确详情内容内容后,再进行状态流转决策。 - -核心流程:在列表中选定数据项 - 查看数据详情 - 选择要流转的状态 - 确定流转 - 显示流转结果 - -相关组件:[步骤条](/vue/components/steps)、[表格](/vue/components/table)、[表单](/vue/components/form)、[下拉菜单](/vue/components/dropdown)、[按钮](/vue/components/button) 等 - - - -### B 通过列表摘要进行状态流转 - -何时使用:当单条信息内容较少,在标题或摘要中即可了解,或无需校验详情内容即可进行状态流转决策时。 - -核心流程:在列表中选定数据项 - 选择要流转的状态 - 显示流转结果 - -相关组件:[列表](/vue/components/list)、[表格](/vue/components/table)、[下拉菜单](/vue/components/dropdown)、[按钮](/vue/components/button) 等 - - - -
- -## 任务引导 - -当用户需要完成某个任务或使用某项功能时,为用户提供必要的指导或说明的任务。常应用于「[详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」「[结果页](https://tdesign.tencent.com/starter/vue/#/result/success)」。 - -### A 任务开始前的引导 - -何时使用:当任务较复杂、或任务执行前需做必要准备时,给用户相关引导或提示。 - -核心流程:查看引导内容 - 按引导执行任务 - -相关组件:[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog)、[步骤条](/vue/components/steps)、[卡片](/vue/components/card)、[按钮](/vue/components/button) 等 - - - -### B 任务结束后的引导 - -何时使用:当任务结束后,其结果与另一任务相关、或任务完成后的数据会触发其他操作时,给用户后续操作的引导或提示。 - -核心流程:执行任务 - 查看任务结果引导 - 选择是否根据引导执行下一任务 - -相关组件:[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog)、[步骤条](/vue/components/steps)、[卡片](/vue/components/card)、[按钮](/vue/components/button) 等 - - - -
- - +--- +title: 中后台高频任务设计方法 +description: 明确整体框架和页面布局后,根据业务场景,对相关任务流程进行设计。 +isDesign: true +--- + +中后台产品虽服务不同业务,但存在非常同质化的高频任务,掌握这些任务的设计方法,可有效提高中后台的交互体验。 + +## 数据筛选与查询 + +按所需条件或类型选择需要的数据项、或查询数据结果的任务。常应用于「[仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) 」「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base)」。 + +### A 查询后生效 + +何时使用:当用户对数据查询范围有明确针对性,需要对数据进行一系列筛选过滤的使用场景时,可使用查询器进行一次性提交生效。 + +核心流程:选择条件 - 触发查询 - 获得结果数据 - 清空条件 + +相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 + + + +### B 立即生效 + +何时使用:当数据查询范围较为随机,用户需要反复、多次修改条件时,可实时显示筛选结果,来提高查询效率。 + +核心流程:条件选择 - 获得结果数据 -条件修改 - 获得结果数据 + +相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 + + + +### 其他场景:折叠条件 + +何时使用:当筛选项过多,全部显示会增加用户信息识别效率,可只显示高频选项,其他选项折叠,需要时自定义展开。 + +核心流程:展开条件 - 条件选择 - 获得结果数据 + +相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 + + + 图示:隐藏固定选项的条件 + + + 图示:隐藏固定选项的条件 + +### 其他场景:条件模版保存与调用 + +何时使用:当用户的筛选需求个性化较强,需要根据自身需要使用筛选项时,提供可自定义保存的筛选器。 + +核心流程:条件选择 - 保存为模版 -模版调用 + +相关组件:[时间选择器](/vue/components/timepicker) 、[日期选择器](/vue/components/datepicker) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 + + + +
+ +## 表格批量操作 + +对报表中的多项数据进行统一操作的任务。常应用于「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base)」。 + +### A 所见即所得 + +何时使用:当批量操作按钮为主要或高频操作时,无论是否已选择数据,均在页面给用户见即所得的操作预期。 + +核心流程:选择要操作的内容 - 进行操作 - 显示操作结果 + +相关组件:[表格](/vue/components/table)、[按钮](/vue/components/button)、[多选框](/vue/components/checkbox)、[下拉菜单](/vue/components/dropdown)、[全局提示](/vue/components/message) 等 + + + +### B 选择后触发 + +何时使用:当页面已有主要按钮,批量操作为次级或非高频操作时,可在选择数据后显示操作区。 + +核心流程:选择要操作的内容 - 进行操作 - 显示操作结果 + +相关组件:[下拉框](/vue/components/dropdown) 、[多选框](/vue/components/checkbox) 、[输入框](/vue/components/input) 、[选择器](/vue/components/select) 、[按钮](/vue/components/button) 、[表格](/vue/components/table) 等 + + + +
+ +## 效果预览 + +当编辑或改变的数据未最终生效时,提前用户了解编辑或改变的数据效果的任务。常用于「[仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) 」「 [结果页](https://tdesign.tencent.com/starter/vue/#/result/success) 」「 [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」 。 + +### A 异步触发 + +何时使用:当需要配置或调整的元素较多、或实时刷新效果有延迟,需要集中预览效果时。常在页面整体出现预览。 + +核心流程:填写表单/或配置项-点击预览-进行预览 + +相关组件:[表单](/vue/components/form)、[按钮](/vue/components/button)、[输入框](/vue/components/input)、[上传](/vue/components/upload)、[下拉菜单](/vue/components/dropdown)、[单选框](/vue/components/radio)、[多选框](/vue/components/checkbox)、[选择器](/vue/components/select) 等 + + + +### B 同步预览 + +何时使用:在配置设置项或信息元素过程中,需要实时关注最终效果、或观察配置项变化时。常用在页面局部出现预览。 + +核心流程:填写表单/设置项-进行预览 + +相关组件:[表单](/vue/components/form)、[按钮](/vue/components/button)、[输入框](/vue/components/input)、[上传](/vue/components/upload)、[下拉菜单](/vue/components/dropdown)、[单选框](/vue/components/radio)、[多选框](/vue/components/checkbox)、[选择器](/vue/components/select) 等 + + + +
+ +## 新手指引 + +为新用户提供功能介绍或使用说明等信息的指引性任务。是在任意页面都会经常出现的基础任务。 + +### A 阻断式指引 + +何时使用:当需要用户必读、或在指引过程中不建议用户做其他操作时,让用户聚焦关注指引内容。 + +核心流程:触发引导 - 逐步查看引导 - 结束引导 + +相关组件:[对话框](/vue/components/dialog) + + + +### B 非阻断式引导 + +何时使用:当指引内容为辅助说明、或需要在操作界面的同时查看指引时,让用户可选择的使用指引。 + +核心流程:触发引导 - 逐步查看引导 或 忽视引导继续操作界面 - 结束引导 + +相关组件:[气泡确认框](/vue/components/popconfirm)、[弹出层](/vue/components/popup)、[文字提示](/vue/components/tooltip) + + + +### 其他场景:主动触发引导 + +何时使用:当指引内容较多、或用户需要反复查看时,可提供用户可主动触发的入口。 + +核心流程:触发引导 - 选择任务 - 进入引导 - 逐步查看引导 - 结束引导 + +相关组件:[气泡确认框](/vue/components/popconfirm)、[弹出层](/vue/components/popup)、[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog) 等 + + + +
+ +## 数据导入 + +将本地数据导入到中后台系统中的任务。常应用于[列表页](https://tdesign.tencent.com/starter/vue/#/list/base) 。 + +### A 逐个文件导入 + +何时使用:当需要轻量快速导入数据并显示结果、或待导入的数据格式较集中时,可逐个快速导入。 + +核心流程:触发导入 - 选择要导入的一个文件 - 开始导入 - 收到导入结果 + +相关组件:[按钮](/vue/components/button)、[上传](/vue/components/upload)、[全局提示](/vue/components/message)、[表格](/vue/components/table)、[列表](/vue/components/list)、[文字提示](/vue/components/tooltip) 等 + + + +### B 批量文件导入 + +何时使用:当待导入的数据较复杂、或数据文件有多个,可批量上传后,再导入需要的数据。 + +核心流程:触发导入 - 选择上传文件的方式 - 批量上传文件 - 确认批量文件的上传结果 - 导入文件 + +相关组件:[按钮](/vue/components/button)、[上传](/vue/components/upload)、[全局提示](/vue/components/message)、[表格](/vue/components/table)、[列表](/vue/components/list)、[对话框](/vue/components/dialog) 等 + + + +
+ +## 状态流转 + +在使用某条数据项的过程中,对该项数据的状态进行调整或变化的任务。常应用于「[列表页](https://tdesign.tencent.com/starter/vue/#/list/base) 」「 [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」「[结果页](https://tdesign.tencent.com/starter/vue/#/result/success) 」。 + +### A 通过详情进行状态流转 + +何时使用:当单条信息内容较多或较复杂时,需要用户查看信息详情、明确详情内容内容后,再进行状态流转决策。 + +核心流程:在列表中选定数据项 - 查看数据详情 - 选择要流转的状态 - 确定流转 - 显示流转结果 + +相关组件:[步骤条](/vue/components/steps)、[表格](/vue/components/table)、[表单](/vue/components/form)、[下拉菜单](/vue/components/dropdown)、[按钮](/vue/components/button) 等 + + + +### B 通过列表摘要进行状态流转 + +何时使用:当单条信息内容较少,在标题或摘要中即可了解,或无需校验详情内容即可进行状态流转决策时。 + +核心流程:在列表中选定数据项 - 选择要流转的状态 - 显示流转结果 + +相关组件:[列表](/vue/components/list)、[表格](/vue/components/table)、[下拉菜单](/vue/components/dropdown)、[按钮](/vue/components/button) 等 + + + +
+ +## 任务引导 + +当用户需要完成某个任务或使用某项功能时,为用户提供必要的指导或说明的任务。常应用于「[详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) 」「[结果页](https://tdesign.tencent.com/starter/vue/#/result/success)」。 + +### A 任务开始前的引导 + +何时使用:当任务较复杂、或任务执行前需做必要准备时,给用户相关引导或提示。 + +核心流程:查看引导内容 - 按引导执行任务 + +相关组件:[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog)、[步骤条](/vue/components/steps)、[卡片](/vue/components/card)、[按钮](/vue/components/button) 等 + + + +### B 任务结束后的引导 + +何时使用:当任务结束后,其结果与另一任务相关、或任务完成后的数据会触发其他操作时,给用户后续操作的引导或提示。 + +核心流程:执行任务 - 查看任务结果引导 - 选择是否根据引导执行下一任务 + +相关组件:[文字提示](/vue/components/tooltip)、[对话框](/vue/components/dialog)、[步骤条](/vue/components/steps)、[卡片](/vue/components/card)、[按钮](/vue/components/button) 等 + + + +
+ + diff --git a/docs/design/offices_zh-CN.md b/docs/design/offices_zh-CN.md index 9c6c9713e..a716f49d3 100644 --- a/docs/design/offices_zh-CN.md +++ b/docs/design/offices_zh-CN.md @@ -12,76 +12,59 @@ isDesign: true 在 Web 前端设计当中,中台与后台具有同质性,可看作同一类型来思考设计方法。通过 TDesign 提供的组件能力快速搭建好用的中后台系统,通常可以分三步:选择合适的页面框架-设计页面间的任务流程-合理使用组件。 - ## 中后台页面框架的选择 页面框架由「页面导航」与「页面布局」两部分组成。同时,TDesign 提供常见的页面模版,可根据需要直接选择合适的模版。 - ### 页面导航 导航是指:在页面中引导用户找到功能和理解信息层级,可分为整站导航与区域导航两大类。 - -| 导航分类 | 定义 |相关组件 | -| :--------- | :----------------------------------------------------------- | :----------------------------------------------------------- | -| 整站导航 | 对整个网站系统的最大颗粒度模块的引导,也称为全局导航或总导航。| [导航菜单](/vue/components/menu) -| 区域导航 | 对某一模块下的页面,进行引导和分类的导航,也称为情景导航。 | [固钉](/vue/components/affix) 、[锚点](/vue/components/anchor)、[面包屑](/vue/components/breadcrumb)、[下拉菜单](/vue/components/dropdown)、[分页](/vue/components/pagination)、[步骤条](/vue/components/steps)、[选项卡](/vue/components/tabs) - +| 导航分类 | 定义 | 相关组件 | +| :------- | :------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 整站导航 | 对整个网站系统的最大颗粒度模块的引导,也称为全局导航或总导航。 | [导航菜单](/vue/components/menu) | +| 区域导航 | 对某一模块下的页面,进行引导和分类的导航,也称为情景导航。 | [固钉](/vue/components/affix) 、[锚点](/vue/components/anchor)、[面包屑](/vue/components/breadcrumb)、[下拉菜单](/vue/components/dropdown)、[分页](/vue/components/pagination)、[步骤条](/vue/components/steps)、[选项卡](/vue/components/tabs) | - ### 页面布局 页面布局是指:将导航和信息内容在页面中进行合理安排和分布,由「[栅格](/vue/components/grid)」和「[布局](/vue/components/layout)」组成。 - - 不同布局的选择依据,通常为:1 功能模块的数量。2 功能与功能之间的相关性。 TDesign主要提供3种布局方式:上下布局、左右布局、混合布局。 - #### 上下结构的布局 主要特征:导航在上信息内容在下的布局。横向导航空间有限,左右点击效率低。 何时使用:1 功能模块数量较少时(一般小于 9 个)。2 各模块间关联较弱、需要做明确区分或无需频繁切换时。 - #### 左右结构的布局 主要特征:导航在左信息内容在右的布局。纵向空间具有较好延展性,上下点击效率高。 何时使用:1 功能模块数量较多时。2 各模块间有一定相关性、或需要在模块间频繁切换时。 - #### 混合结构的布局 主要特征:将上下、左右相结合的综合布局。横纵空间优势互补,在展示和操作上都具有较好的延展性和包容性。 何时使用:1 功能模块数量较多时。2 各模块间有父子或交叉关系、 需要按层级展示时。 - - - - ## 常见的中后台页面 TDesign提供了中后台系统常见的页面模板,涵盖多种高频任务在页面中的典型布局方式。 -| 典型页面模板 | 相关高频任务 | -| :--------- | :----------------------------------------------------------- | -| [仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[效果预览](/design/offices-task#效果预览)、[新手指引](/design/offices-task#新手指引) | -| [列表页](https://tdesign.tencent.com/starter/vue/#/list/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[表格批量操作](/design/offices-task#表格批量操作)、[数据导入](/design/offices-task#数据导入)、[效果预览](/design/offices-task#效果预览)、[状态流转](/design/offices-task#状态流转)、[任务引导](/design/offices-task#任务引导) 、[新手指引](/design/offices-task#新手指引) | -| [表单页](https://tdesign.tencent.com/starter/vue/#/form/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[任务引导](/design/offices-task#任务引导)、[效果预览](/design/offices-task#效果预览)、[新手指引](/design/offices-task#新手指引) | -| [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[状态流转](/design/offices-task#状态流转)、[数据导入](/design/offices-task#数据导入)、[效果预览](/design/offices-task#效果预览) | -| [结果页](https://tdesign.tencent.com/starter/vue/#/result/success) | [状态流转](/design/offices-task#状态流转)、[新手指引](/design/offices-task#新手指引)、[任务引导](/design/offices-task#任务引导) | -| [个人页](https://tdesign.tencent.com/starter/vue/#/user/index) | [新手指引](/design/offices-task#新手指引)、[效果预览](/design/offices-task#效果预览) | -| [登录页](https://tdesign.tencent.com/starter/vue/#/login) | [新手指引](/design/offices-task#新手指引)、[任务引导](/design/offices-task#任务引导) | - - - +| 典型页面模板 | 相关高频任务 | +| :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [仪表盘](https://tdesign.tencent.com/starter/vue/#/dashboard/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[效果预览](/design/offices-task#效果预览)、[新手指引](/design/offices-task#新手指引) | +| [列表页](https://tdesign.tencent.com/starter/vue/#/list/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[表格批量操作](/design/offices-task#表格批量操作)、[数据导入](/design/offices-task#数据导入)、[效果预览](/design/offices-task#效果预览)、[状态流转](/design/offices-task#状态流转)、[任务引导](/design/offices-task#任务引导) 、[新手指引](/design/offices-task#新手指引) | +| [表单页](https://tdesign.tencent.com/starter/vue/#/form/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[任务引导](/design/offices-task#任务引导)、[效果预览](/design/offices-task#效果预览)、[新手指引](/design/offices-task#新手指引) | +| [详情页](https://tdesign.tencent.com/starter/vue/#/detail/base) | [数据筛选与查询](/design/offices-task#数据筛选与查询)、[状态流转](/design/offices-task#状态流转)、[数据导入](/design/offices-task#数据导入)、[效果预览](/design/offices-task#效果预览) | +| [结果页](https://tdesign.tencent.com/starter/vue/#/result/success) | [状态流转](/design/offices-task#状态流转)、[新手指引](/design/offices-task#新手指引)、[任务引导](/design/offices-task#任务引导) | +| [个人页](https://tdesign.tencent.com/starter/vue/#/user/index) | [新手指引](/design/offices-task#新手指引)、[效果预览](/design/offices-task#效果预览) | +| [登录页](https://tdesign.tencent.com/starter/vue/#/login) | [新手指引](/design/offices-task#新手指引)、[任务引导](/design/offices-task#任务引导) | diff --git a/docs/faq_zh-CN.md b/docs/faq_zh-CN.md index 9eba8784b..28801b50a 100644 --- a/docs/faq_zh-CN.md +++ b/docs/faq_zh-CN.md @@ -18,4 +18,5 @@ title: 常见问题 - 非受控用法:既初始值用法,不传入 value 属性,使用对应的初始值属性 defaultValue 设置组件初始状态,此时组件会在内部维护该状态,用户通过交互触发更新事件 onChange 之后,组件内部直接更新组件状态。 ### 如何在设计工具 Sketch 中使用 TDesign -有两种方式,一是可以使用 TDesign 提供的 Sketch 源文件,它包括桌面端及移动端(近期上线),也可以使用 TDesign 提供的 Sketch 插件,具体使用方式请参考 [《插件使用手册》](https://doc.weixin.qq.com/doc/w3_m_OkshgETGpoGB?scode=AJEAIQdfAAoYvGqGCUAL8AZgbdAFw)。 \ No newline at end of file + +有两种方式,一是可以使用 TDesign 提供的 Sketch 源文件,它包括桌面端及移动端(近期上线),也可以使用 TDesign 提供的 Sketch 插件,具体使用方式请参考 [《插件使用手册》](https://doc.weixin.qq.com/doc/w3_m_OkshgETGpoGB?scode=AJEAIQdfAAoYvGqGCUAL8AZgbdAFw)。 diff --git a/docs/introduce.md b/docs/introduce.md index 10e957039..1ba5f2e57 100644 --- a/docs/introduce.md +++ b/docs/introduce.md @@ -44,7 +44,7 @@ TDesign currently supports [multiple platforms and mainstream front-end UI frame | [tdesign-mobile-vue](https://github.com/Tencent/tdesign-mobile-vue) | Vue3.x Mobile UI components lib for TDesign | `1.0 LTS` | | [tdesign-mobile-react](https://github.com/Tencent/tdesign-mobile-react) | React Mobile UI components lib for TDesign | `Alpha` | | [tdesign-flutter](https://github.com/Tencent/tdesign-flutter) | Flutter UI components lib for TDesign | `Alpha` | -| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | Uniapp UI components lib for TDesign | `Alpha` | +| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | Uniapp UI components lib for TDesign | `Alpha` | ### Repositories for Common diff --git a/docs/tech.md b/docs/tech.md index a58c431c8..446da5798 100644 --- a/docs/tech.md +++ b/docs/tech.md @@ -37,7 +37,7 @@ UI development is shared among multiple implementation frameworks such as React, ```js // button.tsx -import "./button.less"; +import './button.less'; ``` ## Guidelines diff --git a/docs/tech_zh-CN.md b/docs/tech_zh-CN.md index 378a9ccae..f32ce467d 100644 --- a/docs/tech_zh-CN.md +++ b/docs/tech_zh-CN.md @@ -3,6 +3,7 @@ title: 整体方案 --- 请参考 [《TDesign 组件库技术方案指北》](https://mp.weixin.qq.com/s?__biz=Mzg3MjYwODA1OA==&mid=2247515208&idx=1&sn=166d4a5313cadbb80d2a401edf46b455) + ## 仓库结构说明 每个仓库对应一个组件库技术栈实现,包含各自技术栈实现代码和一个 [tdesign-common](https://github.com/Tencent/tdesign-common) 子仓库,子仓库作为公共库包含: @@ -41,7 +42,7 @@ UI 开发(HTML & CSS)是由 React/Vue 等多个实现框架共用的。各 // button.tsx // 先引入临时的样式文件用于开发功能,待 UI 开发完成之后需要与 UI 样式对齐并删除 less 文件 -import "./button.less"; +import './button.less'; ``` ## 规范 @@ -83,13 +84,13 @@ feat 与 fix 提交将被用于生成 changelog ## 技术选型 -| 类目 | 方案 | 参考链接 | -| ------------ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 开发语言 | ts | [http://www.typescriptlang.org/](http://www.typescriptlang.org/) | -| 样式语言 | less | [http://lesscss.org/](http://lesscss.org/) | +| 类目 | 方案 | 参考链接 | +| ------------ | ------------------------------------------ | ---------------------------------------------------------------------------------------------------- | +| 开发语言 | ts | [http://www.typescriptlang.org/](http://www.typescriptlang.org/) | +| 样式语言 | less | [http://lesscss.org/](http://lesscss.org/) | | 构建工具 | vite 组件库本地开发
rollup 组件库打包 | [https://vitejs.dev/](https://vitejs.dev/)
[https://www.rollupjs.com/](https://www.rollupjs.com/) | -| 测试工具 | jest
cypress e2e 测试 | [https://jestjs.io/](https://jestjs.io/)
[https://www.cypress.io/](https://www.cypress.io/) | -| web-vue | vue@2.x | [https://github.com/vuejs/vue](https://github.com/vuejs/vue) | -| web-vue-next | vue@3.x | [https://github.com/vuejs/vue-next](https://github.com/vuejs/vue-next) | -| mobile-vue | vue@3.x | [https://github.com/vuejs/vue-next](https://github.com/vuejs/vue-next) | -| react | react@16.x | [https://github.com/facebook/react](https://github.com/facebook/react) | +| 测试工具 | jest
cypress e2e 测试 | [https://jestjs.io/](https://jestjs.io/)
[https://www.cypress.io/](https://www.cypress.io/) | +| web-vue | vue@2.x | [https://github.com/vuejs/vue](https://github.com/vuejs/vue) | +| web-vue-next | vue@3.x | [https://github.com/vuejs/vue-next](https://github.com/vuejs/vue-next) | +| mobile-vue | vue@3.x | [https://github.com/vuejs/vue-next](https://github.com/vuejs/vue-next) | +| react | react@16.x | [https://github.com/facebook/react](https://github.com/facebook/react) | diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..d3b79818a --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,136 @@ +import js from '@eslint/js'; +import prettierRecommended from 'eslint-plugin-prettier/recommended'; +import pluginVue from 'eslint-plugin-vue'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: [ + '**/node_modules/**', + '.pnpm-store/**', + '**/dist/**', + '**/lib/**', + '**/_data/**', + '**/_site/**', + '**/results/**', + '**/static_site/**', + '**/coverage/**', + // site + 'site/snapshot*', + 'site/common/**', + 'site/cypress/**', + 'site/script/test/cypress/**', + 'site/temp*', + 'site/tdesign/**', + 'site/plugins/tdoc/**', + 'site/public/**', + 'site/spline/**', + 'site/src/pages/design/assets/motion/**', + ], + }, + + js.configs.recommended, + ...tseslint.configs.recommended, + ...pluginVue.configs['flat/recommended'], + prettierRecommended, + + { + languageOptions: { + globals: { + ...globals.node, + ...globals.browser, + }, + }, + rules: { + 'no-console': ['warn', { allow: ['warn', 'error'] }], + }, + }, + + { + files: ['**/*.{ts,tsx,mts,cts}'], + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], + }, + }, + + { + files: ['**/*.vue'], + languageOptions: { + parserOptions: { + parser: tseslint.parser, + }, + globals: { + ...globals.browser, + }, + }, + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], + 'vue/multi-word-component-names': 'off', + 'vue/no-deprecated-slot-attribute': 'off', + 'vue/require-default-prop': 'off', + }, + }, + + { + files: ['**/*.d.ts'], + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'off', + }, + }, + + { + files: ['services/**/*.js', '**/*.cjs', 'site/postcss.config.js'], + rules: { + '@typescript-eslint/no-require-imports': 'off', + 'no-console': 'off', + }, + }, + + { + files: [ + 'packages/auto-release-collection/**', + 'packages/site-components/script/**', + 'packages/site-components/vite.config.ts', + ], + rules: { + 'no-console': 'off', + }, + }, + + { + files: ['site/src/pages/home/banner.vue'], + rules: { + 'no-console': ['warn', { allow: ['warn', 'error', 'time', 'timeEnd', 'log'] }], + }, + }, + + { + files: ['site/src/**'], + languageOptions: { + globals: { + aegis: 'readonly', + NProgress: 'readonly', + }, + }, + }, + + { + // 这些文件仅渲染受信任的内容:本地导入的 SVG 常量、i18n 文案、站点配置或服务端渲染的文档正文 + files: [ + 'packages/theme-generator/src/**/*.vue', + 'site/src/components/design-source.vue', + 'site/src/pages/about/release.vue', + 'site/src/pages/design/motion.vue', + ], + rules: { + 'vue/no-v-html': 'off', + }, + }, +); diff --git a/package.json b/package.json index ab33d04b6..edf260e24 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,9 @@ "site:preview": "pnpm run build:components && pnpm run --filter tdesign-site site:preview", "auto-release-collection": "pnpm run --filter auto-release-collection start", "test": "pnpm -r run --if-present test", - "lint": "pnpm -r run --if-present lint", - "lint:fix": "pnpm -r run --if-present lint:fix", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "prettier --write .", "build": "pnpm -r run --if-present build", "prepare": "husky install" }, @@ -24,18 +25,22 @@ "devDependencies": { "@commitlint/cli": "^8.2.0", "@commitlint/config-conventional": "^8.2.0", + "@eslint/js": "^10.0.1", "cz-conventional-changelog": "^3.0.2", - "eslint": "^7.32.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-html": "^7.1.0", - "eslint-plugin-prettier": "^4.2.1", + "eslint": "^10.12.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.6", + "eslint-plugin-vue": "^10.11.1", + "globals": "^17.13.0", "husky": "^8.0.0", "lint-staged": "^16.3.4", - "prettier": "^2.8.8", + "prettier": "^3.9.9", "rimraf": "^3.0.2", "stylelint": "^15.10.3", "stylelint-config-standard": "^34.0.0", - "stylelint-config-standard-less": "^2.0.0" + "stylelint-config-standard-less": "^2.0.0", + "typescript-eslint": "^8.71.1", + "vue-eslint-parser": "^10.3.0" }, "engines": { "pnpm": ">=9.0.0" @@ -47,7 +52,7 @@ }, "lint-staged": { "**/*.{vue,js,ts,tsx}": [ - "eslint --fix", + "eslint --fix --no-warn-ignored", "prettier --write" ], "**/*.html": [ diff --git a/packages/auto-release-collection/.eslintrc.js b/packages/auto-release-collection/.eslintrc.js deleted file mode 100644 index 8f7f17b5d..000000000 --- a/packages/auto-release-collection/.eslintrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - root: true, - extends: ['plugin:@typescript-eslint/recommended'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - ignorePatterns: ['dist', 'node_modules'], - rules: {}, -}; diff --git a/packages/auto-release-collection/package.json b/packages/auto-release-collection/package.json index 2e1dcae29..ec89cafff 100644 --- a/packages/auto-release-collection/package.json +++ b/packages/auto-release-collection/package.json @@ -7,7 +7,6 @@ "prebuild": "rimraf dist/*", "dev": "tsx watch src/index.ts", "start": "tsx src/index.ts", - "lint": "eslint --ext .ts src", "build": "tsc" }, "keywords": [], @@ -17,8 +16,6 @@ "@actions/github": "^6.0.0" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.6.0", - "@typescript-eslint/parser": "^5.6.0", "nodemon": "^3.1.7", "tsx": "^4.19.3", "typescript": "^5.9.3" diff --git a/packages/auto-release-collection/src/utils.ts b/packages/auto-release-collection/src/utils.ts index 9070533de..edb0bfef6 100644 --- a/packages/auto-release-collection/src/utils.ts +++ b/packages/auto-release-collection/src/utils.ts @@ -43,8 +43,8 @@ export function getReleaseData() { * 22号:生成这个月的15号 - 21号的版本 */ - let START_DATE = ''; - let END_DATE = ''; + let START_DATE: string; + let END_DATE: string; const today = new Date(); diff --git a/packages/site-components/.eslintrc.js b/packages/site-components/.eslintrc.js deleted file mode 100644 index c7e580faa..000000000 --- a/packages/site-components/.eslintrc.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - extends: ['./../../.eslintrc.js'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - parserOptions: { - ecmaVersion: 2020, - sourceType: 'module', - }, - rules: { - 'no-undef': 'off', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], - }, -}; diff --git a/packages/site-components/README.md b/packages/site-components/README.md index 7d486cfe6..4b2ec790a 100755 --- a/packages/site-components/README.md +++ b/packages/site-components/README.md @@ -20,8 +20,8 @@ npm build ```javascript // import @tdesign/site-components es module and style -import "@tdesign/site-components"; -import "@tdesign/site-components/lib/styles/style.css"; +import '@tdesign/site-components'; +import '@tdesign/site-components/lib/styles/style.css'; // splice webcomponents into pages diff --git a/packages/site-components/index.html b/packages/site-components/index.html index c7ea23251..9abced3e4 100755 --- a/packages/site-components/index.html +++ b/packages/site-components/index.html @@ -1,4 +1,4 @@ - + diff --git a/packages/site-components/package.json b/packages/site-components/package.json index 10432dac5..8d9defa8a 100755 --- a/packages/site-components/package.json +++ b/packages/site-components/package.json @@ -8,7 +8,6 @@ "watch": "vite build --watch", "build": "vite build --debug", "typecheck": "tsc --noEmit", - "lint": "eslint src config script --ext .ts", "test": "vitest run --coverage", "test:watch": "vitest" }, @@ -35,8 +34,6 @@ "@types/nprogress": "^0.2.3", "@types/prismjs": "^1.26.5", "@types/qrcode": "^1.5.5", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", "@vitest/coverage-v8": "^5.0.3", "fs-extra": "^10.0.0", "happy-dom": "^15.11.7", diff --git a/packages/site-components/src/components/td-ai-button/style.less b/packages/site-components/src/components/td-ai-button/style.less index ac53f6e7a..015ec8e97 100644 --- a/packages/site-components/src/components/td-ai-button/style.less +++ b/packages/site-components/src/components/td-ai-button/style.less @@ -2,8 +2,10 @@ .TDesign-ai-button { border-radius: 6px; border: none; - box-shadow: 0 2px 4px -1px rgba(0, 255, 240, .12), 0 4px 5px 0 rgba(0, 71, 255, .08), - 0 1px 10px 0 rgba(0, 102, 255, .05); + box-shadow: + 0 2px 4px -1px rgba(0, 255, 240, 0.12), + 0 4px 5px 0 rgba(0, 71, 255, 0.08), + 0 1px 10px 0 rgba(0, 102, 255, 0.05); cursor: pointer; background: conic-gradient(#00c3ff, #4ceb1b, #0062ff, #a07cf3, #00c3ff); height: 32px; diff --git a/packages/site-components/src/components/td-ai-button/utils.ts b/packages/site-components/src/components/td-ai-button/utils.ts index 5bfc3cd75..2107ef7fd 100644 --- a/packages/site-components/src/components/td-ai-button/utils.ts +++ b/packages/site-components/src/components/td-ai-button/utils.ts @@ -144,12 +144,11 @@ const createTooltips = (framework: string, generateDemo: boolean, selectedText: tooltip.addEventListener('mousedown', () => { unmountTooltips(); - let prompt = ''; - if (generateDemo) { - prompt = generatePrompt(framework, component, selectedText); - } else { - prompt = component ? `请为我解释${component}的${selectedText}的定义` : `请为我解释${selectedText}的定义`; - } + const prompt = generateDemo + ? generatePrompt(framework, component, selectedText) + : component + ? `请为我解释${component}的${selectedText}的定义` + : `请为我解释${selectedText}的定义`; sendMessage(prompt); }); return tooltip; diff --git a/packages/site-components/src/components/td-backtop/style.less b/packages/site-components/src/components/td-backtop/style.less index bf9de799e..4ae7a64cb 100755 --- a/packages/site-components/src/components/td-backtop/style.less +++ b/packages/site-components/src/components/td-backtop/style.less @@ -16,16 +16,16 @@ background-color: var(--component-border); cursor: pointer; - transition: all .2s ease; + transition: all 0.2s ease; opacity: 0; visibility: hidden; color: var(--text-secondary); - + &.show { opacity: 1; visibility: visible; } - + &:hover { color: var(--text-primary); .TDesign-backtop__inner { @@ -42,7 +42,7 @@ align-items: center; background-color: var(--bg-color-container-transparent); box-sizing: border-box; - transition: all .2s ease; + transition: all 0.2s ease; svg { width: 20px; @@ -51,4 +51,3 @@ } } } - diff --git a/packages/site-components/src/components/td-code-block/style.less b/packages/site-components/src/components/td-code-block/style.less index 7a4377a80..625e6c08a 100755 --- a/packages/site-components/src/components/td-code-block/style.less +++ b/packages/site-components/src/components/td-code-block/style.less @@ -1,12 +1,17 @@ -@import "../../styles/prism-theme.less"; -@import "../../styles/prism-theme-dark.less"; +@import '../../styles/prism-theme.less'; +@import '../../styles/prism-theme-dark.less'; :host { display: block; } .TDesign-code-block { - font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; border-radius: 6px; border: 1px solid var(--component-border); position: relative; @@ -76,12 +81,11 @@ color: var(--text-primary); &:hover { - &::-webkit-scrollbar-thumb { background-color: var(--bg-color-scroll); } } - + &::-webkit-scrollbar { width: 12px; height: 12px; @@ -91,7 +95,7 @@ &::-webkit-scrollbar-corner { width: 0; } - + &::-webkit-scrollbar-thumb { border-radius: 6px; border: 4px solid transparent; diff --git a/packages/site-components/src/components/td-code/style.less b/packages/site-components/src/components/td-code/style.less index b2ecc3a33..4c7c35843 100755 --- a/packages/site-components/src/components/td-code/style.less +++ b/packages/site-components/src/components/td-code/style.less @@ -10,5 +10,10 @@ } .TDesign-code { - font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; } diff --git a/packages/site-components/src/components/td-contributors/style.less b/packages/site-components/src/components/td-contributors/style.less index 3cab14920..bc38be0ea 100755 --- a/packages/site-components/src/components/td-contributors/style.less +++ b/packages/site-components/src/components/td-contributors/style.less @@ -1,5 +1,4 @@ .TDesign-contributors { - .title { font-weight: bold; font-size: 20px; @@ -20,7 +19,7 @@ height: 40px; border-radius: 100%; } - + .avatar { width: 40px; height: 40px; diff --git a/packages/site-components/src/components/td-doc-aside/style.less b/packages/site-components/src/components/td-doc-aside/style.less index d6440400f..28caf6252 100755 --- a/packages/site-components/src/components/td-doc-aside/style.less +++ b/packages/site-components/src/components/td-doc-aside/style.less @@ -19,7 +19,9 @@ background-color: var(--bg-color-container); color: var(--text-secondary); box-shadow: var(--aside-box-shadow); - transition: transform .2s var(--anim-time-fn-easing), outline .2s var(--anim-time-fn-easing); + transition: + transform 0.2s var(--anim-time-fn-easing), + outline 0.2s var(--anim-time-fn-easing); outline: 9999px solid transparent; &.hide { @@ -36,7 +38,7 @@ } &::after { - content: ""; + content: ''; width: 100%; height: 100px; position: absolute; @@ -62,7 +64,7 @@ } .TDesign-doc-aside-mask { - content: ""; + content: ''; position: fixed; left: 0; top: 0; @@ -77,13 +79,13 @@ left: var(--aside-width); top: 160px; border-radius: 0 3px 3px 0; - box-shadow: 2px 0 8px rgba(0, 0, 0, .26); + box-shadow: 2px 0 8px rgba(0, 0, 0, 0.26); width: 40px; height: 40px; align-items: center; justify-content: center; background-color: var(--bg-color-container); - transition: all .2s var(--anim-time-fn-easing); + transition: all 0.2s var(--anim-time-fn-easing); display: var(--collapse-display); .icon svg { @@ -92,14 +94,13 @@ color: var(--text-primary); } } - + .TDesign-doc-sidenav { height: 100%; padding: 0 0 0 12px; overflow: auto; &:hover { - &::-webkit-scrollbar-thumb { background-color: var(--bg-color-scroll); } @@ -117,9 +118,8 @@ background-color: transparent; } } - -.TDesign-doc-sidenav-group { +.TDesign-doc-sidenav-group { &__title { display: flex; align-items: center; @@ -132,7 +132,7 @@ margin-top: 8px; border-radius: var(--border-radius); } - + &__children { overflow: hidden; } @@ -155,7 +155,7 @@ color: var(--text-secondary); text-decoration: none; border-radius: var(--border-radius); - transition: all .2s linear; + transition: all 0.2s linear; gap: 8px; &:hover { @@ -176,9 +176,9 @@ &__tag { font-size: 12px; padding: 2px 4px; - color: #F5BA18; + color: #f5ba18; border-radius: 3px; - transition: .2s linear; + transition: 0.2s linear; background: rgba(245, 186, 24, 0.1); } } diff --git a/packages/site-components/src/components/td-doc-badge/style.less b/packages/site-components/src/components/td-doc-badge/style.less index 8b9ed571b..325f7a0a7 100755 --- a/packages/site-components/src/components/td-doc-badge/style.less +++ b/packages/site-components/src/components/td-doc-badge/style.less @@ -1,4 +1,4 @@ .TDesign-doc-badge { position: relative; z-index: 500; -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-changelog/style.less b/packages/site-components/src/components/td-doc-changelog/style.less index d7cbee5a2..28dc3034b 100755 --- a/packages/site-components/src/components/td-doc-changelog/style.less +++ b/packages/site-components/src/components/td-doc-changelog/style.less @@ -1,261 +1,263 @@ .TDesign-doc-changelog { - &__overlay { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.3); - z-index: 10000; - - .hidden & { - display: none; - } + &__overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.3); + z-index: 10000; + + .hidden & { + display: none; + } + } + + &__drawer { + position: fixed; + top: 0; + right: 0; + width: 500px; + height: 100vh; + background-color: var(--bg-color-container); + z-index: 100001; + box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1); + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + color: var(--text-primary); + + transition: + transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), + opacity 0.35s ease; + + @media screen and (max-width: 960px) { + width: 85vw; } - &__drawer { - position: fixed; - top: 0; - right: 0; - width: 500px; - height: 100vh; - background-color: var(--bg-color-container); - z-index: 100001; - box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1); - font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; - color: var(--text-primary); - - transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease; - - @media screen and (max-width: 960px) { - width: 85vw; - } - - .visible & { - transform: translateX(0); - opacity: 1; - } + .visible & { + transform: translateX(0); + opacity: 1; + } - .hidden & { - transform: translateX(100%); - opacity: 0; - } + .hidden & { + transform: translateX(100%); + opacity: 0; + } - &-header { - display: flex; - justify-content: space-between; - align-items: center; - height: 56px; - box-shadow: var(--header-box-shadow); - - p { - position: relative; - font-size: 16px; - left: 16px; - height: 24px; - font-weight: 600; - } + &-header { + display: flex; + justify-content: space-between; + align-items: center; + height: 56px; + box-shadow: var(--header-box-shadow); - button { - background: transparent; - border: none; - cursor: pointer; - padding: 2px; - - svg { - width: 20px; - height: 20px; - color: var(--text-primary); - } - } + p { + position: relative; + font-size: 16px; + left: 16px; + height: 24px; + font-weight: 600; + } + + button { + background: transparent; + border: none; + cursor: pointer; + padding: 2px; + + svg { + width: 20px; + height: 20px; + color: var(--text-primary); } + } + } - &-body { - position: relative; - padding: 16px; - overflow-y: auto; - height: calc(100vh - 80px); + &-body { + position: relative; + padding: 16px; + overflow-y: auto; + height: calc(100vh - 80px); - &:hover { - &::-webkit-scrollbar-thumb { - background-color: var(--bg-color-scroll); - } - } + &:hover { + &::-webkit-scrollbar-thumb { + background-color: var(--bg-color-scroll); + } + } + + &::-webkit-scrollbar { + width: 12px; + height: 12px; + background: transparent; + } + + &::-webkit-scrollbar-corner { + width: 0; + } + + &::-webkit-scrollbar-thumb { + border-radius: 6px; + border: 4px solid transparent; + background-clip: content-box; + background-color: transparent; + } + } + } + + &__logs { + position: relative; + display: flex; + flex-direction: column; + gap: 16px; + + // 竖线 + &:not(:has(&-empty))::after { + content: ''; + position: absolute; + top: 32px; + left: 15px; + width: 2px; + height: 100%; + background: var(--brand-main); + } - &::-webkit-scrollbar { - width: 12px; - height: 12px; - background: transparent; - } + // 一个版本 + &-version { + position: relative; + padding-left: 32px; + + &:last-of-type { + &::after { + content: ''; + position: absolute; + left: 15px; + top: 30px; + z-index: 10; + width: 8px; + height: 105%; + background: var(--bg-color-docpage); + } + } - &::-webkit-scrollbar-corner { - width: 0; - } + &-header { + display: flex; + align-items: center; + margin: 10px 0; + + // 圆点 + &::before { + content: ''; + position: absolute; + left: 12px; + width: 8px; + height: 8px; + border: 2px solid var(--brand-main); + background: var(--bg-color-docpage); + outline: 8px solid var(--bg-color-docpage); + box-sizing: border-box; + border-radius: 50%; + z-index: 10; + } - &::-webkit-scrollbar-thumb { - border-radius: 6px; - border: 4px solid transparent; - background-clip: content-box; - background-color: transparent; - } + // 版本号 + span { + font-size: 18px; + font-weight: 600; + color: var(--text-primary); } - } - &__logs { - position: relative; - display: flex; - flex-direction: column; - gap: 16px; - - // 竖线 - &:not(:has(&-empty))::after { - content: ''; - position: absolute; - top: 32px; - left: 15px; - width: 2px; - height: 100%; - background: var(--brand-main); + // 日期 + code { + position: relative; + left: 8px; + color: var(--text-primary); + background: var(--bg-color-tag); + border-radius: 3px; + margin: 0 2px; + padding: 2px 8px; + font-size: 12px; + font-weight: 400; + line-height: 20px; + } + } + + // 一种变更类型 + &-section { + h3 { + font-size: 16px; + font-weight: 700; + color: var(--text-primary); + margin-bottom: 8px; } - // 一个版本 - &-version { - position: relative; - padding-left: 32px; - - &:last-of-type { - &::after { - content: ''; - position: absolute; - left: 15px; - top: 30px; - z-index: 10; - width: 8px; - height: 105%; - background: var(--bg-color-docpage); - } - } + // 日志详情 + ul { + margin: 0; + padding-left: 20px; + list-style-type: disc; + font-size: 14px; - &-header { - display: flex; - align-items: center; - margin: 10px 0; - - // 圆点 - &::before { - content: ''; - position: absolute; - left: 12px; - width: 8px; - height: 8px; - border: 2px solid var(--brand-main); - background: var(--bg-color-docpage); - outline: 8px solid var(--bg-color-docpage); - box-sizing: border-box; - border-radius: 50%; - z-index: 10; - } - - // 版本号 - span { - font-size: 18px; - font-weight: 600; - color: var(--text-primary); - } - - // 日期 - code { - position: relative; - left: 8px; - color: var(--text-primary); - background: var(--bg-color-tag); - border-radius: 3px; - margin: 0 2px; - padding: 2px 8px; - font-size: 12px; - font-weight: 400; - line-height: 20px; - } - } + ul { + padding-left: 22px; - // 一种变更类型 - &-section { - h3 { - font-size: 16px; - font-weight: 700; - color: var(--text-primary); - margin-bottom: 8px; - } - - // 日志详情 - ul { - margin: 0; - padding-left: 20px; - list-style-type: disc; - font-size: 14px; - - ul { - padding-left: 22px; - - li { - list-style-type: circle; - } - } - - li { - padding-left: 6px; - margin-bottom: 6px; - line-height: 22px; - color: var(--text-primary); - } - - a { - color: var(--brand-main); - text-decoration: none; - - &:hover { - color: var(--brand-main-hover); - } - } - } + li { + list-style-type: circle; } - } + } - &-empty { - color: var(--text-secondary); - text-align: center; - padding: 30px 0; - font-style: italic; - } + li { + padding-left: 6px; + margin-bottom: 6px; + line-height: 22px; + color: var(--text-primary); + } - &__loading { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - height: 128px; + a { color: var(--brand-main); + text-decoration: none; - &-icon { - width: 32px; - height: 32px; - border-radius: 50%; - background: conic-gradient(from 90deg at 50% 50%, #fff 0deg, currentColor 360deg); - -webkit-mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%); - mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%); - animation: spin 1s linear infinite; - -webkit-animation: spin 1s linear infinite; + &:hover { + color: var(--brand-main-hover); } + } + } + } + } - @keyframes spin { - from { - transform: rotate(0deg); - } + &-empty { + color: var(--text-secondary); + text-align: center; + padding: 30px 0; + font-style: italic; + } - to { - transform: rotate(360deg); - } - } + &__loading { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 128px; + color: var(--brand-main); + + &-icon { + width: 32px; + height: 32px; + border-radius: 50%; + background: conic-gradient(from 90deg at 50% 50%, #fff 0deg, currentColor 360deg); + -webkit-mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%); + mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%); + animation: spin 1s linear infinite; + -webkit-animation: spin 1s linear infinite; + } + + @keyframes spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); } + } } -} \ No newline at end of file + } +} diff --git a/packages/site-components/src/components/td-doc-content/style.less b/packages/site-components/src/components/td-doc-content/style.less index a838a4f49..f22d34549 100755 --- a/packages/site-components/src/components/td-doc-content/style.less +++ b/packages/site-components/src/components/td-doc-content/style.less @@ -3,23 +3,23 @@ flex-direction: column; position: relative; background: var(--bg-color-docpage); - + &.hidden { opacity: 0; visibility: hidden; } - + &.show { opacity: 1; visibility: visible; - transition: all .2s linear; + transition: all 0.2s linear; } - + .TDesign-doc-body { min-height: calc(100vh - var(--footer-height)); color: var(--text-primary); padding-right: var(--content-padding-right); - + &__inner { width: 100%; padding: 64px var(--content-padding-left-right) 120px var(--content-padding-left-right); @@ -42,7 +42,7 @@ background-color: var(--bg-color-scroll); border-radius: 100%; cursor: pointer; - transition: all .2s linear; + transition: all 0.2s linear; opacity: 0; visibility: hidden; color: var(--text-secondary); @@ -57,4 +57,4 @@ background-color: var(--text-disabled); } } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-copy/style.less b/packages/site-components/src/components/td-doc-copy/style.less index e6289a6d8..05a46046a 100755 --- a/packages/site-components/src/components/td-doc-copy/style.less +++ b/packages/site-components/src/components/td-doc-copy/style.less @@ -3,7 +3,6 @@ position: relative; &.dark { - .TDesign-doc-copy__inner:hover { background-color: var(--bg-color-component-hover); } @@ -17,10 +16,10 @@ border-radius: var(--border-radius); cursor: pointer; user-select: none; - transition: all .1s; + transition: all 0.1s; display: inline-flex; color: var(--text-secondary); - + &:hover { color: var(--text-primary); background-color: var(--bg-color-demo-hover); @@ -38,12 +37,15 @@ line-height: 22px; visibility: hidden; opacity: 0; - transition: all .2s linear; + transition: all 0.2s linear; background-color: var(--bg-color-container); - box-shadow: 0px 3px 14px 2px rgba(0, 0, 0, .05), 0px 8px 10px 1px rgba(0, 0, 0, .06), 0px 5px 5px -3px rgba(0, 0, 0, .1); + box-shadow: + 0px 3px 14px 2px rgba(0, 0, 0, 0.05), + 0px 8px 10px 1px rgba(0, 0, 0, 0.06), + 0px 5px 5px -3px rgba(0, 0, 0, 0.1); &::after { - content: ""; + content: ''; z-index: 2; width: 0; height: 0; diff --git a/packages/site-components/src/components/td-doc-demo/index.ts b/packages/site-components/src/components/td-doc-demo/index.ts index dc754ed05..b2d8afc1c 100644 --- a/packages/site-components/src/components/td-doc-demo/index.ts +++ b/packages/site-components/src/components/td-doc-demo/index.ts @@ -87,7 +87,7 @@ export default define({ }, }, render: (host) => { - let { code, language, showCode, mode, theme, currentLangIndex, languages, activeStyleMap } = host; + const { code, language, showCode, mode, theme, currentLangIndex, languages, activeStyleMap } = host; const languageArr = typeof languages === 'string' ? languages.split(',') : []; const tabsDisplay = diff --git a/packages/site-components/src/components/td-doc-demo/style.less b/packages/site-components/src/components/td-doc-demo/style.less index a2308636b..16951dd87 100755 --- a/packages/site-components/src/components/td-doc-demo/style.less +++ b/packages/site-components/src/components/td-doc-demo/style.less @@ -1,7 +1,7 @@ /* stylelint-disable */ -@import "../../styles/prism-theme.less"; -@import "../../styles/prism-theme-dark.less"; +@import '../../styles/prism-theme.less'; +@import '../../styles/prism-theme-dark.less'; .TDesign-doc-demo { margin: 24px 0 48px; @@ -21,7 +21,7 @@ position: relative; &::after { - content: ""; + content: ''; width: 100%; height: 20px; position: absolute; @@ -35,7 +35,6 @@ background-color: var(--bg-color-component-hover); } } - } &__footer { @@ -59,7 +58,7 @@ border-radius: var(--border-radius); cursor: pointer; user-select: none; - transition: all .1s; + transition: all 0.1s; display: inline-flex; color: var(--text-secondary); @@ -95,7 +94,7 @@ background-color: var(--bg-color-scroll); } } - + &::-webkit-scrollbar { width: 12px; height: 12px; @@ -105,7 +104,7 @@ &::-webkit-scrollbar-corner { width: 0; } - + &::-webkit-scrollbar-thumb { border-radius: 6px; border: 4px solid transparent; @@ -152,18 +151,15 @@ color: var(--text-secondary); word-break: keep-all; white-space: nowrap; - transition: background .2s; + transition: background 0.2s; &:hover, &.active { color: var(--text-interactive); - } &:hover { background: var(--bg-color-demo-hover); } - } - -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-empty/style.less b/packages/site-components/src/components/td-doc-empty/style.less index dfb673474..44b63262a 100755 --- a/packages/site-components/src/components/td-doc-empty/style.less +++ b/packages/site-components/src/components/td-doc-empty/style.less @@ -1,5 +1,4 @@ .TDesign-doc-empty { - .light { display: var(--theme-block-light-display); } diff --git a/packages/site-components/src/components/td-doc-footer/portal.less b/packages/site-components/src/components/td-doc-footer/portal.less index 5c6bf0cb3..f5e5a4f31 100644 --- a/packages/site-components/src/components/td-doc-footer/portal.less +++ b/packages/site-components/src/components/td-doc-footer/portal.less @@ -16,12 +16,12 @@ * 白底(255) → 36(#242424)、黑码(0) → 219(浅灰), * 使图片底色与 --bg-color-container 弹层背景一致,整体和谐;微信/QQ 均支持识别反色二维码 */ -:root[theme-mode="dark"] .TDesign-doc__qrcode-inner img { +:root[theme-mode='dark'] .TDesign-doc__qrcode-inner img { filter: invert(1) contrast(0.718); } /* 深色模式下弹层、内框、箭头统一使用容器背景,避免边缘色差 */ -:root[theme-mode="dark"] .TDesign-doc__qrcode-popup { +:root[theme-mode='dark'] .TDesign-doc__qrcode-popup { --portal-background: var(--bg-color-container); --portal-filter: none; } diff --git a/packages/site-components/src/components/td-doc-footer/style.less b/packages/site-components/src/components/td-doc-footer/style.less index 44ec78db1..8960862d6 100755 --- a/packages/site-components/src/components/td-doc-footer/style.less +++ b/packages/site-components/src/components/td-doc-footer/style.less @@ -143,7 +143,8 @@ } } - &:nth-child(1),&:nth-child(2) { + &:nth-child(1), + &:nth-child(2) { div { width: 74px; } @@ -183,7 +184,7 @@ align-items: center; svg { - transition: color .2s linear; + transition: color 0.2s linear; color: var(--text-placeholder); } diff --git a/packages/site-components/src/components/td-doc-header/index.ts b/packages/site-components/src/components/td-doc-header/index.ts index 098c8d320..34d239184 100644 --- a/packages/site-components/src/components/td-doc-header/index.ts +++ b/packages/site-components/src/components/td-doc-header/index.ts @@ -55,12 +55,7 @@ function checkDescribeLineOverflow(host: HeaderHost & HTMLElement): void { function handleModeChange(themeMode: string, host: HeaderHost & HTMLElement): void { if (!host.shadowRoot) return; const splineEl = host.shadowRoot.querySelector('#__iframe__'); - let splineUrl = ''; - if (themeMode === 'dark') { - splineUrl = getSplineUrl(`${host.spline}-dark`) || ''; - } else { - splineUrl = getSplineUrl(host.spline) || ''; - } + const splineUrl = themeMode === 'dark' ? getSplineUrl(`${host.spline}-dark`) || '' : getSplineUrl(host.spline) || ''; if (splineEl && splineUrl && splineUrl !== splineEl.src) { clearTimeout(timer); splineEl.setAttribute('style', 'max-height: 0;'); @@ -73,7 +68,7 @@ function iframeOnload(host: HeaderHost & HTMLElement): void { const iframeEl = host.shadowRoot.querySelector('#__iframe__'); clearTimeout(timer); timer = setTimeout(() => { - iframeEl && + if (iframeEl) iframeEl.setAttribute( 'style', ` @@ -168,7 +163,7 @@ export default define({ }); Object.assign(changelogEntry.style, { opacity: 1, visibility: 'visible' }); Object.assign(background.style, { position: 'fixed', top: '0', left: asideWidth }); - tabs && + if (tabs) Object.assign(tabs.style, { position: 'fixed', top: '64px', @@ -184,7 +179,7 @@ export default define({ Object.assign(describe.style, { opacity: 0, visibility: 'hidden' }); Object.assign(background.style, { position: 'absolute', top: 'unset', left: '0' }); - tabs && Object.assign(tabs.style, { position: 'absolute', top: '228px' }); + if (tabs) Object.assign(tabs.style, { position: 'absolute', top: '228px' }); Object.assign(issue.style, { position: 'absolute', top: 'calc(100% - 48px - 12px)' }); } } else { @@ -198,7 +193,7 @@ export default define({ Object.assign(changelogEntry.style, { opacity: 1, visibility: 'visible' }); Object.assign(describe.style, { opacity: 1, visibility: 'visible' }); Object.assign(background.style, { position: 'absolute', top: 'unset', left: '0' }); - tabs && Object.assign(tabs.style, { position: 'absolute', top: '228px' }); + if (tabs) Object.assign(tabs.style, { position: 'absolute', top: '228px' }); Object.assign(issue.style, { position: 'absolute', top: 'calc(100% - 48px - 12px)' }); Object.assign(thumb.style, { opacity: 1, visibility: 'visible' }); } @@ -255,9 +250,11 @@ export default define({ }; return html` - ${splineUrl - ? html` ` - : html``} + ${ + splineUrl + ? html` ` + : html`` + }
@@ -265,33 +262,39 @@ export default define({
- ${docInfo - ? html` -
-

${docInfo.title}

- ${changelog && isChangelogComponentRegistered && (isComponentPage() || isGlobalConfigPage()) - ? html` - - ` - : html``} -
-
- ${host.shouldShowPopup - ? html` - -
-
-
- ` - : html` -
- `} -
- ` - : html``} + ${ + docInfo + ? html` +
+

${docInfo.title}

+ ${ + changelog && isChangelogComponentRegistered && (isComponentPage() || isGlobalConfigPage()) + ? html` + + ` + : html`` + } +
+
+ ${ + host.shouldShowPopup + ? html` + +
+
+
+ ` + : html` +
+ ` + } +
+ ` + : html`` + }
diff --git a/packages/site-components/src/components/td-doc-header/style.less b/packages/site-components/src/components/td-doc-header/style.less index b4f954877..1e1e4dc17 100755 --- a/packages/site-components/src/components/td-doc-header/style.less +++ b/packages/site-components/src/components/td-doc-header/style.less @@ -93,7 +93,10 @@ text-align: left; line-height: 42px; margin: 0; - transition: top 0.2s var(--anim-time-fn-easing), opacity 0.2s linear, visibility 0.2s linear; + transition: + top 0.2s var(--anim-time-fn-easing), + opacity 0.2s linear, + visibility 0.2s linear; } &-describe { diff --git a/packages/site-components/src/components/td-doc-header/td-doc-issue/style.less b/packages/site-components/src/components/td-doc-header/td-doc-issue/style.less index d242f5c82..5865f8d37 100755 --- a/packages/site-components/src/components/td-doc-header/td-doc-issue/style.less +++ b/packages/site-components/src/components/td-doc-header/td-doc-issue/style.less @@ -1,5 +1,4 @@ :host { - position: absolute; right: 24px; top: calc(100% - 48px - 12px); @@ -23,7 +22,7 @@ .item { border-radius: var(--border-radius); - transition: all .2s; + transition: all 0.2s; display: flex; align-items: center; padding: 5px 8px; diff --git a/packages/site-components/src/components/td-doc-history/index.ts b/packages/site-components/src/components/td-doc-history/index.ts index 2dbe700bf..9a54052b1 100644 --- a/packages/site-components/src/components/td-doc-history/index.ts +++ b/packages/site-components/src/components/td-doc-history/index.ts @@ -24,12 +24,14 @@ export default define({ return html`
- ${content - ? content - : html` - Last Update: - ${transformTime(time)} - `} + ${ + content + ? content + : html` + Last Update: + ${transformTime(time)} + ` + }
`.css`${style}`; }, diff --git a/packages/site-components/src/components/td-doc-history/style.less b/packages/site-components/src/components/td-doc-history/style.less index 54547c5bb..93cb21ee4 100644 --- a/packages/site-components/src/components/td-doc-history/style.less +++ b/packages/site-components/src/components/td-doc-history/style.less @@ -26,4 +26,4 @@ margin-right: 4px; color: var(--text-secondary); } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-layout/index.ts b/packages/site-components/src/components/td-doc-layout/index.ts index 1c0dd2a6b..6b0a18e36 100644 --- a/packages/site-components/src/components/td-doc-layout/index.ts +++ b/packages/site-components/src/components/td-doc-layout/index.ts @@ -21,7 +21,7 @@ export default define({ window.NProgress = NProgress; window.addEventListener('load', onLoad); - !host.loaded && NProgress.start(); + if (!host.loaded) NProgress.start(); return () => window.removeEventListener('load', onLoad); }, diff --git a/packages/site-components/src/components/td-doc-layout/style.less b/packages/site-components/src/components/td-doc-layout/style.less index 54be0c019..ce733f728 100755 --- a/packages/site-components/src/components/td-doc-layout/style.less +++ b/packages/site-components/src/components/td-doc-layout/style.less @@ -13,10 +13,10 @@ .TDesign-body { min-height: 100vh; - transition: all .2s var(--anim-time-fn-easing); + transition: all 0.2s var(--anim-time-fn-easing); &.row { margin-left: var(--content-margin-left); } } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-phone/index.ts b/packages/site-components/src/components/td-doc-phone/index.ts index 71a6951ea..28c8df310 100644 --- a/packages/site-components/src/components/td-doc-phone/index.ts +++ b/packages/site-components/src/components/td-doc-phone/index.ts @@ -135,24 +135,28 @@ export default define({ html`
- ${headless - ? html`` - : html` -
-
- - -
- - - -
-
- ${href && - html``} + ${ + headless + ? html`` + : html` +
+
+ + +
+ + + +
+
+ ${ + href && + html`` + } +
-
- `} + ` + }
diff --git a/packages/site-components/src/components/td-doc-phone/style.less b/packages/site-components/src/components/td-doc-phone/style.less index 61cd9f774..8ca134b86 100755 --- a/packages/site-components/src/components/td-doc-phone/style.less +++ b/packages/site-components/src/components/td-doc-phone/style.less @@ -3,7 +3,7 @@ --phone-collapse-display: none; --phone-header-height: 48px; --phone-body-height: 667px; - + @media screen and (max-width: 960px) { --phone-display: none; --phone-collapse-display: flex; @@ -12,7 +12,7 @@ .TDesign-doc-phone { width: 375px; - width: ~"min(75vw, 375px)"; + width: ~'min(75vw, 375px)'; border-radius: 6px; border: 1px solid var(--component-border); outline: 9999px solid transparent; @@ -35,7 +35,7 @@ background-color: var(--bg-color-container); visibility: hidden; opacity: 0; - transition: all .2s linear; + transition: all 0.2s linear; svg { color: var(--text-primary); @@ -59,7 +59,7 @@ width: 32px; height: 32px; border-radius: var(--border-radius); - transition: all .1s; + transition: all 0.1s; display: inline-flex; align-items: center; justify-content: center; @@ -98,7 +98,7 @@ } .TDesign-doc-phone-mask { - content: ""; + content: ''; position: fixed; left: 0; top: 0; @@ -122,7 +122,10 @@ top: 50% !important; transform: translate3d(-50%, -50%, 0); outline-color: var(--text-disabled); - transition: transform .2s var(--anim-time-fn-easing), opacity .2s linear, visibility .2s linear; + transition: + transform 0.2s var(--anim-time-fn-easing), + opacity 0.2s linear, + visibility 0.2s linear; visibility: visible; opacity: 1; z-index: 2500; @@ -142,13 +145,13 @@ top: 400px; z-index: 400; border-radius: 3px 0 0 3px; - box-shadow: 2px 0 8px rgba(0, 0, 0, .26); + box-shadow: 2px 0 8px rgba(0, 0, 0, 0.26); width: 40px; height: 40px; align-items: center; justify-content: center; background-color: var(--bg-color-container); - transition: all .2s var(--anim-time-fn-easing); + transition: all 0.2s var(--anim-time-fn-easing); display: var(--phone-collapse-display); cursor: pointer; diff --git a/packages/site-components/src/components/td-doc-popup/index.ts b/packages/site-components/src/components/td-doc-popup/index.ts index 4bbf28b1e..7fbdaebf6 100644 --- a/packages/site-components/src/components/td-doc-popup/index.ts +++ b/packages/site-components/src/components/td-doc-popup/index.ts @@ -64,11 +64,10 @@ export default define({ connect: (host) => { const { reference, placement } = host; let resizeObserver: ResizeObserver | undefined; - let portalFrameId: number | undefined; let popperFrameId: number | undefined; let isConnected = true; - portalFrameId = requestAnimationFrame(() => { + const portalFrameId = requestAnimationFrame(() => { if (!isConnected) return; host.portals = document.getElementById('__td_portals__'); diff --git a/packages/site-components/src/components/td-doc-search/algolia.ts b/packages/site-components/src/components/td-doc-search/algolia.ts index 57f5f08ce..c40c91606 100644 --- a/packages/site-components/src/components/td-doc-search/algolia.ts +++ b/packages/site-components/src/components/td-doc-search/algolia.ts @@ -110,7 +110,7 @@ export async function searchAlgolia({ }); } catch (err) { if (err instanceof Error && err.name === 'AbortError') throw err; - // eslint-disable-next-line no-console + console.warn('[td-doc-search] search failed:', err instanceof Error ? err.message : String(err)); return []; } diff --git a/packages/site-components/src/components/td-doc-search/hotkeys.ts b/packages/site-components/src/components/td-doc-search/hotkeys.ts index dfca145f2..4575b2f7d 100644 --- a/packages/site-components/src/components/td-doc-search/hotkeys.ts +++ b/packages/site-components/src/components/td-doc-search/hotkeys.ts @@ -30,18 +30,18 @@ export function registerHotkeys({ onOpen, onClose }: HotkeyHandlers): () => void // Cmd/Ctrl + K if ((e.metaKey || e.ctrlKey) && (e.key === 'k' || e.key === 'K')) { e.preventDefault(); - onOpen && onOpen(); + if (onOpen) onOpen(); return; } // "/":不在输入态下触发 if (e.key === '/' && !isEditable(document.activeElement)) { e.preventDefault(); - onOpen && onOpen(); + if (onOpen) onOpen(); return; } // ESC:无论焦点在何处,都关闭 popover if (e.key === 'Escape') { - onClose && onClose(); + if (onClose) onClose(); } }; diff --git a/packages/site-components/src/components/td-doc-search/style.less b/packages/site-components/src/components/td-doc-search/style.less index 84eeabaa2..477c34e70 100755 --- a/packages/site-components/src/components/td-doc-search/style.less +++ b/packages/site-components/src/components/td-doc-search/style.less @@ -151,7 +151,9 @@ } @keyframes td-docsearch-spin { - to { transform: rotate(360deg); } + to { + transform: rotate(360deg); + } } /* ========================================================================= @@ -179,9 +181,13 @@ } .TDesign-docsearch-cols__left::-webkit-scrollbar, -.TDesign-docsearch-cols__right::-webkit-scrollbar { width: 6px; } +.TDesign-docsearch-cols__right::-webkit-scrollbar { + width: 6px; +} .TDesign-docsearch-cols__left::-webkit-scrollbar-track, -.TDesign-docsearch-cols__right::-webkit-scrollbar-track { background: transparent; } +.TDesign-docsearch-cols__right::-webkit-scrollbar-track { + background: transparent; +} .TDesign-docsearch-cols__left::-webkit-scrollbar-thumb, .TDesign-docsearch-cols__right::-webkit-scrollbar-thumb { background-color: var(--text-placeholder, rgba(0, 0, 0, 0.2)); diff --git a/packages/site-components/src/components/td-doc-search/views.ts b/packages/site-components/src/components/td-doc-search/views.ts index ea462e944..0a56353c0 100644 --- a/packages/site-components/src/components/td-doc-search/views.ts +++ b/packages/site-components/src/components/td-doc-search/views.ts @@ -57,13 +57,15 @@ export function renderTrigger(host: DocSearchHost, handlers: ViewHandlers): Upda oninput=${handlers.onTriggerInput} onkeydown=${handlers.onTriggerKeyDown} /> - ${host._loading - ? html` - - ` - : html``} + ${ + host._loading + ? html` + + ` + : html`` + }
`; } diff --git a/packages/site-components/src/components/td-doc-tabs/style.less b/packages/site-components/src/components/td-doc-tabs/style.less index 5359c0521..c694ce0ae 100755 --- a/packages/site-components/src/components/td-doc-tabs/style.less +++ b/packages/site-components/src/components/td-doc-tabs/style.less @@ -23,7 +23,7 @@ &__block { position: absolute; background-color: var(--bg-color-tab-select); - box-shadow: 0px 2px 4px rgba(0, 0, 0, .15); + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15); position: absolute; height: calc(100% - 8px); left: 4px; @@ -46,10 +46,10 @@ position: relative; word-break: keep-all; white-space: nowrap; - + &:hover, &.active { color: var(--text-primary); } } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-doc-usage/index.ts b/packages/site-components/src/components/td-doc-usage/index.ts index 1b92412cf..c37fc65f3 100644 --- a/packages/site-components/src/components/td-doc-usage/index.ts +++ b/packages/site-components/src/components/td-doc-usage/index.ts @@ -63,46 +63,50 @@ function renderConfig(configList: ConfigItem[] = []) { }); return html` - ${booleanList.length - ? html` -
    - ${booleanList.map( - (item) => html` -
  • - ${item.name} - -
  • - `, - )} -
- ` - : ''} - ${enumList.length - ? html` - ${booleanList.length ? html`
` : ''} -
    - ${enumList.map( - (item) => html` -
  • - ${item.name} - -
  • - `, - )} -
- ` - : ''} + ${ + booleanList.length + ? html` +
    + ${booleanList.map( + (item) => html` +
  • + ${item.name} + +
  • + `, + )} +
+ ` + : '' + } + ${ + enumList.length + ? html` + ${booleanList.length ? html`
` : ''} +
    + ${enumList.map( + (item) => html` +
  • + ${item.name} + +
  • + `, + )} +
+ ` + : '' + } `; } diff --git a/packages/site-components/src/components/td-doc-usage/style.less b/packages/site-components/src/components/td-doc-usage/style.less index 843bd8172..3a195f0a3 100755 --- a/packages/site-components/src/components/td-doc-usage/style.less +++ b/packages/site-components/src/components/td-doc-usage/style.less @@ -1,5 +1,5 @@ -@import "../../styles/prism-theme.less"; -@import "../../styles/prism-theme-dark.less"; +@import '../../styles/prism-theme.less'; +@import '../../styles/prism-theme-dark.less'; :host { --context-max-height: 400px; @@ -20,7 +20,7 @@ display: flex; justify-content: space-between; } - + &__render { display: flex; flex: 1; @@ -41,13 +41,13 @@ &::-webkit-scrollbar-corner { width: 0; } - + &::-webkit-scrollbar { width: 12px; height: 12px; background: transparent; } - + &::-webkit-scrollbar-thumb { border-radius: 6px; border: 4px solid transparent; @@ -71,16 +71,15 @@ justify-content: center; cursor: pointer; - &:hover { .panel-inner { background: var(--bg-color-container-hover); } } - + .panel-inner { padding: 8px; - transition: all .2s linear; + transition: all 0.2s linear; border-radius: 3px; &.active { @@ -96,7 +95,7 @@ bottom: 0px; z-index: 10; background: var(--brand-main); - transition: all .2s var(--anim-time-fn-easing); + transition: all 0.2s var(--anim-time-fn-easing); } } @@ -109,7 +108,7 @@ gap: 8px; align-items: center; box-sizing: border-box; - + .action { height: 32px; width: 32px; @@ -118,15 +117,15 @@ border-radius: var(--border-radius); cursor: pointer; user-select: none; - transition: all .1s; + transition: all 0.1s; display: inline-flex; color: var(--text-secondary); - + &:hover { color: var(--text-primary); background-color: var(--bg-color-demo-hover); } - + &.active { color: var(--text-primary); background-color: var(--bg-color-demo-select); @@ -149,7 +148,7 @@ padding: 12px 16px; box-sizing: border-box; border-bottom: 1px solid var(--component-stroke); - + span { font-size: 14px; line-height: 24px; @@ -173,13 +172,13 @@ &::-webkit-scrollbar-corner { width: 0; } - + &::-webkit-scrollbar { width: 12px; height: 12px; background: transparent; } - + &::-webkit-scrollbar-thumb { border-radius: 6px; border: 4px solid transparent; @@ -232,12 +231,11 @@ color: var(--text-primary); &:hover { - &::-webkit-scrollbar-thumb { background-color: var(--bg-color-scroll); } } - + &::-webkit-scrollbar { width: 12px; height: 12px; @@ -247,7 +245,7 @@ &::-webkit-scrollbar-corner { width: 0; } - + &::-webkit-scrollbar-thumb { border-radius: 6px; border: 4px solid transparent; diff --git a/packages/site-components/src/components/td-header/index.ts b/packages/site-components/src/components/td-header/index.ts index 60b3d91ea..b73412083 100644 --- a/packages/site-components/src/components/td-header/index.ts +++ b/packages/site-components/src/components/td-header/index.ts @@ -125,8 +125,10 @@ function renderNotice(host: HeaderHost) { return html`
${noticeOption.title}
- ${noticeOption.closeable && - html``} + ${ + noticeOption.closeable && + html`` + }
`; } @@ -313,24 +315,26 @@ export default define({
- ${collapseMenu - ? html` - - - ` - : html` - - ${renderLinks(host, headerList, platform, framework)} - ${disabledTheme ? html`` : html``} - `} + ${ + collapseMenu + ? html` + + + ` + : html` + + ${renderLinks(host, headerList, platform, framework)} + ${disabledTheme ? html`` : html``} + ` + }
diff --git a/packages/site-components/src/components/td-header/portal.less b/packages/site-components/src/components/td-header/portal.less index cf8de681f..8e7ba19ba 100755 --- a/packages/site-components/src/components/td-header/portal.less +++ b/packages/site-components/src/components/td-header/portal.less @@ -28,7 +28,7 @@ .link { border-radius: 6px; - transition: all .2s linear; + transition: all 0.2s linear; color: var(--text-secondary); text-decoration: none; padding: 8px; @@ -36,17 +36,17 @@ align-items: center; width: 264px; box-sizing: border-box; - + &:not(.disabled):hover { color: var(--text-primary); background: var(--bg-color-container-hover); } - + .details { display: flex; flex-direction: column; } - + .name { font-size: 14px; line-height: 24px; @@ -94,20 +94,20 @@ .alpha-tag { color: var(--brand-main); background: var(--brand-main-light); - font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; + font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; } .beta-tag, .rc-tag { color: var(--success-main); background: var(--success-main-light); - font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; + font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; } .stable-tag { - color: #029CD4; - background: rgba(2, 156, 212, .1); - font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; + color: #029cd4; + background: rgba(2, 156, 212, 0.1); + font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; } } } @@ -116,4 +116,4 @@ .TDesign-base-components-links { display: none; } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-header/style.less b/packages/site-components/src/components/td-header/style.less index 76ce5d14b..b52de8018 100755 --- a/packages/site-components/src/components/td-header/style.less +++ b/packages/site-components/src/components/td-header/style.less @@ -18,28 +18,28 @@ align-items: center; justify-content: center; position: relative; - + &.primary { background-color: var(--brand-main); } - + &__content { cursor: pointer; color: rgba(255, 255, 255, 0.9); - transition: all .2s; - + transition: all 0.2s; + &:hover { color: rgba(255, 255, 255, 1); } } - + &__close { display: inline-flex; align-items: center; position: absolute; right: 8px; cursor: pointer; - transition: all .2s; + transition: all 0.2s; color: rgba(255, 255, 255, 0.9); &:hover { @@ -108,7 +108,7 @@ .icon { svg path { - d: path("M3.75 10.2002L7.99274 5.7998L12.2361 10.0425"); + d: path('M3.75 10.2002L7.99274 5.7998L12.2361 10.0425'); } } } diff --git a/packages/site-components/src/components/td-header/td-collapse-menu/index.ts b/packages/site-components/src/components/td-header/td-collapse-menu/index.ts index a5ef78df2..3521469e6 100644 --- a/packages/site-components/src/components/td-header/td-collapse-menu/index.ts +++ b/packages/site-components/src/components/td-header/td-collapse-menu/index.ts @@ -24,7 +24,7 @@ function renderLinks({ headerList, baseComponentsLinks, platform, framework }: C `; const isActive = (path: string): boolean => location.pathname.includes(path); - let baseLinks = [html`
`]; + const baseLinks = [html`
`]; const renderNavs = headerList .map((item) => { diff --git a/packages/site-components/src/components/td-header/td-collapse-menu/portal.less b/packages/site-components/src/components/td-header/td-collapse-menu/portal.less index 7fe442d8c..a5f7d653b 100755 --- a/packages/site-components/src/components/td-header/td-collapse-menu/portal.less +++ b/packages/site-components/src/components/td-header/td-collapse-menu/portal.less @@ -68,18 +68,33 @@ .alpha-tag { color: var(--brand-main); background: var(--brand-main-light); - font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; } .beta-tag { color: var(--success-main); background: var(--success-main-light); - font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; } .stable-tag { - color: #029CD4; - background: rgba(2, 156, 212, .1); - font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + color: #029cd4; + background: rgba(2, 156, 212, 0.1); + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; } } diff --git a/packages/site-components/src/components/td-logo/index.ts b/packages/site-components/src/components/td-logo/index.ts index 31b6cf832..bc9b2dad6 100644 --- a/packages/site-components/src/components/td-logo/index.ts +++ b/packages/site-components/src/components/td-logo/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable prettier/prettier */ import { html, define } from 'hybrids'; import logoIcon from '@images/logo.svg?raw'; import menuApplicationIcon from '@images/menu-application.svg?raw'; @@ -51,13 +50,15 @@ function renderMenu(list: MenuCategory[]) { const len = list.length; return list.map( (item, index) => html` - ${item.category_url - ? html` - - ${item.category_title} - - ` - : html` ${item.category_title} `} + ${ + item.category_url + ? html` + + ${item.category_title} + + ` + : html` ${item.category_title} ` + } ${renderList(item.children)} ${index < len - 1 ? html`
` : html``} `, ); diff --git a/packages/site-components/src/components/td-message/README.md b/packages/site-components/src/components/td-message/README.md index a72f41459..47a83c88e 100644 --- a/packages/site-components/src/components/td-message/README.md +++ b/packages/site-components/src/components/td-message/README.md @@ -2,5 +2,5 @@ ```js // 挂载节点 -window.showTdMessage({ content: "复制成功", theme: "success" }); +window.showTdMessage({ content: '复制成功', theme: 'success' }); ``` diff --git a/packages/site-components/src/components/td-message/style.less b/packages/site-components/src/components/td-message/style.less index eedfefdd6..a026b3d20 100644 --- a/packages/site-components/src/components/td-message/style.less +++ b/packages/site-components/src/components/td-message/style.less @@ -5,8 +5,8 @@ outline: 0; border-radius: 3px; background-color: var(--bg-color-container); - box-shadow: var(--shadow-3), var(--shadow-inset-top), - var(--shadow-inset-right), var(--shadow-inset-bottom), + box-shadow: + var(--shadow-3), var(--shadow-inset-top), var(--shadow-inset-right), var(--shadow-inset-bottom), var(--shadow-inset-left); box-sizing: border-box; align-items: center; diff --git a/packages/site-components/src/components/td-portal/index.ts b/packages/site-components/src/components/td-portal/index.ts index 0d65bb0a5..6f3b76d54 100644 --- a/packages/site-components/src/components/td-portal/index.ts +++ b/packages/site-components/src/components/td-portal/index.ts @@ -12,11 +12,13 @@ export default define({ portalStyle: '', render: (host) => { return html` - ${host.portalStyle - ? html`` - : ''} + ${ + host.portalStyle + ? html`` + : '' + } `.css`${style}`; }, diff --git a/packages/site-components/src/components/td-portal/style.less b/packages/site-components/src/components/td-portal/style.less index 7f46580f5..482497861 100755 --- a/packages/site-components/src/components/td-portal/style.less +++ b/packages/site-components/src/components/td-portal/style.less @@ -7,7 +7,10 @@ z-index: 3000; opacity: 0; visibility: hidden; - transition: clip-path 0.25s var(--anim-time-fn-easing), opacity 0.25s linear, visibility 0.25s linear; + transition: + clip-path 0.25s var(--anim-time-fn-easing), + opacity 0.25s linear, + visibility 0.25s linear; clip-path: polygon(-10% -10%, 110% -10%, 110% -10%, -10% -10%); } diff --git a/packages/site-components/src/components/td-select/index.ts b/packages/site-components/src/components/td-select/index.ts index decfac69c..2ba02f1a1 100644 --- a/packages/site-components/src/components/td-select/index.ts +++ b/packages/site-components/src/components/td-select/index.ts @@ -19,7 +19,7 @@ interface SelectProps { type SelectHost = SelectProps & HTMLElement; -interface VisibleChangeEvent extends CustomEvent<{ visible: boolean }> {} +type VisibleChangeEvent = CustomEvent<{ visible: boolean }>; function renderOptions(host: SelectHost) { const { options = [] } = host; diff --git a/packages/site-components/src/components/td-select/style.less b/packages/site-components/src/components/td-select/style.less index 438e8625e..2025e33e2 100755 --- a/packages/site-components/src/components/td-select/style.less +++ b/packages/site-components/src/components/td-select/style.less @@ -37,7 +37,6 @@ } } - &__inner { flex: 1; border: none; @@ -63,7 +62,7 @@ &.up { svg path { - d: path("M3.75 10.2002L7.99274 5.7998L12.2361 10.0425"); + d: path('M3.75 10.2002L7.99274 5.7998L12.2361 10.0425'); } } } diff --git a/packages/site-components/src/components/td-stats/index.ts b/packages/site-components/src/components/td-stats/index.ts index fa69134e6..ee04f8b3c 100644 --- a/packages/site-components/src/components/td-stats/index.ts +++ b/packages/site-components/src/components/td-stats/index.ts @@ -23,7 +23,7 @@ function initStats(statsId: string, scriptAttrs: ScriptAttributes, statsCallback if (value !== undefined) script.setAttribute(key, value); }); script.onload = () => { - statsCallback && statsCallback(); + if (statsCallback) statsCallback(); }; document.head.appendChild(script); } @@ -34,7 +34,7 @@ export default define({ track: { value() { return () => { - window._horizon && window._horizon.track(); + if (window._horizon) window._horizon.track(); }; }, }, @@ -55,14 +55,14 @@ export default define({ src: 'https://pingjs.qq.com/tcss.ping.https.js', }, () => { - window.pgvMain && window.pgvMain(); + if (window.pgvMain) window.pgvMain(); }, ); } function handleRouterTrack() { requestAnimationFrame(() => { - window._horizon && window._horizon.track(); + if (window._horizon) window._horizon.track(); }); } diff --git a/packages/site-components/src/components/td-switch/style.less b/packages/site-components/src/components/td-switch/style.less index f5dfe47de..444cff2c0 100755 --- a/packages/site-components/src/components/td-switch/style.less +++ b/packages/site-components/src/components/td-switch/style.less @@ -60,7 +60,7 @@ transition: all 0.2s var(--anim-time-fn-easing); &::before { - content: ""; + content: ''; position: absolute; top: 0; left: 0; diff --git a/packages/site-components/src/components/td-theme-tabs/style.less b/packages/site-components/src/components/td-theme-tabs/style.less index d03eec0a0..2a80a8fa5 100755 --- a/packages/site-components/src/components/td-theme-tabs/style.less +++ b/packages/site-components/src/components/td-theme-tabs/style.less @@ -16,7 +16,7 @@ &__block { background-color: var(--bg-color-tab-select); - box-shadow: 0 2px 4px rgba(0, 0, 0, .15); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); position: absolute; height: calc(100% - 4px); transition: all var(--anim-time-fn-easing) var(--anim-duration-moderate); @@ -39,7 +39,7 @@ width: 16px; height: 16px; pointer-events: none; - transition: all .2s linear; + transition: all 0.2s linear; } &:hover:not(.active) { @@ -54,4 +54,4 @@ color: #fff; } } -} \ No newline at end of file +} diff --git a/packages/site-components/src/components/td-tooltip/style.less b/packages/site-components/src/components/td-tooltip/style.less index 475e2f44d..8e5ccd925 100755 --- a/packages/site-components/src/components/td-tooltip/style.less +++ b/packages/site-components/src/components/td-tooltip/style.less @@ -1,8 +1,7 @@ .TDesign-tooltip { position: relative; - &[data-placement="top"] { - + &[data-placement='top'] { .TDesign-tooltip__popup { top: -36px; @@ -13,8 +12,7 @@ } } - &[data-placement="bottom"] { - + &[data-placement='bottom'] { .TDesign-tooltip__popup { bottom: -36px; @@ -37,12 +35,15 @@ visibility: hidden; opacity: 0; z-index: 900; - transition: all .2s linear; + transition: all 0.2s linear; background-color: var(--bg-color-container); - box-shadow: 0px 3px 14px 2px rgba(0, 0, 0, .05), 0px 8px 10px 1px rgba(0, 0, 0, .06), 0px 5px 5px -3px rgba(0, 0, 0, .1); + box-shadow: + 0px 3px 14px 2px rgba(0, 0, 0, 0.05), + 0px 8px 10px 1px rgba(0, 0, 0, 0.06), + 0px 5px 5px -3px rgba(0, 0, 0, 0.1); &::after { - content: ""; + content: ''; z-index: 2; width: 0; height: 0; diff --git a/packages/site-components/src/styles/animation.less b/packages/site-components/src/styles/animation.less index a97e02e76..27d95a7c5 100644 --- a/packages/site-components/src/styles/animation.less +++ b/packages/site-components/src/styles/animation.less @@ -1,54 +1,42 @@ // light-dark-8deg-animation @keyframes light-to-dark { - from { - clip-path: polygon(0 0, - 0 0, - calc(tan(8deg) * -100vh) 100%, - calc(tan(8deg) * -100vh) 100%); - } - - to { - clip-path: polygon(0 0, - calc((tan(8deg) * 100vh) + 100%) 0, - 100% 100%, - calc(tan(8deg) * -100vh) 100%); - } + from { + clip-path: polygon(0 0, 0 0, calc(tan(8deg) * -100vh) 100%, calc(tan(8deg) * -100vh) 100%); + } + + to { + clip-path: polygon(0 0, calc((tan(8deg) * 100vh) + 100%) 0, 100% 100%, calc(tan(8deg) * -100vh) 100%); + } } @keyframes dark-to-light { - from { - clip-path: polygon(calc((tan(8deg) * 100vh) + 100%) 0, - calc((tan(8deg) * 100vh) + 100%) 0, - 100% 100%, - 100% 100%); - } - - to { - clip-path: polygon(0 0, - calc((tan(8deg) * 100vh) + 100%) 0, - 100% 100%, - calc(tan(8deg) * -100vh) 100%); - } + from { + clip-path: polygon(calc((tan(8deg) * 100vh) + 100%) 0, calc((tan(8deg) * 100vh) + 100%) 0, 100% 100%, 100% 100%); + } + + to { + clip-path: polygon(0 0, calc((tan(8deg) * 100vh) + 100%) 0, 100% 100%, calc(tan(8deg) * -100vh) 100%); + } } :root::view-transition-group(root) { - animation-duration: 1s; + animation-duration: 1s; } :root::view-transition-new(root), :root::view-transition-old(root) { - mix-blend-mode: normal; + mix-blend-mode: normal; } :root::view-transition-old(root), :root[theme-mode='dark']::view-transition-old(root) { - animation: none; + animation: none; } :root::view-transition-new(root) { - animation-name: dark-to-light; + animation-name: dark-to-light; } :root[theme-mode='dark']::view-transition-new(root) { - animation-name: light-to-dark; -} \ No newline at end of file + animation-name: light-to-dark; +} diff --git a/packages/site-components/src/styles/dark.less b/packages/site-components/src/styles/dark.less index 7e8afe421..1dd4a40c3 100755 --- a/packages/site-components/src/styles/dark.less +++ b/packages/site-components/src/styles/dark.less @@ -1,8 +1,8 @@ -:root[theme-mode="dark"] { +:root[theme-mode='dark'] { background: var(--bg-color-page); img { - filter: brightness(.85); + filter: brightness(0.85); } --theme-block-light-display: none; @@ -10,8 +10,10 @@ --header-box-shadow: inset 0 -1px 0 #4b4b4b; --footer-box-shadow: inset 0 1px 0 #4b4b4b; --aside-box-shadow: inset -1px 0 0 #4b4b4b; - --portal-box-shadow: inset 1px 0px 0px #5e5e5e, inset -1px 0px 0px #5e5e5e, inset 0px -1px 0px #5e5e5e, inset 0px 1px 0px #5e5e5e; - --table-box-shadow: inset 0px 1px 0px #4b4b4b, inset 0px -1px 0px #4b4b4b, inset -1px 0px 0px #4b4b4b, inset 1px 0px 0px #4b4b4b; + --portal-box-shadow: + inset 1px 0px 0px #5e5e5e, inset -1px 0px 0px #5e5e5e, inset 0px -1px 0px #5e5e5e, inset 0px 1px 0px #5e5e5e; + --table-box-shadow: + inset 0px 1px 0px #4b4b4b, inset 0px -1px 0px #4b4b4b, inset -1px 0px 0px #4b4b4b, inset 1px 0px 0px #4b4b4b; // 基础/下层 投影 hover 使用的组件包括:表格 / --shadow-1: 0 4px 6px rgba(0, 0, 0, 6%), 0 1px 10px rgba(0, 0, 0, 8%), 0 2px 4px rgba(0, 0, 0, 12%); @@ -21,10 +23,10 @@ --shadow-3: 0 16px 24px rgba(0, 0, 0, 14%), 0 6px 30px rgba(0, 0, 0, 12%), 0 8px 10px rgba(0, 0, 0, 20%); // 内投影 用于弹窗类组件(气泡确认框 / 全局提示 / 消息通知)的内描边 - --shadow-inset-top: inset 0 .5px 0 #5e5e5e; - --shadow-inset-right: inset .5px 0 0 #5e5e5e; - --shadow-inset-bottom: inset 0 -.5px 0 #5e5e5e; - --shadow-inset-left: inset -.5px 0 0 #5e5e5e; + --shadow-inset-top: inset 0 0.5px 0 #5e5e5e; + --shadow-inset-right: inset 0.5px 0 0 #5e5e5e; + --shadow-inset-bottom: inset 0 -0.5px 0 #5e5e5e; + --shadow-inset-left: inset -0.5px 0 0 #5e5e5e; // 中性色彩 // dark模式默认全局中性色彩配置 @@ -38,10 +40,10 @@ --bg-color-secondaryfooter: #101010; --bg-color-docpage: #242424; // 默认页面文档底层背景 --bg-color-container: #242424; // 主要容器背景 默认页面顶层背景 - --bg-color-container-transparent: rgba(44, 44, 44, .9); // 默认页面次要底层背景透明度 + --bg-color-container-transparent: rgba(44, 44, 44, 0.9); // 默认页面次要底层背景透明度 --bg-color-secondarycontainer: #383838; // 次要容器背景 --bg-color-component: #383838; // 组件背景 主要容器之上组件背景 - --bg-color-component-transparent: rgba(75, 75, 75, .9); // 组件背景透明度 + --bg-color-component-transparent: rgba(75, 75, 75, 0.9); // 组件背景透明度 --bg-color-tag: #4b4b4b; // 标签背景色 --bg-color-tab: #383838; --bg-color-table: #242424; @@ -53,8 +55,8 @@ // 中性色彩交互 token // 交互状态token - --bg-color-demo-hover: rgba(255, 255, 255, .05); // 默认 demo底层背景hover - --bg-color-demo-select: rgba(255, 255, 255, .1); // 默认 demo底层背景hover + --bg-color-demo-hover: rgba(255, 255, 255, 0.05); // 默认 demo底层背景hover + --bg-color-demo-select: rgba(255, 255, 255, 0.1); // 默认 demo底层背景hover --bg-color-code-hover: #383838; --bg-color-code-select: #4b4b4b; --bg-color-container-hover: #383838; // 主要容器背景 默认页面顶层背景hover @@ -66,15 +68,15 @@ --bg-color-navigation-hover: #383838; --bg-color-navigation-select: #4b4b4b; --bg-color-card-hover: #4b4b4b; - --bg-color-scroll: rgba(255, 255, 255, .14); // 滚动条颜色 + --bg-color-scroll: rgba(255, 255, 255, 0.14); // 滚动条颜色 --bg-color-component-disabled: #242424; // 组件背景 disabled 主要容器之上组件背景disabled // 文字&图标色彩 // 默认light模式文字和图标色彩配置 - --text-primary: rgba(255, 255, 255, .9); // 主要文字色彩 - --text-secondary: rgba(255, 255, 255, .55); // 次要文字色彩 - --text-placeholder: rgba(255, 255, 255, .35); // 占位符文字色彩 - --text-disabled: rgba(255, 255, 255, .22); // 文字disabled态 + --text-primary: rgba(255, 255, 255, 0.9); // 主要文字色彩 + --text-secondary: rgba(255, 255, 255, 0.55); // 次要文字色彩 + --text-placeholder: rgba(255, 255, 255, 0.35); // 占位符文字色彩 + --text-disabled: rgba(255, 255, 255, 0.22); // 文字disabled态 --text-anti: #fff; // 文字反色色彩 // 主题色相关 @@ -85,23 +87,23 @@ --error-main: #c64751; // 错误色 --error-main-hover: #a03f46; // 错误色hover --error-main-disabled: #951114; // 错误色disabled - --error-main-light: rgba(227, 77, 89, .1); + --error-main-light: rgba(227, 77, 89, 0.1); --warning-main: #cf6e2d; // 警示色 --warning-main-hover: #a75d2b; // 警示色hover --warning-main-disabled: #733c23; // 警示色disabled - --warning-main-light: rgba(237, 123, 47, .1); + --warning-main-light: rgba(237, 123, 47, 0.1); --success-main: #059465; // 成功色 --success-main-hover: #0d7a55; // 成功色hover - --success-main-disabled: rgba(0, 168, 112, .25); // 成功色disabled - --success-main-light: rgba(0, 168, 112, .1); // 成功色 light + --success-main-disabled: rgba(0, 168, 112, 0.25); // 成功色disabled + --success-main-light: rgba(0, 168, 112, 0.1); // 成功色 light // 主题中心相关 // dark模式中性色配置 - --bg-color-theme-transparent: rgba(44, 44, 44, .6); + --bg-color-theme-transparent: rgba(44, 44, 44, 0.6); --bg-color-theme-secondary: #424242; --bg-color-theme-surface: #4d4d4d; --bg-color-theme-tertiary: #5e5e5e; - --theme-component-border: rgba(255, 255, 255, .06); + --theme-component-border: rgba(255, 255, 255, 0.06); --bg-color-theme-radio: #424242; --bg-color-theme-radio-active: #5e5e5e; } diff --git a/packages/site-components/src/styles/docs.less b/packages/site-components/src/styles/docs.less index a2786faec..4a2068246 100755 --- a/packages/site-components/src/styles/docs.less +++ b/packages/site-components/src/styles/docs.less @@ -17,7 +17,7 @@ } :root, -:root[theme-mode="light"] { +:root[theme-mode='light'] { .__light__ { display: block; } @@ -27,7 +27,7 @@ } } -:root[theme-mode="dark"] { +:root[theme-mode='dark'] { .__light__ { display: none; } @@ -37,10 +37,9 @@ } } -div[name="DOC"], -div[name="API"], -div[name="DESIGN"] { - +div[name='DOC'], +div[name='API'], +div[name='DESIGN'] { img { max-width: 100%; margin: 16px 0 8px; @@ -53,10 +52,10 @@ div[name="DESIGN"] { } } -div[name="DOC"], -div[name="DEMO"], -div[name="API"], -div[name="DESIGN"] { +div[name='DOC'], +div[name='DEMO'], +div[name='API'], +div[name='DESIGN'] { // 引用文本 blockquote { display: block; @@ -97,7 +96,6 @@ div[name="DESIGN"] { position: relative; &:hover { - &::-webkit-scrollbar-thumb { background-color: var(--bg-color-scroll); } @@ -135,7 +133,12 @@ div[name="DESIGN"] { code, code * { - font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; + font-family: + SFMono-Regular, + Consolas, + Liberation Mono, + Menlo, + monospace; } a:not([class]) { @@ -167,7 +170,7 @@ div[name="DESIGN"] { } tr { - transition: all .2s; + transition: all 0.2s; } tr:hover { @@ -269,7 +272,7 @@ div[name="DESIGN"] { .tdesign-header-anchor, .header-anchor { text-decoration: none; - transition: opacity .3s; + transition: opacity 0.3s; opacity: 0; } } @@ -349,8 +352,7 @@ div[name="DESIGN"] { } } -div[name="DESIGN"] { - +div[name='DESIGN'] { h5 + .legend { margin-top: -16px; } @@ -381,8 +383,7 @@ div[name="DESIGN"] { } } -div[name="DOC"] { - +div[name='DOC'] { image { margin: 0; border-radius: 6px; @@ -391,7 +392,6 @@ div[name="DOC"] { // 组件概览 h3 { - .tag { color: var(--text-secondary); padding: 0 12px; @@ -421,15 +421,15 @@ div[name="DOC"] { box-sizing: border-box; @media screen and (min-width: 1440px) { - width: ~"calc((100% - 48px) / 4)"; + width: ~'calc((100% - 48px) / 4)'; } @media screen and (min-width: 750px) and (max-width: 1439px) { - width: ~"calc((100% - 32px) / 3)"; + width: ~'calc((100% - 32px) / 3)'; } @media screen and (max-width: 749px) { - width: ~"calc((100% - 16px) / 2)"; + width: ~'calc((100% - 16px) / 2)'; } .item { @@ -441,12 +441,18 @@ div[name="DOC"] { box-sizing: border-box; cursor: pointer; text-decoration: none; - transition: transform .24s cubic-bezier(.38, 0, .24, 1), box-shadow .24s linear, opacity .24s linear; + transition: + transform 0.24s cubic-bezier(0.38, 0, 0.24, 1), + box-shadow 0.24s linear, + opacity 0.24s linear; &:hover { color: var(--text-primary); transform: translateY(-2px); - box-shadow: 0px 6px 30px 5px rgba(0, 0, 0, .05), 0px 16px 24px 2px rgba(0, 0, 0, .04), 0px 8px 10px -5px rgba(0, 0, 0, .08); + box-shadow: + 0px 6px 30px 5px rgba(0, 0, 0, 0.05), + 0px 16px 24px 2px rgba(0, 0, 0, 0.04), + 0px 8px 10px -5px rgba(0, 0, 0, 0.08); .name { color: var(--text-primary); @@ -467,7 +473,7 @@ div[name="DOC"] { text-overflow: ellipsis; overflow: hidden; white-space: pre; - transition: all .2s linear; + transition: all 0.2s linear; } } } @@ -481,4 +487,4 @@ div[name='API'] { width: 225%; } } -} \ No newline at end of file +} diff --git a/packages/site-components/src/styles/main.less b/packages/site-components/src/styles/main.less index e1e93f8af..0f908d1e9 100755 --- a/packages/site-components/src/styles/main.less +++ b/packages/site-components/src/styles/main.less @@ -1,7 +1,7 @@ -@import "./vars.less"; -@import "./dark.less"; -@import "./reset"; -@import "./nprogress.less"; -@import "./docs.less"; -@import "./timeline.less"; -@import "./animation.less"; \ No newline at end of file +@import './vars.less'; +@import './dark.less'; +@import './reset'; +@import './nprogress.less'; +@import './docs.less'; +@import './timeline.less'; +@import './animation.less'; diff --git a/packages/site-components/src/styles/nprogress.less b/packages/site-components/src/styles/nprogress.less index 730ceadb3..fb7e00fe3 100755 --- a/packages/site-components/src/styles/nprogress.less +++ b/packages/site-components/src/styles/nprogress.less @@ -1,14 +1,22 @@ /* stylelint-disable */ -@keyframes gradient { - 0% { background-position: 0 0; } - - 100% { background-position: -200% 0; } +@keyframes gradient { + 0% { + background-position: 0 0; + } + + 100% { + background-position: -200% 0; + } } @keyframes nprogress-spinner { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } } /* Make clicks pass-through */ @@ -40,8 +48,10 @@ right: 0px; width: 100px; height: 100%; - box-shadow: 0 0 10px #29d, 0 0 5px #29d; - opacity: 1.0; + box-shadow: + 0 0 10px #29d, + 0 0 5px #29d; + opacity: 1; transform: rotate(3deg) translate(0px, -4px); } @@ -77,4 +87,3 @@ .nprogress-custom-parent #nprogress .bar { position: absolute; } - diff --git a/packages/site-components/src/styles/prism-theme-dark.less b/packages/site-components/src/styles/prism-theme-dark.less index 75753686f..a03d54300 100755 --- a/packages/site-components/src/styles/prism-theme-dark.less +++ b/packages/site-components/src/styles/prism-theme-dark.less @@ -1,190 +1,196 @@ -:root[theme-mode="dark"] { - - code[class*="language-"], - pre[class*="language-"] { +:root[theme-mode='dark'] { + code[class*='language-'], + pre[class*='language-'] { text-align: left; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + font-family: + ui-monospace, + SFMono-Regular, + SF Mono, + Menlo, + Consolas, + Liberation Mono, + monospace; font-size: 1em; line-height: 1.5em; tab-size: 4; hyphens: none; } - - code[class*="language-"]::selection, - pre[class*="language-"]::selection, - code[class*="language-"] ::selection, - pre[class*="language-"] ::selection { + + code[class*='language-']::selection, + pre[class*='language-']::selection, + code[class*='language-'] ::selection, + pre[class*='language-'] ::selection { background: #d6dbe3; color: #263238; } - - :not(pre)>code[class*="language-"] { + + :not(pre) > code[class*='language-'] { white-space: normal; - border-radius: .2em; - padding: .1em; + border-radius: 0.2em; + padding: 0.1em; } - - pre[class*="language-"] { + + pre[class*='language-'] { overflow: auto; position: relative; } - - .language-css>code, - .language-sass>code, - .language-scss>code { + + .language-css > code, + .language-sass > code, + .language-scss > code { color: #f2995f; } - - [class*="language-"] .namespace { - opacity: .7; + + [class*='language-'] .namespace { + opacity: 0.7; } - + .token.atrule { color: #ae78f0; } - + .token.attr-name { color: #3280ff; } - + .token.attr-value { color: #fbca25; } - + .token.attribute { color: #fbca25; } - + .token.boolean { color: #ae78f0; } - + .token.builtin { color: #3280ff; } - + .token.cdata { color: #3280ff; } - + .token.char { color: #3280ff; } - + .token.class { color: #3280ff; } - + .token.class-name { color: #5cc5fc; } - + .token.comment { color: #97a3b7; } - + .token.constant { color: #ae78f0; } - + .token.deleted { color: #48c79c; } - + .token.doctype { color: #97a3b7; } - + .token.entity { color: #48c79c; } - + .token.function { color: #ae78f0; } - + .token.hexcode { color: #f2995f; } - + .token.id { color: #ae78f0; font-weight: bold; } - + .token.important { color: #f6c; font-weight: bold; } - + .token.inserted { color: #3280ff; } - + .token.keyword { color: #f6c; } - + .token.number { color: #f2995f; } - + .token.operator { color: #3280ff; } - + .token.prolog { color: #97a3b7; } - + .token.property { color: #3280ff; } - + .token.pseudo-class { color: #fbca25; } - + .token.pseudo-element { color: #fbca25; } - + .token.punctuation { color: #3280ff; } - + .token.regex { color: #5cc5fc; } - + .token.selector { color: #f36d78; } - + .token.string { color: #fbca25; } - + .token.symbol { color: #f6c; } - + .token.tag { color: #48c79c; } - + .token.unit { color: #f2995f; } - + .token.url { color: #48c79c; } - + .token.variable { color: #48c79c; } diff --git a/packages/site-components/src/styles/prism-theme.less b/packages/site-components/src/styles/prism-theme.less index 0ec7dece6..34a33b294 100755 --- a/packages/site-components/src/styles/prism-theme.less +++ b/packages/site-components/src/styles/prism-theme.less @@ -1,44 +1,51 @@ -code[class*="language-"], -pre[class*="language-"] { +code[class*='language-'], +pre[class*='language-'] { text-align: left; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; - font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + font-family: + ui-monospace, + SFMono-Regular, + SF Mono, + Menlo, + Consolas, + Liberation Mono, + monospace; font-size: 1em; line-height: 1.5em; tab-size: 4; hyphens: none; } -code[class*="language-"]::selection, -pre[class*="language-"]::selection, -code[class*="language-"] ::selection, -pre[class*="language-"] ::selection { +code[class*='language-']::selection, +pre[class*='language-']::selection, +code[class*='language-'] ::selection, +pre[class*='language-'] ::selection { background: #d6dbe3; color: #263238; } -:not(pre)>code[class*="language-"] { +:not(pre) > code[class*='language-'] { white-space: normal; - border-radius: .2em; - padding: .1em; + border-radius: 0.2em; + padding: 0.1em; } -pre[class*="language-"] { +pre[class*='language-'] { overflow: auto; position: relative; } -.language-css>code, -.language-sass>code, -.language-scss>code { +.language-css > code, +.language-sass > code, +.language-scss > code { color: #c24c08; } -[class*="language-"] .namespace { - opacity: .7; +[class*='language-'] .namespace { + opacity: 0.7; } .token.atrule { @@ -185,4 +192,4 @@ pre[class*="language-"] { .token.variable { color: #b01531; -} \ No newline at end of file +} diff --git a/packages/site-components/src/styles/reset.less b/packages/site-components/src/styles/reset.less index 3e05f9e0c..573042736 100755 --- a/packages/site-components/src/styles/reset.less +++ b/packages/site-components/src/styles/reset.less @@ -3,7 +3,14 @@ body { margin: 0; padding: 0; color: var(--text-secondary); - font-family: BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; + font-family: + BlinkMacSystemFont, + -apple-system, + Segoe UI, + Roboto, + Helvetica, + Arial, + sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -51,7 +58,7 @@ p { @font-face { font-family: TencentSansW7; - src: url("../font/tencent-w7.ttf"); + src: url('../font/tencent-w7.ttf'); font-weight: normal; font-style: normal; font-display: swap; @@ -59,8 +66,8 @@ p { @font-face { font-family: TCloudNumber; - src: url("../font/TCloudNumber.ttf"); + src: url('../font/TCloudNumber.ttf'); font-weight: normal; font-style: normal; font-display: swap; -} \ No newline at end of file +} diff --git a/packages/site-components/src/styles/timeline.less b/packages/site-components/src/styles/timeline.less index b58ec1405..607da97f2 100644 --- a/packages/site-components/src/styles/timeline.less +++ b/packages/site-components/src/styles/timeline.less @@ -1,4 +1,4 @@ -div[name="DOC"].timeline { +div[name='DOC'].timeline { padding-left: 32px; position: relative; overflow: hidden; diff --git a/packages/site-components/src/styles/vars.less b/packages/site-components/src/styles/vars.less index 0d79f1c2f..0f15211cc 100755 --- a/packages/site-components/src/styles/vars.less +++ b/packages/site-components/src/styles/vars.less @@ -1,5 +1,5 @@ :root, -:root[theme-mode="light"] { +:root[theme-mode='light'] { --header-height: 64px; --doc-header-height: 252px; --aside-width: 260px; @@ -27,8 +27,10 @@ --header-box-shadow: inset 0 -1px 0 #e7e7e7; --footer-box-shadow: inset 0 1px 0 #e7e7e7; --aside-box-shadow: inset -1px 0 0 #e7e7e7; - --portal-box-shadow: inset 1px 0px 0px #dcdcdc, inset -1px 0px 0px #dcdcdc, inset 0px -1px 0px #dcdcdc, inset 0px 1px 0px #dcdcdc; - --table-box-shadow: inset 0px 1px 0px #e7e7e7, inset 0px -1px 0px #e7e7e7, inset -1px 0px 0px #e7e7e7, inset 1px 0px 0px #e7e7e7; + --portal-box-shadow: + inset 1px 0px 0px #dcdcdc, inset -1px 0px 0px #dcdcdc, inset 0px -1px 0px #dcdcdc, inset 0px 1px 0px #dcdcdc; + --table-box-shadow: + inset 0px 1px 0px #e7e7e7, inset 0px -1px 0px #e7e7e7, inset -1px 0px 0px #e7e7e7, inset 1px 0px 0px #e7e7e7; // 基础/下层 投影 hover 使用的组件包括:表格 / --shadow-1: 0 1px 10px rgba(0, 0, 0, 5%), 0 4px 5px rgba(0, 0, 0, 8%), 0 2px 4px -1px rgba(0, 0, 0, 12%); @@ -36,19 +38,19 @@ --shadow-2: 0 3px 14px 2px rgba(0, 0, 0, 5%), 0 8px 10px 1px rgba(0, 0, 0, 6%), 0 5px 5px -3px rgba(0, 0, 0, 10%); // 上层投影(警示/弹窗)使用的组件包括:全局提示 / 消息通知 --shadow-3: 0 6px 30px 5px rgba(0, 0, 0, 5%), 0 16px 24px 2px rgba(0, 0, 0, 4%), 0 8px 10px -5px rgba(0, 0, 0, 8%); - + // 内投影 用于弹窗类组件(气泡确认框 / 全局提示 / 消息通知)的内描边 - --shadow-inset-top: inset 0 .5px 0 #dcdcdc; - --shadow-inset-right: inset .5px 0 0 #dcdcdc; - --shadow-inset-bottom: inset 0 -.5px 0 #dcdcdc; - --shadow-inset-left: inset -.5px 0 0 #dcdcdc; + --shadow-inset-top: inset 0 0.5px 0 #dcdcdc; + --shadow-inset-right: inset 0.5px 0 0 #dcdcdc; + --shadow-inset-bottom: inset 0 -0.5px 0 #dcdcdc; + --shadow-inset-left: inset -0.5px 0 0 #dcdcdc; - --anim-time-fn-easing: cubic-bezier(.38, 0, .24, 1); - --anim-time-fn-ease-out: cubic-bezier(0, 0, .15, 1); - --anim-time-fn-ease-in: cubic-bezier(.82, 0, 1, .9); - --anim-duration-base: .2s; - --anim-duration-moderate: .24s; - --anim-duration-slow: .28s; + --anim-time-fn-easing: cubic-bezier(0.38, 0, 0.24, 1); + --anim-time-fn-ease-out: cubic-bezier(0, 0, 0.15, 1); + --anim-time-fn-ease-in: cubic-bezier(0.82, 0, 1, 0.9); + --anim-duration-base: 0.2s; + --anim-duration-moderate: 0.24s; + --anim-duration-slow: 0.28s; // 中性色彩 // light模式默认全局中性色彩配置 @@ -62,10 +64,10 @@ --bg-color-secondaryfooter: #e7e7e7; --bg-color-docpage: #fff; // 默认页面文档底层背景 --bg-color-container: #fff; // 主要容器背景 默认页面顶层背景 - --bg-color-container-transparent: rgba(255, 255, 255, .9); // 默认页面次要底层背景透明度 + --bg-color-container-transparent: rgba(255, 255, 255, 0.9); // 默认页面次要底层背景透明度 --bg-color-secondarycontainer: #f5f5f5; // 次要容器背景 --bg-color-component: #eee; // 组件背景 主要容器之上组件背景 - --bg-color-component-transparent: rgba(238, 238, 238, .8);; // 组件背景透明度 + --bg-color-component-transparent: rgba(238, 238, 238, 0.8); // 组件背景透明度 --bg-color-tag: #eee; // 标签背景色 --bg-color-tab: #eee; --bg-color-table: #fff; @@ -77,8 +79,8 @@ // 中性色彩交互 token // 交互状态token - --bg-color-demo-hover: rgba(0, 0, 0, .05); // 默认 demo底层背景hover - --bg-color-demo-select: rgba(0, 0, 0, .1); // 默认 demo底层背景hover + --bg-color-demo-hover: rgba(0, 0, 0, 0.05); // 默认 demo底层背景hover + --bg-color-demo-select: rgba(0, 0, 0, 0.1); // 默认 demo底层背景hover --bg-color-code-hover: #e7e7e7; --bg-color-code-select: #dcdcdc; --bg-color-container-hover: #f3f3f3; // 主要容器背景 默认页面顶层背景hover @@ -90,15 +92,15 @@ --bg-color-navigation-hover: #f3f3f3; --bg-color-navigation-select: #e7e7e7; --bg-color-card-hover: #f3f3f3; - --bg-color-scroll: rgba(0, 0, 0, .14); // 滚动条颜色 + --bg-color-scroll: rgba(0, 0, 0, 0.14); // 滚动条颜色 --bg-color-component-disabled: #eee; // 组件背景 disabled 主要容器之上组件背景disabled // 文字&图标色彩 // 默认light模式文字和图标色彩配置 - --text-primary: rgba(0, 0, 0, .9); // 主要文字色彩 - --text-secondary: rgba(0, 0, 0, .6); // 次要文字色彩 - --text-placeholder: rgba(0, 0, 0, .4); // 占位符文字色彩 - --text-disabled: rgba(0, 0, 0, .26); // 文字disabled态 + --text-primary: rgba(0, 0, 0, 0.9); // 主要文字色彩 + --text-secondary: rgba(0, 0, 0, 0.6); // 次要文字色彩 + --text-placeholder: rgba(0, 0, 0, 0.4); // 占位符文字色彩 + --text-disabled: rgba(0, 0, 0, 0.26); // 文字disabled态 --text-anti: #fff; // 文字反色色彩 --text-interactive: var(--td-brand-color); // 主题色文字色彩 @@ -106,31 +108,31 @@ // 主题相关配置 --brand-main: var(--td-brand-color); // 移动端缺失 hover Token 时,使用 active 兜底 - --brand-main-hover: var(--td-brand-color-hover, var(--td-brand-color-active)); + --brand-main-hover: var(--td-brand-color-hover, var(--td-brand-color-active)); --brand-main-focus: var(--td-brand-color-focus); --brand-main-disabled: var(--td-brand-color-disabled); - --brand-main-light: rgba(0, 82, 217, .1); + --brand-main-light: rgba(0, 82, 217, 0.1); --error-1: #fff0ed; --error-8: #881f1c; --error-main: #d54941; // 错误色 --error-main-hover: #f6685d; // 错误色hover --error-main-disabled: #ffb9b0; // 错误色disabled - --error-main-light: rgba(213, 73, 65, .1); + --error-main-light: rgba(213, 73, 65, 0.1); --warning-main: #e37318; // 警示色 --warning-main-hover: #fa9550; // 警示色hover --warning-main-disabled: #ffb98c; // 警示色disabled - --warning-main-light: rgba(227, 115, 24, .1); + --warning-main-light: rgba(227, 115, 24, 0.1); --success-main: #2ba471; // 成功色 - --success-main-disabled: rgba(43, 164, 113, .25); // 成功色disabled - --success-main-light: rgba(43, 164, 113, .1); // 成功色 light + --success-main-disabled: rgba(43, 164, 113, 0.25); // 成功色disabled + --success-main-light: rgba(43, 164, 113, 0.1); // 成功色 light // 主题中心相关 // light模式中性色配置 - --bg-color-theme-transparent: rgba(238, 238, 238, .6); + --bg-color-theme-transparent: rgba(238, 238, 238, 0.6); --bg-color-theme-secondary: #f3f3f3; --bg-color-theme-surface: #fff; --bg-color-theme-tertiary: #e7e7e7; - --theme-component-border: rgba(0, 0, 0, .06); + --theme-component-border: rgba(0, 0, 0, 0.06); --bg-color-theme-radio: #e7e7e7; --bg-color-theme-radio-active: #fff; } diff --git a/packages/theme-generator/.eslintrc.js b/packages/theme-generator/.eslintrc.js deleted file mode 100644 index 4d117932c..000000000 --- a/packages/theme-generator/.eslintrc.js +++ /dev/null @@ -1,40 +0,0 @@ -module.exports = { - root: true, - parser: 'vue-eslint-parser', - parserOptions: { - ecmaVersion: 2021, - sourceType: 'module', - parser: '@typescript-eslint/parser', - }, - plugins: ['vue'], - // 根配置在前,vue 配置在后(确保 vue 的 script-setup-uses-vars 等规则优先生效) - extends: ['./../../.eslintrc.js', 'plugin:vue/vue3-essential'], - overrides: [ - { - files: ['*.ts'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - rules: { - // 基础规则会误报 TS 类型/重载签名,改用 TS 感知版本 - 'no-unused-vars': 'off', - 'no-redeclare': 'off', - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], - }, - }, - { - files: ['*.vue'], - parserOptions: { - parser: '@typescript-eslint/parser', - }, - plugins: ['@typescript-eslint'], - rules: { - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], - }, - }, - ], - rules: { - // 让 no-unused-vars 识别 diff --git a/packages/theme-generator/src/size-panel/index.vue b/packages/theme-generator/src/size-panel/index.vue index 7907e438f..5f078e2f7 100644 --- a/packages/theme-generator/src/size-panel/index.vue +++ b/packages/theme-generator/src/size-panel/index.vue @@ -34,7 +34,7 @@ @@ -59,7 +59,11 @@ @@ -84,7 +88,11 @@ @@ -109,7 +117,7 @@ @@ -134,7 +142,7 @@ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d91d16d5..98179d857 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,21 +18,27 @@ importers: '@commitlint/config-conventional': specifier: ^8.2.0 version: 8.3.6 + '@eslint/js': + specifier: ^10.0.1 + version: 10.0.1(eslint@10.12.0(jiti@1.21.6)) cz-conventional-changelog: specifier: ^3.0.2 version: 3.3.0(@types/node@22.20.4)(typescript@5.9.3) eslint: - specifier: ^7.32.0 - version: 7.32.0 + specifier: ^10.12.0 + version: 10.12.0(jiti@1.21.6) eslint-config-prettier: - specifier: ^9.0.0 - version: 9.1.0(eslint@7.32.0) - eslint-plugin-html: - specifier: ^7.1.0 - version: 7.1.0 + specifier: ^10.1.8 + version: 10.1.8(eslint@10.12.0(jiti@1.21.6)) eslint-plugin-prettier: - specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@9.1.0(eslint@7.32.0))(eslint@7.32.0)(prettier@2.8.8) + specifier: ^5.5.6 + version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.12.0(jiti@1.21.6)))(eslint@10.12.0(jiti@1.21.6))(prettier@3.9.9) + eslint-plugin-vue: + specifier: ^10.11.1 + version: 10.11.1(@typescript-eslint/parser@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3))(eslint@10.12.0(jiti@1.21.6))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@1.21.6))) + globals: + specifier: ^17.13.0 + version: 17.13.0 husky: specifier: ^8.0.0 version: 8.0.3 @@ -40,8 +46,8 @@ importers: specifier: ^16.3.4 version: 16.4.0 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.9.9 + version: 3.9.9 rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -54,6 +60,12 @@ importers: stylelint-config-standard-less: specifier: ^2.0.0 version: 2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3)) + typescript-eslint: + specifier: ^8.71.1 + version: 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + vue-eslint-parser: + specifier: ^10.3.0 + version: 10.4.1(eslint@10.12.0(jiti@1.21.6)) packages/auto-release-collection: dependencies: @@ -61,12 +73,6 @@ importers: specifier: ^6.0.0 version: 6.0.0 devDependencies: - '@typescript-eslint/eslint-plugin': - specifier: ^5.6.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/parser': - specifier: ^5.6.0 - version: 5.62.0(eslint@7.32.0)(typescript@5.9.3) nodemon: specifier: ^3.1.7 version: 3.1.7 @@ -113,12 +119,6 @@ importers: '@types/qrcode': specifier: ^1.5.5 version: 1.5.6 - '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@7.32.0)(typescript@5.9.3) '@vitest/coverage-v8': specifier: ^5.0.3 version: 5.0.3(vitest@5.0.3) @@ -168,21 +168,12 @@ importers: '@types/node': specifier: ^22.10.0 version: 22.20.4 - '@typescript-eslint/eslint-plugin': - specifier: ^5.6.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/parser': - specifier: ^5.6.0 - version: 5.62.0(eslint@7.32.0)(typescript@5.9.3) '@vitejs/plugin-vue': specifier: ^5.2.1 version: 5.2.4(vite@6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))(vue@3.5.42(typescript@5.9.3)) '@vue/test-utils': specifier: ^2.4.6 version: 2.5.1(@vue/compiler-dom@3.5.42)(@vue/server-renderer@3.5.42)(vue@3.5.42(typescript@5.9.3)) - eslint-plugin-vue: - specifier: ^9.32.0 - version: 9.33.0(eslint@7.32.0) happy-dom: specifier: ^15.11.7 version: 15.11.7 @@ -198,9 +189,6 @@ importers: vitest: specifier: ^5.0.3 version: 5.0.3(@types/node@22.20.4)(@vitest/coverage-v8@5.0.3)(happy-dom@15.11.7)(jsdom@16.7.0)(vite@6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)) - vue-eslint-parser: - specifier: ^9.4.2 - version: 9.4.3(eslint@7.32.0) vue-tsc: specifier: ^3.3.11 version: 3.3.11(typescript@5.9.3) @@ -256,12 +244,9 @@ importers: '@types/markdown-it': specifier: ^12.2.3 version: 12.2.3 - '@typescript-eslint/eslint-plugin': - specifier: ^5.6.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/parser': - specifier: ^5.6.0 - version: 5.62.0(eslint@7.32.0)(typescript@5.9.3) + '@types/node': + specifier: ^22.15.3 + version: 22.20.4 '@vitejs/plugin-vue': specifier: ^5.2.4 version: 5.2.4(vite@6.3.1(@types/node@22.20.4)(jiti@1.21.6)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))(vue@3.5.42(typescript@5.9.3)) @@ -274,24 +259,6 @@ importers: cz-conventional-changelog: specifier: ^3.0.2 version: 3.3.0(@types/node@22.20.4)(typescript@5.9.3) - eslint: - specifier: ^7.32.0 - version: 7.32.0 - eslint-config-standard: - specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.30.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint@7.32.0) - eslint-plugin-import: - specifier: ^2.25.3 - version: 2.30.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0) - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@7.32.0) - eslint-plugin-promise: - specifier: ^5.2.0 - version: 5.2.0(eslint@7.32.0) - eslint-plugin-vue: - specifier: ^8.2.0 - version: 8.7.1(eslint@7.32.0) gray-matter: specifier: ^4.0.3 version: 4.0.3 @@ -331,9 +298,6 @@ packages: '@actions/http-client@2.2.3': resolution: {integrity: sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==} - '@babel/code-frame@7.12.11': - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -375,6 +339,12 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@cacheable/memory@2.2.0': + resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} + + '@cacheable/utils@2.5.0': + resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} + '@commitlint/cli@8.3.6': resolution: {integrity: sha512-fg8p9/ZrzhUPIXBGrpzwKu50WT13jYS5OffYlkStPuemuv0GjXu37B8J/zNgu6UhrdBVHbmBR0LriKAzRLG/4g==} engines: {node: '>=4'} @@ -628,32 +598,68 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@0.4.3': - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/plugin-kit@0.7.3': + resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@humanwhocodes/config-array@0.5.0': - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - deprecated: Use @eslint/object-schema instead + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@3.0.2': resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -691,6 +697,15 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@keyv/bigmap@1.3.1': + resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} + engines: {node: '>= 18'} + peerDependencies: + keyv: ^5.6.0 + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@marionebl/sander@0.6.1': resolution: {integrity: sha512-7f3zZddAk92G1opoX/glbDO6YbrzmMAJAw0RJAcvunnV7sR4L9llyBUAABptKoF1Jf37UQ1QTJy5p2H4J4rBNA==} @@ -760,6 +775,10 @@ packages: '@one-ini/wasm@0.2.1': resolution: {integrity: sha512-TUqERXGNTifZ9y2g3wPxQrw3HpHv/02DsW3D90T9x0hhonrL1ZqpSmNrU2XkoIq0fP1N6gZfVQzy2Fw1ZvGBNg==} + '@pkgr/core@0.3.6': + resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} + engines: {node: ^14.18.0 || >=16.0.0} + '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -863,9 +882,6 @@ packages: cpu: [x64] os: [win32] - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@tdesign/site-components@0.19.3': resolution: {integrity: sha512-eFZNqFpBVFeokN/6wHfPtkUNzmrVjyg0BVyW1pOOHbWIehm1tSbXWlMg9sf2oXzO7dlMdDGYdx6BrQN2H8tbpg==} @@ -886,18 +902,21 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/fs-extra@9.0.13': resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -931,9 +950,6 @@ packages: '@types/qrcode@1.5.6': resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/sortablejs@1.15.9': resolution: {integrity: sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==} @@ -943,63 +959,64 @@ packages: '@types/validator@13.15.10': resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} - '@typescript-eslint/eslint-plugin@5.62.0': - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@8.71.1': + resolution: {integrity: sha512-nNlBf6HuotqMgZvSkWD5hNdemiBIxQ2NmrlgfcUIeZRs+BbakjscCQRq/Hb74EFVnFiSWWdL12JruqwBy3ERDw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser': ^8.71.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@5.62.0': - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@8.71.1': + resolution: {integrity: sha512-oM/5sAqz/l1v/zYK1qTOPrn2+JIrBGC1V6uNYucRO5gh6eT9vWJ/RhPbGE59byvZEUQ4VP6XkLBaS5Jti5jpvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/project-service@8.71.1': + resolution: {integrity: sha512-Oijc9RUsohHjncg6iGi7gCtjnEjYt9FWv9u6ygK8uKcHK5eLjLAkqERQ9BaytbpceOFdk6kifPCS/zAZE+A99g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@5.62.0': - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.71.1': + resolution: {integrity: sha512-1YUDZXdTnXLlob03SFHBipdyMBsDVm7zoSz0ytTJ39dk5J1TgsTK03VlR/dLXG/RLLUrPcYbD4rp23BmHxHP0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.71.1': + resolution: {integrity: sha512-oTvkml5SxXhgg+WWKhod5qWQICDXtOB+/Hi9VdPKFAANJ2b7YOgMffgvzXuqog7R6A/JtrzRf128dsxummyWhg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/type-utils@8.71.1': + resolution: {integrity: sha512-kH3t3jZCYv2PZSBEWPKTariLrCaoF1CLoPitYFBJOhAGEwWnSRAtGEifrfrpBa4K9JlwWNZotgA5w3/wLSk/FQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@8.71.1': + resolution: {integrity: sha512-ybYnPTUwg3VQQOFEiBPLs8Jxl1ry2vXdn1kVKguomBbvxpetdu3MKTNDqFNUrlG8ylP9MpZosmXMFYlGQHk1oQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.71.1': + resolution: {integrity: sha512-pSKSEK1JJpHs6KiKVtABCE4iJK5d7FLFzDXQNBQ2oRY7LEd3UwOt3TZemTgu9syTIf56dJWlTn/pdmrO9oKUXQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@8.71.1': + resolution: {integrity: sha512-CBjT6gfAz3DW2j9Q4moFnqt208Aq+506sVGXfpRcyAeqn0EpayL0mjdWoCO2t3RC7GewNrFxdeehuEaPg6DMzQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@8.71.1': + resolution: {integrity: sha512-0GxiUGqMU0qXJt58cBsiG3DP8lUmBaFo2vChtUX+CT7PnR3v/VGLLrzVP4K9r1lNiZXjHYefMBbPunplr09v6w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-vue@5.2.4': resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} @@ -1152,8 +1169,8 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -1164,10 +1181,6 @@ packages: alien-signals@3.2.1: resolution: {integrity: sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g==} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1217,26 +1230,10 @@ packages: array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} @@ -1337,6 +1334,9 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + cacheable@2.5.0: + resolution: {integrity: sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==} + cachedir@2.3.0: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} @@ -1653,6 +1653,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + css-declaration-sorter@6.4.1: resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} @@ -1788,6 +1792,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -1853,20 +1866,9 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -1879,16 +1881,9 @@ packages: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dot-prop@3.0.0: resolution: {integrity: sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==} engines: {node: '>=0.10.0'} @@ -1915,10 +1910,6 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} @@ -1971,9 +1962,6 @@ packages: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -2003,141 +1991,65 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-config-standard@16.0.3: - resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} - peerDependencies: - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-module-utils@2.11.0: - resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} - engines: {node: '>=4'} + eslint-plugin-prettier@5.5.6: + resolution: {integrity: sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: + '@types/eslint': optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: + eslint-config-prettier: optional: true - eslint-plugin-es@3.0.1: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - - eslint-plugin-html@7.1.0: - resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} - - eslint-plugin-import@2.30.0: - resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} - engines: {node: '>=4'} + eslint-plugin-vue@10.11.1: + resolution: {integrity: sha512-pasVXhl7wUmIvhujoqs/m0mJ9r59QW1IR9XXYKGR0FETzSM+Hhlf4qKIYgWiDDP+9YKv4YfbwskD7LqIdVcgQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + vue-eslint-parser: ^10.3.0 peerDependenciesMeta: - '@typescript-eslint/parser': + '@stylistic/eslint-plugin': optional: true - - eslint-plugin-node@11.1.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - - eslint-plugin-prettier@4.2.1: - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: + '@typescript-eslint/parser': optional: true - eslint-plugin-promise@5.2.0: - resolution: {integrity: sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^7.0.0 - - eslint-plugin-vue@8.7.1: - resolution: {integrity: sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - - eslint-plugin-vue@9.33.0: - resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@7.32.0: - resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} - engines: {node: ^10.12.0 || >=12.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - espree@7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} + eslint@10.12.0: + resolution: {integrity: sha512-npHjrHb2o4ehH3mE+YuxABR+0gyb0aVWCIolgJDArwCiHEIsonBm3ZKjel5b0U5+a+MbEvIyRCGCzD3eKKK2NA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -2148,14 +2060,14 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2240,9 +2152,8 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@11.1.5: + resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} file-entry-cache@7.0.2: resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} @@ -2282,9 +2193,15 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@6.1.23: + resolution: {integrity: sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==} + flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2322,9 +2239,6 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} - functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -2391,6 +2305,10 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + glob@13.0.6: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} @@ -2423,9 +2341,9 @@ packages: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@17.13.0: + resolution: {integrity: sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==} + engines: {node: '>=18'} globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} @@ -2444,9 +2362,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -2493,6 +2408,10 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hashery@1.5.1: + resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} + engines: {node: '>=20'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2505,6 +2424,12 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} + hookified@1.15.1: + resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} + + hookified@2.2.0: + resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==} + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2520,9 +2445,6 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} @@ -2560,14 +2482,14 @@ packages: ignore-by-default@1.0.1: resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} - ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.12: + resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} + engines: {node: '>= 4'} + image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -2829,10 +2751,6 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -2843,6 +2761,9 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -3165,9 +3086,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3253,18 +3171,6 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - obug@2.2.1: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} @@ -3600,6 +3506,10 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} + postcss-selector-parser@7.1.6: + resolution: {integrity: sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==} + engines: {node: '>=4'} + postcss-svgo@5.1.0: resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} @@ -3631,13 +3541,13 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} engines: {node: '>=6.0.0'} - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + prettier@3.9.9: + resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} + engines: {node: '>=14'} hasBin: true prismjs@1.29.0: @@ -3650,10 +3560,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} @@ -3678,6 +3584,10 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + qified@0.10.1: + resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} + engines: {node: '>=20'} + qrcode@1.5.4: resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} engines: {node: '>=10.13.0'} @@ -3761,10 +3671,6 @@ packages: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} - regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -4165,6 +4071,10 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + synckit@0.11.13: + resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} + engines: {node: ^14.18.0 || >=16.0.0} + table@6.8.2: resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} engines: {node: '>=10.0.0'} @@ -4201,9 +4111,6 @@ packages: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - three@0.127.0: resolution: {integrity: sha512-wtgrn+mhYUbobxT7QN3GPdu3SRpSBQvwY6uOzLChWS7QE//f7paDU/+wlzbg+ngeIvBBqjBHSRuywTh8A99Jng==} @@ -4271,21 +4178,15 @@ packages: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsx@4.19.3: resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==} engines: {node: '>=18.0.0'} @@ -4306,10 +4207,6 @@ packages: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -4345,6 +4242,13 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.71.1: + resolution: {integrity: sha512-oiNVPC3/NbV1FpaHU07l8O6ynqG9v4PAiW2WvTrAmZdR0f2HI/gE668ElMLCK7Xbsu5k2fK5C4fXNiq05j7/nQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -4405,9 +4309,6 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -4545,17 +4446,11 @@ packages: vue-component-type-helpers@3.3.11: resolution: {integrity: sha512-LwcxzeliO9fkQcpJG0PoX8X5kmAhKmH9wkpDLxNabwzkQ9Zeib2YVHwFV4pcWmMLfXVfjr/dSV+DaJ3cIPgSNA==} - vue-eslint-parser@8.3.0: - resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - vue-eslint-parser@9.4.3: - resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} - engines: {node: ^14.17.0 || >=16.0.0} + vue-eslint-parser@10.4.1: + resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=6.0.0' + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 vue-i18n@11.4.12: resolution: {integrity: sha512-yvArvvo3ErLKFNlQrZUGmRkxL/ctM5xFYtE9FxTKiE/PalWP1bnTopBgbSRGLluYEyYSNl1Pt8l2J7zVavbXww==} @@ -4691,9 +4586,9 @@ packages: xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} @@ -4764,10 +4659,6 @@ snapshots: tunnel: 0.0.6 undici: 5.28.4 - '@babel/code-frame@7.12.11': - dependencies: - '@babel/highlight': 7.24.7 - '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -4804,6 +4695,18 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@cacheable/memory@2.2.0': + dependencies: + '@cacheable/utils': 2.5.0 + '@keyv/bigmap': 1.3.1(keyv@5.6.0) + hookified: 1.15.1 + keyv: 5.6.0 + + '@cacheable/utils@2.5.0': + dependencies: + hashery: 1.5.1 + keyv: 5.6.0 + '@commitlint/cli@8.3.6': dependencies: '@commitlint/format': 8.3.6 @@ -5021,38 +4924,57 @@ snapshots: '@esbuild/win32-x64@0.25.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@7.32.0)': + '@eslint-community/eslint-utils@4.10.1(eslint@10.12.0(jiti@1.21.6))': dependencies: - eslint: 7.32.0 + eslint: 10.12.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.2': {} - '@eslint/eslintrc@0.4.3': + '@eslint/config-array@0.23.5': dependencies: - ajv: 6.12.6 + '@eslint/object-schema': 3.0.5 debug: 4.3.7(supports-color@5.5.0) - espree: 7.3.1 - globals: 13.24.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + minimatch: 10.2.6 transitivePeerDependencies: - supports-color + '@eslint/config-helpers@0.7.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/js@10.0.1(eslint@10.12.0(jiti@1.21.6))': + optionalDependencies: + eslint: 10.12.0(jiti@1.21.6) + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.3': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 + '@fastify/busboy@2.1.1': {} - '@humanwhocodes/config-array@0.5.0': + '@humanfs/core@0.19.2': dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.7(supports-color@5.5.0) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} - '@humanwhocodes/object-schema@1.2.1': {} + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} '@hutson/parse-repository-url@3.0.2': {} @@ -5095,6 +5017,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.6.0 + '@keyv/bigmap@1.3.1(keyv@5.6.0)': + dependencies: + hashery: 1.5.1 + hookified: 1.15.1 + keyv: 5.6.0 + + '@keyv/serialize@1.1.1': {} + '@marionebl/sander@0.6.1': dependencies: graceful-fs: 4.2.11 @@ -5175,6 +5105,8 @@ snapshots: '@one-ini/wasm@0.2.1': {} + '@pkgr/core@0.3.6': {} + '@popperjs/core@2.11.8': {} '@rollup/rollup-android-arm-eabi@4.40.0': @@ -5237,8 +5169,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.40.0': optional: true - '@rtsao/scc@1.1.0': {} - '@tdesign/site-components@0.19.3': dependencies: '@popperjs/core': 2.11.8 @@ -5265,16 +5195,18 @@ snapshots: '@types/deep-eql@4.0.2': {} + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.7': {} + '@types/estree@1.0.9': {} + '@types/fs-extra@9.0.13': dependencies: '@types/node': 22.20.4 '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/linkify-it@5.0.0': {} '@types/lodash-es@4.17.12': @@ -5306,97 +5238,102 @@ snapshots: dependencies: '@types/node': 22.20.4 - '@types/semver@7.5.8': {} - '@types/sortablejs@1.15.9': {} '@types/tinycolor2@1.4.6': {} '@types/validator@13.15.10': {} - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.71.1(@typescript-eslint/parser@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3))(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - debug: 4.3.7(supports-color@5.5.0) - eslint: 7.32.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.8.5 - tsutils: 3.21.0(typescript@5.9.3) - optionalDependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/type-utils': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.71.1 + eslint: 10.12.0(jiti@1.21.6) + ignore: 7.0.12 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3)': + '@typescript-eslint/parser@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - debug: 4.3.7(supports-color@5.5.0) - eslint: 7.32.0 - optionalDependencies: + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.71.1 + debug: 4.4.3 + eslint: 10.12.0(jiti@1.21.6) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.62.0': + '@typescript-eslint/project-service@8.71.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/tsconfig-utils': 8.71.1(typescript@5.9.3) + '@typescript-eslint/types': 8.71.1 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@5.9.3)': + '@typescript-eslint/scope-manager@8.71.1': dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - debug: 4.3.7(supports-color@5.5.0) - eslint: 7.32.0 - tsutils: 3.21.0(typescript@5.9.3) - optionalDependencies: + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/visitor-keys': 8.71.1 + + '@typescript-eslint/tsconfig-utils@8.71.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + debug: 4.4.3 + eslint: 10.12.0(jiti@1.21.6) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.71.1': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.71.1(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.7(supports-color@5.5.0) - globby: 11.1.0 - is-glob: 4.0.3 + '@typescript-eslint/project-service': 8.71.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.71.1(typescript@5.9.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/visitor-keys': 8.71.1 + debug: 4.4.3 + minimatch: 10.2.6 semver: 7.8.5 - tsutils: 3.21.0(typescript@5.9.3) - optionalDependencies: + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@5.9.3)': + '@typescript-eslint/utils@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - eslint: 7.32.0 - eslint-scope: 5.1.1 - semver: 7.8.5 + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@5.9.3) + eslint: 10.12.0(jiti@1.21.6) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@5.62.0': + '@typescript-eslint/visitor-keys@8.71.1': dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.71.1 + eslint-visitor-keys: 5.0.1 '@vitejs/plugin-vue@5.2.4(vite@6.3.1(@types/node@22.20.4)(jiti@1.21.6)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))(vue@3.5.42(typescript@5.9.3))': dependencies: @@ -5579,10 +5516,6 @@ snapshots: acorn-walk: 7.2.0 optional: true - acorn-jsx@5.3.2(acorn@7.4.1): - dependencies: - acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.18.0): dependencies: acorn: 8.18.0 @@ -5590,7 +5523,8 @@ snapshots: acorn-walk@7.2.0: optional: true - acorn@7.4.1: {} + acorn@7.4.1: + optional: true acorn@8.18.0: {} @@ -5598,12 +5532,12 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7(supports-color@5.5.0) + debug: 4.4.3 transitivePeerDependencies: - supports-color optional: true - ajv@6.12.6: + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -5621,8 +5555,6 @@ snapshots: alien-signals@3.2.1: {} - ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -5665,40 +5597,8 @@ snapshots: array-ify@1.0.0: {} - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - array-union@2.1.0: {} - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -5808,6 +5708,14 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + cacheable@2.5.0: + dependencies: + '@cacheable/memory': 2.2.0 + '@cacheable/utils': 2.5.0 + hookified: 1.15.1 + keyv: 5.6.0 + qified: 0.10.1 + cachedir@2.3.0: {} call-bind@1.0.7: @@ -6197,6 +6105,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + css-declaration-sorter@6.4.1(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -6351,6 +6265,7 @@ snapshots: debug@3.2.7: dependencies: ms: 2.1.3 + optional: true debug@4.3.7(supports-color@5.5.0): dependencies: @@ -6358,6 +6273,10 @@ snapshots: optionalDependencies: supports-color: 5.5.0 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -6411,26 +6330,12 @@ snapshots: dependencies: path-type: 4.0.0 - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 entities: 2.2.0 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - domelementtype@2.3.0: {} domexception@2.0.1: @@ -6442,22 +6347,12 @@ snapshots: dependencies: domelementtype: 2.3.0 - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - domutils@2.8.0: dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dot-prop@3.0.0: dependencies: is-obj: 1.0.1 @@ -6484,11 +6379,6 @@ snapshots: emoji-regex@8.0.0: {} - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - entities@2.1.0: {} entities@2.2.0: {} @@ -6578,10 +6468,6 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 @@ -6633,202 +6519,85 @@ snapshots: source-map: 0.6.1 optional: true - eslint-config-prettier@9.1.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - - eslint-config-standard@16.0.3(eslint-plugin-import@2.30.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0))(eslint-plugin-node@11.1.0(eslint@7.32.0))(eslint-plugin-promise@5.2.0(eslint@7.32.0))(eslint@7.32.0): + eslint-config-prettier@10.1.8(eslint@10.12.0(jiti@1.21.6)): dependencies: - eslint: 7.32.0 - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0) - eslint-plugin-node: 11.1.0(eslint@7.32.0) - eslint-plugin-promise: 5.2.0(eslint@7.32.0) + eslint: 10.12.0(jiti@1.21.6) - eslint-import-resolver-node@0.3.9: + eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@10.12.0(jiti@1.21.6)))(eslint@10.12.0(jiti@1.21.6))(prettier@3.9.9): dependencies: - debug: 3.2.7 - is-core-module: 2.15.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.11.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0): - dependencies: - debug: 3.2.7 + eslint: 10.12.0(jiti@1.21.6) + prettier: 3.9.9 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.13 optionalDependencies: - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-es@3.0.1(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - - eslint-plugin-html@7.1.0: - dependencies: - htmlparser2: 8.0.2 - - eslint-plugin-import@2.30.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint@7.32.0): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@7.32.0) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.9.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-node@11.1.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-plugin-es: 3.0.1(eslint@7.32.0) - eslint-utils: 2.1.0 - ignore: 5.3.2 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 6.3.1 - - eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0(eslint@7.32.0))(eslint@7.32.0)(prettier@2.8.8): - dependencies: - eslint: 7.32.0 - prettier: 2.8.8 - prettier-linter-helpers: 1.0.0 - optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@7.32.0) - - eslint-plugin-promise@5.2.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 + eslint-config-prettier: 10.1.8(eslint@10.12.0(jiti@1.21.6)) - eslint-plugin-vue@8.7.1(eslint@7.32.0): + eslint-plugin-vue@10.11.1(@typescript-eslint/parser@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3))(eslint@10.12.0(jiti@1.21.6))(vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@1.21.6))): dependencies: - eslint: 7.32.0 - eslint-utils: 3.0.0(eslint@7.32.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@1.21.6)) + eslint: 10.12.0(jiti@1.21.6) natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.1.2 - semver: 7.6.3 - vue-eslint-parser: 8.3.0(eslint@7.32.0) - transitivePeerDependencies: - - supports-color - - eslint-plugin-vue@9.33.0(eslint@7.32.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) - eslint: 7.32.0 - globals: 13.24.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.1.2 - semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@7.32.0) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + postcss-selector-parser: 7.1.6 + semver: 7.8.5 + vue-eslint-parser: 10.4.1(eslint@10.12.0(jiti@1.21.6)) + xml-name-validator: 5.0.0 + optionalDependencies: + '@typescript-eslint/parser': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) - eslint-scope@7.2.2: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@2.1.0: - dependencies: - eslint-visitor-keys: 1.3.0 - - eslint-utils@3.0.0(eslint@7.32.0): - dependencies: - eslint: 7.32.0 - eslint-visitor-keys: 2.1.0 - - eslint-visitor-keys@1.3.0: {} - - eslint-visitor-keys@2.1.0: {} - eslint-visitor-keys@3.4.3: {} - eslint@7.32.0: + eslint-visitor-keys@5.0.1: {} + + eslint@10.12.0(jiti@1.21.6): dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.7.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.3 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.7 + ajv: 6.15.0 + cross-spawn: 7.0.6 debug: 4.3.7(supports-color@5.5.0) - doctrine: 3.0.0 - enquirer: 2.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - esquery: 1.6.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.24.0 - ignore: 4.0.6 - import-fresh: 3.3.0 + file-entry-cache: 11.1.5 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - js-yaml: 3.14.1 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 10.2.6 natural-compare: 1.4.0 optionator: 0.9.4 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.6.3 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - table: 6.8.2 - text-table: 0.2.0 - v8-compile-cache: 2.4.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color - espree@7.3.1: - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 - - espree@9.6.1: + espree@11.2.0: dependencies: acorn: 8.18.0 acorn-jsx: 5.3.2(acorn@8.18.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} @@ -6836,11 +6605,13 @@ snapshots: dependencies: estraverse: 5.3.0 - esrecurse@4.3.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 estraverse@5.3.0: {} @@ -6914,9 +6685,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@6.0.1: + file-entry-cache@11.1.5: dependencies: - flat-cache: 3.2.0 + flat-cache: 6.1.23 file-entry-cache@7.0.2: dependencies: @@ -6964,8 +6735,16 @@ snapshots: keyv: 4.5.4 rimraf: 3.0.2 + flat-cache@6.1.23: + dependencies: + cacheable: 2.5.0 + flatted: 3.4.4 + hookified: 1.15.1 + flatted@3.3.1: {} + flatted@3.4.4: {} + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -7010,8 +6789,6 @@ snapshots: es-abstract: 1.23.3 functions-have-names: 1.2.3 - functional-red-black-tree@1.0.1: {} - functions-have-names@1.2.3: {} get-caller-file@2.0.5: {} @@ -7084,6 +6861,10 @@ snapshots: dependencies: is-glob: 4.0.3 + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + glob@13.0.6: dependencies: minimatch: 10.2.6 @@ -7132,9 +6913,7 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@17.13.0: {} globalthis@1.0.4: dependencies: @@ -7158,8 +6937,6 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -7204,6 +6981,10 @@ snapshots: dependencies: has-symbols: 1.0.3 + hashery@1.5.1: + dependencies: + hookified: 1.15.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -7214,6 +6995,10 @@ snapshots: dependencies: parse-passwd: 1.0.0 + hookified@1.15.1: {} + + hookified@2.2.0: {} + hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: @@ -7227,18 +7012,11 @@ snapshots: html-tags@3.3.1: {} - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - http-proxy-agent@4.0.1: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.7(supports-color@5.5.0) + debug: 4.4.3 transitivePeerDependencies: - supports-color optional: true @@ -7246,7 +7024,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7(supports-color@5.5.0) + debug: 4.4.3 transitivePeerDependencies: - supports-color optional: true @@ -7270,10 +7048,10 @@ snapshots: ignore-by-default@1.0.1: {} - ignore@4.0.6: {} - ignore@5.3.2: {} + ignore@7.0.12: {} + image-size@0.5.5: optional: true @@ -7527,10 +7305,6 @@ snapshots: json-stringify-safe@5.0.1: {} - json5@1.0.2: - dependencies: - minimist: 1.2.8 - jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -7543,6 +7317,10 @@ snapshots: dependencies: json-buffer: 3.0.1 + keyv@5.6.0: + dependencies: + '@keyv/serialize': 1.1.1 + kind-of@6.0.3: {} known-css-properties@0.29.0: {} @@ -7645,7 +7423,8 @@ snapshots: lodash.memoize@4.1.2: {} - lodash.merge@4.6.2: {} + lodash.merge@4.6.2: + optional: true lodash.mergewith@4.6.2: optional: true @@ -7890,8 +7669,6 @@ snapshots: nanoid@3.3.7: {} - natural-compare-lite@1.4.0: {} - natural-compare@1.4.0: {} needle@2.9.1: @@ -7988,25 +7765,6 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - obug@2.2.1: {} once@1.4.0: @@ -8299,6 +8057,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.6: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-svgo@5.1.0(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -8332,11 +8095,11 @@ snapshots: prelude-ls@1.2.1: {} - prettier-linter-helpers@1.0.0: + prettier-linter-helpers@1.0.1: dependencies: fast-diff: 1.3.0 - prettier@2.8.8: {} + prettier@3.9.9: {} prismjs@1.29.0: {} @@ -8351,8 +8114,6 @@ snapshots: process-nextick-args@2.0.1: {} - progress@2.0.3: {} - proto-list@1.2.4: {} prr@1.0.1: @@ -8367,6 +8128,10 @@ snapshots: q@1.5.1: {} + qified@0.10.1: + dependencies: + hookified: 2.2.0 + qrcode@1.5.4: dependencies: dijkstrajs: 1.0.3 @@ -8469,8 +8234,6 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 - regexpp@3.2.0: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -8935,6 +8698,10 @@ snapshots: symbol-tree@3.2.4: optional: true + synckit@0.11.13: + dependencies: + '@pkgr/core': 0.3.6 + table@6.8.2: dependencies: ajv: 8.17.1 @@ -9004,8 +8771,6 @@ snapshots: text-extensions@1.9.0: {} - text-table@0.2.0: {} - three@0.127.0: {} through2@2.0.5: @@ -9066,22 +8831,12 @@ snapshots: trim-newlines@4.1.1: {} - tsconfig-paths@3.15.0: + ts-api-utils@2.5.0(typescript@5.9.3): dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - - tslib@1.14.1: {} + typescript: 5.9.3 tslib@2.7.0: {} - tsutils@3.21.0(typescript@5.9.3): - dependencies: - tslib: 1.14.1 - typescript: 5.9.3 - tsx@4.19.3: dependencies: esbuild: 0.25.2 @@ -9104,8 +8859,6 @@ snapshots: type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@0.6.0: {} @@ -9148,6 +8901,17 @@ snapshots: typedarray@0.0.6: {} + typescript-eslint@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.71.1(@typescript-eslint/parser@8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3))(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + '@typescript-eslint/parser': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.71.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.12.0(jiti@1.21.6))(typescript@5.9.3) + eslint: 10.12.0(jiti@1.21.6) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + typescript@5.9.3: {} uc.micro@1.0.6: {} @@ -9201,8 +8965,6 @@ snapshots: util-deprecate@1.0.2: {} - v8-compile-cache@2.4.0: {} - validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -9328,32 +9090,18 @@ snapshots: vue-component-type-helpers@3.3.11: {} - vue-eslint-parser@8.3.0(eslint@7.32.0): + vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@1.21.6)): dependencies: - debug: 4.3.7(supports-color@5.5.0) - eslint: 7.32.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + debug: 4.4.3 + eslint: 10.12.0(jiti@1.21.6) + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 esquery: 1.6.0 - lodash: 4.17.21 semver: 7.8.5 transitivePeerDependencies: - supports-color - vue-eslint-parser@9.4.3(eslint@7.32.0): - dependencies: - debug: 4.3.7(supports-color@5.5.0) - eslint: 7.32.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - lodash: 4.18.1 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - vue-i18n@11.4.12(vue@3.5.42(typescript@5.9.3)): dependencies: '@intlify/core-base': 11.4.12 @@ -9491,7 +9239,7 @@ snapshots: xml-name-validator@3.0.0: optional: true - xml-name-validator@4.0.0: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: optional: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 470e88009..be4387553 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,3 @@ packages: - - "packages/*" - - "site" + - 'packages/*' + - 'site' diff --git a/site/.eslintignore b/site/.eslintignore deleted file mode 100644 index 31240d464..000000000 --- a/site/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -snapshot* -dist -lib -node_modules -common -cypress -script/test/cypress -_site -temp* -tdesign -plugins/tdoc -public -spline diff --git a/site/.eslintrc b/site/.eslintrc deleted file mode 100644 index 085be1045..000000000 --- a/site/.eslintrc +++ /dev/null @@ -1,50 +0,0 @@ -{ - "root": true, - "env": { - "browser": true, - "es2021": true - }, - "extends": ["standard", "prettier"], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "globals": { - "aegis": "readonly", - "NProgress": "readonly" - }, - "rules": { - "indent": ["error", 2] - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"] - }, - { - "files": ["*.vue"], - "extends": ["plugin:vue/vue3-essential"], - "parser": "vue-eslint-parser", - "parserOptions": { - "parser": "@typescript-eslint/parser" - }, - "plugins": ["vue", "@typescript-eslint"], - "env": { - "vue/setup-compiler-macros": true - }, - "rules": { - "vue/multi-word-component-names": 0, - "vue/no-deprecated-slot-attribute": 0 - } - }, - { - "files": ["*.d.ts"], - "parser": "@typescript-eslint/parser", - "rules": { - "no-undef": 0, - "no-unused-vars": 0 - } - } - ] -} diff --git a/site/contributor.html b/site/contributor.html index bbad22986..80aa1272e 100644 --- a/site/contributor.html +++ b/site/contributor.html @@ -1,4 +1,4 @@ - + diff --git a/site/index.html b/site/index.html index a2ce4e946..65d7523ba 100644 --- a/site/index.html +++ b/site/index.html @@ -1,4 +1,4 @@ - + diff --git a/site/package.json b/site/package.json index d3747a9b6..43899751c 100644 --- a/site/package.json +++ b/site/package.json @@ -7,8 +7,6 @@ "preview": "vite preview", "site": "run-s build", "site:preview": "vite build --mode preview", - "lint": "eslint --ext .vue,.js,.ts,.tsx ./src", - "lint:fix": "eslint --ext .vue,.js,.ts,.tsx ./src --fix", "typecheck": "vue-tsc --noEmit" }, "dependencies": { @@ -30,18 +28,11 @@ "@commitlint/cli": "^8.2.0", "@commitlint/config-conventional": "^8.2.0", "@types/markdown-it": "^12.2.3", - "@typescript-eslint/eslint-plugin": "^5.6.0", - "@typescript-eslint/parser": "^5.6.0", + "@types/node": "^22.15.3", "@vitejs/plugin-vue": "^5.2.4", "autoprefixer": "^10.4.0", "cssnano": "^5.0.12", "cz-conventional-changelog": "^3.0.2", - "eslint": "^7.32.0", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.2.0", - "eslint-plugin-vue": "^8.2.0", "gray-matter": "^4.0.3", "less": "^4.9.1", "npm-run-all": "^4.1.5", diff --git a/site/plugins/icons-manifest/index.ts b/site/plugins/icons-manifest/index.ts index 9a210da4b..45cc4f103 100644 --- a/site/plugins/icons-manifest/index.ts +++ b/site/plugins/icons-manifest/index.ts @@ -4,7 +4,7 @@ import fs from 'fs'; import path from 'path'; import type { Plugin, ResolvedConfig } from 'vite'; -// @ts-ignore tdesign-icons-view/manifest has no type declarations +// @ts-expect-error tdesign-icons-view/manifest has no type declarations import { manifest } from 'tdesign-icons-view/manifest'; export default function iconsManifestPlugin(): Plugin { @@ -26,7 +26,7 @@ export default function iconsManifestPlugin(): Plugin { console.log(`[plugin-icons-manifest] 已生成 ${target}`); } catch (error) { const message = error instanceof Error ? error.message : String(error); - throw new Error(`[plugin-icons-manifest] 生成 icons-manifest.json 失败:${message}`); + throw new Error(`[plugin-icons-manifest] 生成 icons-manifest.json 失败:${message}`, { cause: error }); } }, }; diff --git a/site/postcss.config.js b/site/postcss.config.js index e8d68d4cc..7dd2c9cc3 100644 --- a/site/postcss.config.js +++ b/site/postcss.config.js @@ -5,13 +5,13 @@ const plugins = [ 'default', { discardComments: { - removeAll: true - } - } - ] - }) -] + removeAll: true, + }, + }, + ], + }), +]; module.exports = { - plugins -} + plugins, +}; diff --git a/site/src/components/avatar.vue b/site/src/components/avatar.vue index 3df541f47..e3e51e6c2 100644 --- a/site/src/components/avatar.vue +++ b/site/src/components/avatar.vue @@ -1,6 +1,6 @@ diff --git a/site/src/components/design-source.vue b/site/src/components/design-source.vue index 555f472a8..f9de27066 100644 --- a/site/src/components/design-source.vue +++ b/site/src/components/design-source.vue @@ -5,7 +5,7 @@

基础资源10

-
+
@@ -27,7 +27,7 @@

其他6

-
+
diff --git a/site/src/main.ts b/site/src/main.ts index ef8f7c0c0..1d81cd572 100644 --- a/site/src/main.ts +++ b/site/src/main.ts @@ -1,4 +1,3 @@ -/* eslint-disable */ import { createApp } from 'vue'; import { createRouter, createWebHistory } from 'vue-router'; import TDesign from 'tdesign-vue-next'; diff --git a/site/src/pages/about/release.vue b/site/src/pages/about/release.vue index 7ec8a7596..3a722c302 100644 --- a/site/src/pages/about/release.vue +++ b/site/src/pages/about/release.vue @@ -5,7 +5,7 @@
-
+

{{ releaseTimeList[index].title }}

diff --git a/site/src/pages/design/color.vue b/site/src/pages/design/color.vue index 550c16e2c..9ecaadb47 100644 --- a/site/src/pages/design/color.vue +++ b/site/src/pages/design/color.vue @@ -3,10 +3,10 @@