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/.gitignore b/.gitignore
index 0edfaf6b9..6faa593d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,4 +18,8 @@ static_site
lib
## test
-coverage
\ No newline at end of file
+coverage
+
+## lint cache
+.eslintcache
+.stylelintcache
\ No newline at end of file
diff --git a/.husky/commit-msg b/.husky/commit-msg
index b56767669..da9948310 100755
--- a/.husky/commit-msg
+++ b/.husky/commit-msg
@@ -1,4 +1 @@
-#!/usr/bin/env sh
-. "$(dirname -- "$0")/_/husky.sh"
-
npx --no -- commitlint --edit "$1"
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 75026c68d..1992ce5ef 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,13 @@
#!/usr/bin/env sh
-. "$(dirname -- "$0")/_/husky.sh"
+npx lint-staged || exit $?
-npx lint-staged && log_emails=$(git config user.email) && if [[ ${log_emails} =~ '@tencent.com' ]];then echo 本地提交邮箱 $log_emails 校验非法,需要本地更改重新提交 && exit 2;else echo 邮箱 $log_emails 校验通过;fi
+log_emails=$(git config user.email)
+case "$log_emails" in
+ *@tencent.com)
+ echo "本地提交邮箱 $log_emails 校验非法,需要本地更改重新提交"
+ exit 2
+ ;;
+ *)
+ echo "邮箱 $log_emails 校验通过"
+ ;;
+esac
diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg
index ed9d846b1..799067e14 100755
--- a/.husky/prepare-commit-msg
+++ b/.husky/prepare-commit-msg
@@ -1,4 +1 @@
-#!/usr/bin/env sh
-. "$(dirname "$0")/_/husky.sh"
-
-npx czg --hook || true
\ No newline at end of file
+npx czg --hook || true
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 000000000..c8a0283bd
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,11 @@
+node_modules
+.pnpm-store
+
+# build output
+_site
+dist
+results
+static_site
+lib
+coverage
+_data
diff --git a/.stylelintrc.js b/.stylelintrc.js
index b1096f08f..067ed8e05 100644
--- a/.stylelintrc.js
+++ b/.stylelintrc.js
@@ -1,12 +1,28 @@
module.exports = {
extends: ['stylelint-config-standard', 'stylelint-config-standard-less'],
+ overrides: [
+ {
+ files: ['**/*.vue'],
+ customSyntax: 'postcss-html',
+ },
+ {
+ // 内置主题 token 由 TDesign 设计平台导出并直接 import ?raw 使用,
+ // 保留其原始格式(百分比透明度等),不参与本地格式治理
+ files: ['**/themes/built-in/css/**/*.css'],
+ rules: {
+ 'alpha-value-notation': null,
+ 'custom-property-empty-line-before': null,
+ 'no-duplicate-selectors': null,
+ },
+ },
+ ],
rules: {
- 'number-leading-zero': 'never',
'color-function-notation': 'legacy',
'alpha-value-notation': 'number',
// TODO 后面统一改 class 小写 且 BEM,当前按警告提示
+ // 兼容 tdoc 插件(vite-plugin-tdoc)生成的固定目录类名 tdesign-toc_*
'selector-class-pattern': [
- '^[a-z]+([-]?[a-z0-9]+)*(__[a-z0-9]([-]?[a-z0-9]+)*)?(--[a-z0-9]([-]?[a-z0-9]+)*)?$',
+ '^[a-z]+([-]?[a-z0-9]+)*(__[a-z0-9]([-]?[a-z0-9]+)*)?(--[a-z0-9]([-]?[a-z0-9]+)*)?$|^tdesign-toc_',
{
resolveNestedSelectors: true,
message: 'Expected class selector "%s" to be lowercase and BEM format',
@@ -14,5 +30,35 @@ module.exports = {
},
],
'media-feature-range-notation': 'prefix',
+ // 存量 less 中存在同优先级选择器靠书写顺序覆盖的写法,放开该规则以避免大规模重构引发样式回归;
+ // 该规则检查的是「低优先级选择器出现在高优先级之后」,与 Less 嵌套展开无关。
+ // 注意:本次不治理此项,新代码仍应避免低优先级覆盖高优先级的写法。
+ 'no-descending-specificity': null,
+
+ // TDesign 设计 token 采用 camelCase 命名(如 --td-font-size-title-extraLarge、--td-comp-paddingLR-xs),
+ // 属于设计规范约定,不对 custom property 名称做 kebab-case 强制
+ 'custom-property-pattern': null,
+ // 字体名保持原始大小写(PingFang SC、Microsoft YaHei 等),不做小写化
+ 'value-keyword-case': null,
+ // 关键帧名称沿用设计 token 命名风格
+ 'keyframes-name-pattern': null,
+ // Vue 单文件组件使用 :deep() 等作用域样式伪类
+ 'selector-pseudo-class-no-unknown': [
+ true,
+ {
+ ignorePseudoClasses: ['deep', 'global', 'slotted'],
+ },
+ ],
+ // 设计系统需要保留 -webkit- / -moz- 等厂商前缀以兼容旧版 Safari / 小程序等运行时,
+ // 不交由 stylelint 移除(自动前缀由构建侧 postcss/autoprefixer 负责)
+ 'property-no-vendor-prefix': null,
+ 'value-no-vendor-prefix': null,
+ 'selector-no-vendor-prefix': null,
+ 'at-rule-no-vendor-prefix': null,
+ // 保留历史写法(如 rgba() 兼容函数、小数点精度),避免对已上线样式造成回归
+ 'color-function-alias-notation': null,
+ 'number-max-precision': null,
+ // 设计系统会声明特定字体(如 PingFang SC、TCloud Number),不强制追加通用字体族
+ 'font-family-no-missing-generic-family-keyword': null,
},
};
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 873aba2af..b71924499 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,30 +1,28 @@
{
- "typescript.preferences.importModuleSpecifier": "relative",
+ "js/ts.preferences.importModuleSpecifier": "relative",
+
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue"],
- "[html]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
+ "stylelint.validate": ["css", "less", "vue"],
+
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": "explicit",
+ "source.fixAll.stylelint": "explicit"
},
- "[typescriptreact]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "[javascriptreact]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "[typescript]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "[javascript]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "[vue]": {
- "editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "cSpell.words": ["miniprogram", "tdesign", "uniapp"],
+
+ "[html]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[javascript]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[typescript]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[vue]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[json]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[jsonc]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[markdown]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[css]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[less]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+ "[yaml]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" },
+
+ "prettier.requireConfig": true,
+ "files.eol": "\n",
+
+ "cSpell.words": ["miniprogram", "tdesign", "uniapp", "stylelint", "postcss", "wxss", "husky", "pnpm"],
"cSpell.ignorePaths": ["pnpm-lock.yaml", "node_modules", ".git", ".vscode"]
}
diff --git a/README.md b/README.md
index 7441b8e87..59253feb7 100644
--- a/README.md
+++ b/README.md
@@ -24,10 +24,10 @@ The following are the repositories for TDesign:
### Repositories for Mobile Components
-| Repository | Description | Status |
-| ----------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [tdesign-miniprogram](https://github.com/Tencent/tdesign-miniprogram) | Wechat MiniProgram UI components lib for TDesign | [](https://npmjs.com/package/tdesign-miniprogram) |
-| [tdesign-mobile-vue](https://github.com/Tencent/tdesign-mobile-vue) | Vue3.x Mobile UI components lib for TDesign | [](https://npmjs.com/package/tdesign-mobile-vue) |
+| Repository | Description | Status |
+| ----------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [tdesign-miniprogram](https://github.com/Tencent/tdesign-miniprogram) | Wechat MiniProgram UI components lib for TDesign | [](https://npmjs.com/package/tdesign-miniprogram) |
+| [tdesign-mobile-vue](https://github.com/Tencent/tdesign-mobile-vue) | Vue3.x Mobile UI components lib for TDesign | [](https://npmjs.com/package/tdesign-mobile-vue) |
| [tdesign-mobile-react](https://github.com/Tencent/tdesign-mobile-react) | React Mobile UI components lib for TDesign | [](https://npmjs.com/package/tdesign-mobile-react) |
| [tdesign-flutter](https://github.com/Tencent/tdesign-flutter) | Flutter UI components lib for TDesign | [](https://pub.dev/packages/tdesign_flutter) |
| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | Uniapp UI components lib for TDesign | [](https://npmjs.com/package/@tdesign/uniapp) |
@@ -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/README_zh-CN.md b/README_zh-CN.md
index e052a5383..a00682c7e 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -25,10 +25,10 @@ TDesign 是一个 `multi-repo`, TDesign 有如下代码仓库:
### 移动端组件库
-| 仓库 | 描述 | 状态 |
-| ----------------------------------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [tdesign-miniprogram](https://github.com/Tencent/tdesign-miniprogram) | TDesign 微信小程序组件库 | [](https://npmjs.com/package/tdesign-miniprogram) |
-| [tdesign-mobile-vue](https://github.com/Tencent/tdesign-mobile-vue) | TDesign Vue3.x 移动端组件库 | [](https://npmjs.com/package/tdesign-mobile-vue) |
+| 仓库 | 描述 | 状态 |
+| ----------------------------------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [tdesign-miniprogram](https://github.com/Tencent/tdesign-miniprogram) | TDesign 微信小程序组件库 | [](https://npmjs.com/package/tdesign-miniprogram) |
+| [tdesign-mobile-vue](https://github.com/Tencent/tdesign-mobile-vue) | TDesign Vue3.x 移动端组件库 | [](https://npmjs.com/package/tdesign-mobile-vue) |
| [tdesign-mobile-react](https://github.com/Tencent/tdesign-mobile-react) | TDesign React 移动端组件库 | [](https://npmjs.com/package/tdesign-mobile-react) |
| [tdesign-flutter](https://github.com/Tencent/tdesign-flutter) | TDesign Flutter 组件库 | [](https://pub.dev/packages/tdesign_flutter) |
| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | TDesign Uniapp 组件库 | [](https://npmjs.com/package/@tdesign/uniapp) |
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 平台通用,内容持续更新
- 官方用户群:微信或企业微信扫码加入,随时与官方交流,获取最新动态
- 
-
-------
-
+ 
+---
## **一、下载及安装**
1. 访问[TDesign 设计资源库](https://tdesign.tencent.com/source)下载最新版 Axure 元件库
-
+ 
2. 打开 Axure,找到【元件库面板】
-
+ 
3. 单击元件库面板右上角【选项】按钮,在下拉菜单中点击【载入元件库】按钮
-
+ 
4. 选择【TDesign_Axure_Library_Web_1.1.0.rplib】
-
+ 
5. 稍等片刻,导入完成后就可以在元件库面板看到已装载的 TDesign 元件库了
-
-
-
+ 
## **二、使用元件库**
1. 在元件库中找到需要的元件,你也可以通过搜索元件名称找到需要的元件
2. 将元件拖动到画布
-
+ 
3. 解除编组(shift+command+g),删除不需要的元件,修改现有元件内容(注:按钮、列表等做了自适应设计,可以根据文本宽度自动扩充宽度)
-
+ 
4. 完成设计后,点击右上角【预览】按钮即可在浏览中查看(注:按钮等元素已内置 hover、点击等状态)
-
+ 
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 5cee63086..84e2dfcf6 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 | `1.0 LTS` |
| [tdesign-flutter](https://github.com/Tencent/tdesign-flutter) | Flutter UI components lib for TDesign | `1.0 LTS` |
-| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | Uniapp UI components lib for TDesign | `1.0 LTS` |
+| [tdesign-uniapp](https://github.com/Tencent/tdesign-miniprogram) | Uniapp UI components lib for TDesign | `1.0 LTS` |
### 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..c5cf3457e
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,148 @@
+import js from '@eslint/js';
+import prettierConfig from 'eslint-config-prettier';
+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/plugins/tdoc/**',
+ 'site/public/**',
+ 'site/src/pages/design/assets/motion/**',
+ ],
+ },
+
+ js.configs.recommended,
+ ...tseslint.configs.recommended,
+ ...tseslint.configs.stylistic,
+ ...pluginVue.configs['flat/recommended'],
+ prettierConfig,
+
+ {
+ linterOptions: {
+ reportUnusedDisableDirectives: 'error',
+ },
+ rules: {
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
+ // smart 模式允许 `== null` / `!= null` 这类惯用写法,其余松散比较强制严格相等
+ eqeqeq: ['error', 'smart'],
+ 'no-var': 'error',
+ 'prefer-const': 'error',
+ // 允许空的箭头函数/方法:项目里大量用作默认回调、清理钩子等有意为之的空实现
+ '@typescript-eslint/no-empty-function': ['error', { allow: ['arrowFunctions', 'methods'] }],
+ },
+ },
+
+ {
+ // 浏览器端源码:仅注入浏览器全局,避免误用 Node 专有全局
+ files: ['site/src/**'],
+ languageOptions: {
+ globals: {
+ ...globals.browser,
+ aegis: 'readonly',
+ NProgress: 'readonly',
+ },
+ },
+ },
+
+ {
+ // Node 端源码:仅注入 Node 全局
+ files: ['services/**', 'packages/*/script/**', 'packages/*/config/**'],
+ languageOptions: {
+ globals: {
+ ...globals.node,
+ },
+ },
+ },
+
+ {
+ 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,
+ },
+ },
+ 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',
+ 'vue/no-unused-refs': 'error',
+ 'vue/no-useless-template-attributes': 'error',
+ },
+ },
+
+ {
+ // Node CommonJS 配置文件(module.exports / require)
+ files: [
+ '**/*.cjs',
+ 'services/**/*.js',
+ '.commitlintrc.js',
+ '.prettierrc.js',
+ '.stylelintrc.js',
+ 'site/postcss.config.js',
+ ],
+ languageOptions: {
+ globals: {
+ ...globals.node,
+ },
+ },
+ 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'] }],
+ },
+ },
+
+ {
+ // 这些文件仅渲染受信任的内容:本地导入的 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..0bde56a50 100644
--- a/package.json
+++ b/package.json
@@ -12,30 +12,44 @@
"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": "run-s lint:parallel typecheck",
+ "lint:parallel": "run-p lint:css lint:js lint:eslint",
+ "lint:css": "stylelint \"**/*.{css,wxss,less,vue}\" --allow-empty-input --cache",
+ "lint:js": "prettier --check \"**/*.{vue,js,ts,jsx,tsx,json,md}\"",
+ "lint:eslint": "eslint . --max-warnings 0 --cache",
+ "lint:css:fix": "stylelint \"**/*.{css,wxss,less,vue}\" --fix --allow-empty-input --cache",
+ "lint:js:fix": "prettier --write \"**/*.{vue,js,ts,jsx,tsx,json,md}\"",
+ "lint:eslint:fix": "eslint . --fix --max-warnings 0 --cache",
+ "lint:fix": "pnpm run lint:css:fix && pnpm run lint:js:fix && pnpm run lint:eslint:fix",
+ "typecheck": "pnpm -r run --if-present typecheck",
+ "format": "pnpm run lint:js:fix",
"build": "pnpm -r run --if-present build",
- "prepare": "husky install"
+ "prepare": "husky"
},
"license": "MIT",
"dependencies": {
"prismjs": "^1.29.0"
},
"devDependencies": {
- "@commitlint/cli": "^8.2.0",
- "@commitlint/config-conventional": "^8.2.0",
- "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",
- "husky": "^8.0.0",
- "lint-staged": "^16.3.4",
- "prettier": "^2.8.8",
- "rimraf": "^3.0.2",
- "stylelint": "^15.10.3",
- "stylelint-config-standard": "^34.0.0",
- "stylelint-config-standard-less": "^2.0.0"
+ "@commitlint/cli": "^21.2.4",
+ "@commitlint/config-conventional": "^21.2.4",
+ "@eslint/js": "^10.0.1",
+ "cz-conventional-changelog": "^3.3.0",
+ "eslint": "^10.13.0",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-vue": "^10.11.1",
+ "globals": "^17.13.0",
+ "husky": "^9.1.7",
+ "lint-staged": "^17.6.0",
+ "npm-run-all2": "^9.0.3",
+ "postcss-html": "^2.0.0",
+ "prettier": "^3.9.10",
+ "rimraf": "^6.1.3",
+ "stylelint": "^17.16.0",
+ "stylelint-config-standard": "^40.0.0",
+ "stylelint-config-standard-less": "^4.1.0",
+ "typescript-eslint": "^8.72.0",
+ "vue-eslint-parser": "^10.4.1"
},
"engines": {
"pnpm": ">=9.0.0"
@@ -46,18 +60,24 @@
}
},
"lint-staged": {
- "**/*.{vue,js,ts,tsx}": [
- "eslint --fix",
+ "**/*.vue": [
+ "stylelint --fix",
+ "eslint --fix --no-warn-ignored",
+ "prettier --write"
+ ],
+ "**/*.{js,ts,jsx,tsx,mts,cts}": [
+ "eslint --fix --no-warn-ignored",
"prettier --write"
],
"**/*.html": [
"prettier --write"
],
- "**/*.{json,jsonc}": [
+ "**/*.{json,jsonc,md}": [
"prettier --write"
],
- "**/*.less": [
- "stylelint --fix"
+ "**/*.{css,less,wxss}": [
+ "stylelint --fix",
+ "prettier --write"
]
}
}
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..ab10e6312 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();
@@ -108,7 +108,7 @@ export function getReleaseData() {
}
export function getReleaseContent(projectOutputs: string[]) {
- return projectOutputs.filter((output) => output.trim() != '').join('\n');
+ return projectOutputs.filter((output) => output.trim() !== '').join('\n');
}
export function createRelease(tag: string, title: string, content: string) {
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/config/header.ts b/packages/site-components/config/header.ts
index 804aad6bd..aea803c8e 100755
--- a/packages/site-components/config/header.ts
+++ b/packages/site-components/config/header.ts
@@ -96,11 +96,9 @@ export const getHeaderConfig = (): HeaderConfig => {
const intranet = isIntranet();
const en = isEn();
- const headerItems: Array = [
- { name: en ? 'Design' : '设计语言', path: jumpLocation('/design'), type: 'main', target: '_self' },
- { name: en ? 'Resources' : '设计资源', path: jumpLocation('/source'), type: 'main', target: '_self' },
- { name: en ? 'Components' : '前端组件', type: 'base', target: '_self' },
- { name: en ? 'Icons' : '图标', path: jumpLocation('/icons'), type: 'main', target: '_self' },
+ const headerItems: (HeaderItem | null)[] = [
+ { name: en ? 'Design' : '设计', path: jumpLocation('/design'), type: 'main', target: '_self' },
+ { name: en ? 'Components' : '基础组件', path: jumpLocation('/vue/overview'), type: 'base', target: '_self' },
intranet ? { name: en ? 'Industry component' : '行业组件', path: '/trade', type: 'main', target: '_self' } : null,
{
name: en ? 'Templates' : '页面模板',
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 3d59c6e4b..e5701cf94 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/script/compile-less.ts b/packages/site-components/script/compile-less.ts
index 02f547454..2e1e03b40 100755
--- a/packages/site-components/script/compile-less.ts
+++ b/packages/site-components/script/compile-less.ts
@@ -1,4 +1,3 @@
-/* eslint-disable no-console */
import fs from 'fs-extra';
import { execSync } from 'child_process';
diff --git a/packages/site-components/src/__tests__/td-doc-popup.spec.ts b/packages/site-components/src/__tests__/td-doc-popup.spec.ts
index ca5eeeef5..196ae4bbe 100644
--- a/packages/site-components/src/__tests__/td-doc-popup.spec.ts
+++ b/packages/site-components/src/__tests__/td-doc-popup.spec.ts
@@ -2,13 +2,13 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
import type { Mock } from 'vitest';
import docPopup from '../components/td-doc-popup';
-type PopupHost = {
+interface PopupHost {
reference: { offsetWidth: number };
placement: string;
portalClass: string;
portalStyle: string;
querySelector: Mock;
-};
+}
const visibleProp = docPopup.visible as unknown as {
connect: (host: PopupHost) => () => void;
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..bbd913341 100755
--- a/packages/site-components/src/components/td-backtop/style.less
+++ b/packages/site-components/src/components/td-backtop/style.less
@@ -14,20 +14,20 @@
box-sizing: border-box;
backdrop-filter: blur(10px);
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 {
transform: scale(0.95);
}
@@ -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..0a9c4f558 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,12 @@
-@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;
@@ -54,7 +54,7 @@
height: 1px;
position: absolute;
left: 0;
- bottom: 0px;
+ bottom: 0;
z-index: 10;
background: var(--brand-main);
transition: all 0.2s var(--anim-time-fn-easing);
@@ -76,12 +76,11 @@
color: var(--text-primary);
&:hover {
-
&::-webkit-scrollbar-thumb {
background-color: var(--bg-color-scroll);
}
}
-
+
&::-webkit-scrollbar {
width: 12px;
height: 12px;
@@ -91,7 +90,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..b2f38a001 100755
--- a/packages/site-components/src/components/td-code/style.less
+++ b/packages/site-components/src/components/td-code/style.less
@@ -10,5 +10,5 @@
}
.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..4b979db9d 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;
@@ -50,7 +52,7 @@
font-size: 16px;
height: 40px;
line-height: 40px;
- font-family: TencentSansW7;
+ font-family: 'TencentSansW7', sans-serif;
}
&__extra {
@@ -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;
}
@@ -148,14 +148,13 @@
height: 40px;
padding: 0 12px;
line-height: 40px;
- text-decoration: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
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 +175,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..50c7e5496 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,259 @@
.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;
+ inset: 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%);
+ -webkit-animation: spin 1s linear infinite;
+ 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..a01b8a297 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:
+ 0 3px 14px 2px rgba(0, 0, 0, 0.05),
+ 0 8px 10px 1px rgba(0, 0, 0, 0.06),
+ 0 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..a8c5d55a1 100644
--- a/packages/site-components/src/components/td-doc-demo/index.ts
+++ b/packages/site-components/src/components/td-doc-demo/index.ts
@@ -87,12 +87,12 @@ 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 =
languageArr.length > 0 &&
- languageArr.filter((lang) => host.dataset?.[lang] || host.dataset?.[lang.toLocaleLowerCase()]).length ==
+ languageArr.filter((lang) => host.dataset?.[lang] || host.dataset?.[lang.toLocaleLowerCase()]).length ===
languageArr.length;
const currentLang = languageArr[currentLangIndex] || '';
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..8fa75a37f 100755
--- a/packages/site-components/src/components/td-doc-empty/style.less
+++ b/packages/site-components/src/components/td-doc-empty/style.less
@@ -1,8 +1,8 @@
.TDesign-doc-empty {
-
.light {
display: var(--theme-block-light-display);
}
+
.dark {
display: var(--theme-block-dark-display);
}
diff --git a/packages/site-components/src/components/td-doc-footer/index.ts b/packages/site-components/src/components/td-doc-footer/index.ts
index 09af565ea..b31a4283a 100644
--- a/packages/site-components/src/components/td-doc-footer/index.ts
+++ b/packages/site-components/src/components/td-doc-footer/index.ts
@@ -41,7 +41,7 @@ const groupCodeMap = {
design: designGroup,
} satisfies Record;
-const communityPlatforms: Array<{ type: GroupType; name: string; icon: string }> = [
+const communityPlatforms: { type: GroupType; name: string; icon: string }[] = [
{ type: 'vue', name: 'Vue', icon: vueLogo },
{ type: 'wx', name: 'MiniProgram', icon: wxLogo },
{ type: 'react', name: 'React', icon: reactLogo },
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..eeb13e387 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',
`
@@ -142,7 +137,7 @@ export default define({
const background =
shadowRoot.querySelector('.TDesign-doc-header__background') ?? document.createElement('div');
const changelogEntry =
- shadowRoot.querySelector('#TDesign-doc-changelog__entry') ?? document.createElement('div');
+ shadowRoot.querySelector('.TDesign-doc-changelog__entry') ?? document.createElement('div');
const title =
shadowRoot.querySelector('.TDesign-doc-header__info-title') ?? document.createElement('div');
const describe =
@@ -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``
+ }
diff --git a/packages/site-components/src/components/td-header/portal.less b/packages/site-components/src/components/td-header/portal.less
index a78a058fa..e86f29d61 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;
@@ -95,20 +95,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;
}
}
}
@@ -117,4 +117,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 737c94916..fd2dd20a5 100755
--- a/packages/site-components/src/components/td-header/style.less
+++ b/packages/site-components/src/components/td-header/style.less
@@ -1,6 +1,7 @@
/* stylelint-disable */
:host {
position: relative;
+
--header-inner-max-width: 100%;
--header-inner-padding: 0 24px;
--search-display: block;
@@ -129,7 +130,7 @@
svg path {
transition: d 0.2s;
- stroke: currentColor;
+ stroke: currentcolor;
}
}
}
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..a041f9039 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
@@ -1,7 +1,7 @@
.TDesign-collapse-menu__list {
min-height: 32px;
- -webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
+ -webkit-backdrop-filter: blur(6px);
display: flex;
padding: 8px;
width: 254px;
@@ -68,18 +68,19 @@
.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 82965e0f5..d138ba929 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';
@@ -37,13 +36,15 @@ function renderMenu(list: EcosystemCategory[]) {
const len = list.length;
return list.map(
(category, index) => html`
- ${category.categoryUrl && category.categoryUrl !== 'null'
- ? html`
-
- ${category.categoryTitle}
-
- `
- : html` ${category.categoryTitle} `}
+ ${
+ category.categoryUrl && category.categoryUrl !== 'null'
+ ? html`
+
+ ${category.categoryTitle}
+
+ `
+ : html` ${category.categoryTitle} `
+ }
${renderList(category.items)} ${index < len - 1 ? html`` : html``}
`,
);
diff --git a/packages/site-components/src/components/td-logo/portal.less b/packages/site-components/src/components/td-logo/portal.less
index 5b8e58550..68f019abd 100755
--- a/packages/site-components/src/components/td-logo/portal.less
+++ b/packages/site-components/src/components/td-logo/portal.less
@@ -16,6 +16,7 @@
span.title:hover {
cursor: auto;
color: var(--text-primary);
+ font-family: 'TencentSansW7', sans-serif;
}
.title {
@@ -26,6 +27,7 @@
line-height: 22px;
transition: color 0.2s linear;
text-decoration: none;
+ font-family: 'TencentSansW7', sans-serif;
&:hover {
color: var(--brand-main);
@@ -41,10 +43,8 @@
.list {
display: flex;
- flex-wrap: wrap;
- flex-direction: var(--list-direction);
- row-gap: 8px;
- column-gap: 8px;
+ flex-flow: var(--list-direction) wrap;
+ gap: 8px;
.item {
text-decoration: none;
@@ -54,8 +54,7 @@
box-sizing: border-box;
display: flex;
align-items: center;
- row-gap: 8px;
- column-gap: 8px;
+ gap: 8px;
transition: all 0.2s linear;
&:hover {
@@ -82,7 +81,7 @@
.name {
color: var(--text-primary);
- font-family: TencentSansW7;
+ font-family: 'TencentSansW7', sans-serif;
}
.desc {
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..0cfdaee4f 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;
@@ -23,21 +23,26 @@
&.t-message-enter {
top: 32px;
}
+
&.t-message-leave {
top: -100px;
}
}
+
.t-message > .t-icon {
color: var(--brand-main);
margin-right: 8px;
font-size: 16px;
}
+
.t-message.t-is-success > .t-icon {
color: var(--success-main);
}
+
.t-message.t-is-warning > .t-icon {
color: var(--warning-main);
}
+
.t-message.t-is-error > .t-icon {
color: var(--error-main);
}
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..3e9296132 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;
@@ -35,7 +35,7 @@ function renderOptions(host: SelectHost) {
return html`
${options.map((item) => {
- const isActive = item.value == host.value;
+ const isActive = String(item.value) === String(host.value);
return html`
- ({
render: (host) => {
const { options, value, visible, borderless } = host;
- const activeItem = options.find((item) => item.value == value);
+ const activeItem = options.find((item) => String(item.value) === String(value));
const inputValue = activeItem?.label || '';
const selectInputClass = {
diff --git a/packages/site-components/src/components/td-select/style.less b/packages/site-components/src/components/td-select/style.less
index 438e8625e..a2d8eccd4 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;
@@ -56,14 +55,15 @@
.suffix-icon {
display: inline-flex;
+
svg path {
transition: d 0.2s;
- stroke: currentColor;
+ stroke: currentcolor;
}
&.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..aab6dee3d 100755
--- a/packages/site-components/src/components/td-switch/style.less
+++ b/packages/site-components/src/components/td-switch/style.less
@@ -60,12 +60,9 @@
transition: all 0.2s var(--anim-time-fn-easing);
&::before {
- content: "";
+ content: '';
position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
+ inset: 0;
border-radius: 12px;
background-color: var(--text-anti);
transition: all 0.2s var(--anim-time-fn-easing);
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..de2d32795 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:
+ 0 3px 14px 2px rgba(0, 0, 0, 0.05),
+ 0 8px 10px 1px rgba(0, 0, 0, 0.06),
+ 0 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/env.d.ts b/packages/site-components/src/env.d.ts
index 58ece7602..1a2d1f73c 100644
--- a/packages/site-components/src/env.d.ts
+++ b/packages/site-components/src/env.d.ts
@@ -5,15 +5,13 @@ interface WebChatSdkInstance {
onChatEnd(callback: (payload: { content: string }) => void): void;
}
-interface WebChatSdkConstructor {
- new (options: {
- logo: string;
- logoLarge: string;
- style: { background: string };
- knowledgeBase: string;
- keywords: string;
- }): WebChatSdkInstance;
-}
+type WebChatSdkConstructor = new (options: {
+ logo: string;
+ logoLarge: string;
+ style: { background: string };
+ knowledgeBase: string;
+ keywords: string;
+}) => WebChatSdkInstance;
interface Window {
WebChatSdk?: WebChatSdkConstructor;
@@ -23,15 +21,15 @@ interface Window {
aegis?: unknown;
pgvMain?: () => void;
showTdMessage?: (options: { content: string; duration?: number; theme?: string }) => void;
- platforms?: Array<{ name: string; url: string }>;
+ platforms?: { name: string; url: string }[];
routerList?: unknown[];
docInfo?: { title: string; desc: string[] };
- contributors?: Array<{ username: string }>;
+ contributors?: { username: string }[];
code?: string;
tsCode?: string;
compositionCode?: string;
usageConfig?: unknown[];
- usagePanelList?: Array<{ label: string; value: string }>;
+ usagePanelList?: { label: string; value: string }[];
}
interface WindowEventMap {
@@ -40,15 +38,13 @@ interface WindowEventMap {
storageChange: Event;
}
-interface AegisConstructor {
- new (options: {
- id: string;
- uin?: string;
- reportApiSpeed: boolean;
- reportAssetSpeed: boolean;
- spa: boolean;
- hostUrl?: string;
- }): unknown;
-}
+type AegisConstructor = new (options: {
+ id: string;
+ uin?: string;
+ reportApiSpeed: boolean;
+ reportAssetSpeed: boolean;
+ spa: boolean;
+ hostUrl?: string;
+}) => unknown;
declare const Aegis: AegisConstructor;
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 1eab0f60d..308d8ca8d 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, .06), 0 1px 10px rgba(0, 0, 0, .08), 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, .2);
// 内投影 用于弹窗类组件(气泡确认框 / 全局提示 / 消息通知)的内描边
- --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;
@@ -63,8 +65,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
@@ -76,15 +78,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; // 文字反色色彩
--text-interactive: #0052d9;
@@ -123,11 +125,11 @@
// 主题中心相关
// 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..36cd71759 100755
--- a/packages/site-components/src/styles/docs.less
+++ b/packages/site-components/src/styles/docs.less
@@ -3,7 +3,7 @@
.header-anchor {
width: @width;
height: @height;
- background-image: url(../images/link.svg);
+ background-image: url('../images/link.svg');
background-repeat: no-repeat;
background-size: 100% auto;
margin-left: 8px;
@@ -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);
}
@@ -130,12 +128,12 @@ div[name="DESIGN"] {
border-radius: 3px;
padding: 2px 6px;
font-size: 12px;
- word-break: break-word;
+ overflow-wrap: break-word;
}
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 +165,7 @@ div[name="DESIGN"] {
}
tr {
- transition: all .2s;
+ transition: all 0.2s;
}
tr:hover {
@@ -269,7 +267,7 @@ div[name="DESIGN"] {
.tdesign-header-anchor,
.header-anchor {
text-decoration: none;
- transition: opacity .3s;
+ transition: opacity 0.3s;
opacity: 0;
}
}
@@ -325,7 +323,6 @@ div[name="DESIGN"] {
}
.tdesign-toc_list_item_a {
- text-decoration: none;
margin-left: -1px;
padding-left: 16px;
margin-bottom: 4px;
@@ -349,8 +346,7 @@ div[name="DESIGN"] {
}
}
-div[name="DESIGN"] {
-
+div[name='DESIGN'] {
h5 + .legend {
margin-top: -16px;
}
@@ -381,8 +377,7 @@ div[name="DESIGN"] {
}
}
-div[name="DOC"] {
-
+div[name='DOC'] {
image {
margin: 0;
border-radius: 6px;
@@ -391,7 +386,6 @@ div[name="DOC"] {
// 组件概览
h3 {
-
.tag {
color: var(--text-secondary);
padding: 0 12px;
@@ -410,8 +404,7 @@ div[name="DOC"] {
margin-top: 16px;
display: flex;
flex-wrap: wrap;
- column-gap: 16px;
- row-gap: 16px;
+ gap: 16px;
}
.image-wrapper {
@@ -421,15 +414,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 +434,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:
+ 0 6px 30px 5px rgba(0, 0, 0, 0.05),
+ 0 16px 24px 2px rgba(0, 0, 0, 0.04),
+ 0 8px 10px -5px rgba(0, 0, 0, 0.08);
.name {
color: var(--text-primary);
@@ -467,7 +466,7 @@ div[name="DOC"] {
text-overflow: ellipsis;
overflow: hidden;
white-space: pre;
- transition: all .2s linear;
+ transition: all 0.2s linear;
}
}
}
@@ -481,4 +480,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..0c732eb8a 100755
--- a/packages/site-components/src/styles/prism-theme-dark.less
+++ b/packages/site-components/src/styles/prism-theme-dark.less
@@ -1,190 +1,189 @@
-: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;
+ overflow-wrap: normal;
+ 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..d12b74c9f 100755
--- a/packages/site-components/src/styles/prism-theme.less
+++ b/packages/site-components/src/styles/prism-theme.less
@@ -1,44 +1,44 @@
-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;
+ overflow-wrap: normal;
+ 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 +185,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 6fb3879eb..420cb9ec1 100755
--- a/packages/site-components/src/styles/reset.less
+++ b/packages/site-components/src/styles/reset.less
@@ -59,7 +59,7 @@ 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;
@@ -71,4 +71,4 @@ p {
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 3b56a0c05..bde2eb675 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;
@@ -26,8 +26,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, .05), 0 4px 5px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .12);
@@ -60,10 +62,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;
@@ -85,8 +87,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
@@ -98,15 +100,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); // 主题色文字色彩
@@ -114,7 +116,7 @@
// 主题相关配置
--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);
@@ -146,11 +148,11 @@
// 主题中心相关
// 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..506cc7310 100644
--- a/packages/theme-generator/src/size-panel/index.vue
+++ b/packages/theme-generator/src/size-panel/index.vue
@@ -34,7 +34,7 @@
{{ lang.size.componentSize }}
size
-
+
@@ -59,7 +59,11 @@
{{ lang.size.yPadding }}
padding top & bottom
-
+
@@ -84,7 +88,11 @@
{{ lang.size.xPadding }}
padding left & right
-
+
@@ -109,7 +117,7 @@
{{ lang.size.popupPadding }}
popup padding
-
+
@@ -134,7 +142,7 @@
{{ lang.size.margin }}
margin
-
+
@@ -250,7 +258,7 @@ onMounted(() => {
color: var(--text-primary);
font-weight: 600;
margin-bottom: 8px;
- margin-top: 0px;
+ margin-top: 0;
line-height: 22px;
display: flex;
align-items: center;
@@ -258,7 +266,7 @@ onMounted(() => {
&__subtitle {
font-size: 12px;
- margin: 4px 0 10px 0;
+ margin: 4px 0 10px;
button {
margin-right: 8px;
@@ -271,6 +279,7 @@ onMounted(() => {
display: flex;
flex-wrap: wrap;
margin: 0 -4px;
+
> div {
margin: 4px;
}
@@ -326,7 +335,7 @@ onMounted(() => {
}
&__custom {
- margin: 16px 0 8px 0;
+ margin: 16px 0 8px;
padding: 2px;
height: 131px;
background: conic-gradient(
@@ -341,15 +350,18 @@ onMounted(() => {
border-radius: 9px;
cursor: pointer;
transition: padding 0.2s;
+
&:hover {
padding: 4px;
}
+
&-inner {
background-color: var(--bg-color-card);
padding: 4px;
border-radius: 7px;
max-height: 100%;
}
+
&-top {
padding: 10px 12px;
font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
@@ -377,6 +389,7 @@ onMounted(() => {
color: var(--text-primary);
font-weight: 600;
}
+
&:last-child {
font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 60f00bc1d..ed653e3a5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,47 +13,62 @@ importers:
version: 1.29.0
devDependencies:
'@commitlint/cli':
- specifier: ^8.2.0
- version: 8.3.6
+ specifier: ^21.2.4
+ version: 21.2.4(conventional-commits-parser@7.1.3)(typescript@5.9.3)
'@commitlint/config-conventional':
- specifier: ^8.2.0
- version: 8.3.6
+ specifier: ^21.2.4
+ version: 21.2.4
+ '@eslint/js':
+ specifier: ^10.0.1
+ version: 10.0.1(eslint@10.13.0(jiti@2.7.0))
cz-conventional-changelog:
- specifier: ^3.0.2
+ specifier: ^3.3.0
version: 3.3.0(@types/node@22.20.4)(typescript@5.9.3)
eslint:
- specifier: ^7.32.0
- version: 7.32.0
+ specifier: ^10.13.0
+ version: 10.13.0(jiti@2.7.0)
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
- 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: ^10.1.8
+ version: 10.1.8(eslint@10.13.0(jiti@2.7.0))
+ eslint-plugin-vue:
+ specifier: ^10.11.1
+ version: 10.11.1(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.13.0(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@10.13.0(jiti@2.7.0)))
+ globals:
+ specifier: ^17.13.0
+ version: 17.13.0
husky:
- specifier: ^8.0.0
- version: 8.0.3
+ specifier: ^9.1.7
+ version: 9.1.7
lint-staged:
- specifier: ^16.3.4
- version: 16.4.0
+ specifier: ^17.6.0
+ version: 17.6.0
+ npm-run-all2:
+ specifier: ^9.0.3
+ version: 9.0.3
+ postcss-html:
+ specifier: ^2.0.0
+ version: 2.0.0(postcss@8.5.26)
prettier:
- specifier: ^2.8.8
- version: 2.8.8
+ specifier: ^3.9.10
+ version: 3.9.10
rimraf:
- specifier: ^3.0.2
- version: 3.0.2
+ specifier: ^6.1.3
+ version: 6.1.3
stylelint:
- specifier: ^15.10.3
- version: 15.11.0(typescript@5.9.3)
+ specifier: ^17.16.0
+ version: 17.16.0(typescript@5.9.3)
stylelint-config-standard:
- specifier: ^34.0.0
- version: 34.0.0(stylelint@15.11.0(typescript@5.9.3))
+ specifier: ^40.0.0
+ version: 40.0.0(stylelint@17.16.0(typescript@5.9.3))
stylelint-config-standard-less:
- specifier: ^2.0.0
- version: 2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3))
+ specifier: ^4.1.0
+ version: 4.1.0(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3))
+ typescript-eslint:
+ specifier: ^8.72.0
+ version: 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ vue-eslint-parser:
+ specifier: ^10.4.1
+ version: 10.4.1(eslint@10.13.0(jiti@2.7.0))
packages/auto-release-collection:
dependencies:
@@ -61,12 +76,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 +122,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)
@@ -136,10 +139,10 @@ importers:
version: 5.9.3
vite:
specifier: ^6.4.3
- version: 6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
+ version: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
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.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
+ 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@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
packages/theme-generator:
dependencies:
@@ -168,21 +171,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))
+ version: 5.2.4(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(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
@@ -194,13 +188,10 @@ importers:
version: 5.9.3
vite:
specifier: ^6.4.3
- version: 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)
+ version: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
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)
+ 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@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
vue-tsc:
specifier: ^3.3.11
version: 3.3.11(typescript@5.9.3)
@@ -247,51 +238,21 @@ importers:
specifier: ^4.5.1
version: 4.6.4(vue@3.5.42(typescript@5.9.3))
devDependencies:
- '@commitlint/cli':
- specifier: ^8.2.0
- version: 8.3.6
- '@commitlint/config-conventional':
- specifier: ^8.2.0
- version: 8.3.6
'@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))
+ version: 5.2.4(vite@6.3.1(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))(vue@3.5.42(typescript@5.9.3))
autoprefixer:
specifier: ^10.4.0
version: 10.4.20(postcss@8.4.47)
cssnano:
specifier: ^5.0.12
version: 5.1.15(postcss@8.4.47)
- 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
@@ -305,8 +266,8 @@ importers:
specifier: ^8.4.5
version: 8.4.47
rimraf:
- specifier: ^3.0.2
- version: 3.0.2
+ specifier: ^6.1.3
+ version: 6.1.3
standard-version:
specifier: ^7.0.1
version: 7.1.0
@@ -315,7 +276,7 @@ importers:
version: 5.9.3
vite:
specifier: ^6.3.1
- version: 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)
+ version: 6.3.1(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
vite-plugin-tdoc:
specifier: ^2.0.0
version: 2.0.4(@types/markdown-it@12.2.3)
@@ -331,9 +292,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'}
@@ -342,10 +300,6 @@ packages:
resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-validator-identifier@7.29.7':
resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
engines: {node: '>=6.9.0'}
@@ -375,108 +329,160 @@ packages:
resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
engines: {node: '>=18'}
- '@commitlint/cli@8.3.6':
- resolution: {integrity: sha512-fg8p9/ZrzhUPIXBGrpzwKu50WT13jYS5OffYlkStPuemuv0GjXu37B8J/zNgu6UhrdBVHbmBR0LriKAzRLG/4g==}
- engines: {node: '>=4'}
+ '@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@21.2.4':
+ resolution: {integrity: sha512-g3M/wrQdElqGH5vROIeL2QiYIxrzqUkhCgsDyDlWfKEyQdCt10OyMB28W2cJtpZ+VNGMvmaN923infr1hOfyrg==}
+ engines: {node: '>=22.12.0'}
hasBin: true
- '@commitlint/config-conventional@8.3.6':
- resolution: {integrity: sha512-sbjDwFoa0on+IUbnBswd1ZTa8bkcDlzgWS/s2HapwNw8CBHBuoJbBDOQBqaYLI4b4O7SHYyArMx3V1FvUXTVsg==}
+ '@commitlint/config-conventional@21.2.4':
+ resolution: {integrity: sha512-IRldtwgNmR0SySR7wizFbhRmq45lPt6H3XCNTMyVN7jrPLgi8JlTRR6Eg1HLWUQt9P1Lh3k6eY25ilDa47EE6w==}
+ engines: {node: '>=22.12.0'}
'@commitlint/config-validator@19.5.0':
resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==}
engines: {node: '>=v18'}
- '@commitlint/ensure@8.3.6':
- resolution: {integrity: sha512-UUipnA7sX3OSUW39pi4Etf7pKrG76uM33ybs5YTEOZbT6zb3aKUS+A1ygo52eX+tqpxCiV+6qSy5qEKG8c1aeA==}
- engines: {node: '>=4'}
+ '@commitlint/config-validator@21.2.3':
+ resolution: {integrity: sha512-JQ13v0GafSM4fBYX8UowSy++07Was20auq0NcTdnzSEq6/05Cq5GBUMIfKkqjzyBwC9sJFmPpKWgLLhH7cygkw==}
+ engines: {node: '>=22.12.0'}
+
+ '@commitlint/ensure@21.2.4':
+ resolution: {integrity: sha512-woLOLV4pBMUBLyr5+MDM3WSG1r+eb2DObkysFSDxqyDUE4c6hZUOrpebJb2f8XcP3zKGJLb8H5w2suERVGI+Ag==}
+ engines: {node: '>=22.12.0'}
'@commitlint/execute-rule@19.5.0':
resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==}
engines: {node: '>=v18'}
- '@commitlint/execute-rule@8.3.6':
- resolution: {integrity: sha512-kCcf+33LgFBZcVKzTRX7QZBiznFjzjgpyEXFjGsWgCeOXi1q3KPdwH9HvH22xpFZ4+n4lAuv/kQf5XUQMO2OGQ==}
- engines: {node: '>=4'}
+ '@commitlint/execute-rule@21.0.1':
+ resolution: {integrity: sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/format@8.3.6':
- resolution: {integrity: sha512-VN9Yq3cJoonLjeoYiTOidsxGM6lwyzcw6ekQCCIzjNbJa+7teTPE2wDSXqhbsF/0XDJUeHcygzgZwv4/lzStTA==}
- engines: {node: '>=4'}
+ '@commitlint/format@21.2.3':
+ resolution: {integrity: sha512-KKwCjXYqA8r295uhLnulDXL9yekdXmj2yp2Q0XsBPhxQ2iPuvRE8F43j7g7yexo69wTdmUQmFz15jpderluzUQ==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/is-ignored@8.3.6':
- resolution: {integrity: sha512-wxQImxePfAfIz9C2nWzebs0KUU9MiO8bWsRKNsAk9jknc+bjsre9Lje0sr6jvE840XZSTX/aaXY2g+Mt+9oq+w==}
- engines: {node: '>=4'}
+ '@commitlint/is-ignored@21.2.3':
+ resolution: {integrity: sha512-Ng4nRj/LBAOvc+GQu7bsFW4/fL89LvZ14OOC/ERLbUpnG6QBwWRzY/1oXGwPs3C8YHWjJObin4kLYo2YeEn70w==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/lint@8.3.6':
- resolution: {integrity: sha512-M/tysLho4KdsXJp7J7q/c1WEb3Dh75cm86eb0buci8C/DOIegLq/B3DE/8dhxOzGElUW/iq55MyWttJ/MRwKsg==}
- engines: {node: '>=4'}
+ '@commitlint/lint@21.2.4':
+ resolution: {integrity: sha512-HR8SGl1oEGfi/cqyBipanVY0a9CfEzIcJjPC37t7oQedaUUngw3d5E17g5Cfr2S3p6KsZM7UOHFq5fXHLRh7DQ==}
+ engines: {node: '>=22.12.0'}
'@commitlint/load@19.5.0':
resolution: {integrity: sha512-INOUhkL/qaKqwcTUvCE8iIUf5XHsEPCLY9looJ/ipzi7jtGhgmtH7OOFiNvwYgH7mA8osUWOUDV8t4E2HAi4xA==}
engines: {node: '>=v18'}
- '@commitlint/load@8.3.6':
- resolution: {integrity: sha512-bqqGg89KnfauJ01GrVBgKyWBXYy2UXmLvRGuepyI1HsNVaEIGBz6R+sTvk3K55Str6soF7HRpl6bDCmnEOVJtA==}
- engines: {node: '>=4'}
+ '@commitlint/load@21.2.4':
+ resolution: {integrity: sha512-Gi+aAW9nL8XPgvg8kIO0gZOw1/ePvpDLkv1bm8tj0RqenhNtCzk0frtctJhl41uIAP7OSx9bgQ6HCOa9En4g2Q==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/message@8.3.6':
- resolution: {integrity: sha512-x30GmsyZTk+QV4o5TRrDkZQm7uRumlKu+7yWeRdSAXyUgi9amsdMFJ8VbAoRsBndOAtEUkaXgK8dvvmgvW3kwg==}
- engines: {node: '>=4'}
+ '@commitlint/message@21.2.0':
+ resolution: {integrity: sha512-YxGoiXD/HXNXLJPrQwE5poXa+XH0CBEm+mdvbHQP0g6MV/dmJyUFCzPNzZbxL93GvZ70TmtTK0Z0/IBpAqHv8g==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/parse@8.3.6':
- resolution: {integrity: sha512-wL6Z5hZpT8i/3LMwP/CxTMPMU3v4blAbSA8QGPCruFHFtAV8hIiXvD1CNOhyeeuG29GAapopLgNJjtigzlN3kg==}
- engines: {node: '>=4'}
+ '@commitlint/parse@21.2.3':
+ resolution: {integrity: sha512-Jt61QpF1xA88damCELe8I0FlDZPSpXNc8IhN7z5kZ0EcDYPjdZ+ZHPvsSXl69r2MIlLnNKeHhOn2cmVpziFE9w==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/read@8.3.6':
- resolution: {integrity: sha512-ixlvPQO8AGFjE5U4DBwJIZtzIqmGeZKhpNjjuAyTwWfMURpXjv+/pVvq/AY3LvxHJM64DuQp2WqrbwJU6mXvUQ==}
- engines: {node: '>=4'}
+ '@commitlint/read@21.2.3':
+ resolution: {integrity: sha512-szAepuLA1vTTr7fuudEg7jYyVHudf+FH+vptU91bhxE1WnE8TKrfTAi44HVllz8XpI8Pvp4GjR/iP5Nshgh+og==}
+ engines: {node: '>=22.12.0'}
'@commitlint/resolve-extends@19.5.0':
resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==}
engines: {node: '>=v18'}
- '@commitlint/resolve-extends@8.3.6':
- resolution: {integrity: sha512-L0/UOBxc3wiA3gzyE8pN9Yunb6FS/2ZDCjieNH0XAgdF2ac5SHh056QE6aQwP7CSCYNEo2+SXxVZr/WOshsQHg==}
- engines: {node: '>=4'}
+ '@commitlint/resolve-extends@21.2.3':
+ resolution: {integrity: sha512-bqJdmAtXgAQel+l02uIsF7rHgKgx1AGZdGBjam7uK4XW54ZAQtB6XAIUXezYprQiCcRMpBh4fHs5JodXK4mVZA==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/rules@8.3.6':
- resolution: {integrity: sha512-NmEAWAW0f5Nda7ZJ11vd73PqOt57GvLc1SOfoUKolCC3lSJACj9SCTbfkQh8cEMlLmDpNqaGaVHH1jMYXMqU3g==}
- engines: {node: '>=4'}
+ '@commitlint/rules@21.2.4':
+ resolution: {integrity: sha512-wranK/aevXs/WiW4N3orQlXY4sU2pQWjRSjN7I3TsZmP146Rr4CpsG38lpyqVcbNfMgvUVGy7ffYm7nCziTUwg==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/to-lines@8.3.6':
- resolution: {integrity: sha512-4g26G37oh5dABVaRGALdlinjQ/wl8b4HTczLwXLKLM0iHHYFu2A1ZwiVJ8avQk/zThw86/HD6zOgGMNPoamjIQ==}
- engines: {node: '>=4'}
+ '@commitlint/to-lines@21.0.1':
+ resolution: {integrity: sha512-bd1BFII7p1EQZre9Kaj+kKaMFP3cFCdt21K7DItVux9XP5WjLgJ0/Uy1pJJh9aPwVJ6SKg62PxqlZaHI8hQAXw==}
+ engines: {node: '>=22.12.0'}
- '@commitlint/top-level@8.3.6':
- resolution: {integrity: sha512-2XG5NhGgEZaFJChCkSTa6wXWYbJqb9DubC6aRuD/cOeHdYh2OYrXT8z0IorN+gR5+MWqdUtIHhRYtz2Xb75gNg==}
- engines: {node: '>=4'}
+ '@commitlint/top-level@21.2.0':
+ resolution: {integrity: sha512-Y5gmQ+KxzqCrBFJfLvFEPvvwD3LDiNZoTT2yeFBm96M8qhmqSzQc5DvX3rheAaAMjyIvMXOCLS/mWfdpONsjyQ==}
+ engines: {node: '>=22.12.0'}
'@commitlint/types@19.5.0':
resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==}
engines: {node: '>=v18'}
- '@csstools/css-parser-algorithms@2.7.1':
- resolution: {integrity: sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==}
- engines: {node: ^14 || ^16 || >=18}
+ '@commitlint/types@21.2.3':
+ resolution: {integrity: sha512-sGEA473TlCvhCGNoTBY9OXZVWdscIXdGt0dm8EpB+2MRfmt8LNh/X56P/T3nCtEB+eH5qGEa3odphSAoUxSfSQ==}
+ engines: {node: '>=22.12.0'}
+
+ '@conventional-changelog/git-client@3.2.0':
+ resolution: {integrity: sha512-sD/E0vzpkoDz/dqM1Hhv0ihC4KBw6RXjefeO8SG1XrX+wGkMxe1pKeedkKDPCtr2JjuhbuS9aJNgOvnT8hbeBw==}
+ engines: {node: '>=22'}
+ peerDependencies:
+ conventional-commits-filter: ^6.0.1
+ conventional-commits-parser: ^7.1.3
+ peerDependenciesMeta:
+ conventional-commits-filter:
+ optional: true
+ conventional-commits-parser:
+ optional: true
+
+ '@conventional-changelog/template@1.4.0':
+ resolution: {integrity: sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg==}
+ engines: {node: '>=22'}
+
+ '@csstools/css-calc@3.4.3':
+ resolution: {integrity: sha512-iex20d8CHVkyvg6B7UKV7uHnI2Bqo9g+EFfT9E0y+GvTvhZ/DwONJ+9aKb1dlqm0ZiGsL5RXjp0fCoJYnkeDjA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.2
+ '@csstools/css-tokenizer': ^4.0.2
+
+ '@csstools/css-parser-algorithms@4.0.2':
+ resolution: {integrity: sha512-40cSKyMvK+tq4qz6Awrlye2WGuOKt3FwPgtGg6KTfbHOWNw+Rk1rzbAtZnZ6IBhsY491HLRnDXwoyBAijmmILA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^4.0.2
+
+ '@csstools/css-syntax-patches-for-csstree@1.1.15':
+ resolution: {integrity: sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==}
peerDependencies:
- '@csstools/css-tokenizer': ^2.4.1
+ css-tree: ^3.2.1
+ peerDependenciesMeta:
+ css-tree:
+ optional: true
+
+ '@csstools/css-tokenizer@4.0.2':
+ resolution: {integrity: sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==}
+ engines: {node: '>=20.19.0'}
- '@csstools/css-tokenizer@2.4.1':
- resolution: {integrity: sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/media-query-list-parser@5.0.2':
+ resolution: {integrity: sha512-qx19O8AbbLLbDSAcI6YOby/Vq8rV51psgIvlF5OZT/L8fQJDCyQifL6k+kYU4a8ySpzJ4RBzZkIs530bAn8y4Q==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^4.0.2
+ '@csstools/css-tokenizer': ^4.0.2
- '@csstools/media-query-list-parser@2.1.13':
- resolution: {integrity: sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/selector-resolve-nested@4.0.2':
+ resolution: {integrity: sha512-JpjNBJFA+4OnAHKRK4AMp8xrYyLhI9XapOeBlP2PhRU/IylSw+1ep3BFNTksBJnrTS3KT6kqKNVfpzLLwZUW5Q==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^2.7.1
- '@csstools/css-tokenizer': ^2.4.1
+ postcss-selector-parser: ^7.1.1
- '@csstools/selector-specificity@3.1.1':
- resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/selector-specificity@6.0.1':
+ resolution: {integrity: sha512-MBuqFIIvqk4S593MGAskTkPpEUUzZNvGzh8mMxEwl3oHwjQlXmqHEDxNbN3Y0Tsh+xjmem4GZjeg7I0qkwBivg==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- postcss-selector-parser: ^6.0.13
+ postcss-selector-parser: ^7.1.1
'@esbuild/aix-ppc64@0.25.2':
resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==}
@@ -628,32 +634,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'}
+
+ '@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/object-schema@1.2.1':
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
- deprecated: Use @eslint/object-schema instead
+ '@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,8 +733,14 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@marionebl/sander@0.6.1':
- resolution: {integrity: sha512-7f3zZddAk92G1opoX/glbDO6YbrzmMAJAw0RJAcvunnV7sR4L9llyBUAABptKoF1Jf37UQ1QTJy5p2H4J4rBNA==}
+ '@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==}
'@material/material-color-utilities@0.1.2':
resolution: {integrity: sha512-uKkkx7Xo1AZJR0eMjH902rAb0vEjDbb3tgXt0cC3SHbpDGkPNhkuDKtxnw147axOM6uKuI7vywHRQlDrjDGhCA==}
@@ -863,8 +911,17 @@ packages:
cpu: [x64]
os: [win32]
- '@rtsao/scc@1.1.0':
- resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+ '@simple-libs/child-process-utils@2.0.0':
+ resolution: {integrity: sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==}
+ engines: {node: '>=22'}
+
+ '@simple-libs/stream-utils@2.0.0':
+ resolution: {integrity: sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==}
+ engines: {node: '>=22'}
+
+ '@sindresorhus/merge-streams@4.0.0':
+ resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
+ engines: {node: '>=18'}
'@tootallnate/once@1.1.2':
resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
@@ -880,21 +937,27 @@ packages:
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
+ '@types/css-tree@3.2.0':
+ resolution: {integrity: sha512-J5KXmk6BFIepOT7280FdFyNs4c5fh0Uee0otjKEvzchrRs38Ii9qminqc4ds0L19X8Zd/rT+brR9jkBthygjWw==}
+
'@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==}
@@ -928,9 +991,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==}
@@ -940,63 +1000,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.72.0':
+ resolution: {integrity: sha512-aysKgysPX9XOv/dk95UkvUDe++Q3n3dJPG9CEWT3RUccxfkPJ+Qn6nhKPDhZXU6Ofo9kgwGWwKyQCnZIXTgngg==}
+ 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.72.0
+ 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.72.0':
+ resolution: {integrity: sha512-0O+x3ynciD6zuXb1CKSu165haQV6ey53DKhHHUnujP7U+XlltJG+/keT0Xhd1HXCze+IHf7Tvt39ovyepX/LNw==}
+ 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.72.0':
+ resolution: {integrity: sha512-bzHngBbmIgzj6TsTjVUCntGx6FFLgE7mPjpO0PzHycOaZHXqS43XnrkFIHRS16LLr/xO6FHSXG3GJFo/F4bSBQ==}
+ 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.72.0':
+ resolution: {integrity: sha512-JewPyJOYcXBSAS7PIgufscHOwZqhTGyBRiQJhhuDln66tMchxvvt7nJ90JKKIoOelmdHA3kAQbm9cEUHc4JSEA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/tsconfig-utils@8.72.0':
+ resolution: {integrity: sha512-0vbxCf7xLVPSjcOdm6eQbgViH8EDJ8xnl1laLT9yoqSz2YmcSfSg5Vdl0JUvZf6rcuJ0ZivJIuMD4edTg8obaA==}
+ 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.72.0':
+ resolution: {integrity: sha512-gEXxmmbSTSOVTC37IYYvremOM31v+UN2W772bJxmVYPhAOPSUxtacyb7wkm1EhkYKU6KzFJsdU44DCV4to0LWw==}
+ 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.72.0':
+ resolution: {integrity: sha512-Adfoy59kxNEjT5E5fnyrp7GpHYuWs8ONbdohu4ez6IU46qDq8LltG90tLmkucZB2uhYL8mqBjtXqGd8yhfjXqQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.72.0':
+ resolution: {integrity: sha512-gwLfFgWcw15tN2KXDCJvxEOQjPn+P3j/n3eSqkZ5sX4VpW9Cosodr+tWwBZRvJT3TcKx6HnPRGZMCNAiP1Xhug==}
+ 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.72.0':
+ resolution: {integrity: sha512-0up3oArJZBYnzOaEXKo8DmI43QvMZyPoFEt9LWzRJcyl/RcJjfKKPebknN1VbTgXBf3M/KggUh5uUMdURLnseg==}
+ 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.72.0':
+ resolution: {integrity: sha512-E2mroviasaWecDzTGiGMtuEguuLVOeRggnrIn93CJuxYJzQBHbyymlT08aVQydbBal5538o+JkBKXh2sRuCyIA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@vitejs/plugin-vue@5.2.4':
resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
@@ -1137,11 +1198,6 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- acorn@8.18.0:
- resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
acorn@8.19.0:
resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==}
engines: {node: '>=0.4.0'}
@@ -1154,8 +1210,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==}
@@ -1166,18 +1222,10 @@ 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'}
- ansi-escapes@7.3.0:
- resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
- engines: {node: '>=18'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -1198,6 +1246,10 @@ packages:
resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
engines: {node: '>=12'}
+ ansi-styles@7.0.0:
+ resolution: {integrity: sha512-kKvt3m4uwzqL0wlkPd09CmljPJGOZZ4D0fP65sqFSvPkMRKhNi+74MgIJ5QxE6SxqB4t4KyUFGg8+n5zjo6hew==}
+ engines: {node: '>=22'}
+
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@@ -1208,6 +1260,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ argue-cli@3.2.0:
+ resolution: {integrity: sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw==}
+ engines: {node: '>=22'}
+
array-buffer-byte-length@1.0.1:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
@@ -1219,26 +1275,6 @@ 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'}
@@ -1276,18 +1312,9 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- babel-polyfill@6.26.0:
- resolution: {integrity: sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==}
-
- babel-runtime@6.26.0:
- resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==}
-
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- balanced-match@2.0.0:
- resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
-
balanced-match@4.0.4:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
@@ -1339,6 +1366,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'}
@@ -1351,18 +1381,6 @@ packages:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
- caller-callsite@2.0.0:
- resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
- engines: {node: '>=4'}
-
- caller-path@2.0.0:
- resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
- engines: {node: '>=4'}
-
- callsites@2.0.0:
- resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
- engines: {node: '>=4'}
-
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -1375,10 +1393,6 @@ packages:
resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
engines: {node: '>=8'}
- camelcase-keys@7.0.2:
- resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
- engines: {node: '>=12'}
-
camelcase@4.1.0:
resolution: {integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==}
engines: {node: '>=4'}
@@ -1387,10 +1401,6 @@ packages:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
- camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
-
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
@@ -1430,18 +1440,10 @@ packages:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
-
cli-spinners@2.9.2:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
- cli-truncate@5.2.0:
- resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
- engines: {node: '>=20'}
-
cli-width@3.0.0:
resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
engines: {node: '>= 10'}
@@ -1452,6 +1454,10 @@ packages:
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ cliui@9.0.1:
+ resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
+ engines: {node: '>=20'}
+
clone@1.0.4:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
@@ -1469,12 +1475,12 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ colord@2.10.0:
+ resolution: {integrity: sha512-AidJptpBJmjTclAp9BkLwJi0T93fo5epJnbaZslpg6QVzpHjAiveF55mE9AcUJiGMqRHgMDY8soMsQtuNYMHfw==}
+
colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
- colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
-
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
@@ -1511,13 +1517,14 @@ packages:
config-chain@1.1.13:
resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
- conventional-changelog-angular@1.6.6:
- resolution: {integrity: sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==}
-
conventional-changelog-angular@5.0.13:
resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==}
engines: {node: '>=10'}
+ conventional-changelog-angular@9.4.0:
+ resolution: {integrity: sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w==}
+ engines: {node: '>=22'}
+
conventional-changelog-atom@2.0.8:
resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==}
engines: {node: '>=10'}
@@ -1531,9 +1538,9 @@ packages:
conventional-changelog-config-spec@2.1.0:
resolution: {integrity: sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==}
- conventional-changelog-conventionalcommits@4.2.1:
- resolution: {integrity: sha512-vC02KucnkNNap+foDKFm7BVUSDAXktXrUJqGszUuYnt6T0J2azsbYz/w9TDc3VsrW2v6JOtiQWVcgZnporHr4Q==}
- engines: {node: '>=6.9.0'}
+ conventional-changelog-conventionalcommits@10.4.1:
+ resolution: {integrity: sha512-jS1LRFSbRoAr6JbhhRy1JYfNNUj5LM3+v49hRE03CgccsiYqgdVj/RTmrw4J1rylrqijHwdOlJWiJa61JHOgHg==}
+ engines: {node: '>=22'}
conventional-changelog-conventionalcommits@4.2.3:
resolution: {integrity: sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==}
@@ -1594,6 +1601,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ conventional-commits-parser@7.1.3:
+ resolution: {integrity: sha512-Q9oWm1o9uy/oEsZQIraoFMZ4RuPD+79KgwWj6mJVP356tazolCB0piRLZ5Kz9te9p027uSEcUW+Gu44Eh+X79g==}
+ engines: {node: '>=22'}
+ hasBin: true
+
conventional-recommended-bump@6.0.5:
resolution: {integrity: sha512-srkferrB4kACPEbKYltZwX1CQZAEqbQkabKN444mavLRVMetzwJFJf23/+pwvtMsWbd+cc4HaleV1nHke0f8Rw==}
engines: {node: '>=6.9.0'}
@@ -1609,10 +1621,6 @@ packages:
core-js-pure@3.38.1:
resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==}
- core-js@2.6.12:
- resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
- deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
-
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -1624,12 +1632,8 @@ packages:
cosmiconfig: '>=8.2'
typescript: '>=4'
- cosmiconfig@5.2.1:
- resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
- engines: {node: '>=4'}
-
- cosmiconfig@8.3.6:
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ cosmiconfig@9.0.0:
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
peerDependencies:
typescript: '>=4.9.5'
@@ -1637,8 +1641,8 @@ packages:
typescript:
optional: true
- cosmiconfig@9.0.0:
- resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ cosmiconfig@9.0.2:
+ resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==}
engines: {node: '>=14'}
peerDependencies:
typescript: '>=4.9.5'
@@ -1659,15 +1663,19 @@ 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}
peerDependencies:
postcss: ^8.0.9
- css-functions-list@3.2.2:
- resolution: {integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==}
- engines: {node: '>=12 || >=16'}
+ css-functions-list@3.3.3:
+ resolution: {integrity: sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==}
+ engines: {node: '>=12'}
css-select@4.3.0:
resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
@@ -1676,8 +1684,8 @@ packages:
resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
engines: {node: '>=8.0.0'}
- css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
css-what@6.1.0:
@@ -1811,10 +1819,6 @@ packages:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
engines: {node: '>=0.10.0'}
- decamelize@5.0.1:
- resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
- engines: {node: '>=10'}
-
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
@@ -1864,18 +1868,6 @@ packages:
dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
- dir-glob@3.0.1:
- 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==}
@@ -1934,10 +1926,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==}
@@ -1956,10 +1944,6 @@ packages:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
- environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
-
errno@0.1.8:
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
hasBin: true
@@ -2002,13 +1986,13 @@ packages:
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
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'}
+ es-toolkit@1.52.0:
+ resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==}
+
esbuild@0.25.2:
resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==}
engines: {node: '>=18'}
@@ -2034,141 +2018,51 @@ 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-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: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
+ '@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':
- optional: true
- eslint:
+ '@stylistic/eslint-plugin':
optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
- 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'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
- peerDependenciesMeta:
'@typescript-eslint/parser':
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:
- 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.13.0:
+ resolution: {integrity: sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==}
+ 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==}
@@ -2179,14 +2073,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'}
@@ -2201,9 +2095,6 @@ packages:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
- eventemitter3@5.0.4:
- resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
-
expand-tilde@2.0.2:
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
engines: {node: '>=0.10.0'}
@@ -2223,11 +2114,8 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-diff@1.3.0:
- resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
-
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
@@ -2271,13 +2159,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@7.0.2:
- resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==}
- engines: {node: '>=12.0.0'}
+ file-entry-cache@11.1.5:
+ resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==}
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
@@ -2309,12 +2192,11 @@ packages:
resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==}
engines: {node: '>= 8'}
- flat-cache@3.2.0:
- 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==}
@@ -2353,9 +2235,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==}
@@ -2384,10 +2263,6 @@ packages:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
- get-stdin@7.0.0:
- resolution: {integrity: sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==}
- engines: {node: '>=8'}
-
get-symbol-description@1.0.2:
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
engines: {node: '>= 0.4'}
@@ -2430,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}
@@ -2442,9 +2321,9 @@ packages:
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
engines: {node: '>=18'}
- global-dirs@0.1.1:
- resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
- engines: {node: '>=4'}
+ global-directory@5.0.0:
+ resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==}
+ engines: {node: '>=20'}
global-modules@1.0.0:
resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
@@ -2462,17 +2341,17 @@ 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==}
engines: {node: '>= 0.4'}
- globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ globby@16.2.4:
+ resolution: {integrity: sha512-c8B/VNLmxRcmqqenRA9t+9IyOjf9+V6lTxPaUJLqOCONdQkWZ0ETYgX0qbtJqPsgCNusT9MZ5Jeidw8Eb9tn2g==}
+ engines: {node: '>=20'}
globjoin@0.1.4:
resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
@@ -2487,9 +2366,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'}
@@ -2521,6 +2397,10 @@ packages:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
+ has-flag@5.0.1:
+ resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==}
+ engines: {node: '>=12'}
+
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
@@ -2540,6 +2420,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'}
@@ -2556,6 +2440,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==}
@@ -2567,12 +2457,12 @@ packages:
resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
engines: {node: '>=10'}
- html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
+ html-tags@5.1.0:
+ resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==}
+ engines: {node: '>=20.10'}
- htmlparser2@8.0.2:
- resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+ htmlparser2@9.1.0:
+ resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
http-proxy-agent@4.0.1:
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
@@ -2582,9 +2472,9 @@ packages:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
- husky@8.0.3:
- resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==}
- engines: {node: '>=14'}
+ husky@9.1.7:
+ resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
+ engines: {node: '>=18'}
hasBin: true
hybrids@9.1.23:
@@ -2606,34 +2496,29 @@ 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.13:
+ resolution: {integrity: sha512-2E8Q6rh+1RRSq/YdaGsNfXsEZy9FVqv6BSSrkmZJP7BnaoPnRfKL+YaofPvP+5rzdk144qSm6i4+hvPgUcbV4Q==}
+ engines: {node: '>= 4'}
+
image-size@0.5.5:
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
engines: {node: '>=0.10.0'}
hasBin: true
- import-fresh@2.0.0:
- resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
- engines: {node: '>=4'}
-
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
- import-lazy@4.0.0:
- resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
- engines: {node: '>=8'}
-
import-meta-resolve@4.1.0:
resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -2646,10 +2531,6 @@ packages:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
- indent-string@5.0.0:
- resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
- engines: {node: '>=12'}
-
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -2664,6 +2545,10 @@ packages:
resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ ini@6.0.0:
+ resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
inquirer@8.2.5:
resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==}
engines: {node: '>=12.0.0'}
@@ -2706,10 +2591,6 @@ packages:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'}
- is-directory@0.3.1:
- resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
- engines: {node: '>=0.10.0'}
-
is-extendable@0.1.1:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'}
@@ -2722,10 +2603,6 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-fullwidth-code-point@5.1.0:
- resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
- engines: {node: '>=18'}
-
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -2754,13 +2631,17 @@ packages:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
engines: {node: '>=8'}
+ is-path-inside@4.0.0:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
- is-plain-object@5.0.0:
- resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
- engines: {node: '>=0.10.0'}
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
@@ -2819,10 +2700,18 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ isexe@4.0.0:
+ resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==}
+ engines: {node: '>=20'}
+
jiti@1.21.6:
resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
hasBin: true
+ jiti@2.7.0:
+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
+ hasBin: true
+
js-beautify@2.0.3:
resolution: {integrity: sha512-cyFbh3tkPhknnTD/0bLf0T0yy2ZIbqL05mttzbt4y1Zfr7NxqXQZ62dkBLKs3oHH/lpjmDRAnciJiSUyOy8XwQ==}
engines: {node: '>=14'}
@@ -2837,6 +2726,9 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+
js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
hasBin: true
@@ -2854,15 +2746,16 @@ packages:
canvas:
optional: true
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
json-parse-better-errors@1.0.2:
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-parse-even-better-errors@6.0.0:
+ resolution: {integrity: sha512-2/8adwnK1/+Fdjyts4r6wSpfANWw8zdNhU9U/Llk59c6O+DjSisPWPykwoL8gZmocP9Dy64S7oie2g+Mia123A==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -2875,10 +2768,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==}
@@ -2886,16 +2775,13 @@ packages:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0}
- 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'}
- known-css-properties@0.29.0:
- resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
-
less@4.2.0:
resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
engines: {node: '>=6'}
@@ -2920,15 +2806,11 @@ packages:
linkify-it@3.0.3:
resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==}
- lint-staged@16.4.0:
- resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==}
- engines: {node: '>=20.17'}
+ lint-staged@17.6.0:
+ resolution: {integrity: sha512-nOhBfYkZEwkFtNzD5pK9s9LkcWoxJ+whLzEnhqi9nl7zTB5n7tg8+9iYgMGx2Wm3VlLu8cbNj0RACzY+nWi5iQ==}
+ engines: {node: '>=22.22.1'}
hasBin: true
- listr2@9.0.5:
- resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
- engines: {node: '>=20.0.0'}
-
load-json-file@4.0.0:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
engines: {node: '>=4'}
@@ -2996,10 +2878,6 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
- log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
-
longest@2.0.1:
resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==}
engines: {node: '>=0.10.0'}
@@ -3080,14 +2958,14 @@ packages:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
- mathml-tag-names@2.1.3:
- resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
+ mathml-tag-names@4.0.0:
+ resolution: {integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==}
mdn-data@2.0.14:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
- mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
mdurl@1.0.1:
resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
@@ -3096,9 +2974,9 @@ packages:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
engines: {node: '>= 0.10.0'}
- meow@10.1.5:
- resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ meow@14.1.0:
+ resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==}
+ engines: {node: '>=20'}
meow@4.0.1:
resolution: {integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==}
@@ -3140,10 +3018,6 @@ packages:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
-
min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
@@ -3180,10 +3054,6 @@ packages:
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
- mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
- hasBin: true
-
modify-values@1.0.1:
resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==}
engines: {node: '>=0.10.0'}
@@ -3215,9 +3085,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==}
@@ -3269,6 +3136,15 @@ packages:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
+ npm-normalize-package-bin@6.0.0:
+ resolution: {integrity: sha512-tdt4aFn9QamlhdN3HV2D2ccpBwO5/fyjjbXUxYA6uBjyekMZcZvDq0aSj9t5Jo+tih6AYFnt/cuIRn9013e0Uw==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
+ npm-run-all2@9.0.3:
+ resolution: {integrity: sha512-BQAEdU1PtYc48qYRdghW2BVTQT3VqWCoFQmO87NlM1h1PYwMCKQpUWaNyB20V26caNzFsXQDfyOdznLlHCih6g==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0, npm: '>= 10'}
+ hasBin: true
+
npm-run-all@4.1.5:
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
engines: {node: '>= 4'}
@@ -3303,18 +3179,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'}
@@ -3326,10 +3190,6 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -3378,6 +3238,9 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -3435,10 +3298,6 @@ packages:
resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
engines: {node: '>=4'}
- path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
-
picocolors@1.1.0:
resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
@@ -3462,6 +3321,11 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
+ pidtree@1.0.0:
+ resolution: {integrity: sha512-avfAvjB9Dd0wdj3rjJX//yS+G79OO0KrS5pJHFJENjYGX6N4SMgEDBBI/yFy0lloOYSaC6XQxzpOAMPfSYFV/Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+
pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -3523,6 +3387,12 @@ packages:
peerDependencies:
postcss: ^8.2.15
+ postcss-html@2.0.0:
+ resolution: {integrity: sha512-f2Rvw5FCollEfVj3wfN7JdQb7n2rNIthW+epw2EByio7M6P7RH0BTj8a/ODHrUXd0cmO7ychb6YniymV93182Q==}
+ engines: {node: ^22.12 || >=24}
+ peerDependencies:
+ postcss: ^8.5.0
+
postcss-less@6.0.0:
resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==}
engines: {node: '>=12'}
@@ -3637,19 +3507,20 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-resolve-nested-selector@0.1.6:
- resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==}
-
- postcss-safe-parser@6.0.0:
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
+ postcss-safe-parser@7.1.0:
+ resolution: {integrity: sha512-1WzZxRLaAFwEh6Do+zyGpjWV3nGJNxxhuh7Ubu/q1ICImMgZJnLwhoaEpRbG4pJppp2Y1ncL9ffA2f+LhrefQg==}
+ engines: {node: '>=18.0'}
peerDependencies:
- postcss: ^8.3.3
+ postcss: ^8.4.31
postcss-selector-parser@6.1.2:
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}
@@ -3681,13 +3552,9 @@ 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==}
- engines: {node: '>=6.0.0'}
-
- prettier@2.8.8:
- resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
- engines: {node: '>=10.13.0'}
+ prettier@3.9.10:
+ resolution: {integrity: sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==}
+ engines: {node: '>=14'}
hasBin: true
prismjs@1.29.0:
@@ -3700,10 +3567,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==}
@@ -3728,6 +3591,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'}
@@ -3747,9 +3614,9 @@ packages:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
engines: {node: '>=8'}
- quick-lru@5.1.1:
- resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
- engines: {node: '>=10'}
+ read-package-json-fast@6.0.0:
+ resolution: {integrity: sha512-PNaGjoCnw9DBA2Kl8D+8po957z778q/HOPuY2u3Bkw/JO3eC8MDx7jn/PgMtSgpcBbs+6UOjDbwReGpXmRvs0g==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
read-pkg-up@3.0.0:
resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
@@ -3759,10 +3626,6 @@ packages:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
- read-pkg-up@8.0.0:
- resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
- engines: {node: '>=12'}
-
read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'}
@@ -3771,10 +3634,6 @@ packages:
resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
engines: {node: '>=8'}
- read-pkg@6.0.0:
- resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
- engines: {node: '>=12'}
-
readable-stream@2.3.8:
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
@@ -3794,16 +3653,6 @@ packages:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
- redent@4.0.0:
- resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
- engines: {node: '>=12'}
-
- regenerator-runtime@0.10.5:
- resolution: {integrity: sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==}
-
- regenerator-runtime@0.11.1:
- resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==}
-
regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
@@ -3811,10 +3660,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'}
@@ -3833,10 +3678,6 @@ packages:
resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
engines: {node: '>=0.10.0'}
- resolve-from@3.0.0:
- resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
- engines: {node: '>=4'}
-
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -3845,10 +3686,6 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve-global@1.0.0:
- resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
- engines: {node: '>=8'}
-
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
@@ -3860,25 +3697,13 @@ packages:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
-
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
- rimraf@2.7.1:
- resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
+ rimraf@6.1.3:
+ resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==}
+ engines: {node: 20 || >=22}
hasBin: true
rollup@4.40.0:
@@ -3973,6 +3798,10 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shell-quote@1.12.0:
+ resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==}
+ engines: {node: '>= 0.4'}
+
shell-quote@1.8.1:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
@@ -3991,22 +3820,14 @@ packages:
resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
engines: {node: '>=10'}
- slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
slice-ansi@4.0.0:
resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
engines: {node: '>=10'}
- slice-ansi@7.1.2:
- resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
- engines: {node: '>=18'}
-
- slice-ansi@8.0.0:
- resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==}
- engines: {node: '>=20'}
-
sortablejs@1.15.7:
resolution: {integrity: sha512-Kk8wLQPlS+yi1ZEf48a4+fzHa4yxjC30M/Sr2AnQu+f/MPwvvX9XjZ6OWejiz8crBsLwSq8GHqaxaET7u6ux0A==}
@@ -4130,64 +3951,61 @@ packages:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
- strip-indent@4.0.0:
- resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
- engines: {node: '>=12'}
-
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- style-search@0.1.0:
- resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
-
stylehacks@5.1.1:
resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
engines: {node: ^10 || ^12 || >=14.0}
peerDependencies:
postcss: ^8.2.15
- stylelint-config-recommended-less@2.0.0:
- resolution: {integrity: sha512-6X5A9kdusuLzS/9yfkQfzYg5ry43KHXMnUmiPCIidwQEW/cegn44CtRPfN+9SLcVkUVcRNpuLYfHtbLtoUHgkA==}
+ stylelint-config-recommended-less@4.2.1:
+ resolution: {integrity: sha512-OYq8xWTMoXFyZ91vzYDGpkgWafSkSXxXV0b1tVZRGwOpbfb+6SeN+KnFa/LivoRBzfAGMmr3OVQX2h/ArG8WNg==}
peerDependencies:
- postcss: ^8.3.3
- stylelint: ^15.10.2
+ postcss: '*'
+ stylelint: ^17
peerDependenciesMeta:
postcss:
optional: true
- stylelint-config-recommended@13.0.0:
- resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==}
- engines: {node: ^14.13.1 || >=16.0.0}
+ stylelint-config-recommended@18.0.0:
+ resolution: {integrity: sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- stylelint: ^15.10.0
+ stylelint: ^17.0.0
- stylelint-config-standard-less@2.0.0:
- resolution: {integrity: sha512-hLrK5oNV2Ombs0IC11gzGsYtADX8dquevs+Ls2jY4IY2wywPLnUSW5a5ofxXVan1j1z6OMcs8fWikbpj9Y5VgQ==}
+ stylelint-config-standard-less@4.1.0:
+ resolution: {integrity: sha512-20Ol4m1rTescEkkoNO9+AyAF/P0LsFfZ+B2pkHlL/efEBfr1FAOGuOlZO8no32KE/63S915O1W5kQoA9S9kZCg==}
peerDependencies:
- postcss: ^8.3.3
- stylelint: ^15.0.0
+ postcss: ^8
+ stylelint: ^17
peerDependenciesMeta:
postcss:
optional: true
- stylelint-config-standard@34.0.0:
- resolution: {integrity: sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==}
- engines: {node: ^14.13.1 || >=16.0.0}
+ stylelint-config-standard@40.0.0:
+ resolution: {integrity: sha512-EznGJxOUhtWck2r6dJpbgAdPATIzvpLdK9+i5qPd4Lx70es66TkBPljSg4wN3Qnc6c4h2n+WbUrUynQ3fanjHw==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- stylelint: ^15.10.0
+ stylelint: ^17.0.0
- stylelint-less@2.0.0:
- resolution: {integrity: sha512-HwRdAdrNDBg64BzIOP3SSHFPJHvRJEpqFn8Kp5m5Enw6pf7kI9XoNT3jn1S2zvfzaK/7hdwy6La3cyJT78fK3A==}
+ stylelint-less@4.2.2:
+ resolution: {integrity: sha512-UmuA5cLcMAi3BZ0kd8VrbOUov6QFyHe8Y9i+sA7uiqvOEioD5KVfQT1AafJ2TjA0r2wocScbtTBbDDYUAxaQxg==}
peerDependencies:
- postcss: ^8.4.14
- stylelint: ^15.10.3
+ postcss: ^8
+ stylelint: ^17
- stylelint@15.11.0:
- resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==}
- engines: {node: ^14.13.1 || >=16.0.0}
+ stylelint@17.16.0:
+ resolution: {integrity: sha512-ejlWnbJ13x1GU32+zZXa6sYQJsKKkwSdv2B4rAdO3OWdEmvhSJKcXi5pOphQYSzyaj1kXpuGJr7pcMBNfDIuPw==}
+ engines: {node: '>=20.19.0'}
hasBin: true
+ supports-color@10.2.2:
+ resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
+ engines: {node: '>=18'}
+
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -4196,9 +4014,9 @@ packages:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- supports-hyperlinks@3.1.0:
- resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==}
- engines: {node: '>=14.18'}
+ supports-hyperlinks@4.6.0:
+ resolution: {integrity: sha512-FL/q/YePS4tFFTNiBOR+zPk2ZrKheqNtmTJ/9OUZ4e1wKHJofDbGQSmSsxS0XNnabSkqexryCaXGvEKz1vf9UQ==}
+ engines: {node: '>=20'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
@@ -4215,8 +4033,8 @@ packages:
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
- table@6.8.2:
- resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==}
+ table@6.9.0:
+ resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
engines: {node: '>=10.0.0'}
tdesign-icons-svg@0.0.1:
@@ -4251,9 +4069,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==}
@@ -4317,25 +4132,15 @@ packages:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'}
- trim-newlines@4.1.1:
- 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'}
@@ -4356,10 +4161,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'}
@@ -4372,10 +4173,6 @@ packages:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
- type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
-
typed-array-buffer@1.0.2:
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
engines: {node: '>= 0.4'}
@@ -4395,6 +4192,13 @@ packages:
typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+ typescript-eslint@8.72.0:
+ resolution: {integrity: sha512-r26Fkc8As+mZvqp7SLsMmNFyYUup/6CjK7/eHBHmhOw6GH6n6YFxHVFrG0jN1c5CMpDzelLPxvgeCOzx7BjN+A==}
+ 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'}
@@ -4421,6 +4225,10 @@ packages:
resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
engines: {node: '>=14.0'}
+ unicorn-magic@0.4.1:
+ resolution: {integrity: sha512-lzlXPoVB0Uy/FvTaUgX39RbixYiSKoc3JSoSf01+0c2B6FR3qdYIPN7Qjo/AV7n6sqLCk0509cT3LRj1oSZ1+A==}
+ engines: {node: '>=20'}
+
universal-user-agent@6.0.1:
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
@@ -4455,9 +4263,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==}
@@ -4465,6 +4270,10 @@ packages:
resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==}
engines: {node: '>= 0.10'}
+ verkit@0.5.0:
+ resolution: {integrity: sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==}
+ engines: {node: '>=18.12.0'}
+
vite-plugin-tdoc@2.0.4:
resolution: {integrity: sha512-KKoEvlhf78opGCb+WjbOc6TRkzqOEm6rLMmJL9POh8OEa6jOCETs1k81TAaPLaIxuoJxqE4k6IAMchV60XoKpw==}
@@ -4595,17 +4404,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==}
@@ -4695,6 +4498,11 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ which@7.0.0:
+ resolution: {integrity: sha512-RancgH2dmbLdHl6LRhEqvklWMgl/Hdnun0Y90KhBOLkMefg8Qa7/Zel8Sm+8HEcP6DEjzsWzpkuBQEZok58isA==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+ hasBin: true
+
why-is-node-running@3.2.1:
resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==}
engines: {node: '>=20.11'}
@@ -4722,9 +4530,9 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- write-file-atomic@5.0.1:
- resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ write-file-atomic@7.0.1:
+ resolution: {integrity: sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==}
+ engines: {node: ^20.17.0 || >=22.9.0}
ws@7.5.13:
resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==}
@@ -4741,9 +4549,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==}
@@ -4785,6 +4593,10 @@ packages:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
+ yargs-parser@22.0.0:
+ resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yargs@15.0.2:
resolution: {integrity: sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==}
@@ -4796,6 +4608,10 @@ packages:
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
engines: {node: '>=10'}
+ yargs@18.2.0:
+ resolution: {integrity: sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -4814,10 +4630,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
@@ -4825,13 +4637,11 @@ snapshots:
'@babel/helper-string-parser@7.29.7': {}
- '@babel/helper-validator-identifier@7.24.7': {}
-
'@babel/helper-validator-identifier@7.29.7': {}
'@babel/highlight@7.24.7':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
+ '@babel/helper-validator-identifier': 7.29.7
chalk: 2.4.2
js-tokens: 4.0.0
picocolors: 1.1.1
@@ -4854,23 +4664,37 @@ snapshots:
'@bcoe/v8-coverage@1.0.2': {}
- '@commitlint/cli@8.3.6':
+ '@cacheable/memory@2.2.0':
dependencies:
- '@commitlint/format': 8.3.6
- '@commitlint/lint': 8.3.6
- '@commitlint/load': 8.3.6
- '@commitlint/read': 8.3.6
- babel-polyfill: 6.26.0
- chalk: 2.4.2
- get-stdin: 7.0.0
- lodash: 4.17.21
- meow: 5.0.0
- resolve-from: 5.0.0
- resolve-global: 1.0.0
+ '@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/config-conventional@8.3.6':
+ '@commitlint/cli@21.2.4(conventional-commits-parser@7.1.3)(typescript@5.9.3)':
dependencies:
- conventional-changelog-conventionalcommits: 4.2.1
+ '@commitlint/config-conventional': 21.2.4
+ '@commitlint/format': 21.2.3
+ '@commitlint/lint': 21.2.4
+ '@commitlint/load': 21.2.4(typescript@5.9.3)
+ '@commitlint/read': 21.2.3(conventional-commits-parser@7.1.3)
+ '@commitlint/types': 21.2.3
+ tinyexec: 1.3.1
+ yargs: 18.2.0
+ transitivePeerDependencies:
+ - conventional-commits-filter
+ - conventional-commits-parser
+ - typescript
+
+ '@commitlint/config-conventional@21.2.4':
+ dependencies:
+ '@commitlint/types': 21.2.3
+ conventional-changelog-conventionalcommits: 10.4.1
'@commitlint/config-validator@19.5.0':
dependencies:
@@ -4878,30 +4702,37 @@ snapshots:
ajv: 8.17.1
optional: true
- '@commitlint/ensure@8.3.6':
+ '@commitlint/config-validator@21.2.3':
dependencies:
- lodash: 4.17.21
+ '@commitlint/types': 21.2.3
+ ajv: 8.17.1
+
+ '@commitlint/ensure@21.2.4':
+ dependencies:
+ '@commitlint/types': 21.2.3
+ es-toolkit: 1.52.0
'@commitlint/execute-rule@19.5.0':
optional: true
- '@commitlint/execute-rule@8.3.6': {}
+ '@commitlint/execute-rule@21.0.1': {}
- '@commitlint/format@8.3.6':
+ '@commitlint/format@21.2.3':
dependencies:
- chalk: 2.4.2
+ '@commitlint/types': 21.2.3
+ picocolors: 1.1.1
- '@commitlint/is-ignored@8.3.6':
+ '@commitlint/is-ignored@21.2.3':
dependencies:
- semver: 6.3.0
+ '@commitlint/types': 21.2.3
+ semver: 7.8.5
- '@commitlint/lint@8.3.6':
+ '@commitlint/lint@21.2.4':
dependencies:
- '@commitlint/is-ignored': 8.3.6
- '@commitlint/parse': 8.3.6
- '@commitlint/rules': 8.3.6
- babel-runtime: 6.26.0
- lodash: 4.17.21
+ '@commitlint/is-ignored': 21.2.3
+ '@commitlint/parse': 21.2.3
+ '@commitlint/rules': 21.2.4
+ '@commitlint/types': 21.2.3
'@commitlint/load@19.5.0(@types/node@22.20.4)(typescript@5.9.3)':
dependencies:
@@ -4920,30 +4751,37 @@ snapshots:
- typescript
optional: true
- '@commitlint/load@8.3.6':
+ '@commitlint/load@21.2.4(typescript@5.9.3)':
dependencies:
- '@commitlint/execute-rule': 8.3.6
- '@commitlint/resolve-extends': 8.3.6
- babel-runtime: 6.26.0
- chalk: 2.4.2
- cosmiconfig: 5.2.1
- lodash: 4.17.21
- resolve-from: 5.0.0
+ '@commitlint/config-validator': 21.2.3
+ '@commitlint/execute-rule': 21.0.1
+ '@commitlint/resolve-extends': 21.2.3
+ '@commitlint/types': 21.2.3
+ cosmiconfig: 9.0.2(typescript@5.9.3)
+ es-toolkit: 1.52.0
+ is-plain-obj: 4.1.0
+ jiti: 2.7.0
+ picocolors: 1.1.1
+ transitivePeerDependencies:
+ - typescript
- '@commitlint/message@8.3.6': {}
+ '@commitlint/message@21.2.0': {}
- '@commitlint/parse@8.3.6':
+ '@commitlint/parse@21.2.3':
dependencies:
- conventional-changelog-angular: 1.6.6
- conventional-commits-parser: 3.2.4
- lodash: 4.18.1
+ '@commitlint/types': 21.2.3
+ conventional-changelog-angular: 9.4.0
+ conventional-commits-parser: 7.1.3
- '@commitlint/read@8.3.6':
+ '@commitlint/read@21.2.3(conventional-commits-parser@7.1.3)':
dependencies:
- '@commitlint/top-level': 8.3.6
- '@marionebl/sander': 0.6.1
- babel-runtime: 6.26.0
- git-raw-commits: 2.0.11
+ '@commitlint/top-level': 21.2.0
+ '@commitlint/types': 21.2.3
+ '@conventional-changelog/git-client': 3.2.0(conventional-commits-parser@7.1.3)
+ tinyexec: 1.3.1
+ transitivePeerDependencies:
+ - conventional-commits-filter
+ - conventional-commits-parser
'@commitlint/resolve-extends@19.5.0':
dependencies:
@@ -4955,25 +4793,26 @@ snapshots:
resolve-from: 5.0.0
optional: true
- '@commitlint/resolve-extends@8.3.6':
+ '@commitlint/resolve-extends@21.2.3':
dependencies:
- import-fresh: 3.3.0
- lodash: 4.17.21
+ '@commitlint/config-validator': 21.2.3
+ '@commitlint/types': 21.2.3
+ es-toolkit: 1.52.0
+ global-directory: 5.0.0
resolve-from: 5.0.0
- resolve-global: 1.0.0
- '@commitlint/rules@8.3.6':
+ '@commitlint/rules@21.2.4':
dependencies:
- '@commitlint/ensure': 8.3.6
- '@commitlint/message': 8.3.6
- '@commitlint/to-lines': 8.3.6
- babel-runtime: 6.26.0
+ '@commitlint/ensure': 21.2.4
+ '@commitlint/message': 21.2.0
+ '@commitlint/to-lines': 21.0.1
+ '@commitlint/types': 21.2.3
- '@commitlint/to-lines@8.3.6': {}
+ '@commitlint/to-lines@21.0.1': {}
- '@commitlint/top-level@8.3.6':
+ '@commitlint/top-level@21.2.0':
dependencies:
- find-up: 4.1.0
+ escalade: 3.2.0
'@commitlint/types@19.5.0':
dependencies:
@@ -4981,20 +4820,48 @@ snapshots:
chalk: 5.3.0
optional: true
- '@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1)':
+ '@commitlint/types@21.2.3':
dependencies:
- '@csstools/css-tokenizer': 2.4.1
+ conventional-commits-parser: 7.1.3
+ picocolors: 1.1.1
- '@csstools/css-tokenizer@2.4.1': {}
+ '@conventional-changelog/git-client@3.2.0(conventional-commits-parser@7.1.3)':
+ dependencies:
+ '@simple-libs/child-process-utils': 2.0.0
+ '@simple-libs/stream-utils': 2.0.0
+ verkit: 0.5.0
+ optionalDependencies:
+ conventional-commits-parser: 7.1.3
+
+ '@conventional-changelog/template@1.4.0': {}
- '@csstools/media-query-list-parser@2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)':
+ '@csstools/css-calc@3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)':
dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
+ '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2)
+ '@csstools/css-tokenizer': 4.0.2
- '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.2)':
+ '@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2)':
dependencies:
- postcss-selector-parser: 6.1.2
+ '@csstools/css-tokenizer': 4.0.2
+
+ '@csstools/css-syntax-patches-for-csstree@1.1.15(css-tree@3.2.1)':
+ optionalDependencies:
+ css-tree: 3.2.1
+
+ '@csstools/css-tokenizer@4.0.2': {}
+
+ '@csstools/media-query-list-parser@5.0.2(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2)
+ '@csstools/css-tokenizer': 4.0.2
+
+ '@csstools/selector-resolve-nested@4.0.2(postcss-selector-parser@7.1.6)':
+ dependencies:
+ postcss-selector-parser: 7.1.6
+
+ '@csstools/selector-specificity@6.0.1(postcss-selector-parser@7.1.6)':
+ dependencies:
+ postcss-selector-parser: 7.1.6
'@esbuild/aix-ppc64@0.25.2':
optional: true
@@ -5071,38 +4938,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.13.0(jiti@2.7.0))':
dependencies:
- eslint: 7.32.0
+ eslint: 10.13.0(jiti@2.7.0)
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
- 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
+ '@eslint/object-schema': 3.0.5
+ debug: 4.4.3
+ 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.13.0(jiti@2.7.0))':
+ optionalDependencies:
+ eslint: 10.13.0(jiti@2.7.0)
+
+ '@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/module-importer@1.0.1': {}
- '@humanwhocodes/object-schema@1.2.1': {}
+ '@humanwhocodes/retry@0.4.3': {}
'@hutson/parse-repository-url@3.0.2': {}
@@ -5145,11 +5031,13 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.6.0
- '@marionebl/sander@0.6.1':
+ '@keyv/bigmap@1.3.1(keyv@5.6.0)':
dependencies:
- graceful-fs: 4.2.11
- mkdirp: 0.5.6
- rimraf: 2.7.1
+ hashery: 1.5.1
+ hookified: 1.15.1
+ keyv: 5.6.0
+
+ '@keyv/serialize@1.1.1': {}
'@material/material-color-utilities@0.1.2': {}
@@ -5287,7 +5175,13 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.40.0':
optional: true
- '@rtsao/scc@1.1.0': {}
+ '@simple-libs/child-process-utils@2.0.0':
+ dependencies:
+ '@simple-libs/stream-utils': 2.0.0
+
+ '@simple-libs/stream-utils@2.0.0': {}
+
+ '@sindresorhus/merge-streams@4.0.0': {}
'@tootallnate/once@1.1.2':
optional: true
@@ -5304,18 +5198,22 @@ snapshots:
'@types/node': 22.20.4
optional: true
+ '@types/css-tree@3.2.0': {}
+
'@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':
@@ -5347,106 +5245,111 @@ 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.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.13.0(jiti@2.7.0))(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.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.72.0
+ '@typescript-eslint/type-utils': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.72.0
+ eslint: 10.13.0(jiti@2.7.0)
+ ignore: 7.0.13
+ 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.72.0(eslint@10.13.0(jiti@2.7.0))(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.72.0
+ '@typescript-eslint/types': 8.72.0
+ '@typescript-eslint/typescript-estree': 8.72.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.72.0
+ debug: 4.4.3
+ eslint: 10.13.0(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/project-service@8.72.0(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.72.0
+ debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@5.62.0':
+ '@typescript-eslint/scope-manager@8.72.0':
dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
+ '@typescript-eslint/types': 8.72.0
+ '@typescript-eslint/visitor-keys': 8.72.0
- '@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.72.0(typescript@5.9.3)':
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: 5.9.3
+
+ '@typescript-eslint/type-utils@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.72.0
+ '@typescript-eslint/typescript-estree': 8.72.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ debug: 4.4.3
+ eslint: 10.13.0(jiti@2.7.0)
+ 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.72.0': {}
- '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.72.0(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.72.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.72.0
+ '@typescript-eslint/visitor-keys': 8.72.0
+ 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.72.0(eslint@10.13.0(jiti@2.7.0))(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.13.0(jiti@2.7.0))
+ '@typescript-eslint/scope-manager': 8.72.0
+ '@typescript-eslint/types': 8.72.0
+ '@typescript-eslint/typescript-estree': 8.72.0(typescript@5.9.3)
+ eslint: 10.13.0(jiti@2.7.0)
+ typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/visitor-keys@5.62.0':
+ '@typescript-eslint/visitor-keys@8.72.0':
dependencies:
- '@typescript-eslint/types': 5.62.0
- eslint-visitor-keys: 3.4.3
+ '@typescript-eslint/types': 8.72.0
+ 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))':
+ '@vitejs/plugin-vue@5.2.4(vite@6.3.1(@types/node@22.20.4)(jiti@2.7.0)(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:
- 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)
+ vite: 6.3.1(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
vue: 3.5.42(typescript@5.9.3)
- '@vitejs/plugin-vue@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))':
+ '@vitejs/plugin-vue@5.2.4(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(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:
- 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)
+ vite: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
vue: 3.5.42(typescript@5.9.3)
'@vitest/coverage-v8@5.0.3(vitest@5.0.3)':
@@ -5459,7 +5362,7 @@ snapshots:
obug: 2.2.1
std-env: 4.3.0
tinyrainbow: 3.2.0
- vitest: 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.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
+ vitest: 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@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
'@vitest/istanbul-lib-coverage@1.0.2': {}
@@ -5467,23 +5370,23 @@ snapshots:
dependencies:
'@vitest/istanbul-lib-coverage': 1.0.2
- '@vitest/mocker@5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))':
+ '@vitest/mocker@5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))':
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@vitest/spy': 5.0.3
estree-walker: 3.0.3
magic-string: 1.4.2
optionalDependencies:
- vite: 6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
+ vite: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
- '@vitest/mocker@5.0.3(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))':
+ '@vitest/mocker@5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))':
dependencies:
'@jridgewell/trace-mapping': 0.3.31
'@vitest/spy': 5.0.3
estree-walker: 3.0.3
magic-string: 1.4.2
optionalDependencies:
- 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)
+ vite: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
'@vitest/spy@5.0.3': {}
@@ -5620,24 +5523,18 @@ 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):
+ acorn-jsx@5.3.2(acorn@8.19.0):
dependencies:
- acorn: 8.18.0
+ acorn: 8.19.0
acorn-walk@7.2.0:
optional: true
- acorn@7.4.1: {}
-
- acorn@8.18.0: {}
-
- acorn@8.19.0:
+ acorn@7.4.1:
optional: true
+ acorn@8.19.0: {}
+
add-stream@1.0.0: {}
agent-base@6.0.2:
@@ -5647,7 +5544,7 @@ snapshots:
- 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
@@ -5665,16 +5562,10 @@ snapshots:
alien-signals@3.2.1: {}
- ansi-colors@4.1.3: {}
-
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
- ansi-escapes@7.3.0:
- dependencies:
- environment: 1.1.0
-
ansi-regex@5.0.1: {}
ansi-regex@6.4.0: {}
@@ -5689,6 +5580,8 @@ snapshots:
ansi-styles@6.2.3: {}
+ ansi-styles@7.0.0: {}
+
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
@@ -5700,6 +5593,8 @@ snapshots:
argparse@2.0.1: {}
+ argue-cli@3.2.0: {}
+
array-buffer-byte-length@1.0.1:
dependencies:
call-bind: 1.0.7
@@ -5709,40 +5604,6 @@ 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
@@ -5785,21 +5646,8 @@ snapshots:
dependencies:
possible-typed-array-names: 1.0.0
- babel-polyfill@6.26.0:
- dependencies:
- babel-runtime: 6.26.0
- core-js: 2.6.12
- regenerator-runtime: 0.10.5
-
- babel-runtime@6.26.0:
- dependencies:
- core-js: 2.6.12
- regenerator-runtime: 0.11.1
-
balanced-match@1.0.2: {}
- balanced-match@2.0.0: {}
-
balanced-match@4.0.4: {}
base64-js@1.5.1: {}
@@ -5852,6 +5700,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-apply-helpers@1.0.2:
@@ -5868,16 +5724,6 @@ snapshots:
get-intrinsic: 1.2.4
set-function-length: 1.2.2
- caller-callsite@2.0.0:
- dependencies:
- callsites: 2.0.0
-
- caller-path@2.0.0:
- dependencies:
- caller-callsite: 2.0.0
-
- callsites@2.0.0: {}
-
callsites@3.1.0: {}
camelcase-keys@4.2.0:
@@ -5892,19 +5738,10 @@ snapshots:
map-obj: 4.3.0
quick-lru: 4.0.1
- camelcase-keys@7.0.2:
- dependencies:
- camelcase: 6.3.0
- map-obj: 4.3.0
- quick-lru: 5.1.1
- type-fest: 1.4.0
-
camelcase@4.1.0: {}
camelcase@5.3.1: {}
- camelcase@6.3.0: {}
-
caniuse-api@3.0.0:
dependencies:
browserslist: 4.23.3
@@ -5957,17 +5794,8 @@ snapshots:
dependencies:
restore-cursor: 3.1.0
- cli-cursor@5.0.0:
- dependencies:
- restore-cursor: 5.1.0
-
cli-spinners@2.9.2: {}
- cli-truncate@5.2.0:
- dependencies:
- slice-ansi: 8.0.0
- string-width: 8.3.0
-
cli-width@3.0.0: {}
cliui@6.0.0:
@@ -5982,6 +5810,12 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ cliui@9.0.1:
+ dependencies:
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+ wrap-ansi: 9.0.2
+
clone@1.0.4: {}
color-convert@1.9.3:
@@ -5996,9 +5830,9 @@ snapshots:
color-name@1.1.4: {}
- colord@2.9.3: {}
+ colord@2.10.0: {}
- colorette@2.0.20: {}
+ colord@2.9.3: {}
combined-stream@1.0.8:
dependencies:
@@ -6056,16 +5890,15 @@ snapshots:
ini: 1.3.8
proto-list: 1.2.4
- conventional-changelog-angular@1.6.6:
- dependencies:
- compare-func: 1.3.4
- q: 1.5.1
-
conventional-changelog-angular@5.0.13:
dependencies:
compare-func: 2.0.0
q: 1.5.1
+ conventional-changelog-angular@9.4.0:
+ dependencies:
+ '@conventional-changelog/template': 1.4.0
+
conventional-changelog-atom@2.0.8:
dependencies:
q: 1.5.1
@@ -6076,11 +5909,9 @@ snapshots:
conventional-changelog-config-spec@2.1.0: {}
- conventional-changelog-conventionalcommits@4.2.1:
+ conventional-changelog-conventionalcommits@10.4.1:
dependencies:
- compare-func: 1.3.4
- lodash: 4.17.21
- q: 1.5.1
+ '@conventional-changelog/template': 1.4.0
conventional-changelog-conventionalcommits@4.2.3:
dependencies:
@@ -6170,6 +6001,11 @@ snapshots:
split2: 3.2.2
through2: 4.0.2
+ conventional-commits-parser@7.1.3:
+ dependencies:
+ '@simple-libs/stream-utils': 2.0.0
+ argue-cli: 3.2.0
+
conventional-recommended-bump@6.0.5:
dependencies:
concat-stream: 2.0.0
@@ -6191,8 +6027,6 @@ snapshots:
core-js-pure@3.38.1: {}
- core-js@2.6.12: {}
-
core-util-is@1.0.3: {}
cosmiconfig-typescript-loader@5.0.0(@types/node@22.20.4)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3):
@@ -6203,23 +6037,17 @@ snapshots:
typescript: 5.9.3
optional: true
- cosmiconfig@5.2.1:
- dependencies:
- import-fresh: 2.0.0
- is-directory: 0.3.1
- js-yaml: 3.14.1
- parse-json: 4.0.0
-
- cosmiconfig@8.3.6(typescript@5.9.3):
+ cosmiconfig@9.0.0(typescript@5.9.3):
dependencies:
+ env-paths: 2.2.1
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
- path-type: 4.0.0
optionalDependencies:
typescript: 5.9.3
+ optional: true
- cosmiconfig@9.0.0(typescript@5.9.3):
+ cosmiconfig@9.0.2(typescript@5.9.3):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
@@ -6227,7 +6055,6 @@ snapshots:
parse-json: 5.2.0
optionalDependencies:
typescript: 5.9.3
- optional: true
cross-env@6.0.3:
dependencies:
@@ -6247,11 +6074,17 @@ 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
- css-functions-list@3.2.2: {}
+ css-functions-list@3.3.3: {}
css-select@4.3.0:
dependencies:
@@ -6266,9 +6099,9 @@ snapshots:
mdn-data: 2.0.14
source-map: 0.6.1
- css-tree@2.3.1:
+ css-tree@3.2.1:
dependencies:
- mdn-data: 2.0.30
+ mdn-data: 2.27.1
source-map-js: 1.2.1
css-what@6.1.0: {}
@@ -6401,6 +6234,7 @@ snapshots:
debug@3.2.7:
dependencies:
ms: 2.1.3
+ optional: true
debug@4.3.7(supports-color@5.5.0):
dependencies:
@@ -6411,7 +6245,6 @@ snapshots:
debug@4.4.3:
dependencies:
ms: 2.1.3
- optional: true
decamelize-keys@1.1.1:
dependencies:
@@ -6420,8 +6253,6 @@ snapshots:
decamelize@1.2.0: {}
- decamelize@5.0.1: {}
-
decimal.js@10.6.0:
optional: true
@@ -6462,18 +6293,6 @@ snapshots:
dijkstrajs@1.0.3: {}
- dir-glob@3.0.1:
- 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
@@ -6546,11 +6365,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: {}
@@ -6559,10 +6373,7 @@ snapshots:
entities@7.0.1: {}
- env-paths@2.2.1:
- optional: true
-
- environment@1.1.0: {}
+ env-paths@2.2.1: {}
errno@0.1.8:
dependencies:
@@ -6656,16 +6467,14 @@ snapshots:
hasown: 2.0.4
optional: true
- es-shim-unscopables@1.0.2:
- dependencies:
- hasown: 2.0.2
-
es-to-primitive@1.2.1:
dependencies:
is-callable: 1.2.7
is-date-object: 1.0.5
is-symbol: 1.0.4
+ es-toolkit@1.52.0: {}
+
esbuild@0.25.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.2
@@ -6700,213 +6509,87 @@ snapshots:
escape-string-regexp@1.0.5: {}
- escape-string-regexp@4.0.0: {}
-
- escodegen@2.1.0:
- dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- 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):
- 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-import-resolver-node@0.3.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
- 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-plugin-vue@8.7.1(eslint@7.32.0):
- dependencies:
- eslint: 7.32.0
- eslint-utils: 3.0.0(eslint@7.32.0)
- 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
+ escape-string-regexp@4.0.0: {}
- eslint-scope@7.2.2:
+ escodegen@2.1.0:
dependencies:
- esrecurse: 4.3.0
+ esprima: 4.0.1
estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+ optional: true
- eslint-utils@2.1.0:
+ eslint-config-prettier@10.1.8(eslint@10.13.0(jiti@2.7.0)):
dependencies:
- eslint-visitor-keys: 1.3.0
+ eslint: 10.13.0(jiti@2.7.0)
- eslint-utils@3.0.0(eslint@7.32.0):
+ eslint-plugin-vue@10.11.1(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.13.0(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@10.13.0(jiti@2.7.0))):
dependencies:
- eslint: 7.32.0
- eslint-visitor-keys: 2.1.0
-
- eslint-visitor-keys@1.3.0: {}
+ '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0))
+ eslint: 10.13.0(jiti@2.7.0)
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 7.1.6
+ semver: 7.8.5
+ vue-eslint-parser: 10.4.1(eslint@10.13.0(jiti@2.7.0))
+ xml-name-validator: 5.0.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
- eslint-visitor-keys@2.1.0: {}
+ 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-visitor-keys@3.4.3: {}
- eslint@7.32.0:
+ eslint-visitor-keys@5.0.1: {}
+
+ eslint@10.13.0(jiti@2.7.0):
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
- debug: 4.3.7(supports-color@5.5.0)
- doctrine: 3.0.0
- enquirer: 2.4.1
+ '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0))
+ '@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.4.3
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: 2.7.0
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
+ acorn: 8.19.0
+ acorn-jsx: 5.3.2(acorn@8.19.0)
+ eslint-visitor-keys: 5.0.1
esprima@4.0.1: {}
@@ -6914,11 +6597,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: {}
@@ -6930,8 +6615,6 @@ snapshots:
esutils@2.0.3: {}
- eventemitter3@5.0.4: {}
-
expand-tilde@2.0.2:
dependencies:
homedir-polyfill: 1.0.3
@@ -6950,9 +6633,7 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-diff@1.3.0: {}
-
- fast-glob@3.3.2:
+ fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
@@ -6992,13 +6673,9 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
- file-entry-cache@6.0.1:
- dependencies:
- flat-cache: 3.2.0
-
- file-entry-cache@7.0.2:
+ file-entry-cache@11.1.5:
dependencies:
- flat-cache: 3.2.0
+ flat-cache: 6.1.23
fill-range@7.1.1:
dependencies:
@@ -7036,13 +6713,13 @@ snapshots:
micromatch: 4.0.8
resolve-dir: 1.0.1
- flat-cache@3.2.0:
+ flat-cache@6.1.23:
dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
+ 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:
@@ -7090,8 +6767,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: {}
@@ -7133,8 +6808,6 @@ snapshots:
es-object-atoms: 1.1.2
optional: true
- get-stdin@7.0.0: {}
-
get-symbol-description@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -7184,6 +6857,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
@@ -7204,9 +6881,9 @@ snapshots:
ini: 4.1.1
optional: true
- global-dirs@0.1.1:
+ global-directory@5.0.0:
dependencies:
- ini: 1.3.8
+ ini: 6.0.0
global-modules@1.0.0:
dependencies:
@@ -7232,23 +6909,22 @@ 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:
define-properties: 1.2.1
gopd: 1.0.1
- globby@11.1.0:
+ globby@16.2.4:
dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 3.0.0
+ '@sindresorhus/merge-streams': 4.0.0
+ fast-glob: 3.3.3
+ ignore: 7.0.13
+ is-path-inside: 4.0.0
+ micromatch: 4.0.8
+ slash: 5.1.0
+ unicorn-magic: 0.4.1
globjoin@0.1.4: {}
@@ -7261,8 +6937,6 @@ snapshots:
graceful-fs@4.2.11: {}
- graphemer@1.4.0: {}
-
gray-matter@4.0.3:
dependencies:
js-yaml: 3.14.1
@@ -7295,6 +6969,8 @@ snapshots:
has-flag@4.0.0: {}
+ has-flag@5.0.1: {}
+
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
@@ -7310,6 +6986,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
@@ -7325,6 +7005,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:
@@ -7336,9 +7020,9 @@ snapshots:
whatwg-encoding: 1.0.5
optional: true
- html-tags@3.3.1: {}
+ html-tags@5.1.0: {}
- htmlparser2@8.0.2:
+ htmlparser2@9.1.0:
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
@@ -7362,7 +7046,7 @@ snapshots:
- supports-color
optional: true
- husky@8.0.3: {}
+ husky@9.1.7: {}
hybrids@9.1.23: {}
@@ -7379,36 +7063,29 @@ snapshots:
ignore-by-default@1.0.1: {}
- ignore@4.0.6: {}
-
ignore@5.3.2: {}
+ ignore@7.0.13: {}
+
image-size@0.5.5:
optional: true
- import-fresh@2.0.0:
- dependencies:
- caller-path: 2.0.0
- resolve-from: 3.0.0
-
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-lazy@4.0.0: {}
-
import-meta-resolve@4.1.0:
optional: true
+ import-meta-resolve@4.2.0: {}
+
imurmurhash@0.1.4: {}
indent-string@3.2.0: {}
indent-string@4.0.0: {}
- indent-string@5.0.0: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -7421,6 +7098,8 @@ snapshots:
ini@4.1.1:
optional: true
+ ini@6.0.0: {}
+
inquirer@8.2.5:
dependencies:
ansi-escapes: 4.3.2
@@ -7479,18 +7158,12 @@ snapshots:
dependencies:
has-tostringtag: 1.0.2
- is-directory@0.3.1: {}
-
is-extendable@0.1.1: {}
is-extglob@2.1.1: {}
is-fullwidth-code-point@3.0.0: {}
- is-fullwidth-code-point@5.1.0:
- dependencies:
- get-east-asian-width: 1.7.0
-
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -7509,9 +7182,11 @@ snapshots:
is-obj@2.0.0: {}
+ is-path-inside@4.0.0: {}
+
is-plain-obj@1.1.0: {}
- is-plain-object@5.0.0: {}
+ is-plain-obj@4.1.0: {}
is-potential-custom-element-name@1.0.1:
optional: true
@@ -7561,9 +7236,13 @@ snapshots:
isexe@2.0.0: {}
+ isexe@4.0.0: {}
+
jiti@1.21.6:
optional: true
+ jiti@2.7.0: {}
+
js-beautify@2.0.3:
dependencies:
config-chain: 1.1.13
@@ -7578,6 +7257,8 @@ snapshots:
js-tokens@4.0.0: {}
+ js-tokens@9.0.1: {}
+
js-yaml@3.14.1:
dependencies:
argparse: 1.0.10
@@ -7622,12 +7303,12 @@ snapshots:
- utf-8-validate
optional: true
- json-buffer@3.0.1: {}
-
json-parse-better-errors@1.0.2: {}
json-parse-even-better-errors@2.3.1: {}
+ json-parse-even-better-errors@6.0.0: {}
+
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -7636,10 +7317,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
@@ -7648,14 +7325,12 @@ snapshots:
jsonparse@1.3.1: {}
- keyv@4.5.4:
+ keyv@5.6.0:
dependencies:
- json-buffer: 3.0.1
+ '@keyv/serialize': 1.1.1
kind-of@6.0.3: {}
- known-css-properties@0.29.0: {}
-
less@4.2.0:
dependencies:
copy-anything: 2.0.6
@@ -7698,24 +7373,14 @@ snapshots:
dependencies:
uc.micro: 1.0.6
- lint-staged@16.4.0:
+ lint-staged@17.6.0:
dependencies:
- commander: 14.0.3
- listr2: 9.0.5
picomatch: 4.0.7
string-argv: 0.3.2
tinyexec: 1.3.1
+ optionalDependencies:
yaml: 2.9.1
- listr2@9.0.5:
- dependencies:
- cli-truncate: 5.2.0
- colorette: 2.0.20
- eventemitter3: 5.0.4
- log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 9.0.2
-
load-json-file@4.0.0:
dependencies:
graceful-fs: 4.2.11
@@ -7754,7 +7419,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
@@ -7781,14 +7447,6 @@ snapshots:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- log-update@6.1.0:
- dependencies:
- ansi-escapes: 7.3.0
- cli-cursor: 5.0.0
- slice-ansi: 7.1.2
- strip-ansi: 7.2.0
- wrap-ansi: 9.0.2
-
longest@2.0.1: {}
lottie-web@5.12.2: {}
@@ -7861,30 +7519,17 @@ snapshots:
math-intrinsics@1.1.0:
optional: true
- mathml-tag-names@2.1.3: {}
+ mathml-tag-names@4.0.0: {}
mdn-data@2.0.14: {}
- mdn-data@2.0.30: {}
+ mdn-data@2.27.1: {}
mdurl@1.0.1: {}
memorystream@0.3.1: {}
- meow@10.1.5:
- dependencies:
- '@types/minimist': 1.2.5
- camelcase-keys: 7.0.2
- decamelize: 5.0.1
- decamelize-keys: 1.1.1
- hard-rejection: 2.1.0
- minimist-options: 4.1.0
- normalize-package-data: 3.0.3
- read-pkg-up: 8.0.0
- redent: 4.0.0
- trim-newlines: 4.1.1
- type-fest: 1.4.0
- yargs-parser: 20.2.9
+ meow@14.1.0: {}
meow@4.0.1:
dependencies:
@@ -7946,8 +7591,6 @@ snapshots:
mimic-fn@2.1.0: {}
- mimic-function@5.0.1: {}
-
min-indent@1.0.1: {}
minimatch@10.2.6:
@@ -7981,10 +7624,6 @@ snapshots:
mitt@3.0.1: {}
- mkdirp@0.5.6:
- dependencies:
- minimist: 1.2.8
-
modify-values@1.0.1: {}
ms@2.0.0:
@@ -8002,8 +7641,6 @@ snapshots:
nanoid@3.3.7: {}
- natural-compare-lite@1.4.0: {}
-
natural-compare@1.4.0: {}
needle@2.9.1:
@@ -8064,6 +7701,19 @@ snapshots:
normalize-url@6.1.0: {}
+ npm-normalize-package-bin@6.0.0: {}
+
+ npm-run-all2@9.0.3:
+ dependencies:
+ ansi-styles: 7.0.0
+ cross-spawn: 7.0.6
+ memorystream: 0.3.1
+ picomatch: 4.0.7
+ pidtree: 1.0.0
+ read-package-json-fast: 6.0.0
+ shell-quote: 1.12.0
+ which: 7.0.0
+
npm-run-all@4.1.5:
dependencies:
ansi-styles: 3.2.1
@@ -8100,25 +7750,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:
@@ -8129,10 +7760,6 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
- onetime@7.0.0:
- dependencies:
- mimic-function: 5.0.1
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -8188,6 +7815,8 @@ snapshots:
p-try@2.2.0: {}
+ package-json-from-dist@1.0.1: {}
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -8234,8 +7863,6 @@ snapshots:
dependencies:
pify: 3.0.0
- path-type@4.0.0: {}
-
picocolors@1.1.0: {}
picocolors@1.1.1: {}
@@ -8248,6 +7875,8 @@ snapshots:
pidtree@0.3.1: {}
+ pidtree@1.0.0: {}
+
pify@2.3.0: {}
pify@3.0.0: {}
@@ -8295,6 +7924,13 @@ snapshots:
dependencies:
postcss: 8.4.47
+ postcss-html@2.0.0(postcss@8.5.26):
+ dependencies:
+ htmlparser2: 9.1.0
+ js-tokens: 9.0.1
+ postcss: 8.5.26
+ postcss-safe-parser: 7.1.0(postcss@8.5.26)
+
postcss-less@6.0.0(postcss@8.5.26):
dependencies:
postcss: 8.5.26
@@ -8400,17 +8036,20 @@ snapshots:
postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-resolve-nested-selector@0.1.6: {}
-
- postcss-safe-parser@6.0.0(postcss@8.4.47):
+ postcss-safe-parser@7.1.0(postcss@8.5.26):
dependencies:
- postcss: 8.4.47
+ postcss: 8.5.26
postcss-selector-parser@6.1.2:
dependencies:
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
@@ -8444,11 +8083,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-linter-helpers@1.0.0:
- dependencies:
- fast-diff: 1.3.0
-
- prettier@2.8.8: {}
+ prettier@3.9.10: {}
prismjs@1.29.0: {}
@@ -8463,8 +8098,6 @@ snapshots:
process-nextick-args@2.0.1: {}
- progress@2.0.3: {}
-
proto-list@1.2.4: {}
prr@1.0.1:
@@ -8481,6 +8114,10 @@ snapshots:
q@1.5.1: {}
+ qified@0.10.1:
+ dependencies:
+ hookified: 2.2.0
+
qrcode@1.5.4:
dependencies:
dijkstrajs: 1.0.3
@@ -8496,7 +8133,10 @@ snapshots:
quick-lru@4.0.1: {}
- quick-lru@5.1.1: {}
+ read-package-json-fast@6.0.0:
+ dependencies:
+ json-parse-even-better-errors: 6.0.0
+ npm-normalize-package-bin: 6.0.0
read-pkg-up@3.0.0:
dependencies:
@@ -8509,12 +8149,6 @@ snapshots:
read-pkg: 5.2.0
type-fest: 0.8.1
- read-pkg-up@8.0.0:
- dependencies:
- find-up: 5.0.0
- read-pkg: 6.0.0
- type-fest: 1.4.0
-
read-pkg@3.0.0:
dependencies:
load-json-file: 4.0.0
@@ -8528,13 +8162,6 @@ snapshots:
parse-json: 5.2.0
type-fest: 0.6.0
- read-pkg@6.0.0:
- dependencies:
- '@types/normalize-package-data': 2.4.4
- normalize-package-data: 3.0.3
- parse-json: 5.2.0
- type-fest: 1.4.0
-
readable-stream@2.3.8:
dependencies:
core-util-is: 1.0.3
@@ -8565,15 +8192,6 @@ snapshots:
indent-string: 4.0.0
strip-indent: 3.0.0
- redent@4.0.0:
- dependencies:
- indent-string: 5.0.0
- strip-indent: 4.0.0
-
- regenerator-runtime@0.10.5: {}
-
- regenerator-runtime@0.11.1: {}
-
regenerator-runtime@0.13.11: {}
regexp.prototype.flags@1.5.2:
@@ -8583,8 +8201,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: {}
@@ -8599,16 +8215,10 @@ snapshots:
expand-tilde: 2.0.2
global-modules: 1.0.0
- resolve-from@3.0.0: {}
-
resolve-from@4.0.0: {}
resolve-from@5.0.0: {}
- resolve-global@1.0.0:
- dependencies:
- global-dirs: 0.1.1
-
resolve-pkg-maps@1.0.0: {}
resolve@1.22.8:
@@ -8622,22 +8232,12 @@ snapshots:
onetime: 5.1.2
signal-exit: 3.0.7
- restore-cursor@5.1.0:
- dependencies:
- onetime: 7.0.0
- signal-exit: 4.1.0
-
reusify@1.0.4: {}
- rfdc@1.4.1: {}
-
- rimraf@2.7.1:
- dependencies:
- glob: 7.2.3
-
- rimraf@3.0.2:
+ rimraf@6.1.3:
dependencies:
- glob: 7.2.3
+ glob: 13.0.6
+ package-json-from-dist: 1.0.1
rollup@4.40.0:
dependencies:
@@ -8747,6 +8347,8 @@ snapshots:
shebang-regex@3.0.0: {}
+ shell-quote@1.12.0: {}
+
shell-quote@1.8.1: {}
side-channel@1.0.6:
@@ -8764,7 +8366,7 @@ snapshots:
dependencies:
semver: 7.8.5
- slash@3.0.0: {}
+ slash@5.1.0: {}
slice-ansi@4.0.0:
dependencies:
@@ -8772,16 +8374,6 @@ snapshots:
astral-regex: 2.0.0
is-fullwidth-code-point: 3.0.0
- slice-ansi@7.1.2:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
-
- slice-ansi@8.0.0:
- dependencies:
- ansi-styles: 6.2.3
- is-fullwidth-code-point: 5.1.0
-
sortablejs@1.15.7: {}
source-map-js@1.2.1: {}
@@ -8926,99 +8518,91 @@ snapshots:
dependencies:
min-indent: 1.0.1
- strip-indent@4.0.0:
- dependencies:
- min-indent: 1.0.1
-
strip-json-comments@3.1.1: {}
- style-search@0.1.0: {}
-
stylehacks@5.1.1(postcss@8.4.47):
dependencies:
browserslist: 4.23.3
postcss: 8.4.47
postcss-selector-parser: 6.1.2
- stylelint-config-recommended-less@2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3)):
+ stylelint-config-recommended-less@4.2.1(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3)):
dependencies:
postcss-less: 6.0.0(postcss@8.5.26)
- stylelint: 15.11.0(typescript@5.9.3)
- stylelint-config-recommended: 13.0.0(stylelint@15.11.0(typescript@5.9.3))
- stylelint-less: 2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3))
+ stylelint: 17.16.0(typescript@5.9.3)
+ stylelint-config-recommended: 18.0.0(stylelint@17.16.0(typescript@5.9.3))
+ stylelint-less: 4.2.2(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3))
optionalDependencies:
postcss: 8.5.26
- stylelint-config-recommended@13.0.0(stylelint@15.11.0(typescript@5.9.3)):
+ stylelint-config-recommended@18.0.0(stylelint@17.16.0(typescript@5.9.3)):
dependencies:
- stylelint: 15.11.0(typescript@5.9.3)
+ stylelint: 17.16.0(typescript@5.9.3)
- stylelint-config-standard-less@2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3)):
+ stylelint-config-standard-less@4.1.0(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3)):
dependencies:
- stylelint: 15.11.0(typescript@5.9.3)
- stylelint-config-recommended-less: 2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3))
- stylelint-config-standard: 34.0.0(stylelint@15.11.0(typescript@5.9.3))
+ stylelint: 17.16.0(typescript@5.9.3)
+ stylelint-config-recommended-less: 4.2.1(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3))
+ stylelint-config-standard: 40.0.0(stylelint@17.16.0(typescript@5.9.3))
optionalDependencies:
postcss: 8.5.26
- stylelint-config-standard@34.0.0(stylelint@15.11.0(typescript@5.9.3)):
+ stylelint-config-standard@40.0.0(stylelint@17.16.0(typescript@5.9.3)):
dependencies:
- stylelint: 15.11.0(typescript@5.9.3)
- stylelint-config-recommended: 13.0.0(stylelint@15.11.0(typescript@5.9.3))
+ stylelint: 17.16.0(typescript@5.9.3)
+ stylelint-config-recommended: 18.0.0(stylelint@17.16.0(typescript@5.9.3))
- stylelint-less@2.0.0(postcss@8.5.26)(stylelint@15.11.0(typescript@5.9.3)):
+ stylelint-less@4.2.2(postcss@8.5.26)(stylelint@17.16.0(typescript@5.9.3)):
dependencies:
+ '@types/css-tree': 3.2.0
+ css-tree: 3.2.1
postcss: 8.5.26
- postcss-resolve-nested-selector: 0.1.6
postcss-value-parser: 4.2.0
- stylelint: 15.11.0(typescript@5.9.3)
-
- stylelint@15.11.0(typescript@5.9.3):
- dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
- '@csstools/media-query-list-parser': 2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
- '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.2)
- balanced-match: 2.0.0
- colord: 2.9.3
- cosmiconfig: 8.3.6(typescript@5.9.3)
- css-functions-list: 3.2.2
- css-tree: 2.3.1
- debug: 4.3.7(supports-color@5.5.0)
- fast-glob: 3.3.2
+ stylelint: 17.16.0(typescript@5.9.3)
+
+ stylelint@17.16.0(typescript@5.9.3):
+ dependencies:
+ '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)
+ '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2)
+ '@csstools/css-syntax-patches-for-csstree': 1.1.15(css-tree@3.2.1)
+ '@csstools/css-tokenizer': 4.0.2
+ '@csstools/media-query-list-parser': 5.0.2(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)
+ '@csstools/selector-resolve-nested': 4.0.2(postcss-selector-parser@7.1.6)
+ '@csstools/selector-specificity': 6.0.1(postcss-selector-parser@7.1.6)
+ colord: 2.10.0
+ cosmiconfig: 9.0.2(typescript@5.9.3)
+ css-functions-list: 3.3.3
+ css-tree: 3.2.1
+ debug: 4.4.3
+ fast-glob: 3.3.3
fastest-levenshtein: 1.0.16
- file-entry-cache: 7.0.2
+ file-entry-cache: 11.1.5
global-modules: 2.0.0
- globby: 11.1.0
+ globby: 16.2.4
globjoin: 0.1.4
- html-tags: 3.3.1
- ignore: 5.3.2
- import-lazy: 4.0.0
- imurmurhash: 0.1.4
- is-plain-object: 5.0.0
- known-css-properties: 0.29.0
- mathml-tag-names: 2.1.3
- meow: 10.1.5
+ html-tags: 5.1.0
+ ignore: 7.0.13
+ import-meta-resolve: 4.2.0
+ mathml-tag-names: 4.0.0
+ meow: 14.1.0
micromatch: 4.0.8
normalize-path: 3.0.0
- picocolors: 1.1.0
- postcss: 8.4.47
- postcss-resolve-nested-selector: 0.1.6
- postcss-safe-parser: 6.0.0(postcss@8.4.47)
- postcss-selector-parser: 6.1.2
+ picocolors: 1.1.1
+ postcss: 8.5.26
+ postcss-safe-parser: 7.1.0(postcss@8.5.26)
+ postcss-selector-parser: 7.1.6
postcss-value-parser: 4.2.0
- resolve-from: 5.0.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- style-search: 0.1.0
- supports-hyperlinks: 3.1.0
+ string-width: 8.3.0
+ supports-hyperlinks: 4.6.0
svg-tags: 1.0.0
- table: 6.8.2
- write-file-atomic: 5.0.1
+ table: 6.9.0
+ write-file-atomic: 7.0.1
transitivePeerDependencies:
- supports-color
- typescript
+ supports-color@10.2.2: {}
+
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -9027,10 +8611,10 @@ snapshots:
dependencies:
has-flag: 4.0.0
- supports-hyperlinks@3.1.0:
+ supports-hyperlinks@4.6.0:
dependencies:
- has-flag: 4.0.0
- supports-color: 7.2.0
+ has-flag: 5.0.1
+ supports-color: 10.2.2
supports-preserve-symlinks-flag@1.0.0: {}
@@ -9049,7 +8633,7 @@ snapshots:
symbol-tree@3.2.4:
optional: true
- table@6.8.2:
+ table@6.9.0:
dependencies:
ajv: 8.17.1
lodash.truncate: 4.4.2
@@ -9118,8 +8702,6 @@ snapshots:
text-extensions@1.9.0: {}
- text-table@0.2.0: {}
-
three@0.127.0: {}
through2@2.0.5:
@@ -9178,24 +8760,12 @@ snapshots:
trim-newlines@3.0.1: {}
- 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
@@ -9218,16 +8788,12 @@ snapshots:
type-fest@0.18.1: {}
- type-fest@0.20.2: {}
-
type-fest@0.21.3: {}
type-fest@0.6.0: {}
type-fest@0.8.1: {}
- type-fest@1.4.0: {}
-
typed-array-buffer@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -9262,6 +8828,17 @@ snapshots:
typedarray@0.0.6: {}
+ typescript-eslint@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.72.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0))(typescript@5.9.3)
+ eslint: 10.13.0(jiti@2.7.0)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - supports-color
+
typescript@5.9.3: {}
uc.micro@1.0.6: {}
@@ -9284,6 +8861,8 @@ snapshots:
dependencies:
'@fastify/busboy': 2.1.1
+ unicorn-magic@0.4.1: {}
+
universal-user-agent@6.0.1: {}
universalify@0.2.0:
@@ -9315,8 +8894,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
@@ -9324,6 +8901,8 @@ snapshots:
validator@13.15.35: {}
+ verkit@0.5.0: {}
+
vite-plugin-tdoc@2.0.4(@types/markdown-it@12.2.3):
dependencies:
diacritics: 1.3.0
@@ -9339,7 +8918,7 @@ snapshots:
transitivePeerDependencies:
- '@types/markdown-it'
- 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):
+ vite@6.3.1(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1):
dependencies:
esbuild: 0.25.2
fdir: 6.4.3(picomatch@4.0.2)
@@ -9350,13 +8929,13 @@ snapshots:
optionalDependencies:
'@types/node': 22.20.4
fsevents: 2.3.3
- jiti: 1.21.6
+ jiti: 2.7.0
less: 4.9.1
terser: 5.33.0
tsx: 4.19.3
yaml: 2.9.1
- vite@6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1):
+ vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1):
dependencies:
esbuild: 0.25.2
fdir: 6.5.0(picomatch@4.0.7)
@@ -9367,13 +8946,13 @@ snapshots:
optionalDependencies:
'@types/node': 22.20.4
fsevents: 2.3.3
- jiti: 1.21.6
+ jiti: 2.7.0
less: 4.2.0
terser: 5.33.0
tsx: 4.19.3
yaml: 2.9.1
- 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):
+ vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1):
dependencies:
esbuild: 0.25.2
fdir: 6.5.0(picomatch@4.0.7)
@@ -9384,16 +8963,16 @@ snapshots:
optionalDependencies:
'@types/node': 22.20.4
fsevents: 2.3.3
- jiti: 1.21.6
+ jiti: 2.7.0
less: 4.9.1
terser: 5.33.0
tsx: 4.19.3
yaml: 2.9.1
- vitest@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.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)):
+ vitest@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@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)):
dependencies:
'@types/chai': 5.2.3
- '@vitest/mocker': 5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
+ '@vitest/mocker': 5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
chai: 6.2.2
es-module-lexer: 2.3.2
expect-type: 1.4.0
@@ -9404,7 +8983,7 @@ snapshots:
tinybench: 6.2.0
tinyexec: 1.3.1
tinyglobby: 0.2.17
- vite: 6.4.3(@types/node@22.20.4)(jiti@1.21.6)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
+ vite: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.2.0)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
why-is-node-running: 3.2.1
optionalDependencies:
'@types/node': 22.20.4
@@ -9414,10 +8993,10 @@ snapshots:
transitivePeerDependencies:
- msw
- vitest@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)):
+ vitest@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@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)):
dependencies:
'@types/chai': 5.2.3
- '@vitest/mocker': 5.0.3(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))
+ '@vitest/mocker': 5.0.3(vite@6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1))
chai: 6.2.2
es-module-lexer: 2.3.2
expect-type: 1.4.0
@@ -9428,7 +9007,7 @@ snapshots:
tinybench: 6.2.0
tinyexec: 1.3.1
tinyglobby: 0.2.17
- 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)
+ vite: 6.4.3(@types/node@22.20.4)(jiti@2.7.0)(less@4.9.1)(terser@5.33.0)(tsx@4.19.3)(yaml@2.9.1)
why-is-node-running: 3.2.1
optionalDependencies:
'@types/node': 22.20.4
@@ -9442,32 +9021,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.13.0(jiti@2.7.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
+ debug: 4.4.3
+ eslint: 10.13.0(jiti@2.7.0)
+ 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
@@ -9568,6 +9133,10 @@ snapshots:
dependencies:
isexe: 2.0.0
+ which@7.0.0:
+ dependencies:
+ isexe: 4.0.0
+
why-is-node-running@3.2.1: {}
word-wrap@1.2.5: {}
@@ -9594,9 +9163,8 @@ snapshots:
wrappy@1.0.2: {}
- write-file-atomic@5.0.1:
+ write-file-atomic@7.0.1:
dependencies:
- imurmurhash: 0.1.4
signal-exit: 4.1.0
ws@7.5.13:
@@ -9605,7 +9173,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
@@ -9620,7 +9188,8 @@ snapshots:
yaml@1.10.2: {}
- yaml@2.9.1: {}
+ yaml@2.9.1:
+ optional: true
yargs-parser@10.1.0:
dependencies:
@@ -9638,6 +9207,8 @@ snapshots:
yargs-parser@20.2.9: {}
+ yargs-parser@22.0.0: {}
+
yargs@15.0.2:
dependencies:
cliui: 6.0.0
@@ -9676,4 +9247,13 @@ snapshots:
y18n: 5.0.8
yargs-parser: 20.2.9
+ yargs@18.2.0:
+ dependencies:
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 8.3.0
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
+
yocto-queue@0.1.0: {}
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/commitlint.config.js b/site/commitlint.config.js
deleted file mode 100644
index 422b19445..000000000
--- a/site/commitlint.config.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = { extends: ['@commitlint/config-conventional'] };
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 f6c176400..e7820597a 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": {
@@ -27,37 +25,22 @@
"vue-router": "^4.5.1"
},
"devDependencies": {
- "@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",
"postcss": "^8.4.5",
- "rimraf": "^3.0.2",
+ "rimraf": "^6.1.3",
"standard-version": "^7.0.1",
"typescript": "^5.8.3",
"vite": "^6.3.1",
"vite-plugin-tdoc": "^2.0.0",
"vue-tsc": "^2.2.10"
},
- "config": {
- "commitizen": {
- "path": "./node_modules/cz-conventional-changelog"
- }
- },
"author": "tdesign",
"license": "MIT"
}
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/spline/README.md b/site/spline/README.md
deleted file mode 100644
index 92e09d272..000000000
--- a/site/spline/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## 用途
-
-备份 spline 文件,文件最终要存放在 cdn 上
\ No newline at end of file
diff --git a/site/spline/design/assets/runtime.js b/site/spline/design/assets/runtime.js
deleted file mode 100644
index 5cf2c0ba5..000000000
--- a/site/spline/design/assets/runtime.js
+++ /dev/null
@@ -1,4395 +0,0 @@
-var oA=Object.create;var Pl=Object.defineProperty,aA=Object.defineProperties,lA=Object.getOwnPropertyDescriptor,cA=Object.getOwnPropertyDescriptors,uA=Object.getOwnPropertyNames,Ag=Object.getOwnPropertySymbols,hA=Object.getPrototypeOf,_g=Object.prototype.hasOwnProperty,dA=Object.prototype.propertyIsEnumerable;var Tg=(r,e,t)=>e in r?Pl(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ue=(r,e)=>{for(var t in e||(e={}))_g.call(e,t)&&Tg(r,t,e[t]);if(Ag)for(var t of Ag(e))dA.call(e,t)&&Tg(r,t,e[t]);return r},tt=(r,e)=>aA(r,cA(e)),Eg=r=>Pl(r,"__esModule",{value:!0});var Ng=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),fA=(r,e)=>{Eg(r);for(var t in e)Pl(r,t,{get:e[t],enumerable:!0})},pA=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of uA(e))!_g.call(r,n)&&n!=="default"&&Pl(r,n,{get:()=>e[n],enumerable:!(t=lA(e,n))||t.enumerable});return r},Cg=r=>pA(Eg(Pl(r!=null?oA(hA(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var Y0=Ng($h=>{"use strict";$h.byteLength=Z2;$h.toByteArray=eI;$h.fromByteArray=iI;var yr=[],Li=[],Q2=typeof Uint8Array!="undefined"?Uint8Array:Array,Om="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Po=0,X0=Om.length;Po0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function Z2(r){var e=q0(r),t=e[0],n=e[1];return(t+n)*3/4-n}function $2(r,e,t){return(e+t)*3/4-t}function eI(r){var e,t=q0(r),n=t[0],i=t[1],s=new Q2($2(r,n,i)),o=0,a=i>0?n-4:n,l;for(l=0;l>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=Li[r.charCodeAt(l)]<<2|Li[r.charCodeAt(l+1)]>>4,s[o++]=e&255),i===1&&(e=Li[r.charCodeAt(l)]<<10|Li[r.charCodeAt(l+1)]<<4|Li[r.charCodeAt(l+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function tI(r){return yr[r>>18&63]+yr[r>>12&63]+yr[r>>6&63]+yr[r&63]}function nI(r,e,t){for(var n,i=[],s=e;sa?a:o+s));return n===1?(e=r[t-1],i.push(yr[e>>2]+yr[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],i.push(yr[e>>10]+yr[e>>4&63]+yr[e<<2&63]+"=")),i.join("")}});var tA=Ng((Xd,eA)=>{(function(r,e){typeof Xd=="object"&&typeof eA!="undefined"?e(Xd):typeof define=="function"&&define.amd?define(["exports"],e):e((r=typeof globalThis!="undefined"?globalThis:r||self).SVDJS={})})(Xd,function(r){"use strict";r.SVD=function(e,t,n,i,s){if(t=t===void 0||t,n=n===void 0||n,s=1e-64/(i=i||Math.pow(2,-52)),!e)throw new TypeError("Matrix a is not defined");var o,a,l,c,u,h,d,f,p,m,v,g,y=e[0].length,x=e.length;if(x>8&255]+Cn[r>>16&255]+Cn[r>>24&255]+"-"+Cn[e&255]+Cn[e>>8&255]+"-"+Cn[e>>16&15|64]+Cn[e>>24&255]+"-"+Cn[t&63|128]+Cn[t>>8&255]+"-"+Cn[t>>16&255]+Cn[t>>24&255]+Cn[n&255]+Cn[n>>8&255]+Cn[n>>16&255]+Cn[n>>24&255]).toUpperCase()}function Ln(r,e,t){return Math.max(e,Math.min(t,r))}function nf(r,e){return(r%e+e)%e}function k_(r,e,t,n,i){return n+(r-e)*(i-n)/(t-e)}function V_(r,e,t){return r!==e?(t-r)/(e-r):0}function Fl(r,e,t){return(1-t)*r+t*e}function H_(r,e,t,n){return Fl(r,e,1-Math.exp(-t*n))}function j_(r,e=1){return e-Math.abs(nf(r,e*2)-e)}function W_(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*(3-2*r))}function J_(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*r*(r*(r*6-15)+10))}function X_(r,e){return r+Math.floor(Math.random()*(e-r+1))}function q_(r,e){return r+Math.random()*(e-r)}function Y_(r){return r*(.5-Math.random())}function K_(r){return r!==void 0&&(Eu=r%2147483647),Eu=Eu*16807%2147483647,(Eu-1)/2147483646}function Q_(r){return r*Qo}function Z_(r){return r*Ol}function rf(r){return(r&r-1)==0&&r!==0}function $g(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function ey(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function $_(r,e,t,n,i){let s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+n)/2),u=o((e+n)/2),h=s((e-n)/2),d=o((e-n)/2),f=s((n-e)/2),p=o((n-e)/2);switch(i){case"XYX":r.set(a*u,l*h,l*d,a*c);break;case"YZY":r.set(l*d,a*u,l*h,a*c);break;case"ZXZ":r.set(l*h,l*d,a*u,a*c);break;case"XZX":r.set(a*u,l*p,l*f,a*c);break;case"YXY":r.set(l*f,a*u,l*p,a*c);break;case"ZYZ":r.set(l*p,l*f,a*u,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}var Ee=Object.freeze({__proto__:null,DEG2RAD:Qo,RAD2DEG:Ol,generateUUID:fi,clamp:Ln,euclideanModulo:nf,mapLinear:k_,inverseLerp:V_,lerp:Fl,damp:H_,pingpong:j_,smoothstep:W_,smootherstep:J_,randInt:X_,randFloat:q_,randFloatSpread:Y_,seededRandom:K_,degToRad:Q_,radToDeg:Z_,isPowerOfTwo:rf,ceilPowerOfTwo:$g,floorPowerOfTwo:ey,setQuaternionFromProperEuler:$_}),O=class{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),i=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*n-o*i+e.x,this.y=s*i+o*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}};O.prototype.isVector2=!0;var Dt=class{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,i,s,o,a,l,c){let u=this.elements;return u[0]=e,u[1]=i,u[2]=a,u[3]=t,u[4]=s,u[5]=l,u[6]=n,u[7]=o,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,i=t.elements,s=this.elements,o=n[0],a=n[3],l=n[6],c=n[1],u=n[4],h=n[7],d=n[2],f=n[5],p=n[8],m=i[0],v=i[3],g=i[6],y=i[1],x=i[4],b=i[7],w=i[2],_=i[5],S=i[8];return s[0]=o*m+a*y+l*w,s[3]=o*v+a*x+l*_,s[6]=o*g+a*b+l*S,s[1]=c*m+u*y+h*w,s[4]=c*v+u*x+h*_,s[7]=c*g+u*b+h*S,s[2]=d*m+f*y+p*w,s[5]=d*v+f*x+p*_,s[8]=d*g+f*b+p*S,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t*o*u-t*a*c-n*s*u+n*a*l+i*s*c-i*o*l}invert(){let e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=u*o-a*c,d=a*l-u*s,f=c*s-o*l,p=t*h+n*d+i*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/p;return e[0]=h*m,e[1]=(i*c-u*n)*m,e[2]=(a*n-i*o)*m,e[3]=d*m,e[4]=(u*t-i*l)*m,e[5]=(i*s-a*t)*m,e[6]=f*m,e[7]=(n*l-c*t)*m,e[8]=(o*t-n*s)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,i,s,o,a){let l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*o+c*a)+o+e,-i*c,i*l,-i*(-c*o+l*a)+a+t,0,0,1),this}scale(e,t){let n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=t,n[4]*=t,n[7]*=t,this}rotate(e){let t=Math.cos(e),n=Math.sin(e),i=this.elements,s=i[0],o=i[3],a=i[6],l=i[1],c=i[4],u=i[7];return i[0]=t*s+n*l,i[3]=t*o+n*c,i[6]=t*a+n*u,i[1]=-n*s+t*l,i[4]=-n*o+t*c,i[7]=-n*a+t*u,this}translate(e,t){let n=this.elements;return n[0]+=e*n[2],n[3]+=e*n[5],n[6]+=e*n[8],n[1]+=t*n[2],n[4]+=t*n[5],n[7]+=t*n[8],this}equals(e){let t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}};Dt.prototype.isMatrix3=!0;var Zo,Zs=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Zo===void 0&&(Zo=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),Zo.width=e.width,Zo.height=e.height;let n=Zo.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Zo}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}},e1=0,xt=class extends cn{constructor(e=xt.DEFAULT_IMAGE,t=xt.DEFAULT_MAPPING,n=Zt,i=Zt,s=$e,o=Ai,a=zt,l=At,c=1,u=ln){super();Object.defineProperty(this,"id",{value:e1++}),this.uuid=fi(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=i,this.magFilter=s,this.minFilter=o,this.anisotropy=c,this.format=a,this.internalFormat=null,this.type=l,this.offset=new O(0,0),this.repeat=new O(1,1),this.center=new O(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Dt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=u,this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this}toJSON(e){let t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(this.image!==void 0){let i=this.image;if(i.uuid===void 0&&(i.uuid=fi()),!t&&e.images[i.uuid]===void 0){let s;if(Array.isArray(i)){s=[];for(let o=0,a=i.length;o1)switch(this.wrapS){case di:e.x=e.x-Math.floor(e.x);break;case Zt:e.x=e.x<0?0:1;break;case qr:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case di:e.y=e.y-Math.floor(e.y);break;case Zt:e.y=e.y<0?0:1;break;case qr:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&this.version++}};xt.DEFAULT_IMAGE=void 0;xt.DEFAULT_MAPPING=Kd;xt.prototype.isTexture=!0;function sf(r){return typeof HTMLImageElement!="undefined"&&r instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&r instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&r instanceof ImageBitmap?Zs.getDataURL(r):r.data?{data:Array.prototype.slice.call(r.data),width:r.width,height:r.height,type:r.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var Qe=class{constructor(e=0,t=0,n=0,i=1){this.x=e,this.y=t,this.z=n,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,i=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*i+o[12]*s,this.y=o[1]*t+o[5]*n+o[9]*i+o[13]*s,this.z=o[2]*t+o[6]*n+o[10]*i+o[14]*s,this.w=o[3]*t+o[7]*n+o[11]*i+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,s,o=.01,a=.1,l=e.elements,c=l[0],u=l[4],h=l[8],d=l[1],f=l[5],p=l[9],m=l[2],v=l[6],g=l[10];if(Math.abs(u-d)b&&x>w?xw?b=0?1:-1,x=1-g*g;if(x>Number.EPSILON){let w=Math.sqrt(x),_=Math.atan2(w,g*y);v=Math.sin(v*_)/w,a=Math.sin(a*_)/w}let b=a*y;if(l=l*v+d*b,c=c*v+f*b,u=u*v+p*b,h=h*v+m*b,v===1-a){let w=1/Math.sqrt(l*l+c*c+u*u+h*h);l*=w,c*=w,u*=w,h*=w}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h}static multiplyQuaternionsFlat(e,t,n,i,s,o){let a=n[i],l=n[i+1],c=n[i+2],u=n[i+3],h=s[o],d=s[o+1],f=s[o+2],p=s[o+3];return e[t]=a*p+u*h+l*f-c*d,e[t+1]=l*p+u*d+c*h-a*f,e[t+2]=c*p+u*f+a*d-l*h,e[t+3]=u*p-a*h-l*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");let n=e._x,i=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(n/2),u=a(i/2),h=a(s/2),d=l(n/2),f=l(i/2),p=l(s/2);switch(o){case"XYZ":this._x=d*u*h+c*f*p,this._y=c*f*h-d*u*p,this._z=c*u*p+d*f*h,this._w=c*u*h-d*f*p;break;case"YXZ":this._x=d*u*h+c*f*p,this._y=c*f*h-d*u*p,this._z=c*u*p-d*f*h,this._w=c*u*h+d*f*p;break;case"ZXY":this._x=d*u*h-c*f*p,this._y=c*f*h+d*u*p,this._z=c*u*p+d*f*h,this._w=c*u*h-d*f*p;break;case"ZYX":this._x=d*u*h-c*f*p,this._y=c*f*h+d*u*p,this._z=c*u*p-d*f*h,this._w=c*u*h+d*f*p;break;case"YZX":this._x=d*u*h+c*f*p,this._y=c*f*h+d*u*p,this._z=c*u*p-d*f*h,this._w=c*u*h-d*f*p;break;case"XZY":this._x=d*u*h-c*f*p,this._y=c*f*h-d*u*p,this._z=c*u*p+d*f*h,this._w=c*u*h+d*f*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t!==!1&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],i=t[4],s=t[8],o=t[1],a=t[5],l=t[9],c=t[2],u=t[6],h=t[10],d=n+a+h;if(d>0){let f=.5/Math.sqrt(d+1);this._w=.25/f,this._x=(u-l)*f,this._y=(s-c)*f,this._z=(o-i)*f}else if(n>a&&n>h){let f=2*Math.sqrt(1+n-a-h);this._w=(u-l)/f,this._x=.25*f,this._y=(i+o)/f,this._z=(s+c)/f}else if(a>h){let f=2*Math.sqrt(1+a-n-h);this._w=(s-c)/f,this._x=(i+o)/f,this._y=.25*f,this._z=(l+u)/f}else{let f=2*Math.sqrt(1+h-n-a);this._w=(o-i)/f,this._x=(s+c)/f,this._y=(l+u)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ln(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let n=e._x,i=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,u=t._w;return this._x=n*u+o*a+i*c-s*l,this._y=i*u+o*l+s*a-n*c,this._z=s*u+o*c+n*l-i*a,this._w=o*u-n*a-i*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);let n=this._x,i=this._y,s=this._z,o=this._w,a=o*e._w+n*e._x+i*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=i,this._z=s,this;let l=1-a*a;if(l<=Number.EPSILON){let f=1-t;return this._w=f*o+t*this._w,this._x=f*n+t*this._x,this._y=f*i+t*this._y,this._z=f*s+t*this._z,this.normalize(),this._onChangeCallback(),this}let c=Math.sqrt(l),u=Math.atan2(c,a),h=Math.sin((1-t)*u)/c,d=Math.sin(t*u)/c;return this._w=o*h+this._w*d,this._x=n*h+this._x*d,this._y=i*h+this._y*d,this._z=s*h+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};Tt.prototype.isQuaternion=!0;var M=class{constructor(e=0,t=0,n=0){this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ny.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ny.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*i,this.y=s[1]*t+s[4]*n+s[7]*i,this.z=s[2]*t+s[5]*n+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,i=this.z,s=e.elements,o=1/(s[3]*t+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*i+s[12])*o,this.y=(s[1]*t+s[5]*n+s[9]*i+s[13])*o,this.z=(s[2]*t+s[6]*n+s[10]*i+s[14])*o,this}applyQuaternion(e){let t=this.x,n=this.y,i=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=l*t+o*i-a*n,u=l*n+a*t-s*i,h=l*i+s*n-o*t,d=-s*t-o*n-a*i;return this.x=c*l+d*-s+u*-a-h*-o,this.y=u*l+d*-o+h*-s-c*-a,this.z=h*l+d*-a+c*-o-u*-s,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*i,this.y=s[1]*t+s[5]*n+s[9]*i,this.z=s[2]*t+s[6]*n+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,i=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=i*l-s*a,this.y=s*o-n*l,this.z=n*a-i*o,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return of.copy(this).projectOnVector(e),this.sub(of)}reflect(e){return this.sub(of.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(Ln(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,n){return n!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}};M.prototype.isVector3=!0;var of=new M,ny=new Tt,tn=class{constructor(e=new M(1/0,1/0,1/0),t=new M(-1/0,-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,n=1/0,i=1/0,s=-1/0,o=-1/0,a=-1/0;for(let l=0,c=e.length;ls&&(s=u),h>o&&(o=h),d>a&&(a=d)}return this.min.set(t,n,i),this.max.set(s,o,a),this}setFromBufferAttribute(e){let t=1/0,n=1/0,i=1/0,s=-1/0,o=-1/0,a=-1/0;for(let l=0,c=e.count;ls&&(s=u),h>o&&(o=h),d>a&&(a=d)}return this.min.set(t,n,i),this.max.set(s,o,a),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,zl),zl.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Gl),Nu.subVectors(this.max,Gl),$o.subVectors(e.a,Gl),ea.subVectors(e.b,Gl),ta.subVectors(e.c,Gl),$r.subVectors(ea,$o),es.subVectors(ta,ea),$s.subVectors($o,ta);let t=[0,-$r.z,$r.y,0,-es.z,es.y,0,-$s.z,$s.y,$r.z,0,-$r.x,es.z,0,-es.x,$s.z,0,-$s.x,-$r.y,$r.x,0,-es.y,es.x,0,-$s.y,$s.x,0];return!lf(t,$o,ea,ta,Nu)||(t=[1,0,0,0,1,0,0,0,1],!lf(t,$o,ea,ta,Nu))?!1:(Cu.crossVectors($r,es),t=[Cu.x,Cu.y,Cu.z],lf(t,$o,ea,ta,Nu))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return zl.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=this.getSize(zl).length()*.5,e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Nr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Nr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Nr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Nr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Nr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Nr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Nr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Nr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Nr),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};tn.prototype.isBox3=!0;var Nr=[new M,new M,new M,new M,new M,new M,new M,new M],zl=new M,af=new tn,$o=new M,ea=new M,ta=new M,$r=new M,es=new M,$s=new M,Gl=new M,Nu=new M,Cu=new M,eo=new M;function lf(r,e,t,n,i){for(let s=0,o=r.length-3;s<=o;s+=3){eo.fromArray(r,s);let a=i.x*Math.abs(eo.x)+i.y*Math.abs(eo.y)+i.z*Math.abs(eo.z),l=e.dot(eo),c=t.dot(eo),u=n.dot(eo);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>a)return!1}return!0}var t1=new tn,iy=new M,cf=new M,uf=new M,ti=class{constructor(e=new M,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;t!==void 0?n.copy(t):t1.setFromPoints(e).getCenter(n);let i=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){uf.subVectors(e,this.center);let t=uf.lengthSq();if(t>this.radius*this.radius){let n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.add(uf.multiplyScalar(i/n)),this.radius+=i}return this}union(e){return cf.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(iy.copy(e.center).add(cf)),this.expandByPoint(iy.copy(e.center).sub(cf)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}},Cr=new M,hf=new M,Lu=new M,ts=new M,df=new M,Iu=new M,ff=new M,or=class{constructor(e=new M,t=new M(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Cr)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Cr.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Cr.copy(this.direction).multiplyScalar(t).add(this.origin),Cr.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){hf.copy(e).add(t).multiplyScalar(.5),Lu.copy(t).sub(e).normalize(),ts.copy(this.origin).sub(hf);let s=e.distanceTo(t)*.5,o=-this.direction.dot(Lu),a=ts.dot(this.direction),l=-ts.dot(Lu),c=ts.lengthSq(),u=Math.abs(1-o*o),h,d,f,p;if(u>0)if(h=o*l-a,d=o*a-l,p=s*u,h>=0)if(d>=-p)if(d<=p){let m=1/u;h*=m,d*=m,f=h*(h+o*d+2*a)+d*(o*h+d+2*l)+c}else d=s,h=Math.max(0,-(o*d+a)),f=-h*h+d*(d+2*l)+c;else d=-s,h=Math.max(0,-(o*d+a)),f=-h*h+d*(d+2*l)+c;else d<=-p?(h=Math.max(0,-(-o*s+a)),d=h>0?-s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c):d<=p?(h=0,d=Math.min(Math.max(-s,-l),s),f=d*(d+2*l)+c):(h=Math.max(0,-(o*s+a)),d=h>0?s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c);else d=o>0?-s:s,h=Math.max(0,-(o*d+a)),f=-h*h+d*(d+2*l)+c;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(Lu).multiplyScalar(d).add(hf),f}intersectSphere(e,t){Cr.subVectors(e.center,this.origin);let n=Cr.dot(this.direction),i=Cr.dot(Cr)-n*n,s=e.radius*e.radius;if(i>s)return null;let o=Math.sqrt(s-i),a=n-o,l=n+o;return a<0&&l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,s,o,a,l,c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,i=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,i=(e.min.x-d.x)*c),u>=0?(s=(e.min.y-d.y)*u,o=(e.max.y-d.y)*u):(s=(e.max.y-d.y)*u,o=(e.min.y-d.y)*u),n>o||s>i||((s>n||n!==n)&&(n=s),(o=0?(a=(e.min.z-d.z)*h,l=(e.max.z-d.z)*h):(a=(e.max.z-d.z)*h,l=(e.min.z-d.z)*h),n>l||a>i)||((a>n||n!==n)&&(n=a),(l=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,Cr)!==null}intersectTriangle(e,t,n,i,s){df.subVectors(t,e),Iu.subVectors(n,e),ff.crossVectors(df,Iu);let o=this.direction.dot(ff),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ts.subVectors(this.origin,e);let l=a*this.direction.dot(Iu.crossVectors(ts,Iu));if(l<0)return null;let c=a*this.direction.dot(df.cross(ts));if(c<0||l+c>o)return null;let u=-a*ts.dot(ff);return u<0?null:this.at(u/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},me=class{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(e,t,n,i,s,o,a,l,c,u,h,d,f,p,m,v){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=i,g[1]=s,g[5]=o,g[9]=a,g[13]=l,g[2]=c,g[6]=u,g[10]=h,g[14]=d,g[3]=f,g[7]=p,g[11]=m,g[15]=v,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new me().fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,i=1/na.setFromMatrixColumn(e,0).length(),s=1/na.setFromMatrixColumn(e,1).length(),o=1/na.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");let t=this.elements,n=e.x,i=e.y,s=e.z,o=Math.cos(n),a=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){let d=o*u,f=o*h,p=a*u,m=a*h;t[0]=l*u,t[4]=-l*h,t[8]=c,t[1]=f+p*c,t[5]=d-m*c,t[9]=-a*l,t[2]=m-d*c,t[6]=p+f*c,t[10]=o*l}else if(e.order==="YXZ"){let d=l*u,f=l*h,p=c*u,m=c*h;t[0]=d+m*a,t[4]=p*a-f,t[8]=o*c,t[1]=o*h,t[5]=o*u,t[9]=-a,t[2]=f*a-p,t[6]=m+d*a,t[10]=o*l}else if(e.order==="ZXY"){let d=l*u,f=l*h,p=c*u,m=c*h;t[0]=d-m*a,t[4]=-o*h,t[8]=p+f*a,t[1]=f+p*a,t[5]=o*u,t[9]=m-d*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){let d=o*u,f=o*h,p=a*u,m=a*h;t[0]=l*u,t[4]=p*c-f,t[8]=d*c+m,t[1]=l*h,t[5]=m*c+d,t[9]=f*c-p,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){let d=o*l,f=o*c,p=a*l,m=a*c;t[0]=l*u,t[4]=m-d*h,t[8]=p*h+f,t[1]=h,t[5]=o*u,t[9]=-a*u,t[2]=-c*u,t[6]=f*h+p,t[10]=d-m*h}else if(e.order==="XZY"){let d=o*l,f=o*c,p=a*l,m=a*c;t[0]=l*u,t[4]=-h,t[8]=c*u,t[1]=d*h+m,t[5]=o*u,t[9]=f*h-p,t[2]=p*h-f,t[6]=a*u,t[10]=m*h+d}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(n1,e,i1)}lookAt(e,t,n){let i=this.elements;return pi.subVectors(e,t),pi.lengthSq()===0&&(pi.z=1),pi.normalize(),ns.crossVectors(n,pi),ns.lengthSq()===0&&(Math.abs(n.z)===1?pi.x+=1e-4:pi.z+=1e-4,pi.normalize(),ns.crossVectors(n,pi)),ns.normalize(),Pu.crossVectors(pi,ns),i[0]=ns.x,i[4]=Pu.x,i[8]=pi.x,i[1]=ns.y,i[5]=Pu.y,i[9]=pi.y,i[2]=ns.z,i[6]=Pu.z,i[10]=pi.z,this}multiply(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,i=t.elements,s=this.elements,o=n[0],a=n[4],l=n[8],c=n[12],u=n[1],h=n[5],d=n[9],f=n[13],p=n[2],m=n[6],v=n[10],g=n[14],y=n[3],x=n[7],b=n[11],w=n[15],_=i[0],S=i[4],A=i[8],T=i[12],L=i[1],C=i[5],U=i[9],P=i[13],R=i[2],G=i[6],B=i[10],j=i[14],ne=i[3],le=i[7],W=i[11],z=i[15];return s[0]=o*_+a*L+l*R+c*ne,s[4]=o*S+a*C+l*G+c*le,s[8]=o*A+a*U+l*B+c*W,s[12]=o*T+a*P+l*j+c*z,s[1]=u*_+h*L+d*R+f*ne,s[5]=u*S+h*C+d*G+f*le,s[9]=u*A+h*U+d*B+f*W,s[13]=u*T+h*P+d*j+f*z,s[2]=p*_+m*L+v*R+g*ne,s[6]=p*S+m*C+v*G+g*le,s[10]=p*A+m*U+v*B+g*W,s[14]=p*T+m*P+v*j+g*z,s[3]=y*_+x*L+b*R+w*ne,s[7]=y*S+x*C+b*G+w*le,s[11]=y*A+x*U+b*B+w*W,s[15]=y*T+x*P+b*j+w*z,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[4],i=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],u=e[2],h=e[6],d=e[10],f=e[14],p=e[3],m=e[7],v=e[11],g=e[15];return p*(+s*l*h-i*c*h-s*a*d+n*c*d+i*a*f-n*l*f)+m*(+t*l*f-t*c*d+s*o*d-i*o*f+i*c*u-s*l*u)+v*(+t*c*h-t*a*f-s*o*h+n*o*f+s*a*u-n*c*u)+g*(-i*a*u-t*l*h+t*a*d+i*o*h-n*o*d+n*l*u)}transpose(){let e=this.elements,t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){let i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],f=e[11],p=e[12],m=e[13],v=e[14],g=e[15],y=h*v*c-m*d*c+m*l*f-a*v*f-h*l*g+a*d*g,x=p*d*c-u*v*c-p*l*f+o*v*f+u*l*g-o*d*g,b=u*m*c-p*h*c+p*a*f-o*m*f-u*a*g+o*h*g,w=p*h*l-u*m*l-p*a*d+o*m*d+u*a*v-o*h*v,_=t*y+n*x+i*b+s*w;if(_===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let S=1/_;return e[0]=y*S,e[1]=(m*d*s-h*v*s-m*i*f+n*v*f+h*i*g-n*d*g)*S,e[2]=(a*v*s-m*l*s+m*i*c-n*v*c-a*i*g+n*l*g)*S,e[3]=(h*l*s-a*d*s-h*i*c+n*d*c+a*i*f-n*l*f)*S,e[4]=x*S,e[5]=(u*v*s-p*d*s+p*i*f-t*v*f-u*i*g+t*d*g)*S,e[6]=(p*l*s-o*v*s-p*i*c+t*v*c+o*i*g-t*l*g)*S,e[7]=(o*d*s-u*l*s+u*i*c-t*d*c-o*i*f+t*l*f)*S,e[8]=b*S,e[9]=(p*h*s-u*m*s-p*n*f+t*m*f+u*n*g-t*h*g)*S,e[10]=(o*m*s-p*a*s+p*n*c-t*m*c-o*n*g+t*a*g)*S,e[11]=(u*a*s-o*h*s-u*n*c+t*h*c+o*n*f-t*a*f)*S,e[12]=w*S,e[13]=(u*m*i-p*h*i+p*n*d-t*m*d-u*n*v+t*h*v)*S,e[14]=(p*a*i-o*m*i-p*n*l+t*m*l+o*n*v-t*a*v)*S,e[15]=(o*h*i-u*a*i+u*n*l-t*h*l-o*n*d+t*a*d)*S,this}scale(e){let t=this.elements,n=e.x,i=e.y,s=e.z;return t[0]*=n,t[4]*=i,t[8]*=s,t[1]*=n,t[5]*=i,t[9]*=s,t[2]*=n,t[6]*=i,t[10]*=s,t[3]*=n,t[7]*=i,t[11]*=s,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),i=Math.sin(t),s=1-n,o=e.x,a=e.y,l=e.z,c=s*o,u=s*a;return this.set(c*o+n,c*a-i*l,c*l+i*a,0,c*a+i*l,u*a+n,u*l-i*o,0,c*l-i*a,u*l+i*o,s*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,s,o){return this.set(1,n,s,0,e,1,o,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){let i=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,u=o+o,h=a+a,d=s*c,f=s*u,p=s*h,m=o*u,v=o*h,g=a*h,y=l*c,x=l*u,b=l*h,w=n.x,_=n.y,S=n.z;return i[0]=(1-(m+g))*w,i[1]=(f+b)*w,i[2]=(p-x)*w,i[3]=0,i[4]=(f-b)*_,i[5]=(1-(d+g))*_,i[6]=(v+y)*_,i[7]=0,i[8]=(p+x)*S,i[9]=(v-y)*S,i[10]=(1-(d+m))*S,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){let i=this.elements,s=na.set(i[0],i[1],i[2]).length(),o=na.set(i[4],i[5],i[6]).length(),a=na.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],zi.copy(this);let c=1/s,u=1/o,h=1/a;return zi.elements[0]*=c,zi.elements[1]*=c,zi.elements[2]*=c,zi.elements[4]*=u,zi.elements[5]*=u,zi.elements[6]*=u,zi.elements[8]*=h,zi.elements[9]*=h,zi.elements[10]*=h,t.setFromRotationMatrix(zi),n.x=s,n.y=o,n.z=a,this}makePerspective(e,t,n,i,s,o){o===void 0&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");let a=this.elements,l=2*s/(t-e),c=2*s/(n-i),u=(t+e)/(t-e),h=(n+i)/(n-i),d=-(o+s)/(o-s),f=-2*o*s/(o-s);return a[0]=l,a[4]=0,a[8]=u,a[12]=0,a[1]=0,a[5]=c,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=d,a[14]=f,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,n,i,s,o){let a=this.elements,l=1/(t-e),c=1/(n-i),u=1/(o-s),h=(t+e)*l,d=(n+i)*c,f=(o+s)*u;return a[0]=2*l,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*c,a[9]=0,a[13]=-d,a[2]=0,a[6]=0,a[10]=-2*u,a[14]=-f,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}};me.prototype.isMatrix4=!0;var na=new M,zi=new me,n1=new M(0,0,0),i1=new M(1,1,1),ns=new M,Pu=new M,pi=new M,ry=new me,sy=new Tt,On=class{constructor(e=0,t=0,n=0,i=On.DefaultOrder){this._x=e,this._y=t,this._z=n,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){let i=e.elements,s=i[0],o=i[4],a=i[8],l=i[1],c=i[5],u=i[9],h=i[2],d=i[6],f=i[10];switch(t){case"XYZ":this._y=Math.asin(Ln(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,f),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ln(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,f),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ln(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,f),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ln(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Ln(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,f));break;case"XZY":this._z=Math.asin(-Ln(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,f),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return ry.makeRotationFromQuaternion(e),this.setFromRotationMatrix(ry,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return sy.setFromEuler(this),this.setFromQuaternion(sy,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new M(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}};On.prototype.isEuler=!0;On.DefaultOrder="XYZ";On.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];var pf=class{constructor(){this.mask=1|0}set(e){this.mask=1<1){for(let t=0;t1){for(let n=0;n0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(n.geometries=a),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),u.length>0&&(n.images=u),h.length>0&&(n.shapes=h),d.length>0&&(n.skeletons=d),f.length>0&&(n.animations=f)}return n.object=i,n;function o(a){let l=[];for(let c in a){let u=a[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,t,n,i,s){Gi.subVectors(i,t),Ir.subVectors(n,t),mf.subVectors(e,t);let o=Gi.dot(Gi),a=Gi.dot(Ir),l=Gi.dot(mf),c=Ir.dot(Ir),u=Ir.dot(mf),h=o*c-a*a;if(h===0)return s.set(-2,-1,-1);let d=1/h,f=(c*l-a*u)*d,p=(o*u-a*l)*d;return s.set(1-f-p,p,f)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,Pr),Pr.x>=0&&Pr.y>=0&&Pr.x+Pr.y<=1}static getUV(e,t,n,i,s,o,a,l){return this.getBarycoord(e,t,n,i,Pr),l.set(0,0),l.addScaledVector(s,Pr.x),l.addScaledVector(o,Pr.y),l.addScaledVector(a,Pr.z),l}static isFrontFacing(e,t,n,i){return Gi.subVectors(n,t),Ir.subVectors(e,t),Gi.cross(Ir).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Gi.subVectors(this.c,this.b),Ir.subVectors(this.a,this.b),Gi.cross(Ir).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return qt.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return qt.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,i,s){return qt.getUV(e,this.a,this.b,this.c,t,n,i,s)}containsPoint(e){return qt.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return qt.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,i=this.b,s=this.c,o,a;ra.subVectors(i,n),sa.subVectors(s,n),gf.subVectors(e,n);let l=ra.dot(gf),c=sa.dot(gf);if(l<=0&&c<=0)return t.copy(n);yf.subVectors(e,i);let u=ra.dot(yf),h=sa.dot(yf);if(u>=0&&h<=u)return t.copy(i);let d=l*h-u*c;if(d<=0&&l>=0&&u<=0)return o=l/(l-u),t.copy(n).addScaledVector(ra,o);vf.subVectors(e,s);let f=ra.dot(vf),p=sa.dot(vf);if(p>=0&&f<=p)return t.copy(s);let m=f*c-l*p;if(m<=0&&c>=0&&p<=0)return a=c/(c-p),t.copy(n).addScaledVector(sa,a);let v=u*p-f*h;if(v<=0&&h-u>=0&&f-p>=0)return hy.subVectors(s,i),a=(h-u)/(h-u+(f-p)),t.copy(i).addScaledVector(hy,a);let g=1/(v+m+d);return o=m*g,a=d*g,t.copy(n).addScaledVector(ra,o).addScaledVector(sa,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},l1=0,nn=class extends cn{constructor(){super();Object.defineProperty(this,"id",{value:l1++}),this.uuid=fi(),this.name="",this.type="Material",this.fog=!0,this.blending=Vs,this.side=Oi,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=Gg,this.blendDst=Ug,this.blendEquation=Vo,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Yd,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=U_,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=tf,this.stencilZFail=tf,this.stencilZPass=tf,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(let t in e){let n=e[t];if(n===void 0){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if(t==="shading"){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===Dg;continue}let i=this[t];if(i===void 0){console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.");continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){let t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});let n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(n.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularTint&&this.specularTint.isColor&&(n.specularTint=this.specularTint.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularTintMap&&this.specularTintMap.isTexture&&(n.specularTintMap=this.specularTintMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationTint!==void 0&&(n.attenuationTint=this.attenuationTint.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Vs&&(n.blending=this.blending),this.side!==Oi&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaToCoverage===!0&&(n.alphaToCoverage=this.alphaToCoverage),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=this.flatShading),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData);function i(s){let o=[];for(let a in s){let l=s[a];delete l.metadata,o.push(l)}return o}if(t){let s=i(e.textures),o=i(e.images);s.length>0&&(n.textures=s),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let i=t.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}};nn.prototype.isMaterial=!0;var dy={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ui={h:0,s:0,l:0},Ru={h:0,s:0,l:0};function xf(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*6*(2/3-t):r}function bf(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function wf(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}var fe=class{constructor(e,t,n){return t===void 0&&n===void 0?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):typeof e=="number"?this.setHex(e):typeof e=="string"&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,this}setRGB(e,t,n){return this.r=e,this.g=t,this.b=n,this}setHSL(e,t,n){if(e=nf(e,1),t=Ln(t,0,1),n=Ln(n,0,1),t===0)this.r=this.g=this.b=n;else{let i=n<=.5?n*(1+t):n+t-n*t,s=2*n-i;this.r=xf(s,i,e+1/3),this.g=xf(s,i,e),this.b=xf(s,i,e-1/3)}return this}setStyle(e){function t(i){i!==void 0&&parseFloat(i)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let i,s=n[1],o=n[2];switch(s){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,t(i[4]),this;if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,t(i[4]),this;break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o)){let a=parseFloat(i[1])/360,l=parseInt(i[2],10)/100,c=parseInt(i[3],10)/100;return t(i[4]),this.setHSL(a,l,c)}break}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(e)){let i=n[1],s=i.length;if(s===3)return this.r=parseInt(i.charAt(0)+i.charAt(0),16)/255,this.g=parseInt(i.charAt(1)+i.charAt(1),16)/255,this.b=parseInt(i.charAt(2)+i.charAt(2),16)/255,this;if(s===6)return this.r=parseInt(i.charAt(0)+i.charAt(1),16)/255,this.g=parseInt(i.charAt(2)+i.charAt(3),16)/255,this.b=parseInt(i.charAt(4)+i.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){let t=dy[e.toLowerCase()];return t!==void 0?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copyGammaToLinear(e,t=2){return this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this}copyLinearToGamma(e,t=2){let n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this}convertGammaToLinear(e){return this.copyGammaToLinear(this,e),this}convertLinearToGamma(e){return this.copyLinearToGamma(this,e),this}copySRGBToLinear(e){return this.r=bf(e.r),this.g=bf(e.g),this.b=bf(e.b),this}copyLinearToSRGB(e){return this.r=wf(e.r),this.g=wf(e.g),this.b=wf(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return this.r*255<<16^this.g*255<<8^this.b*255<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){let t=this.r,n=this.g,i=this.b,s=Math.max(t,n,i),o=Math.min(t,n,i),a,l,c=(o+s)/2;if(o===s)a=0,l=0;else{let u=s-o;switch(l=c<=.5?u/(s+o):u/(2-s-o),s){case t:a=(n-i)/u+(ne&&(e=r[t]);return e}var c1={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function oa(r,e){return new c1[r](e)}var u1=0,_i=new me,Af=new Ke,aa=new M,mi=new tn,kl=new tn,Mn=new M,we=class extends cn{constructor(){super();Object.defineProperty(this,"id",{value:u1++}),this.uuid=fi(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(py(e)>65535?is:Mf)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);let n=this.attributes.normal;if(n!==void 0){let s=new Dt().getNormalMatrix(e);n.applyNormalMatrix(s),n.needsUpdate=!0}let i=this.attributes.tangent;return i!==void 0&&(i.transformDirection(e),i.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return _i.makeRotationFromQuaternion(e),this.applyMatrix4(_i),this}rotateX(e){return _i.makeRotationX(e),this.applyMatrix4(_i),this}rotateY(e){return _i.makeRotationY(e),this.applyMatrix4(_i),this}rotateZ(e){return _i.makeRotationZ(e),this.applyMatrix4(_i),this}translate(e,t,n){return _i.makeTranslation(e,t,n),this.applyMatrix4(_i),this}scale(e,t,n){return _i.makeScale(e,t,n),this.applyMatrix4(_i),this}lookAt(e){return Af.lookAt(e),Af.updateMatrix(),this.applyMatrix4(Af.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(aa).negate(),this.translate(aa.x,aa.y,aa.z),this}setFromPoints(e){let t=[];for(let n=0,i=e.length;n0&&(e.userData=this.userData),this.parameters!==void 0){let l=this.parameters;for(let c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};let t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let l in n){let c=n[l];e.data.attributes[l]=c.toJSON(e.data)}let i={},s=!1;for(let l in this.morphAttributes){let c=this.morphAttributes[l],u=[];for(let h=0,d=c.length;h0&&(i[l]=u,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);let o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));let a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new we().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;n!==null&&this.setIndex(n.clone(t));let i=e.attributes;for(let c in i){let u=i[c];this.setAttribute(c,u.clone(t))}let s=e.morphAttributes;for(let c in s){let u=[],h=s[c];for(let d=0,f=h.length;d0){let i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){let n=this.geometry,i=this.material,s=this.matrixWorld;if(i===void 0||(n.boundingSphere===null&&n.computeBoundingSphere(),_f.copy(n.boundingSphere),_f.applyMatrix4(s),e.ray.intersectsSphere(_f)===!1)||(my.copy(s).invert(),la.copy(e.ray).applyMatrix4(my),n.boundingBox!==null&&la.intersectsBox(n.boundingBox)===!1))return;let o;if(n.isBufferGeometry){let a=n.index,l=n.attributes.position,c=n.morphAttributes.position,u=n.morphTargetsRelative,h=n.attributes.uv,d=n.attributes.uv2,f=n.groups,p=n.drawRange;if(a!==null)if(Array.isArray(i))for(let m=0,v=f.length;mt.far?null:{distance:c,point:Vu.clone(),object:r}}function Hu(r,e,t,n,i,s,o,a,l,c,u,h){rs.fromBufferAttribute(i,c),ss.fromBufferAttribute(i,u),os.fromBufferAttribute(i,h);let d=r.morphTargetInfluences;if(s&&d){Ou.set(0,0,0),Fu.set(0,0,0),zu.set(0,0,0);for(let p=0,m=s.length;p0?1:-1,u.push(le.x,le.y,le.z),h.push(D/S),h.push(1-W/A),j+=1}}for(let W=0;W0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let n={};for(let i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}};_t.prototype.isShaderMaterial=!0;var Dr=class extends Ke{constructor(){super();this.type="Camera",this.matrixWorldInverse=new me,this.projectionMatrix=new me,this.projectionMatrixInverse=new me}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};Dr.prototype.isCamera=!0;var Vt=class extends Dr{constructor(e=50,t=1,n=.1,i=2e3){super();this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=Ol*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(Qo*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Ol*2*Math.atan(Math.tan(Qo*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,i,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(Qo*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,s=-.5*i,o=this.view;if(this.view!==null&&this.view.enabled){let l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*i/l,t-=o.offsetY*n/c,i*=o.width/l,n*=o.height/c}let a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}};Vt.prototype.isPerspectiveCamera=!0;var ua=90,ha=1,ju=class extends Ke{constructor(e,t,n){super();if(this.type="CubeCamera",n.isWebGLCubeRenderTarget!==!0){console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");return}this.renderTarget=n;let i=new Vt(ua,ha,e,t);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new M(1,0,0)),this.add(i);let s=new Vt(ua,ha,e,t);s.layers=this.layers,s.up.set(0,-1,0),s.lookAt(new M(-1,0,0)),this.add(s);let o=new Vt(ua,ha,e,t);o.layers=this.layers,o.up.set(0,0,1),o.lookAt(new M(0,1,0)),this.add(o);let a=new Vt(ua,ha,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new M(0,-1,0)),this.add(a);let l=new Vt(ua,ha,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new M(0,0,1)),this.add(l);let c=new Vt(ua,ha,e,t);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new M(0,0,-1)),this.add(c)}update(e,t){this.parent===null&&this.updateMatrixWorld();let n=this.renderTarget,[i,s,o,a,l,c]=this.children,u=e.xr.enabled,h=e.getRenderTarget();e.xr.enabled=!1;let d=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,i),e.setRenderTarget(n,1),e.render(t,s),e.setRenderTarget(n,2),e.render(t,o),e.setRenderTarget(n,3),e.render(t,a),e.setRenderTarget(n,4),e.render(t,l),n.texture.generateMipmaps=d,e.setRenderTarget(n,5),e.render(t,c),e.setRenderTarget(h),e.xr.enabled=u}},as=class extends xt{constructor(e,t,n,i,s,o,a,l,c,u){e=e!==void 0?e:[],t=t!==void 0?t:js,a=a!==void 0?a:Nt;super(e,t,n,i,s,o,a,l,c,u);this.flipY=!1}get images(){return this.image}set images(e){this.image=e}};as.prototype.isCubeTexture=!0;var Lf=class extends bt{constructor(e,t,n){Number.isInteger(t)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),t=n);super(e,e,t);t=t||{},this.texture=new as(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:$e,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.format=zt,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:`
-
- varying vec3 vWorldDirection;
-
- vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
-
- return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
-
- }
-
- void main() {
-
- vWorldDirection = transformDirection( position, modelMatrix );
-
- #include
- #include
-
- }
- `,fragmentShader:`
-
- uniform sampler2D tEquirect;
-
- varying vec3 vWorldDirection;
-
- #include
-
- void main() {
-
- vec3 direction = normalize( vWorldDirection );
-
- vec2 sampleUV = equirectUv( direction );
-
- gl_FragColor = texture2D( tEquirect, sampleUV );
-
- }
- `},i=new jn(5,5,5),s=new _t({name:"CubemapFromEquirect",uniforms:ca(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:kt,blending:It});s.uniforms.tEquirect.value=t;let o=new gt(i,s),a=t.minFilter;return t.minFilter===Ai&&(t.minFilter=$e),new ju(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,n,i){let s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,n,i);e.setRenderTarget(s)}};Lf.prototype.isWebGLCubeRenderTarget=!0;var If=new M,p1=new M,m1=new Dt,ni=class{constructor(e=new M(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,i){return this.normal.set(e,t,n),this.constant=i,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let i=If.subVectors(n,t).cross(p1.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){let n=e.delta(If),i=this.normal.dot(n);if(i===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;let s=-(e.start.dot(this.normal)+this.constant)/i;return s<0||s>1?null:t.copy(n).multiplyScalar(s).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||m1.getNormalMatrix(e),i=this.coplanarPoint(If).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}};ni.prototype.isPlane=!0;var da=new ti,Wu=new M,Vl=class{constructor(e=new ni,t=new ni,n=new ni,i=new ni,s=new ni,o=new ni){this.planes=[e,t,n,i,s,o]}set(e,t,n,i,s,o){let a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(i),a[4].copy(s),a[5].copy(o),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){let t=this.planes,n=e.elements,i=n[0],s=n[1],o=n[2],a=n[3],l=n[4],c=n[5],u=n[6],h=n[7],d=n[8],f=n[9],p=n[10],m=n[11],v=n[12],g=n[13],y=n[14],x=n[15];return t[0].setComponents(a-i,h-l,m-d,x-v).normalize(),t[1].setComponents(a+i,h+l,m+d,x+v).normalize(),t[2].setComponents(a+s,h+c,m+f,x+g).normalize(),t[3].setComponents(a-s,h-c,m-f,x-g).normalize(),t[4].setComponents(a-o,h-u,m-p,x-y).normalize(),t[5].setComponents(a+o,h+u,m+p,x+y).normalize(),this}intersectsObject(e){let t=e.geometry;return t.boundingSphere===null&&t.computeBoundingSphere(),da.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(da)}intersectsSprite(e){return da.center.set(0,0,0),da.radius=.7071067811865476,da.applyMatrix4(e.matrixWorld),this.intersectsSphere(da)}intersectsSphere(e){let t=this.planes,n=e.center,i=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,Wu.y=i.normal.y>0?e.max.y:e.min.y,Wu.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(Wu)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}};function gy(){let r=null,e=!1,t=null,n=null;function i(s,o){t(s,o),n=r.requestAnimationFrame(i)}return{start:function(){e!==!0&&t!==null&&(n=r.requestAnimationFrame(i),e=!0)},stop:function(){r.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){r=s}}}function g1(r,e){let t=e.isWebGL2,n=new WeakMap;function i(c,u){let h=c.array,d=c.usage,f=r.createBuffer();r.bindBuffer(u,f),r.bufferData(u,h,d),c.onUploadCallback();let p=5126;return h instanceof Float32Array?p=5126:h instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):h instanceof Uint16Array?c.isFloat16BufferAttribute?t?p=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):p=5123:h instanceof Int16Array?p=5122:h instanceof Uint32Array?p=5125:h instanceof Int32Array?p=5124:h instanceof Int8Array?p=5120:(h instanceof Uint8Array||h instanceof Uint8ClampedArray)&&(p=5121),{buffer:f,type:p,bytesPerElement:h.BYTES_PER_ELEMENT,version:c.version}}function s(c,u,h){let d=u.array,f=u.updateRange;r.bindBuffer(h,c),f.count===-1?r.bufferSubData(h,0,d):(t?r.bufferSubData(h,f.offset*d.BYTES_PER_ELEMENT,d,f.offset,f.count):r.bufferSubData(h,f.offset*d.BYTES_PER_ELEMENT,d.subarray(f.offset,f.offset+f.count)),f.count=-1)}function o(c){return c.isInterleavedBufferAttribute&&(c=c.data),n.get(c)}function a(c){c.isInterleavedBufferAttribute&&(c=c.data);let u=n.get(c);u&&(r.deleteBuffer(u.buffer),n.delete(c))}function l(c,u){if(c.isGLBufferAttribute){let d=n.get(c);(!d||d.version 0.0 ) {
- distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
- }
- return distanceFalloff;
-#else
- if( cutoffDistance > 0.0 && decayExponent > 0.0 ) {
- return pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );
- }
- return 1.0;
-#endif
-}
-vec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {
- return RECIPROCAL_PI * diffuseColor;
-}
-vec3 F_Schlick( const in vec3 f0, const in vec3 f90, const in float dotVH ) {
- float fresnel = exp2( ( -5.55473 * dotVH - 6.98316 ) * dotVH );
- return ( f90 - f0 ) * fresnel + f0;
-}
-vec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {
- float fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );
- vec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;
- return Fr * fresnel + F0;
-}
-float G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {
- float a2 = pow2( alpha );
- float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
- float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
- return 1.0 / ( gl * gv );
-}
-float G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
- float a2 = pow2( alpha );
- float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
- float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
- return 0.5 / max( gv + gl, EPSILON );
-}
-float D_GGX( const in float alpha, const in float dotNH ) {
- float a2 = pow2( alpha );
- float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;
- return RECIPROCAL_PI * a2 / pow2( denom );
-}
-vec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in vec3 f90, const in float roughness ) {
- float alpha = pow2( roughness );
- vec3 halfDir = normalize( incidentLight.direction + viewDir );
- float dotNL = saturate( dot( normal, incidentLight.direction ) );
- float dotNV = saturate( dot( normal, viewDir ) );
- float dotNH = saturate( dot( normal, halfDir ) );
- float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
- vec3 F = F_Schlick( f0, f90, dotLH );
- float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );
- float D = D_GGX( alpha, dotNH );
- return F * ( G * D );
-}
-vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
- const float LUT_SIZE = 64.0;
- const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
- const float LUT_BIAS = 0.5 / LUT_SIZE;
- float dotNV = saturate( dot( N, V ) );
- vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
- uv = uv * LUT_SCALE + LUT_BIAS;
- return uv;
-}
-float LTC_ClippedSphereFormFactor( const in vec3 f ) {
- float l = length( f );
- return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
-}
-vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
- float x = dot( v1, v2 );
- float y = abs( x );
- float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
- float b = 3.4175940 + ( 4.1616724 + y ) * y;
- float v = a / b;
- float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
- return cross( v1, v2 ) * theta_sintheta;
-}
-vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
- vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
- vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
- vec3 lightNormal = cross( v1, v2 );
- if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
- vec3 T1, T2;
- T1 = normalize( V - N * dot( V, N ) );
- T2 = - cross( N, T1 );
- mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
- vec3 coords[ 4 ];
- coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
- coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
- coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
- coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
- coords[ 0 ] = normalize( coords[ 0 ] );
- coords[ 1 ] = normalize( coords[ 1 ] );
- coords[ 2 ] = normalize( coords[ 2 ] );
- coords[ 3 ] = normalize( coords[ 3 ] );
- vec3 vectorFormFactor = vec3( 0.0 );
- vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
- vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
- vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
- vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
- float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
- return vec3( result );
-}
-vec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {
- float dotNV = saturate( dot( normal, viewDir ) );
- vec2 brdf = integrateSpecularBRDF( dotNV, roughness );
- return specularColor * brdf.x + brdf.y;
-}
-void BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
- float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
- vec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );
- vec2 brdf = integrateSpecularBRDF( dotNV, roughness );
- vec3 FssEss = F * brdf.x + brdf.y;
- float Ess = brdf.x + brdf.y;
- float Ems = 1.0 - Ess;
- vec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );
- singleScatter += FssEss;
- multiScatter += Fms * Ems;
-}
-float G_BlinnPhong_Implicit( ) {
- return 0.25;
-}
-float D_BlinnPhong( const in float shininess, const in float dotNH ) {
- return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
-}
-vec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {
- vec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );
- float dotNH = saturate( dot( geometry.normal, halfDir ) );
- float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
- vec3 F = F_Schlick( specularColor, vec3( 1.0 ), dotLH );
- float G = G_BlinnPhong_Implicit( );
- float D = D_BlinnPhong( shininess, dotNH );
- return F * ( G * D );
-}
-float GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {
- return ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );
-}
-float BlinnExponentToGGXRoughness( const in float blinnExponent ) {
- return sqrt( 2.0 / ( blinnExponent + 2.0 ) );
-}
-#if defined( USE_SHEEN )
-float D_Charlie(float roughness, float NoH) {
- float invAlpha = 1.0 / roughness;
- float cos2h = NoH * NoH;
- float sin2h = max(1.0 - cos2h, 0.0078125); return (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);
-}
-float V_Neubelt(float NoV, float NoL) {
- return saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));
-}
-vec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {
- vec3 N = geometry.normal;
- vec3 V = geometry.viewDir;
- vec3 H = normalize( V + L );
- float dotNH = saturate( dot( N, H ) );
- return specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );
-}
-#endif`,_1=`#ifdef USE_BUMPMAP
- uniform sampler2D bumpMap;
- uniform float bumpScale;
- vec2 dHdxy_fwd() {
- vec2 dSTdx = dFdx( vUv );
- vec2 dSTdy = dFdy( vUv );
- float Hll = bumpScale * texture2D( bumpMap, vUv ).x;
- float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;
- float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;
- return vec2( dBx, dBy );
- }
- vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
- vec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );
- vec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );
- vec3 vN = surf_norm;
- vec3 R1 = cross( vSigmaY, vN );
- vec3 R2 = cross( vN, vSigmaX );
- float fDet = dot( vSigmaX, R1 ) * faceDirection;
- vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
- return normalize( abs( fDet ) * surf_norm - vGrad );
- }
-#endif`,T1=`#if NUM_CLIPPING_PLANES > 0
- vec4 plane;
- #pragma unroll_loop_start
- for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
- plane = clippingPlanes[ i ];
- if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;
- }
- #pragma unroll_loop_end
- #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
- bool clipped = true;
- #pragma unroll_loop_start
- for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
- plane = clippingPlanes[ i ];
- clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;
- }
- #pragma unroll_loop_end
- if ( clipped ) discard;
- #endif
-#endif`,E1=`#if NUM_CLIPPING_PLANES > 0
- varying vec3 vClipPosition;
- uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
-#endif`,N1=`#if NUM_CLIPPING_PLANES > 0
- varying vec3 vClipPosition;
-#endif`,C1=`#if NUM_CLIPPING_PLANES > 0
- vClipPosition = - mvPosition.xyz;
-#endif`,L1=`#if defined( USE_COLOR_ALPHA )
- diffuseColor *= vColor;
-#elif defined( USE_COLOR )
- diffuseColor.rgb *= vColor;
-#endif`,I1=`#if defined( USE_COLOR_ALPHA )
- varying vec4 vColor;
-#elif defined( USE_COLOR )
- varying vec3 vColor;
-#endif`,P1=`#if defined( USE_COLOR_ALPHA )
- varying vec4 vColor;
-#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
- varying vec3 vColor;
-#endif`,D1=`#if defined( USE_COLOR_ALPHA )
- vColor = vec4( 1.0 );
-#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )
- vColor = vec3( 1.0 );
-#endif
-#ifdef USE_COLOR
- vColor *= color;
-#endif
-#ifdef USE_INSTANCING_COLOR
- vColor.xyz *= instanceColor.xyz;
-#endif`,R1=`#define PI 3.141592653589793
-#define PI2 6.283185307179586
-#define PI_HALF 1.5707963267948966
-#define RECIPROCAL_PI 0.3183098861837907
-#define RECIPROCAL_PI2 0.15915494309189535
-#define EPSILON 1e-6
-#ifndef saturate
-#define saturate(a) clamp( a, 0.0, 1.0 )
-#endif
-#define whiteComplement(a) ( 1.0 - saturate( a ) )
-float pow2( const in float x ) { return x*x; }
-float pow3( const in float x ) { return x*x*x; }
-float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
-float average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }
-highp float rand( const in vec2 uv ) {
- const highp float a = 12.9898, b = 78.233, c = 43758.5453;
- highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
- return fract(sin(sn) * c);
-}
-#ifdef HIGH_PRECISION
- float precisionSafeLength( vec3 v ) { return length( v ); }
-#else
- float max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }
- float precisionSafeLength( vec3 v ) {
- float maxComponent = max3( abs( v ) );
- return length( v / maxComponent ) * maxComponent;
- }
-#endif
-struct IncidentLight {
- vec3 color;
- vec3 direction;
- bool visible;
-};
-struct ReflectedLight {
- vec3 directDiffuse;
- vec3 directSpecular;
- vec3 indirectDiffuse;
- vec3 indirectSpecular;
-};
-struct GeometricContext {
- vec3 position;
- vec3 normal;
- vec3 viewDir;
-#ifdef CLEARCOAT
- vec3 clearcoatNormal;
-#endif
-};
-vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
- return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
-}
-vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
- return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
-}
-vec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
- float distance = dot( planeNormal, point - pointOnPlane );
- return - distance * planeNormal + point;
-}
-float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
- return sign( dot( point - pointOnPlane, planeNormal ) );
-}
-vec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {
- return lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;
-}
-mat3 transposeMat3( const in mat3 m ) {
- mat3 tmp;
- tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
- tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
- tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
- return tmp;
-}
-float linearToRelativeLuminance( const in vec3 color ) {
- vec3 weights = vec3( 0.2126, 0.7152, 0.0722 );
- return dot( weights, color.rgb );
-}
-bool isPerspectiveMatrix( mat4 m ) {
- return m[ 2 ][ 3 ] == - 1.0;
-}
-vec2 equirectUv( in vec3 dir ) {
- float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;
- float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
- return vec2( u, v );
-}`,B1=`#ifdef ENVMAP_TYPE_CUBE_UV
- #define cubeUV_maxMipLevel 8.0
- #define cubeUV_minMipLevel 4.0
- #define cubeUV_maxTileSize 256.0
- #define cubeUV_minTileSize 16.0
- float getFace( vec3 direction ) {
- vec3 absDirection = abs( direction );
- float face = - 1.0;
- if ( absDirection.x > absDirection.z ) {
- if ( absDirection.x > absDirection.y )
- face = direction.x > 0.0 ? 0.0 : 3.0;
- else
- face = direction.y > 0.0 ? 1.0 : 4.0;
- } else {
- if ( absDirection.z > absDirection.y )
- face = direction.z > 0.0 ? 2.0 : 5.0;
- else
- face = direction.y > 0.0 ? 1.0 : 4.0;
- }
- return face;
- }
- vec2 getUV( vec3 direction, float face ) {
- vec2 uv;
- if ( face == 0.0 ) {
- uv = vec2( direction.z, direction.y ) / abs( direction.x );
- } else if ( face == 1.0 ) {
- uv = vec2( - direction.x, - direction.z ) / abs( direction.y );
- } else if ( face == 2.0 ) {
- uv = vec2( - direction.x, direction.y ) / abs( direction.z );
- } else if ( face == 3.0 ) {
- uv = vec2( - direction.z, direction.y ) / abs( direction.x );
- } else if ( face == 4.0 ) {
- uv = vec2( - direction.x, direction.z ) / abs( direction.y );
- } else {
- uv = vec2( direction.x, direction.y ) / abs( direction.z );
- }
- return 0.5 * ( uv + 1.0 );
- }
- vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {
- float face = getFace( direction );
- float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );
- mipInt = max( mipInt, cubeUV_minMipLevel );
- float faceSize = exp2( mipInt );
- float texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );
- vec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );
- vec2 f = fract( uv );
- uv += 0.5 - f;
- if ( face > 2.0 ) {
- uv.y += faceSize;
- face -= 3.0;
- }
- uv.x += face * faceSize;
- if ( mipInt < cubeUV_maxMipLevel ) {
- uv.y += 2.0 * cubeUV_maxTileSize;
- }
- uv.y += filterInt * 2.0 * cubeUV_minTileSize;
- uv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );
- uv *= texelSize;
- vec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
- uv.x += texelSize;
- vec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
- uv.y += texelSize;
- vec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
- uv.x -= texelSize;
- vec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;
- vec3 tm = mix( tl, tr, f.x );
- vec3 bm = mix( bl, br, f.x );
- return mix( tm, bm, f.y );
- }
- #define r0 1.0
- #define v0 0.339
- #define m0 - 2.0
- #define r1 0.8
- #define v1 0.276
- #define m1 - 1.0
- #define r4 0.4
- #define v4 0.046
- #define m4 2.0
- #define r5 0.305
- #define v5 0.016
- #define m5 3.0
- #define r6 0.21
- #define v6 0.0038
- #define m6 4.0
- float roughnessToMip( float roughness ) {
- float mip = 0.0;
- if ( roughness >= r1 ) {
- mip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;
- } else if ( roughness >= r4 ) {
- mip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;
- } else if ( roughness >= r5 ) {
- mip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;
- } else if ( roughness >= r6 ) {
- mip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;
- } else {
- mip = - 2.0 * log2( 1.16 * roughness ); }
- return mip;
- }
- vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {
- float mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );
- float mipF = fract( mip );
- float mipInt = floor( mip );
- vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );
- if ( mipF == 0.0 ) {
- return vec4( color0, 1.0 );
- } else {
- vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );
- return vec4( mix( color0, color1, mipF ), 1.0 );
- }
- }
-#endif`,O1=`vec3 transformedNormal = objectNormal;
-#ifdef USE_INSTANCING
- mat3 m = mat3( instanceMatrix );
- transformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );
- transformedNormal = m * transformedNormal;
-#endif
-transformedNormal = normalMatrix * transformedNormal;
-#ifdef FLIP_SIDED
- transformedNormal = - transformedNormal;
-#endif
-#ifdef USE_TANGENT
- vec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;
- #ifdef FLIP_SIDED
- transformedTangent = - transformedTangent;
- #endif
-#endif`,F1=`#ifdef USE_DISPLACEMENTMAP
- uniform sampler2D displacementMap;
- uniform float displacementScale;
- uniform float displacementBias;
-#endif`,z1=`#ifdef USE_DISPLACEMENTMAP
- transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );
-#endif`,G1=`#ifdef USE_EMISSIVEMAP
- vec4 emissiveColor = texture2D( emissiveMap, vUv );
- emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;
- totalEmissiveRadiance *= emissiveColor.rgb;
-#endif`,U1=`#ifdef USE_EMISSIVEMAP
- uniform sampler2D emissiveMap;
-#endif`,k1="gl_FragColor = linearToOutputTexel( gl_FragColor );",V1=`
-vec4 LinearToLinear( in vec4 value ) {
- return value;
-}
-vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
- return vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );
-}
-vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
- return vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );
-}
-vec4 sRGBToLinear( in vec4 value ) {
- return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );
-}
-vec4 LinearTosRGB( in vec4 value ) {
- return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
-}
-vec4 RGBEToLinear( in vec4 value ) {
- return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
-}
-vec4 LinearToRGBE( in vec4 value ) {
- float maxComponent = max( max( value.r, value.g ), value.b );
- float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
- return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
-}
-vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
- return vec4( value.rgb * value.a * maxRange, 1.0 );
-}
-vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
- float maxRGB = max( value.r, max( value.g, value.b ) );
- float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
- M = ceil( M * 255.0 ) / 255.0;
- return vec4( value.rgb / ( M * maxRange ), M );
-}
-vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
- return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
-}
-vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
- float maxRGB = max( value.r, max( value.g, value.b ) );
- float D = max( maxRange / maxRGB, 1.0 );
- D = clamp( floor( D ) / 255.0, 0.0, 1.0 );
- return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
-}
-const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
-vec4 LinearToLogLuv( in vec4 value ) {
- vec3 Xp_Y_XYZp = cLogLuvM * value.rgb;
- Xp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );
- vec4 vResult;
- vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
- float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
- vResult.w = fract( Le );
- vResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;
- return vResult;
-}
-const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
-vec4 LogLuvToLinear( in vec4 value ) {
- float Le = value.z * 255.0 + value.w;
- vec3 Xp_Y_XYZp;
- Xp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );
- Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
- Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
- vec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;
- return vec4( max( vRGB, 0.0 ), 1.0 );
-}`,H1=`#ifdef USE_ENVMAP
- #ifdef ENV_WORLDPOS
- vec3 cameraToFrag;
- if ( isOrthographic ) {
- cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
- } else {
- cameraToFrag = normalize( vWorldPosition - cameraPosition );
- }
- vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
- #ifdef ENVMAP_MODE_REFLECTION
- vec3 reflectVec = reflect( cameraToFrag, worldNormal );
- #else
- vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );
- #endif
- #else
- vec3 reflectVec = vReflect;
- #endif
- #ifdef ENVMAP_TYPE_CUBE
- vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
- #elif defined( ENVMAP_TYPE_CUBE_UV )
- vec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );
- #else
- vec4 envColor = vec4( 0.0 );
- #endif
- #ifndef ENVMAP_TYPE_CUBE_UV
- envColor = envMapTexelToLinear( envColor );
- #endif
- #ifdef ENVMAP_BLENDING_MULTIPLY
- outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
- #elif defined( ENVMAP_BLENDING_MIX )
- outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
- #elif defined( ENVMAP_BLENDING_ADD )
- outgoingLight += envColor.xyz * specularStrength * reflectivity;
- #endif
-#endif`,j1=`#ifdef USE_ENVMAP
- uniform float envMapIntensity;
- uniform float flipEnvMap;
- uniform int maxMipLevel;
- #ifdef ENVMAP_TYPE_CUBE
- uniform samplerCube envMap;
- #else
- uniform sampler2D envMap;
- #endif
-
-#endif`,W1=`#ifdef USE_ENVMAP
- uniform float reflectivity;
- #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
- #define ENV_WORLDPOS
- #endif
- #ifdef ENV_WORLDPOS
- varying vec3 vWorldPosition;
- uniform float refractionRatio;
- #else
- varying vec3 vReflect;
- #endif
-#endif`,J1=`#ifdef USE_ENVMAP
- #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )
- #define ENV_WORLDPOS
- #endif
- #ifdef ENV_WORLDPOS
-
- varying vec3 vWorldPosition;
- #else
- varying vec3 vReflect;
- uniform float refractionRatio;
- #endif
-#endif`,X1=`#ifdef USE_ENVMAP
- #ifdef ENV_WORLDPOS
- vWorldPosition = worldPosition.xyz;
- #else
- vec3 cameraToVertex;
- if ( isOrthographic ) {
- cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
- } else {
- cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
- }
- vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
- #ifdef ENVMAP_MODE_REFLECTION
- vReflect = reflect( cameraToVertex, worldNormal );
- #else
- vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
- #endif
- #endif
-#endif`,q1=`#ifdef USE_FOG
- fogDepth = - mvPosition.z;
-#endif`,Y1=`#ifdef USE_FOG
- varying float fogDepth;
-#endif`,K1=`#ifdef USE_FOG
- #ifdef FOG_EXP2
- float fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );
- #else
- float fogFactor = smoothstep( fogNear, fogFar, fogDepth );
- #endif
- gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
-#endif`,Q1=`#ifdef USE_FOG
- uniform vec3 fogColor;
- varying float fogDepth;
- #ifdef FOG_EXP2
- uniform float fogDensity;
- #else
- uniform float fogNear;
- uniform float fogFar;
- #endif
-#endif`,Z1=`#ifdef USE_GRADIENTMAP
- uniform sampler2D gradientMap;
-#endif
-vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
- float dotNL = dot( normal, lightDirection );
- vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
- #ifdef USE_GRADIENTMAP
- return texture2D( gradientMap, coord ).rgb;
- #else
- return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );
- #endif
-}`,$1=`#ifdef USE_LIGHTMAP
- vec4 lightMapTexel= texture2D( lightMap, vUv2 );
- reflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
-#endif`,eT=`#ifdef USE_LIGHTMAP
- uniform sampler2D lightMap;
- uniform float lightMapIntensity;
-#endif`,tT=`vec3 diffuse = vec3( 1.0 );
-GeometricContext geometry;
-geometry.position = mvPosition.xyz;
-geometry.normal = normalize( transformedNormal );
-geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );
-GeometricContext backGeometry;
-backGeometry.position = geometry.position;
-backGeometry.normal = -geometry.normal;
-backGeometry.viewDir = geometry.viewDir;
-vLightFront = vec3( 0.0 );
-vIndirectFront = vec3( 0.0 );
-#ifdef DOUBLE_SIDED
- vLightBack = vec3( 0.0 );
- vIndirectBack = vec3( 0.0 );
-#endif
-IncidentLight directLight;
-float dotNL;
-vec3 directLightColor_Diffuse;
-vIndirectFront += getAmbientLightIrradiance( ambientLightColor );
-vIndirectFront += getLightProbeIrradiance( lightProbe, geometry );
-#ifdef DOUBLE_SIDED
- vIndirectBack += getAmbientLightIrradiance( ambientLightColor );
- vIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );
-#endif
-#if NUM_POINT_LIGHTS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
- getPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );
- dotNL = dot( geometry.normal, directLight.direction );
- directLightColor_Diffuse = PI * directLight.color;
- vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
- #ifdef DOUBLE_SIDED
- vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
- #endif
- }
- #pragma unroll_loop_end
-#endif
-#if NUM_SPOT_LIGHTS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
- getSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );
- dotNL = dot( geometry.normal, directLight.direction );
- directLightColor_Diffuse = PI * directLight.color;
- vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
- #ifdef DOUBLE_SIDED
- vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
- #endif
- }
- #pragma unroll_loop_end
-#endif
-#if NUM_DIR_LIGHTS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
- getDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );
- dotNL = dot( geometry.normal, directLight.direction );
- directLightColor_Diffuse = PI * directLight.color;
- vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
- #ifdef DOUBLE_SIDED
- vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
- #endif
- }
- #pragma unroll_loop_end
-#endif
-#if NUM_HEMI_LIGHTS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
- vIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
- #ifdef DOUBLE_SIDED
- vIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );
- #endif
- }
- #pragma unroll_loop_end
-#endif`,nT=`uniform bool receiveShadow;
-uniform vec3 ambientLightColor;
-uniform vec3 lightProbe[ 9 ];
-vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
- float x = normal.x, y = normal.y, z = normal.z;
- vec3 result = shCoefficients[ 0 ] * 0.886227;
- result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
- result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
- result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
- result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
- result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
- result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
- result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
- result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
- return result;
-}
-vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {
- vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );
- vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );
- return irradiance;
-}
-vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
- vec3 irradiance = ambientLightColor;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- irradiance *= PI;
- #endif
- return irradiance;
-}
-#if NUM_DIR_LIGHTS > 0
- struct DirectionalLight {
- vec3 direction;
- vec3 color;
- };
- uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
- void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {
- directLight.color = directionalLight.color;
- directLight.direction = directionalLight.direction;
- directLight.visible = true;
- }
-#endif
-#if NUM_POINT_LIGHTS > 0
- struct PointLight {
- vec3 position;
- vec3 color;
- float distance;
- float decay;
- };
- uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
- void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {
- vec3 lVector = pointLight.position - geometry.position;
- directLight.direction = normalize( lVector );
- float lightDistance = length( lVector );
- directLight.color = pointLight.color;
- directLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );
- directLight.visible = ( directLight.color != vec3( 0.0 ) );
- }
-#endif
-#if NUM_SPOT_LIGHTS > 0
- struct SpotLight {
- vec3 position;
- vec3 direction;
- vec3 color;
- float distance;
- float decay;
- float coneCos;
- float penumbraCos;
- };
- uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
- void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {
- vec3 lVector = spotLight.position - geometry.position;
- directLight.direction = normalize( lVector );
- float lightDistance = length( lVector );
- float angleCos = dot( directLight.direction, spotLight.direction );
- if ( angleCos > spotLight.coneCos ) {
- float spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );
- directLight.color = spotLight.color;
- directLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );
- directLight.visible = true;
- } else {
- directLight.color = vec3( 0.0 );
- directLight.visible = false;
- }
- }
-#endif
-#if NUM_RECT_AREA_LIGHTS > 0
- struct RectAreaLight {
- vec3 color;
- vec3 position;
- vec3 halfWidth;
- vec3 halfHeight;
- };
- uniform sampler2D ltc_1; uniform sampler2D ltc_2;
- uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
-#endif
-#if NUM_HEMI_LIGHTS > 0
- struct HemisphereLight {
- vec3 direction;
- vec3 skyColor;
- vec3 groundColor;
- };
- uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
- vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {
- float dotNL = dot( geometry.normal, hemiLight.direction );
- float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
- vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- irradiance *= PI;
- #endif
- return irradiance;
- }
-#endif`,iT=`#if defined( USE_ENVMAP )
- #ifdef ENVMAP_MODE_REFRACTION
- uniform float refractionRatio;
- #endif
- vec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {
- vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );
- #ifdef ENVMAP_TYPE_CUBE
- vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );
- #ifdef TEXTURE_LOD_EXT
- vec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );
- #else
- vec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );
- #endif
- envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
- #elif defined( ENVMAP_TYPE_CUBE_UV )
- vec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );
- #else
- vec4 envMapColor = vec4( 0.0 );
- #endif
- return PI * envMapColor.rgb * envMapIntensity;
- }
- float getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {
- float maxMIPLevelScalar = float( maxMIPLevel );
- float sigma = PI * roughness * roughness / ( 1.0 + roughness );
- float desiredMIPLevel = maxMIPLevelScalar + log2( sigma );
- return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );
- }
- vec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {
- #ifdef ENVMAP_MODE_REFLECTION
- vec3 reflectVec = reflect( -viewDir, normal );
- reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
- #else
- vec3 reflectVec = refract( -viewDir, normal, refractionRatio );
- #endif
- reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
- float specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );
- #ifdef ENVMAP_TYPE_CUBE
- vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );
- #ifdef TEXTURE_LOD_EXT
- vec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );
- #else
- vec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );
- #endif
- envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
- #elif defined( ENVMAP_TYPE_CUBE_UV )
- vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );
- #endif
- return envMapColor.rgb * envMapIntensity;
- }
-#endif`,rT=`ToonMaterial material;
-material.diffuseColor = diffuseColor.rgb;`,sT=`varying vec3 vViewPosition;
-#ifndef FLAT_SHADED
- varying vec3 vNormal;
-#endif
-struct ToonMaterial {
- vec3 diffuseColor;
-};
-void RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
- vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- irradiance *= PI;
- #endif
- reflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
-}
-void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
- reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
-}
-#define RE_Direct RE_Direct_Toon
-#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon
-#define Material_LightProbeLOD( material ) (0)`,oT=`BlinnPhongMaterial material;
-material.diffuseColor = diffuseColor.rgb;
-material.specularColor = specular;
-material.specularShininess = shininess;
-material.specularStrength = specularStrength;`,aT=`varying vec3 vViewPosition;
-#ifndef FLAT_SHADED
- varying vec3 vNormal;
-#endif
-struct BlinnPhongMaterial {
- vec3 diffuseColor;
- vec3 specularColor;
- float specularShininess;
- float specularStrength;
-};
-void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
- float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
- vec3 irradiance = dotNL * directLight.color;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- irradiance *= PI;
- #endif
- reflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
- reflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;
-}
-void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
- reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
-}
-#define RE_Direct RE_Direct_BlinnPhong
-#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong
-#define Material_LightProbeLOD( material ) (0)`,lT=`PhysicalMaterial material;
-material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
-vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );
-float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
-material.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;
-material.specularRoughness = min( material.specularRoughness, 1.0 );
-#ifdef REFLECTIVITY
- #ifdef SPECULAR
- vec3 specularIntensityFactor = vec3( specularIntensity );
- vec3 specularTintFactor = specularTint;
- #ifdef USE_SPECULARINTENSITYMAP
- specularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;
- #endif
- #ifdef USE_SPECULARTINTMAP
- specularTintFactor *= specularTintMapTexelToLinear( texture2D( specularTintMap, vUv ) ).rgb;
- #endif
- material.specularColorF90 = mix( specularIntensityFactor, vec3( 1.0 ), metalnessFactor );
- #else
- vec3 specularIntensityFactor = vec3( 1.0 );
- vec3 specularTintFactor = vec3( 1.0 );
- material.specularColorF90 = vec3( 1.0 );
- #endif
- material.specularColor = mix( min( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ) * specularTintFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );
-#else
- material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );
- material.specularColorF90 = vec3( 1.0 );
-#endif
-#ifdef CLEARCOAT
- material.clearcoat = clearcoat;
- material.clearcoatRoughness = clearcoatRoughness;
- #ifdef USE_CLEARCOATMAP
- material.clearcoat *= texture2D( clearcoatMap, vUv ).x;
- #endif
- #ifdef USE_CLEARCOAT_ROUGHNESSMAP
- material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;
- #endif
- material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );
- material.clearcoatRoughness += geometryRoughness;
- material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );
-#endif
-#ifdef USE_SHEEN
- material.sheenColor = sheen;
-#endif`,cT=`struct PhysicalMaterial {
- vec3 diffuseColor;
- float specularRoughness;
- vec3 specularColor;
- vec3 specularColorF90;
-#ifdef CLEARCOAT
- float clearcoat;
- float clearcoatRoughness;
-#endif
-#ifdef USE_SHEEN
- vec3 sheenColor;
-#endif
-};
-#define MAXIMUM_SPECULAR_COEFFICIENT 0.16
-#define DEFAULT_SPECULAR_COEFFICIENT 0.04
-float clearcoatDHRApprox( const in float roughness, const in float dotNL ) {
- return DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );
-}
-#if NUM_RECT_AREA_LIGHTS > 0
- void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
- vec3 normal = geometry.normal;
- vec3 viewDir = geometry.viewDir;
- vec3 position = geometry.position;
- vec3 lightPos = rectAreaLight.position;
- vec3 halfWidth = rectAreaLight.halfWidth;
- vec3 halfHeight = rectAreaLight.halfHeight;
- vec3 lightColor = rectAreaLight.color;
- float roughness = material.specularRoughness;
- vec3 rectCoords[ 4 ];
- rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
- rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
- rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
- vec2 uv = LTC_Uv( normal, viewDir, roughness );
- vec4 t1 = texture2D( ltc_1, uv );
- vec4 t2 = texture2D( ltc_2, uv );
- mat3 mInv = mat3(
- vec3( t1.x, 0, t1.y ),
- vec3( 0, 1, 0 ),
- vec3( t1.z, 0, t1.w )
- );
- vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
- reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
- reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
- }
-#endif
-void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
- float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
- vec3 irradiance = dotNL * directLight.color;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- irradiance *= PI;
- #endif
- #ifdef CLEARCOAT
- float ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );
- vec3 ccIrradiance = ccDotNL * directLight.color;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- ccIrradiance *= PI;
- #endif
- float clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );
- reflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), vec3( 1.0 ), material.clearcoatRoughness );
- #else
- float clearcoatDHR = 0.0;
- #endif
- #ifdef USE_SHEEN
- reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(
- material.specularRoughness,
- directLight.direction,
- geometry,
- material.sheenColor
- );
- #else
- reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularColorF90, material.specularRoughness);
- #endif
- reflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
-}
-void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
- reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
-}
-void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {
- #ifdef CLEARCOAT
- float ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );
- reflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );
- float ccDotNL = ccDotNV;
- float clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );
- #else
- float clearcoatDHR = 0.0;
- #endif
- float clearcoatInv = 1.0 - clearcoatDHR;
- vec3 singleScattering = vec3( 0.0 );
- vec3 multiScattering = vec3( 0.0 );
- vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
- BRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );
- vec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );
- reflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;
- reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
- reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
-}
-#define RE_Direct RE_Direct_Physical
-#define RE_Direct_RectArea RE_Direct_RectArea_Physical
-#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical
-#define RE_IndirectSpecular RE_IndirectSpecular_Physical
-float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
- return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
-}`,uT=`
-GeometricContext geometry;
-geometry.position = - vViewPosition;
-geometry.normal = normal;
-geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
-#ifdef CLEARCOAT
- geometry.clearcoatNormal = clearcoatNormal;
-#endif
-IncidentLight directLight;
-#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
- PointLight pointLight;
- #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
- PointLightShadow pointLightShadow;
- #endif
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
- pointLight = pointLights[ i ];
- getPointDirectLightIrradiance( pointLight, geometry, directLight );
- #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
- pointLightShadow = pointLightShadows[ i ];
- directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
- #endif
- RE_Direct( directLight, geometry, material, reflectedLight );
- }
- #pragma unroll_loop_end
-#endif
-#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
- SpotLight spotLight;
- #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
- SpotLightShadow spotLightShadow;
- #endif
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
- spotLight = spotLights[ i ];
- getSpotDirectLightIrradiance( spotLight, geometry, directLight );
- #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
- spotLightShadow = spotLightShadows[ i ];
- directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
- #endif
- RE_Direct( directLight, geometry, material, reflectedLight );
- }
- #pragma unroll_loop_end
-#endif
-#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
- DirectionalLight directionalLight;
- #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
- DirectionalLightShadow directionalLightShadow;
- #endif
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
- directionalLight = directionalLights[ i ];
- getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );
- #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
- directionalLightShadow = directionalLightShadows[ i ];
- directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
- #endif
- RE_Direct( directLight, geometry, material, reflectedLight );
- }
- #pragma unroll_loop_end
-#endif
-#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
- RectAreaLight rectAreaLight;
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
- rectAreaLight = rectAreaLights[ i ];
- RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );
- }
- #pragma unroll_loop_end
-#endif
-#if defined( RE_IndirectDiffuse )
- vec3 iblIrradiance = vec3( 0.0 );
- vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
- irradiance += getLightProbeIrradiance( lightProbe, geometry );
- #if ( NUM_HEMI_LIGHTS > 0 )
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
- irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
- }
- #pragma unroll_loop_end
- #endif
-#endif
-#if defined( RE_IndirectSpecular )
- vec3 radiance = vec3( 0.0 );
- vec3 clearcoatRadiance = vec3( 0.0 );
-#endif`,hT=`#if defined( RE_IndirectDiffuse )
- #ifdef USE_LIGHTMAP
- vec4 lightMapTexel= texture2D( lightMap, vUv2 );
- vec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
- #ifndef PHYSICALLY_CORRECT_LIGHTS
- lightMapIrradiance *= PI;
- #endif
- irradiance += lightMapIrradiance;
- #endif
- #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )
- iblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );
- #endif
-#endif
-#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
- radiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );
- #ifdef CLEARCOAT
- clearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );
- #endif
-#endif`,dT=`#if defined( RE_IndirectDiffuse )
- RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );
-#endif
-#if defined( RE_IndirectSpecular )
- RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );
-#endif`,fT=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
- gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
-#endif`,pT=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
- uniform float logDepthBufFC;
- varying float vFragDepth;
- varying float vIsPerspective;
-#endif`,mT=`#ifdef USE_LOGDEPTHBUF
- #ifdef USE_LOGDEPTHBUF_EXT
- varying float vFragDepth;
- varying float vIsPerspective;
- #else
- uniform float logDepthBufFC;
- #endif
-#endif`,gT=`#ifdef USE_LOGDEPTHBUF
- #ifdef USE_LOGDEPTHBUF_EXT
- vFragDepth = 1.0 + gl_Position.w;
- vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
- #else
- if ( isPerspectiveMatrix( projectionMatrix ) ) {
- gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;
- gl_Position.z *= gl_Position.w;
- }
- #endif
-#endif`,yT=`#ifdef USE_MAP
- vec4 texelColor = texture2D( map, vUv );
- texelColor = mapTexelToLinear( texelColor );
- diffuseColor *= texelColor;
-#endif`,vT=`#ifdef USE_MAP
- uniform sampler2D map;
-#endif`,xT=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
- vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
-#endif
-#ifdef USE_MAP
- vec4 mapTexel = texture2D( map, uv );
- diffuseColor *= mapTexelToLinear( mapTexel );
-#endif
-#ifdef USE_ALPHAMAP
- diffuseColor.a *= texture2D( alphaMap, uv ).g;
-#endif`,bT=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
- uniform mat3 uvTransform;
-#endif
-#ifdef USE_MAP
- uniform sampler2D map;
-#endif
-#ifdef USE_ALPHAMAP
- uniform sampler2D alphaMap;
-#endif`,wT=`float metalnessFactor = metalness;
-#ifdef USE_METALNESSMAP
- vec4 texelMetalness = texture2D( metalnessMap, vUv );
- metalnessFactor *= texelMetalness.b;
-#endif`,ST=`#ifdef USE_METALNESSMAP
- uniform sampler2D metalnessMap;
-#endif`,MT=`#ifdef USE_MORPHNORMALS
- objectNormal *= morphTargetBaseInfluence;
- objectNormal += morphNormal0 * morphTargetInfluences[ 0 ];
- objectNormal += morphNormal1 * morphTargetInfluences[ 1 ];
- objectNormal += morphNormal2 * morphTargetInfluences[ 2 ];
- objectNormal += morphNormal3 * morphTargetInfluences[ 3 ];
-#endif`,AT=`#ifdef USE_MORPHTARGETS
- uniform float morphTargetBaseInfluence;
- #ifndef USE_MORPHNORMALS
- uniform float morphTargetInfluences[ 8 ];
- #else
- uniform float morphTargetInfluences[ 4 ];
- #endif
-#endif`,_T=`#ifdef USE_MORPHTARGETS
- transformed *= morphTargetBaseInfluence;
- transformed += morphTarget0 * morphTargetInfluences[ 0 ];
- transformed += morphTarget1 * morphTargetInfluences[ 1 ];
- transformed += morphTarget2 * morphTargetInfluences[ 2 ];
- transformed += morphTarget3 * morphTargetInfluences[ 3 ];
- #ifndef USE_MORPHNORMALS
- transformed += morphTarget4 * morphTargetInfluences[ 4 ];
- transformed += morphTarget5 * morphTargetInfluences[ 5 ];
- transformed += morphTarget6 * morphTargetInfluences[ 6 ];
- transformed += morphTarget7 * morphTargetInfluences[ 7 ];
- #endif
-#endif`,TT=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
-#ifdef FLAT_SHADED
- vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );
- vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );
- vec3 normal = normalize( cross( fdx, fdy ) );
-#else
- vec3 normal = normalize( vNormal );
- #ifdef DOUBLE_SIDED
- normal = normal * faceDirection;
- #endif
- #ifdef USE_TANGENT
- vec3 tangent = normalize( vTangent );
- vec3 bitangent = normalize( vBitangent );
- #ifdef DOUBLE_SIDED
- tangent = tangent * faceDirection;
- bitangent = bitangent * faceDirection;
- #endif
- #if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )
- mat3 vTBN = mat3( tangent, bitangent, normal );
- #endif
- #endif
-#endif
-vec3 geometryNormal = normal;`,ET=`#ifdef OBJECTSPACE_NORMALMAP
- normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
- #ifdef FLIP_SIDED
- normal = - normal;
- #endif
- #ifdef DOUBLE_SIDED
- normal = normal * faceDirection;
- #endif
- normal = normalize( normalMatrix * normal );
-#elif defined( TANGENTSPACE_NORMALMAP )
- vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
- mapN.xy *= normalScale;
- #ifdef USE_TANGENT
- normal = normalize( vTBN * mapN );
- #else
- normal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );
- #endif
-#elif defined( USE_BUMPMAP )
- normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );
-#endif`,NT=`#ifdef USE_NORMALMAP
- uniform sampler2D normalMap;
- uniform vec2 normalScale;
-#endif
-#ifdef OBJECTSPACE_NORMALMAP
- uniform mat3 normalMatrix;
-#endif
-#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )
- vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {
- vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );
- vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );
- vec2 st0 = dFdx( vUv.st );
- vec2 st1 = dFdy( vUv.st );
- vec3 N = surf_norm;
- vec3 q1perp = cross( q1, N );
- vec3 q0perp = cross( N, q0 );
- vec3 T = q1perp * st0.x + q0perp * st1.x;
- vec3 B = q1perp * st0.y + q0perp * st1.y;
- float det = max( dot( T, T ), dot( B, B ) );
- float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );
- return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );
- }
-#endif`,CT=`#ifdef CLEARCOAT
- vec3 clearcoatNormal = geometryNormal;
-#endif`,LT=`#ifdef USE_CLEARCOAT_NORMALMAP
- vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;
- clearcoatMapN.xy *= clearcoatNormalScale;
- #ifdef USE_TANGENT
- clearcoatNormal = normalize( vTBN * clearcoatMapN );
- #else
- clearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );
- #endif
-#endif`,IT=`#ifdef USE_CLEARCOATMAP
- uniform sampler2D clearcoatMap;
-#endif
-#ifdef USE_CLEARCOAT_ROUGHNESSMAP
- uniform sampler2D clearcoatRoughnessMap;
-#endif
-#ifdef USE_CLEARCOAT_NORMALMAP
- uniform sampler2D clearcoatNormalMap;
- uniform vec2 clearcoatNormalScale;
-#endif`,PT=`vec3 packNormalToRGB( const in vec3 normal ) {
- return normalize( normal ) * 0.5 + 0.5;
-}
-vec3 unpackRGBToNormal( const in vec3 rgb ) {
- return 2.0 * rgb.xyz - 1.0;
-}
-const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;
-const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );
-const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );
-const float ShiftRight8 = 1. / 256.;
-vec4 packDepthToRGBA( const in float v ) {
- vec4 r = vec4( fract( v * PackFactors ), v );
- r.yzw -= r.xyz * ShiftRight8; return r * PackUpscale;
-}
-float unpackRGBAToDepth( const in vec4 v ) {
- return dot( v, UnpackFactors );
-}
-vec4 pack2HalfToRGBA( vec2 v ) {
- vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));
- return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);
-}
-vec2 unpackRGBATo2Half( vec4 v ) {
- return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );
-}
-float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
- return ( viewZ + near ) / ( near - far );
-}
-float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {
- return linearClipZ * ( near - far ) - near;
-}
-float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
- return (( near + viewZ ) * far ) / (( far - near ) * viewZ );
-}
-float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {
- return ( near * far ) / ( ( far - near ) * invClipZ - far );
-}`,DT=`#ifdef PREMULTIPLIED_ALPHA
- gl_FragColor.rgb *= gl_FragColor.a;
-#endif`,RT=`vec4 mvPosition = vec4( transformed, 1.0 );
-#ifdef USE_INSTANCING
- mvPosition = instanceMatrix * mvPosition;
-#endif
-mvPosition = modelViewMatrix * mvPosition;
-gl_Position = projectionMatrix * mvPosition;`,BT=`#ifdef DITHERING
- gl_FragColor.rgb = dithering( gl_FragColor.rgb );
-#endif`,OT=`#ifdef DITHERING
- vec3 dithering( vec3 color ) {
- float grid_position = rand( gl_FragCoord.xy );
- vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
- dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
- return color + dither_shift_RGB;
- }
-#endif`,FT=`float roughnessFactor = roughness;
-#ifdef USE_ROUGHNESSMAP
- vec4 texelRoughness = texture2D( roughnessMap, vUv );
- roughnessFactor *= texelRoughness.g;
-#endif`,zT=`#ifdef USE_ROUGHNESSMAP
- uniform sampler2D roughnessMap;
-#endif`,GT=`#ifdef USE_SHADOWMAP
- #if NUM_DIR_LIGHT_SHADOWS > 0
- uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
- varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
- struct DirectionalLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- };
- uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
- #endif
- #if NUM_SPOT_LIGHT_SHADOWS > 0
- uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
- varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];
- struct SpotLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- };
- uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
- #endif
- #if NUM_POINT_LIGHT_SHADOWS > 0
- uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
- varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
- struct PointLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- float shadowCameraNear;
- float shadowCameraFar;
- };
- uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
- #endif
- float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
- return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );
- }
- vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {
- return unpackRGBATo2Half( texture2D( shadow, uv ) );
- }
- float VSMShadow (sampler2D shadow, vec2 uv, float compare ){
- float occlusion = 1.0;
- vec2 distribution = texture2DDistribution( shadow, uv );
- float hard_shadow = step( compare , distribution.x );
- if (hard_shadow != 1.0 ) {
- float distance = compare - distribution.x ;
- float variance = max( 0.00000, distribution.y * distribution.y );
- float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );
- }
- return occlusion;
- }
- float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
- float shadow = 1.0;
- shadowCoord.xyz /= shadowCoord.w;
- shadowCoord.z += shadowBias;
- bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );
- bool inFrustum = all( inFrustumVec );
- bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );
- bool frustumTest = all( frustumTestVec );
- if ( frustumTest ) {
- #if defined( SHADOWMAP_TYPE_PCF )
- vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
- float dx0 = - texelSize.x * shadowRadius;
- float dy0 = - texelSize.y * shadowRadius;
- float dx1 = + texelSize.x * shadowRadius;
- float dy1 = + texelSize.y * shadowRadius;
- float dx2 = dx0 / 2.0;
- float dy2 = dy0 / 2.0;
- float dx3 = dx1 / 2.0;
- float dy3 = dy1 / 2.0;
- shadow = (
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
- ) * ( 1.0 / 17.0 );
- #elif defined( SHADOWMAP_TYPE_PCF_SOFT )
- vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
- float dx = texelSize.x;
- float dy = texelSize.y;
- vec2 uv = shadowCoord.xy;
- vec2 f = fract( uv * shadowMapSize + 0.5 );
- uv -= f * texelSize;
- shadow = (
- texture2DCompare( shadowMap, uv, shadowCoord.z ) +
- texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
- texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
- texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
- mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
- f.x ) +
- mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
- f.x ) +
- mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
- f.y ) +
- mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
- f.y ) +
- mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
- f.x ),
- mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
- texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
- f.x ),
- f.y )
- ) * ( 1.0 / 9.0 );
- #elif defined( SHADOWMAP_TYPE_VSM )
- shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );
- #else
- shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
- #endif
- }
- return shadow;
- }
- vec2 cubeToUV( vec3 v, float texelSizeY ) {
- vec3 absV = abs( v );
- float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
- absV *= scaleToCube;
- v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
- vec2 planar = v.xy;
- float almostATexel = 1.5 * texelSizeY;
- float almostOne = 1.0 - almostATexel;
- if ( absV.z >= almostOne ) {
- if ( v.z > 0.0 )
- planar.x = 4.0 - v.x;
- } else if ( absV.x >= almostOne ) {
- float signX = sign( v.x );
- planar.x = v.z * signX + 2.0 * signX;
- } else if ( absV.y >= almostOne ) {
- float signY = sign( v.y );
- planar.x = v.x + 2.0 * signY + 2.0;
- planar.y = v.z * signY - 2.0;
- }
- return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
- }
- float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
- vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
- vec3 lightToPosition = shadowCoord.xyz;
- float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias;
- vec3 bd3D = normalize( lightToPosition );
- #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )
- vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
- return (
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
- texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
- ) * ( 1.0 / 9.0 );
- #else
- return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
- #endif
- }
-#endif`,UT=`#ifdef USE_SHADOWMAP
- #if NUM_DIR_LIGHT_SHADOWS > 0
- uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
- varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
- struct DirectionalLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- };
- uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
- #endif
- #if NUM_SPOT_LIGHT_SHADOWS > 0
- uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];
- varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];
- struct SpotLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- };
- uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
- #endif
- #if NUM_POINT_LIGHT_SHADOWS > 0
- uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
- varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
- struct PointLightShadow {
- float shadowBias;
- float shadowNormalBias;
- float shadowRadius;
- vec2 shadowMapSize;
- float shadowCameraNear;
- float shadowCameraFar;
- };
- uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
- #endif
-#endif`,kT=`#ifdef USE_SHADOWMAP
- #if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0
- vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
- vec4 shadowWorldPosition;
- #endif
- #if NUM_DIR_LIGHT_SHADOWS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
- shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
- vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
- }
- #pragma unroll_loop_end
- #endif
- #if NUM_SPOT_LIGHT_SHADOWS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
- shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );
- vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;
- }
- #pragma unroll_loop_end
- #endif
- #if NUM_POINT_LIGHT_SHADOWS > 0
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
- shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
- vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
- }
- #pragma unroll_loop_end
- #endif
-#endif`,VT=`float getShadowMask() {
- float shadow = 1.0;
- #ifdef USE_SHADOWMAP
- #if NUM_DIR_LIGHT_SHADOWS > 0
- DirectionalLightShadow directionalLight;
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
- directionalLight = directionalLightShadows[ i ];
- shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
- }
- #pragma unroll_loop_end
- #endif
- #if NUM_SPOT_LIGHT_SHADOWS > 0
- SpotLightShadow spotLight;
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
- spotLight = spotLightShadows[ i ];
- shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
- }
- #pragma unroll_loop_end
- #endif
- #if NUM_POINT_LIGHT_SHADOWS > 0
- PointLightShadow pointLight;
- #pragma unroll_loop_start
- for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
- pointLight = pointLightShadows[ i ];
- shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
- }
- #pragma unroll_loop_end
- #endif
- #endif
- return shadow;
-}`,HT=`#ifdef USE_SKINNING
- mat4 boneMatX = getBoneMatrix( skinIndex.x );
- mat4 boneMatY = getBoneMatrix( skinIndex.y );
- mat4 boneMatZ = getBoneMatrix( skinIndex.z );
- mat4 boneMatW = getBoneMatrix( skinIndex.w );
-#endif`,jT=`#ifdef USE_SKINNING
- uniform mat4 bindMatrix;
- uniform mat4 bindMatrixInverse;
- #ifdef BONE_TEXTURE
- uniform highp sampler2D boneTexture;
- uniform int boneTextureSize;
- mat4 getBoneMatrix( const in float i ) {
- float j = i * 4.0;
- float x = mod( j, float( boneTextureSize ) );
- float y = floor( j / float( boneTextureSize ) );
- float dx = 1.0 / float( boneTextureSize );
- float dy = 1.0 / float( boneTextureSize );
- y = dy * ( y + 0.5 );
- vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
- vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
- vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
- vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
- mat4 bone = mat4( v1, v2, v3, v4 );
- return bone;
- }
- #else
- uniform mat4 boneMatrices[ MAX_BONES ];
- mat4 getBoneMatrix( const in float i ) {
- mat4 bone = boneMatrices[ int(i) ];
- return bone;
- }
- #endif
-#endif`,WT=`#ifdef USE_SKINNING
- vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
- vec4 skinned = vec4( 0.0 );
- skinned += boneMatX * skinVertex * skinWeight.x;
- skinned += boneMatY * skinVertex * skinWeight.y;
- skinned += boneMatZ * skinVertex * skinWeight.z;
- skinned += boneMatW * skinVertex * skinWeight.w;
- transformed = ( bindMatrixInverse * skinned ).xyz;
-#endif`,JT=`#ifdef USE_SKINNING
- mat4 skinMatrix = mat4( 0.0 );
- skinMatrix += skinWeight.x * boneMatX;
- skinMatrix += skinWeight.y * boneMatY;
- skinMatrix += skinWeight.z * boneMatZ;
- skinMatrix += skinWeight.w * boneMatW;
- skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
- objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
- #ifdef USE_TANGENT
- objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;
- #endif
-#endif`,XT=`float specularStrength;
-#ifdef USE_SPECULARMAP
- vec4 texelSpecular = texture2D( specularMap, vUv );
- specularStrength = texelSpecular.r;
-#else
- specularStrength = 1.0;
-#endif`,qT=`#ifdef USE_SPECULARMAP
- uniform sampler2D specularMap;
-#endif`,YT=`#if defined( TONE_MAPPING )
- gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
-#endif`,KT=`#ifndef saturate
-#define saturate(a) clamp( a, 0.0, 1.0 )
-#endif
-uniform float toneMappingExposure;
-vec3 LinearToneMapping( vec3 color ) {
- return toneMappingExposure * color;
-}
-vec3 ReinhardToneMapping( vec3 color ) {
- color *= toneMappingExposure;
- return saturate( color / ( vec3( 1.0 ) + color ) );
-}
-vec3 OptimizedCineonToneMapping( vec3 color ) {
- color *= toneMappingExposure;
- color = max( vec3( 0.0 ), color - 0.004 );
- return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
-}
-vec3 RRTAndODTFit( vec3 v ) {
- vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
- vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
- return a / b;
-}
-vec3 ACESFilmicToneMapping( vec3 color ) {
- const mat3 ACESInputMat = mat3(
- vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ),
- vec3( 0.04823, 0.01566, 0.83777 )
- );
- const mat3 ACESOutputMat = mat3(
- vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ),
- vec3( -0.07367, -0.00605, 1.07602 )
- );
- color *= toneMappingExposure / 0.6;
- color = ACESInputMat * color;
- color = RRTAndODTFit( color );
- color = ACESOutputMat * color;
- return saturate( color );
-}
-vec3 CustomToneMapping( vec3 color ) { return color; }`,QT=`#ifdef USE_TRANSMISSION
- float transmissionFactor = transmission;
- float thicknessFactor = thickness;
- #ifdef USE_TRANSMISSIONMAP
- transmissionFactor *= texture2D( transmissionMap, vUv ).r;
- #endif
- #ifdef USE_THICKNESSMAP
- thicknessFactor *= texture2D( thicknessMap, vUv ).g;
- #endif
- vec3 pos = vWorldPosition.xyz / vWorldPosition.w;
- vec3 v = normalize( cameraPosition - pos );
- vec3 n = inverseTransformDirection( normal, viewMatrix );
- float ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );
- vec3 transmission = transmissionFactor * getIBLVolumeRefraction(
- n, v, roughnessFactor, material.diffuseColor, material.specularColor,
- pos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,
- attenuationTint, attenuationDistance );
- totalDiffuse = mix( totalDiffuse, transmission, transmissionFactor );
-#endif`,ZT=`#ifdef USE_TRANSMISSION
- #ifdef USE_TRANSMISSIONMAP
- uniform sampler2D transmissionMap;
- #endif
- #ifdef USE_THICKNESSMAP
- uniform sampler2D thicknessMap;
- #endif
- uniform vec2 transmissionSamplerSize;
- uniform sampler2D transmissionSamplerMap;
- uniform mat4 modelMatrix;
- uniform mat4 projectionMatrix;
- varying vec4 vWorldPosition;
- vec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {
- vec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);
- vec3 modelScale;
- modelScale.x = length(vec3(modelMatrix[0].xyz));
- modelScale.y = length(vec3(modelMatrix[1].xyz));
- modelScale.z = length(vec3(modelMatrix[2].xyz));
- return normalize(refractionVector) * thickness * modelScale;
- }
- float applyIorToRoughness(float roughness, float ior) {
- return roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);
- }
- vec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {
- float framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);
- return texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;
- }
- vec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {
- if (attenuationDistance == 0.0) {
- return radiance;
- } else {
- vec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;
- vec3 transmittance = exp(-attenuationCoefficient * transmissionDistance); return transmittance * radiance;
- }
- }
- vec3 getIBLVolumeRefraction(vec3 n, vec3 v, float perceptualRoughness, vec3 baseColor, vec3 specularColor,
- vec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,
- vec3 attenuationColor, float attenuationDistance) {
- vec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);
- vec3 refractedRayExit = position + transmissionRay;
- vec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);
- vec2 refractionCoords = ndcPos.xy / ndcPos.w;
- refractionCoords += 1.0;
- refractionCoords /= 2.0;
- vec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);
- vec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);
- return (1.0 - specularColor) * attenuatedColor * baseColor;
- }
-#endif`,$T=`#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )
- varying vec2 vUv;
-#endif`,eE=`#ifdef USE_UV
- #ifdef UVS_VERTEX_ONLY
- vec2 vUv;
- #else
- varying vec2 vUv;
- #endif
- uniform mat3 uvTransform;
-#endif`,tE=`#ifdef USE_UV
- vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
-#endif`,nE=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
- varying vec2 vUv2;
-#endif`,iE=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
- attribute vec2 uv2;
- varying vec2 vUv2;
- uniform mat3 uv2Transform;
-#endif`,rE=`#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
- vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;
-#endif`,sE=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )
- vec4 worldPosition = vec4( transformed, 1.0 );
- #ifdef USE_INSTANCING
- worldPosition = instanceMatrix * worldPosition;
- #endif
- worldPosition = modelMatrix * worldPosition;
-#endif`,oE=`uniform sampler2D t2D;
-varying vec2 vUv;
-void main() {
- vec4 texColor = texture2D( t2D, vUv );
- gl_FragColor = mapTexelToLinear( texColor );
- #include
- #include
-}`,aE=`varying vec2 vUv;
-uniform mat3 uvTransform;
-void main() {
- vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
- gl_Position = vec4( position.xy, 1.0, 1.0 );
-}`,lE=`#include
-uniform float opacity;
-varying vec3 vWorldDirection;
-#include
-void main() {
- vec3 vReflect = vWorldDirection;
- #include
- gl_FragColor = envColor;
- gl_FragColor.a *= opacity;
- #include
- #include
-}`,cE=`varying vec3 vWorldDirection;
-#include
-void main() {
- vWorldDirection = transformDirection( position, modelMatrix );
- #include
- #include
- gl_Position.z = gl_Position.w;
-}`,uE=`#if DEPTH_PACKING == 3200
- uniform float opacity;
-#endif
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-varying vec2 vHighPrecisionZW;
-void main() {
- #include
- vec4 diffuseColor = vec4( 1.0 );
- #if DEPTH_PACKING == 3200
- diffuseColor.a = opacity;
- #endif
- #include
- #include
- #include
- #include
- float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
- #if DEPTH_PACKING == 3200
- gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
- #elif DEPTH_PACKING == 3201
- gl_FragColor = packDepthToRGBA( fragCoordZ );
- #endif
-}`,hE=`#include
-#include
-#include
-#include
-#include
-#include
-#include
-varying vec2 vHighPrecisionZW;
-void main() {
- #include
- #include
- #ifdef USE_DISPLACEMENTMAP
- #include
- #include
- #include
- #endif
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- vHighPrecisionZW = gl_Position.zw;
-}`,dE=`#define DISTANCE
-uniform vec3 referencePosition;
-uniform float nearDistance;
-uniform float farDistance;
-varying vec3 vWorldPosition;
-#include
-#include
-#include
-#include
-#include
-#include
-void main () {
- #include
- vec4 diffuseColor = vec4( 1.0 );
- #include
- #include
- #include
- float dist = length( vWorldPosition - referencePosition );
- dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
- dist = saturate( dist );
- gl_FragColor = packDepthToRGBA( dist );
-}`,fE=`#define DISTANCE
-varying vec3 vWorldPosition;
-#include
-#include
-#include
-#include
-#include
-#include
-void main() {
- #include
- #include
- #ifdef USE_DISPLACEMENTMAP
- #include
- #include
- #include
- #endif
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- vWorldPosition = worldPosition.xyz;
-}`,pE=`uniform sampler2D tEquirect;
-varying vec3 vWorldDirection;
-#include
-void main() {
- vec3 direction = normalize( vWorldDirection );
- vec2 sampleUV = equirectUv( direction );
- vec4 texColor = texture2D( tEquirect, sampleUV );
- gl_FragColor = mapTexelToLinear( texColor );
- #include
- #include
-}`,mE=`varying vec3 vWorldDirection;
-#include
-void main() {
- vWorldDirection = transformDirection( position, modelMatrix );
- #include
- #include
-}`,gE=`uniform vec3 diffuse;
-uniform float opacity;
-uniform float dashSize;
-uniform float totalSize;
-varying float vLineDistance;
-#include
-#include
-#include
-#include
-#include
-void main() {
- #include
- if ( mod( vLineDistance, totalSize ) > dashSize ) {
- discard;
- }
- vec3 outgoingLight = vec3( 0.0 );
- vec4 diffuseColor = vec4( diffuse, opacity );
- #include
- #include
- outgoingLight = diffuseColor.rgb;
- gl_FragColor = vec4( outgoingLight, diffuseColor.a );
- #include
- #include
- #include
- #include
-}`,yE=`uniform float scale;
-attribute float lineDistance;
-varying float vLineDistance;
-#include
-#include
-#include
-#include
-#include
-#include
-void main() {
- vLineDistance = scale * lineDistance;
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-}`,vE=`uniform vec3 diffuse;
-uniform float opacity;
-#ifndef FLAT_SHADED
- varying vec3 vNormal;
-#endif
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-void main() {
- #include
- vec4 diffuseColor = vec4( diffuse, opacity );
- #include
- #include
- #include
- #include
- #include
- #include
- ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
- #ifdef USE_LIGHTMAP
-
- vec4 lightMapTexel= texture2D( lightMap, vUv2 );
- reflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
- #else
- reflectedLight.indirectDiffuse += vec3( 1.0 );
- #endif
- #include
- reflectedLight.indirectDiffuse *= diffuseColor.rgb;
- vec3 outgoingLight = reflectedLight.indirectDiffuse;
- #include
- gl_FragColor = vec4( outgoingLight, diffuseColor.a );
- #include
- #include
- #include
- #include
- #include
-}`,xE=`#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-void main() {
- #include
- #include
- #include
- #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )
- #include
- #include
- #include
- #include
- #include
- #endif
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-}`,bE=`uniform vec3 diffuse;
-uniform vec3 emissive;
-uniform float opacity;
-varying vec3 vLightFront;
-varying vec3 vIndirectFront;
-#ifdef DOUBLE_SIDED
- varying vec3 vLightBack;
- varying vec3 vIndirectBack;
-#endif
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-void main() {
- #include
- vec4 diffuseColor = vec4( diffuse, opacity );
- ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
- vec3 totalEmissiveRadiance = emissive;
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #ifdef DOUBLE_SIDED
- reflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;
- #else
- reflectedLight.indirectDiffuse += vIndirectFront;
- #endif
- #include
- reflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );
- #ifdef DOUBLE_SIDED
- reflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;
- #else
- reflectedLight.directDiffuse = vLightFront;
- #endif
- reflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();
- #include
- vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
- #include
- gl_FragColor = vec4( outgoingLight, diffuseColor.a );
- #include
- #include
- #include
- #include
- #include