diff --git a/.gitignore b/.gitignore
index 434cc5031f337022a3d9fee857a60c56996cbf07..85fafb91322ce5329c226312dcea76c2ecc8b979 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,6 @@ unpackage/dist
unpackage/release
unpackage/cache
!unpackage/res
-**/node_modules
\ No newline at end of file
+**/node_modules
+packages
+!packages/package.json
\ No newline at end of file
diff --git a/README.md b/README.md
index 9dfe1df3c21d1675525a24044f4231979d3f8ba7..b0f2400c0c66a1fdd6a5db7d8f5f2f8647ad3284 100644
--- a/README.md
+++ b/README.md
@@ -76,82 +76,87 @@
## 组件列表
下表为 `uv-ui` 的扩展组件清单,点击每个组件**点击下载&安装**即可在详情页面导入组件到项目下,导入后建议重新运行即可直接使用,组件无需import和注册。
-
-| 组件名 | 组件说明 |
-| --- | --- |
-| uv-skeletons | [新版骨架屏(推荐)](https://www.uvui.cn/components/skeletons.html) |
-| uv-calendars | [新版日历(推荐)](https://www.uvui.cn/components/calendars.html) |
-| uv-drop-down | [下拉筛选](https://www.uvui.cn/components/dropDown.html) |
-| uv-scroll-list | [横向滚动列表](https://www.uvui.cn/components/scrollList.html) |
-| uv-vtabs | [垂直选项卡](https://www.uvui.cn/components/vtabs.html) |
-| uv-pick-color | [颜色选择器](https://www.uvui.cn/components/pickColor.html) |
-| uv-qrcode | [二维码](https://www.uvui.cn/components/qrcode.html) |
-| uv-waterfall | [瀑布流](https://www.uvui.cn/components/waterfall.html) |
-| uv-row | [Layout 布局](https://www.uvui.cn/components/layout.html) |
-| uv-icon | [图标](https://www.uvui.cn/components/icon.html) |
-| uv-button | [按钮](https://www.uvui.cn/components/button.html) |
-| uv-text | [文本](https://www.uvui.cn/components/text.html) |
-| uv-link | [超链接](https://www.uvui.cn/components/link.html) |
-| uv-image | [图片](https://www.uvui.cn/components/image.html) |
-| uv-transition | [动画](https://www.uvui.cn/components/transition.html) |
-| uv-form | [表单](https://www.uvui.cn/components/form.html) |
-| uv-input | [增强输入框](https://www.uvui.cn/components/input.html) |
-| uv-textarea | [增强文本域](https://www.uvui.cn/components/textarea.html) |
-| uv-checkbox | [复选框](https://www.uvui.cn/components/checkbox.html) |
-| uv-radio | [单选框](https://www.uvui.cn/components/radio.html) |
-| uv-switch | [开关选择器](https://www.uvui.cn/components/switch.html) |
-| uv-calendar | [日历](https://www.uvui.cn/components/calendar.html) |
-| uv-picker | [选择器](https://www.uvui.cn/components/picker.html) |
-| uv-datetime-picker | [时间选择器](https://www.uvui.cn/components/datetimePicker.html) |
-| uv-code | [验证码倒计时](https://www.uvui.cn/components/code.html) |
-| uv-keyboard | [键盘](https://www.uvui.cn/components/keyboard.html) |
-| uv-rate | [评分](https://www.uvui.cn/components/rate.html) |
-| uv-search | [多功能搜索框](https://www.uvui.cn/components/search.html) |
-| uv-number-box | [步进器](https://www.uvui.cn/components/numberBox.html) |
-| uv-upload | [上传](https://www.uvui.cn/components/upload.html) |
-| uv-slider | [滑动选择器](https://www.uvui.cn/components/slider.html) |
-| uv-list | [列表](https://www.uvui.cn/components/list.html) |
-| uv-index-list | [索引列表](https://www.uvui.cn/components/indexList.html) |
-| uv-tags | [标签](https://www.uvui.cn/components/tag.html) |
-| uv-line-progress | [线形进度条](https://www.uvui.cn/components/lineProgress.html) |
-| uv-badge | [徽标数](https://www.uvui.cn/components/badge.html) |
-| uv-count-down | [倒计时](https://www.uvui.cn/components/countDown.html) |
-| uv-count-to | [数字滚动](https://www.uvui.cn/components/countTo.html) |
-| uv-avatar | [头像](https://www.uvui.cn/components/avatar.html) |
-| uv-skeleton | [骨架屏](https://www.uvui.cn/components/skeleton.html) |
-| uv-loading-icon | [加载动画](https://www.uvui.cn/components/loadingIcon.html) |
-| uv-loading-page | [加载页](https://www.uvui.cn/components/loadingPage.html) |
-| uv-load-more | [加载更多](https://www.uvui.cn/components/loadMore.html) |
-| uv-empty | [内容为空](https://www.uvui.cn/components/empty.html) |
-| uv-tooltip | [长按提示](https://www.uvui.cn/components/tooltip.html) |
-| uv-alert | [警告提示](https://www.uvui.cn/components/alert.html) |
-| uv-toast | [消息提示](https://www.uvui.cn/components/toast.html) |
-| uv-notice-bar | [滚动通知](https://www.uvui.cn/components/noticeBar.html) |
-| uv-notify | [消息提示](https://www.uvui.cn/components/notify.html) |
-| uv-no-network | [无网络提示](https://www.uvui.cn/components/noNetwork.html) |
-| uv-popup | [弹出层](https://www.uvui.cn/components/popup.html) |
-| uv-modal | [模态框](https://www.uvui.cn/components/modal.html) |
-| uv-cell | [单元格](https://www.uvui.cn/components/cell.html) |
-| uv-swipe-action | [滑动单元格](https://www.uvui.cn/components/swipeAction.html) |
-| uv-swiper | [轮播图](https://www.uvui.cn/components/swiper.html) |
-| uv-collapse | [折叠面板](https://www.uvui.cn/components/collapse.html) |
-| uv-grid | [宫格布局](https://www.uvui.cn/components/grid.html) |
-| uv-album | [相册](https://www.uvui.cn/components/album.html) |
-| uv-tabbar | [底部导航栏](https://www.uvui.cn/components/tabbar.html) |
-| uv-back-top | [返回顶部](https://www.uvui.cn/components/backTop.html) |
-| uv-navbar | [自定义导航栏](https://www.uvui.cn/components/navbar.html) |
-| uv-action-sheet | [底部操作菜单](https://www.uvui.cn/components/actionSheet.html) |
-| uv-tabs | [标签选项卡](https://www.uvui.cn/components/tabs.html) |
-| uv-steps | [步骤条](https://www.uvui.cn/components/steps.html) |
-| uv-subsection | [分段器](https://www.uvui.cn/components/subsection.html) |
-| uv-sticky | [吸顶](https://www.uvui.cn/components/sticky.html) |
-| uv-parse | [富文本解析器](https://www.uvui.cn/components/parse.html) |
-| uv-overlay | [遮罩层](https://www.uvui.cn/components/overlay.html) |
-| uv-code-input | [验证码输入](https://www.uvui.cn/components/codeInput.html) |
-| uv-read-more | [展开阅读更多](https://www.uvui.cn/components/readMore.html) |
-| uv-line | [线条](https://www.uvui.cn/components/line.html) |
-| uv-gap | [间隔槽](https://www.uvui.cn/components/gap.html) |
-| uv-divider | [分割线](https://www.uvui.cn/components/divider.html) |
+### uv-ui 已支持的组件列表
+|组件名|组件说明|
+|---|---|
+|uv-action-sheet|[底部操作菜单](https://www.uvui.cn/components/actionSheet.html)|
+|uv-album|[相册](https://www.uvui.cn/components/album.html)|
+|uv-alert|[警告提示](https://www.uvui.cn/components/alert.html)|
+|uv-avatar|[头像](https://www.uvui.cn/components/avatar.html)|
+|uv-back-top|[返回顶部](https://www.uvui.cn/components/backTop.html)|
+|uv-badge|[徽标数,数字角标](https://www.uvui.cn/components/badge.html)|
+|uv-button|[按钮](https://www.uvui.cn/components/button.html)|
+|uv-calendar|[日历](https://www.uvui.cn/components/calendar.html)|
+|uv-calendars|[最新日历](https://www.uvui.cn/components/calendars.html)|
+|uv-cell|[单元格](https://www.uvui.cn/components/cell.html)|
+|uv-checkbox|[复选框](https://www.uvui.cn/components/checkbox.html)|
+|uv-code|[验证码倒计时](https://www.uvui.cn/components/code.html)|
+|uv-code-input|[验证码输入](https://www.uvui.cn/components/codeInput.html)|
+|uv-collapse|[折叠面板](https://www.uvui.cn/components/collapse.html)|
+|uv-count-down|[倒计时](https://www.uvui.cn/components/countDown.html)|
+|uv-count-to|[数字滚动](https://www.uvui.cn/components/countTo.html)|
+|uv-datetime-picker|[时间选择器](https://www.uvui.cn/components/datetimePicker.html)|
+|uv-demo|[undefined](https://www.uvui.cn/components/demo.html)|
+|uv-divider|[分割线](https://www.uvui.cn/components/divider.html)|
+|uv-drop-down|[下拉筛选](https://www.uvui.cn/components/dropDown.html)|
+|uv-empty|[内容为空](https://www.uvui.cn/components/empty.html)|
+|uv-form|[表单](https://www.uvui.cn/components/form.html)|
+|uv-gap|[间隔槽](https://www.uvui.cn/components/gap.html)|
+|uv-grid|[宫格布局](https://www.uvui.cn/components/grid.html)|
+|uv-icon|[图标](https://www.uvui.cn/components/icon.html)|
+|uv-image|[图片](https://www.uvui.cn/components/image.html)|
+|uv-index-list|[索引列表](https://www.uvui.cn/components/indexList.html)|
+|uv-input|[输入框](https://www.uvui.cn/components/input.html)|
+|uv-keyboard|[键盘](https://www.uvui.cn/components/keyboard.html)|
+|uv-line|[线条](https://www.uvui.cn/components/line.html)|
+|uv-line-progress|[线形进度条](https://www.uvui.cn/components/lineProgress.html)|
+|uv-link|[超链接](https://www.uvui.cn/components/link.html)|
+|uv-list|[列表](https://www.uvui.cn/components/list.html)|
+|uv-load-more|[加载更多](https://www.uvui.cn/components/loadMore.html)|
+|uv-loading-icon|[加载动画](https://www.uvui.cn/components/loadingIcon.html)|
+|uv-loading-page|[加载页](https://www.uvui.cn/components/loadingPage.html)|
+|uv-modal|[模态框](https://www.uvui.cn/components/modal.html)|
+|uv-navbar|[自定义导航栏](https://www.uvui.cn/components/navbar.html)|
+|uv-no-network|[无网络提示](https://www.uvui.cn/components/noNetwork.html)|
+|uv-notice-bar|[滚动通知](https://www.uvui.cn/components/noticeBar.html)|
+|uv-notify|[消息提示](https://www.uvui.cn/components/notify.html)|
+|uv-number-box|[步进器](https://www.uvui.cn/components/numberBox.html)|
+|uv-overlay|[遮罩层](https://www.uvui.cn/components/overlay.html)|
+|uv-parse|[富文本解析器](https://www.uvui.cn/components/parse.html)|
+|uv-pick-color|[颜色选择器](https://www.uvui.cn/components/pickColor.html)|
+|uv-picker|[选择器](https://www.uvui.cn/components/picker.html)|
+|uv-popup|[弹出层](https://www.uvui.cn/components/popup.html)|
+|uv-qrcode|[二维码](https://www.uvui.cn/components/qrcode.html)|
+|uv-radio|[单选框](https://www.uvui.cn/components/radio.html)|
+|uv-rate|[评分](https://www.uvui.cn/components/rate.html)|
+|uv-read-more|[展开阅读更多](https://www.uvui.cn/components/readMore.html)|
+|uv-row|[layout布局](https://www.uvui.cn/components/row.html)|
+|uv-safe-bottom|[底部安全区](https://www.uvui.cn/components/safeBottom.html)|
+|uv-scroll-list|[横向滚动列表](https://www.uvui.cn/components/scrollList.html)|
+|uv-search|[搜索](https://www.uvui.cn/components/search.html)|
+|uv-skeleton|[骨架屏](https://www.uvui.cn/components/skeleton.html)|
+|uv-skeletons|[骨架屏](https://www.uvui.cn/components/skeletons.html)|
+|uv-slider|[滑动选择器](https://www.uvui.cn/components/slider.html)|
+|uv-status-bar|[状态栏占位](https://www.uvui.cn/components/statusBar.html)|
+|uv-steps|[步骤条](https://www.uvui.cn/components/steps.html)|
+|uv-sticky|[吸顶](https://www.uvui.cn/components/sticky.html)|
+|uv-subsection|[分段器](https://www.uvui.cn/components/subsection.html)|
+|uv-swipe-action|[滑动单元格](https://www.uvui.cn/components/swipeAction.html)|
+|uv-swiper|[轮播图](https://www.uvui.cn/components/swiper.html)|
+|uv-switch|[开关选择器](https://www.uvui.cn/components/switch.html)|
+|uv-tabbar|[底部导航栏](https://www.uvui.cn/components/tabbar.html)|
+|uv-tabs|[标签选项卡](https://www.uvui.cn/components/tabs.html)|
+|uv-tags|[标签](https://www.uvui.cn/components/tags.html)|
+|uv-text|[文本](https://www.uvui.cn/components/text.html)|
+|uv-textarea|[文本域](https://www.uvui.cn/components/textarea.html)|
+|uv-toast|[消息提示](https://www.uvui.cn/components/toast.html)|
+|uv-toolbar|[工具条](https://www.uvui.cn/components/toolbar.html)|
+|uv-tooltip|[长按提示](https://www.uvui.cn/components/tooltip.html)|
+|uv-transition|[动画](https://www.uvui.cn/components/transition.html)|
+|uv-ui-tools|[工具集](https://www.uvui.cn/components/uiTools.html)|
+|uv-upload|[上传](https://www.uvui.cn/components/upload.html)|
+|uv-vtabs|[垂直选项卡](https://www.uvui.cn/components/vtabs.html)|
+|uv-waterfall|[瀑布流](https://www.uvui.cn/components/waterfall.html)|
## 版权信息
uv-ui遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uv-ui应用到您的产品中。
diff --git a/build/README.md b/build/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4342c50ff8bae8fdaef87417cdd73a68c62f8f20
--- /dev/null
+++ b/build/README.md
@@ -0,0 +1,88 @@
+
+
+
+uv-ui
+兼容vue3+2多平台快速开发的UI框架
+
+[](https://gitee.com/climblee/uv-ui)
+[](https://gitee.com/climblee/uv-ui)
+[](https://github.com/climblee/uv-ui)
+[](https://github.com/climblee/uv-ui/issues)
+[](https://www.uvui.cn)
+[](https://www.uvui.cn/components/changelog.html)
+[](https://en.wikipedia.org/wiki/MIT_License)
+
+## 温馨提示:如需下载uv-ui示例项目,请不要使用【下载插件ZIP】按钮。
+
+### uvui官方群1:549833913
+### uvui官方群2:206060892
+
+## uvui特点
+
+1. **uv-ui的前世今生**,`uv-ui` 是基于 `uview2.x` 版本改造而来。重命名也是为了避开发布冲突和很多组件 `u-`在 `nvue` 中不能使用的情况,所以这才诞生了`uv-ui`。感谢 `uview-ui` 作者的开源奉献,再次为开源点赞。 同时 `uv-ui` 也是无条件开源。
+
+2. **全端兼容**,`uv-ui`支持vue3、vue2、app-vue、app-nvue、h5、小程序等。`uv-ui`的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。
+
+3. **扩展配置**,`uv-ui`内置的方法默认不再挂载到`uni`对象之上,也就意味着默认情况下不能在项目中直接使用`uni.$uv.xxx`使用内置方法。但是可以通过扩展可以解决,通过如下方式进行配置即可,使用方式请参考[扩展配置](https://www.uvui.cn/components/setting.html)。其中包括[ JS工具库](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-js%E5%B7%A5%E5%85%B7%E5%BA%93)、[ 自定义主题](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%BB%E9%A2%98)、[ 基础样式](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-%E5%9F%BA%E7%A1%80%E6%A0%B7%E5%BC%8F)、[ setconfig](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-setconfig)等。
+
+## 预览
+
+通过微信(APP下载不支持微信扫码)或浏览器扫码查看演示效果。
+
+
+
+## 链接
+
+- [官方文档](https://www.uvui.cn)
+- [演示地址](https://h5.uvui.cn)
+- [更新日志](https://www.uvui.cn/components/changelog.html)
+- [关于我们](https://www.uvui.cn/cooperation/about.html)
+- 组件列表
+
+## 交流反馈
+
+欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uvui.cn/components/addQQGroup.html)
+
+## 快速开始
+
+方式一:`uv-ui` 强烈建议通过 `下载插件并导入HbuilderX` 导入组件。
+
+方式二:下载完整 [uv-ui项目](https://ext.dcloud.net.cn/plugin?id=12287) 将 `uni_modules` 复制到自己的项目。
+
+方式三:通过 `npm i @climblee/uv-ui` 下载,此方法需要配置 easycom,配置详情可查看[安装](https://www.uvui.cn/components/install.html)。
+
+请通过[快速上手](https://www.uvui.cn/components/quickstart.html)了解更详细的内容。
+
+**注意:导入插件后,建议`HBuilderX`重新运行项目,可能新导入的插件不能实时更新而导致不能运行。**
+
+## 使用方法
+
+组件导入 `uni_modules` 后,直接在项目中使用,无需通过import引入组件。
+
+```html
+
+
+
+```
+
+## 扩展功能
+
+`uv-ui` 内置了强大的工具函数、请求封装等,可以根据自身需求进行扩展配置,详情请查看[扩展配置](https://www.uvui.cn/components/setting.html)。
+
+**注意:只有[扩展配置](https://www.uvui.cn/components/setting.html)后才能在自己的项目页面中使用组件库内置方法和变量等**。
+
+
+
+## 组件列表
+
+下表为 `uv-ui` 的扩展组件清单,点击每个组件**点击下载&安装**即可在详情页面导入组件到项目下,导入后建议重新运行即可直接使用,组件无需import和注册。
+
+## 版权信息
+uv-ui遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uv-ui应用到您的产品中。
+
+## 作者想说
+- 开源真的不易,不图大家的钱财,所以希望大家多多鼓励支持,希望不要恶意评论,有问题加群快速解决。
+- 遇到BUG,是一件很正常的事情,是程序肯定就有BUG,所以希望大家能以理解的心态去提出BUG,然后作者才有动力去努力修复。
+- 最后觉得好用的小伙伴,不要吝啬你的双手,给个好评就是给我们最大的鼓励。
+
+# 恶评者手下留情,有事加QQ群解决:549833913
\ No newline at end of file
diff --git a/build/build-lib.js b/build/build-lib.js
new file mode 100644
index 0000000000000000000000000000000000000000..449db07748d60f44465927d27de7349147f22f6b
--- /dev/null
+++ b/build/build-lib.js
@@ -0,0 +1,71 @@
+const fs = require('fs')
+const path = require('path')
+const util = require('./util.js')
+const buildReadme = require('./build-readme.js')
+function buildLib(callback) {
+ const root = path.join(__dirname, '..')
+ const uvui = path.join(root, 'uni_modules')
+ const packages = path.join(root, 'packages')
+ const lib = path.join(packages, 'components')
+
+ const uvuiPackagePath = path.join(packages, 'package.json')
+ let uvuiData = util.read(path.join(uvui, 'uv-ui', 'package.json'))
+ let uvuiPackageData = util.read(uvuiPackagePath)
+ uvuiData = JSON.parse(uvuiData)
+ uvuiPackageData = JSON.parse(uvuiPackageData)
+ if (uvuiPackageData.version === uvuiData.version) {
+ console.log('当前版本号一致,请先执行 npm run build:release 更新 uv-ui 组件后再次执行当前命令');
+ return
+ }
+ // 同步文档
+ buildReadme()
+ util.copyFile(path.join(root, 'README.md'), path.join(packages, 'README.md'))
+ const exists = fs.existsSync(lib)
+ if (exists) {
+ util.deleteFolder(lib)
+ }
+ const packagesLists = fs.readdirSync(uvui)
+ packagesLists.reduce((promise, item) => {
+ const componentsDir = path.join(uvui, item);
+ if (item === 'uv-ui') {
+ util.copyFile(path.join(componentsDir, 'changelog.md'), path.join(packages, 'changelog.md'))
+ return promise
+ }
+ if(item === "uv-ui-tools") {
+ ["libs", "index.js", "index.scss", "theme.scss"].forEach(file => {
+ const from = path.join(componentsDir, file)
+ const to = path.join(packages, file);
+ if(fs.statSync(from).isFile()) {
+ util.copyFile(from, to)
+ return;
+ }
+ util.copyDir(from, to)
+ })
+ return promise;
+ }
+ const comPath = path.join(componentsDir, 'components')
+ const coms = fs.readdirSync(comPath)
+ return coms.reduce((promise, item) => {
+ const componentsPath = path.join(comPath, item)
+ util.copyDir(componentsPath, path.join(lib, item))
+ console.log(item + ' 组件同步成功');
+ return promise
+ }, promise)
+ }, Promise.resolve([])).then(() => {
+ console.log('SUCCESS');
+ // uv-ui 版本更新
+ uvuiPackageData.version = uvuiData.version
+ util.write(uvuiPackagePath, JSON.stringify(uvuiPackageData, null, 2))
+ let rootPath = path.join(root, 'package.json')
+ let rootPackage = util.read(rootPath)
+ rootPackage = JSON.parse(rootPackage)
+ rootPackage.version = uvuiData.version
+ // 根目录版本更新
+ util.write(rootPath, JSON.stringify(rootPackage, null, '\t'))
+
+ typeof callback === 'function' && callback()
+ })
+
+}
+
+module.exports = buildLib
\ No newline at end of file
diff --git a/build/build-readme.js b/build/build-readme.js
new file mode 100644
index 0000000000000000000000000000000000000000..358ddf02bec508dc8630cd924c5800d603c04bcb
--- /dev/null
+++ b/build/build-readme.js
@@ -0,0 +1,24 @@
+const path = require('path')
+const fs = require('fs')
+const root = path.join(__dirname, '..')
+const util = require('./util.js')
+const { camelCase } = require("lodash")
+
+function buildReadme() {
+ const uvui = path.join(root, 'uni_modules')
+ const readmePath = path.join(__dirname, 'README.md')
+ let readmeContent = util.handleReadme(readmePath)
+ const packagesLists = fs.readdirSync(uvui)
+ let componentsLists = '### uv-ui 已支持的组件列表\n|组件名|组件说明|\n|---|---|\n'
+ packagesLists.forEach(item=>{
+ if(item === 'uv-ui') return
+ let packageData = util.read(path.join(uvui,item,'package.json'))
+ packageData = JSON.parse(packageData)
+ let componentsName = packageData.displayName.split(' ')
+ componentsLists += `|${componentsName[0]}|[${componentsName[1]}](https://www.uvui.cn/components/${camelCase(item.replace("uv-", ''))}.html)|\n`
+ })
+ readmeContent = readmeContent.replace('',componentsLists)
+ util.write(path.join(root,'README.md'),readmeContent)
+}
+
+module.exports = buildReadme
\ No newline at end of file
diff --git a/build/build-uvui.js b/build/build-uvui.js
new file mode 100644
index 0000000000000000000000000000000000000000..525d2f4e7614ecc8e86edcb94bf3807245371925
--- /dev/null
+++ b/build/build-uvui.js
@@ -0,0 +1,314 @@
+const path = require('path')
+const fs = require('fs')
+const modulesId = 'uv-ui'
+const root = path.join(__dirname, '..')
+const modulesPath = path.join(root, 'uni_modules')
+const docsChangeLog = path.join(modulesPath, modulesId, 'changelog.md')
+
+function buildChangeLog(callback) {
+ let componentsPackageJsons = getAllComponentsList(modulesPath)
+ const syncVersions = path.join(root, 'temps', 'sync-version.json')
+ let syncVersionsData = fs.readFileSync(syncVersions).toString()
+ syncVersionsData = JSON.parse(syncVersionsData)
+
+ let syncVersion = {}
+ let uniuimd = ''
+ componentsPackageJsons.forEach(item => {
+ let {
+ id,
+ version
+ } = item
+ if (version !== syncVersionsData[id]) {
+ let changelog = path.join(modulesPath, id, 'changelog.md')
+ // let = readChangelogFile(changelog)
+ let changeMd = fs.readFileSync(changelog).toString()
+ const mds = versionAll(changeMd, syncVersionsData[id])
+
+ let content = ''
+ mds.forEach(md => {
+ md = md.replace(/- /g, `- ${id} `).trim()
+ content += (md.trim() + '\n')
+ })
+ uniuimd += (content.trim() + '\n')
+ }
+ syncVersion[id] = version
+ })
+ // console.log(uniuimd);
+ uniuimd = uniuimd.trim()
+ if (uniuimd) {
+ let uniuiPackagePath = path.join(modulesPath, modulesId, 'package.json')
+ uniuiPackage = JSON.parse(fs.readFileSync(uniuiPackagePath).toString())
+ let mdpath = path.join(modulesPath, modulesId, 'changelog.md')
+ let newVersion = uniuiPackage.version.split('.')
+ newVersion[2] = Number(newVersion[2]) + 1
+ newVersion = newVersion.join('.')
+ uniuiPackage.version = newVersion
+ buildDocsChangeLog(uniuimd, newVersion)
+ const uniuiChangelog = updateChangelogFile(
+ mdpath,
+ newVersion,
+ uniuimd
+ )
+ // 修改合并后的 release
+ fs.writeFileSync(mdpath, uniuiChangelog)
+ // package.json 版本号 +1
+ fs.writeFileSync(uniuiPackagePath, JSON.stringify(uniuiPackage, null, 2))
+ console.log('文档日志更新完成,更新内容如下:');
+ console.log(uniuimd);
+ }else{
+ console.log('当前是最新版本,无需更新');
+ }
+ // 将最新的组件写入缓存区域
+ fs.writeFileSync(path.join(__dirname, '..', 'temps', 'sync-version.json'), JSON.stringify(syncVersion, null, 2))
+
+ typeof callback === 'function' && callback()
+
+}
+
+
+/**
+ * 获取所有组件
+ */
+function getAllComponentsList(modulesPath) {
+ const exists = fs.existsSync(modulesPath)
+ if (!exists) {
+ return []
+ }
+ const fileLists = fs.readdirSync(modulesPath);
+ let content = []
+ fileLists.forEach(name => {
+ if (name === modulesId || name === 'uni-test') {
+ return
+ }
+ const packagePath = path.join(modulesPath, name, 'package.json')
+ try {
+ let data = fs.readFileSync(packagePath).toString()
+ content.push(JSON.parse(data))
+ } catch (err) {
+ // console.log(packagePath + '不存在');
+ }
+ })
+
+ return content
+}
+
+/**
+ * 读取 changelog
+ */
+
+function readVersions(str) {
+ const versionRE = /##\s+([0-9\.]+).*/g
+ const curVersionMatch = versionRE.exec(str)
+ if (!curVersionMatch) {
+ return []
+ }
+ const curVersion = {
+ version: curVersionMatch[1].trim(),
+ line: curVersionMatch[0],
+ }
+ const lastVersionMatch = versionRE.exec(str)
+ if (!lastVersionMatch) {
+ return [curVersion]
+ }
+ return [
+ curVersion,
+ {
+ version: lastVersionMatch[1].trim(),
+ line: lastVersionMatch[0],
+ },
+ ]
+}
+
+function padZero(val) {
+ return val > 9 ? String(val) : '0' + val
+}
+
+function generateVersionLog(version, log, date = new Date()) {
+ return `## ${version}(${date.getFullYear()}-${padZero(
+ date.getMonth() + 1
+ )}-${padZero(date.getDate())})
+${log}
+`
+}
+
+function updateChangelogFile(
+ dir,
+ newVersion,
+ newLog,
+ date
+) {
+ let changelogPath = dir
+ if (path.extname(dir) !== '.md') {
+ changelogPath = path.resolve(dir, 'changelog.md')
+ }
+ if (!fs.existsSync(changelogPath)) {
+ return generateVersionLog(newVersion, newLog, date)
+ }
+ return updateChangelog(
+ fs.readFileSync(changelogPath).toString(),
+ newVersion,
+ newLog,
+ date
+ )
+}
+
+function updateChangelog(
+ md,
+ newVersion,
+ newLog,
+ date
+) {
+ const {
+ version,
+ loc
+ } = readChangelog(md)
+ if (version === newVersion) {
+ return (
+ md.substring(0, loc.start) +
+ generateVersionLog(newVersion, newLog, date) +
+ md.substring(loc.end, md.length)
+ )
+ } else {
+ md = generateVersionLog(newVersion, newLog, date) + md
+ }
+ return md
+}
+
+function readChangelog(md) {
+ const [curVersion, lastVersion] = readVersions(md)
+ if (!curVersion) {
+ return {
+ version: '',
+ log: '',
+ loc: {
+ start: 0,
+ end: 0
+ }
+ }
+ }
+ const start = md.indexOf(curVersion.line)
+ const curVersionIndex = start + curVersion.line.length
+ const end = lastVersion ? md.indexOf(lastVersion.line) : md.length
+ return {
+ version: curVersion.version,
+ log: md.substring(curVersionIndex, end).trim(),
+ loc: {
+ start,
+ end,
+ },
+ }
+}
+
+function readChangelogFile(dir) {
+ let changelogPath = dir
+ if (path.extname(dir) !== '.md') {
+ changelogPath = path.resolve(dir, 'changelog.md')
+ }
+ if (!fs.existsSync(changelogPath)) {
+ return {
+ version: '',
+ log: '',
+ loc: {
+ start: 0,
+ end: 0
+ }
+ }
+ }
+ return readChangelog(fs.readFileSync(changelogPath).toString())
+}
+
+function versionAll(md, oldVersion, mds = []) {
+ let data = readChangelog(md)
+ let {
+ loc,
+ log,
+ version
+ } = data
+ if (compareVersion(version, oldVersion)) {
+ const newMd = md.substring(loc.end, md.length).trim()
+ mds.push(log)
+ versionAll(newMd, oldVersion, mds)
+ }
+ return mds
+}
+
+function buildDocsChangeLog(md, version) {
+ // let date = new Date()
+ // date = `${date.getFullYear()}-${padZero(date.getMonth() + 1)}-${padZero(date.getDate())}`
+ md = md.replace(/\r\n/ig, '\n')
+ const mds = md.split('\n')
+ let content = ``
+ let arrs = {}
+ mds.forEach(v => {
+ if (!v) return
+ const nameRE = /-\s+([a-z\-]+ (优化|新增|修复)?).*/g
+ const curNameMatch = nameRE.exec(v)
+ if (!curNameMatch) return
+ let curName = {
+ name: curNameMatch[1].replace(curNameMatch[2], '').trim(),
+ line: curNameMatch[0],
+ status: curNameMatch[2] || null
+ }
+ const statusName = curName.status || curName.name
+ let line = curName.line.indexOf(statusName)
+ curName.line = curName.line.substr(line + statusName.length, curName.line.length)
+ if (!arrs[curName.name]) {
+ arrs[curName.name] = []
+ }
+ arrs[curName.name].push(curName)
+ })
+ for (let i in arrs) {
+ const item = arrs[i]
+ content += ` \n`
+ item.forEach(v => {
+ let status = ''
+ switch (v.status) {
+ case '新增':
+ status = 'feat'
+ break;
+ case '修复':
+ status = 'fix'
+ break
+ case '优化':
+ status = 'perf'
+ break
+ default:
+ status = 'perf'
+ }
+ content += ` \n`
+ content += ' ' + v.line + '\n'
+ content += ` \n`
+
+ })
+ content += ' \n'
+ }
+ content += ''
+
+ let docsMd = fs.readFileSync(docsChangeLog).toString()
+ docsMd = content + docsMd
+ fs.writeFileSync(docsChangeLog, docsMd)
+
+}
+
+function compareVersion(a, b) {
+ console.log(a);
+ console.log(b);
+ if(!b) return false
+ a = a.split('.')
+ b = b.split('.')
+ if (a.length !== b.length) {
+ return false
+ }
+ if (a[0] !== b[0]) {
+ return Number(a[0]) >= Number(b[0])
+ }
+ if (a[1] !== b[1]) {
+ return Number(a[1]) >= Number(b[1])
+ }
+ if (a[2] !== b[2]) {
+ return Number(a[2]) >= Number(b[2])
+ }
+ return false
+}
+
+module.exports = buildChangeLog
\ No newline at end of file
diff --git a/build/index.js b/build/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..fc32e0a36e7828e489f1f4403b2078e732374351
--- /dev/null
+++ b/build/index.js
@@ -0,0 +1,19 @@
+const buildChangeLog = require('./build-uvui.js')
+const buildReadme = require('./build-readme.js')
+const buildLib = require("./build-lib");
+const argv = process.argv.splice(2)[0];
+if(argv === "lib") {
+ buildLib();
+}
+if(argv === 'release'){
+ buildReadme()
+ buildChangeLog()
+}
+if(argv === 'npm'){
+ buildLib(()=>{
+ util.start()
+ })
+}
+if(argv === 'readme') {
+ buildReadme()
+}
\ No newline at end of file
diff --git a/build/util.js b/build/util.js
new file mode 100644
index 0000000000000000000000000000000000000000..e67ab6dee0b0326bbc24689791e8299ecc4bd705
--- /dev/null
+++ b/build/util.js
@@ -0,0 +1,159 @@
+const fs = require('fs')
+const path = require('path')
+const exec = require('child_process').exec
+
+class Util {
+ constructor(arg) {
+
+ }
+
+ /**
+ * 执行 npm
+ */
+ start(cmd = 'npm publish') {
+ // 任何你期望执行的cmd命令,ls都可以
+ let cmdStr1 = cmd
+ let cmdPath = path.join(__dirname, '..', 'packages')
+ let workerProcess = null
+ // 子进程名称
+ this.runExec(cmdStr1, cmdPath, workerProcess)
+ }
+
+ runExec(cmdStr, cmdPath, workerProcess) {
+ workerProcess = exec(cmdStr, {
+ cwd: cmdPath
+ })
+ // 打印正常的后台可执行程序输出
+ workerProcess.stdout.on('data', function(data) {
+ process.stdout.write(data)
+ })
+ // 打印错误的后台可执行程序输出
+ workerProcess.stderr.on('data', function(data) {
+ process.stdout.write(data)
+ })
+ // 退出之后的输出
+ workerProcess.on('close', function(code) {
+ })
+ }
+ /**
+ * 处理 readme.md
+ * @param {Object} readmePath
+ */
+ handleReadme(readmePath) {
+ let content = this.read(readmePath)
+ // 兼容 windows ,将 \r\n 全部替换成 \n
+ content = content.replace(/\r\n/ig, '\n')
+ // 删除头部额外信息,在其他平台不支持,只在 uni ui 中支持
+ content = content.replace(/---([\s\S]*?)---/ig, '')
+ // 转换 ::: 语法
+ content = content.replace(/::: (.*?)\n([\s\S]*?):::/ig, function(_, $1, $2) {
+ $1 = $1.replace(/(tip|danger|warning)+ /,'')
+ return '> **'+ $1 +'**\n'+ $2.split('\n').filter(item => item !== '').map(item => `> ${item}\n`).join('')
+ })
+ return content
+ }
+
+ /**
+ * 读取文件
+ * @param {Object} url
+ */
+ read(url) {
+ return fs.readFileSync(url).toString()
+ }
+
+ /**
+ * 写入文件
+ * @param {Object} url
+ * @param {Object} content
+ */
+ write(url, content) {
+ return fs.writeFileSync(url, content)
+ }
+
+ /**
+ * 拷贝文件
+ * @param {Object} from 文件来自那里
+ * @param {Object} to 拷贝到那里
+ */
+ copyFile(from, to) {
+ return fs.writeFileSync(to, fs.readFileSync(from))
+ }
+
+ /**
+ * 拷贝目录以及子文件
+ * @param {Object} src
+ * @param {Object} dist
+ * @param {Object} callback
+ */
+ copyDir(src, dist, callback) {
+ this._copyDir(src, dist);
+ if (callback) {
+ callback();
+ }
+ }
+
+ /**
+ * 删除目录
+ * @param {Object} path
+ */
+ deleteFolder(path) {
+ let files = [];
+ if (fs.existsSync(path)) {
+ files = fs.readdirSync(path);
+ files.forEach((file, index) => {
+ let curPath = path + '/' + file
+ if (fs.statSync(curPath).isDirectory()) {
+ this.deleteFolder(curPath);
+ } else {
+ fs.unlinkSync(curPath);
+ }
+ });
+ fs.rmdirSync(path);
+ }
+ }
+
+ //递归创建目录 同步方法
+ mkdirsSync(dirname) {
+ if (fs.existsSync(dirname)) {
+ return true;
+ } else {
+ if (this.mkdirsSync(path.dirname(dirname))) {
+ fs.mkdirSync(dirname);
+ return true;
+ }
+ }
+ }
+
+ _copy(src, dist) {
+ if(fs.statSync(src).isFile()) {
+ return
+ }
+ var paths = fs.readdirSync(src)
+ paths.forEach((p)=> {
+ var _src = src + '/' + p;
+ var _dist = dist + '/' + p;
+ var stat = fs.statSync(_src)
+ if (stat.isFile()) { // 判断是文件还是目录
+ fs.writeFileSync(_dist, fs.readFileSync(_src, "utf-8").replace(/@\/uni_modules\/uv-ui-tools\//g, "../../libs/"));
+ } else if (stat.isDirectory()) {
+ this._copyDir(_src, _dist) // 当是目录是,递归复制
+ }
+ })
+ }
+
+ /*
+ * 复制目录、子目录,及其中的文件
+ * @param src {String} 要复制的目录
+ * @param dist {String} 复制到目标目录
+ */
+ _copyDir(src, dist) {
+ var b = fs.existsSync(dist)
+ if (!b) {
+ this.mkdirsSync(dist); //创建目录
+ }
+ this._copy(src, dist);
+ }
+
+}
+
+module.exports = new Util()
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..4a98c1cf0d48f264279913efb415ab27de3b1671
--- /dev/null
+++ b/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "@climblee/uv-ui",
+ "version": "1.1.20",
+ "description": "uv-ui 破釜沉舟之兼容vue3+2、nvue、app、h5、小程序等多端基于uni-app和uView2.x的生态框架,支持单独导入,开箱即用,利剑出击。",
+ "repository": {
+ "type": "git",
+ "url": "https://gitee.com/climblee/uv-ui"
+ },
+ "scripts": {
+ "build:lib": "node build/index.js lib",
+ "build:npm": "node build/index.js npm",
+ "build:release": "node build/index.js release",
+ "build:readme": "node build/index.js readme"
+ },
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "unbuild": "^2.0.0"
+ }
+}
\ No newline at end of file
diff --git a/packages/package.json b/packages/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..d01a8c991d3d0a5b11d555fb5ad18a7c7401a57b
--- /dev/null
+++ b/packages/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "@climblee/uv-ui",
+ "version": "1.1.20",
+ "description": "uv-ui 破釜沉舟之兼容vue3+2、nvue、app、h5、小程序等多端基于uni-app和uView2.x的生态框架,支持单独导入,开箱即用,利剑出击。",
+ "repository": {
+ "type": "git",
+ "url": "https://gitee.com/climblee/uv-ui"
+ },
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "keywords": [
+ "uv-ui",
+ "uvui",
+ "uni-app 框架",
+ "uv_UI",
+ "uv UI"
+ ],
+ "author": "climblee",
+ "license": "ISC"
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..329d1a68033660057656bd4f02720929497192ad
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,1807 @@
+lockfileVersion: 5.4
+
+specifiers:
+ lodash: ^4.17.21
+ unbuild: ^2.0.0
+
+dependencies:
+ lodash: 4.17.21
+ unbuild: 2.0.0
+
+packages:
+
+ /@ampproject/remapping/2.3.0:
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ dev: false
+
+ /@babel/code-frame/7.24.2:
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
+ dev: false
+
+ /@babel/compat-data/7.24.4:
+ resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/core/7.24.4:
+ resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3_@babel+core@7.24.4
+ '@babel/helpers': 7.24.4
+ '@babel/parser': 7.24.4
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/generator/7.24.4:
+ resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+ dev: false
+
+ /@babel/helper-compilation-targets/7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+ dev: false
+
+ /@babel/helper-environment-visitor/7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-function-name/7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-hoist-variables/7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-module-imports/7.24.3:
+ resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-module-transforms/7.23.3_@babel+core@7.24.4:
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: false
+
+ /@babel/helper-simple-access/7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-split-export-declaration/7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/helper-string-parser/7.24.1:
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-identifier/7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-option/7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helpers/7.24.4:
+ resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/highlight/7.24.2:
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+ dev: false
+
+ /@babel/parser/7.24.4:
+ resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/standalone/7.24.4:
+ resolution: {integrity: sha512-V4uqWeedadiuiCx5P5OHYJZ1PehdMpcBccNCEptKFGPiZIY3FI5f2ClxUl4r5wZ5U+ohcQ+4KW6jX2K6xXzq4Q==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/template/7.24.0:
+ resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.0
+ dev: false
+
+ /@babel/traverse/7.24.1:
+ resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/types/7.24.0:
+ resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+ dev: false
+
+ /@esbuild/aix-ppc64/0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm/0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm64/0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-x64/0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-arm64/0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-x64/0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-arm64/0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-x64/0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm/0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm64/0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ia32/0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-loong64/0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-mips64el/0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ppc64/0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-riscv64/0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-s390x/0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-x64/0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/netbsd-x64/0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/openbsd-x64/0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/sunos-x64/0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-arm64/0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-ia32/0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-x64/0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@jridgewell/gen-mapping/0.3.5:
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.25
+ dev: false
+
+ /@jridgewell/resolve-uri/3.1.2:
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/set-array/1.2.1:
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/sourcemap-codec/1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ dev: false
+
+ /@jridgewell/trace-mapping/0.3.25:
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /@nodelib/fs.scandir/2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: false
+
+ /@nodelib/fs.stat/2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: false
+
+ /@nodelib/fs.walk/1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+ dev: false
+
+ /@rollup/plugin-alias/5.1.0_rollup@3.29.4:
+ resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 3.29.4
+ slash: 4.0.0
+ dev: false
+
+ /@rollup/plugin-commonjs/25.0.7_rollup@3.29.4:
+ resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.1.0_rollup@3.29.4
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.30.9
+ rollup: 3.29.4
+ dev: false
+
+ /@rollup/plugin-json/6.1.0_rollup@3.29.4:
+ resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.1.0_rollup@3.29.4
+ rollup: 3.29.4
+ dev: false
+
+ /@rollup/plugin-node-resolve/15.2.3_rollup@3.29.4:
+ resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.1.0_rollup@3.29.4
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.8
+ rollup: 3.29.4
+ dev: false
+
+ /@rollup/plugin-replace/5.0.5_rollup@3.29.4:
+ resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.1.0_rollup@3.29.4
+ magic-string: 0.30.9
+ rollup: 3.29.4
+ dev: false
+
+ /@rollup/pluginutils/5.1.0_rollup@3.29.4:
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.29.4
+ dev: false
+
+ /@trysound/sax/0.2.0:
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+ dev: false
+
+ /@types/estree/1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: false
+
+ /@types/resolve/1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ dev: false
+
+ /acorn/8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: false
+
+ /ansi-styles/3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: false
+
+ /autoprefixer/10.4.19_postcss@8.4.38:
+ resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001606
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /balanced-match/1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: false
+
+ /boolbase/1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: false
+
+ /brace-expansion/2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: false
+
+ /braces/3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: false
+
+ /browserslist/4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001606
+ electron-to-chromium: 1.4.729
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13_browserslist@4.23.0
+ dev: false
+
+ /builtin-modules/3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /caniuse-api/3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001606
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: false
+
+ /caniuse-lite/1.0.30001606:
+ resolution: {integrity: sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==}
+ dev: false
+
+ /chalk/2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: false
+
+ /chalk/5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: false
+
+ /citty/0.1.6:
+ resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+ dependencies:
+ consola: 3.2.3
+ dev: false
+
+ /color-convert/1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: false
+
+ /color-name/1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ dev: false
+
+ /colord/2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: false
+
+ /commander/7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+ dev: false
+
+ /commondir/1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: false
+
+ /consola/3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+ dev: false
+
+ /convert-source-map/2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: false
+
+ /css-declaration-sorter/7.2.0_postcss@8.4.38:
+ resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /css-select/5.1.0:
+ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ nth-check: 2.1.1
+ dev: false
+
+ /css-tree/2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.2.0
+ dev: false
+
+ /css-tree/2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.0
+ dev: false
+
+ /css-what/6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /cssesc/3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /cssnano-preset-default/6.1.2_postcss@8.4.38:
+ resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ css-declaration-sorter: 7.2.0_postcss@8.4.38
+ cssnano-utils: 4.0.2_postcss@8.4.38
+ postcss: 8.4.38
+ postcss-calc: 9.0.1_postcss@8.4.38
+ postcss-colormin: 6.1.0_postcss@8.4.38
+ postcss-convert-values: 6.1.0_postcss@8.4.38
+ postcss-discard-comments: 6.0.2_postcss@8.4.38
+ postcss-discard-duplicates: 6.0.3_postcss@8.4.38
+ postcss-discard-empty: 6.0.3_postcss@8.4.38
+ postcss-discard-overridden: 6.0.2_postcss@8.4.38
+ postcss-merge-longhand: 6.0.5_postcss@8.4.38
+ postcss-merge-rules: 6.1.1_postcss@8.4.38
+ postcss-minify-font-values: 6.1.0_postcss@8.4.38
+ postcss-minify-gradients: 6.0.3_postcss@8.4.38
+ postcss-minify-params: 6.1.0_postcss@8.4.38
+ postcss-minify-selectors: 6.0.4_postcss@8.4.38
+ postcss-normalize-charset: 6.0.2_postcss@8.4.38
+ postcss-normalize-display-values: 6.0.2_postcss@8.4.38
+ postcss-normalize-positions: 6.0.2_postcss@8.4.38
+ postcss-normalize-repeat-style: 6.0.2_postcss@8.4.38
+ postcss-normalize-string: 6.0.2_postcss@8.4.38
+ postcss-normalize-timing-functions: 6.0.2_postcss@8.4.38
+ postcss-normalize-unicode: 6.1.0_postcss@8.4.38
+ postcss-normalize-url: 6.0.2_postcss@8.4.38
+ postcss-normalize-whitespace: 6.0.2_postcss@8.4.38
+ postcss-ordered-values: 6.0.2_postcss@8.4.38
+ postcss-reduce-initial: 6.1.0_postcss@8.4.38
+ postcss-reduce-transforms: 6.0.2_postcss@8.4.38
+ postcss-svgo: 6.0.3_postcss@8.4.38
+ postcss-unique-selectors: 6.0.4_postcss@8.4.38
+ dev: false
+
+ /cssnano-utils/4.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /cssnano/6.1.2_postcss@8.4.38:
+ resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ cssnano-preset-default: 6.1.2_postcss@8.4.38
+ lilconfig: 3.1.1
+ postcss: 8.4.38
+ dev: false
+
+ /csso/5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ dependencies:
+ css-tree: 2.2.1
+ dev: false
+
+ /debug/4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: false
+
+ /deepmerge/4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /defu/6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ dev: false
+
+ /dir-glob/3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: false
+
+ /dom-serializer/2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+ dev: false
+
+ /domelementtype/2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: false
+
+ /domhandler/5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: false
+
+ /domutils/3.1.0:
+ resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ dev: false
+
+ /electron-to-chromium/1.4.729:
+ resolution: {integrity: sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==}
+ dev: false
+
+ /entities/4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: false
+
+ /esbuild/0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+ dev: false
+
+ /escalade/3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /escape-string-regexp/1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: false
+
+ /estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: false
+
+ /fast-glob/3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: false
+
+ /fastq/1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ dependencies:
+ reusify: 1.0.4
+ dev: false
+
+ /fill-range/7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: false
+
+ /fraction.js/4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ dev: false
+
+ /fs-extra/11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: false
+
+ /fs.realpath/1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: false
+
+ /fsevents/2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /function-bind/1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: false
+
+ /gensync/1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /glob-parent/5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: false
+
+ /glob/8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: false
+
+ /globals/11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /globby/13.2.2:
+ resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ merge2: 1.4.1
+ slash: 4.0.0
+ dev: false
+
+ /graceful-fs/4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: false
+
+ /has-flag/3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /hasown/2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: false
+
+ /hookable/5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ dev: false
+
+ /ignore/5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+ dev: false
+
+ /inflight/1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: false
+
+ /inherits/2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: false
+
+ /is-builtin-module/3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: false
+
+ /is-core-module/2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.2
+ dev: false
+
+ /is-extglob/2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-glob/4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: false
+
+ /is-module/1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: false
+
+ /is-number/7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: false
+
+ /is-reference/1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: false
+
+ /jiti/1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
+ dev: false
+
+ /js-tokens/4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: false
+
+ /jsesc/2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /json5/2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: false
+
+ /jsonc-parser/3.2.1:
+ resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
+ dev: false
+
+ /jsonfile/6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: false
+
+ /lilconfig/3.1.1:
+ resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /lodash.memoize/4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: false
+
+ /lodash.uniq/4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: false
+
+ /lodash/4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: false
+
+ /lru-cache/5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: false
+
+ /magic-string/0.30.9:
+ resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /mdn-data/2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+ dev: false
+
+ /mdn-data/2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ dev: false
+
+ /merge2/1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: false
+
+ /micromatch/4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: false
+
+ /minimatch/5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: false
+
+ /mkdist/1.4.0:
+ resolution: {integrity: sha512-LzzdzWDx6cWWPd8saIoO+kT5jnbijfeDaE6jZfmCYEi3YL2aJSyF23/tCFee/mDuh/ek1UQeSYdLeSa6oesdiw==}
+ hasBin: true
+ peerDependencies:
+ sass: ^1.69.5
+ typescript: '>=5.3.2'
+ peerDependenciesMeta:
+ sass:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ autoprefixer: 10.4.19_postcss@8.4.38
+ citty: 0.1.6
+ cssnano: 6.1.2_postcss@8.4.38
+ defu: 6.1.4
+ esbuild: 0.19.12
+ fs-extra: 11.2.0
+ globby: 13.2.2
+ jiti: 1.21.0
+ mlly: 1.6.1
+ mri: 1.2.0
+ pathe: 1.1.2
+ postcss: 8.4.38
+ postcss-nested: 6.0.1_postcss@8.4.38
+ dev: false
+
+ /mlly/1.6.1:
+ resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.5.3
+ dev: false
+
+ /mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /ms/2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: false
+
+ /nanoid/3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
+ /node-releases/2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: false
+
+ /normalize-range/0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /nth-check/2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: false
+
+ /once/1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: false
+
+ /path-parse/1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: false
+
+ /path-type/4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /pathe/1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ dev: false
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: false
+
+ /picomatch/2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: false
+
+ /pkg-types/1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ dependencies:
+ jsonc-parser: 3.2.1
+ mlly: 1.6.1
+ pathe: 1.1.2
+ dev: false
+
+ /postcss-calc/9.0.1_postcss@8.4.38:
+ resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-colormin/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-convert-values/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-discard-comments/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-discard-duplicates/6.0.3_postcss@8.4.38:
+ resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-discard-empty/6.0.3_postcss@8.4.38:
+ resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-discard-overridden/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-merge-longhand/6.0.5_postcss@8.4.38:
+ resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ stylehacks: 6.1.1_postcss@8.4.38
+ dev: false
+
+ /postcss-merge-rules/6.1.1_postcss@8.4.38:
+ resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ cssnano-utils: 4.0.2_postcss@8.4.38
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: false
+
+ /postcss-minify-font-values/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-gradients/6.0.3_postcss@8.4.38:
+ resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 4.0.2_postcss@8.4.38
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-params/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ cssnano-utils: 4.0.2_postcss@8.4.38
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-minify-selectors/6.0.4_postcss@8.4.38:
+ resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: false
+
+ /postcss-nested/6.0.1_postcss@8.4.38:
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: false
+
+ /postcss-normalize-charset/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-normalize-display-values/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-positions/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-repeat-style/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-string/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-timing-functions/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-unicode/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-url/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-normalize-whitespace/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-ordered-values/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ cssnano-utils: 4.0.2_postcss@8.4.38
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-reduce-initial/6.1.0_postcss@8.4.38:
+ resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ postcss: 8.4.38
+ dev: false
+
+ /postcss-reduce-transforms/6.0.2_postcss@8.4.38:
+ resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ dev: false
+
+ /postcss-selector-parser/6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: false
+
+ /postcss-svgo/6.0.3_postcss@8.4.38:
+ resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
+ engines: {node: ^14 || ^16 || >= 18}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ svgo: 3.2.0
+ dev: false
+
+ /postcss-unique-selectors/6.0.4_postcss@8.4.38:
+ resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: false
+
+ /postcss-value-parser/4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: false
+
+ /postcss/8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+ dev: false
+
+ /pretty-bytes/6.1.1:
+ resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ dev: false
+
+ /queue-microtask/1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: false
+
+ /resolve/1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: false
+
+ /reusify/1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: false
+
+ /rollup-plugin-dts/6.1.0_rollup@3.29.4:
+ resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ rollup: ^3.29.4 || ^4
+ typescript: ^4.5 || ^5.0
+ dependencies:
+ magic-string: 0.30.9
+ rollup: 3.29.4
+ optionalDependencies:
+ '@babel/code-frame': 7.24.2
+ dev: false
+
+ /rollup/3.29.4:
+ resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: false
+
+ /run-parallel/1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: false
+
+ /scule/1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+ dev: false
+
+ /semver/6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+ dev: false
+
+ /slash/4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /source-map-js/1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /stylehacks/6.1.1_postcss@8.4.38:
+ resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
+ engines: {node: ^14 || ^16 || >=18.0}
+ peerDependencies:
+ postcss: ^8.4.31
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ dev: false
+
+ /supports-color/5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+ dev: false
+
+ /supports-preserve-symlinks-flag/1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: false
+
+ /svgo/3.2.0:
+ resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 5.1.0
+ css-tree: 2.3.1
+ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.0.0
+ dev: false
+
+ /to-fast-properties/2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /to-regex-range/5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: false
+
+ /ufo/1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+ dev: false
+
+ /unbuild/2.0.0:
+ resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.1.6
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@rollup/plugin-alias': 5.1.0_rollup@3.29.4
+ '@rollup/plugin-commonjs': 25.0.7_rollup@3.29.4
+ '@rollup/plugin-json': 6.1.0_rollup@3.29.4
+ '@rollup/plugin-node-resolve': 15.2.3_rollup@3.29.4
+ '@rollup/plugin-replace': 5.0.5_rollup@3.29.4
+ '@rollup/pluginutils': 5.1.0_rollup@3.29.4
+ chalk: 5.3.0
+ citty: 0.1.6
+ consola: 3.2.3
+ defu: 6.1.4
+ esbuild: 0.19.12
+ globby: 13.2.2
+ hookable: 5.5.3
+ jiti: 1.21.0
+ magic-string: 0.30.9
+ mkdist: 1.4.0
+ mlly: 1.6.1
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ pretty-bytes: 6.1.1
+ rollup: 3.29.4
+ rollup-plugin-dts: 6.1.0_rollup@3.29.4
+ scule: 1.3.0
+ untyped: 1.4.2
+ transitivePeerDependencies:
+ - sass
+ - supports-color
+ dev: false
+
+ /universalify/2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: false
+
+ /untyped/1.4.2:
+ resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/standalone': 7.24.4
+ '@babel/types': 7.24.0
+ defu: 6.1.4
+ jiti: 1.21.0
+ mri: 1.2.0
+ scule: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /update-browserslist-db/1.0.13_browserslist@4.23.0:
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.23.0
+ escalade: 3.1.2
+ picocolors: 1.0.0
+ dev: false
+
+ /util-deprecate/1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ dev: false
+
+ /wrappy/1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: false
+
+ /yallist/3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: false
diff --git a/temps/sync-version.json b/temps/sync-version.json
new file mode 100644
index 0000000000000000000000000000000000000000..42dcd6eae86ca07280bcecdc968088a99b1eeca2
--- /dev/null
+++ b/temps/sync-version.json
@@ -0,0 +1,80 @@
+{
+ "uv-action-sheet": "1.0.2",
+ "uv-album": "1.0.4",
+ "uv-alert": "1.0.2",
+ "uv-avatar": "1.0.5",
+ "uv-back-top": "1.0.2",
+ "uv-badge": "1.0.2",
+ "uv-button": "1.0.15",
+ "uv-calendar": "1.0.6",
+ "uv-calendars": "1.0.15",
+ "uv-cell": "1.0.5",
+ "uv-checkbox": "1.0.14",
+ "uv-code": "1.0.3",
+ "uv-code-input": "1.0.5",
+ "uv-collapse": "1.0.1",
+ "uv-count-down": "1.0.3",
+ "uv-count-to": "1.0.4",
+ "uv-datetime-picker": "1.0.13",
+ "uv-demo": "1.0.0",
+ "uv-divider": "1.0.4",
+ "uv-drop-down": "1.0.5",
+ "uv-empty": "1.0.5",
+ "uv-form": "1.0.9",
+ "uv-gap": "1.0.1",
+ "uv-grid": "1.0.9",
+ "uv-icon": "1.0.13",
+ "uv-image": "1.0.16",
+ "uv-index-list": "1.0.7",
+ "uv-input": "1.0.13",
+ "uv-keyboard": "1.0.5",
+ "uv-line": "1.0.1",
+ "uv-line-progress": "1.0.2",
+ "uv-link": "1.0.2",
+ "uv-list": "1.0.9",
+ "uv-load-more": "1.0.2",
+ "uv-loading-icon": "1.0.3",
+ "uv-loading-page": "1.0.4",
+ "uv-modal": "1.0.11",
+ "uv-navbar": "1.0.7",
+ "uv-no-network": "1.0.1",
+ "uv-notice-bar": "1.0.7",
+ "uv-notify": "1.0.3",
+ "uv-number-box": "1.0.2",
+ "uv-overlay": "1.0.3",
+ "uv-parse": "1.0.4",
+ "uv-pick-color": "1.0.8",
+ "uv-picker": "1.0.14",
+ "uv-popup": "1.0.7",
+ "uv-qrcode": "1.0.5",
+ "uv-radio": "1.0.13",
+ "uv-rate": "1.0.7",
+ "uv-read-more": "1.0.2",
+ "uv-row": "1.0.1",
+ "uv-safe-bottom": "1.0.4",
+ "uv-scroll-list": "1.0.5",
+ "uv-search": "1.0.11",
+ "uv-skeleton": "1.0.2",
+ "uv-skeletons": "1.0.1",
+ "uv-slider": "1.0.3",
+ "uv-status-bar": "1.0.2",
+ "uv-steps": "1.0.3",
+ "uv-sticky": "1.0.4",
+ "uv-subsection": "1.0.3",
+ "uv-swipe-action": "1.0.4",
+ "uv-swiper": "1.0.6",
+ "uv-switch": "1.0.5",
+ "uv-tabbar": "1.0.5",
+ "uv-tabs": "1.0.9",
+ "uv-tags": "1.0.3",
+ "uv-text": "1.0.4",
+ "uv-textarea": "1.0.11",
+ "uv-toast": "1.0.3",
+ "uv-toolbar": "1.0.0",
+ "uv-tooltip": "1.0.5",
+ "uv-transition": "1.0.8",
+ "uv-ui-tools": "1.1.25",
+ "uv-upload": "1.0.6",
+ "uv-vtabs": "1.0.8",
+ "uv-waterfall": "1.0.8"
+}
\ No newline at end of file
diff --git a/uni_modules/uv-button/components/uv-button/uv-button.vue b/uni_modules/uv-button/components/uv-button/uv-button.vue
index 3a2470a391607cbcd32059f06000219a7b75eb33..48a5049d2573248aa1e6b77539969c668bd8b3c0 100644
--- a/uni_modules/uv-button/components/uv-button/uv-button.vue
+++ b/uni_modules/uv-button/components/uv-button/uv-button.vue
@@ -153,11 +153,11 @@