fix gui memory leak (#768)
Some checks are pending
EasyTier Core / pre_job (push) Waiting to run
EasyTier Core / build_web (push) Blocked by required conditions
EasyTier Core / build (freebsd-13.2-x86_64, 13.2, ubuntu-22.04, x86_64-unknown-freebsd) (push) Blocked by required conditions
EasyTier Core / build (linux-aarch64, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-arm, ubuntu-22.04, arm-unknown-linux-musleabi) (push) Blocked by required conditions
EasyTier Core / build (linux-armhf, ubuntu-22.04, arm-unknown-linux-musleabihf) (push) Blocked by required conditions
EasyTier Core / build (linux-armv7, ubuntu-22.04, armv7-unknown-linux-musleabi) (push) Blocked by required conditions
EasyTier Core / build (linux-armv7hf, ubuntu-22.04, armv7-unknown-linux-musleabihf) (push) Blocked by required conditions
EasyTier Core / build (linux-mips, ubuntu-22.04, mips-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-mipsel, ubuntu-22.04, mipsel-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (linux-x86_64, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier Core / build (macos-aarch64, macos-latest, aarch64-apple-darwin) (push) Blocked by required conditions
EasyTier Core / build (macos-x86_64, macos-latest, x86_64-apple-darwin) (push) Blocked by required conditions
EasyTier Core / build (windows-arm64, windows-latest, aarch64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier Core / build (windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier Core / core-result (push) Blocked by required conditions
EasyTier GUI / pre_job (push) Waiting to run
EasyTier GUI / build-gui (linux-aarch64, aarch64-unknown-linux-gnu, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier GUI / build-gui (linux-x86_64, x86_64-unknown-linux-gnu, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Blocked by required conditions
EasyTier GUI / build-gui (macos-aarch64, aarch64-apple-darwin, macos-latest, aarch64-apple-darwin) (push) Blocked by required conditions
EasyTier GUI / build-gui (macos-x86_64, x86_64-apple-darwin, macos-latest, x86_64-apple-darwin) (push) Blocked by required conditions
EasyTier GUI / build-gui (windows-arm64, aarch64-pc-windows-msvc, windows-latest, aarch64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier GUI / build-gui (windows-x86_64, x86_64-pc-windows-msvc, windows-latest, x86_64-pc-windows-msvc) (push) Blocked by required conditions
EasyTier GUI / gui-result (push) Blocked by required conditions
EasyTier Mobile / pre_job (push) Waiting to run
EasyTier Mobile / build-mobile (android, ubuntu-22.04, android) (push) Blocked by required conditions
EasyTier Mobile / mobile-result (push) Blocked by required conditions
EasyTier Test / pre_job (push) Waiting to run
EasyTier Test / test (push) Blocked by required conditions

* upgrade primevue
* use card instead of panel
This commit is contained in:
Sijie.Sun
2025-04-10 10:02:04 +08:00
committed by GitHub
parent 01e3ad99ca
commit 75f7865769
8 changed files with 189 additions and 153 deletions

19
Cargo.lock generated
View File

@@ -1940,7 +1940,7 @@ dependencies = [
"once_cell", "once_cell",
"parking_lot", "parking_lot",
"percent-encoding", "percent-encoding",
"petgraph 0.7.1", "petgraph 0.8.1",
"pin-project-lite", "pin-project-lite",
"pnet", "pnet",
"prost", "prost",
@@ -2362,6 +2362,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]] [[package]]
name = "foreign-types" name = "foreign-types"
version = "0.3.2" version = "0.3.2"
@@ -2983,6 +2989,11 @@ name = "hashbrown"
version = "0.15.2" version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
]
[[package]] [[package]]
name = "hashlink" name = "hashlink"
@@ -5153,12 +5164,14 @@ dependencies = [
[[package]] [[package]]
name = "petgraph" name = "petgraph"
version = "0.7.1" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" checksum = "7a98c6720655620a521dcc722d0ad66cd8afd5d86e34a89ef691c50b7b24de06"
dependencies = [ dependencies = [
"fixedbitset 0.5.7", "fixedbitset 0.5.7",
"hashbrown 0.15.2",
"indexmap 2.7.1", "indexmap 2.7.1",
"serde",
] ]
[[package]] [[package]]

View File

@@ -13,7 +13,7 @@
"lint:fix": "eslint . --ignore-pattern src-tauri --fix" "lint:fix": "eslint . --ignore-pattern src-tauri --fix"
}, },
"dependencies": { "dependencies": {
"@primevue/themes": "^4.2.1", "@primevue/themes": "4.3.3",
"@tauri-apps/plugin-autostart": "2.0.0", "@tauri-apps/plugin-autostart": "2.0.0",
"@tauri-apps/plugin-clipboard-manager": "2.0.0", "@tauri-apps/plugin-clipboard-manager": "2.0.0",
"@tauri-apps/plugin-os": "2.0.0", "@tauri-apps/plugin-os": "2.0.0",
@@ -24,7 +24,7 @@
"easytier-frontend-lib": "workspace:*", "easytier-frontend-lib": "workspace:*",
"ip-num": "1.5.1", "ip-num": "1.5.1",
"pinia": "^2.2.4", "pinia": "^2.2.4",
"primevue": "^4.2.1", "primevue": "4.3.3",
"tauri-plugin-vpnservice-api": "workspace:*", "tauri-plugin-vpnservice-api": "workspace:*",
"vue": "^3.5.12", "vue": "^3.5.12",
"vue-router": "^4.4.5" "vue-router": "^4.4.5"
@@ -32,7 +32,7 @@
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "^3.7.3", "@antfu/eslint-config": "^3.7.3",
"@intlify/unplugin-vue-i18n": "^5.2.0", "@intlify/unplugin-vue-i18n": "^5.2.0",
"@primevue/auto-import-resolver": "^4.1.0", "@primevue/auto-import-resolver": "4.3.3",
"@tauri-apps/api": "2.1.0", "@tauri-apps/api": "2.1.0",
"@tauri-apps/cli": "2.1.0", "@tauri-apps/cli": "2.1.0",
"@types/default-gateway": "^7.2.2", "@types/default-gateway": "^7.2.2",

View File

@@ -18,14 +18,14 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@primevue/themes": "^4.2.1", "@primevue/themes": "4.3.3",
"@vueuse/core": "^11.1.0", "@vueuse/core": "^11.1.0",
"aura": "link:@primevue\\themes\\aura", "aura": "link:@primevue\\themes\\aura",
"axios": "^1.7.7", "axios": "^1.7.7",
"floating-vue": "^5.2", "floating-vue": "^5.2",
"ip-num": "1.5.1", "ip-num": "1.5.1",
"primeicons": "^7.0.0", "primeicons": "^7.0.0",
"primevue": "^4.2.1", "primevue": "4.3.3",
"tailwindcss-primeui": "^0.3.4", "tailwindcss-primeui": "^0.3.4",
"ts-md5": "^1.3.1", "ts-md5": "^1.3.1",
"uuid": "^11.0.2", "uuid": "^11.0.2",

View File

@@ -5,7 +5,7 @@ import { NetworkInstance, type NodeInfo, type PeerRoutePair } from '../types/net
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { computed, onMounted, onUnmounted, ref } from 'vue'; import { computed, onMounted, onUnmounted, ref } from 'vue';
import { ipv4InetToString, ipv4ToString, ipv6ToString } from '../modules/utils'; import { ipv4InetToString, ipv4ToString, ipv6ToString } from '../modules/utils';
import { DataTable, Column, Tag, Chip, Button, Dialog, ScrollPanel, Timeline, Divider, Panel, } from 'primevue'; import { DataTable, Column, Tag, Chip, Button, Dialog, ScrollPanel, Timeline, Divider, Card, } from 'primevue';
const props = defineProps<{ const props = defineProps<{
curNetworkInst: NetworkInstance | null, curNetworkInst: NetworkInstance | null,
@@ -311,7 +311,7 @@ function showEventLogs() {
<Timeline v-else :value="dialogContent"> <Timeline v-else :value="dialogContent">
<template #opposite="slotProps"> <template #opposite="slotProps">
<small class="text-surface-500 dark:text-surface-400">{{ useTimeAgo(Date.parse(slotProps.item.time)) <small class="text-surface-500 dark:text-surface-400">{{ useTimeAgo(Date.parse(slotProps.item.time))
}}</small> }}</small>
</template> </template>
<template #content="slotProps"> <template #content="slotProps">
<HumanEvent :event="slotProps.item.event" /> <HumanEvent :event="slotProps.item.event" />
@@ -319,101 +319,107 @@ function showEventLogs() {
</Timeline> </Timeline>
</Dialog> </Dialog>
<Panel v-if="curNetworkInst?.error_msg"> <Card v-if="curNetworkInst?.error_msg">
<template #header> <template #title>
Run Network Error Run Network Error
</template> </template>
<div class="flex flex-col gap-y-5"> <template #content>
<div class="text-red-500"> <div class="flex flex-col gap-y-5">
{{ curNetworkInst.error_msg }} <div class="text-red-500">
{{ curNetworkInst.error_msg }}
</div>
</div> </div>
</div> </template>
</Panel> </Card>
<template v-else> <template v-else>
<Panel> <Card>
<template #header> <template #title>
{{ t('my_node_info') }} {{ t('my_node_info') }}
</template> </template>
<div class="flex w-full flex-col gap-y-5"> <template #content>
<div class="m-0 flex flex-row justify-center gap-x-5"> <div class="flex w-full flex-col gap-y-5">
<div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid green"> <div class="m-0 flex flex-row justify-center gap-x-5">
<div class="font-bold"> <div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid green">
{{ t('peer_count') }} <div class="font-bold">
{{ t('peer_count') }}
</div>
<div class="text-5xl mt-1">
{{ peerCount }}
</div>
</div> </div>
<div class="text-5xl mt-1">
{{ peerCount }} <div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid purple">
<div class="font-bold">
{{ t('upload') }}
</div>
<div class="text-xl mt-2">
{{ txRate }}/s
</div>
</div>
<div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid fuchsia">
<div class="font-bold">
{{ t('download') }}
</div>
<div class="text-xl mt-2">
{{ rxRate }}/s
</div>
</div> </div>
</div> </div>
<div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid purple"> <div class="flex flex-row items-center flex-wrap w-full max-h-40 overflow-scroll">
<div class="font-bold"> <Chip v-for="(chip, i) in myNodeInfoChips" :key="i" :label="chip.label" :icon="chip.icon"
{{ t('upload') }} class="mr-2 mt-2 text-sm" />
</div>
<div class="text-xl mt-2">
{{ txRate }}/s
</div>
</div> </div>
<div class="rounded-full w-32 h-32 flex flex-col items-center pt-6" style="border: 1px solid fuchsia"> <div v-if="myNodeInfo" class="m-0 flex flex-row justify-center gap-x-5 text-sm">
<div class="font-bold"> <Button severity="info" :label="t('show_vpn_portal_config')" @click="showVpnPortalConfig" />
{{ t('download') }} <Button severity="info" :label="t('show_event_log')" @click="showEventLogs" />
</div>
<div class="text-xl mt-2">
{{ rxRate }}/s
</div>
</div> </div>
</div> </div>
</template>
<div class="flex flex-row items-center flex-wrap w-full max-h-40 overflow-scroll"> </Card>
<Chip v-for="(chip, i) in myNodeInfoChips" :key="i" :label="chip.label" :icon="chip.icon"
class="mr-2 mt-2 text-sm" />
</div>
<div v-if="myNodeInfo" class="m-0 flex flex-row justify-center gap-x-5 text-sm">
<Button severity="info" :label="t('show_vpn_portal_config')" @click="showVpnPortalConfig" />
<Button severity="info" :label="t('show_event_log')" @click="showEventLogs" />
</div>
</div>
</Panel>
<Divider /> <Divider />
<Panel> <Card>
<template #header> <template #title>
{{ t('peer_info') }} {{ t('peer_info') }}
</template> </template>
<DataTable :value="peerRouteInfos" column-resize-mode="fit" table-class="w-full"> <template #content>
<Column :field="ipFormat" :header="t('virtual_ipv4')" /> <DataTable :value="peerRouteInfos" column-resize-mode="fit" table-class="w-full">
<Column :header="t('hostname')"> <Column :field="ipFormat" :header="t('virtual_ipv4')" />
<template #body="slotProps"> <Column :header="t('hostname')">
<div v-if="!slotProps.data.route.cost || !slotProps.data.route.feature_flag.is_public_server" <template #body="slotProps">
v-tooltip="slotProps.data.route.hostname"> <div v-if="!slotProps.data.route.cost || !slotProps.data.route.feature_flag.is_public_server"
{{ v-tooltip="slotProps.data.route.hostname">
slotProps.data.route.hostname }} {{
</div> slotProps.data.route.hostname }}
<div v-else v-tooltip="slotProps.data.route.hostname" class="space-x-1"> </div>
<Tag v-if="slotProps.data.route.feature_flag.is_public_server" severity="info" value="Info"> <div v-else v-tooltip="slotProps.data.route.hostname" class="space-x-1">
{{ t('status.server') }} <Tag v-if="slotProps.data.route.feature_flag.is_public_server" severity="info" value="Info">
</Tag> {{ t('status.server') }}
<Tag v-if="slotProps.data.route.feature_flag.avoid_relay_data" severity="warn" value="Warn"> </Tag>
{{ t('status.relay') }} <Tag v-if="slotProps.data.route.feature_flag.avoid_relay_data" severity="warn" value="Warn">
</Tag> {{ t('status.relay') }}
</div> </Tag>
</template> </div>
</Column> </template>
<Column :field="routeCost" :header="t('route_cost')" /> </Column>
<Column :field="latencyMs" :header="t('latency')" /> <Column :field="routeCost" :header="t('route_cost')" />
<Column :field="txBytes" :header="t('upload_bytes')" /> <Column :field="latencyMs" :header="t('latency')" />
<Column :field="rxBytes" :header="t('download_bytes')" /> <Column :field="txBytes" :header="t('upload_bytes')" />
<Column :field="lossRate" :header="t('loss_rate')" /> <Column :field="rxBytes" :header="t('download_bytes')" />
<Column :header="t('status.version')"> <Column :field="lossRate" :header="t('loss_rate')" />
<template #body="slotProps"> <Column :header="t('status.version')">
<span>{{ version(slotProps.data) }}</span> <template #body="slotProps">
</template> <span>{{ version(slotProps.data) }}</span>
</Column> </template>
</DataTable> </Column>
</Panel> </DataTable>
</template>
</Card>
</template> </template>
</div> </div>
</template> </template>

View File

@@ -9,11 +9,11 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@primevue/themes": "^4.2.1", "@primevue/themes": "4.3.3",
"aura": "link:@primevue/themes/aura", "aura": "link:@primevue/themes/aura",
"axios": "^1.7.7", "axios": "^1.7.7",
"easytier-frontend-lib": "workspace:*", "easytier-frontend-lib": "workspace:*",
"primevue": "^4.2.1", "primevue": "4.3.3",
"tailwindcss-primeui": "^0.3.4", "tailwindcss-primeui": "^0.3.4",
"vue": "^3.5.12", "vue": "^3.5.12",
"vue-router": "4" "vue-router": "4"

View File

@@ -136,7 +136,7 @@ async-recursion = "1.0.5"
network-interface = "2.0" network-interface = "2.0"
# for ospf route # for ospf route
petgraph = "0.7.1" petgraph = "0.8.1"
# for wireguard # for wireguard
boringtun = { package = "boringtun-easytier", version = "0.6.1", optional = true } boringtun = { package = "boringtun-easytier", version = "0.6.1", optional = true }

View File

@@ -1,6 +1,7 @@
use std::{ use std::{
collections::BTreeSet, collections::BTreeSet,
fmt::Debug, fmt::Debug,
hash::RandomState,
net::Ipv4Addr, net::Ipv4Addr,
sync::{ sync::{
atomic::{AtomicBool, AtomicU32, Ordering}, atomic::{AtomicBool, AtomicU32, Ordering},
@@ -667,7 +668,7 @@ impl RouteTable {
if *cost == 0 { if *cost == 0 {
continue; continue;
} }
let mut all_paths = all_simple_paths::<Vec<_>, _>( let mut all_paths = all_simple_paths::<Vec<_>, _, RandomState>(
graph, graph,
*idx_map.get(&my_peer_id).unwrap(), *idx_map.get(&my_peer_id).unwrap(),
*node_idx, *node_idx,

144
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
easytier-gui: easytier-gui:
dependencies: dependencies:
'@primevue/themes': '@primevue/themes':
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1 version: 4.3.3
'@tauri-apps/plugin-autostart': '@tauri-apps/plugin-autostart':
specifier: 2.0.0 specifier: 2.0.0
version: 2.0.0 version: 2.0.0
@@ -42,8 +42,8 @@ importers:
specifier: ^2.2.4 specifier: ^2.2.4
version: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) version: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
primevue: primevue:
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1(vue@3.5.12(typescript@5.6.3)) version: 4.3.3(vue@3.5.12(typescript@5.6.3))
tauri-plugin-vpnservice-api: tauri-plugin-vpnservice-api:
specifier: workspace:* specifier: workspace:*
version: link:../tauri-plugin-vpnservice version: link:../tauri-plugin-vpnservice
@@ -61,8 +61,8 @@ importers:
specifier: ^5.2.0 specifier: ^5.2.0
version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
'@primevue/auto-import-resolver': '@primevue/auto-import-resolver':
specifier: ^4.1.0 specifier: 4.3.3
version: 4.2.1 version: 4.3.3
'@tauri-apps/api': '@tauri-apps/api':
specifier: 2.1.0 specifier: 2.1.0
version: 2.1.0 version: 2.1.0
@@ -145,8 +145,8 @@ importers:
easytier-web/frontend: easytier-web/frontend:
dependencies: dependencies:
'@primevue/themes': '@primevue/themes':
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1 version: 4.3.3
aura: aura:
specifier: link:@primevue/themes/aura specifier: link:@primevue/themes/aura
version: link:@primevue/themes/aura version: link:@primevue/themes/aura
@@ -157,8 +157,8 @@ importers:
specifier: workspace:* specifier: workspace:*
version: link:../frontend-lib version: link:../frontend-lib
primevue: primevue:
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1(vue@3.5.12(typescript@5.6.3)) version: 4.3.3(vue@3.5.12(typescript@5.6.3))
tailwindcss-primeui: tailwindcss-primeui:
specifier: ^0.3.4 specifier: ^0.3.4
version: 0.3.4(tailwindcss@3.4.17) version: 0.3.4(tailwindcss@3.4.17)
@@ -200,8 +200,8 @@ importers:
easytier-web/frontend-lib: easytier-web/frontend-lib:
dependencies: dependencies:
'@primevue/themes': '@primevue/themes':
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1 version: 4.3.3
'@vueuse/core': '@vueuse/core':
specifier: ^11.1.0 specifier: ^11.1.0
version: 11.2.0(vue@3.5.12(typescript@5.6.3)) version: 11.2.0(vue@3.5.12(typescript@5.6.3))
@@ -221,8 +221,8 @@ importers:
specifier: ^7.0.0 specifier: ^7.0.0
version: 7.0.0 version: 7.0.0
primevue: primevue:
specifier: ^4.2.1 specifier: 4.3.3
version: 4.2.1(vue@3.5.12(typescript@5.6.3)) version: 4.3.3(vue@3.5.12(typescript@5.6.3))
tailwindcss-primeui: tailwindcss-primeui:
specifier: ^0.3.4 specifier: ^0.3.4
version: 0.3.4(tailwindcss@3.4.17) version: 0.3.4(tailwindcss@3.4.17)
@@ -911,16 +911,16 @@ packages:
resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==} resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/message-compiler@11.0.0-rc.1': '@intlify/message-compiler@12.0.0-alpha.2':
resolution: {integrity: sha512-TGw2uBfuTFTegZf/BHtUQBEKxl7Q/dVGLoqRIdw8lFsp9g/53sYn5iD+0HxIzdYjbWL6BTJMXCPUHp9PxDTRPw==} resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/shared@10.0.4': '@intlify/shared@10.0.4':
resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==} resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/shared@11.0.0-rc.1': '@intlify/shared@12.0.0-alpha.2':
resolution: {integrity: sha512-8tR1xe7ZEbkabTuE/tNhzpolygUn9OaYp9yuYAF4MgDNZg06C3Qny80bes2/e9/Wm3aVkPUlCw6WgU7mQd0yEg==} resolution: {integrity: sha512-P2DULVX9nz3y8zKNqLw9Es1aAgQ1JGC+kgpx5q7yLmrnAKkPR5MybQWoEhxanefNJgUY5ehsgo+GKif59SrncA==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/unplugin-vue-i18n@5.2.0': '@intlify/unplugin-vue-i18n@5.2.0':
@@ -1084,34 +1084,40 @@ packages:
'@polka/url@1.0.0-next.28': '@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
'@primeuix/styled@0.3.0': '@primeuix/styled@0.5.1':
resolution: {integrity: sha512-XsLbmyM1u50A0EDATIHyqm5O/zOCSyNKPk4pNN8HFvEPehbsjf4tkXcRZAyaVvntSCLpV4XGAj7v5EDCQkBRlg==} resolution: {integrity: sha512-5Ftw/KSauDPClQ8F2qCyCUF7cIUEY4yLNikf0rKV7Vsb8zGYNK0dahQe7CChaR6M2Kn+NA2DSBSk76ZXqj6Uog==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primeuix/utils@0.3.0': '@primeuix/styles@1.0.2':
resolution: {integrity: sha512-d6ymWez1n+iqwzAVhyOTmrOHl5qnSX2oGlTy97qGuA15gLai+MQaxONHFNdDia8Q7o396v7KK9IvhAx9VET/+A==} resolution: {integrity: sha512-zOOzpm0ECp1gJJx0MWXGXszdkqX3pRM9HAk4swSMOBzVKe+eCV3dhVLv3SvIzB40NjUXmP/8DqgsYESjAYbBiw==}
'@primeuix/themes@1.0.2':
resolution: {integrity: sha512-pm9Z6TsaV0Q7LBKFneXg2XgltA3huYG4KIMGYX9AzuebfwQEcW0Kf0xgsXt2XUu4ODEizuQgccG7xGS8NYPsxQ==}
'@primeuix/utils@0.5.3':
resolution: {integrity: sha512-7SGh7734wcF1/uK6RzO6Z6CBjGQ97GDHfpyl2F1G/c7R0z9hkT/V72ypDo82AWcCS7Ta07oIjDpOCTkSVZuEGQ==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primevue/auto-import-resolver@4.2.1': '@primevue/auto-import-resolver@4.3.3':
resolution: {integrity: sha512-NR2jTme+R/p9oapvysh4y8vFR6/w2ymK4lOzx+pZHHb+QGh8lJvkvJ5NWhwOhO9YD4RGOlQGKA4kcY2Z1itafA==} resolution: {integrity: sha512-CwQPlG8IzDySOwF8N0Q0rLv76awCH7SzYt+RHu1AO/HZEsdCorclIoJO6TrJYevenlhxialprRqpIV52McoRpw==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primevue/core@4.2.1': '@primevue/core@4.3.3':
resolution: {integrity: sha512-L81TZSZU8zRznIi2g6IWwlZ5wraaE8DrNUJyxieCRCTpbSF3rSlYmhDEuzal8PfE0RuvXpRsxqedTHxz5cdqPg==} resolution: {integrity: sha512-kSkN5oourG7eueoFPIqiNX3oDT/f0I5IRK3uOY/ytz+VzTZp5yuaCN0Nt42ZQpVXjDxMxDvUhIdaXVrjr58NhQ==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
peerDependencies: peerDependencies:
vue: ^3.3.0 vue: ^3.5.0
'@primevue/icons@4.2.1': '@primevue/icons@4.3.3':
resolution: {integrity: sha512-TOhxgkcmgBqmlHlf2x+gs4874iHopkow0gRAC5FztZTgTZQrqy8hPIA9b4O1lW7P6GOjGuVIwSH8y2lw6Q8koA==} resolution: {integrity: sha512-ouQaxHyeFB6MSfEGGbjaK5Qv9efS1xZGetZoU5jcPm090MSYLFtroP1CuK3lZZAQals06TZ6T6qcoNukSHpK5w==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primevue/metadata@4.2.1': '@primevue/metadata@4.3.3':
resolution: {integrity: sha512-XX29c2FtbXo0EX8GoYYT9os0FMxAZBPqq6VTAhbHrIUWzKnR8SVrxWoyy6G0wbzP3qXD4X3T7wUhjvQYHtTzLg==} resolution: {integrity: sha512-R1IBTGsYsmOlAy4/dytJW699Iie9B8p8PqbIxDY0GWiMGk8O0tVBYfuCs50w0QtHqmThhLRtSS+eCSOP1ybwSg==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primevue/themes@4.2.1': '@primevue/themes@4.3.3':
resolution: {integrity: sha512-byp4YejyVdrOpRRbq5vBtaDBFHUq7Wc0aGWwII1fliYbwQ+WXn/hCAYhaXwRrwweHpTiobiWWsS+PRLWJ7fBRw==} resolution: {integrity: sha512-LiYlSXsHeA8DFm8+yGyiDFQc3SEQwHcESTN1/rV+rrZ+UPuPisHY9fNIGRFQKA5XUQPDTQDQjtwYGx25Jikwhg==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@rollup/plugin-typescript@11.1.6': '@rollup/plugin-typescript@11.1.6':
@@ -3181,8 +3187,8 @@ packages:
primeicons@7.0.0: primeicons@7.0.0:
resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==} resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==}
primevue@4.2.1: primevue@4.3.3:
resolution: {integrity: sha512-cU9ZQVq9fitsQEIrfGeIl7xELBn61JCMxWkzcS9dkr165g29AvUrUNS9ufs1t2NoMJzE8VllwzweF/tSFAr2cw==} resolution: {integrity: sha512-nooYVoEz5CdP3EhUkD6c3qTdRmpLHZh75fBynkUkl46K8y5rksHTjdSISiDijwTA5STQIOkyqLb+RM+HQ6nC1Q==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
proxy-from-env@1.1.0: proxy-from-env@1.1.0:
@@ -4374,8 +4380,8 @@ snapshots:
'@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))': '@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))':
dependencies: dependencies:
'@intlify/message-compiler': 11.0.0-rc.1 '@intlify/message-compiler': 12.0.0-alpha.2
'@intlify/shared': 11.0.0-rc.1 '@intlify/shared': 12.0.0-alpha.2
acorn: 8.14.0 acorn: 8.14.0
escodegen: 2.1.0 escodegen: 2.1.0
estree-walker: 2.0.2 estree-walker: 2.0.2
@@ -4396,21 +4402,21 @@ snapshots:
'@intlify/shared': 10.0.4 '@intlify/shared': 10.0.4
source-map-js: 1.2.1 source-map-js: 1.2.1
'@intlify/message-compiler@11.0.0-rc.1': '@intlify/message-compiler@12.0.0-alpha.2':
dependencies: dependencies:
'@intlify/shared': 11.0.0-rc.1 '@intlify/shared': 12.0.0-alpha.2
source-map-js: 1.2.1 source-map-js: 1.2.1
'@intlify/shared@10.0.4': {} '@intlify/shared@10.0.4': {}
'@intlify/shared@11.0.0-rc.1': {} '@intlify/shared@12.0.0-alpha.2': {}
'@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0))
'@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3))) '@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))
'@intlify/shared': 11.0.0-rc.1 '@intlify/shared': 12.0.0-alpha.2
'@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@11.0.0-rc.1)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
'@rollup/pluginutils': 5.1.3(rollup@4.24.3) '@rollup/pluginutils': 5.1.3(rollup@4.24.3)
'@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
@@ -4433,11 +4439,11 @@ snapshots:
- typescript - typescript
- webpack-sources - webpack-sources
'@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@11.0.0-rc.1)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
optionalDependencies: optionalDependencies:
'@intlify/shared': 11.0.0-rc.1 '@intlify/shared': 12.0.0-alpha.2
'@vue/compiler-dom': 3.5.12 '@vue/compiler-dom': 3.5.12
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3)) vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3))
@@ -4587,34 +4593,43 @@ snapshots:
'@polka/url@1.0.0-next.28': {} '@polka/url@1.0.0-next.28': {}
'@primeuix/styled@0.3.0': '@primeuix/styled@0.5.1':
dependencies: dependencies:
'@primeuix/utils': 0.3.0 '@primeuix/utils': 0.5.3
'@primeuix/utils@0.3.0': {} '@primeuix/styles@1.0.2':
'@primevue/auto-import-resolver@4.2.1':
dependencies: dependencies:
'@primevue/metadata': 4.2.1 '@primeuix/styled': 0.5.1
'@primevue/core@4.2.1(vue@3.5.12(typescript@5.6.3))': '@primeuix/themes@1.0.2':
dependencies: dependencies:
'@primeuix/styled': 0.3.0 '@primeuix/styled': 0.5.1
'@primeuix/utils': 0.3.0
'@primeuix/utils@0.5.3': {}
'@primevue/auto-import-resolver@4.3.3':
dependencies:
'@primevue/metadata': 4.3.3
'@primevue/core@4.3.3(vue@3.5.12(typescript@5.6.3))':
dependencies:
'@primeuix/styled': 0.5.1
'@primeuix/utils': 0.5.3
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
'@primevue/icons@4.2.1(vue@3.5.12(typescript@5.6.3))': '@primevue/icons@4.3.3(vue@3.5.12(typescript@5.6.3))':
dependencies: dependencies:
'@primeuix/utils': 0.3.0 '@primeuix/utils': 0.5.3
'@primevue/core': 4.2.1(vue@3.5.12(typescript@5.6.3)) '@primevue/core': 4.3.3(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue
'@primevue/metadata@4.2.1': {} '@primevue/metadata@4.3.3': {}
'@primevue/themes@4.2.1': '@primevue/themes@4.3.3':
dependencies: dependencies:
'@primeuix/styled': 0.3.0 '@primeuix/styled': 0.5.1
'@primeuix/themes': 1.0.2
'@rollup/plugin-typescript@11.1.6(rollup@4.24.3)(tslib@2.8.1)(typescript@5.6.3)': '@rollup/plugin-typescript@11.1.6(rollup@4.24.3)(tslib@2.8.1)(typescript@5.6.3)':
dependencies: dependencies:
@@ -7066,12 +7081,13 @@ snapshots:
primeicons@7.0.0: {} primeicons@7.0.0: {}
primevue@4.2.1(vue@3.5.12(typescript@5.6.3)): primevue@4.3.3(vue@3.5.12(typescript@5.6.3)):
dependencies: dependencies:
'@primeuix/styled': 0.3.0 '@primeuix/styled': 0.5.1
'@primeuix/utils': 0.3.0 '@primeuix/styles': 1.0.2
'@primevue/core': 4.2.1(vue@3.5.12(typescript@5.6.3)) '@primeuix/utils': 0.5.3
'@primevue/icons': 4.2.1(vue@3.5.12(typescript@5.6.3)) '@primevue/core': 4.3.3(vue@3.5.12(typescript@5.6.3))
'@primevue/icons': 4.3.3(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue