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 @@ +

+     logo +

+

uv-ui

+

兼容vue3+2多平台快速开发的UI框架

+ +[![star](https://gitee.com/climblee/uv-ui/badge/star.svg?theme=gvp)](https://gitee.com/climblee/uv-ui) +[![star](https://gitee.com/climblee/uv-ui/badge/fork.svg?theme=gvp)](https://gitee.com/climblee/uv-ui) +[![star](https://img.shields.io/github/stars/climblee/uv-ui?style=flat-square&logo=GitHub)](https://github.com/climblee/uv-ui) +[![issues](https://img.shields.io/github/issues/climblee/uv-ui?style=flat-square&logo=GitHub)](https://github.com/climblee/uv-ui/issues) +[![Website](https://img.shields.io/badge/uvui-up-blue?style=flat-square)](https://www.uvui.cn) +[![version](https://img.shields.io/badge/version-1.1.16-brightgreen.svg)](https://www.uvui.cn/components/changelog.html) +[![license](https://img.shields.io/github/license/climblee/uv-ui?style=flat-square)](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 @@