This commit is contained in:
tim
2025-01-16 20:17:03 -04:00
parent 19a8ffbbd4
commit 0545cd6e97
51 changed files with 482 additions and 436 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 197.74 264.44"><defs><style>.cls-1{fill:#35d721;}</style></defs><title>Asset 14</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><polygon class="cls-1" points="99.15 0 0 129.6 53.91 129.6 53.78 248.87 145.01 129.6 197.74 129.6 99.15 0"/><polygon class="cls-1" points="95.07 264.44 145.02 199.16 144.98 264.44 95.07 264.44"/><polygon class="cls-1" points="53.79 264.44 145.04 145.15 145.04 156.62 62.55 264.44 53.79 264.44"/><polygon class="cls-1" points="74.39 264.44 145.02 172.11 145.02 183.57 83.16 264.44 74.39 264.44"/></g></g></svg>

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1487.72 264.73"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#35d721;}</style></defs><title>Asset 13</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M305.33,264.49c-37.72,0-56.58-20.37-56.58-60.73v-72c0-40.37,18.86-60.74,56.58-60.74h62.25V37.6L396.25.05V264.49ZM367.58,100.4H306.47C286.85,100.4,277,111,277,132.84V203c0,21.51,9.81,32.45,29.43,32.45h61.11Z"/><path class="cls-1" d="M472.26,264.59c-37.72,0-56.58-20.37-56.58-60.74v-72c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H443.22V203.1c0,21.5,9.8,32.44,29,32.44h91.29l-18.75,29Zm64.13-133.54c0-21.51-9.81-32.45-29.42-32.45H472.26c-19.24,0-29,10.94-29,32.45v23.76h93.17Z"/><path class="cls-1" d="M789,264.73c-50.17,0-62.62-16.22-62.62-65.64V136.85c0-51.68,15.09-65.64,62.62-65.64H816.2c49.8,0,62.62,16.6,62.62,65.64v62.24c0,43.76-12.45,65.64-51.68,65.64ZM850.53,132c0-20-6.79-31.31-24.52-31.31H778.86c-16.22,0-24.15,8.67-24.15,26.78v77c0,19.61,6.42,31.31,24.15,31.31H826c16.22,0,24.52-9.06,24.52-26.79Z"/><path class="cls-1" d="M927.06,263.88l-.4-131.68c0-21.88,9.81-32.44,29.42-32.44h61.12V70.34H955c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><path class="cls-1" d="M1397.58,264.45l-.4-131.67c0-21.88,9.81-32.45,29.42-32.45h61.12V70.91h-62.25c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><polygon class="cls-1" points="721.45 71.07 689.08 71.07 644.02 142.86 598.4 71.07 567.54 71.07 628.31 167.89 567.54 264.71 598.4 264.71 644.02 192.92 689.08 264.71 721.45 264.71 659.93 167.89 721.45 71.07"/><path class="cls-1" d="M1258.05,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H1229V203c0,21.5,9.81,32.44,29,32.44h91.29v29.05Zm64.13-133.54c0-21.5-9.81-32.44-29.42-32.44h-34.71c-19.24,0-29,10.94-29,32.44v23.77h93.18Z"/><path class="cls-1" d="M1091.12,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h62.25V37.55L1182,0V264.44Zm62.25-164.1h-61.12c-19.61,0-29.42,10.57-29.42,32.45V203c0,21.5,9.81,32.44,29.42,32.44h61.12Z"/><polygon class="cls-2" points="99.15 0.05 0 129.65 53.91 129.65 53.78 248.92 145.01 129.65 197.74 129.65 99.15 0.05"/><polygon class="cls-2" points="95.07 264.49 145.02 199.22 144.98 264.49 95.07 264.49"/><polygon class="cls-2" points="53.79 264.49 145.04 145.2 145.04 156.67 62.55 264.49 53.79 264.49"/><polygon class="cls-2" points="74.39 264.49 145.02 172.16 145.02 183.62 83.16 264.49 74.39 264.49"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1487.72 264.73"><defs><style>.cls-1{fill:#0f0f0f;}.cls-2{fill:#35d721;}</style></defs><title>Asset 12</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M305.33,264.49c-37.72,0-56.58-20.37-56.58-60.73v-72c0-40.37,18.86-60.74,56.58-60.74h62.25V37.6L396.25.05V264.49ZM367.58,100.4H306.47C286.85,100.4,277,111,277,132.84V203c0,21.51,9.81,32.45,29.43,32.45h61.11Z"/><path class="cls-1" d="M472.26,264.59c-37.72,0-56.58-20.37-56.58-60.74v-72c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H443.22V203.1c0,21.5,9.8,32.44,29,32.44h91.29l-18.75,29Zm64.13-133.54c0-21.51-9.81-32.45-29.42-32.45H472.26c-19.24,0-29,10.94-29,32.45v23.76h93.17Z"/><path class="cls-1" d="M789,264.73c-50.17,0-62.62-16.22-62.62-65.64V136.85c0-51.68,15.09-65.64,62.62-65.64H816.2c49.8,0,62.62,16.6,62.62,65.64v62.24c0,43.76-12.45,65.64-51.68,65.64ZM850.53,132c0-20-6.79-31.31-24.52-31.31H778.86c-16.22,0-24.15,8.67-24.15,26.78v77c0,19.61,6.42,31.31,24.15,31.31H826c16.22,0,24.52-9.06,24.52-26.79Z"/><path class="cls-1" d="M927.06,263.88l-.4-131.68c0-21.88,9.81-32.44,29.42-32.44h61.12V70.34H955c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><path class="cls-1" d="M1397.58,264.45l-.4-131.67c0-21.88,9.81-32.45,29.42-32.45h61.12V70.91h-62.25c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><polygon class="cls-1" points="721.45 71.07 689.08 71.07 644.02 142.86 598.4 71.07 567.54 71.07 628.31 167.89 567.54 264.71 598.4 264.71 644.02 192.92 689.08 264.71 721.45 264.71 659.93 167.89 721.45 71.07"/><path class="cls-1" d="M1258.05,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H1229V203c0,21.5,9.81,32.44,29,32.44h91.29v29.05Zm64.13-133.54c0-21.5-9.81-32.44-29.42-32.44h-34.71c-19.24,0-29,10.94-29,32.44v23.77h93.18Z"/><path class="cls-1" d="M1091.12,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h62.25V37.55L1182,0V264.44Zm62.25-164.1h-61.12c-19.61,0-29.42,10.57-29.42,32.45V203c0,21.5,9.81,32.44,29.42,32.44h61.12Z"/><polygon class="cls-2" points="99.15 0.05 0 129.65 53.91 129.65 53.78 248.92 145.01 129.65 197.74 129.65 99.15 0.05"/><polygon class="cls-2" points="95.07 264.49 145.02 199.22 144.98 264.49 95.07 264.49"/><polygon class="cls-2" points="53.79 264.49 145.04 145.2 145.04 156.67 62.55 264.49 53.79 264.49"/><polygon class="cls-2" points="74.39 264.49 145.02 172.16 145.02 183.62 83.16 264.49 74.39 264.49"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1487.72 264.73"><defs><style>.cls-1{fill:#0f0f0f;}.cls-2{fill:#35d721;}</style></defs><title>Asset 12</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M305.33,264.49c-37.72,0-56.58-20.37-56.58-60.73v-72c0-40.37,18.86-60.74,56.58-60.74h62.25V37.6L396.25.05V264.49ZM367.58,100.4H306.47C286.85,100.4,277,111,277,132.84V203c0,21.51,9.81,32.45,29.43,32.45h61.11Z"/><path class="cls-1" d="M472.26,264.59c-37.72,0-56.58-20.37-56.58-60.74v-72c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H443.22V203.1c0,21.5,9.8,32.44,29,32.44h91.29l-18.75,29Zm64.13-133.54c0-21.51-9.81-32.45-29.42-32.45H472.26c-19.24,0-29,10.94-29,32.45v23.76h93.17Z"/><path class="cls-1" d="M789,264.73c-50.17,0-62.62-16.22-62.62-65.64V136.85c0-51.68,15.09-65.64,62.62-65.64H816.2c49.8,0,62.62,16.6,62.62,65.64v62.24c0,43.76-12.45,65.64-51.68,65.64ZM850.53,132c0-20-6.79-31.31-24.52-31.31H778.86c-16.22,0-24.15,8.67-24.15,26.78v77c0,19.61,6.42,31.31,24.15,31.31H826c16.22,0,24.52-9.06,24.52-26.79Z"/><path class="cls-1" d="M927.06,263.88l-.4-131.68c0-21.88,9.81-32.44,29.42-32.44h61.12V70.34H955c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><path class="cls-1" d="M1397.58,264.45l-.4-131.67c0-21.88,9.81-32.45,29.42-32.45h61.12V70.91h-62.25c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><polygon class="cls-1" points="721.45 71.07 689.08 71.07 644.02 142.86 598.4 71.07 567.54 71.07 628.31 167.89 567.54 264.71 598.4 264.71 644.02 192.92 689.08 264.71 721.45 264.71 659.93 167.89 721.45 71.07"/><path class="cls-1" d="M1258.05,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H1229V203c0,21.5,9.81,32.44,29,32.44h91.29v29.05Zm64.13-133.54c0-21.5-9.81-32.44-29.42-32.44h-34.71c-19.24,0-29,10.94-29,32.44v23.77h93.18Z"/><path class="cls-1" d="M1091.12,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h62.25V37.55L1182,0V264.44Zm62.25-164.1h-61.12c-19.61,0-29.42,10.57-29.42,32.45V203c0,21.5,9.81,32.44,29.42,32.44h61.12Z"/><polygon class="cls-2" points="99.15 0.05 0 129.65 53.91 129.65 53.78 248.92 145.01 129.65 197.74 129.65 99.15 0.05"/><polygon class="cls-2" points="95.07 264.49 145.02 199.22 144.98 264.49 95.07 264.49"/><polygon class="cls-2" points="53.79 264.49 145.04 145.2 145.04 156.67 62.55 264.49 53.79 264.49"/><polygon class="cls-2" points="74.39 264.49 145.02 172.16 145.02 183.62 83.16 264.49 74.39 264.49"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

BIN
public/howitworks.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -5,4 +5,6 @@
<script setup> <script setup>
import SupportChat from "@/components/SupportChat.vue"; import SupportChat from "@/components/SupportChat.vue";
import {detectChain} from "@/blockchain/wallet.js";
detectChain()
</script> </script>

View File

@@ -137,6 +137,7 @@ export function parseElaboratedOrderStatus(chainId, status) {
export function parseOrderStatus(chainId, status) { export function parseOrderStatus(chainId, status) {
console.log('parseOrderStatus', status)
let [ let [
order, order,
fillFeeHalfBps, fillFeeHalfBps,

View File

@@ -1,8 +1,9 @@
import {nav, timestamp, uuid} from "@/misc.js"; import {nav, uuid} from "@/misc.js";
import {newContract, vaultContract} from "@/blockchain/contract.js"; import {newContract, vaultContract} from "@/blockchain/contract.js";
import {ensureVault, provider, switchChain, useWalletStore} from "@/blockchain/wallet.js"; import {ensureVault, provider, switchChain, useWalletStore} from "@/blockchain/wallet.js";
import {toRaw} from "vue"; import {toRaw} from "vue";
import {useChartOrderStore} from "@/orderbuild.js"; import {useChartOrderStore} from "@/orderbuild.js";
import {timestamp} from "@/common.js";
export const TransactionState = { export const TransactionState = {
Created: 0, // user requested a transaction Created: 0, // user requested a transaction

View File

@@ -5,7 +5,8 @@ import {useChartOrderStore} from "@/orderbuild.js";
import {useStore} from "@/store/store.js"; import {useStore} from "@/store/store.js";
import {subOHLC, unsubOHLC} from "@/blockchain/ohlcs.js"; import {subOHLC, unsubOHLC} from "@/blockchain/ohlcs.js";
import {ohlcStart} from "@/charts/chart-misc.js"; import {ohlcStart} from "@/charts/chart-misc.js";
import {timestamp} from "@/misc.js";
import {timestamp} from "@/common.js";
const DEBUG_LOGGING = false const DEBUG_LOGGING = false
const log = DEBUG_LOGGING ? console.log : ()=>{} const log = DEBUG_LOGGING ? console.log : ()=>{}

View File

@@ -1,8 +1,9 @@
import {DISTANT_FUTURE, DISTANT_PAST, MAX_FRACTION} from "@/blockchain/orderlib.js"; import {DISTANT_FUTURE, DISTANT_PAST, MAX_FRACTION} from "@/blockchain/orderlib.js";
import {allocationText, DLine, HLine} from "@/charts/shape.js"; import {allocationText, DLine, HLine} from "@/charts/shape.js";
import {createShape, deleteShapeId} from "@/charts/chart.js"; import {createShape, deleteShapeId} from "@/charts/chart.js";
import {sideColor, timestamp} from "@/misc.js"; import {sideColor} from "@/misc.js";
import {useChartOrderStore} from "@/orderbuild.js"; import {useChartOrderStore} from "@/orderbuild.js";
import {timestamp} from "@/common.js";
export class OrderShapes { export class OrderShapes {
constructor(symbol, orderStatus) { constructor(symbol, orderStatus) {

View File

@@ -141,3 +141,13 @@ export function parseFill(obj) {
fee = BigInt(fee) fee = BigInt(fee)
return {tx, time, filledIn, filledOut, fee} return {tx, time, filledIn, filledOut, fee}
} }
export function timestamp(date = null) {
if (date === null)
date = new Date()
return Math.round(date.getTime() / 1000)
}
export function dateString(datetime) {
return datetime.toLocaleString({dateStyle: 'medium', timeStyle: 'short'})
}

View File

@@ -18,12 +18,16 @@ let timer = null
const bypass = useRoute().query.approval const bypass = useRoute().query.approval
function tryApproval() { function tryApproval() {
console.log('approval query', bypass) console.log('trying region approval')
if (timer!==null) { if (timer!==null) {
clearTimeout(timer) clearTimeout(timer)
timer = null timer = null
} }
if (s.regionApproved===null) { if (s.regionApproved===true) {
console.log('region approved')
}
else if (s.regionApproved===null) {
console.log('asking for region approval', bypass)
socket.emit('approveRegion', bypass) socket.emit('approveRegion', bypass)
timer = setTimeout(tryApproval, 1000) timer = setTimeout(tryApproval, 1000)
} }

View File

@@ -1,10 +0,0 @@
<template>
</template>
<script setup>
</script>
<style scoped lang="scss">
</style>

View File

@@ -32,7 +32,8 @@ import {applyLinePoints, linePointsValue, useChartOrderStore} from "@/orderbuild
import {newTranche} from "@/blockchain/orderlib.js"; import {newTranche} from "@/blockchain/orderlib.js";
import TimeEntry from "@/components/TimeEntry.vue"; import TimeEntry from "@/components/TimeEntry.vue";
import RoutePrice from "@/components/RoutePrice.vue"; import RoutePrice from "@/components/RoutePrice.vue";
import {timestamp} from "@/misc.js";
import {timestamp} from "@/common.js";
const s = useStore() const s = useStore()
const os = useOrderStore() const os = useOrderStore()

View File

@@ -1,15 +1,16 @@
<template> <template>
<span class="d-inline-flex align-center"> <div class="d-inline-flex">
<v-icon icon="mdi-arrow-up-bold" color="primary" class="arrow"/> <v-img :src="`/media/dexorder_vectors/dexorder_full_${s.theme}mode.svg`" width="6em" inline/>
<span class="logo">dexorder</span> <beta/>
<beta v-if="showTag"/> </div>
</span>
</template> </template>
<script setup> <script setup>
import Beta from "@/components/Beta.vue"; import Beta from "@/components/Beta.vue";
import {useStore} from "@/store/store.js";
const s = useStore()
const props = defineProps({ const props = defineProps({
showTag: {type: Boolean, default: false} showTag: {type: Boolean, default: false}
}) })

View File

@@ -41,10 +41,10 @@ watchEffect(pulse)
@keyframes pulse { @keyframes pulse {
0% { 0% {
background-color: gray; background-color: #888;
} }
100% { 100% {
background-color: white; background-color: inherit;
} }
} }
</style> </style>

View File

@@ -1,8 +1,8 @@
<template> <template>
<div> <div>
<!-- <v-btn variant="plain" icon="mdi-linkedin" @click="open('https://www.linkedin.com/company/dexorder','dexorder_linkedin')" :size="size"/>--> <!-- <v-btn variant="plain" icon="mdi-linkedin" @click="open('https://www.linkedin.com/company/dexorder','dexorder_linkedin')" :size="size"/>-->
<v-btn variant="plain" icon="mdi-discord" @click="open('https://discord.gg/fqp9JXXQyt','dexorder_discord')" :size="size"/>
<v-btn variant="plain" icon="mdi-twitter" @click="open('https://twitter.com/Dexorder_trade','dexorder_twitter')" :size="size"/> <v-btn variant="plain" icon="mdi-twitter" @click="open('https://twitter.com/Dexorder_trade','dexorder_twitter')" :size="size"/>
<v-btn variant="plain" icon="mdi-discord" @click="open('https://discord.gg/fqp9JXXQyt','dexorder_discord')" :size="size"/>
<v-btn variant="plain" icon="mdi-github" @click="open('https://github.com/dexorder-trade/contract','dexorder_github')" :size="size"/> <v-btn variant="plain" icon="mdi-github" @click="open('https://github.com/dexorder-trade/contract','dexorder_github')" :size="size"/>
<!-- <v-btn variant="plain" icon="mdi-facebook" @click="open('https://facebook.com','dexorder_facebook')" :size="size"/>--> <!-- <v-btn variant="plain" icon="mdi-facebook" @click="open('https://facebook.com','dexorder_facebook')" :size="size"/>-->
<!-- <v-btn variant="plain" icon="mdi-reddit" @click="open('https://reddit.com','dexorder_reddit')" :size="size"/>--> <!-- <v-btn variant="plain" icon="mdi-reddit" @click="open('https://reddit.com','dexorder_reddit')" :size="size"/>-->

View File

@@ -5,7 +5,7 @@
<div class="top"> <div class="top">
<slot name="top"/> <slot name="top"/>
</div> </div>
<div class="resizer bg-grey-lighten-2" :data-direction="horizontal?'horizontal':'vertical'" ref="resizerElement"></div> <div class="resizer" :data-direction="horizontal?'horizontal':'vertical'" ref="resizerElement"></div>
<div class="scrollpane"> <div class="scrollpane">
<slot name="bottom"/> <slot name="bottom"/>
</div> </div>
@@ -119,14 +119,16 @@ body {
width: 100%; width: 100%;
} }
// todo light/dark mode
.resizer[data-direction='horizontal'] { .resizer[data-direction='horizontal'] {
background-color: #cbd5e0; background-color: #444;
cursor: ew-resize; cursor: ew-resize;
height: 100%; height: 100%;
width: 2px; width: 2px;
} }
.resizer[data-direction='vertical'] { .resizer[data-direction='vertical'] {
background-color: #444;
cursor: ns-resize; cursor: ns-resize;
height: 4px; height: 4px;
width: 100%; width: 100%;
@@ -143,5 +145,6 @@ body {
width: 100%; width: 100%;
min-height: 5em; min-height: 5em;
max-height: 100%; max-height: 100%;
overflow-y: hidden;
} }
</style> </style>

View File

@@ -106,7 +106,7 @@
<div v-if="s.clock < item.trancheStatus[i].startTime"> <div v-if="s.clock < item.trancheStatus[i].startTime">
Activates {{ timestampString(item.trancheStatus[i].startTime) }} Activates {{ timestampString(item.trancheStatus[i].startTime) }}
</div> </div>
<div v-if="item.trancheStatus[i].endTime<DISTANT_FUTURE"> <div v-if="s.clock < item.trancheStatus[i].endTime && item.trancheStatus[i].endTime < DISTANT_FUTURE">
Expires {{ timestampString(item.trancheStatus[i].endTime) }} Expires {{ timestampString(item.trancheStatus[i].endTime) }}
</div> </div>
</div> </div>
@@ -242,7 +242,7 @@ onUnmounted(()=>{
}) })
const datatableHeaders = [ const datatableHeaders = [
{title: 'Date', align: 'start', key: 'start'}, {title: 'Date', align: 'start', key: 'startTime'},
{title: 'Input', align: 'end', key: 'input'}, {title: 'Input', align: 'end', key: 'input'},
{title: 'Output', align: 'end', key: 'output'}, {title: 'Output', align: 'end', key: 'output'},
{title: 'Avg Price', align: 'end', key: 'avg'}, {title: 'Avg Price', align: 'end', key: 'avg'},
@@ -317,6 +317,8 @@ const orders = computed(()=>{
result.push(st) result.push(st)
st.id = `${vault}|${index}` st.id = `${vault}|${index}`
st.index = parseInt(index) st.index = parseInt(index)
// st.startTime = timestampString(st.startTime)
console.log('starttime', st.startTime)
/* /*
o.tranches = o.tranches.map((tranche)=>{ o.tranches = o.tranches.map((tranche)=>{
const t = {...tranche} const t = {...tranche}

View File

@@ -1,5 +1,8 @@
<template> <template>
</template> </template>
<!-- Crisp --> <script setup>
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="b153f30a-4b0b-49cc-8a38-989409a73acb";(function(){const d=document;const s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script> if(window.location.hostname !== 'localhost') {
window.$crisp = [];window.CRISP_WEBSITE_ID = "b153f30a-4b0b-49cc-8a38-989409a73acb";(function () {const d = document;const s = d.createElement("script");s.src = "https://client.crisp.chat/l.js";s.async = 1;d.getElementsByTagName("head")[0].appendChild(s);})();
}
</script>

View File

@@ -658,7 +658,8 @@ at <a href="mailto:legal@dexorder.trade">legal@dexorder.trade</a> or <a href="ma
import {usePrefStore} from "@/store/store.js"; import {usePrefStore} from "@/store/store.js";
import {computed, ref, watch} from "vue"; import {computed, ref, watch} from "vue";
import {timestamp} from "@/misc.js";
import {timestamp} from "@/common.js";
// INCREMENT THIS WHEN CHANGING THE TOS // INCREMENT THIS WHEN CHANGING THE TOS
const CURRENT_VERSION=1 const CURRENT_VERSION=1

View File

@@ -2,7 +2,7 @@
<template> <template>
<row-bar :color="color"> <row-bar :color="color">
<color-band :color="color"/> <color-band :color="color"/>
<div :style="faintColorStyle" style="width: 100%" class="justify-start align-content-start"> <div style="width: 100%" class="justify-start align-content-start">
<v-text-field type="number" inputmode="numeric" pattern="[0-9]*\.?[0-9]*" v-model="order.amount" variant="outlined" <v-text-field type="number" inputmode="numeric" pattern="[0-9]*\.?[0-9]*" v-model="order.amount" variant="outlined"
density="compact" density="compact"
:hint="available" :persistent-hint="true" :hint="available" :persistent-hint="true"
@@ -157,12 +157,12 @@ onUnmounted(() => delete orderFuncs[lastId])
const theme = useTheme().current const theme = useTheme().current
const color = computed(()=>new Color(props.order.buy?theme.value.colors.success:theme.value.colors.error).darken(0.2).string()) const color = computed(()=>new Color(props.order.buy?theme.value.colors.success:theme.value.colors.error).darken(0.2).string())
const lightColor = computed(() => lightenColor(color.value)) // const lightColor = computed(() => lightenColor(color.value))
const faintColor = computed(() => lightenColor2(color.value)) // const faintColor = computed(() => lightenColor2(color.value))
const colorStyle = computed(() => { return {'color': color.value} }) // const colorStyle = computed(() => { return {'color': color.value} })
const bgColorStyle = computed(() => { return {'background-color': color.value} }) // const bgColorStyle = computed(() => { return {'background-color': color.value} })
const lightColorStyle = computed(() => { return {'background-color': lightColor.value} }) // const lightColorStyle = computed(() => { return {'background-color': lightColor.value} })
const faintColorStyle = computed(() => { return {'background-color': faintColor.value} }) // const faintColorStyle = computed(() => { return {'background-color': faintColor.value} })
const inToken = computed( ()=>props.order.buy ? co.quoteToken : co.baseToken ) const inToken = computed( ()=>props.order.buy ? co.quoteToken : co.baseToken )
const maxAmount = computed(()=>{ const maxAmount = computed(()=>{

View File

@@ -9,20 +9,22 @@
<v-btn variant="text" prepend-icon="mdi-delete" v-if="co.orders.length>0" <v-btn variant="text" prepend-icon="mdi-delete" v-if="co.orders.length>0"
:disabled="!orderChanged" @click="cancelOrder">Reset</v-btn> :disabled="!orderChanged" @click="cancelOrder">Reset</v-btn>
</template> </template>
<needs-chart> <div class="overflow-y-auto">
<template v-for="o in co.orders"> <needs-chart>
<chart-order :order="o"/> <template v-for="o in co.orders">
</template> <chart-order :order="o"/>
<v-dialog v-model="showResetDialog" max-width="300"> </template>
<v-card title="Cancel Order?" text="Do you want to cancel this order and start again?"> <v-dialog v-model="showResetDialog" max-width="300">
<v-card-actions> <v-card title="Cancel Order?" text="Do you want to cancel this order and start again?">
<v-spacer/> <v-card-actions>
<v-btn @click="()=>showResetDialog=false">Keep Existing</v-btn> <v-spacer/>
<v-btn @click="()=>{co.resetOrders(); showResetDialog=false}" color="red" text="Reset Order"/> <v-btn @click="()=>showResetDialog=false">Keep Existing</v-btn>
</v-card-actions> <v-btn @click="()=>{co.resetOrders(); showResetDialog=false}" color="red" text="Reset Order"/>
</v-card> </v-card-actions>
</v-dialog> </v-card>
</needs-chart> </v-dialog>
</needs-chart>
</div>
</toolbar-pane> </toolbar-pane>
</template> </template>
@@ -63,7 +65,7 @@ const theme = useTheme().current
const orderColor = computed(()=>co.orders.length===0?null : co.orders[0].buy ? theme.value.colors.success:theme.value.colors.error) const orderColor = computed(()=>co.orders.length===0?null : co.orders[0].buy ? theme.value.colors.success:theme.value.colors.error)
const valid = computed(()=>{ const valid = computed(()=>{
if (!s.allowed) if (!s.approved)
return false return false
if (co.drawing) if (co.drawing)
return false return false
@@ -127,7 +129,7 @@ async function placeOrder() {
</script> </script>
<style lang="scss"> <style lang="scss"> // NOT scoped
body { body {
overflow-y: hidden; overflow-y: hidden;
} }

View File

@@ -8,7 +8,7 @@ import {computed} from "vue";
const props = defineProps(['color']) const props = defineProps(['color'])
const computedStyle = computed(() => { const computedStyle = computed(() => {
return { return {
'background-color': props.color, // 'background-color': props.color,
'border-color': props.color, 'border-color': props.color,
'width': '.67em', 'width': '.67em',
'border-top-width': '1px', 'border-top-width': '1px',

View File

@@ -202,7 +202,7 @@ function buildTranches() {
const t = newTranche({ const t = newTranche({
fraction: ws[i] * MAX_FRACTION, fraction: ws[i] * MAX_FRACTION,
startTime: ts[i], startTime: ts[i],
endTime: ets[i], endTime: Math.max(ets[i],ts[i]+60), // always give at least 60 seconds of window to execute
slippage: builder.slippage, slippage: builder.slippage,
}) })
tranches.push(t) tranches.push(t)

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="d-flex mb-1 align-center w-100"> <div class="d-flex mb-1 align-center w-100">
<logo class="d-flex align-end clickable logo-large" @click="nav('Order')" :show-tag="true"/> <logo class="d-flex align-end clickable logo-large ml-1" @click="nav('Order')" :show-tag="true" max-height="32"/>
<slot/> <slot/>
<div class="ml-auto d-flex align-center"> <div class="ml-auto d-flex align-center">
<span class="title mr-4">{{title}}</span> <span class="title mr-4">{{title}}</span>
@@ -9,7 +9,7 @@
<toolbar-button tooltip="Assets" icon="mdi-currency-btc" route="Assets"/> <toolbar-button tooltip="Assets" icon="mdi-currency-btc" route="Assets"/>
<!-- mdi-format-list-checks mdi-format-list-bulleted-square --> <!-- mdi-format-list-checks mdi-format-list-bulleted-square -->
<toolbar-button tooltip="Status" icon="mdi-format-list-checks" route="Status"/> <toolbar-button tooltip="Status" icon="mdi-format-list-checks" route="Status"/>
<v-btn variant="text" icon="mdi-information-outline" text="Info" @click="showCorp"></v-btn> <toolbar-button tooltip="About" icon="mdi-information-outline" href="https://dexorder.trade/home" target="dexorder-help"/>
</div> </div>
</div> </div>
</template> </template>
@@ -21,10 +21,6 @@ import {nav} from "@/misc.js";
const props = defineProps(['title', 'icon']) const props = defineProps(['title', 'icon'])
function showCorp() {
window.open('https://dexorder.trade/', 'dexorder')
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -2,7 +2,7 @@
<v-tooltip :text="tooltip" location="top"> <v-tooltip :text="tooltip" location="top">
<template v-slot:activator="{ props }"> <template v-slot:activator="{ props }">
<v-btn v-bind="props" :color="isCurrent?'primary':undefined" variant="text" <v-btn v-bind="props" :color="isCurrent?'primary':undefined" variant="text"
:icon="icon" @click="()=>nav(route)"/> :icon="icon" @click="click"/>
</template> </template>
</v-tooltip> </v-tooltip>
</template> </template>
@@ -12,9 +12,25 @@ import {computed} from "vue";
import {useRoute} from "vue-router"; import {useRoute} from "vue-router";
import {nav} from "/src/misc.js" import {nav} from "/src/misc.js"
const props = defineProps(['icon', 'route', 'tooltip']) const props = defineProps(['icon', 'route', 'tooltip', 'href', 'target'])
const router = useRoute(); const router = useRoute();
const isCurrent = computed(() => router.name === props.route) const isCurrent = computed(() => router.name === props.route)
function click() {
if (!props.href && !props.route)
console.warn('must set href or route in toolbar-button')
else if (props.href && props.route)
console.warn('cannot set both rout and href in toolbar-button')
else if (props.href) {
if (props.target)
window.open(props.href, props.target)
else
window.location.href = props.href
}
else
nav(props.route)
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -28,9 +28,6 @@
<app-btn/> <app-btn/>
<v-btn prepend-icon="mdi-information-outline" variant="flat" text="How It Works" @click="nav('HowItWorks')"/> <v-btn prepend-icon="mdi-information-outline" variant="flat" text="How It Works" @click="nav('HowItWorks')"/>
</div> </div>
<div class="w-100 d-flex justify-center my-6 actions">
<social class="ml-12"/>
</div>
</v-card> </v-card>
</template> </template>

View File

@@ -1,53 +1,38 @@
<template> <template>
<v-card elevation="0" class="how"> <v-card elevation="0" class="how">
<v-card-title><v-icon icon="mdi-information-outline"/>&nbsp;How&nbsp;It&nbsp;Works</v-card-title> <v-card-title><v-icon icon="mdi-information-outline"/>&nbsp;How&nbsp;It&nbsp;Works</v-card-title>
<v-card-item><v-img src="/how-it-works.png" class="my-6"/></v-card-item> <v-card-item><v-img src="/howitworks.png" class="my-6"/></v-card-item>
<v-card-text>
<h4>Order Management</h4>
<p>
Dexorder is an on-chain Order Management System (OMS) that holds advanced order types and executes them
on the appropriate <uniswap-logo/> DeFi exchange at the correct time.
</p>
</v-card-text>
<v-card-text> <v-card-text>
<h4>Personal Trading Vaults</h4> <h4>Personal Trading Vaults</h4>
<p> <p>
Everyone gets your own trading vault smart contract, which can hold <i>orders</i> as well as tokens. Whenever Dexorder provides advanced order management for your favorite <uniswap-logo/> DeFi pools by providing you with
your order conditions are met, vault will trade its tokens with Uniswap. After completing a swap, your vault a personal trading vault smart contract that can hold orders as well as tokens. When you create an order in
can also trigger other actions like creating a stoploss order. the Dexorder app, you save it in your on-chain vault, and then your smart trading vault will follow those
</p> order instructions to trade any coins that are in the vault.
<p>
Only you the vault's owner may withdraw funds or manage orders in your vault.
The orders in the vault may only trade the tokens in the vault, and your regular wallet is never touched.
</p>
<p>
See our open source smart contracts on <a href="https://github.com/dexorder-trade/contract">GitHub</a>.
</p> </p>
</v-card-text> </v-card-text>
<v-card-text> <v-card-text>
<h4>Funds are Never Locked</h4> <h4>Funds are Never Locked</h4>
<p> <p>
Tokens deposited into your vault may always be withdrawn at any time by only you. Funds are <i>never</i> locked Tokens deposited into your vault may always be withdrawn at any time by only you. Funds are <i>never</i> locked
by the vault. If active orders in the vault need those funds, those orders are simply unable to trade, and the by the vault. If active orders in the vault need funds that you withdrew, those orders are simply unable to
orders will stay open without being able to execute. If you put tokens back into your vault, any open orders trade, and the orders will stay open without being able to execute. If you put tokens back into your vault,
will automatically resume and trade the newly available funds. the orders will automatically resume and trade the newly deposited funds.
</p> </p>
</v-card-text> </v-card-text>
<v-card-text> <v-card-text>
<h4>Portfolio Management</h4> <h4>Prepaid Gas</h4>
<p> <p>
Since your trading vault can see all your tokens and orders, it also provides Cancel All and Orders like Limit Orders and DCA Orders do not execute right away but wait until time or price conditions are
Sell Everything functions to augment your risk management when markets move fast. met. Activating a swap order against the DeFi pool requires a well-timed execution of your trading vault's
execute() method along with the necessary gas. Dexorder charges you up-front at order placement time for an
estimated future amount of gas. Then when the market conditions for your orders are met, Dexorder supplies
your trading vault with that gas along with information about which order to execute. Your vault will check the
order conditions against the current price and time, and perform the swap with the DeFi pool only if everything
looks correct.
</p> </p>
</v-card-text>
<v-card-text>
<h4>Activation</h4>
<p> <p>
Dexorder watches the market to know when your order conditions have been met, and then activates your vaults See our open source smart contracts on <a href="https://github.com/dexorder-trade/contract">GitHub</a>.
with any orders could trade immediately. The trading vaults do not trust Dexorder's activation message and perform
an extensive check of the order conditions before agreeing to send an actual order to a Uniswap pool. Dexorder
never has access to vault funds and cannot change any orders. Dexorder is only able to activate the vault and
provide gas at the correct times.
</p> </p>
</v-card-text> </v-card-text>
<v-card-text> <v-card-text>

View File

@@ -13,7 +13,6 @@ import { createApp } from 'vue'
// Plugins // Plugins
import { registerPlugins } from '@/plugins' import { registerPlugins } from '@/plugins'
import '@/styles/style.scss' import '@/styles/style.scss'
import {detectChain} from "@/blockchain/wallet.js";
import "./socket.js" import "./socket.js"
import "./version.js" import "./version.js"
@@ -22,5 +21,4 @@ BigInt.prototype.toJSON = function() { return this.toString() }
const app = createApp(App) const app = createApp(App)
registerPlugins(app) registerPlugins(app)
app.mount('#app') app.mount('#app')
detectChain()
window.$vuetify = app window.$vuetify = app

View File

@@ -4,6 +4,7 @@ import {token} from "@/blockchain/token.js";
import Color from "color"; import Color from "color";
import {DateTime} from "luxon"; import {DateTime} from "luxon";
import router from "@/router/index.js"; import router from "@/router/index.js";
import {dateString} from "@/common.js";
export function nav(name) { export function nav(name) {
// noinspection JSIgnoredPromiseFromCall // noinspection JSIgnoredPromiseFromCall
@@ -101,18 +102,6 @@ export function timestampString(seconds) {
} }
export function dateString(datetime) {
return datetime.toLocaleString({dateStyle: 'medium', timeStyle: 'short'})
}
export function timestamp(date = null) {
if (date === null)
date = new Date()
return Math.round(date.getTime() / 1000)
}
export function pairKey(chainId, tokenA, tokenB) { export function pairKey(chainId, tokenA, tokenB) {
const token0 = tokenA.a < tokenB.a ? tokenA.a : tokenB.a const token0 = tokenA.a < tokenB.a ? tokenA.a : tokenB.a
const token1 = tokenA.a > tokenB.a ? tokenA.a : tokenB.a const token1 = tokenA.a > tokenB.a ? tokenA.a : tokenB.a
@@ -172,7 +161,12 @@ export function uuid() {
} }
export function lightenColor(color, lightness = 85, alpha = null) { export function lightenColor(color, lightness = 85, alpha = null) {
let c = new Color(color).hsl().lightness(lightness).rgb() let c = new Color(color).hsl()
if (useStore().theme === 'light')
c = c.lightness(lightness)
else
c = c.lightness(100-lightness)
c = c.rgb()
if (alpha !== null) if (alpha !== null)
c = c.alpha(alpha) c = c.alpha(alpha)
return c.string() return c.string()

View File

@@ -1,7 +1,3 @@
/*
* Copyright ©2024 Dexorder LLC. All Rights Reserved.
*/
import {getToken} from "@/blockchain/token.js"; import {getToken} from "@/blockchain/token.js";
let native = false // whether native browser notifications are allowed let native = false // whether native browser notifications are allowed

View File

@@ -1,7 +1,7 @@
import {computeInterceptSlope, timestamp, uuid} from "@/misc.js"; import {computeInterceptSlope, uuid} from "@/misc.js";
import {MAX_FRACTION, newTranche} from "@/blockchain/orderlib.js"; import {MAX_FRACTION, newTranche} from "@/blockchain/orderlib.js";
import {useOrderStore, useStore} from "@/store/store.js"; import {useOrderStore, useStore} from "@/store/store.js";
import {encodeIEE754} from "@/common.js"; import {encodeIEE754, timestamp} from "@/common.js";
import {defineStore} from "pinia"; import {defineStore} from "pinia";
import {computed, ref} from "vue"; import {computed, ref} from "vue";
import Color from "color"; import Color from "color";

View File

@@ -9,51 +9,66 @@ import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles' import 'vuetify/styles'
// Composables // Composables
import { createVuetify } from 'vuetify' import {createVuetify} from 'vuetify'
import {
colorContrast,
dark,
darken1,
darkMiddleShadeIndex,
light,
lightMiddleShadeIndex, numShades,
printContrast
} from "../../theme.js";
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
const darkGray = '#333' function makeColors(isLight) {
const c = isLight ? light : dark;
const k = isLight ? c.grays : c.grays.toReversed() // k=0 is background and k=19 is text
const base = isLight ? numShades-colorContrast-1 : colorContrast
const ink = k[printContrast] // text color
function darken(cols,shades) {return cols[base+(isLight?-shades:shades)]}
// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
return {
background: k[0],
surface: k[0],
'surface-bright': k[0],
'surface-light': k[2],
'surface-variant': k[14],
'on-surface-variant': k[2],
primary: c.greens[base],
'primary-darken-1': darken(c.greens, darken1),
secondary: c.blues[base],
'secondary-darken-1': darken(c.blues, darken1),
'grey-darken-1': k[14],
success: c.greens[base],
warning: c.yellows[base],
info: c.blues[base],
error: c.reds[base],
"on-background": ink,
"on-surface": ink,
"on-primary": ink,
"on-secondary": ink,
"on-success": ink,
"on-info": ink,
"on-warning": ink,
"on-error": ink,
}
}
const lightColors = makeColors(true)
const darkColors = makeColors(false);
export default createVuetify({ export default createVuetify({
theme: { theme: {
defaultTheme: 'dark',
themes: { themes: {
light: { light: {
colors: { colors: lightColors,
background: '#ffffff',
surface: '#ffffff',
primary: '#35D721',
success: '#35D721',
warning: '#FFDE00',
error: '#DD1A10',
"on-background": darkGray,
"on-surface": darkGray,
"on-primary": darkGray,
"on-secondary": darkGray,
"on-success": darkGray,
"on-info": darkGray,
"on-warning": darkGray,
"on-error": darkGray,
},
dark: false, dark: false,
variables: {}, variables: {},
}, },
dark: { dark: {
colors: { colors: darkColors,
background: '#000',
surface: '#000',
primary: '#35D721',
success: '#35D721',
warning: '#FFDE00',
error: '#DD1A10',
"on-background": darkGray,
"on-surface": darkGray,
"on-primary": darkGray,
"on-secondary": darkGray,
"on-success": darkGray,
"on-info": darkGray,
"on-warning": darkGray,
"on-error": darkGray,
},
dark: true, dark: true,
variables: {}, variables: {},
}, },

View File

@@ -3,7 +3,7 @@ import {useStore} from "@/store/store.js";
import {flushOrders} from "@/blockchain/wallet.js"; import {flushOrders} from "@/blockchain/wallet.js";
import {parseElaboratedOrderStatus} from "@/blockchain/orderlib.js"; import {parseElaboratedOrderStatus} from "@/blockchain/orderlib.js";
import { DataFeed } from "./charts/datafeed"; import { DataFeed } from "./charts/datafeed";
import {notify, notifyFillEvent} from "@/notify.js"; import {notifyFillEvent} from "@/notify.js";
export const socket = io(import.meta.env.VITE_WS_URL || undefined, {transports: ["websocket"]}) export const socket = io(import.meta.env.VITE_WS_URL || undefined, {transports: ["websocket"]})
@@ -105,7 +105,7 @@ socket.on( 'of', (chainId, vault, orderIndex, filled)=>{
} }
const status = s.orders[vault][orderIndex] const status = s.orders[vault][orderIndex]
// console.log('apply fills', status, filled) console.log('apply fills', status, filled)
let orderIn = 0n let orderIn = 0n
let orderOut = 0n let orderOut = 0n
@@ -123,7 +123,7 @@ socket.on( 'of', (chainId, vault, orderIndex, filled)=>{
fee = BigInt(fee) fee = BigInt(fee)
filledIn += fi filledIn += fi
filledOut += fo filledOut += fo
if (i<=numOld) { if (i>=numOld) {
// new fill detected // new fill detected
const f = {tx, time, filledIn: fi, filledOut: fo, fee, filled: status.order.amountIsInput ? fi : fo}; const f = {tx, time, filledIn: fi, filledOut: fo, fee, filled: status.order.amountIsInput ? fi : fo};
console.log('new fill', f) console.log('new fill', f)
@@ -141,5 +141,5 @@ socket.on( 'of', (chainId, vault, orderIndex, filled)=>{
status.filledOut = orderOut status.filledOut = orderOut
status.filled = status.order.amountIsInput ? orderIn : orderOut status.filled = status.order.amountIsInput ? orderIn : orderOut
// console.log('apply fills completed', status) console.log('apply fills completed', status)
}) })

View File

@@ -41,11 +41,12 @@ export const useStore = defineStore('app', ()=> {
const timeZone = ref('Etc/UTC') const timeZone = ref('Etc/UTC')
const nav = ref(false) // controls opening navigation drawer const nav = ref(false) // controls opening navigation drawer
const theme = ref('light') // todo 'dark' const theme = ref('dark')
const connected = ref(true) // we assume a connection will succeed until socket.io complains otherwise const connected = ref(true) // we assume a connection will succeed until socket.io complains otherwise
const regionApproved = ref(REQUIRE_APPROVAL?null:true) const regionApproved = ref(REQUIRE_APPROVAL?null:true)
const walletApproved = ref(REQUIRE_APPROVAL?null:true) const walletApproved = ref(REQUIRE_APPROVAL?null:true)
const approved = computed(()=>(regionApproved.value && walletApproved.value))
const _chainId = ref(Number(Object.keys(versionMeta.chainInfo)[0])) const _chainId = ref(Number(Object.keys(versionMeta.chainInfo)[0]))
const _chainInfo = ref(versionMeta.chainInfo) const _chainInfo = ref(versionMeta.chainInfo)
@@ -139,7 +140,7 @@ export const useStore = defineStore('app', ()=> {
tokens, factory, helper, theme, tokens, factory, helper, theme,
mockenv, mockCoins, mockenv, mockCoins,
removeTransactionSender, error, closeError, addToken, clock, timeZone, balances, removeTransactionSender, error, closeError, addToken, clock, timeZone, balances,
regionApproved, walletApproved, approved, regionApproved, walletApproved,
} }
}) })

View File

@@ -15,11 +15,23 @@ export const purple = '#892ABF'
export const white = '#FFFFFF' export const white = '#FFFFFF'
export const black = '#000000' export const black = '#000000'
// adjust this number upwards to make the TradingView palette brighter and downwards for darker export const colorNames = ['blue', 'gray', 'red', 'green', 'orange', 'purple', 'yellow']
const lightMiddleShadeIndex = 9
const darkMiddleShadeIndex = 9 // adjust this number upwards to make the TradingView palette brighter and downwards for darker
export const lightMiddleShadeIndex = 9
export const darkMiddleShadeIndex = 9
export const numShades = 20 // if you change this, see vuetify.js colors that hardcode indexes
// these parameters are expressed in terms of numShades:
export const printContrast = 15;
// vuetify darken. values are added/substracted from the middleShadeIndex. use positive numbers here.
export const colorContrast = 4;
export const darken1 = 3;
export const lighten1 = 3;
export const darken2 = 6;
export const lighten2 = 6;
const numShades = 20
function shadesOf(rgb, middleShadeIndex) { function shadesOf(rgb, middleShadeIndex) {
const c = new Color(rgb) const c = new Color(rgb)
@@ -39,26 +51,46 @@ function shadesOf(rgb, middleShadeIndex) {
return [...lights.toReversed(), ...darks] return [...lights.toReversed(), ...darks]
} }
export const light = {
blues: shadesOf(blue, lightMiddleShadeIndex),
grays: shadesOf(gray, lightMiddleShadeIndex),
reds: shadesOf(red, lightMiddleShadeIndex),
greens: shadesOf(green, lightMiddleShadeIndex),
oranges: shadesOf(orange, lightMiddleShadeIndex),
purples: shadesOf(purple, lightMiddleShadeIndex),
yellows: shadesOf(yellow, lightMiddleShadeIndex),
}
export const tvLightTheme = { export const tvLightTheme = {
"color1": shadesOf(blue, lightMiddleShadeIndex), "color1": light.blues,
"color2": shadesOf(gray, lightMiddleShadeIndex), "color2": light.grays,
"color3": shadesOf(red, lightMiddleShadeIndex), "color3": light.reds,
"color4": shadesOf(green, lightMiddleShadeIndex), "color4": light.greens,
"color5": shadesOf(orange, lightMiddleShadeIndex), "color5": light.oranges,
"color6": shadesOf(purple, lightMiddleShadeIndex), "color6": light.purples,
"color7": shadesOf(yellow, lightMiddleShadeIndex), "color7": light.yellows,
"white": white, "white": white,
"black": black, "black": black,
} }
export const dark = {
blues: shadesOf(blue, darkMiddleShadeIndex),
grays: shadesOf(gray, darkMiddleShadeIndex),
reds: shadesOf(red, darkMiddleShadeIndex),
greens: shadesOf(green, darkMiddleShadeIndex),
oranges: shadesOf(orange, darkMiddleShadeIndex),
purples: shadesOf(purple, darkMiddleShadeIndex),
yellows: shadesOf(yellow, darkMiddleShadeIndex),
}
export const tvDarkTheme = { export const tvDarkTheme = {
"color1": shadesOf(blue, darkMiddleShadeIndex), "color1": dark.blues,
"color2": shadesOf(gray, darkMiddleShadeIndex), "color2": dark.grays,
"color3": shadesOf(red, darkMiddleShadeIndex), "color3": dark.reds,
"color4": shadesOf(green, darkMiddleShadeIndex), "color4": dark.greens,
"color5": shadesOf(orange, darkMiddleShadeIndex), "color5": dark.oranges,
"color6": shadesOf(purple, darkMiddleShadeIndex), "color6": dark.purples,
"color7": shadesOf(yellow, darkMiddleShadeIndex), "color7": dark.yellows,
"white": white, "white": white,
"black": black, "black": black,
} }

500
yarn.lock
View File

@@ -15,7 +15,7 @@
"@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/trace-mapping" "^0.3.24"
"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2":
version "7.26.2" version "7.26.2"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
@@ -24,12 +24,12 @@
js-tokens "^4.0.0" js-tokens "^4.0.0"
picocolors "^1.0.0" picocolors "^1.0.0"
"@babel/compat-data@^7.25.9": "@babel/compat-data@^7.26.5":
version "7.26.2" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.5.tgz#df93ac37f4417854130e21d72c66ff3d4b897fc7"
integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== integrity sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==
"@babel/core@^7.25.7": "@babel/core@^7.26.0":
version "7.26.0" version "7.26.0"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40"
integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==
@@ -50,23 +50,23 @@
json5 "^2.2.3" json5 "^2.2.3"
semver "^6.3.1" semver "^6.3.1"
"@babel/generator@^7.25.9", "@babel/generator@^7.26.0": "@babel/generator@^7.26.0", "@babel/generator@^7.26.5":
version "7.26.2" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.5.tgz#e44d4ab3176bbcaf78a5725da5f1dc28802a9458"
integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== integrity sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==
dependencies: dependencies:
"@babel/parser" "^7.26.2" "@babel/parser" "^7.26.5"
"@babel/types" "^7.26.0" "@babel/types" "^7.26.5"
"@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/trace-mapping" "^0.3.25"
jsesc "^3.0.2" jsesc "^3.0.2"
"@babel/helper-compilation-targets@^7.25.9": "@babel/helper-compilation-targets@^7.25.9":
version "7.25.9" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8"
integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==
dependencies: dependencies:
"@babel/compat-data" "^7.25.9" "@babel/compat-data" "^7.26.5"
"@babel/helper-validator-option" "^7.25.9" "@babel/helper-validator-option" "^7.25.9"
browserslist "^4.24.0" browserslist "^4.24.0"
lru-cache "^5.1.1" lru-cache "^5.1.1"
@@ -112,17 +112,17 @@
"@babel/template" "^7.25.9" "@babel/template" "^7.25.9"
"@babel/types" "^7.26.0" "@babel/types" "^7.26.0"
"@babel/parser@^7.25.3", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": "@babel/parser@^7.25.3", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.5":
version "7.26.2" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.5.tgz#6fec9aebddef25ca57a935c86dbb915ae2da3e1f"
integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== integrity sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==
dependencies: dependencies:
"@babel/types" "^7.26.0" "@babel/types" "^7.26.5"
"@babel/standalone@^7.25.7": "@babel/standalone@^7.26.4":
version "7.26.2" version "7.26.6"
resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.26.2.tgz#a1fdf2d477a1f3d2828f0551b5dc14c44d4e127f" resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.26.6.tgz#d1af5d3fe0b635d4571e5a42d1018b3291bd58a6"
integrity sha512-i2VbegsRfwa9yq3xmfDX3tG2yh9K0cCqwpSyVG2nPxifh0EOnucAZUeO/g4lW2Zfg03aPJNtPfxQbDHzXc7H+w== integrity sha512-h1mkoNFYCqDkS+vTLGzsQYvp1v1qbuugk4lOtb/oyjArZ+EtreAaxcSYg3rSIzWZRQOjx4iqGe7A8NRYIMSTTw==
"@babel/template@^7.25.9": "@babel/template@^7.25.9":
version "7.25.9" version "7.25.9"
@@ -134,22 +134,22 @@
"@babel/types" "^7.25.9" "@babel/types" "^7.25.9"
"@babel/traverse@^7.25.9": "@babel/traverse@^7.25.9":
version "7.25.9" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.5.tgz#6d0be3e772ff786456c1a37538208286f6e79021"
integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== integrity sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==
dependencies: dependencies:
"@babel/code-frame" "^7.25.9" "@babel/code-frame" "^7.26.2"
"@babel/generator" "^7.25.9" "@babel/generator" "^7.26.5"
"@babel/parser" "^7.25.9" "@babel/parser" "^7.26.5"
"@babel/template" "^7.25.9" "@babel/template" "^7.25.9"
"@babel/types" "^7.25.9" "@babel/types" "^7.26.5"
debug "^4.3.1" debug "^4.3.1"
globals "^11.1.0" globals "^11.1.0"
"@babel/types@^7.25.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0": "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.26.5":
version "7.26.0" version "7.26.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.5.tgz#7a1e1c01d28e26d1fe7f8ec9567b3b92b9d07747"
integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== integrity sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==
dependencies: dependencies:
"@babel/helper-string-parser" "^7.25.9" "@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9"
@@ -316,9 +316,9 @@
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
"@jridgewell/gen-mapping@^0.3.5": "@jridgewell/gen-mapping@^0.3.5":
version "0.3.5" version "0.3.8"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142"
integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==
dependencies: dependencies:
"@jridgewell/set-array" "^1.2.1" "@jridgewell/set-array" "^1.2.1"
"@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/sourcemap-codec" "^1.4.10"
@@ -385,50 +385,41 @@
"@nodelib/fs.scandir" "2.1.5" "@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0" fastq "^1.6.0"
"@nuxt/kit@^3.13.2": "@nuxt/kit@^3.14.1592":
version "3.14.1592" version "3.15.1"
resolved "https://registry.yarnpkg.com/@nuxt/kit/-/kit-3.14.1592.tgz#f959a269424c1ee313585a46112e474b6ccab3bc" resolved "https://registry.yarnpkg.com/@nuxt/kit/-/kit-3.15.1.tgz#4b3bd1e2dafd1c14fbb7ac8ef45dc5ee0cc5ec90"
integrity sha512-r9r8bISBBisvfcNgNL3dSIQHSBe0v5YkX5zwNblIC2T0CIEgxEVoM5rq9O5wqgb5OEydsHTtT2hL57vdv6VT2w== integrity sha512-7cVWjzfz3L6CsZrg6ppDZa7zGrZxCSfZjEQDIvVFn4mFKtJlK9k2izf5EewL6luzWwIQojkZAC3iq/1wtgI0Xw==
dependencies: dependencies:
"@nuxt/schema" "3.14.1592" "@nuxt/schema" "3.15.1"
c12 "^2.0.1" c12 "^2.0.1"
consola "^3.2.3" consola "^3.3.3"
defu "^6.1.4" defu "^6.1.4"
destr "^2.0.3" destr "^2.0.3"
globby "^14.0.2" globby "^14.0.2"
hash-sum "^2.0.0" ignore "^7.0.0"
ignore "^6.0.2" jiti "^2.4.2"
jiti "^2.4.0"
klona "^2.0.6" klona "^2.0.6"
knitwork "^1.1.0" knitwork "^1.2.0"
mlly "^1.7.3" mlly "^1.7.3"
pathe "^1.1.2" ohash "^1.1.4"
pkg-types "^1.2.1" pathe "^2.0.0"
pkg-types "^1.3.0"
scule "^1.3.0" scule "^1.3.0"
semver "^7.6.3" semver "^7.6.3"
ufo "^1.5.4" ufo "^1.5.4"
unctx "^2.3.1" unctx "^2.4.1"
unimport "^3.13.2" unimport "^3.14.5"
untyped "^1.5.1" untyped "^1.5.2"
"@nuxt/schema@3.14.1592": "@nuxt/schema@3.15.1":
version "3.14.1592" version "3.15.1"
resolved "https://registry.yarnpkg.com/@nuxt/schema/-/schema-3.14.1592.tgz#38c5c0af51d0b95e011db6c332f578aac97c8c82" resolved "https://registry.yarnpkg.com/@nuxt/schema/-/schema-3.15.1.tgz#85022fa08948b9c66775e12d3f52cff6e086eabe"
integrity sha512-A1d/08ueX8stTXNkvGqnr1eEXZgvKn+vj6s7jXhZNWApUSqMgItU4VK28vrrdpKbjIPwq2SwhnGOHUYvN9HwCQ== integrity sha512-n5kOHt8uUyUM9z4Wu/8tIZkBYh3KTCGvyruG6oD9bfeT4OaS21+X3M7XsTXFMe+eYBZA70IFFlWn1JJZIPsKeA==
dependencies: dependencies:
c12 "^2.0.1" consola "^3.3.3"
compatx "^0.1.8"
consola "^3.2.3"
defu "^6.1.4" defu "^6.1.4"
hookable "^5.5.3" pathe "^2.0.0"
pathe "^1.1.2"
pkg-types "^1.2.1"
scule "^1.3.0"
std-env "^3.8.0" std-env "^3.8.0"
ufo "^1.5.4"
uncrypto "^0.1.3"
unimport "^3.13.2"
untyped "^1.5.1"
"@parcel/watcher-android-arm64@2.5.0": "@parcel/watcher-android-arm64@2.5.0":
version "2.5.0" version "2.5.0"
@@ -519,10 +510,10 @@
"@parcel/watcher-win32-ia32" "2.5.0" "@parcel/watcher-win32-ia32" "2.5.0"
"@parcel/watcher-win32-x64" "2.5.0" "@parcel/watcher-win32-x64" "2.5.0"
"@rollup/pluginutils@^5.1.3": "@rollup/pluginutils@^5.1.4":
version "5.1.3" version "5.1.4"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.3.tgz#3001bf1a03f3ad24457591f2c259c8e514e0dbdf" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz#bb94f1f9eaaac944da237767cdfee6c5b2262d4a"
integrity sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A== integrity sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==
dependencies: dependencies:
"@types/estree" "^1.0.0" "@types/estree" "^1.0.0"
estree-walker "^2.0.2" estree-walker "^2.0.2"
@@ -551,9 +542,9 @@
undici-types "~6.19.2" undici-types "~6.19.2"
"@ungap/structured-clone@^1.2.0": "@ungap/structured-clone@^1.2.0":
version "1.2.0" version "1.2.1"
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.1.tgz#28fa185f67daaf7b7a1a8c1d445132c5d979f8bd"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== integrity sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==
"@vitejs/plugin-vue@^4.0.0": "@vitejs/plugin-vue@^4.0.0":
version "4.6.2" version "4.6.2"
@@ -658,7 +649,7 @@ acorn-jsx@^5.3.2:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^8.14.0, acorn@^8.8.2, acorn@^8.9.0: acorn@^8.14.0, acorn@^8.9.0:
version "8.14.0" version "8.14.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
@@ -721,13 +712,13 @@ braces@^3.0.3:
fill-range "^7.1.1" fill-range "^7.1.1"
browserslist@^4.24.0: browserslist@^4.24.0:
version "4.24.2" version "4.24.4"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b"
integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
dependencies: dependencies:
caniuse-lite "^1.0.30001669" caniuse-lite "^1.0.30001688"
electron-to-chromium "^1.5.41" electron-to-chromium "^1.5.73"
node-releases "^2.0.18" node-releases "^2.0.19"
update-browserslist-db "^1.1.1" update-browserslist-db "^1.1.1"
c12@^2.0.1: c12@^2.0.1:
@@ -753,10 +744,10 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
caniuse-lite@^1.0.30001669: caniuse-lite@^1.0.30001688:
version "1.0.30001680" version "1.0.30001692"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz#5380ede637a33b9f9f1fc6045ea99bd142f3da5e" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz#4585729d95e6b95be5b439da6ab55250cd125bf9"
integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== integrity sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==
chalk@^4.0.0: chalk@^4.0.0:
version "4.1.2" version "4.1.2"
@@ -767,9 +758,9 @@ chalk@^4.0.0:
supports-color "^7.1.0" supports-color "^7.1.0"
chokidar@^4.0.0, chokidar@^4.0.1: chokidar@^4.0.0, chokidar@^4.0.1:
version "4.0.1" version "4.0.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30"
integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==
dependencies: dependencies:
readdirp "^4.0.1" readdirp "^4.0.1"
@@ -818,11 +809,6 @@ commondir@^1.0.1:
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
compatx@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/compatx/-/compatx-0.1.8.tgz#af6f61910ade6ce1073c0fdff23c786bcd75c026"
integrity sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==
concat-map@0.0.1: concat-map@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -833,10 +819,10 @@ confbox@^0.1.7, confbox@^0.1.8:
resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06"
integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==
consola@^3.2.3: consola@^3.2.3, consola@^3.3.3:
version "3.2.3" version "3.4.0"
resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.0.tgz#4cfc9348fd85ed16a17940b3032765e31061ab88"
integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== integrity sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==
convert-source-map@^2.0.0: convert-source-map@^2.0.0:
version "2.0.0" version "2.0.0"
@@ -844,9 +830,9 @@ convert-source-map@^2.0.0:
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
core-js@^3.29.0: core-js@^3.29.0:
version "3.39.0" version "3.40.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.40.0.tgz#2773f6b06877d8eda102fc42f828176437062476"
integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== integrity sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==
cross-spawn@^7.0.2, cross-spawn@^7.0.3: cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.6" version "7.0.6"
@@ -867,7 +853,14 @@ csstype@^3.1.3:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.4.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
dependencies:
ms "^2.1.3"
debug@~4.3.1, debug@~4.3.2:
version "4.3.7" version "4.3.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52"
integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
@@ -907,14 +900,14 @@ doctrine@^3.0.0:
esutils "^2.0.2" esutils "^2.0.2"
dotenv@^16.4.5: dotenv@^16.4.5:
version "16.4.5" version "16.4.7"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26"
integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==
electron-to-chromium@^1.5.41: electron-to-chromium@^1.5.73:
version "1.5.63" version "1.5.82"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz#69444d592fbbe628d129866c2355691ea93eda3e" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz#b9116ac6d6b6346c2baa49f14c1272ba2ce1ccdb"
integrity sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA== integrity sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==
engine.io-client@~6.6.1: engine.io-client@~6.6.1:
version "6.6.2" version "6.6.2"
@@ -981,9 +974,9 @@ escape-string-regexp@^5.0.0:
integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
eslint-plugin-vue@^9.3.0: eslint-plugin-vue@^9.3.0:
version "9.31.0" version "9.32.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.31.0.tgz#5da53c2826f8efd8a62835aad596826053b1085e" resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz#2b558e827886b567dfaa156cc1cad0f596461fab"
integrity sha512-aYMUCgivhz1o4tLkRHj5oq9YgYPM4/EJc0M7TAKRLCUA5OYxRLAhYEVD2nLtTwLyixEFI+/QXSvKU9ESZFgqjQ== integrity sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==
dependencies: dependencies:
"@eslint-community/eslint-utils" "^4.4.0" "@eslint-community/eslint-utils" "^4.4.0"
globals "^13.24.0" globals "^13.24.0"
@@ -1097,9 +1090,9 @@ esutils@^2.0.2:
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
ethers@^6.7.1: ethers@^6.7.1:
version "6.13.4" version "6.13.5"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.4.tgz#bd3e1c3dc1e7dc8ce10f9ffb4ee40967a651b53c" resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.5.tgz#8c1d6ac988ac08abc3c1d8fabbd4b8b602851ac4"
integrity sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA== integrity sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==
dependencies: dependencies:
"@adraffy/ens-normalize" "1.10.1" "@adraffy/ens-normalize" "1.10.1"
"@noble/curves" "1.2.0" "@noble/curves" "1.2.0"
@@ -1129,16 +1122,16 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.3.2: fast-glob@^3.3.2, fast-glob@^3.3.3:
version "3.3.2" version "3.3.3"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
dependencies: dependencies:
"@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3" "@nodelib/fs.walk" "^1.2.3"
glob-parent "^5.1.2" glob-parent "^5.1.2"
merge2 "^1.3.0" merge2 "^1.3.0"
micromatch "^4.0.4" micromatch "^4.0.8"
fast-json-stable-stringify@^2.0.0: fast-json-stable-stringify@^2.0.0:
version "2.1.0" version "2.1.0"
@@ -1151,9 +1144,9 @@ fast-levenshtein@^2.0.6:
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
fastq@^1.6.0: fastq@^1.6.0:
version "1.17.1" version "1.18.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0"
integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==
dependencies: dependencies:
reusify "^1.0.4" reusify "^1.0.4"
@@ -1316,16 +1309,6 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
hash-sum@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
hookable@^5.5.3:
version "5.5.3"
resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d"
integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
human-signals@^5.0.0: human-signals@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28"
@@ -1336,10 +1319,10 @@ ignore@^5.2.0, ignore@^5.2.4:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
ignore@^6.0.2: ignore@^7.0.0:
version "6.0.2" version "7.0.3"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-6.0.2.tgz#77cccb72a55796af1b6d2f9eb14fa326d24f4283" resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.3.tgz#397ef9315dfe0595671eefe8b633fec6943ab733"
integrity sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A== integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==
immutable@^5.0.2: immutable@^5.0.2:
version "5.0.3" version "5.0.3"
@@ -1409,20 +1392,20 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
jiti@^2.3.0, jiti@^2.3.1, jiti@^2.4.0: jiti@^2.3.0, jiti@^2.4.1, jiti@^2.4.2:
version "2.4.0" version "2.4.2"
resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.0.tgz#393d595fb6031a11d11171b5e4fc0b989ba3e053" resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560"
integrity sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g== integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==
js-tokens@^4.0.0: js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-tokens@^9.0.0: js-tokens@^9.0.1:
version "9.0.0" version "9.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.0.tgz#0f893996d6f3ed46df7f0a3b12a03f5fd84223c1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.1.tgz#2ec43964658435296f6761b34e10671c2d9527f4"
integrity sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ== integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==
js-yaml@^4.1.0: js-yaml@^4.1.0:
version "4.1.0" version "4.1.0"
@@ -1432,9 +1415,9 @@ js-yaml@^4.1.0:
argparse "^2.0.1" argparse "^2.0.1"
jsesc@^3.0.2: jsesc@^3.0.2:
version "3.0.2" version "3.1.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
json-buffer@3.0.1: json-buffer@3.0.1:
version "3.0.1" version "3.0.1"
@@ -1468,10 +1451,10 @@ klona@^2.0.6:
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22"
integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==
knitwork@^1.1.0: knitwork@^1.2.0:
version "1.1.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/knitwork/-/knitwork-1.1.0.tgz#d8c9feafadd7ee744ff64340b216a52c7199c417" resolved "https://registry.yarnpkg.com/knitwork/-/knitwork-1.2.0.tgz#3cc92e76249aeb35449cfbed3f31c6df8444db3f"
integrity sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw== integrity sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==
levn@^0.4.1: levn@^0.4.1:
version "0.4.1" version "0.4.1"
@@ -1481,13 +1464,13 @@ levn@^0.4.1:
prelude-ls "^1.2.1" prelude-ls "^1.2.1"
type-check "~0.4.0" type-check "~0.4.0"
local-pkg@^0.5.0: local-pkg@^1.0.0:
version "0.5.1" version "1.0.0"
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.1.tgz#69658638d2a95287534d4c2fff757980100dbb6d" resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-1.0.0.tgz#a8d14dd41e78884f199ecd8b3eedaf0d376e2167"
integrity sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ== integrity sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==
dependencies: dependencies:
mlly "^1.7.3" mlly "^1.7.3"
pkg-types "^1.2.1" pkg-types "^1.3.0"
locate-path@^5.0.0: locate-path@^5.0.0:
version "5.0.0" version "5.0.0"
@@ -1530,10 +1513,10 @@ luxon@^3.4.4:
resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20"
integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==
magic-string@^0.30.0, magic-string@^0.30.11, magic-string@^0.30.12: magic-string@^0.30.11, magic-string@^0.30.17:
version "0.30.13" version "0.30.17"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.13.tgz#92438e3ff4946cf54f18247c981e5c161c46683c" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453"
integrity sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g== integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==
dependencies: dependencies:
"@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/sourcemap-codec" "^1.5.0"
@@ -1554,7 +1537,7 @@ merge2@^1.3.0:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4, micromatch@^4.0.5: micromatch@^4.0.5, micromatch@^4.0.8:
version "4.0.8" version "4.0.8"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
@@ -1599,30 +1582,25 @@ mkdirp@^1.0.3:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mlly@^1.7.1, mlly@^1.7.2, mlly@^1.7.3: mlly@^1.7.1, mlly@^1.7.3, mlly@^1.7.4:
version "1.7.3" version "1.7.4"
resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.3.tgz#d86c0fcd8ad8e16395eb764a5f4b831590cee48c" resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.4.tgz#3d7295ea2358ec7a271eaa5d000a0f84febe100f"
integrity sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A== integrity sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==
dependencies: dependencies:
acorn "^8.14.0" acorn "^8.14.0"
pathe "^1.1.2" pathe "^2.0.1"
pkg-types "^1.2.1" pkg-types "^1.3.0"
ufo "^1.5.4" ufo "^1.5.4"
mri@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
ms@^2.1.3: ms@^2.1.3:
version "2.1.3" version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
nanoid@^3.3.7: nanoid@^3.3.8:
version "3.3.7" version "3.3.8"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
natural-compare@^1.4.0: natural-compare@^1.4.0:
version "1.4.0" version "1.4.0"
@@ -1639,10 +1617,10 @@ node-fetch-native@^1.6.3:
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e"
integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==
node-releases@^2.0.18: node-releases@^2.0.19:
version "2.0.18" version "2.0.19"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
npm-run-path@^5.1.0: npm-run-path@^5.1.0:
version "5.3.0" version "5.3.0"
@@ -1771,12 +1749,17 @@ pathe@^1.1.2:
resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec"
integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
pathe@^2.0.0, pathe@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.1.tgz#ee1e6965c5ccfc98dc5a4b366a6ba6dd624a33d6"
integrity sha512-6jpjMpOth5S9ITVu5clZ7NOgHNsv5vRQdheL9ztp2vZmM6fRbLvyua1tiBIL4lk8SAe3ARzeXEly6siXCjDHDw==
perfect-debounce@^1.0.0: perfect-debounce@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: picocolors@^1.0.0, picocolors@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
@@ -1792,11 +1775,11 @@ picomatch@^4.0.2:
integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
pinia-plugin-persistedstate@^4.1.3: pinia-plugin-persistedstate@^4.1.3:
version "4.1.3" version "4.2.0"
resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.1.3.tgz#ddddf994ccddcadafa4ee3dd4b7762f337bd56f1" resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.2.0.tgz#31973291b768bd84ce24e55083e7171b2f451ad1"
integrity sha512-5Rad7oSoEh0na+j4jEViVQMtAYE38KjU7ixKc+am33QX/clJ1mb19zTZqMJXvq+PnQW7uuEuL33Q6NL0GbkfWw== integrity sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==
dependencies: dependencies:
"@nuxt/kit" "^3.13.2" "@nuxt/kit" "^3.14.1592"
deep-pick-omit "^1.2.1" deep-pick-omit "^1.2.1"
defu "^6.1.4" defu "^6.1.4"
destr "^2.0.3" destr "^2.0.3"
@@ -1816,14 +1799,14 @@ pkg-dir@^4.1.0:
dependencies: dependencies:
find-up "^4.0.0" find-up "^4.0.0"
pkg-types@^1.2.0, pkg-types@^1.2.1: pkg-types@^1.2.0, pkg-types@^1.3.0:
version "1.2.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.1.tgz#6ac4e455a5bb4b9a6185c1c79abd544c901db2e5" resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.3.1.tgz#bd7cc70881192777eef5326c19deb46e890917df"
integrity sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw== integrity sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==
dependencies: dependencies:
confbox "^0.1.8" confbox "^0.1.8"
mlly "^1.7.2" mlly "^1.7.4"
pathe "^1.1.2" pathe "^2.0.1"
postcss-selector-parser@^6.0.15: postcss-selector-parser@^6.0.15:
version "6.1.2" version "6.1.2"
@@ -1834,11 +1817,11 @@ postcss-selector-parser@^6.0.15:
util-deprecate "^1.0.2" util-deprecate "^1.0.2"
postcss@^8.4.27, postcss@^8.4.48: postcss@^8.4.27, postcss@^8.4.48:
version "8.4.49" version "8.5.1"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214"
integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==
dependencies: dependencies:
nanoid "^3.3.7" nanoid "^3.3.8"
picocolors "^1.1.1" picocolors "^1.1.1"
source-map-js "^1.2.1" source-map-js "^1.2.1"
@@ -1866,9 +1849,9 @@ rc9@^2.1.2:
destr "^2.0.3" destr "^2.0.3"
readdirp@^4.0.1: readdirp@^4.0.1:
version "4.0.2" version "4.1.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.1.tgz#bd115327129672dc47f87408f05df9bd9ca3ef55"
integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== integrity sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==
resolve-from@^4.0.0: resolve-from@^4.0.0:
version "4.0.0" version "4.0.0"
@@ -1907,9 +1890,9 @@ run-parallel@^1.1.9:
queue-microtask "^1.2.2" queue-microtask "^1.2.2"
sass@^1.60.0: sass@^1.60.0:
version "1.81.0" version "1.83.4"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.4.tgz#5ccf60f43eb61eeec300b780b8dcb85f16eec6d1"
integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== integrity sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==
dependencies: dependencies:
chokidar "^4.0.0" chokidar "^4.0.0"
immutable "^5.0.2" immutable "^5.0.2"
@@ -2006,12 +1989,12 @@ strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
strip-literal@^2.1.0: strip-literal@^2.1.1:
version "2.1.0" version "2.1.1"
resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.1.0.tgz#6d82ade5e2e74f5c7e8739b6c84692bd65f0bd2a" resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.1.1.tgz#26906e65f606d49f748454a08084e94190c2e5ad"
integrity sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw== integrity sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==
dependencies: dependencies:
js-tokens "^9.0.0" js-tokens "^9.0.1"
supports-color@^7.1.0: supports-color@^7.1.0:
version "7.2.0" version "7.2.0"
@@ -2066,20 +2049,15 @@ ufo@^1.5.4:
resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754"
integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==
uncrypto@^0.1.3: unctx@^2.4.1:
version "0.1.3" version "2.4.1"
resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" resolved "https://registry.yarnpkg.com/unctx/-/unctx-2.4.1.tgz#93346a98d4a38c64cc5861f6098f4ce7c6f8164a"
integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== integrity sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==
unctx@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/unctx/-/unctx-2.3.1.tgz#5eb4aa9f96fb5fdac18b88fe5ba8e122fe671a62"
integrity sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==
dependencies: dependencies:
acorn "^8.8.2" acorn "^8.14.0"
estree-walker "^3.0.3" estree-walker "^3.0.3"
magic-string "^0.30.0" magic-string "^0.30.17"
unplugin "^1.3.1" unplugin "^2.1.0"
undici-types@~6.19.2: undici-types@~6.19.2:
version "6.19.8" version "6.19.8"
@@ -2091,44 +2069,54 @@ unicorn-magic@^0.1.0:
resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4"
integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==
unimport@^3.13.2: unimport@^3.14.5:
version "3.13.2" version "3.14.6"
resolved "https://registry.yarnpkg.com/unimport/-/unimport-3.13.2.tgz#2a5f7458c66bc65485d62ad28462d38832aee0ba" resolved "https://registry.yarnpkg.com/unimport/-/unimport-3.14.6.tgz#f01170aa2fb94c4f97b22c0ac2822ef7e8e0726d"
integrity sha512-VKAepeIb6BWLtBl4tmyHY1/7rJgz3ynmZrWf8cU1a+v5Uv/k1gyyAEeGBnYcrwy8bxG5sflxEx4a9VQUqOVHUA== integrity sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==
dependencies: dependencies:
"@rollup/pluginutils" "^5.1.3" "@rollup/pluginutils" "^5.1.4"
acorn "^8.14.0" acorn "^8.14.0"
escape-string-regexp "^5.0.0" escape-string-regexp "^5.0.0"
estree-walker "^3.0.3" estree-walker "^3.0.3"
fast-glob "^3.3.2" fast-glob "^3.3.3"
local-pkg "^0.5.0" local-pkg "^1.0.0"
magic-string "^0.30.12" magic-string "^0.30.17"
mlly "^1.7.3" mlly "^1.7.4"
pathe "^1.1.2" pathe "^2.0.1"
pkg-types "^1.2.1" picomatch "^4.0.2"
pkg-types "^1.3.0"
scule "^1.3.0" scule "^1.3.0"
strip-literal "^2.1.0" strip-literal "^2.1.1"
unplugin "^1.15.0" unplugin "^1.16.1"
unplugin@^1.15.0, unplugin@^1.3.1: unplugin@^1.16.1:
version "1.16.0" version "1.16.1"
resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.0.tgz#ca0f248bf8798cd752dd02e5b381223b737cef72" resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.1.tgz#a844d2e3c3b14a4ac2945c42be80409321b61199"
integrity sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ== integrity sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==
dependencies: dependencies:
acorn "^8.14.0" acorn "^8.14.0"
webpack-virtual-modules "^0.6.2" webpack-virtual-modules "^0.6.2"
untyped@^1.5.1: unplugin@^2.1.0:
version "1.5.1" version "2.1.2"
resolved "https://registry.yarnpkg.com/untyped/-/untyped-1.5.1.tgz#2ccf3ee09419d59a44c21a192877ab45aa98361a" resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-2.1.2.tgz#3a0939061c0076f1a8178e5d4223df63ee62c741"
integrity sha512-reBOnkJBFfBZ8pCKaeHgfZLcehXtM6UTxc+vqs1JvCps0c4amLNp3fhdGBZwYp+VLyoY9n3X5KOP7lCyWBUX9A== integrity sha512-Q3LU0e4zxKfRko1wMV2HmP8lB9KWislY7hxXpxd+lGx0PRInE4vhMBVEZwpdVYHvtqzhSrzuIfErsob6bQfCzw==
dependencies: dependencies:
"@babel/core" "^7.25.7" acorn "^8.14.0"
"@babel/standalone" "^7.25.7" webpack-virtual-modules "^0.6.2"
"@babel/types" "^7.25.7"
untyped@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/untyped/-/untyped-1.5.2.tgz#36e892fab34172a9bc1d31004332ac2173b9d694"
integrity sha512-eL/8PlhLcMmlMDtNPKhyyz9kEBDS3Uk4yMu/ewlkT2WFbtzScjHWPJLdQLmaGPUKjXzwe9MumOtOgc4Fro96Kg==
dependencies:
"@babel/core" "^7.26.0"
"@babel/standalone" "^7.26.4"
"@babel/types" "^7.26.3"
citty "^0.1.6"
defu "^6.1.4" defu "^6.1.4"
jiti "^2.3.1" jiti "^2.4.1"
mri "^1.2.0" knitwork "^1.2.0"
scule "^1.3.0" scule "^1.3.0"
upath@^2.0.1: upath@^2.0.1:
@@ -2137,12 +2125,12 @@ upath@^2.0.1:
integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==
update-browserslist-db@^1.1.1: update-browserslist-db@^1.1.1:
version "1.1.1" version "1.1.2"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580"
integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==
dependencies: dependencies:
escalade "^3.2.0" escalade "^3.2.0"
picocolors "^1.1.0" picocolors "^1.1.1"
uri-js@^4.2.2: uri-js@^4.2.2:
version "4.4.1" version "4.4.1"
@@ -2195,9 +2183,9 @@ vue-eslint-parser@^9.4.3:
semver "^7.3.6" semver "^7.3.6"
vue-router@^4.0.0: vue-router@^4.0.0:
version "4.4.5" version "4.5.0"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.4.5.tgz#bdf535e4cf32414ebdea6b4b403593efdb541388" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.5.0.tgz#58fc5fe374e10b6018f910328f756c3dae081f14"
integrity sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q== integrity sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==
dependencies: dependencies:
"@vue/devtools-api" "^6.6.4" "@vue/devtools-api" "^6.6.4"
@@ -2218,9 +2206,9 @@ vue@^3.2.0:
"@vue/shared" "3.5.13" "@vue/shared" "3.5.13"
vuetify@^3.4.6: vuetify@^3.4.6:
version "3.7.4" version "3.7.6"
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.7.4.tgz#52de97ecb4e456c92dc81c723d1e21b1ddccdbc6" resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.7.6.tgz#f966dbe74666cb847d67b3e3d8c6fee75cf972d3"
integrity sha512-Y8UU5wUDQXC3oz2uumPb8IOdvB4XMCxtxnmqdOc+LihNuPlkSgxIwf92ndRzbOtJFKHsggFUxpyLqpQp+A+5kg== integrity sha512-lol0Va5HtMIqZfjccSD5DLv5v31R/asJXzc6s7ULy51PHr1DjXxWylZejhq0kVpMGW64MiV1FmA/p8eYQfOWfQ==
webfontloader@^1.0.0: webfontloader@^1.0.0:
version "1.6.28" version "1.6.28"