refactor: 使用useForm重构登录(未完成)

This commit is contained in:
dap 2024-09-11 13:54:27 +08:00
parent b334241cef
commit 81722fef69
7 changed files with 259 additions and 365 deletions

View File

@ -1,70 +1,83 @@
<script lang="ts" setup>
import type { VbenFormSchema } from '@vben/common-ui';
import type { BasicOption } from '@vben/types';
import { computed } from 'vue';
import { computed, onMounted, ref } from 'vue';
import { AuthenticationLogin, z } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { omit } from 'lodash-es';
import { tenantList, type TenantResp } from '#/api';
import { captchaImage, type CaptchaResponse } from '#/api/core/captcha';
import { useAuthStore } from '#/store';
defineOptions({ name: 'Login' });
const authStore = useAuthStore();
const MOCK_USER_OPTIONS: BasicOption[] = [
{
label: '超级管理员',
value: 'vben',
},
{
label: '管理员',
value: 'admin',
},
{
label: '用户',
value: 'jack',
},
];
const captchaInfo = ref<CaptchaResponse>({
captchaEnabled: false,
img: '',
uuid: '',
});
async function loadCaptcha() {
const resp = await captchaImage();
if (resp.captchaEnabled) {
resp.img = `data:image/png;base64,${resp.img}`;
}
captchaInfo.value = resp;
}
const tenantInfo = ref<TenantResp>({
tenantEnabled: false,
voList: [],
});
async function loadTenant() {
const resp = await tenantList();
tenantInfo.value = resp;
}
onMounted(async () => {
await loadCaptcha();
await loadTenant();
});
const formSchema = computed((): VbenFormSchema[] => {
return [
{
component: 'VbenSelect',
componentProps: {
options: MOCK_USER_OPTIONS,
class: 'tenant-picker',
options: tenantInfo.value.voList.map((item) => ({
label: item.companyName,
value: item.tenantId,
})),
placeholder: $t('authentication.selectAccount'),
valueprop: 'tenantId',
},
fieldName: 'selectAccount',
dependencies: {
trigger(values, _form) {
console.log(values);
},
triggerFields: [''],
},
fieldName: 'tenantId',
label: $t('authentication.selectAccount'),
rules: z
.string()
.min(1, { message: $t('authentication.selectAccount') })
.optional()
.default('vben'),
.default('000000'),
},
{
component: 'VbenInput',
componentProps: {
class: 'login-input',
placeholder: $t('authentication.usernameTip'),
},
dependencies: {
trigger(values, form) {
if (values.selectAccount) {
const findUser = MOCK_USER_OPTIONS.find(
(item) => item.value === values.selectAccount,
);
if (findUser) {
form.setValues({
password: '123456',
username: findUser.value,
});
}
}
},
triggerFields: ['selectAccount'],
},
fieldName: 'username',
label: $t('authentication.username'),
rules: z.string().min(1, { message: $t('authentication.usernameTip') }),
@ -72,20 +85,85 @@ const formSchema = computed((): VbenFormSchema[] => {
{
component: 'VbenInputPassword',
componentProps: {
class: 'login-input',
placeholder: $t('authentication.password'),
},
fieldName: 'password',
label: $t('authentication.password'),
rules: z.string().min(1, { message: $t('authentication.passwordTip') }),
rules: z.string().min(6, { message: $t('authentication.passwordTip') }),
},
{
component: 'VbenInputCaptcha',
componentProps: {
captcha: captchaInfo.value.img,
class: 'login-input',
onCaptchaClick: loadCaptcha,
placeholder: $t('authentication.code'),
},
dependencies: {
if: () => captchaInfo.value.captchaEnabled,
triggerFields: [''],
},
fieldName: 'code',
label: $t('authentication.code'),
rules: z.string().min(1, { message: $t('authentication.codeTip') }),
},
];
});
interface LoginForm {
code?: string;
grantType: string;
password: string;
tenantId: string;
username: string;
}
async function handleAccountLogin(values: LoginForm) {
try {
const requestParam: any = omit(values, ['code']);
//
if (captchaInfo.value.captchaEnabled) {
requestParam.code = values.code;
requestParam.uuid = captchaInfo.value.uuid;
}
//
await authStore.authLogin(requestParam);
} catch (error) {
console.error(error);
//
if (error instanceof Error) {
//
// todo
}
}
}
</script>
<template>
<AuthenticationLogin
:form-schema="formSchema"
:loading="authStore.loginLoading"
@submit="authStore.authLogin"
@submit="handleAccountLogin"
/>
</template>
<style lang="scss">
/**
tenant-picker 跟下面的输入框样式保持一致
*/
.tenant-picker {
height: 40px;
background-color: hsl(var(--input-background));
&:focus {
@apply border-primary;
}
}
.login-input {
&:focus {
@apply border-primary;
}
}
</style>

View File

@ -7,6 +7,7 @@ import {
VbenButton,
VbenCheckbox,
Input as VbenInput,
VbenInputCaptcha,
VbenInputPassword,
VbenPinInput,
VbenSelect,
@ -21,6 +22,7 @@ export const COMPONENT_MAP: Record<BaseFormComponentType, Component> = {
DefaultSubmitActionButton: h(VbenButton, { size: 'sm', variant: 'default' }),
VbenCheckbox,
VbenInput,
VbenInputCaptcha,
VbenInputPassword,
VbenPinInput,
VbenSelect,

View File

@ -10,6 +10,7 @@ export * from './expandable-arrow';
export * from './full-screen';
export * from './hover-card';
export * from './icon';
export * from './input-captcha';
export * from './input-password';
export * from './link';
export * from './logo';

View File

@ -0,0 +1 @@
export { default as VbenInputCaptcha } from './input-captcha.vue';

View File

@ -0,0 +1,58 @@
<script setup lang="ts">
import { Input as VbenInput } from '../ui/input';
/**
* 非通用组件 直接按业务来写
*/
defineProps({
captcha: {
default: '',
type: String,
},
label: {
default: '验证码',
type: String,
},
placeholder: {
default: '验证码',
type: String,
},
});
defineEmits<{ captchaClick: [] }>();
const modelValue = defineModel({ default: '', type: String });
</script>
<template>
<!-- 图片验证码 -->
<div class="flex w-full">
<div class="flex-1">
<VbenInput
id="code"
v-model="modelValue"
:class="$attrs.class ?? {}"
:label="label"
:placeholder="placeholder"
name="code"
required
type="text"
/>
</div>
<img
:src="captcha"
class="h-[40px] w-[115px] rounded-r-md"
@click="$emit('captchaClick')"
/>
</div>
</template>
<style lang="scss">
/**
验证码输入框样式
去除右边的圆角
*/
input[id='code'] {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
</style>

View File

@ -1,7 +1,11 @@
<script setup lang="ts">
import type { VbenFormSchema } from '@vben-core/form-ui';
import type { AuthenticationProps, LoginEmits } from './types';
import type {
AuthenticationProps,
LoginAndRegisterParams,
LoginEmits,
} from './types';
import { computed, onMounted, reactive, ref } from 'vue';
import { useRouter } from 'vue-router';
@ -35,19 +39,10 @@ const props = withDefaults(defineProps<Props>(), {
showRememberMe: true,
showThirdPartyLogin: true,
subTitle: '',
tenantOptions: () => [],
title: '',
});
const emit = defineEmits<{
/**
* 验证码点击
*/
captchaClick: [];
/**
* 第三方登录 platfrom 对应平台的string
*/
oauthLogin: [plateform: string];
submit: LoginEmits['submit'];
}>();
@ -65,7 +60,7 @@ const router = useRouter();
const REMEMBER_ME_KEY = `REMEMBER_ME_USERNAME_${location.hostname}`;
const localUsername = localStorage.getItem(REMEMBER_ME_KEY) || 'admin';
const localUsername = localStorage.getItem(REMEMBER_ME_KEY) || '';
const rememberMe = ref(!!localUsername);
@ -76,7 +71,9 @@ async function handleSubmit() {
REMEMBER_ME_KEY,
rememberMe.value ? values?.username : '',
);
emit('submit', values as { password: string; username: string });
//
(values as any).grantType = 'password';
emit('submit', values as LoginAndRegisterParams);
}
}
@ -106,27 +103,6 @@ onMounted(() => {
<Form />
<!-- 图片验证码 -->
<div v-if="useCaptcha" class="flex">
<div class="flex-1">
<VbenInput
v-model="formState.code"
:error-tip="$t('authentication.captchaTip')"
:label="$t('authentication.captcha')"
:placeholder="$t('authentication.captcha')"
:status="captchaStatus"
name="code"
required
type="text"
/>
</div>
<img
:src="captchaBase64"
class="h-[40px] w-[115px] rounded-r-md"
@click="emit('captchaClick')"
/>
</div>
<div
v-if="showRememberMe || showForgetPassword"
class="mb-6 flex justify-between"
@ -173,10 +149,7 @@ onMounted(() => {
<!-- 第三方登录 -->
<slot name="third-party-login">
<ThirdPartyLogin
v-if="showThirdPartyLogin"
@oauth-login="(e) => emit('oauthLogin', e)"
/>
<ThirdPartyLogin v-if="showThirdPartyLogin" />
</slot>
<slot name="to-register">
@ -192,26 +165,3 @@ onMounted(() => {
</slot>
</div>
</template>
<style lang="scss">
/**
tenant-picker 跟下面的输入框样式保持一致
*/
.tenant-picker > button[role='combobox'] {
height: 40px;
background-color: hsl(var(--input-background));
&:focus {
@apply border-primary;
}
}
/**
验证码输入框样式
去除右边的圆角
*/
input[id='code'] {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
</style>

View File

@ -118,7 +118,7 @@ importers:
version: 9.0.2
nitropack:
specifier: ^2.9.7
version: 2.9.7(encoding@0.1.13)
version: 2.9.7(encoding@0.1.13)(webpack-sources@3.2.3)
devDependencies:
'@types/jsonwebtoken':
specifier: ^9.0.6
@ -131,7 +131,7 @@ importers:
dependencies:
'@tinymce/tinymce-vue':
specifier: ^6.0.1
version: 6.0.1(vue@3.5.3(typescript@5.5.4))
version: 6.0.1(vue@3.5.3(typescript@5.6.2))
'@vben/access':
specifier: workspace:*
version: link:../../packages/effects/access
@ -179,17 +179,13 @@ importers:
version: 11.0.3(vue@3.5.3(typescript@5.6.2))
ant-design-vue:
specifier: ^4.2.3
<<<<<<< HEAD
version: 4.2.3(vue@3.5.3(typescript@5.5.4))
version: 4.2.3(vue@3.5.3(typescript@5.6.2))
cropperjs:
specifier: ^1.6.2
version: 1.6.2
crypto-js:
specifier: ^4.2.0
version: 4.2.0
=======
version: 4.2.3(vue@3.5.3(typescript@5.6.2))
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
dayjs:
specifier: ^1.11.13
version: 1.11.13
@ -204,21 +200,16 @@ importers:
version: 4.17.21
pinia:
specifier: 2.2.2
<<<<<<< HEAD
version: 2.2.2(typescript@5.5.4)(vue@3.5.3(typescript@5.5.4))
version: 2.2.2(typescript@5.6.2)(vue@3.5.3(typescript@5.6.2))
tinymce:
specifier: ^7.3.0
version: 7.3.0
=======
version: 2.2.2(typescript@5.6.2)(vue@3.5.3(typescript@5.6.2))
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
vue:
specifier: 3.5.3
version: 3.5.3(typescript@5.6.2)
vue-router:
specifier: ^4.4.3
<<<<<<< HEAD
version: 4.4.3(vue@3.5.3(typescript@5.5.4))
version: 4.4.3(vue@3.5.3(typescript@5.6.2))
devDependencies:
'@types/crypto-js':
specifier: ^4.2.2
@ -228,10 +219,7 @@ importers:
version: 4.17.12
unplugin-vue-components:
specifier: ^0.27.3
version: 0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
=======
version: 4.4.3(vue@3.5.3(typescript@5.6.2))
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
version: 0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.3(typescript@5.6.2))
apps/web-ele:
dependencies:
@ -298,7 +286,7 @@ importers:
devDependencies:
unplugin-element-plus:
specifier: ^0.8.0
version: 0.8.0(rollup@4.21.2)
version: 0.8.0(rollup@4.21.2)(webpack-sources@3.2.3)
apps/web-naive:
dependencies:
@ -651,7 +639,7 @@ importers:
dependencies:
'@intlify/unplugin-vue-i18n':
specifier: ^4.0.0
version: 4.0.0(rollup@4.21.2)(vue-i18n@9.14.0(vue@3.5.3(typescript@5.6.2)))
version: 4.0.0(rollup@4.21.2)(vue-i18n@9.14.0(vue@3.5.3(typescript@5.6.2)))(webpack-sources@3.2.3)
'@jspm/generator':
specifier: ^2.3.0
version: 2.3.0
@ -669,7 +657,7 @@ importers:
version: 7.2.0
nitropack:
specifier: ^2.9.7
version: 2.9.7(encoding@0.1.13)
version: 2.9.7(encoding@0.1.13)(webpack-sources@3.2.3)
resolve.exports:
specifier: ^2.0.2
version: 2.0.2
@ -999,7 +987,6 @@ importers:
packages/effects/common-ui:
dependencies:
<<<<<<< HEAD
'@codemirror/lang-html':
specifier: ^6.4.9
version: 6.4.9
@ -1021,11 +1008,9 @@ importers:
'@codemirror/theme-one-dark':
specifier: ^6.1.2
version: 6.1.2
=======
'@vben-core/form-ui':
specifier: workspace:*
version: link:../../@core/ui-kit/form-ui
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vben-core/popup-ui':
specifier: workspace:*
version: link:../../@core/ui-kit/popup-ui
@ -1049,30 +1034,22 @@ importers:
version: link:../../types
'@vueuse/integrations':
specifier: ^11.0.3
<<<<<<< HEAD
version: 11.0.3(async-validator@4.2.5)(axios@1.7.7)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.3)(vue@3.5.3(typescript@5.5.4))
version: 11.0.3(async-validator@4.2.5)(axios@1.7.7)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.3)(vue@3.5.3(typescript@5.6.2))
codemirror:
specifier: ^6.0.1
version: 6.0.1(@lezer/common@1.2.1)
=======
version: 11.0.3(async-validator@4.2.5)(axios@1.7.7)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.3)(vue@3.5.3(typescript@5.6.2))
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
qrcode:
specifier: ^1.5.4
version: 1.5.4
vue:
specifier: 3.5.3
<<<<<<< HEAD
version: 3.5.3(typescript@5.5.4)
version: 3.5.3(typescript@5.6.2)
vue-codemirror6:
specifier: ^1.3.4
version: 1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.5.4))
version: 1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.6.2))
vue-json-pretty:
specifier: ^2.4.0
version: 2.4.0(vue@3.5.3(typescript@5.5.4))
=======
version: 3.5.3(typescript@5.6.2)
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
version: 2.4.0(vue@3.5.3(typescript@5.6.2))
vue-router:
specifier: ^4.4.3
version: 4.4.3(vue@3.5.3(typescript@5.6.2))
@ -4082,13 +4059,8 @@ packages:
'@tanstack/store@0.5.5':
resolution: {integrity: sha512-EOSrgdDAJExbvRZEQ/Xhh9iZchXpMN+ga1Bnk8Nmygzs8TfiE6hbzThF+Pr2G19uHL6+DTDTHhJ8VQiOd7l4tA==}
<<<<<<< HEAD
'@tanstack/virtual-core@3.10.1':
resolution: {integrity: sha512-JDi3wU1HIxuxx8BgD7Ix8IXlelCKdTJIh9c0qBs+QXHdix3mjMbkXI3wOq0TuCx1w1RGgzZue34QrM/NPdp/sw==}
=======
'@tanstack/virtual-core@3.10.7':
resolution: {integrity: sha512-ND5dfsU0n9F4gROzwNNDJmg6y8n9pI8YWxtgbfJ5UcNn7Hx+MxEXtXcQ189tS7sh8pmCObgz2qSiyRKTZxT4dg==}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@tanstack/vue-query@5.55.4':
resolution: {integrity: sha512-oxNS99UKzmE+95LcEYz3MA5pmN9rLeiMvNVXwbEJo33lOoJZkNAArQeNdlBvaPYtRHRVFbtJPMXegudgbFsw1g==}
@ -4108,18 +4080,13 @@ packages:
'@vue/composition-api':
optional: true
<<<<<<< HEAD
'@tanstack/vue-virtual@3.10.1':
resolution: {integrity: sha512-K4WFHK0RpQpJvV6osI8qDrFJjMbsfWFptbyxOXJu5yEpEMP7C14e5hFgMINlKc3yK1BvFrtKedc0qM4UV+oOkg==}
'@tanstack/vue-virtual@3.10.7':
resolution: {integrity: sha512-OSK1fkvz4GaBhF80KVmBsJZoMI9ncVaUU//pI8OqTdBnepw467zcuF2Y+Ia1VC0CPYfUEALyS8n4Ar0RI/7ASg==}
peerDependencies:
vue: 3.5.3
'@tinymce/tinymce-vue@6.0.1':
resolution: {integrity: sha512-VzjI8AKlNrrsosIk3WuBez6kubqPsPMeaButkRLuts77uo4e2EwPRFX+VyB6fHbMGHwUPK22zNjOUGMvJFZFCw==}
=======
'@tanstack/vue-virtual@3.10.7':
resolution: {integrity: sha512-OSK1fkvz4GaBhF80KVmBsJZoMI9ncVaUU//pI8OqTdBnepw467zcuF2Y+Ia1VC0CPYfUEALyS8n4Ar0RI/7ASg==}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
peerDependencies:
vue: 3.5.3
@ -4147,15 +4114,9 @@ packages:
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
<<<<<<< HEAD
'@types/crypto-js@4.2.2':
resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==}
'@types/eslint@8.56.11':
resolution: {integrity: sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==}
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@types/eslint@9.6.1':
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
@ -4419,42 +4380,24 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
<<<<<<< HEAD
'@vue/compiler-core@3.4.38':
resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==}
'@vue/compiler-core@3.5.2':
resolution: {integrity: sha512-1aP7FL2GkqfcskHWGg3lfWQpJnrmewKc+rNJ/hq9WNaAw4BEyJ5QbNChnqmbw+tJ409zdy1XWmUeXXMrCKJcQQ==}
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vue/compiler-core@3.5.3':
resolution: {integrity: sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==}
'@vue/compiler-core@3.5.4':
resolution: {integrity: sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==}
'@vue/compiler-dom@3.5.2':
resolution: {integrity: sha512-QY4DpT8ZIUyu/ZA5gErpSEDocGNEbHmpkZIC/d5jbp/rUF0iOJNigAy3HCCKc0PMMhDlrcysO3ufQ6Ab4MpEcQ==}
'@vue/compiler-dom@3.5.3':
resolution: {integrity: sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==}
'@vue/compiler-dom@3.5.4':
resolution: {integrity: sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==}
'@vue/compiler-sfc@3.5.2':
resolution: {integrity: sha512-vErEtybSU290LbMW+ChYllI9tNJEdTW1oU+8cZWINZyjlWeTSa9YqDl4/pZJSnozOI+HmcaC1Vz2eFKmXNSXZA==}
'@vue/compiler-sfc@3.5.3':
resolution: {integrity: sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ==}
'@vue/compiler-sfc@3.5.4':
resolution: {integrity: sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==}
'@vue/compiler-ssr@3.5.2':
resolution: {integrity: sha512-vMtA4tQK/AM3UAYJsmouQzQpgG+h9TKiD5BV+Zt+ZyAMdicxzSEEFGWf/CykRnDpqj9fMfIHPhOezJVNxiXe2A==}
'@vue/compiler-ssr@3.5.3':
resolution: {integrity: sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==}
@ -4503,15 +4446,6 @@ packages:
peerDependencies:
vue: 3.5.3
<<<<<<< HEAD
'@vue/shared@3.4.38':
resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
'@vue/shared@3.5.2':
resolution: {integrity: sha512-Ce89WNFBzcDca/AgFTxgX4/K4iAyF7oFIp8Z5aBbFBNbtpwnQr+5pZOoHndxnjE2h+YFcipVMzs9UL11XB6dwA==}
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vue/shared@3.5.3':
resolution: {integrity: sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==}
@ -5501,13 +5435,17 @@ packages:
supports-color:
optional: true
<<<<<<< HEAD
debug@4.3.6:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
=======
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
debug@4.3.7:
resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@ -7428,6 +7366,9 @@ packages:
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@ -9242,12 +9183,9 @@ packages:
resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==}
engines: {node: '>=12.0.0'}
<<<<<<< HEAD
tinymce@7.3.0:
resolution: {integrity: sha512-Ls4PgYlpk73XAxBSBqbVmSl8Mb3DuNfgF01GZ0lY6/MOEVRl3IL+VxC1Oe6165e8WqbqVsxO3Qj/PmoYNvQKGQ==}
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
tinypool@1.0.1:
resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==}
engines: {node: ^18.0.0 || >=20.0.0}
@ -9484,7 +9422,6 @@ packages:
resolution: {integrity: sha512-jByUGY3FG2B8RJKFryqxx4eNtSTj+Hjlo8edcOdJymewndDQjThZ1pRUQHRjQsbKhTV2jEctJV7t7RJ405UL4g==}
engines: {node: '>=14.19.0'}
<<<<<<< HEAD
unplugin-vue-components@0.27.4:
resolution: {integrity: sha512-1XVl5iXG7P1UrOMnaj2ogYa5YTq8aoh5jwDPQhemwO/OrXW+lPQKDXd1hMz15qxQPxgb/XXlbgo3HQ2rLEbmXQ==}
engines: {node: '>=14'}
@ -9500,10 +9437,10 @@ packages:
unplugin@1.12.2:
resolution: {integrity: sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==}
=======
engines: {node: '>=14.0.0'}
unplugin@1.14.0:
resolution: {integrity: sha512-cfkZeALGyW7tKYjZbi0G+pn0XnUFa0QvLIeLJEUUlnU0R8YYsBQnt5+h9Eu1B7AB7KETld+UBFI5lOeBL+msoQ==}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
engines: {node: '>=14.0.0'}
peerDependencies:
webpack-sources: ^3
@ -9755,19 +9692,14 @@ packages:
vscode-uri@3.0.8:
resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
<<<<<<< HEAD
vue-codemirror6@1.3.4:
resolution: {integrity: sha512-Gmu2t4Exz3pQdtAsb7wINREx2nswNW+FV+q8S1wmsmeC3OLio5RkybRLsErP1b8+suqsVD/7t0Cx/XmBpQnHJA==}
engines: {yarn: '>=1.22.19'}
peerDependencies:
vue: 3.5.3
vue-component-type-helpers@2.0.29:
resolution: {integrity: sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==}
=======
vue-component-type-helpers@2.1.6:
resolution: {integrity: sha512-ng11B8B/ZADUMMOsRbqv0arc442q7lifSubD0v8oDXIFoMg/mXwAPUunrroIDkY+mcD0dHKccdaznSVp8EoX3w==}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
vue-demi@0.14.10:
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
@ -9852,6 +9784,10 @@ packages:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
@ -10381,7 +10317,7 @@ snapshots:
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
debug: 4.3.6
debug: 4.3.7
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@ -11094,21 +11030,6 @@ snapshots:
'@babel/parser': 7.25.6
'@babel/types': 7.25.6
<<<<<<< HEAD
'@babel/traverse@7.25.3':
dependencies:
'@babel/code-frame': 7.24.7
'@babel/generator': 7.25.0
'@babel/parser': 7.25.3
'@babel/template': 7.25.0
'@babel/types': 7.25.2
debug: 4.3.6
globals: 11.12.0
transitivePeerDependencies:
- supports-color
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@babel/traverse@7.25.6':
dependencies:
'@babel/code-frame': 7.24.7
@ -11301,7 +11222,6 @@ snapshots:
dependencies:
mime: 3.0.0
<<<<<<< HEAD
'@codemirror/autocomplete@6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1)':
dependencies:
'@codemirror/language': 6.10.2
@ -11418,10 +11338,7 @@ snapshots:
style-mod: 4.1.2
w3c-keyname: 2.2.8
'@commitlint/cli@19.4.1(@types/node@22.5.4)(typescript@5.5.4)':
=======
'@commitlint/cli@19.4.1(@types/node@22.5.4)(typescript@5.6.2)':
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.4.1
@ -12407,7 +12324,7 @@ snapshots:
'@intlify/shared@9.14.0': {}
'@intlify/unplugin-vue-i18n@4.0.0(rollup@4.21.2)(vue-i18n@9.14.0(vue@3.5.3(typescript@5.6.2)))':
'@intlify/unplugin-vue-i18n@4.0.0(rollup@4.21.2)(vue-i18n@9.14.0(vue@3.5.3(typescript@5.6.2)))(webpack-sources@3.2.3)':
dependencies:
'@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.0(vue@3.5.3(typescript@5.6.2)))
'@intlify/shared': 9.14.0
@ -12420,7 +12337,7 @@ snapshots:
pathe: 1.1.2
picocolors: 1.1.0
source-map-js: 1.2.1
unplugin: 1.14.0
unplugin: 1.14.0(webpack-sources@3.2.3)
optionalDependencies:
vue-i18n: 9.14.0(vue@3.5.3(typescript@5.6.2))
transitivePeerDependencies:
@ -13115,11 +13032,7 @@ snapshots:
'@tanstack/store@0.5.5': {}
<<<<<<< HEAD
'@tanstack/virtual-core@3.10.1': {}
=======
'@tanstack/virtual-core@3.10.7': {}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@tanstack/vue-query@5.55.4(vue@3.5.3(typescript@5.6.2))':
dependencies:
@ -13135,22 +13048,15 @@ snapshots:
vue: 3.5.3(typescript@5.6.2)
vue-demi: 0.14.10(vue@3.5.3(typescript@5.6.2))
<<<<<<< HEAD
'@tanstack/vue-virtual@3.10.1(vue@3.5.3(typescript@5.5.4))':
dependencies:
'@tanstack/virtual-core': 3.10.1
vue: 3.5.3(typescript@5.5.4)
'@tinymce/tinymce-vue@6.0.1(vue@3.5.3(typescript@5.5.4))':
dependencies:
tinymce: 7.3.0
vue: 3.5.3(typescript@5.5.4)
=======
'@tanstack/vue-virtual@3.10.7(vue@3.5.3(typescript@5.6.2))':
dependencies:
'@tanstack/virtual-core': 3.10.7
vue: 3.5.3(typescript@5.6.2)
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@tinymce/tinymce-vue@6.0.1(vue@3.5.3(typescript@5.6.2))':
dependencies:
tinymce: 7.3.0
vue: 3.5.3(typescript@5.6.2)
'@tootallnate/once@1.1.2': {}
@ -13172,16 +13078,8 @@ snapshots:
dependencies:
'@types/node': 22.5.4
<<<<<<< HEAD
'@types/crypto-js@4.2.2': {}
'@types/eslint@8.56.11':
dependencies:
'@types/estree': 1.0.5
'@types/json-schema': 7.0.15
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@types/eslint@9.6.1':
dependencies:
'@types/estree': 1.0.5
@ -13330,17 +13228,10 @@ snapshots:
'@typescript-eslint/type-utils@8.5.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)':
dependencies:
<<<<<<< HEAD
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
'@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
debug: 4.3.6
ts-api-utils: 1.3.0(typescript@5.5.4)
=======
'@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2)
'@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)
debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.6.2)
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
@ -13368,15 +13259,9 @@ snapshots:
'@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.2)':
dependencies:
<<<<<<< HEAD
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/visitor-keys': 8.4.0
debug: 4.3.6
=======
'@typescript-eslint/types': 8.5.0
'@typescript-eslint/visitor-keys': 8.5.0
debug: 4.3.7
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
@ -13535,29 +13420,9 @@ snapshots:
'@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
'@babel/parser': 7.25.6
<<<<<<< HEAD
'@vue/compiler-sfc': 3.5.2
'@vue/compiler-core@3.4.38':
dependencies:
'@babel/parser': 7.25.6
'@vue/shared': 3.4.38
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
=======
'@vue/compiler-sfc': 3.5.4
transitivePeerDependencies:
- supports-color
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vue/compiler-core@3.5.2':
dependencies:
'@babel/parser': 7.25.6
'@vue/shared': 3.5.2
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-core@3.5.3':
dependencies:
@ -13575,11 +13440,6 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.1
'@vue/compiler-dom@3.5.2':
dependencies:
'@vue/compiler-core': 3.5.2
'@vue/shared': 3.5.2
'@vue/compiler-dom@3.5.3':
dependencies:
'@vue/compiler-core': 3.5.3
@ -13590,18 +13450,6 @@ snapshots:
'@vue/compiler-core': 3.5.4
'@vue/shared': 3.5.4
'@vue/compiler-sfc@3.5.2':
dependencies:
'@babel/parser': 7.25.6
'@vue/compiler-core': 3.5.2
'@vue/compiler-dom': 3.5.2
'@vue/compiler-ssr': 3.5.2
'@vue/shared': 3.5.2
estree-walker: 2.0.2
magic-string: 0.30.11
postcss: 8.4.45
source-map-js: 1.2.0
'@vue/compiler-sfc@3.5.3':
dependencies:
'@babel/parser': 7.25.6
@ -13626,11 +13474,6 @@ snapshots:
postcss: 8.4.45
source-map-js: 1.2.1
'@vue/compiler-ssr@3.5.2':
dependencies:
'@vue/compiler-dom': 3.5.2
'@vue/shared': 3.5.2
'@vue/compiler-ssr@3.5.3':
dependencies:
'@vue/compiler-dom': 3.5.3
@ -13680,13 +13523,8 @@ snapshots:
'@vue/language-core@2.1.6(typescript@5.6.2)':
dependencies:
<<<<<<< HEAD
'@volar/language-core': 2.4.2
'@vue/compiler-dom': 3.5.2
=======
'@volar/language-core': 2.4.4
'@vue/compiler-dom': 3.5.4
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.5.4
computeds: 0.0.1
@ -13694,24 +13532,7 @@ snapshots:
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
<<<<<<< HEAD
typescript: 5.5.4
'@vue/language-core@2.1.6(typescript@5.5.4)':
dependencies:
'@volar/language-core': 2.4.2
'@vue/compiler-dom': 3.5.2
'@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.5.3
computeds: 0.0.1
minimatch: 9.0.5
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
typescript: 5.5.4
=======
typescript: 5.6.2
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
'@vue/reactivity@3.5.3':
dependencies:
@ -13735,8 +13556,6 @@ snapshots:
'@vue/shared': 3.5.3
vue: 3.5.3(typescript@5.6.2)
'@vue/shared@3.5.2': {}
'@vue/shared@3.5.3': {}
'@vue/shared@3.5.4': {}
@ -14872,15 +14691,13 @@ snapshots:
dependencies:
ms: 2.1.3
<<<<<<< HEAD
debug@4.3.6:
dependencies:
ms: 2.1.2
=======
debug@4.3.7:
dependencies:
ms: 2.1.3
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
decamelize@1.2.0: {}
@ -17013,6 +16830,8 @@ snapshots:
ms@2.0.0: {}
ms@2.1.2: {}
ms@2.1.3: {}
muggle-string@0.4.1: {}
@ -17070,7 +16889,7 @@ snapshots:
sax: 1.4.1
optional: true
nitropack@2.9.7(encoding@0.1.13):
nitropack@2.9.7(encoding@0.1.13)(webpack-sources@3.2.3):
dependencies:
'@cloudflare/kv-asset-handler': 0.3.4
'@netlify/functions': 2.8.1
@ -17133,11 +16952,11 @@ snapshots:
std-env: 3.7.0
ufo: 1.5.4
uncrypto: 0.1.3
unctx: 2.3.1
unctx: 2.3.1(webpack-sources@3.2.3)
unenv: 1.10.0
unimport: 3.11.1(rollup@4.21.2)
unimport: 3.11.1(rollup@4.21.2)(webpack-sources@3.2.3)
unstorage: 1.12.0(ioredis@5.4.1)
unwasm: 0.3.9
unwasm: 0.3.9(webpack-sources@3.2.3)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@ -18034,15 +17853,9 @@ snapshots:
'@floating-ui/vue': 1.1.4(vue@3.5.3(typescript@5.6.2))
'@internationalized/date': 3.5.5
'@internationalized/number': 3.5.3
<<<<<<< HEAD
'@tanstack/vue-virtual': 3.10.1(vue@3.5.3(typescript@5.5.4))
'@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
'@vueuse/shared': 10.11.1(vue@3.5.3(typescript@5.5.4))
=======
'@tanstack/vue-virtual': 3.10.7(vue@3.5.3(typescript@5.6.2))
'@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.6.2))
'@vueuse/shared': 10.11.1(vue@3.5.3(typescript@5.6.2))
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
aria-hidden: 1.2.4
defu: 6.1.4
fast-deep-equal: 3.1.3
@ -18977,11 +18790,8 @@ snapshots:
fdir: 6.3.0(picomatch@4.0.2)
picomatch: 4.0.2
<<<<<<< HEAD
tinymce@7.3.0: {}
=======
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
tinypool@1.0.1: {}
tinyrainbow@1.2.0: {}
@ -19154,12 +18964,12 @@ snapshots:
uncrypto@0.1.3: {}
unctx@2.3.1:
unctx@2.3.1(webpack-sources@3.2.3):
dependencies:
acorn: 8.12.1
estree-walker: 3.0.3
magic-string: 0.30.11
unplugin: 1.14.0
unplugin: 1.14.0(webpack-sources@3.2.3)
transitivePeerDependencies:
- webpack-sources
@ -19192,7 +19002,7 @@ snapshots:
unicorn-magic@0.1.0: {}
unimport@3.11.1(rollup@4.21.2):
unimport@3.11.1(rollup@4.21.2)(webpack-sources@3.2.3):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
acorn: 8.12.1
@ -19206,7 +19016,7 @@ snapshots:
pkg-types: 1.2.0
scule: 1.3.0
strip-literal: 2.1.0
unplugin: 1.14.0
unplugin: 1.14.0(webpack-sources@3.2.3)
transitivePeerDependencies:
- rollup
- webpack-sources
@ -19229,18 +19039,17 @@ snapshots:
universalify@2.0.1: {}
unplugin-element-plus@0.8.0(rollup@4.21.2):
unplugin-element-plus@0.8.0(rollup@4.21.2)(webpack-sources@3.2.3):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
es-module-lexer: 1.5.4
magic-string: 0.30.11
unplugin: 1.14.0
unplugin: 1.14.0(webpack-sources@3.2.3)
transitivePeerDependencies:
- rollup
- webpack-sources
<<<<<<< HEAD
unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4)):
unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.3(typescript@5.6.2)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@ -19252,7 +19061,7 @@ snapshots:
minimatch: 9.0.5
mlly: 1.7.1
unplugin: 1.12.2
vue: 3.5.3(typescript@5.5.4)
vue: 3.5.3(typescript@5.6.2)
optionalDependencies:
'@babel/parser': 7.25.6
transitivePeerDependencies:
@ -19260,12 +19069,18 @@ snapshots:
- supports-color
unplugin@1.12.2:
=======
unplugin@1.14.0:
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
dependencies:
acorn: 8.12.1
chokidar: 3.6.0
webpack-sources: 3.2.3
webpack-virtual-modules: 0.6.2
unplugin@1.14.0(webpack-sources@3.2.3):
dependencies:
acorn: 8.12.1
webpack-virtual-modules: 0.6.2
optionalDependencies:
webpack-sources: 3.2.3
unstorage@1.12.0(ioredis@5.4.1):
dependencies:
@ -19302,14 +19117,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
unwasm@0.3.9:
unwasm@0.3.9(webpack-sources@3.2.3):
dependencies:
knitwork: 1.1.0
magic-string: 0.30.11
mlly: 1.7.1
pathe: 1.1.2
pkg-types: 1.2.0
unplugin: 1.14.0
unplugin: 1.14.0(webpack-sources@3.2.3)
transitivePeerDependencies:
- webpack-sources
@ -19488,13 +19303,8 @@ snapshots:
'@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2)
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
<<<<<<< HEAD
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
'@vue/compiler-dom': 3.5.2
=======
'@vue/babel-plugin-jsx': 1.2.4(@babel/core@7.25.2)
'@vue/compiler-dom': 3.5.4
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
kolorist: 1.8.0
magic-string: 0.30.11
vite: 5.4.3(@types/node@22.5.4)(less@4.2.0)(sass@1.78.0)(terser@5.32.0)
@ -19604,20 +19414,16 @@ snapshots:
vscode-uri@3.0.8: {}
<<<<<<< HEAD
vue-codemirror6@1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.5.4)):
vue-codemirror6@1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.6.2)):
dependencies:
codemirror: 6.0.1(@lezer/common@1.2.1)
vue: 3.5.3(typescript@5.5.4)
vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
vue: 3.5.3(typescript@5.6.2)
vue-demi: 0.14.10(vue@3.5.3(typescript@5.6.2))
transitivePeerDependencies:
- '@lezer/common'
- '@vue/composition-api'
vue-component-type-helpers@2.0.29: {}
=======
vue-component-type-helpers@2.1.6: {}
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
vue-demi@0.14.10(vue@3.5.3(typescript@5.6.2)):
dependencies:
@ -19643,15 +19449,11 @@ snapshots:
'@vue/devtools-api': 6.6.4
vue: 3.5.3(typescript@5.6.2)
<<<<<<< HEAD
vue-json-pretty@2.4.0(vue@3.5.3(typescript@5.5.4)):
vue-json-pretty@2.4.0(vue@3.5.3(typescript@5.6.2)):
dependencies:
vue: 3.5.3(typescript@5.5.4)
vue: 3.5.3(typescript@5.6.2)
vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)):
=======
vue-router@4.4.3(vue@3.5.3(typescript@5.6.2)):
>>>>>>> 3697f6bc5ac041f4e53acf0d79aeefbd2db5b359
dependencies:
'@vue/devtools-api': 6.6.4
vue: 3.5.3(typescript@5.6.2)
@ -19707,6 +19509,8 @@ snapshots:
webidl-conversions@7.0.0: {}
webpack-sources@3.2.3: {}
webpack-virtual-modules@0.6.2: {}
whatwg-encoding@3.1.1: