diff --git a/package.json b/package.json
index 5debebe..0e118eb 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"@fortawesome/react-fontawesome": "^0.2.2",
"@pansy/react-charts": "^1.0.0",
"@quiet-front-end/json-schema-editor-antd": "^0.3.0",
+ "@shadcn/ui": "^0.0.4",
"@testing-library/jest-dom": "^5.16.2",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^13.5.0",
@@ -29,13 +30,14 @@
"boostrap": "^2.0.0",
"codemirror": "^6.0.1",
"codemirror-promql": "0.17.0",
+ "components": "^0.1.0",
"downshift": "^9.0.6",
"echarts": "^5.4.3",
"echarts-for-react": "^3.0.2",
"framer-motion": "^11.13.5",
"jsoneditor": "^10.0.0",
"jsoneditor-react": "^3.1.2",
- "lucide-react": "^0.468.0",
+ "lucide-react": "^0.469.0",
"moment": "^2.30.1",
"next": "^15.1.0",
"prom-client": "^15.1.0",
@@ -82,4 +84,4 @@
"postcss": "^8.4.49",
"tailwindcss": "^3.4.16"
}
-}
\ No newline at end of file
+}
diff --git a/src/components/index.jsx b/src/components/index.jsx
index 07855c7..240a2f8 100644
--- a/src/components/index.jsx
+++ b/src/components/index.jsx
@@ -15,13 +15,12 @@ import {
} from '@ant-design/icons';
import { DownOutlined, LeftOutlined } from '@ant-design/icons';
import logoIcon from '../img/logo.jpeg'
-import githubIcon from '../img/github_logo.png'
import { getUserInfo } from '../api/user'
import Auth from '../utils/Auth'
import { getTenantList } from '../api/tenant'
import './index.css';
import { ComponentSider } from './sider'
-import { useNavigate } from 'react-router-dom'
+import {Link, useNavigate} from 'react-router-dom'
export const ComponentsContent = (props) => {
const { name, c } = props
@@ -45,6 +44,10 @@ export const ComponentsContent = (props) => {
const content = (
<>
+
+
@@ -97,6 +100,8 @@ export const ComponentsContent = (props) => {
}
setTenantStatus(true);
} catch (error) {
+ localStorage.clear()
+ message.error("获取租户错误, 退出登录")
console.error(error)
}
}
diff --git a/src/pages/alert/rule/AlertRuleCreateModal.jsx b/src/pages/alert/rule/AlertRuleCreateModal.jsx
index cd74d5a..98f08dd 100644
--- a/src/pages/alert/rule/AlertRuleCreateModal.jsx
+++ b/src/pages/alert/rule/AlertRuleCreateModal.jsx
@@ -1511,7 +1511,13 @@ export const AlertRuleCreateModal = ({ visible, onClose, selectedRow, type, hand
-
diff --git a/src/pages/alert/rule/create.jsx b/src/pages/alert/rule/create.jsx
index 146ff1a..0aff723 100644
--- a/src/pages/alert/rule/create.jsx
+++ b/src/pages/alert/rule/create.jsx
@@ -1873,7 +1873,13 @@ export const AlertRule = ({ type }) => {
-
+
提交
diff --git a/src/pages/alert/rule/index.jsx b/src/pages/alert/rule/index.jsx
index c3213dd..b37fd66 100644
--- a/src/pages/alert/rule/index.jsx
+++ b/src/pages/alert/rule/index.jsx
@@ -288,7 +288,12 @@ export const AlertRuleList = () => {
- 创 建
+ 创 建
diff --git a/src/pages/alert/ruleGroup/AlertRuleGroupCreateModal.jsx b/src/pages/alert/ruleGroup/AlertRuleGroupCreateModal.jsx
index e6609d1..e01998e 100644
--- a/src/pages/alert/ruleGroup/AlertRuleGroupCreateModal.jsx
+++ b/src/pages/alert/ruleGroup/AlertRuleGroupCreateModal.jsx
@@ -101,7 +101,13 @@ export const AlertRuleGroupCreateModal = ({ visible, onClose, selectedRow, type,
-
+
提交
diff --git a/src/pages/alert/ruleGroup/index.jsx b/src/pages/alert/ruleGroup/index.jsx
index 06db740..08011f0 100644
--- a/src/pages/alert/ruleGroup/index.jsx
+++ b/src/pages/alert/ruleGroup/index.jsx
@@ -192,7 +192,14 @@ export const AlertRuleGroup = ({ }) => {
/>
- setCreateModalVisible(true)} style={{marginLeft: 'auto'}}>
+ setCreateModalVisible(true)}
+ style={{
+ marginLeft: 'auto',
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/alert/tmpl/RuleTemplateCreateModal.jsx b/src/pages/alert/tmpl/RuleTemplateCreateModal.jsx
index 769019c..094c2bb 100644
--- a/src/pages/alert/tmpl/RuleTemplateCreateModal.jsx
+++ b/src/pages/alert/tmpl/RuleTemplateCreateModal.jsx
@@ -840,7 +840,13 @@ const RuleTemplateCreateModal = ({ visible, onClose, selectedRow, type, handleLi
{type !== 'view' &&
-
+
提交
diff --git a/src/pages/alert/tmpl/index.jsx b/src/pages/alert/tmpl/index.jsx
index 05e2207..77239e4 100644
--- a/src/pages/alert/tmpl/index.jsx
+++ b/src/pages/alert/tmpl/index.jsx
@@ -198,7 +198,13 @@ export const RuleTemplate = () => {
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
@@ -227,7 +233,12 @@ export const RuleTemplate = () => {
取消
-
+
提交
diff --git a/src/pages/alert/tmplGroup/RuleTemplateGroupCreateModal.jsx b/src/pages/alert/tmplGroup/RuleTemplateGroupCreateModal.jsx
index defba46..a8fb6bf 100644
--- a/src/pages/alert/tmplGroup/RuleTemplateGroupCreateModal.jsx
+++ b/src/pages/alert/tmplGroup/RuleTemplateGroupCreateModal.jsx
@@ -103,7 +103,13 @@ const RuleTemplateGroupCreateModal = ({ visible, onClose, selectedRow, openType,
-
+
提交
diff --git a/src/pages/alert/tmplGroup/index.jsx b/src/pages/alert/tmplGroup/index.jsx
index 2d41aea..e5c6531 100644
--- a/src/pages/alert/tmplGroup/index.jsx
+++ b/src/pages/alert/tmplGroup/index.jsx
@@ -229,7 +229,13 @@ export const RuleTemplateGroup = () => {
/>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
@@ -251,11 +257,11 @@ export const RuleTemplateGroup = () => {
handleList={handleList}/>
-
diff --git a/src/pages/dashboards/folder/create.jsx b/src/pages/dashboards/folder/create.jsx
index 2ea9500..d1b8b3c 100644
--- a/src/pages/dashboards/folder/create.jsx
+++ b/src/pages/dashboards/folder/create.jsx
@@ -120,7 +120,13 @@ const CreateFolderModal = ({ visible, onClose, selectedRow, type, handleList })
-
+
创建
diff --git a/src/pages/dashboards/folder/index.jsx b/src/pages/dashboards/folder/index.jsx
index 8cc167d..cc6dc19 100644
--- a/src/pages/dashboards/folder/index.jsx
+++ b/src/pages/dashboards/folder/index.jsx
@@ -140,7 +140,13 @@ export const DashboardFolder = () => {
/>
- { setCreateModalVisible(true) }} >
+ { setCreateModalVisible(true) }}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/datasources/DatasourceCreateModal.jsx b/src/pages/datasources/DatasourceCreateModal.jsx
index 4480a4c..3d0595d 100644
--- a/src/pages/datasources/DatasourceCreateModal.jsx
+++ b/src/pages/datasources/DatasourceCreateModal.jsx
@@ -439,7 +439,15 @@ export const CreateDatasourceModal = ({ visible, onClose, selectedRow, type, han
连接测试
-
+
提交
diff --git a/src/pages/datasources/index.jsx b/src/pages/datasources/index.jsx
index fa324f7..5318dfe 100644
--- a/src/pages/datasources/index.jsx
+++ b/src/pages/datasources/index.jsx
@@ -187,7 +187,13 @@ export const Datasources = () => {
/>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/duty/DutyManageCreateModal.jsx b/src/pages/duty/DutyManageCreateModal.jsx
index a371467..26d63c3 100644
--- a/src/pages/duty/DutyManageCreateModal.jsx
+++ b/src/pages/duty/DutyManageCreateModal.jsx
@@ -160,7 +160,13 @@ export const CreateDutyModal = ({ visible, onClose, handleList, selectedRow, typ
-
+
提交
diff --git a/src/pages/duty/calendar/CreateCalendar.jsx b/src/pages/duty/calendar/CreateCalendar.jsx
index 76b02ed..03a047e 100644
--- a/src/pages/duty/calendar/CreateCalendar.jsx
+++ b/src/pages/duty/calendar/CreateCalendar.jsx
@@ -262,7 +262,13 @@ export const CreateCalendarModal = ({ visible, onClose, dutyId }) => {
-
+
提交
diff --git a/src/pages/duty/calendar/UpdateCalendar.jsx b/src/pages/duty/calendar/UpdateCalendar.jsx
index 51d8e73..2d7de8a 100644
--- a/src/pages/duty/calendar/UpdateCalendar.jsx
+++ b/src/pages/duty/calendar/UpdateCalendar.jsx
@@ -89,7 +89,14 @@ export const UpdateCalendarModal = ({ visible, onClose, time, tenantId, dutyId,
-
+
提交
diff --git a/src/pages/duty/index.jsx b/src/pages/duty/index.jsx
index db45b02..2babc1e 100644
--- a/src/pages/duty/index.jsx
+++ b/src/pages/duty/index.jsx
@@ -176,7 +176,13 @@ export const DutyManage = () => {
return (
<>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/members/role/UserRoleCreateModal.jsx b/src/pages/members/role/UserRoleCreateModal.jsx
index 6945325..21f8adf 100644
--- a/src/pages/members/role/UserRoleCreateModal.jsx
+++ b/src/pages/members/role/UserRoleCreateModal.jsx
@@ -170,7 +170,13 @@ const UserRoleCreateModal = ({ visible, onClose, selectedRow, type, handleList }
-
+
提交
diff --git a/src/pages/members/role/index.jsx b/src/pages/members/role/index.jsx
index 188ac7e..125c3ed 100644
--- a/src/pages/members/role/index.jsx
+++ b/src/pages/members/role/index.jsx
@@ -120,7 +120,13 @@ export const UserRole = () => {
return (
<>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/members/user/UserChangePass.jsx b/src/pages/members/user/UserChangePass.jsx
index c33dad4..7446a3f 100644
--- a/src/pages/members/user/UserChangePass.jsx
+++ b/src/pages/members/user/UserChangePass.jsx
@@ -66,7 +66,13 @@ const UserChangePass = ({ visible, onClose, userid, username }) => {
-
+
提交
diff --git a/src/pages/members/user/UserCreateModal.jsx b/src/pages/members/user/UserCreateModal.jsx
index 5a9c202..8e9071f 100644
--- a/src/pages/members/user/UserCreateModal.jsx
+++ b/src/pages/members/user/UserCreateModal.jsx
@@ -180,7 +180,13 @@ const UserCreateModal = ({ visible, onClose, selectedRow, type, handleList }) =>
}
-
+
提交
diff --git a/src/pages/members/user/index.jsx b/src/pages/members/user/index.jsx
index 861c707..154b1d4 100644
--- a/src/pages/members/user/index.jsx
+++ b/src/pages/members/user/index.jsx
@@ -150,7 +150,13 @@ export const User = () => {
onSearch={onSearch}
style={{ width: 300 }}
/>
-
setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/notice/NoticeObjectCreateModal.jsx b/src/pages/notice/NoticeObjectCreateModal.jsx
index 84a99dd..e9f93ee 100644
--- a/src/pages/notice/NoticeObjectCreateModal.jsx
+++ b/src/pages/notice/NoticeObjectCreateModal.jsx
@@ -466,7 +466,13 @@ export const CreateNoticeObjectModal = ({ visible, onClose, selectedRow, type, h
)}
-
+
提交
diff --git a/src/pages/notice/index.jsx b/src/pages/notice/index.jsx
index ddac147..99f2460 100644
--- a/src/pages/notice/index.jsx
+++ b/src/pages/notice/index.jsx
@@ -175,7 +175,13 @@ export const NoticeObjects = () => {
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/notice/tmpl/NoticeTemplateCreateModal.jsx b/src/pages/notice/tmpl/NoticeTemplateCreateModal.jsx
index 76ea60e..a501cdf 100644
--- a/src/pages/notice/tmpl/NoticeTemplateCreateModal.jsx
+++ b/src/pages/notice/tmpl/NoticeTemplateCreateModal.jsx
@@ -297,7 +297,13 @@ const NoticeTemplateCreateModal = ({ visible, onClose, selectedRow, type, handle
)}
-
+
提交
diff --git a/src/pages/notice/tmpl/index.jsx b/src/pages/notice/tmpl/index.jsx
index 077fc46..d73ab5b 100644
--- a/src/pages/notice/tmpl/index.jsx
+++ b/src/pages/notice/tmpl/index.jsx
@@ -159,7 +159,13 @@ export const NoticeTemplate = () => {
/>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/probing/create.jsx b/src/pages/probing/create.jsx
index 8fd2c9b..a3185d1 100644
--- a/src/pages/probing/create.jsx
+++ b/src/pages/probing/create.jsx
@@ -583,7 +583,15 @@ export const CreateProbingRule = ({ type, handleList }) => {
-
+
提交
diff --git a/src/pages/probing/index.jsx b/src/pages/probing/index.jsx
index d7c178e..9616d53 100644
--- a/src/pages/probing/index.jsx
+++ b/src/pages/probing/index.jsx
@@ -497,7 +497,12 @@ export const Probing = () => {
handleList(probingType)
}}>刷 新
- 创 建
+ 创 建
diff --git a/src/pages/profile/index.jsx b/src/pages/profile/index.jsx
new file mode 100644
index 0000000..4369993
--- /dev/null
+++ b/src/pages/profile/index.jsx
@@ -0,0 +1,179 @@
+import { Avatar, Form, Input, Button, message } from "antd";
+import React, { useEffect, useState } from "react";
+import { getUserInfo, updateUser } from "../../api/user";
+
+export default function Profile() {
+ const [userInfo, setUserInfo] = useState(null);
+ const [isEditing, setIsEditing] = useState(false); // 控制编辑模式的状态
+ const [form] = Form.useForm();
+
+ useEffect(() => {
+ fetchUserInfo();
+ }, []);
+
+ const fetchUserInfo = async () => {
+ try {
+ const res = await getUserInfo();
+ setUserInfo(res.data);
+ form.setFieldsValue({
+ password: "****************",
+ phone: res.data.phone,
+ email: res.data.email,
+ });
+ } catch (error) {
+ console.error(error);
+ message.error("Failed to fetch user info");
+ }
+ };
+
+ useEffect(() => {
+ if (isEditing) {
+ form.setFieldsValue({ password: "" });
+ } else {
+ form.setFieldsValue({ password: "****************" });
+ }
+ }, [isEditing]);
+
+ const handleUpdate = async (values) => {
+ try {
+ const params = {
+ ...userInfo,
+ phone: values.phone,
+ email: values.email,
+ password: values.password,
+ };
+ await updateUser(params);
+ setIsEditing(false); // 更新成功后退出编辑模式
+ await fetchUserInfo(); // 重新获取用户信息
+ message.success("用户信息更新成功");
+ } catch (error) {
+ console.error(error);
+ message.error("Failed to update user info");
+ }
+ };
+
+ return (
+
+
+ {/* Left Column - Profile Info */}
+
+
+
+ {/* Avatar Section */}
+
+
+
+
+ {userInfo?.username?.charAt(0).toUpperCase() || ''}
+
+
+
+
+ {/* Profile Info */}
+
+
{userInfo?.username}
+
UID: {userInfo?.userid}
+
+ {/* Edit Profile Button */}
+
+ setIsEditing(true)}
+ style={{
+ width: '90%',
+ marginTop: '-15px',
+ backgroundColor: '#000000'
+ }}
+ >
+ 编辑信息
+
+
+
+
+
+
+ {/* Right Column - Account Info */}
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/pages/settings/index.jsx b/src/pages/settings/index.jsx
index 5065b4c..b0bff8f 100644
--- a/src/pages/settings/index.jsx
+++ b/src/pages/settings/index.jsx
@@ -115,7 +115,13 @@ export const SystemSettings = () => {
取消
- 保存
+ 保存
diff --git a/src/pages/silence/SilenceRuleCreateModal.jsx b/src/pages/silence/SilenceRuleCreateModal.jsx
index 3e444c7..5e3c443 100644
--- a/src/pages/silence/SilenceRuleCreateModal.jsx
+++ b/src/pages/silence/SilenceRuleCreateModal.jsx
@@ -185,7 +185,13 @@ export const CreateSilenceModal = ({ visible, onClose, selectedRow, type, handle
-
+
提交
diff --git a/src/pages/subscribe/create.jsx b/src/pages/subscribe/create.jsx
index c7d16fc..bfd1850 100644
--- a/src/pages/subscribe/create.jsx
+++ b/src/pages/subscribe/create.jsx
@@ -311,7 +311,13 @@ export const CreateSubscribeModel = ({ visible, onClose, selectedRow, type, hand
-
+
提交
diff --git a/src/pages/subscribe/index.jsx b/src/pages/subscribe/index.jsx
index c8a11b7..1b84c23 100644
--- a/src/pages/subscribe/index.jsx
+++ b/src/pages/subscribe/index.jsx
@@ -178,7 +178,12 @@ export const Subscribe = () => {
- 创 建
+ 创 建
diff --git a/src/pages/tenant/CreateTenant.jsx b/src/pages/tenant/CreateTenant.jsx
index a1b191a..d4a8155 100644
--- a/src/pages/tenant/CreateTenant.jsx
+++ b/src/pages/tenant/CreateTenant.jsx
@@ -131,7 +131,13 @@ export const CreateTenant = ({ visible, onClose, selectedRow, type, handleList }
-
+
提交
diff --git a/src/pages/tenant/index.jsx b/src/pages/tenant/index.jsx
index bf824f5..cb827ac 100644
--- a/src/pages/tenant/index.jsx
+++ b/src/pages/tenant/index.jsx
@@ -141,7 +141,13 @@ export const Tenants = () => {
return (
<>
- setVisible(true)}>
+ setVisible(true)}
+ style={{
+ backgroundColor: '#000000'
+ }}
+ >
创建
diff --git a/src/pages/tenant/quota.jsx b/src/pages/tenant/quota.jsx
index 613a72e..48ae375 100644
--- a/src/pages/tenant/quota.jsx
+++ b/src/pages/tenant/quota.jsx
@@ -114,7 +114,13 @@ export const TenantQuota = ({tenantInfo})=>{
取消
-
+
保存
diff --git a/src/pages/tenant/users.jsx b/src/pages/tenant/users.jsx
index cea3c76..612b6fd 100644
--- a/src/pages/tenant/users.jsx
+++ b/src/pages/tenant/users.jsx
@@ -259,7 +259,13 @@ export const TenantUsers = ({ tenantInfo }) => {
-
+
提交
diff --git a/src/routes/index.jsx b/src/routes/index.jsx
index e1eef32..6711bd5 100644
--- a/src/routes/index.jsx
+++ b/src/routes/index.jsx
@@ -31,6 +31,7 @@ import {AlertEvent} from "../pages/event";
import {Probing} from "../pages/probing";
import {CreateProbingRule} from "../pages/probing/create";
import {OnceProbing} from "../pages/probing/once";
+import Profile from "../pages/profile";
// eslint-disable-next-line import/no-anonymous-default-export
export default [
@@ -166,6 +167,10 @@ export default [
path: '/subscribe/create',
element: } />
},
+ {
+ path: '/profile',
+ element: } />
+ },
{
path: '/*',
element:
diff --git a/src/utils/Auth.jsx b/src/utils/Auth.jsx
index 9a9ff02..bfefc36 100644
--- a/src/utils/Auth.jsx
+++ b/src/utils/Auth.jsx
@@ -1,53 +1,59 @@
-/* eslint-disable react-hooks/exhaustive-deps */
-import { useNavigate } from 'react-router-dom'
-import { useEffect, useState } from 'react'
-import { message } from 'antd'
+import { useEffect, useState } from 'react';
+import { useNavigate } from 'react-router-dom';
+import { message } from 'antd';
import axios from 'axios';
const Auth = () => {
- const navigate = useNavigate()
- const [errorCount, setErrorCount] = useState(0)
-
- const checkUser = async () => {
- const token = localStorage.getItem('Authorization')
- if (!token) {
- navigate('/login') // 未登录,跳转到登录页面
- }
- }
+ const navigate = useNavigate();
+ const [errorCount, setErrorCount] = useState(0);
// 检查用户是否已经登录
useEffect(() => {
- checkUser()
- }, [checkUser])
+ const checkUser = async () => {
+ const token = localStorage.getItem('Authorization');
+ if (!token) {
+ navigate('/login'); // 未登录,跳转到登录页面
+ }
+ };
+
+ checkUser();
+ }, [navigate]);
// 设置全局请求头
- const token = localStorage.getItem('Authorization')
- axios.defaults.headers.common['Authorization'] = `Bearer ${token}`
+ useEffect(() => {
+ const token = localStorage.getItem('Authorization');
+ if (token) {
+ axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
+ }
+ }, []);
// 响应拦截器
- axios.interceptors.response.use(
- response => {
- return response
- },
- error => {
- if (error.response.status === 401) {
- setErrorCount(prevCount => prevCount + 1)
+ useEffect(() => {
+ const interceptor = axios.interceptors.response.use(
+ response => response,
+ error => {
+ if (error.response?.status === 401) {
+ setErrorCount(prevCount => prevCount + 1);
+ }
+ return Promise.reject(error);
}
- return Promise.reject(error)
- }
- )
+ );
+
+ return () => {
+ axios.interceptors.response.eject(interceptor); // 清理拦截器
+ };
+ }, []);
// 检查错误次数并显示提示消息
useEffect(() => {
if (errorCount > 0) {
- // 清除LocalStorage中的Authorization值
- localStorage.removeItem('Authorization')
- navigate('/login') // 跳转到登录页面
- message.error('登录已过期,请重新登录')
+ localStorage.clear()
+ navigate('/login'); // 跳转到登录页面
+ message.error('登录已过期,请重新登录');
}
- }, [errorCount, navigate])
+ }, [errorCount, navigate]);
- return null
-}
+ return null;
+};
-export default Auth
\ No newline at end of file
+export default Auth;
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 4ea7908..5e56a68 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2453,6 +2453,20 @@
resolved "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323"
integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==
+"@shadcn/ui@^0.0.4":
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/@shadcn/ui/-/ui-0.0.4.tgz#a0835202fa79073245bc2cb5f837bc514d96b4cb"
+ integrity sha512-0dtu/5ApsOZ24qgaZwtif8jVwqol7a4m1x5AxPuM1k5wxhqU7t/qEfBGtaSki1R8VlbTQfCj5PAlO45NKCa7Gg==
+ dependencies:
+ chalk "5.2.0"
+ commander "^10.0.0"
+ execa "^7.0.0"
+ fs-extra "^11.1.0"
+ node-fetch "^3.3.0"
+ ora "^6.1.2"
+ prompts "^2.4.2"
+ zod "^3.20.2"
+
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -3895,6 +3909,11 @@ base16@^1.0.0:
resolved "https://registry.npmmirror.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
basic-auth@~2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
@@ -3932,6 +3951,15 @@ bintrees@1.0.2:
resolved "https://registry.npmmirror.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8"
integrity sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==
+bl@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273"
+ integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==
+ dependencies:
+ buffer "^6.0.3"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -4061,6 +4089,14 @@ buffer-indexof@^1.0.0:
resolved "https://registry.npmmirror.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
+buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
builtin-modules@^3.1.0:
version "3.2.0"
resolved "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887"
@@ -4181,6 +4217,11 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
+chalk@5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
+ integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+
chalk@^1.1.1:
version "1.1.3"
resolved "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -4217,6 +4258,11 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^5.0.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8"
+ integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
@@ -4314,6 +4360,18 @@ cli-boxes@^2.2.1:
resolved "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+cli-cursor@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea"
+ integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==
+ dependencies:
+ restore-cursor "^4.0.0"
+
+cli-spinners@^2.6.1:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41"
+ integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
+
client-only@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
@@ -4344,6 +4402,11 @@ clone-response@^1.0.2:
dependencies:
mimic-response "^1.0.0"
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
clsx@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb"
@@ -4454,6 +4517,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
+commander@^10.0.0:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+ integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@@ -4489,6 +4557,11 @@ commondir@^1.0.1:
resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+components@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/components/-/components-0.1.0.tgz#2057c08e9c7bf2662feec95c49e5ff2a9ab85ed5"
+ integrity sha512-4xKUO3dL9LBs8WiOKy2kvLfnwKZLps9xDT5cFS0GL4UiXrr/dNUYus7Uf1bRPG66cUpEmwFAWVOlE9cxQgG+QA==
+
compressible@~2.0.16:
version "2.0.18"
resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
@@ -4962,6 +5035,11 @@ damerau-levenshtein@^1.0.7:
resolved "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
+data-uri-to-buffer@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
+ integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==
+
data-urls@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
@@ -5077,6 +5155,13 @@ default-gateway@^6.0.3:
dependencies:
execa "^5.0.0"
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
defer-to-connect@^1.0.1:
version "1.1.3"
resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
@@ -5927,6 +6012,21 @@ execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
+execa@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9"
+ integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.1"
+ human-signals "^4.3.0"
+ is-stream "^3.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^5.1.0"
+ onetime "^6.0.0"
+ signal-exit "^3.0.7"
+ strip-final-newline "^3.0.0"
+
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -6074,6 +6174,14 @@ fecha@~4.2.0:
resolved "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
+fetch-blob@^3.1.2, fetch-blob@^3.1.4:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
+ integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
+ dependencies:
+ node-domexception "^1.0.0"
+ web-streams-polyfill "^3.0.3"
+
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -6247,6 +6355,13 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+formdata-polyfill@^4.0.10:
+ version "4.0.10"
+ resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
+ integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
+ dependencies:
+ fetch-blob "^3.1.2"
+
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
@@ -6285,6 +6400,15 @@ fs-extra@^10.0.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
+fs-extra@^11.1.0:
+ version "11.2.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
+ integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-extra@^9.0.0, fs-extra@^9.0.1:
version "9.1.0"
resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
@@ -6394,7 +6518,7 @@ get-stream@^5.1.0:
dependencies:
pump "^3.0.0"
-get-stream@^6.0.0:
+get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
@@ -6831,6 +6955,11 @@ human-signals@^2.1.0:
resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+human-signals@^4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2"
+ integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==
+
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -6862,6 +6991,11 @@ identity-obj-proxy@^3.0.0:
dependencies:
harmony-reflect "^1.4.6"
+ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@@ -7105,6 +7239,11 @@ is-installed-globally@^0.4.0:
global-dirs "^3.0.0"
is-path-inside "^3.0.2"
+is-interactive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90"
+ integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==
+
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
@@ -7207,6 +7346,11 @@ is-stream@^2.0.0:
resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+is-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
+ integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
+
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -7233,6 +7377,11 @@ is-typedarray@^1.0.0:
resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+is-unicode-supported@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714"
+ integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==
+
is-weakref@^1.0.1, is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -8207,6 +8356,14 @@ lodash@4, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lo
resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+log-symbols@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93"
+ integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==
+ dependencies:
+ chalk "^5.0.0"
+ is-unicode-supported "^1.1.0"
+
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -8259,10 +8416,10 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-lucide-react@^0.468.0:
- version "0.468.0"
- resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.468.0.tgz#830c1bfd905575ddd23b832baa420c87db166910"
- integrity sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==
+lucide-react@^0.469.0:
+ version "0.469.0"
+ resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.469.0.tgz#f16936ca6521482fef754a7eabb310e6c68e1482"
+ integrity sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==
lz-string@^1.4.4:
version "1.4.4"
@@ -8390,6 +8547,11 @@ mimic-fn@^2.1.0:
resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+mimic-fn@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
+ integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
+
mimic-response@^1.0.0, mimic-response@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
@@ -8639,6 +8801,11 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
+node-domexception@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
+ integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
+
node-fetch@^2.6.12:
version "2.7.0"
resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
@@ -8646,6 +8813,15 @@ node-fetch@^2.6.12:
dependencies:
whatwg-url "^5.0.0"
+node-fetch@^3.3.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
+ integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==
+ dependencies:
+ data-uri-to-buffer "^4.0.0"
+ fetch-blob "^3.1.4"
+ formdata-polyfill "^4.0.10"
+
node-forge@^1.2.0:
version "1.2.1"
resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c"
@@ -8693,6 +8869,13 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+npm-run-path@^5.1.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f"
+ integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
+ dependencies:
+ path-key "^4.0.0"
+
nth-check@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
@@ -8851,13 +9034,20 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^5.1.2:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
dependencies:
mimic-fn "^2.1.0"
+onetime@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
+ integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
+ dependencies:
+ mimic-fn "^4.0.0"
+
open@^8.0.9, open@^8.4.0:
version "8.4.0"
resolved "https://registry.npmmirror.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
@@ -8891,6 +9081,21 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.3"
+ora@^6.1.2:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.1.tgz#a4e9e5c2cf5ee73c259e8b410273e706a2ad3ed6"
+ integrity sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==
+ dependencies:
+ chalk "^5.0.0"
+ cli-cursor "^4.0.0"
+ cli-spinners "^2.6.1"
+ is-interactive "^2.0.0"
+ is-unicode-supported "^1.1.0"
+ log-symbols "^5.1.0"
+ stdin-discarder "^0.1.0"
+ strip-ansi "^7.0.1"
+ wcwidth "^1.0.1"
+
p-cancelable@^1.0.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
@@ -9048,6 +9253,11 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+path-key@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
+ integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
+
path-parse@^1.0.6, path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -10716,6 +10926,15 @@ readable-stream@^3.0.6:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
+readable-stream@^3.4.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
@@ -10947,6 +11166,14 @@ responselike@^1.0.2:
dependencies:
lowercase-keys "^1.0.0"
+restore-cursor@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9"
+ integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
retry@^0.13.1:
version "0.13.1"
resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
@@ -11323,7 +11550,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.2, signal-exit@^3.0.3:
+signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -11505,6 +11732,13 @@ state-local@^1.0.6:
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+stdin-discarder@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21"
+ integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==
+ dependencies:
+ bl "^5.0.0"
+
steno@^0.4.1:
version "0.4.4"
resolved "https://registry.npmmirror.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb"
@@ -11698,6 +11932,11 @@ strip-final-newline@^2.0.0:
resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+strip-final-newline@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
+ integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
+
strip-indent@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
@@ -12513,6 +12752,18 @@ wbuf@^1.1.0, wbuf@^1.7.3:
dependencies:
minimalistic-assert "^1.0.0"
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+web-streams-polyfill@^3.0.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"
+ integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==
+
web-vitals@^2.1.4:
version "2.1.4"
resolved "https://registry.npmmirror.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c"
@@ -13071,6 +13322,11 @@ yocto-queue@^0.1.0:
resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+zod@^3.20.2:
+ version "3.24.1"
+ resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee"
+ integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==
+
zrender@5.4.4:
version "5.4.4"
resolved "https://registry.npmmirror.com/zrender/-/zrender-5.4.4.tgz#8854f1d95ecc82cf8912f5a11f86657cb8c9e261"