From 3c589ffc68cbfa7aa1650043b1686fcc30b077ab Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 9 Jan 2024 22:42:09 +0800 Subject: [PATCH 01/37] chore: vue-demi --- docs/package.json | 2 +- examples/nuxt3/package.json | 2 +- examples/vue3/package.json | 4 +- package.json | 3 - packages/nuxt/package.json | 2 +- .../cypress/components/Form.vue | 2 +- packages/vue-final-modal/package.json | 15 +- packages/vue-final-modal/src/Modal.ts | 2 +- .../src/components/ModalsContainer.vue | 4 +- .../VueFinalModal/VueFinalModal.vue | 10 +- .../VueFinalModal/VueFinalModalProps.ts | 2 +- .../VueFinalModal/useBodyScrollLock.ts | 4 +- .../components/VueFinalModal/useFocusTrap.ts | 2 +- .../components/VueFinalModal/useModelValue.ts | 4 +- .../components/VueFinalModal/useToClose.ts | 4 +- .../components/VueFinalModal/useTransition.ts | 4 +- .../src/components/VueFinalModal/useZIndex.ts | 2 +- .../src/components/VueFinalModal/vVisible.ts | 2 +- .../vue-final-modal/src/injectionSymbols.ts | 2 +- packages/vue-final-modal/src/plugin.ts | 4 +- packages/vue-final-modal/src/useApi.ts | 4 +- .../vue-final-modal/src/useSwipeToClose.ts | 4 +- packages/vue-final-modal/src/useSwipeable.ts | 4 +- packages/vue-final-modal/tsconfig.json | 10 - packages/vue-final-modal/vite.config.ts | 11 +- pnpm-lock.yaml | 2292 +++++++---------- viteplay/package.json | 9 +- .../components/VueFinalModal/TestModal.vue | 10 +- viteplay/tsconfig.json | 10 - viteplay/vite.config.ts | 11 +- 30 files changed, 953 insertions(+), 1488 deletions(-) diff --git a/docs/package.json b/docs/package.json index 5f8b17ff..fce3b1ce 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:4.5.2", + "vue-final-modal": "workspace:4.5.3", "vue3-drag-resize": "^2.0.5" } } diff --git a/examples/nuxt3/package.json b/examples/nuxt3/package.json index 35fc55cb..60c63d20 100644 --- a/examples/nuxt3/package.json +++ b/examples/nuxt3/package.json @@ -15,6 +15,6 @@ }, "dependencies": { "@vue-final-modal/nuxt": "^1.0.3", - "vue-final-modal": "^4.5.2" + "vue-final-modal": "^4.5.3" } } diff --git a/examples/vue3/package.json b/examples/vue3/package.json index 74f03111..48f606bf 100644 --- a/examples/vue3/package.json +++ b/examples/vue3/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.7", - "vue-final-modal": "^4.5.2" + "vue": "^3.4.7", + "vue-final-modal": "^4.5.3" }, "devDependencies": { "@iconify/vue": "^4.1.1", diff --git a/package.json b/package.json index 422ebbd9..f0f84663 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,6 @@ "prepare:module": "pnpm --filter @vue-final-modal/nuxt dev:prepare && pnpm --filter @vue-final-modal/nuxt prepack", "postinstall": "pnpm build:vfm && pnpm prepare:module" }, - "dependencies": { - "vue": "^3.3.7" - }, "devDependencies": { "@antfu/eslint-config": "^0.37.0", "@types/node": "^20.10.0", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index ab9533b5..ff648f2c 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "@nuxt/kit": "^3.8.2", - "vue-final-modal": "^4.5.2" + "vue-final-modal": "^4.5.3" }, "devDependencies": { "@nuxt/module-builder": "^0.5.4", diff --git a/packages/vue-final-modal/cypress/components/Form.vue b/packages/vue-final-modal/cypress/components/Form.vue index b6bd1958..cb8cd5ed 100644 --- a/packages/vue-final-modal/cypress/components/Form.vue +++ b/packages/vue-final-modal/cypress/components/Form.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ref } from 'vue' +import { ref } from 'vue-demi' const emit = defineEmits<{ (e: 'submit', payload: { diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 8e18eca8..b2ab32fd 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -30,26 +30,25 @@ "release": "pnpm build && pnpm cypress:run && release-it" }, "dependencies": { - "@vueuse/core": "^10.5.0", - "@vueuse/integrations": "^10.5.0", - "focus-trap": "^7.5.4" + "vue-demi": "^0.14.6" }, "devDependencies": { "@cypress/vue": "^5.0.5", "@release-it/conventional-changelog": "^5.1.1", - "@vue-macros/volar": "^0.8.4", + "@vueuse/core": "^10.7.1", + "@vueuse/integrations": "^10.7.1", "cypress": "^13.6.0", + "focus-trap": "^7.5.4", "release-it": "^16.1.3", - "unplugin-vue-define-options": "^1.3.8", - "unplugin-vue-macros": "^2.3.0", "vite-plugin-dts": "^3.6.3", - "vue": "^3.3.7" + "vue": "^3.4.7" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", - "vue": ">=3.2.0" + "@vue/composition-api": "^1.0.0-rc.1", + "vue": ">=2.7.0 || >=3.0.0" }, "homepage": "https://vue-final-modal.org/", "bugs": { diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 2e958b9d..1700ce5d 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,4 +1,4 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue' +import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue-demi' import type { ComponentProps, ComponentSlots } from './Component' export type ModalId = number | string | symbol diff --git a/packages/vue-final-modal/src/components/ModalsContainer.vue b/packages/vue-final-modal/src/components/ModalsContainer.vue index 91b3bb0d..476c2cba 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.vue +++ b/packages/vue-final-modal/src/components/ModalsContainer.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> -import type { Component } from 'vue' -import { computed, onBeforeUnmount } from 'vue' +import type { Component } from 'vue-demi' +import { computed, onBeforeUnmount } from 'vue-demi' import type { ModalSlotOptions } from '..' import { isString } from '~/utils' import { isModalSlotOptions, useVfm } from '~/useApi' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index df66c455..57af845e 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, toRef, useAttrs, watch } from 'vue' +import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, toRef, useAttrs, watch } from 'vue-demi' import { vueFinalModalProps } from './VueFinalModalProps' import { useTransition } from './useTransition' import { useToClose } from './useToClose' @@ -30,8 +30,6 @@ const props = defineProps(vueFinalModalProps) const emit = defineEmits<VueFinalModalEmits>() const attrs = useAttrs() -defineOptions({ inheritAttrs: false }) - const instance = getCurrentInstance() defineSlots<{ @@ -182,6 +180,12 @@ defineExpose({ }) </script> +<script lang="ts"> +export default { + inheritAttrs: false, +} +</script> + <template> <Teleport :to="teleportTo ? teleportTo : undefined" :disabled="!teleportTo"> <div diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts index b74e890a..591a70d5 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts @@ -1,5 +1,5 @@ import type { Options } from 'focus-trap' -import type { PropType, RendererElement, TransitionProps } from 'vue' +import type { PropType, RendererElement, TransitionProps } from 'vue-demi' import type { ModalId, StyleValue } from '~/Modal' /** diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts index dd710360..4c40cacc 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts @@ -1,5 +1,5 @@ -import type { Ref } from 'vue' -import { onBeforeUnmount, watch } from 'vue' +import type { Ref } from 'vue-demi' +import { onBeforeUnmount, watch } from 'vue-demi' import type VueFinalModal from './VueFinalModal.vue' type BodyScrollOptions = { diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts index c68a97a1..c3c36706 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts @@ -1,4 +1,4 @@ -import type { Ref } from 'vue' +import type { Ref } from 'vue-demi' import { useFocusTrap as _useFocusTrap } from '@vueuse/integrations/useFocusTrap' import type VueFinalModal from './VueFinalModal.vue' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts index 69867df2..3714e63c 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts @@ -1,5 +1,5 @@ -import { nextTick, ref, watch } from 'vue' -import type { Ref } from 'vue' +import { nextTick, ref, watch } from 'vue-demi' +import type { Ref } from 'vue-demi' import type VueFinalModal from './VueFinalModal.vue' export function useModelValue( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts index 5533ffbf..9a63a20d 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts @@ -1,5 +1,5 @@ -import type { Ref } from 'vue' -import { ref } from 'vue' +import type { Ref } from 'vue-demi' +import { ref } from 'vue-demi' import type VueFinalModal from './VueFinalModal.vue' export function useToClose( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts index 5ec21458..a2cdf378 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts @@ -1,5 +1,5 @@ -import type { ComputedRef, Ref, TransitionProps } from 'vue' -import { computed, nextTick, ref, watch } from 'vue' +import type { ComputedRef, Ref, TransitionProps } from 'vue-demi' +import { computed, nextTick, ref, watch } from 'vue-demi' import type VueFinalModal from './VueFinalModal.vue' export enum TransitionState { diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts index 7e290c69..b23699c4 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts @@ -1,4 +1,4 @@ -import { ref } from 'vue' +import { ref } from 'vue-demi' import type VueFinalModal from './VueFinalModal.vue' export function useZIndex( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts b/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts index 8ecbd4b8..b04a23e2 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts @@ -1,4 +1,4 @@ -import type { Directive } from 'vue' +import type { Directive } from 'vue-demi' interface VVisibleElement extends HTMLElement { // _vov = vue original visibility diff --git a/packages/vue-final-modal/src/injectionSymbols.ts b/packages/vue-final-modal/src/injectionSymbols.ts index 2eac7471..727e471a 100644 --- a/packages/vue-final-modal/src/injectionSymbols.ts +++ b/packages/vue-final-modal/src/injectionSymbols.ts @@ -1,4 +1,4 @@ -import type { InjectionKey } from 'vue' +import type { InjectionKey } from 'vue-demi' import type { Vfm } from './Modal' export const vfmSymbol = Symbol(__DEV__ ? 'vfm' : '') as InjectionKey<Vfm> diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index efe60700..d785315f 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,5 +1,5 @@ -import type { App, ComponentInternalInstance, ComputedRef } from 'vue' -import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' +import type { App, ComponentInternalInstance, ComputedRef } from 'vue-demi' +import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue-demi' import { vfmSymbol } from './injectionSymbols' import type { ModalExposed, ModalId, UseModalOptions, UseModalOptionsPrivate, Vfm } from './Modal' import { noop } from './utils' diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 66a9b8d4..7d2d89aa 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -1,5 +1,5 @@ -import type { Component } from 'vue' -import { computed, markRaw, nextTick, reactive, useAttrs } from 'vue' +import type { Component } from 'vue-demi' +import { computed, markRaw, nextTick, reactive, useAttrs } from 'vue-demi' import { tryOnUnmounted } from '@vueuse/core' import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' diff --git a/packages/vue-final-modal/src/useSwipeToClose.ts b/packages/vue-final-modal/src/useSwipeToClose.ts index 74c4457f..fc06cdc1 100644 --- a/packages/vue-final-modal/src/useSwipeToClose.ts +++ b/packages/vue-final-modal/src/useSwipeToClose.ts @@ -1,6 +1,6 @@ import { useEventListener } from '@vueuse/core' -import type { Ref } from 'vue' -import { computed, ref, watch } from 'vue' +import type { Ref } from 'vue-demi' +import { computed, ref, watch } from 'vue-demi' import type VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import { useSwipeable } from './useSwipeable' import { clamp, noop } from './utils' diff --git a/packages/vue-final-modal/src/useSwipeable.ts b/packages/vue-final-modal/src/useSwipeable.ts index fbd74bdc..895948f3 100644 --- a/packages/vue-final-modal/src/useSwipeable.ts +++ b/packages/vue-final-modal/src/useSwipeable.ts @@ -1,5 +1,5 @@ -import type { Ref } from 'vue' -import { computed, onMounted, reactive, ref } from 'vue' +import type { Ref } from 'vue-demi' +import { computed, onMounted, reactive, ref } from 'vue-demi' import { useEventListener } from '@vueuse/core' import { checkPassiveEventSupport, getPosition } from './dom' diff --git a/packages/vue-final-modal/tsconfig.json b/packages/vue-final-modal/tsconfig.json index 4737be19..9fb0c1d4 100644 --- a/packages/vue-final-modal/tsconfig.json +++ b/packages/vue-final-modal/tsconfig.json @@ -17,16 +17,6 @@ ] } }, - "vueCompilerOptions": { - "plugins": [ - "@vue-macros/volar/define-model", - "@vue-macros/volar/short-vmodel", - "@vue-macros/volar/define-slots" - ], - "shortVmodel": { - "prefix": "$" - } - }, "exclude": [ "dist", "coverage", diff --git a/packages/vue-final-modal/vite.config.ts b/packages/vue-final-modal/vite.config.ts index b312f813..59203848 100644 --- a/packages/vue-final-modal/vite.config.ts +++ b/packages/vue-final-modal/vite.config.ts @@ -1,10 +1,6 @@ import path from 'node:path' import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' -// @ts-expect-error -import VueMacros from 'unplugin-vue-macros/vite' -// @ts-expect-error -import DefineOptions from 'unplugin-vue-define-options/vite' import dts from 'vite-plugin-dts' const name = 'index' @@ -16,12 +12,7 @@ export default defineConfig({ }, }, plugins: [ - VueMacros({ - plugins: { - vue: Vue(), - }, - }), - DefineOptions(), + Vue(), dts({ include: 'src', }), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 13ca57fd..75409667 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,6 @@ settings: importers: .: - dependencies: - vue: - specifier: ^3.3.7 - version: 3.3.9(typescript@5.3.3) devDependencies: '@antfu/eslint-config': specifier: ^0.37.0 @@ -20,7 +16,7 @@ importers: version: 20.10.4 '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.5.0(vite@5.0.6)(vue@3.3.9) + version: 4.5.0(vite@5.0.6)(vue@3.4.7) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -44,12 +40,12 @@ importers: dependencies: '@vorms/core': specifier: ^1.1.0 - version: 1.1.0(vue@3.3.9) + version: 1.1.0(vue@3.4.7) '@vue-final-modal/nuxt': specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:4.5.1 + specifier: workspace:4.5.3 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -57,13 +53,13 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: ^1.15.0 - version: 1.15.0(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9) + version: 1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) '@nuxtjs/tailwindcss': specifier: ^6.10.1 version: 6.10.1(rollup@3.29.4) nuxt: specifier: ^3.8.2 - version: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) + version: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) packages/nuxt: dependencies: @@ -71,7 +67,7 @@ importers: specifier: ^3.8.2 version: 3.8.2(rollup@3.29.4) vue-final-modal: - specifier: ^4.5.1 + specifier: ^4.5.3 version: link:../vue-final-modal devDependencies: '@nuxt/module-builder': @@ -82,10 +78,10 @@ importers: version: 3.8.2(rollup@3.29.4) '@nuxtjs/eslint-config-typescript': specifier: ^12.1.0 - version: 12.1.0(eslint@8.54.0)(typescript@5.3.3) + version: 12.1.0(eslint@8.56.0)(typescript@5.3.3) nuxt: specifier: ^3.8.2 - version: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) + version: 3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) release-it: specifier: ^16.1.3 version: 16.2.1(typescript@5.3.3) @@ -94,71 +90,59 @@ importers: packages/vue-final-modal: dependencies: - '@vueuse/core': - specifier: ^10.5.0 - version: 10.5.0(vue@3.3.9) - '@vueuse/integrations': - specifier: ^10.5.0 - version: 10.5.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.9) - focus-trap: - specifier: ^7.5.4 - version: 7.5.4 + '@vue/composition-api': + specifier: ^1.0.0-rc.1 + version: 1.7.2(vue@3.4.7) + vue-demi: + specifier: ^0.14.6 + version: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) devDependencies: '@cypress/vue': specifier: ^5.0.5 - version: 5.0.5(cypress@13.6.0)(vue@3.3.9) + version: 5.0.5(cypress@13.6.0)(vue@3.4.7) '@release-it/conventional-changelog': specifier: ^5.1.1 version: 5.1.1(release-it@16.2.1) - '@vue-macros/volar': - specifier: ^0.8.4 - version: 0.8.4(@vue-macros/reactivity-transform@0.2.4)(vue-tsc@1.8.20)(vue@3.3.9) + '@vueuse/core': + specifier: ^10.7.1 + version: 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/integrations': + specifier: ^10.7.1 + version: 10.7.1(@vue/composition-api@1.7.2)(focus-trap@7.5.4)(vue@3.4.7) cypress: specifier: ^13.6.0 version: 13.6.0 + focus-trap: + specifier: ^7.5.4 + version: 7.5.4 release-it: specifier: ^16.1.3 version: 16.2.1(typescript@5.3.3) - unplugin-vue-define-options: - specifier: ^1.3.8 - version: 1.3.8(vue@3.3.9) - unplugin-vue-macros: - specifier: ^2.3.0 - version: 2.3.0(@vueuse/core@10.5.0)(typescript@5.3.3)(vite@5.0.6)(vue@3.3.9) vite-plugin-dts: specifier: ^3.6.3 version: 3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6) vue: - specifier: ^3.3.7 - version: 3.3.9(typescript@5.3.3) + specifier: ^3.4.7 + version: 3.4.7(typescript@5.3.3) viteplay: dependencies: vue: - specifier: ^3.3.7 - version: 3.3.9(typescript@5.3.3) + specifier: ^3.4.7 + version: 3.4.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:4.5.1 + specifier: workspace:4.5.3 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.9) + version: 4.2.5(vue@3.4.7) devDependencies: '@viteplay/plugin': specifier: ^0.2.9 version: 0.2.9 '@viteplay/vue': specifier: ^0.2.9 - version: 0.2.9(@lezer/common@1.1.1)(vue-router@4.2.5)(vue@3.3.9) - '@vue-macros/volar': - specifier: ^0.8.4 - version: 0.8.4(@vue-macros/reactivity-transform@0.2.4)(vue-tsc@1.8.20)(vue@3.3.9) - unplugin-vue-define-options: - specifier: ^1.4.0 - version: 1.4.0(vue@3.3.9) - unplugin-vue-macros: - specifier: ^2.7.0 - version: 2.7.0(typescript@5.3.3)(vite@5.0.6)(vue@3.3.9) + version: 0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.4.7) packages: @@ -275,10 +259,6 @@ packages: - typescript dev: true - /@antfu/utils@0.7.2: - resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} - dev: true - /@antfu/utils@0.7.6: resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: true @@ -297,6 +277,14 @@ packages: '@babel/highlight': 7.23.4 chalk: 2.4.2 + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + /@babel/compat-data@7.21.0: resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} engines: {node: '>=6.9.0'} @@ -311,12 +299,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 '@babel/generator': 7.21.1 '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.6 '@babel/template': 7.20.7 '@babel/traverse': 7.21.2 '@babel/types': 7.23.4 @@ -567,11 +555,6 @@ packages: dependencies: '@babel/types': 7.23.4 - /@babel/helper-string-parser@7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} @@ -580,11 +563,6 @@ packages: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -640,14 +618,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.5: - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.4 - dev: true - /@babel/parser@7.23.0: resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} @@ -663,6 +633,13 @@ packages: dependencies: '@babel/types': 7.23.4 + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + /@babel/plugin-proposal-decorators@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-u8SwzOcP0DYSsa++nHd/9exlHb0NAlHCb890qtZZbSwPX2bFv8LBEztxwN7Xg/dS8oAFFidhrI9PBcLBJSkGRQ==} engines: {node: '>=6.9.0'} @@ -759,8 +736,8 @@ packages: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/parser': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 '@babel/types': 7.23.4 dev: true @@ -776,13 +753,13 @@ packages: resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 '@babel/generator': 7.21.1 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.6 '@babel/types': 7.23.4 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -807,15 +784,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types@7.21.2: - resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@babel/types@7.22.5: resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} engines: {node: '>=6.9.0'} @@ -832,6 +800,14 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + /@cloudflare/kv-asset-handler@0.3.0: resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} dependencies: @@ -852,6 +828,20 @@ packages: '@lezer/common': 1.1.1 dev: true + /@codemirror/autocomplete@6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0): + resolution: {integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.9.3 + '@codemirror/state': 6.3.2 + '@codemirror/view': 6.22.1 + '@lezer/common': 1.2.0 + dev: true + /@codemirror/commands@6.3.2: resolution: {integrity: sha512-tjoi4MCWDNxgIpoLZ7+tezdS9OEB6pkiDKhfKx9ReJ/XBcs2G2RXIu+/FxXBlWsPTsz6C9q/r4gjzrsxpcnqCQ==} dependencies: @@ -1014,7 +1004,7 @@ packages: uuid: 8.3.2 dev: true - /@cypress/vue@5.0.5(cypress@13.6.0)(vue@3.3.9): + /@cypress/vue@5.0.5(cypress@13.6.0)(vue@3.4.7): resolution: {integrity: sha512-gjE0LKixK6XT4lPDFaEc8G6qNzm8YELgmbOiMVDxbVMuTtjYjorWQcIgzQ62uBX90/s7JrldXJ0W23gskoH4Ng==} engines: {node: '>=8'} peerDependencies: @@ -1026,7 +1016,7 @@ packages: optional: true dependencies: cypress: 13.6.0 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true /@cypress/xvfb@1.2.4(supports-color@8.1.1): @@ -1642,6 +1632,16 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -1664,11 +1664,33 @@ packages: - supports-color dev: true + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /@eslint/js@8.54.0: resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@fastify/busboy@2.1.0: resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -1717,13 +1739,13 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/vue@4.1.0(vue@3.3.9): + /@iconify/vue@4.1.0(vue@3.4.7): resolution: {integrity: sha512-rBQVxNoSDooqgWkQg2MqkIHkH/huNuvXGqui5wijc1zLnU7TKzbBHW9VGmbnV4asNTmIHmqV4Nvt0M2rZ/9nHA==} peerDependencies: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true /@ioredis/commands@1.2.0: @@ -1813,6 +1835,10 @@ packages: resolution: {integrity: sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==} dev: true + /@lezer/common@1.2.0: + resolution: {integrity: sha512-Wmvlm4q6tRpwiy20TnB3yyLTZim38Tkc50dPY8biQRwqE+ati/wD84rm3N15hikvdT4uSg9phs9ubjvcLmkpKg==} + dev: true + /@lezer/css@1.1.4: resolution: {integrity: sha512-CuUwjidrU7FOBokqASRJc72SmJ9g1PsHXDOWMoKg4md6+2u/Zxzwx5YsYrAFxRDsLrjLlsIyEF1rZHK3gFEJbw==} dependencies: @@ -2024,16 +2050,16 @@ packages: - supports-color dev: true - /@nuxt-themes/docus@1.15.0(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9): + /@nuxt-themes/docus@1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-V2kJ5ecGUxXcEovXeQkJBPYfQwjmjaxB5fnl2XaQV+S2Epcn+vhPWShSlL6/WXzLPiAkQFdwbBj9xedTvXgjkw==} dependencies: - '@nuxt-themes/elements': 0.9.5(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9) - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9) - '@nuxt-themes/typography': 0.11.0(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9) - '@nuxt/content': 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.9) + '@nuxt-themes/elements': 0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) + '@nuxt-themes/typography': 0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) + '@nuxt/content': 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) '@nuxthq/studio': 1.0.5(rollup@3.29.4) - '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.9) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.9) + '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) + '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) focus-trap: 7.5.4 fuse.js: 6.6.2 transitivePeerDependencies: @@ -2069,11 +2095,11 @@ packages: - vue dev: true - /@nuxt-themes/elements@0.9.5(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9): + /@nuxt-themes/elements@0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==} dependencies: - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9) - '@vueuse/core': 9.13.0(vue@3.3.9) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) + '@vueuse/core': 9.13.0(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2083,12 +2109,12 @@ packages: - vue dev: true - /@nuxt-themes/tokens@1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9): + /@nuxt-themes/tokens@1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) - '@vueuse/core': 9.13.0(vue@3.3.9) - pinceau: 0.18.8(postcss@8.4.32) + '@vueuse/core': 9.13.0(vue@3.4.7) + pinceau: 0.18.8(postcss@8.4.33) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2098,13 +2124,13 @@ packages: - vue dev: true - /@nuxt-themes/typography@0.11.0(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9): + /@nuxt-themes/typography@0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) nuxt-config-schema: 0.4.5(rollup@3.29.4) - nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.3.9) - pinceau: 0.18.8(postcss@8.4.32) + nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.4.7) + pinceau: 0.18.8(postcss@8.4.33) ufo: 1.1.1 transitivePeerDependencies: - postcss @@ -2114,14 +2140,14 @@ packages: - vue dev: true - /@nuxt/content@2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.9): + /@nuxt/content@2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-//mt++/AgOmjT6TpanugNJpJfx6q8g7wV8/vnk7vSSrrgki8tG6jpupuJmxHHB8DcqqTJfuBWFIdaLhv/Z9Gzg==} dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxtjs/mdc': 0.2.8(rollup@3.29.4) - '@vueuse/core': 10.5.0(vue@3.3.9) - '@vueuse/head': 2.0.0(vue@3.3.9) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.9) + '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/head': 2.0.0(vue@3.4.7) + '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) consola: 3.2.3 defu: 6.1.3 destr: 2.0.2 @@ -2170,7 +2196,7 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: true - /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.0): + /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1): resolution: {integrity: sha512-AXNeI1dBilNryCmwuTd3lU7CrPBhzUJ5ntTFiXw9MmFwe5QT3NOxDFOv0gX7z1DFnmBEmx5mPKWysCwh7htEnQ==} peerDependencies: nuxt: ^3.8.1 @@ -2179,8 +2205,8 @@ packages: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxt/schema': 3.8.2(rollup@3.29.4) execa: 7.2.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) - vite: 4.5.0(@types/node@20.10.4) + nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) + vite: 4.5.1(@types/node@20.10.4) transitivePeerDependencies: - rollup - supports-color @@ -2202,7 +2228,7 @@ packages: semver: 7.5.4 dev: true - /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.0): + /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1): resolution: {integrity: sha512-G1Oo9+TaOYzePIXpNX+Zzalw/rJyIZKZpZmXfzolPlOJSA1i0JKzZX6Z7iQHdqPwNJ8t+HnVaF4PghPIpo1kwg==} hasBin: true peerDependencies: @@ -2210,7 +2236,7 @@ packages: vite: '*' dependencies: '@antfu/utils': 0.7.6 - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.0) + '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) '@nuxt/devtools-wizard': 1.0.4 '@nuxt/kit': 3.8.2(rollup@3.29.4) birpc: 0.2.14 @@ -2229,7 +2255,7 @@ packages: local-pkg: 0.5.0 magicast: 0.3.2 nitropack: 2.8.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) + nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) nypm: 0.3.3 ofetch: 1.3.3 ohash: 1.1.3 @@ -2243,9 +2269,9 @@ packages: simple-git: 3.21.0 sirv: 2.0.3 unimport: 3.6.0(rollup@3.29.4) - vite: 4.5.0(@types/node@20.10.4) - vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.0) - vite-plugin-vue-inspector: 4.0.0(vite@4.5.0) + vite: 4.5.1(@types/node@20.10.4) + vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.1) + vite-plugin-vue-inspector: 4.0.0(vite@4.5.1) which: 3.0.1 ws: 8.14.2 transitivePeerDependencies: @@ -2364,7 +2390,7 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/vite-builder@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.3.9): + /@nuxt/vite-builder@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7): resolution: {integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -2372,8 +2398,8 @@ packages: dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) - '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.3.9) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.3.9) + '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.4.7) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.4.7) autoprefixer: 10.4.16(postcss@8.4.32) clear: 0.1.0 consola: 3.2.3 @@ -2402,7 +2428,67 @@ packages: vite: 4.5.0(@types/node@20.10.4) vite-node: 0.33.0(@types/node@20.10.4) vite-plugin-checker: 0.6.2(eslint@8.54.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - '@types/node' + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - vls + - vti + - vue-tsc + dev: true + + /@nuxt/vite-builder@3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7): + resolution: {integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + vue: ^3.3.4 + dependencies: + '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) + '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.4.7) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.4.7) + autoprefixer: 10.4.16(postcss@8.4.32) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.0.1(postcss@8.4.32) + defu: 6.1.3 + esbuild: 0.19.8 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.1.1 + get-port-please: 3.1.1 + h3: 1.9.0 + knitwork: 1.0.0 + magic-string: 0.30.5 + mlly: 1.4.2 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.32 + rollup-plugin-visualizer: 5.9.3(rollup@3.29.4) + std-env: 3.5.0 + strip-literal: 1.3.0 + ufo: 1.3.2 + unplugin: 1.5.1 + vite: 4.5.0(@types/node@20.10.4) + vite-node: 0.33.0(@types/node@20.10.4) + vite-plugin-checker: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) + vue: 3.4.7(typescript@5.3.3) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: - '@types/node' @@ -2451,18 +2537,18 @@ packages: - supports-color dev: true - /@nuxtjs/eslint-config-typescript@12.1.0(eslint@8.54.0)(typescript@5.3.3): + /@nuxtjs/eslint-config-typescript@12.1.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-l2fLouDYwdAvCZEEw7wGxOBj+i8TQcHFu3zMPTLqKuv1qu6WcZIr0uztkbaa8ND1uKZ9YPqKx6UlSOjM4Le69Q==} peerDependencies: eslint: ^8.48.0 dependencies: - '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-vue: 9.18.1(eslint@8.54.0) + '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-vue: 9.18.1(eslint@8.56.0) transitivePeerDependencies: - eslint-import-resolver-node - eslint-import-resolver-webpack @@ -2470,19 +2556,19 @@ packages: - typescript dev: true - /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-ewenelo75x0eYEUK+9EBXjc/OopQCvdkmYmlZuoHq5kub/vtiRpyZ/autppwokpHUq8tiVyl2ejMakoiHiDTrg==} peerDependencies: eslint: ^8.23.0 dependencies: - eslint: 8.54.0 - eslint-config-standard: 17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-n: 15.6.1(eslint@8.54.0) - eslint-plugin-node: 11.1.0(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-unicorn: 44.0.2(eslint@8.54.0) - eslint-plugin-vue: 9.18.1(eslint@8.54.0) + eslint: 8.56.0 + eslint-config-standard: 17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-n: 15.6.1(eslint@8.56.0) + eslint-plugin-node: 11.1.0(eslint@8.56.0) + eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint-plugin-unicorn: 44.0.2(eslint@8.56.0) + eslint-plugin-vue: 9.18.1(eslint@8.56.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -2497,7 +2583,7 @@ packages: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@types/hast': 3.0.3 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.3.9 + '@vue/compiler-core': 3.4.7 consola: 3.2.3 defu: 6.1.3 destr: 2.0.2 @@ -2836,13 +2922,13 @@ packages: '@parcel/watcher-win32-x64': 2.3.0 dev: true - /@pepicons/vue@3.1.1(vue@3.3.9): + /@pepicons/vue@3.1.1(vue@3.4.7): resolution: {integrity: sha512-V73B/Ec9i5dTzKLdKCQtsdMdmtMWRdGwjUDxGI/nF4cbaZDw8IuA9XawejNF3A62wE2KJO6HHX6/1QnZQvBHpQ==} peerDependencies: vue: ^3.2.39 dependencies: pepicons: 3.1.1 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true /@pkgjs/parseargs@0.11.0: @@ -3156,21 +3242,6 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.25.3): - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.25.3 - dev: true - /@rollup/pluginutils@5.1.0(rollup@3.29.4): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -3521,15 +3592,12 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: true - /@types/web-bluetooth@0.0.18: - resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} - /@types/web-bluetooth@0.0.20: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: true - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: '@types/node': 20.10.4 @@ -3564,7 +3632,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3576,13 +3644,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.13.1 - '@typescript-eslint/type-utils': 6.13.1(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -3613,7 +3681,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.13.1(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3628,7 +3696,7 @@ packages: '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -3670,7 +3738,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.13.1(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.13.1(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3681,9 +3749,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -3762,19 +3830,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.13.1(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.13.1(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.13.1 '@typescript-eslint/types': 6.13.1 '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) - eslint: 8.54.0 + eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -3828,7 +3896,7 @@ packages: '@unhead/shared': 1.8.8 dev: true - /@unhead/vue@1.8.8(vue@3.3.9): + /@unhead/vue@1.8.8(vue@3.4.7): resolution: {integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==} peerDependencies: vue: '>=2.7 || >=3' @@ -3837,7 +3905,7 @@ packages: '@unhead/shared': 1.8.8 hookable: 5.5.3 unhead: 1.8.8 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true /@unocss/reset@0.50.4: @@ -3865,7 +3933,7 @@ packages: - supports-color dev: true - /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.0)(vue@3.3.9): + /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.0)(vue@3.4.7): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3876,12 +3944,12 @@ packages: '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) vite: 4.5.0(@types/node@20.10.4) - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.5.0(vite@4.5.0)(vue@3.3.9): + /@vitejs/plugin-vue@4.5.0(vite@4.5.0)(vue@3.4.7): resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3889,10 +3957,10 @@ packages: vue: ^3.2.25 dependencies: vite: 4.5.0(@types/node@20.10.4) - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true - /@vitejs/plugin-vue@4.5.0(vite@5.0.6)(vue@3.3.9): + /@vitejs/plugin-vue@4.5.0(vite@5.0.6)(vue@3.4.7): resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3900,7 +3968,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.6(@types/node@20.10.4) - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true /@viteplay/plugin@0.2.9: @@ -3920,13 +3988,13 @@ packages: resolution: {integrity: sha512-p4q00wWCLrsdweC9LLOVd5SjsuRvdpvCvwQZwRZJWAkI8YE5ZvzBTDuJ3++8lm+2BmPPKSpDYoNIUSqEpF+QQA==} dev: true - /@viteplay/vue@0.2.9(@lezer/common@1.1.1)(vue-router@4.2.5)(vue@3.3.9): + /@viteplay/vue@0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.4.7): resolution: {integrity: sha512-lJzKWTnJvgn3/25oB76CfeC7t2wSa1S1nWG/qJQxTr8YPytLC8mRs3Pf0ihFUOGFV/AguZuktlGdzVHoofyzsQ==} peerDependencies: vue: ^3.2.39 vue-router: ^4.0.12 dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.1.1) + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0) '@codemirror/commands': 6.3.2 '@codemirror/lang-css': 6.2.1(@codemirror/view@6.22.1) '@codemirror/lang-javascript': 6.2.1 @@ -3935,26 +4003,19 @@ packages: '@codemirror/view': 6.22.1 '@lezer/highlight': 1.2.0 '@lezer/html': 1.3.7 - '@pepicons/vue': 3.1.1(vue@3.3.9) + '@pepicons/vue': 3.1.1(vue@3.4.7) '@viteplay/types': 0.2.9 - '@vueuse/core': 10.5.0(vue@3.3.9) - codemirror: 6.0.1(@lezer/common@1.1.1) - floating-vue: 2.0.0-beta.20(vue@3.3.9) + '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + codemirror: 6.0.1(@lezer/common@1.2.0) + floating-vue: 2.0.0-beta.20(vue@3.4.7) fuzzysort: 2.0.4 - vue: 3.3.9(typescript@5.3.3) - vue-router: 4.2.5(vue@3.3.9) + vue: 3.4.7(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.7) transitivePeerDependencies: - '@lezer/common' - '@vue/composition-api' dev: true - /@volar/language-core@1.0.24: - resolution: {integrity: sha512-vTN+alJiWwK0Pax6POqrmevbtFW2dXhjwWiW/MW4f48eDYPLdyURWcr8TixO7EN/nHsUBj2udT7igFKPtjyAKg==} - dependencies: - '@volar/source-map': 1.0.24 - muggle-string: 0.1.0 - dev: true - /@volar/language-core@1.10.10: resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} dependencies: @@ -3979,12 +4040,6 @@ packages: '@volar/source-map': 1.3.0-alpha.2 dev: true - /@volar/source-map@1.0.24: - resolution: {integrity: sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A==} - dependencies: - muggle-string: 0.1.0 - dev: true - /@volar/source-map@1.10.10: resolution: {integrity: sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==} dependencies: @@ -4028,10 +4083,10 @@ packages: dependencies: '@volar/language-core': 1.3.0-alpha.0 '@volar/source-map': 1.3.0-alpha.0 - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-sfc': 3.3.9 + '@vue/compiler-dom': 3.4.7 + '@vue/compiler-sfc': 3.4.7 '@vue/reactivity': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/shared': 3.4.7 minimatch: 6.2.0 muggle-string: 0.2.2 vue-template-compiler: 2.7.14 @@ -4042,16 +4097,16 @@ packages: dependencies: '@volar/language-core': 1.3.0-alpha.2 '@volar/source-map': 1.3.0-alpha.2 - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-sfc': 3.3.9 + '@vue/compiler-dom': 3.4.7 + '@vue/compiler-sfc': 3.4.7 '@vue/reactivity': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/shared': 3.4.7 minimatch: 6.2.0 muggle-string: 0.2.2 vue-template-compiler: 2.7.14 dev: true - /@vorms/core@1.1.0(vue@3.3.9): + /@vorms/core@1.1.0(vue@3.4.7): resolution: {integrity: sha512-+QSWcWX/DIbifEXp2WJrnjnCRk4+Q8rsEfOPqTTQ+oUGJTU/KWtToO5hB60vZAXyyAp3ZOJHJMgJ3/L5xprWgA==} peerDependencies: vue: ^3.0.0 @@ -4059,795 +4114,92 @@ packages: deepmerge: 4.3.0 fast-deep-equal: 3.1.3 klona: 2.0.6 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: false - /@vue-macros/api@0.7.2(rollup@3.25.3)(vue@3.3.9): - resolution: {integrity: sha512-NOz710B+BUkZYiG2Oow/bLp5idPTj3B6sGuMXWYOxZaFuWNEgob8Ols7Zq3guYa/y80oKngbO6raqUTQn/7X3g==} + /@vue-macros/common@1.9.0(rollup@3.29.4)(vue@3.4.7): + resolution: {integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==} engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true dependencies: '@babel/types': 7.23.4 - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue/compiler-sfc': 3.4.7 + ast-kit: 0.11.2(rollup@3.29.4) + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + vue: 3.4.7(typescript@5.3.3) transitivePeerDependencies: - rollup - - vue dev: true - /@vue-macros/api@0.9.0(vue@3.3.9): - resolution: {integrity: sha512-PYV/yhoOh1F5z0mFg0/A8OhuwmDI/ta+XwYkNZYyuA9QZ1jMWZFOA0ZdUAjTCHG6AdVFbkajR+XyxTNnQ+YytQ==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/types': 7.23.4 - '@vue-macros/common': 1.9.0(vue@3.3.9) - resolve.exports: 2.0.2 - transitivePeerDependencies: - - rollup - - vue + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue-macros/better-define@1.6.2(vue@3.3.9): - resolution: {integrity: sha512-m640/h+9k/27YtNgDaTta0XtUfRKeLVZiD/zIUtyIm4SzN3pjDS0R2uEuKvQf68dgZWtxutCxBWlMarwX2deog==} - engines: {node: '>=16.14.0'} + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@vue-macros/api': 0.7.2(rollup@3.25.3)(vue@3.3.9) - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 transitivePeerDependencies: - - rollup - - vue + - supports-color dev: true - /@vue-macros/better-define@1.7.0(vue@3.3.9): - resolution: {integrity: sha512-MO+wAWFU8FF8YPMCmonv18FRJko7OZLy2wT7ia0RKwDCgu7IEKnSbLIfnUNwUsceVAPGOrVapDiIcQ+VVMJoiw==} - engines: {node: '>=16.14.0'} + /@vue/compiler-core@3.4.7: + resolution: {integrity: sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==} dependencies: - '@vue-macros/api': 0.9.0(vue@3.3.9) - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true + '@babel/parser': 7.23.6 + '@vue/shared': 3.4.7 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 - /@vue-macros/boolean-prop@0.3.0(vue@3.3.9): - resolution: {integrity: sha512-QhG3FgusmtQ0dIvrs8SsgBUg0micfYdXmNJo1YPh+VykHwPcmw4kuTBSJsbzMM09I+62vgKi6FTYt3nZ74DBIA==} - engines: {node: '>=16.14.0'} + /@vue/compiler-dom@3.4.7: + resolution: {integrity: sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==} dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - transitivePeerDependencies: - - rollup - - vue - dev: true + '@vue/compiler-core': 3.4.7 + '@vue/shared': 3.4.7 - /@vue-macros/chain-call@0.0.1(vue@3.3.9): - resolution: {integrity: sha512-yjfTCyolWwNtDUH/TqKJvU0GNoJy4OnLj7Fot4OjKe1Q0jBk/R1LmoQhqsIR5OtaGYj0s9/4L0rxpSDZ6SvuUQ==} - engines: {node: '>=16.14.0'} + /@vue/compiler-sfc@3.4.7: + resolution: {integrity: sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==} dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.4.7 + '@vue/compiler-dom': 3.4.7 + '@vue/compiler-ssr': 3.4.7 + '@vue/shared': 3.4.7 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.33 + source-map-js: 1.0.2 - /@vue-macros/chain-call@0.2.0(vue@3.3.9): - resolution: {integrity: sha512-0fC6mxYSJfU3hHrRwgLho9rZSgkIAZo0OKIWW7ZyrAlyNhZtq+8c7sq59samPFdZpYcwTfOBUcK5YuC3pjT9VQ==} - engines: {node: '>=16.14.0'} + /@vue/compiler-ssr@3.4.7: + resolution: {integrity: sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==} dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true + '@vue/compiler-dom': 3.4.7 + '@vue/shared': 3.4.7 - /@vue-macros/common@1.1.0(vue@3.3.9): - resolution: {integrity: sha512-BvreSru0kh6q/PFAt4erTY29buoVzLoUfXp1nW2cS9PQ589Y76iACw0NcjflXUUxGPRxQkQK+iRx/c4pUj0eeQ==} - engines: {node: '>=14.19.0'} + /@vue/composition-api@1.7.2(vue@3.4.7): + resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==} peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true + vue: '>= 2.5 < 2.7' dependencies: - '@babel/types': 7.21.2 - '@vue/compiler-sfc': 3.3.9 - local-pkg: 0.4.3 - magic-string: 0.29.0 - vue: 3.3.9(typescript@5.3.3) - dev: true - - /@vue-macros/common@1.4.0(rollup@3.25.3)(vue@3.3.9): - resolution: {integrity: sha512-Wnpk6OVPYw7ZrrShOS7RZL5AINFbuQWfkNCVWVESSPY+8id75YOKGzMs4X5YcNayywdSGEvV7ntVJ2RQ+ez21A==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true - dependencies: - '@babel/types': 7.22.5 - '@rollup/pluginutils': 5.0.2(rollup@3.25.3) - '@vue/compiler-sfc': 3.3.9 - ast-kit: 0.6.5(rollup@3.25.3) - local-pkg: 0.4.3 - magic-string-ast: 0.1.2 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/common@1.9.0(rollup@3.29.4)(vue@3.3.9): - resolution: {integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true - dependencies: - '@babel/types': 7.23.4 - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue/compiler-sfc': 3.3.9 - ast-kit: 0.11.2(rollup@3.29.4) - local-pkg: 0.5.0 - magic-string-ast: 0.3.0 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/common@1.9.0(vue@3.3.9): - resolution: {integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true - dependencies: - '@babel/types': 7.23.4 - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - '@vue/compiler-sfc': 3.3.9 - ast-kit: 0.11.2 - local-pkg: 0.5.0 - magic-string-ast: 0.3.0 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-emit@0.1.6(vue@3.3.9): - resolution: {integrity: sha512-oDIIHYuCzDQ6v5QeMH3HsyQ6DIQ/wrS2aaTtz7bmEwv56FQoVzAVlOmPlCsmoSsUTonnNw5HKwKF7w9xqA7klg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/api': 0.7.2(rollup@3.25.3)(vue@3.3.9) - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - rollup: 3.25.3 - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - dev: true - - /@vue-macros/define-emit@0.2.0(vue@3.3.9): - resolution: {integrity: sha512-h0BuYXD+3FcCjlWeCNp06n4wZfExrnl8rBs6KUTjGXwVglxjI6RHJT2kfK+p3TJpPCwvNct+iBS6CYA1w5eTfQ==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/api': 0.9.0(vue@3.3.9) - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-models@1.0.6(@vueuse/core@10.5.0)(vue@3.3.9): - resolution: {integrity: sha512-m6T319uTTKI/6l6wcsYcVxmz6VlQnEQBXboJQI6i671Xmuem2vEPwkhoEJjenOOkepClAJhanufH2vzyCEst4Q==} - engines: {node: '>=16.14.0'} - peerDependencies: - '@vueuse/core': '>=9.0.0' - peerDependenciesMeta: - '@vueuse/core': - optional: true - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vueuse/core': 10.5.0(vue@3.3.9) - ast-walker-scope: 0.4.2 - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/define-models@1.2.0(vue@3.3.9): - resolution: {integrity: sha512-h4drdveUgNYxy+6tylFg/oGIStT7dZ4uo4CMXl5VkLzso78Yhsxqdz00ccm6gaAB9jdDCry2RGqL5ACEyDmLZA==} - engines: {node: '>=16.14.0'} - peerDependencies: - '@vueuse/core': '>=9.0.0' - peerDependenciesMeta: - '@vueuse/core': - optional: true - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - ast-walker-scope: 0.5.0 - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/define-prop@0.1.7(vue@3.3.9): - resolution: {integrity: sha512-ekaJnzxeMuXBTiIjr5+ns86XnkZcpk+IMrub2UyXYkIVmNP6DZAwJ+Yy14jfFdTgvFaDBexO/1qG0JHvsHq3WQ==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/api': 0.7.2(rollup@3.25.3)(vue@3.3.9) - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - rollup: 3.25.3 - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - dev: true - - /@vue-macros/define-prop@0.3.0(vue@3.3.9): - resolution: {integrity: sha512-aiu+tJp8eIT2wigzbP5lH0KoZhyTqiw2rysEVEK193logk6T8Fls5Yxf8YmOetrzpwOp6M4RciACGyiILLrsug==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/api': 0.9.0(vue@3.3.9) - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-props-refs@1.1.0(vue@3.3.9): - resolution: {integrity: sha512-VN+r9qf49vwqEaWIIEikEvxD7/JYLO8jv0GMIgvtNTfa0rYuzvi711hHq5Wpz5oXF0Y3/BVPKFmOrnwR5Ck0wg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-props-refs@1.2.0(vue@3.3.9): - resolution: {integrity: sha512-ZWA9raSedk+eRfailc9gkyA4PHJrMGDg/tzV/yp89dDNVTzp9M1qQdLTV9S6R0ern/48ZvSYcz4n8ZVNwHg+Aw==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-props@0.4.0(@vue-macros/reactivity-transform@0.2.4)(vue@3.3.9): - resolution: {integrity: sha512-nbCxN5xODrngdgDF6mrRjglNC3S++RcESZlaN/SuBF7o5LiYsrdWqg575w5vapMudQ58vvslTTfsEeV1rOpYOA==} - engines: {node: '>=14.19.0'} - peerDependencies: - '@vue-macros/reactivity-transform': ^0.2.4 - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.25.3) - '@vue-macros/common': 1.1.0(vue@3.3.9) - '@vue-macros/reactivity-transform': 0.2.4(vue@3.3.9) - unplugin: 1.1.0 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-props@1.0.8(@vue-macros/reactivity-transform@0.3.10)(vue@3.3.9): - resolution: {integrity: sha512-PADvt5bSPGTuhOXgH91D6/AzuYxj3DCAS0IWq7txw6XXwz2Au+BQalgt08jLderiQIrnlrWoINN7CPp4BXFPhA==} - engines: {node: '>=16.14.0'} - peerDependencies: - '@vue-macros/reactivity-transform': ^0.3.10 - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue-macros/reactivity-transform': 0.3.10(vue@3.3.9) - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-props@2.0.0(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9): - resolution: {integrity: sha512-OYdw4Bz12FDUHbHL5Ql5T5rO0V0laITbEyKGTvYwpeBim4oyTx+EodIx+edvgquLHtMYPabwRKJ6v9XoTlxc0g==} - engines: {node: '>=16.14.0'} - peerDependencies: - '@vue-macros/reactivity-transform': ^0.4.0 - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue-macros/reactivity-transform': 0.4.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-render@1.3.9(vue@3.3.9): - resolution: {integrity: sha512-6S7EmOt5VM6su4YUO/DZKjexUP3Gu/aklppeUvSHF/7/CZxXRtldLYMBfQ4Nqq3Bfm/x7o46kATGYq9htiIQ5Q==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-render@1.5.0(vue@3.3.9): - resolution: {integrity: sha512-QgScJaWRkZ6iYwm8k0uVlhPCfdGJYkMbkLr8Pr/pTRrjmXl3W+f7ZRbBDPKl4GBxVdJ+pHWjP0NsYuPb1dUXtw==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-slots@1.0.5(vue@3.3.9): - resolution: {integrity: sha512-nl3jr+PECgSRYfLawZfiVACVy20yvVvggTitb3SwwKTbR/EYpQriww6K+aFUi3l0myoS+E9HpVkzDZhJJbsb3g==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/define-slots@1.1.0(vue@3.3.9): - resolution: {integrity: sha512-vkIxGrFhqdd8fvEuIGaIVw3ex0TB8MZFzGH5digCPOxBsBEeNNlTlwS3D63Qd5mCDpVsZy9xkuv159T9GS1DIg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.0.0 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/devtools@0.1.2(typescript@5.3.3)(vite@5.0.6): - resolution: {integrity: sha512-LhWTb0pPoTcFmK8GZb80+q83ypEK8QS1sS2i+kKbrfvjTYnb4wQ6W3ee53WHX9+sC/Tm3HNmzhjWEBQO0Ybcqg==} - engines: {node: '>=14.19.0'} - peerDependencies: - vite: ^4.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - sirv: 2.0.2 - vite: 5.0.6(@types/node@20.10.4) - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - typescript - dev: true - - /@vue-macros/devtools@0.2.0(typescript@5.3.3)(vite@5.0.6): - resolution: {integrity: sha512-jHjvY1bFgQLe/2+5pBOG4fgmL5MPhsqQDj7Barhj8YN+Oe7U2hBImvfAyOGpqd2uucLOWQTP1cWrp3q9b1svsg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vite: ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - sirv: 2.0.3 - vite: 5.0.6(@types/node@20.10.4) - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - typescript - dev: true - - /@vue-macros/export-expose@0.0.3(vue@3.3.9): - resolution: {integrity: sha512-F2e92/ChX5IC3e5iWYossdnG43zd/6tejzdOo+zNDOvTwf3GRnOgAchwCR1x1iNq/R3/g2IfNvD6VvP2/+b6kg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue/compiler-sfc': 3.3.9 - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/export-expose@0.1.0(vue@3.3.9): - resolution: {integrity: sha512-R1izR6LHS6yjJKI7IPDCwW385ct4KjQJVXz6jk6sL6Wk+iZbybDiGzzzK/jqpMlyzDvX0qVZ8vjACm1lidvLzA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-sfc': 3.3.9 - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/export-props@0.3.8(vue@3.3.9): - resolution: {integrity: sha512-+9toapUqE3fttbpx9wdUsLkIJfP+wALar+I+fdNyONImUk7NhrExhIa8QYgMfqC4ovgtbdpTFmHwYyNkm3qh0A==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/export-props@0.4.0(vue@3.3.9): - resolution: {integrity: sha512-XjDmw+OCxWOR4OPARH5aosvrarCk/TF7szE3ynx4UXfhCWS7lPJpLHwYkF/pfbx6FAFDUO81Drrey2BlhzTLvA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/export-render@0.2.0(vue@3.3.9): - resolution: {integrity: sha512-kmh6drhExv3r42DPGHo1UOtEX2pw2G5CTHvHg0FQiQAMltWd11C0/LXYRR/Zorh9EoMVMAObRnw5HrcdIoQEPA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-sfc': 3.3.9 - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/hoist-static@1.4.2(vue@3.3.9): - resolution: {integrity: sha512-1AJRnjbPDZeS/vus6Qbo0D0KodjjikH5TpP5RhTRL+AMhiR99zw3K4ESS9ZXsPY/hqUu9EIuoN9wHTgPGi6GiA==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/hoist-static@1.5.0(vue@3.3.9): - resolution: {integrity: sha512-ZhPOrnBftGmot+tLrf2db3C2LFP6hvHTOlO2tvD4r9FdhGS+ZNwKYvAiYYxH8Yevs6ZdgffAz+Gpz02QHggKuw==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/jsx-directive@0.7.0(vue@3.3.9): - resolution: {integrity: sha512-OSS7ZnwQueUkEYcjoe4VAeJLp+kkFa0l5mm4fkPQs9zK1uq4D+kCw+Hhg9OyrKNdiWpNutdUHgolJPNsqXUp7A==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/named-template@0.3.9(vue@3.3.9): - resolution: {integrity: sha512-HaJ339NKoWfMO01tpT5f5FkjlxA4tcvkCMkf9plskuKIqJ2fwDBFxB6J6meGVYePltUhmUTH3eCN0fMz4NH+Cg==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue/compiler-dom': 3.3.9 - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/named-template@0.4.0(vue@3.3.9): - resolution: {integrity: sha512-dItF6N/WMWH0INQ5XqZ2SsFo5pZ+Q0muOWfTpi52GaeD96+N02yYUdT+wsZOdNu0VvLh/QuHxmDRCiiROmpL0Q==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-dom': 3.3.9 - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/reactivity-transform@0.2.4(vue@3.3.9): - resolution: {integrity: sha512-3DhJoZrubm7rFXJScbcjqNJliY/mnqjte2ZZtiZBdwId+qwpmvmzKy3jRHcv6h7D+HwBsnQN9i8rIis46HNdvA==} - engines: {node: '>=14.19.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - '@vue-macros/common': 1.1.0(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 - magic-string: 0.29.0 - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/reactivity-transform@0.3.10(vue@3.3.9): - resolution: {integrity: sha512-I6o4GfXXRg7zD3NgDxA0SU2ASCV5BB1LUW3WbFINxEu5WYvNXfSwzkhzC01z4kmtpXv2HMD65Ffi3ajpIugSog==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@babel/parser': 7.22.5 - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 - magic-string: 0.30.0 - unplugin: 1.3.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/reactivity-transform@0.4.0(vue@3.3.9): - resolution: {integrity: sha512-3DG+FWkIZe5xZJhIdxyieIYcDKJGC3aUab1JWtEOkS8Q21rLpu6VKUjV6TmB5LNyLSGVp+7de/87Ptd6C6RHOA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@babel/parser': 7.23.4 - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 - magic-string: 0.30.5 - unplugin: 1.5.1 - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - rollup - dev: true - - /@vue-macros/setup-block@0.2.8(vue@3.3.9): - resolution: {integrity: sha512-URMlfLq7V1lInihS+t73fkufEc4UQdUf53gb+B7bObwgYvwLYmmZfMTbiiJBpgpQqsNYjiqLzrS1nGONQPlOIQ==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue/compiler-dom': 3.3.9 - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/setup-block@0.3.0(vue@3.3.9): - resolution: {integrity: sha512-URaruhrjrMnSAWt+elPblfqOUhL1y7uZKFzrfgPlr/uuyQGDsmxK/ZEw5gMY77rrJwcEqNfHDkNR8BV27gp/3w==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-dom': 3.3.9 - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/setup-component@0.16.9(vue@3.3.9): - resolution: {integrity: sha512-FpQw4GakRAtaL43x2F8u3Qbk5ezEkThm0a+gzt/mbXPeEb6FwEEwzZ8bBmg/36ToCcdQ7Es3yhm5qmzqzZ5yzA==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/setup-component@0.17.0(vue@3.3.9): - resolution: {integrity: sha512-s/jwPQ+lGp3O0kgCFtPkH2+kvLtCLJ04iP+gTQwRXpgXDuQ6UlRdBday5wuhV32cq8C2oLHmKwSvYX/8N7WkRg==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/setup-sfc@0.15.9(vue@3.3.9): - resolution: {integrity: sha512-jt8XVQVm83yZ7mJCUfrY0DwqyvpkLjgrDlBdAe4q1ktWRgZoqdSCVDT8GaoeWJMFq3eRRHxJD13LfN8SmjrkyA==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/setup-sfc@0.17.0(vue@3.3.9): - resolution: {integrity: sha512-4cCoEl+tzEuJtHg4q6MlTLyM1M/xf+CC+d12QaCGbUgALfUAIa85sB8XnnPgxxu2A6MpD+4uE+6BrJHBOXIiVw==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/short-bind@0.2.0(vue@3.3.9): - resolution: {integrity: sha512-1cHCWaysLvrX4Oms+yAEhYjdxP0lfblC6JSlHZ0wzKVnsJ6DAWVaopp1H2kt3uJmWPr8C5iOYO7HRmRxd4JkrQ==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/short-emits@1.4.0(vue@3.3.9): - resolution: {integrity: sha512-E/1kRb2gPf8qlIf1RJeKUsELzL30Wt2IdVD0dO7j+JQ1uEJSlN6JbEh1a60nx8b4BGk6GSIyHskKvy/DVLrKOw==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/short-emits@1.5.0(vue@3.3.9): - resolution: {integrity: sha512-R3ycVQwlnq9XXTSIOJDjdZ3Gbp6EcRwabLUrJcWUEEzqNZds8lP4br7jwPnA0KDCvXdEbjCQqqpzmosLPQuung==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/short-vmodel@1.1.2(vue@3.3.9): - resolution: {integrity: sha512-HYC0b4o895HDMh0ZhMNS1rLQC3sUFPcB3YuISa5FhDD4x9gfyliGUjzXI3wAcaeW4mXbXwxhmvg0M8P62C2Obg==} - engines: {node: '>=14.19.0'} - dependencies: - '@vue-macros/common': 1.1.0(vue@3.3.9) - '@vue/compiler-core': 3.3.4 - transitivePeerDependencies: - - vue - dev: true - - /@vue-macros/short-vmodel@1.4.0(vue@3.3.9): - resolution: {integrity: sha512-0rlL+GfDbbA4FGk90a5uPIkZmYSW4Asmh/r0KHZsqhKmyKxJf9eow7/CYGjvsnDKr+hk+pnq/CUSLkUnn+ey2g==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue/compiler-core': 3.3.9 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /@vue-macros/volar@0.8.4(@vue-macros/reactivity-transform@0.2.4)(vue-tsc@1.8.20)(vue@3.3.9): - resolution: {integrity: sha512-zShxUN5Pceuqo0X+hzk1/HGghp1UuJmUZHNxqxSqYz1zfjQsb9QVB9RZq0NKeXqVaQ5+ALY3uPwnW4zAIDHFjA==} - engines: {node: '>=14.19.0'} - peerDependencies: - vue-tsc: ^1.0.24 - peerDependenciesMeta: - vue-tsc: - optional: true - dependencies: - '@volar/language-core': 1.0.24 - '@vue-macros/common': 1.1.0(vue@3.3.9) - '@vue-macros/define-props': 0.4.0(@vue-macros/reactivity-transform@0.2.4)(vue@3.3.9) - '@vue-macros/short-vmodel': 1.1.2(vue@3.3.9) - muggle-string: 0.2.2 - vue-tsc: 1.8.20(typescript@5.3.3) - transitivePeerDependencies: - - '@vue-macros/reactivity-transform' - - rollup - - vue - dev: true - - /@vue/babel-helper-vue-transform-on@1.1.5: - resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - dev: true - - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): - resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.3 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 - '@vue/babel-helper-vue-transform-on': 1.1.5 - camelcase: 6.3.0 - html-tags: 3.3.1 - svg-tags: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@vue/compiler-core@3.3.4: - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true - - /@vue/compiler-core@3.3.9: - resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/shared': 3.3.9 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - - /@vue/compiler-dom@3.3.9: - resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==} - dependencies: - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 - - /@vue/compiler-sfc@3.3.9: - resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.9 - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-ssr': 3.3.9 - '@vue/reactivity-transform': 3.3.9 - '@vue/shared': 3.3.9 - estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.31 - source-map-js: 1.0.2 - - /@vue/compiler-ssr@3.3.9: - resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==} - dependencies: - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + vue: 3.4.7(typescript@5.3.3) /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4862,8 +4214,8 @@ packages: dependencies: '@volar/language-core': 1.10.10 '@volar/source-map': 1.10.10 - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.4.7 + '@vue/shared': 3.4.7 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -4881,8 +4233,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.4.7 + '@vue/shared': 3.4.7 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -4891,48 +4243,45 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/reactivity-transform@3.3.9: - resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==} - dependencies: - '@babel/parser': 7.23.4 - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 - estree-walker: 2.0.2 - magic-string: 0.30.5 - /@vue/reactivity@3.3.9: resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==} dependencies: '@vue/shared': 3.3.9 + dev: true - /@vue/runtime-core@3.3.9: - resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==} + /@vue/reactivity@3.4.7: + resolution: {integrity: sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==} dependencies: - '@vue/reactivity': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/shared': 3.4.7 - /@vue/runtime-dom@3.3.9: - resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==} + /@vue/runtime-core@3.4.7: + resolution: {integrity: sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==} dependencies: - '@vue/runtime-core': 3.3.9 - '@vue/shared': 3.3.9 - csstype: 3.1.2 + '@vue/reactivity': 3.4.7 + '@vue/shared': 3.4.7 - /@vue/server-renderer@3.3.9(vue@3.3.9): - resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==} - peerDependencies: - vue: 3.3.9 + /@vue/runtime-dom@3.4.7: + resolution: {integrity: sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==} dependencies: - '@vue/compiler-ssr': 3.3.9 - '@vue/shared': 3.3.9 - vue: 3.3.9(typescript@5.3.3) + '@vue/runtime-core': 3.4.7 + '@vue/shared': 3.4.7 + csstype: 3.1.3 - /@vue/shared@3.3.4: - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - dev: true + /@vue/server-renderer@3.4.7(vue@3.4.7): + resolution: {integrity: sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==} + peerDependencies: + vue: 3.4.7 + dependencies: + '@vue/compiler-ssr': 3.4.7 + '@vue/shared': 3.4.7 + vue: 3.4.7(typescript@5.3.3) /@vue/shared@3.3.9: resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} + dev: true + + /@vue/shared@3.4.7: + resolution: {integrity: sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA==} /@vue/typescript@1.8.20(typescript@5.3.3): resolution: {integrity: sha512-F0XX1wK71Fo9ewtzLSCSo5dfOuwKrSi/dR2AlI00iTJ4Bfk0wq1BNTRgnlvfx4kz/vQovaGXqwpIkif14W9KrA==} @@ -4943,55 +4292,106 @@ packages: - typescript dev: true - /@vueuse/core@10.5.0(vue@3.3.9): - resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} + /@vueuse/core@10.6.1(vue@3.4.7): + resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} dependencies: - '@types/web-bluetooth': 0.0.18 - '@vueuse/metadata': 10.5.0 - '@vueuse/shared': 10.5.0(vue@3.3.9) - vue-demi: 0.14.6(vue@3.3.9) + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.6.1 + '@vueuse/shared': 10.6.1(vue@3.4.7) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue + dev: true - /@vueuse/core@10.6.1(vue@3.3.9): - resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} + /@vueuse/core@10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7): + resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.6.1 - '@vueuse/shared': 10.6.1(vue@3.3.9) - vue-demi: 0.14.6(vue@3.3.9) + '@vueuse/metadata': 10.7.1 + '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/core@9.13.0(vue@3.3.9): + /@vueuse/core@9.13.0(vue@3.4.7): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0(vue@3.3.9) - vue-demi: 0.14.6(vue@3.3.9) + '@vueuse/shared': 9.13.0(vue@3.4.7) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/head@2.0.0(vue@3.4.7): + resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} + peerDependencies: + vue: '>=2.7 || >=3' + dependencies: + '@unhead/dom': 1.8.8 + '@unhead/schema': 1.8.8 + '@unhead/ssr': 1.8.8 + '@unhead/vue': 1.8.8(vue@3.4.7) + vue: 3.4.7(typescript@5.3.3) + dev: true + + /@vueuse/integrations@10.7.1(@vue/composition-api@1.7.2)(focus-trap@7.5.4)(vue@3.4.7): + resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + focus-trap: 7.5.4 + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/head@2.0.0(vue@3.3.9): - resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} - peerDependencies: - vue: '>=2.7 || >=3' - dependencies: - '@unhead/dom': 1.8.8 - '@unhead/schema': 1.8.8 - '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.3.9) - vue: 3.3.9(typescript@5.3.3) - dev: true - - /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.9): - resolution: {integrity: sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==} + /@vueuse/integrations@10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7): + resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} peerDependencies: async-validator: '*' axios: '*' @@ -5031,37 +4431,39 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.5.0(vue@3.3.9) - '@vueuse/shared': 10.5.0(vue@3.3.9) + '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) focus-trap: 7.5.4 fuse.js: 6.6.2 - vue-demi: 0.14.6(vue@3.3.9) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue - - /@vueuse/metadata@10.5.0: - resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} + dev: true /@vueuse/metadata@10.6.1: resolution: {integrity: sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==} dev: true + /@vueuse/metadata@10.7.1: + resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} + dev: true + /@vueuse/metadata@9.13.0: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/nuxt@10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.9): + /@vueuse/nuxt@10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7): resolution: {integrity: sha512-MnXg0ZviWHKcf2CsBYeHXhK9Pqn2TF7EJfaLgd+3rHEyb6XlSLUKBTPNCiO+5VH3Ck1IJAez90KS3VAdSqqs1w==} peerDependencies: nuxt: ^3.0.0 dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@vueuse/core': 10.6.1(vue@3.3.9) + '@vueuse/core': 10.6.1(vue@3.4.7) '@vueuse/metadata': 10.6.1 local-pkg: 0.5.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) - vue-demi: 0.14.6(vue@3.3.9) + nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - rollup @@ -5069,27 +4471,28 @@ packages: - vue dev: true - /@vueuse/shared@10.5.0(vue@3.3.9): - resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} + /@vueuse/shared@10.6.1(vue@3.4.7): + resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} dependencies: - vue-demi: 0.14.6(vue@3.3.9) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue + dev: true - /@vueuse/shared@10.6.1(vue@3.3.9): - resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} + /@vueuse/shared@10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7): + resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(vue@3.3.9) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/shared@9.13.0(vue@3.3.9): + /@vueuse/shared@9.13.0(vue@3.4.7): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.6(vue@3.3.9) + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5404,17 +4807,6 @@ packages: util: 0.12.5 dev: true - /ast-kit@0.11.2: - resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - pathe: 1.1.1 - transitivePeerDependencies: - - rollup - dev: true - /ast-kit@0.11.2(rollup@3.29.4): resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} engines: {node: '>=16.14.0'} @@ -5426,28 +4818,6 @@ packages: - rollup dev: true - /ast-kit@0.6.5(rollup@3.25.3): - resolution: {integrity: sha512-XCg0VWvmWU2T/6aMp8VRfJWZ6LZv1P0o8otWY7RAGtfKj0qGi45vtnKNkltJhu9tmbQNZxv+gJA4o7FtLDfmWg==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.0.2(rollup@3.25.3) - pathe: 1.1.0 - transitivePeerDependencies: - - rollup - dev: true - - /ast-kit@0.9.5: - resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.23.4 - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - pathe: 1.1.1 - transitivePeerDependencies: - - rollup - dev: true - /ast-kit@0.9.5(rollup@3.29.4): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} @@ -5473,24 +4843,6 @@ packages: tslib: 2.5.0 dev: true - /ast-walker-scope@0.4.2: - resolution: {integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - dev: true - - /ast-walker-scope@0.5.0: - resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} - engines: {node: '>=16.14.0'} - dependencies: - '@babel/parser': 7.23.0 - ast-kit: 0.9.5 - transitivePeerDependencies: - - rollup - dev: true - /ast-walker-scope@0.5.0(rollup@3.29.4): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} @@ -6210,10 +5562,10 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /codemirror@6.0.1(@lezer/common@1.1.1): + /codemirror@6.0.1(@lezer/common@1.2.0): resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.1.1) + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0) '@codemirror/commands': 6.3.2 '@codemirror/language': 6.9.3 '@codemirror/lint': 6.4.2 @@ -6847,6 +6199,10 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /cypress@13.6.0: resolution: {integrity: sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==} @@ -7375,6 +6731,10 @@ packages: engines: {node: '>=0.12'} dev: true + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -7622,7 +6982,7 @@ packages: eslint: 8.54.0 dev: true - /eslint-config-standard@17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0): + /eslint-config-standard@17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} peerDependencies: eslint: ^8.0.1 @@ -7630,10 +6990,10 @@ packages: eslint-plugin-n: ^15.0.0 eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.54.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-n: 15.6.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) + eslint: 8.56.0 + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-n: 15.6.1(eslint@8.56.0) + eslint-plugin-promise: 6.1.1(eslint@8.56.0) dev: true /eslint-import-resolver-node@0.3.9: @@ -7646,7 +7006,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -7655,9 +7015,9 @@ packages: dependencies: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.12.0 - eslint: 8.54.0 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint: 8.56.0 + eslint-module-utils: 2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.11.0 @@ -7669,7 +7029,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /eslint-module-utils@2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -7690,10 +7050,10 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) - eslint: 8.54.0 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + eslint: 8.56.0 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: true @@ -7727,7 +7087,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7748,11 +7108,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: true @@ -7767,13 +7127,13 @@ packages: - typescript dev: true - /eslint-plugin-es@3.0.1(eslint@8.54.0): + /eslint-plugin-es@3.0.1(eslint@8.56.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.54.0 + eslint: 8.56.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true @@ -7789,6 +7149,17 @@ packages: regexpp: 3.2.0 dev: true + /eslint-plugin-es@4.1.0(eslint@8.56.0): + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + eslint: 8.56.0 + eslint-utils: 2.1.0 + regexpp: 3.2.0 + dev: true + /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} @@ -7841,7 +7212,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -7851,16 +7222,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 8.54.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -7939,19 +7310,36 @@ packages: semver: 7.5.4 dev: true + /eslint-plugin-n@15.6.1(eslint@8.56.0): + resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==} + engines: {node: '>=12.22.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + builtins: 5.0.1 + eslint: 8.56.0 + eslint-plugin-es: 4.1.0(eslint@8.56.0) + eslint-utils: 3.0.0(eslint@8.56.0) + ignore: 5.3.0 + is-core-module: 2.13.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.5.4 + dev: true + /eslint-plugin-no-only-tests@3.1.0: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-node@11.1.0(eslint@8.54.0): + /eslint-plugin-node@11.1.0(eslint@8.56.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.54.0 - eslint-plugin-es: 3.0.1(eslint@8.54.0) + eslint: 8.56.0 + eslint-plugin-es: 3.0.1(eslint@8.56.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -7968,7 +7356,16 @@ packages: eslint: 8.54.0 dev: true - /eslint-plugin-unicorn@44.0.2(eslint@8.54.0): + /eslint-plugin-promise@6.1.1(eslint@8.56.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.56.0 + dev: true + + /eslint-plugin-unicorn@44.0.2(eslint@8.56.0): resolution: {integrity: sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==} engines: {node: '>=14.18'} peerDependencies: @@ -7977,8 +7374,8 @@ packages: '@babel/helper-validator-identifier': 7.22.5 ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.54.0 - eslint-utils: 3.0.0(eslint@8.54.0) + eslint: 8.56.0 + eslint-utils: 3.0.0(eslint@8.56.0) esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -8049,6 +7446,24 @@ packages: - supports-color dev: true + /eslint-plugin-vue@9.18.1(eslint@8.56.0): + resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + eslint: 8.56.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.2(eslint@8.56.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-yml@1.10.0(eslint@8.54.0): resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -8111,6 +7526,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true + /eslint-utils@3.0.0(eslint@8.56.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.56.0 + eslint-visitor-keys: 2.1.0 + dev: true + /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -8178,6 +7603,53 @@ packages: - supports-color dev: true + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /espree@9.5.0: resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8365,7 +7837,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.0 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color dev: true @@ -8501,20 +7973,21 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /floating-vue@2.0.0-beta.20(vue@3.3.9): + /floating-vue@2.0.0-beta.20(vue@3.4.7): resolution: {integrity: sha512-N68otcpp6WwcYC7zP8GeJqNZVdfvS7tEY88lwmuAHeqRgnfWx1Un8enzLxROyVnBDZ3TwUoUdj5IFg+bUT7JeA==} peerDependencies: vue: ^3.2.0 dependencies: '@floating-ui/dom': 0.1.10 - vue: 3.3.9(typescript@5.3.3) - vue-resize: 2.0.0-alpha.1(vue@3.3.9) + vue: 3.4.7(typescript@5.3.3) + vue-resize: 2.0.0-alpha.1(vue@3.4.7) dev: true /focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} dependencies: tabbable: 6.2.0 + dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -8654,6 +8127,7 @@ packages: /fuse.js@6.6.2: resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} engines: {node: '>=10'} + dev: true /fuzzysort@2.0.4: resolution: {integrity: sha512-Api1mJL+Ad7W7vnDZnWq5pGaXJjyencT+iKGia2PlHUcSsSzWwIQ3S1isiMpwpavjYtGd2FzhUIhnnhOULZgDw==} @@ -8945,6 +8419,13 @@ packages: type-fest: 0.20.2 dev: true + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} @@ -10589,13 +10070,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /magic-string-ast@0.1.2: - resolution: {integrity: sha512-P53AZrzq7hclCU6HWj88xNZHmP15DKjMmK/vBytO1qnpYP3ul4IEZlyCE0aU3JRnmgWmZPmoTKj4Bls7v0pMyA==} - engines: {node: '>=14.19.0'} - dependencies: - magic-string: 0.30.5 - dev: true - /magic-string-ast@0.3.0: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} @@ -10617,13 +10091,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -11660,10 +11127,6 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /muggle-string@0.1.0: - resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} - dev: true - /muggle-string@0.2.2: resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} dev: true @@ -11689,12 +11152,12 @@ packages: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: true /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true /nanoid@4.0.1: resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} @@ -12117,19 +11580,125 @@ packages: - supports-color dev: true - /nuxt-icon@0.3.3(rollup@3.29.4)(vue@3.3.9): - resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} - dependencies: - '@iconify/vue': 4.1.0(vue@3.3.9) - '@nuxt/kit': 3.8.2(rollup@3.29.4) - nuxt-config-schema: 0.4.5(rollup@3.29.4) - transitivePeerDependencies: - - rollup - - supports-color - - vue - dev: true - - /nuxt@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20): + /nuxt-icon@0.3.3(rollup@3.29.4)(vue@3.4.7): + resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} + dependencies: + '@iconify/vue': 4.1.0(vue@3.4.7) + '@nuxt/kit': 3.8.2(rollup@3.29.4) + nuxt-config-schema: 0.4.5(rollup@3.29.4) + transitivePeerDependencies: + - rollup + - supports-color + - vue + dev: true + + /nuxt@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20): + resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) + '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@nuxt/schema': 3.8.2(rollup@3.29.4) + '@nuxt/telemetry': 2.5.3(rollup@3.29.4) + '@nuxt/ui-templates': 1.3.1 + '@nuxt/vite-builder': 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7) + '@types/node': 20.10.4 + '@unhead/dom': 1.8.8 + '@unhead/ssr': 1.8.8 + '@unhead/vue': 1.8.8(vue@3.4.7) + '@vue/shared': 3.3.9 + acorn: 8.11.2 + c12: 1.5.1 + chokidar: 3.5.3 + cookie-es: 1.0.0 + defu: 6.1.3 + destr: 2.0.2 + devalue: 4.3.2 + esbuild: 0.19.8 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.1.1 + globby: 14.0.0 + h3: 1.9.0 + hookable: 5.5.3 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + magic-string: 0.30.5 + mlly: 1.4.2 + nitropack: 2.8.0 + nuxi: 3.10.0 + nypm: 0.3.3 + ofetch: 1.3.3 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + radix3: 1.1.0 + scule: 1.1.0 + std-env: 3.5.0 + strip-literal: 1.3.0 + ufo: 1.3.2 + ultrahtml: 1.5.2 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.8.0 + unimport: 3.6.0(rollup@3.29.4) + unplugin: 1.5.1 + unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7) + untyped: 1.4.0 + vue: 3.4.7(typescript@5.3.3) + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.2.5(vue@3.4.7) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - bluebird + - bufferutil + - encoding + - eslint + - idb-keyval + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js + dev: true + + /nuxt@3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20): resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -12143,16 +11712,16 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.0) + '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxt/schema': 3.8.2(rollup@3.29.4) '@nuxt/telemetry': 2.5.3(rollup@3.29.4) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.3.9) + '@nuxt/vite-builder': 3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7) '@types/node': 20.10.4 '@unhead/dom': 1.8.8 '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.3.9) + '@unhead/vue': 1.8.8(vue@3.4.7) '@vue/shared': 3.3.9 acorn: 8.11.2 c12: 1.5.1 @@ -12192,12 +11761,12 @@ packages: unenv: 1.8.0 unimport: 3.6.0(rollup@3.29.4) unplugin: 1.5.1 - unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.3.9) + unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7) untyped: 1.4.0 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) vue-bundle-renderer: 2.0.0 vue-devtools-stub: 0.1.0 - vue-router: 4.2.5(vue@3.3.9) + vue-router: 4.2.5(vue@3.4.7) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -12684,7 +12253,7 @@ packages: /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: - entities: 4.4.0 + entities: 4.5.0 dev: true /parseurl@1.3.3: @@ -12806,7 +12375,7 @@ packages: engines: {node: '>=4'} dev: true - /pinceau@0.18.8(postcss@8.4.32): + /pinceau@0.18.8(postcss@8.4.33): resolution: {integrity: sha512-aVIRYxz80nweDjabJzauKtsSVS48JdWWVwWnHxG/e1HI9/aV0/RmdTD3P/8KXfYZ9OySl3MjCgUc7MZb+IwwEw==} dependencies: '@unocss/reset': 0.50.4 @@ -12821,9 +12390,9 @@ packages: ohash: 1.0.0 paneer: 0.1.0 pathe: 1.1.0 - postcss-custom-properties: 13.1.4(postcss@8.4.32) - postcss-dark-theme-class: 0.7.3(postcss@8.4.32) - postcss-nested: 6.0.1(postcss@8.4.32) + postcss-custom-properties: 13.1.4(postcss@8.4.33) + postcss-dark-theme-class: 0.7.3(postcss@8.4.33) + postcss-nested: 6.0.1(postcss@8.4.33) recast: 0.22.0 scule: 1.0.0 style-dictionary-esm: 1.3.7 @@ -12947,7 +12516,7 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties@13.1.4(postcss@8.4.32): + /postcss-custom-properties@13.1.4(postcss@8.4.33): resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -12956,7 +12525,7 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.1(@csstools/css-parser-algorithms@2.0.1)(@csstools/css-tokenizer@2.1.0) '@csstools/css-parser-algorithms': 2.0.1(@csstools/css-tokenizer@2.1.0) '@csstools/css-tokenizer': 2.1.0 - postcss: 8.4.32 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true @@ -12973,13 +12542,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-dark-theme-class@0.7.3(postcss@8.4.32): + /postcss-dark-theme-class@0.7.3(postcss@8.4.33): resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 dev: true /postcss-discard-comments@6.0.0(postcss@8.4.31): @@ -13239,13 +12808,13 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /postcss-nested@6.0.1(postcss@8.4.32): + /postcss-nested@6.0.1(postcss@8.4.33): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.32 + postcss: 8.4.33 postcss-selector-parser: 6.0.11 dev: true @@ -13573,6 +13142,7 @@ packages: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: true /postcss@8.4.32: resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} @@ -13583,6 +13153,14 @@ packages: source-map-js: 1.0.2 dev: true + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -14165,11 +13743,6 @@ packages: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true - /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: @@ -14254,7 +13827,7 @@ packages: rollup: 3.29.4 typescript: 4.9.5 optionalDependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 dev: true /rollup-plugin-dts@6.1.0(rollup@3.29.4)(typescript@5.3.3): @@ -14268,7 +13841,7 @@ packages: rollup: 3.29.4 typescript: 5.3.3 optionalDependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 dev: true /rollup-plugin-visualizer@5.9.3(rollup@3.29.4): @@ -14305,14 +13878,6 @@ packages: yargs: 17.7.1 dev: true - /rollup@3.25.3: - resolution: {integrity: sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - /rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -14603,15 +14168,6 @@ packages: - supports-color dev: true - /sirv@2.0.2: - resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} - engines: {node: '>= 10'} - dependencies: - '@polka/url': 1.0.0-next.21 - mrmime: 1.0.1 - totalist: 3.0.0 - dev: true - /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -15100,6 +14656,7 @@ packages: /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true /tailwind-config-viewer@1.7.3(tailwindcss@3.3.5): resolution: {integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==} @@ -15848,160 +15405,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unplugin-combine@0.6.0(vite@5.0.6): - resolution: {integrity: sha512-cZkTg2Z3CcScyRi6QtpVxBZoCMsPaEHyKNh7HyqMkfWV7sKNwHllYezVOFINOGNzqSS1+xWLY3iDCiTVoH3oaA==} - engines: {node: '>=14.19.0'} - peerDependencies: - esbuild: '>=0.13' - rollup: ^3.2.0 - vite: ^2.3.0 || ^3.0.0 || ^4.0.0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - dependencies: - '@antfu/utils': 0.7.2 - unplugin: 1.3.1 - vite: 5.0.6(@types/node@20.10.4) - dev: true - - /unplugin-combine@0.8.1(vite@5.0.6): - resolution: {integrity: sha512-m2OSmXXRwCPZx8Ct8eF8WbjgTo8bydim2W1ofu2hDabGdr2pgDAoFjOP1J4MOIwa0OByqk1JX8IGlSdeE6uxVQ==} - engines: {node: '>=16.14.0'} - peerDependencies: - esbuild: '>=0.13' - rollup: ^3.2.0 || ^4.0.0 - vite: ^2.3.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - webpack: 4 || 5 - peerDependenciesMeta: - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true - dependencies: - '@antfu/utils': 0.7.6 - unplugin: 1.5.1 - vite: 5.0.6(@types/node@20.10.4) - dev: true - - /unplugin-vue-define-options@1.3.8(vue@3.3.9): - resolution: {integrity: sha512-1GOjzRJn1uinTZXsw4harGwS2op5dIjVfmMIeCbkt7tjipaBLt/8M4vWli4IflJ82bXorMJQ6P5HDF08C+aHhg==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - ast-walker-scope: 0.4.2 - unplugin: 1.3.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /unplugin-vue-define-options@1.4.0(vue@3.3.9): - resolution: {integrity: sha512-P8TPXzZ1eqwkLZrGm+tHc7fR7/md6bEfSuJdxZi6Pp4PcqRctDzmZiXpQVIjBULpv+LhOCVRehIrsOTvABVUww==} - engines: {node: '>=16.14.0'} - dependencies: - '@vue-macros/common': 1.9.0(vue@3.3.9) - ast-walker-scope: 0.5.0 - unplugin: 1.5.1 - transitivePeerDependencies: - - rollup - - vue - dev: true - - /unplugin-vue-macros@2.3.0(@vueuse/core@10.5.0)(typescript@5.3.3)(vite@5.0.6)(vue@3.3.9): - resolution: {integrity: sha512-hywG2vnxjAfVXvdUVgeUw3hTSjgLxy42dw1wmCWqxh5mM+XoLIn1ebjA9pZCRKkM0l2fYImZpl1jZeFy0CzoAA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/better-define': 1.6.2(vue@3.3.9) - '@vue-macros/chain-call': 0.0.1(vue@3.3.9) - '@vue-macros/common': 1.4.0(rollup@3.25.3)(vue@3.3.9) - '@vue-macros/define-emit': 0.1.6(vue@3.3.9) - '@vue-macros/define-models': 1.0.6(@vueuse/core@10.5.0)(vue@3.3.9) - '@vue-macros/define-prop': 0.1.7(vue@3.3.9) - '@vue-macros/define-props': 1.0.8(@vue-macros/reactivity-transform@0.3.10)(vue@3.3.9) - '@vue-macros/define-props-refs': 1.1.0(vue@3.3.9) - '@vue-macros/define-render': 1.3.9(vue@3.3.9) - '@vue-macros/define-slots': 1.0.5(vue@3.3.9) - '@vue-macros/devtools': 0.1.2(typescript@5.3.3)(vite@5.0.6) - '@vue-macros/export-expose': 0.0.3(vue@3.3.9) - '@vue-macros/export-props': 0.3.8(vue@3.3.9) - '@vue-macros/hoist-static': 1.4.2(vue@3.3.9) - '@vue-macros/named-template': 0.3.9(vue@3.3.9) - '@vue-macros/reactivity-transform': 0.3.10(vue@3.3.9) - '@vue-macros/setup-block': 0.2.8(vue@3.3.9) - '@vue-macros/setup-component': 0.16.9(vue@3.3.9) - '@vue-macros/setup-sfc': 0.15.9(vue@3.3.9) - '@vue-macros/short-emits': 1.4.0(vue@3.3.9) - unplugin: 1.3.1 - unplugin-combine: 0.6.0(vite@5.0.6) - unplugin-vue-define-options: 1.3.8(vue@3.3.9) - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - '@vueuse/core' - - esbuild - - rollup - - typescript - - vite - - webpack - dev: true - - /unplugin-vue-macros@2.7.0(typescript@5.3.3)(vite@5.0.6)(vue@3.3.9): - resolution: {integrity: sha512-SztF4ARBbrd1yuH4FbJOhp22rTvzakjzJUHTKLRQkZY1KMkIzx/KAdzEkxjAG2Xteqb29SYrc7XcoPdrUPMCCw==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - dependencies: - '@vue-macros/better-define': 1.7.0(vue@3.3.9) - '@vue-macros/boolean-prop': 0.3.0(vue@3.3.9) - '@vue-macros/chain-call': 0.2.0(vue@3.3.9) - '@vue-macros/common': 1.9.0(vue@3.3.9) - '@vue-macros/define-emit': 0.2.0(vue@3.3.9) - '@vue-macros/define-models': 1.2.0(vue@3.3.9) - '@vue-macros/define-prop': 0.3.0(vue@3.3.9) - '@vue-macros/define-props': 2.0.0(@vue-macros/reactivity-transform@0.4.0)(vue@3.3.9) - '@vue-macros/define-props-refs': 1.2.0(vue@3.3.9) - '@vue-macros/define-render': 1.5.0(vue@3.3.9) - '@vue-macros/define-slots': 1.1.0(vue@3.3.9) - '@vue-macros/devtools': 0.2.0(typescript@5.3.3)(vite@5.0.6) - '@vue-macros/export-expose': 0.1.0(vue@3.3.9) - '@vue-macros/export-props': 0.4.0(vue@3.3.9) - '@vue-macros/export-render': 0.2.0(vue@3.3.9) - '@vue-macros/hoist-static': 1.5.0(vue@3.3.9) - '@vue-macros/jsx-directive': 0.7.0(vue@3.3.9) - '@vue-macros/named-template': 0.4.0(vue@3.3.9) - '@vue-macros/reactivity-transform': 0.4.0(vue@3.3.9) - '@vue-macros/setup-block': 0.3.0(vue@3.3.9) - '@vue-macros/setup-component': 0.17.0(vue@3.3.9) - '@vue-macros/setup-sfc': 0.17.0(vue@3.3.9) - '@vue-macros/short-bind': 0.2.0(vue@3.3.9) - '@vue-macros/short-emits': 1.5.0(vue@3.3.9) - '@vue-macros/short-vmodel': 1.4.0(vue@3.3.9) - unplugin: 1.5.1 - unplugin-combine: 0.8.1(vite@5.0.6) - unplugin-vue-define-options: 1.4.0(vue@3.3.9) - vue: 3.3.9(typescript@5.3.3) - transitivePeerDependencies: - - '@vueuse/core' - - esbuild - - rollup - - typescript - - vite - - webpack - dev: true - - /unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.3.9): + /unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -16011,7 +15415,7 @@ packages: dependencies: '@babel/types': 7.23.4 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.3.9) + '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.4.7) ast-walker-scope: 0.5.0(rollup@3.29.4) chokidar: 3.5.3 fast-glob: 3.3.2 @@ -16021,22 +15425,13 @@ packages: pathe: 1.1.1 scule: 1.1.0 unplugin: 1.5.1 - vue-router: 4.2.5(vue@3.3.9) + vue-router: 4.2.5(vue@3.4.7) yaml: 2.3.4 transitivePeerDependencies: - rollup - vue dev: true - /unplugin@1.1.0: - resolution: {integrity: sha512-I8obQ8Rs/hnkxokRV6g8JKOQFgYNnTd9DL58vcSt5IJ9AkK8wbrtsnzD5hi4BJlvcY536JzfEXj9L6h7j559/A==} - dependencies: - acorn: 8.8.2 - chokidar: 3.5.3 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: true - /unplugin@1.3.1: resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} dependencies: @@ -16412,6 +15807,60 @@ packages: vue-tsc: 1.8.20(typescript@5.3.3) dev: true + /vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20): + resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: '>=13' + typescript: '*' + vite: '>=2.0.0' + vls: '*' + vti: '*' + vue-tsc: '>=1.3.9' + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + dependencies: + '@babel/code-frame': 7.18.6 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.5.3 + commander: 8.3.0 + eslint: 8.56.0 + fast-glob: 3.3.2 + fs-extra: 11.1.1 + lodash.debounce: 4.0.8 + lodash.pick: 4.4.0 + npm-run-path: 4.0.1 + semver: 7.5.4 + strip-ansi: 6.0.1 + tiny-invariant: 1.3.1 + typescript: 5.3.3 + vite: 4.5.0(@types/node@20.10.4) + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.8 + vscode-uri: 3.0.7 + vue-tsc: 1.8.20(typescript@5.3.3) + dev: true + /vite-plugin-dts@3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6): resolution: {integrity: sha512-NyRvgobl15rYj65coi/gH7UAEH+CpSjh539DbGb40DfOTZSvDLNYTzc8CK4460W+LqXuMK7+U3JAxRB3ksrNPw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -16436,7 +15885,7 @@ packages: - supports-color dev: true - /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.0): + /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.1): resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} engines: {node: '>=14'} peerDependencies: @@ -16455,13 +15904,13 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.3 - vite: 4.5.0(@types/node@20.10.4) + vite: 4.5.1(@types/node@20.10.4) transitivePeerDependencies: - rollup - supports-color dev: true - /vite-plugin-vue-inspector@4.0.0(vite@4.5.0): + /vite-plugin-vue-inspector@4.0.0(vite@4.5.1): resolution: {integrity: sha512-xNjMbRj3YrebuuInTvlC8ghPtzT+3LjMIQPeeR/5CaFd+WcbA9wBnECZmlcP3GITCVED0SxGmTyoJ3iVKsK4vQ==} peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 @@ -16472,10 +15921,10 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) - '@vue/compiler-dom': 3.3.9 + '@vue/compiler-dom': 3.4.7 kolorist: 1.8.0 magic-string: 0.30.5 - vite: 4.5.0(@types/node@20.10.4) + vite: 4.5.1(@types/node@20.10.4) transitivePeerDependencies: - supports-color dev: true @@ -16516,6 +15965,42 @@ packages: fsevents: 2.3.3 dev: true + /vite@4.5.1(@types/node@20.10.4): + resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.10.4 + esbuild: 0.18.20 + postcss: 8.4.33 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vite@5.0.6(@types/node@20.10.4): resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -16609,7 +16094,7 @@ packages: typescript: 5.3.3 dev: true - /vue-demi@0.14.6(vue@3.3.9): + /vue-demi@0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -16621,7 +16106,8 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.9(typescript@5.3.3) + '@vue/composition-api': 1.7.2(vue@3.4.7) + vue: 3.4.7(typescript@5.3.3) /vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} @@ -16645,21 +16131,39 @@ packages: - supports-color dev: true - /vue-resize@2.0.0-alpha.1(vue@3.3.9): + /vue-eslint-parser@9.3.2(eslint@8.56.0): + resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.56.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.3.0 + espree: 9.5.0 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-resize@2.0.0-alpha.1(vue@3.4.7): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) dev: true - /vue-router@4.2.5(vue@3.3.9): + /vue-router@4.2.5(vue@3.4.7): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.9(typescript@5.3.3) + vue: 3.4.7(typescript@5.3.3) /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -16696,19 +16200,19 @@ packages: resolution: {integrity: sha512-7ein6vCC9LN6fsO3o9mYgmoldU9c/O2oyw9U5cqAJP21Mj2yQ8OGNPzEZfen6QltgLMfAOXv4iPIdE0EXFezGA==} dev: false - /vue@3.3.9(typescript@5.3.3): - resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} + /vue@3.4.7(typescript@5.3.3): + resolution: {integrity: sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-sfc': 3.3.9 - '@vue/runtime-dom': 3.3.9 - '@vue/server-renderer': 3.3.9(vue@3.3.9) - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.4.7 + '@vue/compiler-sfc': 3.4.7 + '@vue/runtime-dom': 3.4.7 + '@vue/server-renderer': 3.4.7(vue@3.4.7) + '@vue/shared': 3.4.7 typescript: 5.3.3 /w3c-keyname@2.2.6: diff --git a/viteplay/package.json b/viteplay/package.json index 62cab4fc..7489fc83 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -7,15 +7,12 @@ "build": "vite build" }, "dependencies": { - "vue": "^3.3.7", - "vue-final-modal": "workspace:4.5.2", + "vue": "^3.4.7", + "vue-final-modal": "workspace:4.5.3", "vue-router": "^4.2.5" }, "devDependencies": { "@viteplay/plugin": "^0.2.9", - "@viteplay/vue": "^0.2.9", - "@vue-macros/volar": "^0.8.4", - "unplugin-vue-define-options": "^1.4.0", - "unplugin-vue-macros": "^2.7.0" + "@viteplay/vue": "^0.2.9" } } diff --git a/viteplay/src/components/VueFinalModal/TestModal.vue b/viteplay/src/components/VueFinalModal/TestModal.vue index 4bc77a30..9b79beb6 100644 --- a/viteplay/src/components/VueFinalModal/TestModal.vue +++ b/viteplay/src/components/VueFinalModal/TestModal.vue @@ -26,10 +26,6 @@ const emit = defineEmits<{ (e: 'clickOutside'): void }>() -defineOptions({ - inheritAttrs: false, -}) - const vfmAttrs = useVfmAttrs({ props, modalProps: vueFinalModalProps, @@ -37,6 +33,12 @@ const vfmAttrs = useVfmAttrs({ }) </script> +<script lang="ts"> +export default { + inheritAttrs: false, +} +</script> + <template> <VueFinalModal v-bind="vfmAttrs"> <slot /> diff --git a/viteplay/tsconfig.json b/viteplay/tsconfig.json index ceb99c45..4bf3a5f8 100644 --- a/viteplay/tsconfig.json +++ b/viteplay/tsconfig.json @@ -6,16 +6,6 @@ "unplugin-vue-define-options/macros-global" ] }, - "vueCompilerOptions": { - "plugins": [ - "@vue-macros/volar/define-model", - "@vue-macros/volar/short-vmodel", - "@vue-macros/volar/define-slots" - ], - "shortVmodel": { - "prefix": "$" - } - }, "exclude": [ ".cache", "playground", diff --git a/viteplay/vite.config.ts b/viteplay/vite.config.ts index 29a0e5ae..6a729844 100644 --- a/viteplay/vite.config.ts +++ b/viteplay/vite.config.ts @@ -1,10 +1,6 @@ import path from 'node:path' import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' -// @ts-expect-error -import VueMacros from 'unplugin-vue-macros/vite' -// @ts-expect-error -import DefineOptions from 'unplugin-vue-define-options/vite' import viteplay from '@viteplay/plugin' const componentPath = '../packages/vue-final-modal/src/components' @@ -17,12 +13,7 @@ export default defineConfig({ }, }, plugins: [ - VueMacros({ - plugins: { - vue: Vue(), - }, - }), - DefineOptions(), + Vue(), viteplay({ pages: [ { From ef35c1ea383fd231a663d0b2bf206cd3606764b9 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 10 Jan 2024 23:50:46 +0800 Subject: [PATCH 02/37] refactor: rewrite ModalsContainer with render function --- .../src/components/ModalsContainer.ts | 59 +++++++++++++++++++ .../src/components/ModalsContainer.vue | 57 ------------------ .../VueFinalModal/VueFinalModal.vue | 9 +++ packages/vue-final-modal/src/index.ts | 2 +- 4 files changed, 69 insertions(+), 58 deletions(-) create mode 100644 packages/vue-final-modal/src/components/ModalsContainer.ts delete mode 100644 packages/vue-final-modal/src/components/ModalsContainer.vue diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts new file mode 100644 index 00000000..155ad276 --- /dev/null +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -0,0 +1,59 @@ +import type { Component } from 'vue-demi' +import { computed, defineComponent, h, onBeforeUnmount } from 'vue-demi' +import type { ModalSlotOptions } from '..' +import { isModalSlotOptions, useVfm } from '~/useApi' +import { isString, objectEntries } from '~/utils' + +export const ModalsContainer = defineComponent({ + setup() { + const { modalsContainers, dynamicModals } = useVfm() + + const uid = Symbol(__DEV__ ? 'ModalsContainer' : '') + const shouldMount = computed(() => uid === modalsContainers.value?.[0]) + + modalsContainers.value.push(uid) + onBeforeUnmount(() => { + modalsContainers.value = modalsContainers.value.filter(i => i !== uid) + }) + + function resolvedClosed(index: number) { + dynamicModals[index]?.resolveClosed?.() + if (!dynamicModals[index]?.keepAlive) + dynamicModals.splice(index, 1) + } + + function resolvedOpened(index: number) { + dynamicModals[index]?.resolveOpened?.() + } + + return () => { + if (shouldMount.value) + return null + return dynamicModals.map((modal, index) => { + if (!modal.component) + return null + const slots = objectEntries(modal.slots || {}).reduce((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | ModalSlotOptions + if (isString(slot)) + acc[slotName] = () => h('div', { innerHTML: slot }) + else if (isModalSlotOptions(slot)) + acc[slotName] = () => h(slot.component, slot.attrs) + else + acc[slotName] = () => h(slot) + return acc + }, {} as any) + + return h(modal.component, { + 'key': modal.id, + 'modelValue': modal.modelValue, + 'onUpdate:modelValue': (value: boolean) => modal.modelValue = value, + 'displayDirective': modal?.keepAlive ? 'show' : undefined, + ...(typeof modal.attrs === 'object' ? modal.attrs : {}), + 'on_closed': () => resolvedClosed(index), + 'on_opened': () => resolvedOpened(index), + }, slots) + }) + } + }, +}) diff --git a/packages/vue-final-modal/src/components/ModalsContainer.vue b/packages/vue-final-modal/src/components/ModalsContainer.vue deleted file mode 100644 index 476c2cba..00000000 --- a/packages/vue-final-modal/src/components/ModalsContainer.vue +++ /dev/null @@ -1,57 +0,0 @@ -<script setup lang="ts"> -import type { Component } from 'vue-demi' -import { computed, onBeforeUnmount } from 'vue-demi' -import type { ModalSlotOptions } from '..' -import { isString } from '~/utils' -import { isModalSlotOptions, useVfm } from '~/useApi' - -const { modalsContainers, dynamicModals } = useVfm() - -const uid = Symbol(__DEV__ ? 'ModalsContainer' : '') -const shouldMount = computed(() => uid === modalsContainers.value?.[0]) - -modalsContainers.value.push(uid) -onBeforeUnmount(() => { - modalsContainers.value = modalsContainers.value.filter(i => i !== uid) -}) - -function resolvedClosed(index: number) { - dynamicModals[index]?.resolveClosed?.() - if (!dynamicModals[index]?.keepAlive) - dynamicModals.splice(index, 1) -} - -function resolvedOpened(index: number) { - dynamicModals[index]?.resolveOpened?.() -} -</script> - -<template> - <template v-if="shouldMount"> - <component - :is="modal.component" - v-for="(modal, index) in dynamicModals" - :key="modal.id" - v-bind="{ - displayDirective: modal?.keepAlive ? 'show' : undefined, - ...(typeof modal.attrs === 'object' ? modal.attrs : {}), - }" - v-model="modal.modelValue" - @closed="() => resolvedClosed(index)" - @opened="() => resolvedOpened(index)" - > - <template v-for="(slot, key) in modal.slots" #[key] :key="key"> - <div v-if="isString(slot)" v-html="slot" /> - <component - :is="(slot as ModalSlotOptions).component" - v-else-if="isModalSlotOptions(slot)" - v-bind="(slot as ModalSlotOptions).attrs" - /> - <component - :is="slot as Component" - v-else - /> - </template> - </component> - </template> -</template> diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 57af845e..cc6d7ae5 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -24,6 +24,11 @@ export interface VueFinalModalEmits { /** onClickOutside will only be emitted when clickToClose equal to `false` */ (e: 'clickOutside'): void + + /** Internal event, only used in ModalsContainer */ + (e: '_opened'): void + /** Internal event, only used in ModalsContainer */ + (e: '_closed'): void } const props = defineProps(vueFinalModalProps) @@ -75,6 +80,8 @@ const { }, onEnter() { emit('opened') + // eslint-disable-next-line vue/custom-event-name-casing + emit('_opened') resolveToggle('opened') }, onLeave() { @@ -82,6 +89,8 @@ const { resetZIndex() enableBodyScroll() emit('closed') + // eslint-disable-next-line vue/custom-event-name-casing + emit('_closed') resolveToggle('closed') }, }) diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 49f417d3..1effcad6 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -1,4 +1,4 @@ -import ModalsContainer from './components/ModalsContainer.vue' +import { ModalsContainer } from './components/ModalsContainer' import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import type { Vfm } from './Modal' From cbd2766971e5dda0760e1b7907366a6f9f156d05 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 00:57:39 +0800 Subject: [PATCH 03/37] fix: ModalsContainer --- packages/vue-final-modal/src/components/ModalsContainer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 155ad276..995c6a76 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -27,7 +27,7 @@ export const ModalsContainer = defineComponent({ } return () => { - if (shouldMount.value) + if (!shouldMount.value) return null return dynamicModals.map((modal, index) => { if (!modal.component) From a9a2e8a7794c6d9c67eb7650a74f6894b2b558b0 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 01:36:44 +0800 Subject: [PATCH 04/37] feat: replace body-scroll-lock with scroll-lock #403 --- packages/vue-final-modal/package.json | 5 +- .../VueFinalModal/VueFinalModal.vue | 11 +- .../VueFinalModal/useBodyScrollLock.ts | 282 ------------------ .../components/VueFinalModal/useScrollLock.ts | 51 ++++ packages/vue-final-modal/vite.config.ts | 2 + pnpm-lock.yaml | 143 +++++---- 6 files changed, 134 insertions(+), 360 deletions(-) delete mode 100644 packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts create mode 100644 packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index b2ab32fd..ea09e76e 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -35,19 +35,22 @@ "devDependencies": { "@cypress/vue": "^5.0.5", "@release-it/conventional-changelog": "^5.1.1", + "@types/scroll-lock": "^2.1.3", "@vueuse/core": "^10.7.1", "@vueuse/integrations": "^10.7.1", "cypress": "^13.6.0", "focus-trap": "^7.5.4", "release-it": "^16.1.3", + "scroll-lock": "^2.1.5", "vite-plugin-dts": "^3.6.3", "vue": "^3.4.7" }, "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", - "@vue/composition-api": "^1.0.0-rc.1", + "scroll-lock": ">=2.1.5", "vue": ">=2.7.0 || >=3.0.0" }, "homepage": "https://vue-final-modal.org/", diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index cc6d7ae5..7dc405f2 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -5,7 +5,7 @@ import { useTransition } from './useTransition' import { useToClose } from './useToClose' import { useModelValue } from './useModelValue' import { useFocusTrap } from './useFocusTrap' -import { useLockScroll } from './useBodyScrollLock' +import { useScrollLock } from './useScrollLock' import { useZIndex } from './useZIndex' import { vVisible } from './vVisible' import { arrayMoveItemToLast, arrayRemoveItem, noop, once } from '~/utils' @@ -50,7 +50,7 @@ const vfmContentEl = ref<HTMLDivElement>() const { focus, blur } = useFocusTrap(props, { focusEl: vfmRootEl }) const { zIndex, refreshZIndex, resetZIndex } = useZIndex(props) const { modelValueLocal } = useModelValue(props, emit, { open, close }) -const { enableBodyScroll, disableBodyScroll } = useLockScroll(props, { +const { disablePageScroll, enablePageScroll } = useScrollLock(props, { lockScrollEl: vfmRootEl, modelValueLocal, }) @@ -74,7 +74,7 @@ const { modelValueLocal, onEntering() { nextTick(() => { - disableBodyScroll() + disablePageScroll() focus() }) }, @@ -87,7 +87,7 @@ const { onLeave() { arrayRemoveItem(openedModals, instance) resetZIndex() - enableBodyScroll() + enablePageScroll() emit('closed') // eslint-disable-next-line vue/custom-event-name-casing emit('_closed') @@ -143,7 +143,7 @@ function close(): boolean { } onBeforeUnmount(() => { - enableBodyScroll() + enablePageScroll() arrayRemoveItem(modals, instance) arrayRemoveItem(openedModals, instance) blur() @@ -208,6 +208,7 @@ export default { :style="{ zIndex }" role="dialog" aria-modal="true" + data-scroll-lock-scrollable @keydown.esc="() => onEsc()" @mouseup.self="() => onMouseupRoot()" @mousedown.self="e => onMousedown(e)" diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts deleted file mode 100644 index 4c40cacc..00000000 --- a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts +++ /dev/null @@ -1,282 +0,0 @@ -import type { Ref } from 'vue-demi' -import { onBeforeUnmount, watch } from 'vue-demi' -import type VueFinalModal from './VueFinalModal.vue' - -type BodyScrollOptions = { - reserveScrollBarGap?: boolean - allowTouchMove?: (el?: null | HTMLElement) => boolean -} - -type Lock = { - targetElement: HTMLElement - options?: BodyScrollOptions -} - -// stolen from body-scroll-lock - -// Older browsers don't support event options, feature detect it. -let hasPassiveEvents = false -if (typeof window !== 'undefined') { - const passiveTestOptions = { - get passive() { - hasPassiveEvents = true - return undefined - }, - } - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - window.addEventListener('testPassive', null, passiveTestOptions) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - window.removeEventListener('testPassive', null, passiveTestOptions) -} - -const isIosDevice - = typeof window !== 'undefined' - && window.navigator - && window.navigator.platform - && (/iP(ad|hone|od)/.test(window.navigator.platform) - || (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1)) - -let locks: Lock[] = [] -let documentListenerAdded = false -let clientY = 0 -let initialClientY = -1 -let previousBodyOverflowSetting: undefined | string -let previousBodyPaddingRight: undefined | string - -const hasScrollbar = (el: HTMLElement) => { - if (!el || el.nodeType !== Node.ELEMENT_NODE) - return false - - const style = window.getComputedStyle(el) - return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight -} - -const shouldScroll = (el: HTMLElement, delta: number) => { - if (el.scrollTop === 0 && delta < 0) - return false - if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) - return false - return true -} - -const composedPath = (el: null | HTMLElement) => { - const path = [] - while (el) { - path.push(el) - if (el.classList.contains('vfm')) - return path - el = el.parentElement - } - return path -} - -const hasAnyScrollableEl = (el: HTMLElement | null, delta: number) => { - let hasAnyScrollableEl = false - const path = composedPath(el) - path.forEach((el) => { - if (hasScrollbar(el) && shouldScroll(el, delta)) - hasAnyScrollableEl = true - }) - return hasAnyScrollableEl -} - -// returns true if `el` should be allowed to receive touchmove events. -const allowTouchMove = (el: HTMLElement | null) => locks.some(() => hasAnyScrollableEl(el, -clientY)) - -const preventDefault = (rawEvent: TouchEvent) => { - const e = rawEvent || window.event - - // For the case whereby consumers adds a touchmove event listener to document. - // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false }) - // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then - // the touchmove event on document will break. - if (allowTouchMove(e.target as HTMLElement | null)) - return true - - // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom). - if (e.touches.length > 1) - return true - - if (e.preventDefault) - e.preventDefault() - - return false -} - -const setOverflowHidden = (options?: BodyScrollOptions) => { - // If previousBodyPaddingRight is already set, don't set it again. - if (previousBodyPaddingRight === undefined) { - const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true - const scrollBarGap = window.innerWidth - document.documentElement.clientWidth - - if (reserveScrollBarGap && scrollBarGap > 0) { - const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10) - previousBodyPaddingRight = document.body.style.paddingRight - document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px` - } - } - // If previousBodyOverflowSetting is already set, don't set it again. - if (previousBodyOverflowSetting === undefined) { - previousBodyOverflowSetting = document.body.style.overflow - document.body.style.overflow = 'hidden' - } -} - -const restoreOverflowSetting = () => { - if (previousBodyPaddingRight !== undefined) { - document.body.style.paddingRight = previousBodyPaddingRight - - // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it - // can be set again. - previousBodyPaddingRight = undefined - } - - if (previousBodyOverflowSetting !== undefined) { - document.body.style.overflow = previousBodyOverflowSetting - - // Restore previousBodyOverflowSetting to undefined - // so setOverflowHidden knows it can be set again. - previousBodyOverflowSetting = undefined - } -} -// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions -const isTargetElementTotallyScrolled = (targetElement: HTMLElement) => - targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false - -const handleScroll = (event: TouchEvent, targetElement: HTMLElement) => { - clientY = event.targetTouches[0].clientY - initialClientY - - if (allowTouchMove(event.target as HTMLElement | null)) - return false - - if (targetElement && targetElement.scrollTop === 0 && clientY > 0) { - // element is at the top of its scroll. - return preventDefault(event) - } - - if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) { - // element is at the bottom of its scroll. - return preventDefault(event) - } - - event.stopPropagation() - return true -} - -export const disableBodyScroll = (targetElement?: HTMLElement, options?: BodyScrollOptions) => { - // targetElement must be provided - if (!targetElement) { - console.error( - 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.', - ) - return - } - - // disableBodyScroll must not have been called on this targetElement before - if (locks.some(lock => lock.targetElement === targetElement)) - return - - const lock = { - targetElement, - options: options || {}, - } - - locks = [...locks, lock] - - if (isIosDevice) { - targetElement.ontouchstart = (event: TouchEvent) => { - if (event.targetTouches.length === 1) { - // detect single touch. - initialClientY = event.targetTouches[0].clientY - } - } - targetElement.ontouchmove = (event: TouchEvent) => { - if (event.targetTouches.length === 1) { - // detect single touch. - handleScroll(event, targetElement) - } - } - - if (!documentListenerAdded) { - document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined) - documentListenerAdded = true - } - } - else { - setOverflowHidden(options) - } -} - -export const enableBodyScroll = (targetElement?: HTMLElement) => { - if (!targetElement) { - console.error( - 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.', - ) - return - } - - locks = locks.filter(lock => lock.targetElement !== targetElement) - - if (isIosDevice) { - targetElement.ontouchstart = null - targetElement.ontouchmove = null - - if (documentListenerAdded && locks.length === 0) { - document.removeEventListener('touchmove', preventDefault, (hasPassiveEvents ? { passive: false } : undefined) as any) - documentListenerAdded = false - } - } - else if (!locks.length) { - restoreOverflowSetting() - } -} - -export function useLockScroll(props: InstanceType<typeof VueFinalModal>['$props'], options: { - lockScrollEl: Ref<undefined | HTMLElement> - modelValueLocal: Ref<boolean> -}) { - const { lockScrollEl, modelValueLocal } = options - - let _lockScrollEl: HTMLElement - watch(lockScrollEl, (val) => { - if (val) - _lockScrollEl = val - }, { immediate: true }) - - watch(() => props.lockScroll, (val) => { - val ? _disableBodyScroll() : _enableBodyScroll() - }) - - onBeforeUnmount(() => { - _enableBodyScroll() - }) - - function _enableBodyScroll() { - _lockScrollEl && enableBodyScroll(_lockScrollEl) - } - - function _disableBodyScroll() { - if (!modelValueLocal.value) - return - props.lockScroll && _lockScrollEl - && disableBodyScroll(_lockScrollEl, { - reserveScrollBarGap: props.reserveScrollBarGap, - allowTouchMove: (el) => { - while (el && el !== document.body) { - if (el.getAttribute('vfm-scroll-lock-ignore') !== null) - return true - - el = el.parentElement - } - return false - }, - }) - } - - return { - enableBodyScroll: _enableBodyScroll, - disableBodyScroll: _disableBodyScroll, - } -} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts new file mode 100644 index 00000000..9dd63409 --- /dev/null +++ b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts @@ -0,0 +1,51 @@ +import { disablePageScroll, enablePageScroll, setFillGapMethod } from 'scroll-lock' +import type { Ref } from 'vue-demi' +import { onBeforeUnmount, watch } from 'vue-demi' +import type VueFinalModal from './VueFinalModal.vue' +import { noop, once } from '~/utils' + +export function useScrollLock(props: InstanceType<typeof VueFinalModal>['$props'], options: { + lockScrollEl: Ref<undefined | HTMLElement> + modelValueLocal: Ref<boolean> +}) { + const { lockScrollEl, modelValueLocal } = options + + let _lockScrollEl: HTMLElement + watch(lockScrollEl, (val) => { + if (val) + _lockScrollEl = val + }, { immediate: true }) + + watch(() => props.lockScroll, (val) => { + val ? _disablePageScroll() : _enablePageScroll() + }) + + watch(() => props.reserveScrollBarGap, (val) => { + setFillGapMethod(val ? 'padding' : 'none') + }, { immediate: true }) + + onBeforeUnmount(() => { + _enablePageScroll() + }) + + let enablePageScrollOnce = noop + function _enablePageScroll() { + enablePageScrollOnce() + } + + function _disablePageScroll() { + if (!modelValueLocal.value) + return + if (props.lockScroll && _lockScrollEl) { + disablePageScroll(_lockScrollEl) + enablePageScrollOnce = once(() => { + _lockScrollEl && enablePageScroll(_lockScrollEl) + }) + } + } + + return { + enablePageScroll: _enablePageScroll, + disablePageScroll: _disablePageScroll, + } +} diff --git a/packages/vue-final-modal/vite.config.ts b/packages/vue-final-modal/vite.config.ts index 59203848..0196292f 100644 --- a/packages/vue-final-modal/vite.config.ts +++ b/packages/vue-final-modal/vite.config.ts @@ -30,6 +30,7 @@ export default defineConfig({ '@vueuse/core', '@vueuse/integrations/useFocusTrap', 'focus-trap', + 'scroll-lock', ], output: { globals: { @@ -37,6 +38,7 @@ export default defineConfig({ '@vueuse/core': 'VueUse', '@vueuse/integrations/useFocusTrap': 'VueUseFocusTrap', 'focus-trap': 'FocusTrap', + 'scroll-lock': 'ScrollLock', }, }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75409667..96d9362a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,7 +95,7 @@ importers: version: 1.7.2(vue@3.4.7) vue-demi: specifier: ^0.14.6 - version: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + version: 0.14.6(vue@3.4.7) devDependencies: '@cypress/vue': specifier: ^5.0.5 @@ -103,12 +103,15 @@ importers: '@release-it/conventional-changelog': specifier: ^5.1.1 version: 5.1.1(release-it@16.2.1) + '@types/scroll-lock': + specifier: ^2.1.3 + version: 2.1.3 '@vueuse/core': specifier: ^10.7.1 - version: 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + version: 10.7.1(vue@3.4.7) '@vueuse/integrations': specifier: ^10.7.1 - version: 10.7.1(@vue/composition-api@1.7.2)(focus-trap@7.5.4)(vue@3.4.7) + version: 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) cypress: specifier: ^13.6.0 version: 13.6.0 @@ -118,6 +121,9 @@ importers: release-it: specifier: ^16.1.3 version: 16.2.1(typescript@5.3.3) + scroll-lock: + specifier: ^2.1.5 + version: 2.1.5 vite-plugin-dts: specifier: ^3.6.3 version: 3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6) @@ -2145,7 +2151,7 @@ packages: dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxtjs/mdc': 0.2.8(rollup@3.29.4) - '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.7) '@vueuse/head': 2.0.0(vue@3.4.7) '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) consola: 3.2.3 @@ -2547,7 +2553,7 @@ packages: '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0) eslint-plugin-vue: 9.18.1(eslint@8.56.0) transitivePeerDependencies: - eslint-import-resolver-node @@ -3568,6 +3574,10 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true + /@types/scroll-lock@2.1.3: + resolution: {integrity: sha512-9Z9MIt9qF5DFEKlLI5MlNnk3SjjHEo0wjhzMEmZaJxCad981cs9Zerd8J1G2ELJVjXto1q/Cd+fNwmuscFHnpA==} + dev: true + /@types/semver@7.5.6: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true @@ -4005,7 +4015,7 @@ packages: '@lezer/html': 1.3.7 '@pepicons/vue': 3.1.1(vue@3.4.7) '@viteplay/types': 0.2.9 - '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.7) codemirror: 6.0.1(@lezer/common@1.2.0) floating-vue: 2.0.0-beta.20(vue@3.4.7) fuzzysort: 2.0.4 @@ -4200,6 +4210,7 @@ packages: vue: '>= 2.5 < 2.7' dependencies: vue: 3.4.7(typescript@5.3.3) + dev: false /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4298,19 +4309,19 @@ packages: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.6.1 '@vueuse/shared': 10.6.1(vue@3.4.7) - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/core@10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7): + /@vueuse/core@10.7.1(vue@3.4.7): resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/shared': 10.7.1(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4322,7 +4333,7 @@ packages: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 '@vueuse/shared': 9.13.0(vue@3.4.7) - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4340,56 +4351,6 @@ packages: vue: 3.4.7(typescript@5.3.3) dev: true - /@vueuse/integrations@10.7.1(@vue/composition-api@1.7.2)(focus-trap@7.5.4)(vue@3.4.7): - resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} - peerDependencies: - async-validator: '*' - axios: '*' - change-case: '*' - drauu: '*' - focus-trap: '*' - fuse.js: '*' - idb-keyval: '*' - jwt-decode: '*' - nprogress: '*' - qrcode: '*' - sortablejs: '*' - universal-cookie: '*' - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - dependencies: - '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) - '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) - focus-trap: 7.5.4 - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - /@vueuse/integrations@10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7): resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} peerDependencies: @@ -4431,11 +4392,11 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) - '@vueuse/shared': 10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/shared': 10.7.1(vue@3.4.7) focus-trap: 7.5.4 fuse.js: 6.6.2 - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4463,7 +4424,7 @@ packages: '@vueuse/metadata': 10.6.1 local-pkg: 0.5.0 nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - rollup @@ -4474,16 +4435,16 @@ packages: /@vueuse/shared@10.6.1(vue@3.4.7): resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} dependencies: - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/shared@10.7.1(@vue/composition-api@1.7.2)(vue@3.4.7): + /@vueuse/shared@10.7.1(vue@3.4.7): resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4492,7 +4453,7 @@ packages: /@vueuse/shared@9.13.0(vue@3.4.7): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7017,7 +6978,7 @@ packages: enhanced-resolve: 5.12.0 eslint: 8.56.0 eslint-module-utils: 2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.11.0 @@ -7247,6 +7208,41 @@ packages: - supports-color dev: true + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7(supports-color@8.1.1) + doctrine: 2.1.0 + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0)(typescript@5.3.3): resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -13971,6 +13967,10 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /scroll-lock@2.1.5: + resolution: {integrity: sha512-GN8Lp0AzXbkrPFUUNkMUruiiv019UvarNKE/SnXi+AxZRjMnDc2R22VB9RcUtL4P/uub04cKibmpHKIKTyWwYQ==} + dev: true + /scule@1.0.0: resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} dev: true @@ -16094,7 +16094,7 @@ packages: typescript: 5.3.3 dev: true - /vue-demi@0.14.6(@vue/composition-api@1.7.2)(vue@3.4.7): + /vue-demi@0.14.6(vue@3.4.7): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -16106,7 +16106,6 @@ packages: '@vue/composition-api': optional: true dependencies: - '@vue/composition-api': 1.7.2(vue@3.4.7) vue: 3.4.7(typescript@5.3.3) /vue-devtools-stub@0.1.0: From ec2c39b5c297fc1dd5e05d94d14554179a1be7e0 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 09:59:49 +0800 Subject: [PATCH 05/37] Release 5.0.0-beta.0 --- packages/vue-final-modal/CHANGELOG.md | 6 ++++++ packages/vue-final-modal/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index a0068760..339baa57 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,5 +1,11 @@ +# [5.0.0-beta.0](https://github.com/vue-final/vue-final-modal/compare/v4.5.3...v5.0.0-beta.0) (2024-01-11) + +### Features + +* replace body-scroll-lock with scroll-lock [#403](https://github.com/vue-final/vue-final-modal/issues/403) ([a9a2e8a](https://github.com/vue-final/vue-final-modal/commit/a9a2e8a7794c6d9c67eb7650a74f6894b2b558b0)) + ## [4.5.3](https://github.com/vue-final/vue-final-modal/compare/v4.5.2...v4.5.3) (2023-12-15) ## [4.5.2](https://github.com/vue-final/vue-final-modal/compare/v4.5.1...v4.5.2) (2023-12-15) diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index ea09e76e..c4d86213 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "4.5.3", + "version": "5.0.0-beta.0", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From 3241acddd1eadf2b94cc5d97f22ac636c608407f Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 10:38:31 +0800 Subject: [PATCH 06/37] fix: add @vue/composition-api to peerDependenciesMeta optional --- packages/vue-final-modal/package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index c4d86213..9e4dffe9 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -53,6 +53,11 @@ "scroll-lock": ">=2.1.5", "vue": ">=2.7.0 || >=3.0.0" }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, "homepage": "https://vue-final-modal.org/", "bugs": { "url": "https://github.com/vue-final/vue-final-modal/issues", From 8070deb14931fd613fd4db70248527b7f1261750 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 10:40:45 +0800 Subject: [PATCH 07/37] Release 5.0.0-beta.1 --- packages/vue-final-modal/CHANGELOG.md | 7 +++++++ packages/vue-final-modal/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index 339baa57..1fb29cb4 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,5 +1,12 @@ +# [5.0.0-beta.1](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2024-01-11) + + +### Bug Fixes + +* add @vue/composition-api to peerDependenciesMeta optional ([3241acd](https://github.com/vue-final/vue-final-modal/commit/3241acddd1eadf2b94cc5d97f22ac636c608407f)) + # [5.0.0-beta.0](https://github.com/vue-final/vue-final-modal/compare/v4.5.3...v5.0.0-beta.0) (2024-01-11) ### Features diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 9e4dffe9..9052a2a0 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "5.0.0-beta.0", + "version": "5.0.0-beta.1", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From 1f3d189aa2652a85d6d24225db884678cfd92320 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 11:01:48 +0800 Subject: [PATCH 08/37] chore: remove vue-demi --- docs/package.json | 2 +- .../cypress/components/Form.vue | 2 +- packages/vue-final-modal/package.json | 11 +---- packages/vue-final-modal/src/Modal.ts | 2 +- .../src/components/ModalsContainer.ts | 4 +- .../VueFinalModal/VueFinalModal.vue | 2 +- .../VueFinalModal/VueFinalModalProps.ts | 2 +- .../components/VueFinalModal/useFocusTrap.ts | 2 +- .../components/VueFinalModal/useModelValue.ts | 4 +- .../components/VueFinalModal/useScrollLock.ts | 4 +- .../components/VueFinalModal/useToClose.ts | 4 +- .../components/VueFinalModal/useTransition.ts | 4 +- .../src/components/VueFinalModal/useZIndex.ts | 2 +- .../src/components/VueFinalModal/vVisible.ts | 2 +- .../vue-final-modal/src/injectionSymbols.ts | 2 +- packages/vue-final-modal/src/plugin.ts | 4 +- packages/vue-final-modal/src/useApi.ts | 4 +- .../vue-final-modal/src/useSwipeToClose.ts | 4 +- packages/vue-final-modal/src/useSwipeable.ts | 4 +- pnpm-lock.yaml | 43 ++++++++----------- viteplay/package.json | 2 +- 21 files changed, 46 insertions(+), 64 deletions(-) diff --git a/docs/package.json b/docs/package.json index fce3b1ce..409c300a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:4.5.3", + "vue-final-modal": "workspace:5.0.0-beta.1", "vue3-drag-resize": "^2.0.5" } } diff --git a/packages/vue-final-modal/cypress/components/Form.vue b/packages/vue-final-modal/cypress/components/Form.vue index cb8cd5ed..b6bd1958 100644 --- a/packages/vue-final-modal/cypress/components/Form.vue +++ b/packages/vue-final-modal/cypress/components/Form.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ref } from 'vue-demi' +import { ref } from 'vue' const emit = defineEmits<{ (e: 'submit', payload: { diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 9052a2a0..2d5da631 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -29,9 +29,6 @@ "typecheck": "vue-tsc --noEmit", "release": "pnpm build && pnpm cypress:run && release-it" }, - "dependencies": { - "vue-demi": "^0.14.6" - }, "devDependencies": { "@cypress/vue": "^5.0.5", "@release-it/conventional-changelog": "^5.1.1", @@ -46,17 +43,11 @@ "vue": "^3.4.7" }, "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", "scroll-lock": ">=2.1.5", - "vue": ">=2.7.0 || >=3.0.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "vue": ">=3.0.0" }, "homepage": "https://vue-final-modal.org/", "bugs": { diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 1700ce5d..2e958b9d 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,4 +1,4 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue-demi' +import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' export type ModalId = number | string | symbol diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 995c6a76..235e1a80 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -1,5 +1,5 @@ -import type { Component } from 'vue-demi' -import { computed, defineComponent, h, onBeforeUnmount } from 'vue-demi' +import type { Component } from 'vue' +import { computed, defineComponent, h, onBeforeUnmount } from 'vue' import type { ModalSlotOptions } from '..' import { isModalSlotOptions, useVfm } from '~/useApi' import { isString, objectEntries } from '~/utils' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 7dc405f2..348fba5e 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, toRef, useAttrs, watch } from 'vue-demi' +import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, toRef, useAttrs, watch } from 'vue' import { vueFinalModalProps } from './VueFinalModalProps' import { useTransition } from './useTransition' import { useToClose } from './useToClose' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts index 591a70d5..b74e890a 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts @@ -1,5 +1,5 @@ import type { Options } from 'focus-trap' -import type { PropType, RendererElement, TransitionProps } from 'vue-demi' +import type { PropType, RendererElement, TransitionProps } from 'vue' import type { ModalId, StyleValue } from '~/Modal' /** diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts index c3c36706..c68a97a1 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts @@ -1,4 +1,4 @@ -import type { Ref } from 'vue-demi' +import type { Ref } from 'vue' import { useFocusTrap as _useFocusTrap } from '@vueuse/integrations/useFocusTrap' import type VueFinalModal from './VueFinalModal.vue' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts index 3714e63c..69867df2 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts @@ -1,5 +1,5 @@ -import { nextTick, ref, watch } from 'vue-demi' -import type { Ref } from 'vue-demi' +import { nextTick, ref, watch } from 'vue' +import type { Ref } from 'vue' import type VueFinalModal from './VueFinalModal.vue' export function useModelValue( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts index 9dd63409..7d2d3648 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts @@ -1,6 +1,6 @@ import { disablePageScroll, enablePageScroll, setFillGapMethod } from 'scroll-lock' -import type { Ref } from 'vue-demi' -import { onBeforeUnmount, watch } from 'vue-demi' +import type { Ref } from 'vue' +import { onBeforeUnmount, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' import { noop, once } from '~/utils' diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts index 9a63a20d..5533ffbf 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts @@ -1,5 +1,5 @@ -import type { Ref } from 'vue-demi' -import { ref } from 'vue-demi' +import type { Ref } from 'vue' +import { ref } from 'vue' import type VueFinalModal from './VueFinalModal.vue' export function useToClose( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts index a2cdf378..5ec21458 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts @@ -1,5 +1,5 @@ -import type { ComputedRef, Ref, TransitionProps } from 'vue-demi' -import { computed, nextTick, ref, watch } from 'vue-demi' +import type { ComputedRef, Ref, TransitionProps } from 'vue' +import { computed, nextTick, ref, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' export enum TransitionState { diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts index b23699c4..7e290c69 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts @@ -1,4 +1,4 @@ -import { ref } from 'vue-demi' +import { ref } from 'vue' import type VueFinalModal from './VueFinalModal.vue' export function useZIndex( diff --git a/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts b/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts index b04a23e2..8ecbd4b8 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts @@ -1,4 +1,4 @@ -import type { Directive } from 'vue-demi' +import type { Directive } from 'vue' interface VVisibleElement extends HTMLElement { // _vov = vue original visibility diff --git a/packages/vue-final-modal/src/injectionSymbols.ts b/packages/vue-final-modal/src/injectionSymbols.ts index 727e471a..2eac7471 100644 --- a/packages/vue-final-modal/src/injectionSymbols.ts +++ b/packages/vue-final-modal/src/injectionSymbols.ts @@ -1,4 +1,4 @@ -import type { InjectionKey } from 'vue-demi' +import type { InjectionKey } from 'vue' import type { Vfm } from './Modal' export const vfmSymbol = Symbol(__DEV__ ? 'vfm' : '') as InjectionKey<Vfm> diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index d785315f..efe60700 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,5 +1,5 @@ -import type { App, ComponentInternalInstance, ComputedRef } from 'vue-demi' -import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue-demi' +import type { App, ComponentInternalInstance, ComputedRef } from 'vue' +import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' import type { ModalExposed, ModalId, UseModalOptions, UseModalOptionsPrivate, Vfm } from './Modal' import { noop } from './utils' diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 7d2d89aa..66a9b8d4 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -1,5 +1,5 @@ -import type { Component } from 'vue-demi' -import { computed, markRaw, nextTick, reactive, useAttrs } from 'vue-demi' +import type { Component } from 'vue' +import { computed, markRaw, nextTick, reactive, useAttrs } from 'vue' import { tryOnUnmounted } from '@vueuse/core' import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' diff --git a/packages/vue-final-modal/src/useSwipeToClose.ts b/packages/vue-final-modal/src/useSwipeToClose.ts index fc06cdc1..74c4457f 100644 --- a/packages/vue-final-modal/src/useSwipeToClose.ts +++ b/packages/vue-final-modal/src/useSwipeToClose.ts @@ -1,6 +1,6 @@ import { useEventListener } from '@vueuse/core' -import type { Ref } from 'vue-demi' -import { computed, ref, watch } from 'vue-demi' +import type { Ref } from 'vue' +import { computed, ref, watch } from 'vue' import type VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import { useSwipeable } from './useSwipeable' import { clamp, noop } from './utils' diff --git a/packages/vue-final-modal/src/useSwipeable.ts b/packages/vue-final-modal/src/useSwipeable.ts index 895948f3..fbd74bdc 100644 --- a/packages/vue-final-modal/src/useSwipeable.ts +++ b/packages/vue-final-modal/src/useSwipeable.ts @@ -1,5 +1,5 @@ -import type { Ref } from 'vue-demi' -import { computed, onMounted, reactive, ref } from 'vue-demi' +import type { Ref } from 'vue' +import { computed, onMounted, reactive, ref } from 'vue' import { useEventListener } from '@vueuse/core' import { checkPassiveEventSupport, getPosition } from './dom' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96d9362a..01bcc7f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:4.5.3 + specifier: workspace:5.0.0-beta.1 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -68,7 +68,7 @@ importers: version: 3.8.2(rollup@3.29.4) vue-final-modal: specifier: ^4.5.3 - version: link:../vue-final-modal + version: 4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.4.7) devDependencies: '@nuxt/module-builder': specifier: ^0.5.4 @@ -89,13 +89,6 @@ importers: packages/nuxt/playground: {} packages/vue-final-modal: - dependencies: - '@vue/composition-api': - specifier: ^1.0.0-rc.1 - version: 1.7.2(vue@3.4.7) - vue-demi: - specifier: ^0.14.6 - version: 0.14.6(vue@3.4.7) devDependencies: '@cypress/vue': specifier: ^5.0.5 @@ -137,7 +130,7 @@ importers: specifier: ^3.4.7 version: 3.4.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:4.5.3 + specifier: workspace:5.0.0-beta.1 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 @@ -3604,7 +3597,6 @@ packages: /@types/web-bluetooth@0.0.20: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - dev: true /@types/yauzl@2.10.3: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -4204,14 +4196,6 @@ packages: '@vue/compiler-dom': 3.4.7 '@vue/shared': 3.4.7 - /@vue/composition-api@1.7.2(vue@3.4.7): - resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==} - peerDependencies: - vue: '>= 2.5 < 2.7' - dependencies: - vue: 3.4.7(typescript@5.3.3) - dev: false - /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4325,7 +4309,6 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true /@vueuse/core@9.13.0(vue@3.4.7): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} @@ -4400,7 +4383,6 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true /@vueuse/metadata@10.6.1: resolution: {integrity: sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==} @@ -4408,7 +4390,6 @@ packages: /@vueuse/metadata@10.7.1: resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} - dev: true /@vueuse/metadata@9.13.0: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} @@ -4448,7 +4429,6 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true /@vueuse/shared@9.13.0(vue@3.4.7): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} @@ -7983,7 +7963,6 @@ packages: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} dependencies: tabbable: 6.2.0 - dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -8123,7 +8102,6 @@ packages: /fuse.js@6.6.2: resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} engines: {node: '>=10'} - dev: true /fuzzysort@2.0.4: resolution: {integrity: sha512-Api1mJL+Ad7W7vnDZnWq5pGaXJjyencT+iKGia2PlHUcSsSzWwIQ3S1isiMpwpavjYtGd2FzhUIhnnhOULZgDw==} @@ -14656,7 +14634,6 @@ packages: /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: true /tailwind-config-viewer@1.7.3(tailwindcss@3.3.5): resolution: {integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==} @@ -16148,6 +16125,20 @@ packages: - supports-color dev: true + /vue-final-modal@4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.4.7): + resolution: {integrity: sha512-BX+If7NuOTbFlTrNu7/tPRJMTOQKdI3/8JT9VAQ9xjKSQ/kmBw0RUQKC9VwitBBSTeosk5uuVSlJRSbvTcL1rg==} + peerDependencies: + '@vueuse/core': '>=10.0.0' + '@vueuse/integrations': '>=10.0.0' + focus-trap: '>=7.2.0' + vue: '>=3.2.0' + dependencies: + '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) + focus-trap: 7.5.4 + vue: 3.4.7(typescript@5.3.3) + dev: false + /vue-resize@2.0.0-alpha.1(vue@3.4.7): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: diff --git a/viteplay/package.json b/viteplay/package.json index 7489fc83..34232edf 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "vue": "^3.4.7", - "vue-final-modal": "workspace:4.5.3", + "vue-final-modal": "workspace:5.0.0-beta.1", "vue-router": "^4.2.5" }, "devDependencies": { From 9af645e1f08e69e71c67f416afe5c051e09c4f7d Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 11 Jan 2024 11:02:54 +0800 Subject: [PATCH 09/37] Release 5.0.0-beta.2 --- packages/vue-final-modal/CHANGELOG.md | 2 ++ packages/vue-final-modal/package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index 1fb29cb4..d596744b 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,5 +1,7 @@ +# [5.0.0-beta.2](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.1...v5.0.0-beta.2) (2024-01-11) + # [5.0.0-beta.1](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2024-01-11) diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 2d5da631..fe679208 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "5.0.0-beta.1", + "version": "5.0.0-beta.2", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From 7cecf80e0a5a684fcf33531c2611ce8fe134970a Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 16 Jan 2024 20:48:55 +0800 Subject: [PATCH 10/37] refactor: extraxt DynamiModal component from ModalsContainer --- docs/content/2.get-started/1.guide/4.types.md | 23 +--- packages/vue-final-modal/src/Modal.ts | 4 +- .../src/components/DynamicModal.ts | 57 +++++++++ .../src/components/ModalsContainer.ts | 43 +------ .../VueFinalModal/VueFinalModal.vue | 1 - .../components/VueFinalModal/useModelValue.ts | 2 + packages/vue-final-modal/src/plugin.ts | 6 +- packages/vue-final-modal/src/useApi.ts | 117 +++++++++--------- 8 files changed, 135 insertions(+), 118 deletions(-) create mode 100644 packages/vue-final-modal/src/components/DynamicModal.ts diff --git a/docs/content/2.get-started/1.guide/4.types.md b/docs/content/2.get-started/1.guide/4.types.md index 5de9f844..2f05a21d 100644 --- a/docs/content/2.get-started/1.guide/4.types.md +++ b/docs/content/2.get-started/1.guide/4.types.md @@ -63,26 +63,15 @@ export interface UseModalReturnType<T extends ComponentType> { ```ts export type Vfm = { install(app: App): void - modals: ComputedRef<Modal>[] - openedModals: ComputedRef<Modal>[] - openedModalOverlays: ComputedRef<Modal>[] - dynamicModals: (UseModalOptions<any> & UseModalOptionsPrivate)[] + modals: ComponentInternalInstance[] + openedModals: ComponentInternalInstance[] + openedModalOverlays: ComponentInternalInstance[] + dynamicModals: VNode[] modalsContainers: Ref<symbol[]> - get: (modalId: ModalId) => undefined | ComputedRef<Modal> + get: (modalId: ModalId) => undefined | ComponentInternalInstance toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> - closeAll: () => Promise<[PromiseSettledResult<Promise<string>[]>]> -} -``` - -## Modal - -```ts -export type Modal = { - modalId?: ModalId - hideOverlay: Ref<boolean | undefined> | undefined - overlayVisible: Ref<boolean> - toggle: (show?: boolean) => Promise<string> + closeAll: () => Promise<PromiseSettledResult<string>[]> } ``` diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 2e958b9d..0f3f0b36 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,4 +1,4 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue' +import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref, VNode } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' export type ModalId = number | string | symbol @@ -41,7 +41,7 @@ export type Vfm = { modals: ComponentInternalInstance[] openedModals: ComponentInternalInstance[] openedModalOverlays: ComponentInternalInstance[] - dynamicModals: (UseModalOptions<Component> & UseModalOptionsPrivate)[] + dynamicModals: VNode[] modalsContainers: Ref<symbol[]> get: (modalId: ModalId) => undefined | ComponentInternalInstance toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/DynamicModal.ts new file mode 100644 index 00000000..9fe84226 --- /dev/null +++ b/packages/vue-final-modal/src/components/DynamicModal.ts @@ -0,0 +1,57 @@ +import type { Component, PropType } from 'vue' +import { defineComponent, h } from 'vue' +import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate } from '..' +import { destroyVNode, isModalSlotOptions, useVfm } from '~/useApi' +import { isString, objectEntries } from '~/utils' + +export const DynamicModal = defineComponent({ + name: 'DynamicModal', + props: { + modal: { + type: Object as PropType<UseModalOptions<Component> & UseModalOptionsPrivate>, + required: true, + }, + }, + setup(props) { + const { dynamicModals } = useVfm() + function renderDynamicModal(modal: (UseModalOptions<Component> & UseModalOptionsPrivate)) { + if (!modal.component) + return null + const slots = objectEntries(modal.slots || {}).reduce((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | ModalSlotOptions + if (isString(slot)) + acc[slotName] = () => h('div', { innerHTML: slot }) + else if (isModalSlotOptions(slot)) + acc[slotName] = () => h(slot.component, slot.attrs) + else + acc[slotName] = () => h(slot) + return acc + }, {} as any) + + return h(modal.component, { + 'modelValue': modal.modelValue, + 'displayDirective': modal?.keepAlive ? 'show' : undefined, + ...(typeof modal.attrs === 'object' ? modal.attrs : {}), + 'onUpdate:modelValue': (value: boolean) => { + modal.modelValue = value + const onUpdateModelValue = modal.attrs?.['onUpdate:modelValue'] + if (onUpdateModelValue) + onUpdateModelValue(value) + }, + 'on_closed': () => { + modal?.resolveClosed?.() + if (!modal.keepAlive) { + const vNode = dynamicModals.find(component => component.key === modal.id) + if (!vNode) + return + destroyVNode(vNode) + } + }, + 'on_opened': () => modal?.resolveOpened?.(), + }, slots) + } + + return () => renderDynamicModal(props.modal) + }, +}) diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 235e1a80..0f100b1b 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -1,10 +1,8 @@ -import type { Component } from 'vue' -import { computed, defineComponent, h, onBeforeUnmount } from 'vue' -import type { ModalSlotOptions } from '..' -import { isModalSlotOptions, useVfm } from '~/useApi' -import { isString, objectEntries } from '~/utils' +import { computed, defineComponent, onBeforeUnmount } from 'vue' +import { useVfm } from '~/useApi' export const ModalsContainer = defineComponent({ + name: 'ModalsContainer', setup() { const { modalsContainers, dynamicModals } = useVfm() @@ -16,44 +14,11 @@ export const ModalsContainer = defineComponent({ modalsContainers.value = modalsContainers.value.filter(i => i !== uid) }) - function resolvedClosed(index: number) { - dynamicModals[index]?.resolveClosed?.() - if (!dynamicModals[index]?.keepAlive) - dynamicModals.splice(index, 1) - } - - function resolvedOpened(index: number) { - dynamicModals[index]?.resolveOpened?.() - } - return () => { if (!shouldMount.value) return null - return dynamicModals.map((modal, index) => { - if (!modal.component) - return null - const slots = objectEntries(modal.slots || {}).reduce((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | ModalSlotOptions - if (isString(slot)) - acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isModalSlotOptions(slot)) - acc[slotName] = () => h(slot.component, slot.attrs) - else - acc[slotName] = () => h(slot) - return acc - }, {} as any) - return h(modal.component, { - 'key': modal.id, - 'modelValue': modal.modelValue, - 'onUpdate:modelValue': (value: boolean) => modal.modelValue = value, - 'displayDirective': modal?.keepAlive ? 'show' : undefined, - ...(typeof modal.attrs === 'object' ? modal.attrs : {}), - 'on_closed': () => resolvedClosed(index), - 'on_opened': () => resolvedOpened(index), - }, slots) - }) + return dynamicModals } }, }) diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 348fba5e..ade2e847 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -208,7 +208,6 @@ export default { :style="{ zIndex }" role="dialog" aria-modal="true" - data-scroll-lock-scrollable @keydown.esc="() => onEsc()" @mouseup.self="() => onMouseupRoot()" @mousedown.self="e => onMousedown(e)" diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts index 69867df2..0c8bd8f6 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts @@ -24,6 +24,8 @@ export function useModelValue( return _modelValueLocal.value }, set value(val: boolean) { + if (_modelValueLocal.value === val) + return setModelValueLocal(val) }, } as Ref<boolean> diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index efe60700..4cb42e74 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,7 +1,7 @@ -import type { App, ComponentInternalInstance, ComputedRef } from 'vue' +import type { App, ComponentInternalInstance, ComputedRef, VNode } from 'vue' import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' -import type { ModalExposed, ModalId, UseModalOptions, UseModalOptionsPrivate, Vfm } from './Modal' +import type { ModalExposed, ModalId, Vfm } from './Modal' import { noop } from './utils' // eslint-disable-next-line import/no-mutable-exports @@ -31,7 +31,7 @@ export function createVfm() { const modals: ComponentInternalInstance[] = shallowReactive([]) const openedModals: ComponentInternalInstance[] = shallowReactive([]) const openedModalOverlays: ComponentInternalInstance[] = shallowReactive([]) - const dynamicModals: (UseModalOptions<any> & UseModalOptionsPrivate)[] = shallowReactive([]) + const dynamicModals: VNode[] = shallowReactive([]) const modalsContainers = ref<symbol[]>([]) const vfm: Vfm = markRaw({ diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 66a9b8d4..14cdeaab 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -1,10 +1,11 @@ -import type { Component } from 'vue' -import { computed, markRaw, nextTick, reactive, useAttrs } from 'vue' +import type { Component, VNode } from 'vue' +import { computed, h, markRaw, nextTick, reactive, useAttrs } from 'vue' import { tryOnUnmounted } from '@vueuse/core' import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' import { activeVfm, getActiveVfm } from './plugin' import type { ComponentEmit, ComponentProps } from './Component' +import { DynamicModal } from './components/DynamicModal' import { isString, objectEntries } from '~/utils' /** @@ -55,48 +56,35 @@ function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, * Create a dynamic modal. */ export function useModal<T extends Component = typeof VueFinalModal>(_options: UseModalOptions<T>): UseModalReturnType<T> { + const id = Symbol(__DEV__ ? 'useModal' : '') + const options = reactive({ - id: Symbol(__DEV__ ? 'useModal' : ''), + id, modelValue: !!_options?.defaultModelValue, resolveOpened: () => { }, resolveClosed: () => { }, attrs: {}, ...withMarkRaw<T>(_options), }) as UseModalOptions<T> & UseModalOptionsPrivate + + const vNode = h(DynamicModal, { modal: options, key: id }) + tryOnUnmounted(() => { - if (!options?.keepAlive) - destroy() + if (options?.keepAlive) + return + destroyVNode(vNode) }) - if (options.modelValue === true) { - // nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` - if (activeVfm) { - activeVfm?.dynamicModals.push(options) - } - else { - nextTick(() => { - const vfm = useVfm() - vfm?.dynamicModals.push(options) - }) - } - } + if (options.modelValue === true) + pushVNode(vNode) - async function open(): Promise<string> { - // nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` - let vfm: Vfm - if (activeVfm) { - vfm = activeVfm - } - else { - await nextTick() - vfm = useVfm() - } + function open(): Promise<string> { if (options.modelValue) return Promise.resolve('[Vue Final Modal] modal is already opened.') - destroy() + destroyVNode(vNode) options.modelValue = true - vfm.dynamicModals.push(options) + pushVNode(vNode) return new Promise((resolve) => { options.resolveOpened = () => resolve('opened') @@ -138,41 +126,58 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U } } - function patchComponentOptions<T extends Component>( - options: UseModalOptions<T> | ModalSlotOptions, - newOptions: Partial<UseModalOptions<T>> | ModalSlotOptions, - ) { - if (newOptions.component) - options.component = newOptions.component - - if (newOptions.attrs) - patchAttrs(options.attrs!, newOptions.attrs) - } - - function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { - Object.entries(newAttrs).forEach(([key, value]) => { - attrs[key as keyof T] = value as any - }) - - return attrs - } - - function destroy(): void { - const vfm = useVfm() - const index = vfm.dynamicModals.indexOf(options) - if (index !== -1) - vfm.dynamicModals.splice(index, 1) - } - return { options, open, close, patchOptions, - destroy, + destroy: () => destroyVNode(vNode), } } +function patchComponentOptions<T extends Component>( + options: UseModalOptions<T> | ModalSlotOptions, + newOptions: Partial<UseModalOptions<T>> | ModalSlotOptions, +) { + if (newOptions.component) + options.component = newOptions.component + + if (newOptions.attrs) + patchAttrs(options.attrs!, newOptions.attrs) +} + +function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { + Object.entries(newAttrs).forEach(([key, value]) => { + attrs[key as keyof T] = value as any + }) + + return attrs +} + +async function pushVNode(vNode: VNode) { + const vfm = await useSsrVfm() + vfm?.dynamicModals.push(vNode) +} + +/** nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` */ +async function useSsrVfm(): Promise<Vfm> { + if (activeVfm) { + return activeVfm + } + else { + await nextTick() + return useVfm() + } +} + +export function destroyVNode(vNode: VNode): void { + const vfm = useVfm() + + const index = vfm?.dynamicModals.indexOf(vNode) + if (index !== undefined && index !== -1) + vfm?.dynamicModals.splice(index, 1) +} + export function useModalSlot<T extends Component>(options: { component: T attrs?: ComponentProps<T> From 18a7c4fce2f5e2f3c2bf5d91bceb153a850ec637 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 16 Jan 2024 23:46:26 +0800 Subject: [PATCH 11/37] chore: stick on vue@3.3.7 --- docs/package.json | 2 +- examples/vue3/package.json | 2 +- packages/vue-final-modal/package.json | 2 +- pnpm-lock.yaml | 338 +++++++++++++++++--------- viteplay/package.json | 4 +- 5 files changed, 229 insertions(+), 119 deletions(-) diff --git a/docs/package.json b/docs/package.json index 409c300a..f2f1e19f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:5.0.0-beta.1", + "vue-final-modal": "workspace:5.0.0-beta.2", "vue3-drag-resize": "^2.0.5" } } diff --git a/examples/vue3/package.json b/examples/vue3/package.json index 48f606bf..c70e4143 100644 --- a/examples/vue3/package.json +++ b/examples/vue3/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.7", + "vue": "3.3.7", "vue-final-modal": "^4.5.3" }, "devDependencies": { diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index fe679208..64443d69 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -40,7 +40,7 @@ "release-it": "^16.1.3", "scroll-lock": "^2.1.5", "vite-plugin-dts": "^3.6.3", - "vue": "^3.4.7" + "vue": "3.3.7" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01bcc7f2..16fd43be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 20.10.4 '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.5.0(vite@5.0.6)(vue@3.4.7) + version: 4.5.0(vite@5.0.6)(vue@3.3.7) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -40,12 +40,12 @@ importers: dependencies: '@vorms/core': specifier: ^1.1.0 - version: 1.1.0(vue@3.4.7) + version: 1.1.0(vue@3.3.7) '@vue-final-modal/nuxt': specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:5.0.0-beta.1 + specifier: workspace:5.0.0-beta.2 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -53,7 +53,7 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: ^1.15.0 - version: 1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) + version: 1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) '@nuxtjs/tailwindcss': specifier: ^6.10.1 version: 6.10.1(rollup@3.29.4) @@ -68,7 +68,7 @@ importers: version: 3.8.2(rollup@3.29.4) vue-final-modal: specifier: ^4.5.3 - version: 4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.4.7) + version: 4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.3.7) devDependencies: '@nuxt/module-builder': specifier: ^0.5.4 @@ -92,7 +92,7 @@ importers: devDependencies: '@cypress/vue': specifier: ^5.0.5 - version: 5.0.5(cypress@13.6.0)(vue@3.4.7) + version: 5.0.5(cypress@13.6.0)(vue@3.3.7) '@release-it/conventional-changelog': specifier: ^5.1.1 version: 5.1.1(release-it@16.2.1) @@ -101,10 +101,10 @@ importers: version: 2.1.3 '@vueuse/core': specifier: ^10.7.1 - version: 10.7.1(vue@3.4.7) + version: 10.7.1(vue@3.3.7) '@vueuse/integrations': specifier: ^10.7.1 - version: 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) + version: 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) cypress: specifier: ^13.6.0 version: 13.6.0 @@ -121,27 +121,27 @@ importers: specifier: ^3.6.3 version: 3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6) vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: 3.3.7 + version: 3.3.7(typescript@5.3.3) viteplay: dependencies: vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: 3.3.7 + version: 3.3.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:5.0.0-beta.1 + specifier: workspace:5.0.0-beta.2 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.4.7) + version: 4.2.5(vue@3.3.7) devDependencies: '@viteplay/plugin': specifier: ^0.2.9 version: 0.2.9 '@viteplay/vue': specifier: ^0.2.9 - version: 0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.4.7) + version: 0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.3.7) packages: @@ -342,7 +342,7 @@ packages: resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 @@ -420,7 +420,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-function-name@7.23.0: @@ -434,7 +434,7 @@ packages: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-hoist-variables@7.22.5: @@ -447,14 +447,14 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-imports@7.22.15: @@ -474,7 +474,7 @@ packages: '@babel/helper-validator-identifier': 7.22.20 '@babel/template': 7.20.7 '@babel/traverse': 7.21.2 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true @@ -496,7 +496,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-plugin-utils@7.20.2: @@ -525,7 +525,7 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-simple-access@7.22.5: @@ -538,14 +538,14 @@ packages: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: @@ -585,7 +585,7 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/traverse': 7.21.2 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true @@ -737,7 +737,7 @@ packages: dependencies: '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/template@7.22.15: @@ -759,7 +759,7 @@ packages: '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: @@ -1003,7 +1003,7 @@ packages: uuid: 8.3.2 dev: true - /@cypress/vue@5.0.5(cypress@13.6.0)(vue@3.4.7): + /@cypress/vue@5.0.5(cypress@13.6.0)(vue@3.3.7): resolution: {integrity: sha512-gjE0LKixK6XT4lPDFaEc8G6qNzm8YELgmbOiMVDxbVMuTtjYjorWQcIgzQ62uBX90/s7JrldXJ0W23gskoH4Ng==} engines: {node: '>=8'} peerDependencies: @@ -1015,7 +1015,7 @@ packages: optional: true dependencies: cypress: 13.6.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: true /@cypress/xvfb@1.2.4(supports-color@8.1.1): @@ -1738,13 +1738,13 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/vue@4.1.0(vue@3.4.7): + /@iconify/vue@4.1.0(vue@3.3.7): resolution: {integrity: sha512-rBQVxNoSDooqgWkQg2MqkIHkH/huNuvXGqui5wijc1zLnU7TKzbBHW9VGmbnV4asNTmIHmqV4Nvt0M2rZ/9nHA==} peerDependencies: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: true /@ioredis/commands@1.2.0: @@ -2049,16 +2049,16 @@ packages: - supports-color dev: true - /@nuxt-themes/docus@1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): + /@nuxt-themes/docus@1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-V2kJ5ecGUxXcEovXeQkJBPYfQwjmjaxB5fnl2XaQV+S2Epcn+vhPWShSlL6/WXzLPiAkQFdwbBj9xedTvXgjkw==} dependencies: - '@nuxt-themes/elements': 0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) - '@nuxt-themes/typography': 0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) - '@nuxt/content': 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) + '@nuxt-themes/elements': 0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/typography': 0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + '@nuxt/content': 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) '@nuxthq/studio': 1.0.5(rollup@3.29.4) - '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) + '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) + '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) focus-trap: 7.5.4 fuse.js: 6.6.2 transitivePeerDependencies: @@ -2094,11 +2094,11 @@ packages: - vue dev: true - /@nuxt-themes/elements@0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): + /@nuxt-themes/elements@0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==} dependencies: - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7) - '@vueuse/core': 9.13.0(vue@3.4.7) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + '@vueuse/core': 9.13.0(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2108,11 +2108,11 @@ packages: - vue dev: true - /@nuxt-themes/tokens@1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): + /@nuxt-themes/tokens@1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) - '@vueuse/core': 9.13.0(vue@3.4.7) + '@vueuse/core': 9.13.0(vue@3.3.7) pinceau: 0.18.8(postcss@8.4.33) transitivePeerDependencies: - '@vue/composition-api' @@ -2123,12 +2123,12 @@ packages: - vue dev: true - /@nuxt-themes/typography@0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.4.7): + /@nuxt-themes/typography@0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} dependencies: '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) nuxt-config-schema: 0.4.5(rollup@3.29.4) - nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.4.7) + nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.3.7) pinceau: 0.18.8(postcss@8.4.33) ufo: 1.1.1 transitivePeerDependencies: @@ -2139,14 +2139,14 @@ packages: - vue dev: true - /@nuxt/content@2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7): + /@nuxt/content@2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-//mt++/AgOmjT6TpanugNJpJfx6q8g7wV8/vnk7vSSrrgki8tG6jpupuJmxHHB8DcqqTJfuBWFIdaLhv/Z9Gzg==} dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxtjs/mdc': 0.2.8(rollup@3.29.4) - '@vueuse/core': 10.7.1(vue@3.4.7) - '@vueuse/head': 2.0.0(vue@3.4.7) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.3.7) + '@vueuse/head': 2.0.0(vue@3.3.7) + '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) consola: 3.2.3 defu: 6.1.3 destr: 2.0.2 @@ -2921,13 +2921,13 @@ packages: '@parcel/watcher-win32-x64': 2.3.0 dev: true - /@pepicons/vue@3.1.1(vue@3.4.7): + /@pepicons/vue@3.1.1(vue@3.3.7): resolution: {integrity: sha512-V73B/Ec9i5dTzKLdKCQtsdMdmtMWRdGwjUDxGI/nF4cbaZDw8IuA9XawejNF3A62wE2KJO6HHX6/1QnZQvBHpQ==} peerDependencies: vue: ^3.2.39 dependencies: pepicons: 3.1.1 - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: true /@pkgjs/parseargs@0.11.0: @@ -3898,6 +3898,18 @@ packages: '@unhead/shared': 1.8.8 dev: true + /@unhead/vue@1.8.8(vue@3.3.7): + resolution: {integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==} + peerDependencies: + vue: '>=2.7 || >=3' + dependencies: + '@unhead/schema': 1.8.8 + '@unhead/shared': 1.8.8 + hookable: 5.5.3 + unhead: 1.8.8 + vue: 3.3.7(typescript@5.3.3) + dev: true + /@unhead/vue@1.8.8(vue@3.4.7): resolution: {integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==} peerDependencies: @@ -3962,7 +3974,7 @@ packages: vue: 3.4.7(typescript@5.3.3) dev: true - /@vitejs/plugin-vue@4.5.0(vite@5.0.6)(vue@3.4.7): + /@vitejs/plugin-vue@4.5.0(vite@5.0.6)(vue@3.3.7): resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3970,7 +3982,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.6(@types/node@20.10.4) - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: true /@viteplay/plugin@0.2.9: @@ -3990,7 +4002,7 @@ packages: resolution: {integrity: sha512-p4q00wWCLrsdweC9LLOVd5SjsuRvdpvCvwQZwRZJWAkI8YE5ZvzBTDuJ3++8lm+2BmPPKSpDYoNIUSqEpF+QQA==} dev: true - /@viteplay/vue@0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.4.7): + /@viteplay/vue@0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.3.7): resolution: {integrity: sha512-lJzKWTnJvgn3/25oB76CfeC7t2wSa1S1nWG/qJQxTr8YPytLC8mRs3Pf0ihFUOGFV/AguZuktlGdzVHoofyzsQ==} peerDependencies: vue: ^3.2.39 @@ -4005,14 +4017,14 @@ packages: '@codemirror/view': 6.22.1 '@lezer/highlight': 1.2.0 '@lezer/html': 1.3.7 - '@pepicons/vue': 3.1.1(vue@3.4.7) + '@pepicons/vue': 3.1.1(vue@3.3.7) '@viteplay/types': 0.2.9 - '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.3.7) codemirror: 6.0.1(@lezer/common@1.2.0) - floating-vue: 2.0.0-beta.20(vue@3.4.7) + floating-vue: 2.0.0-beta.20(vue@3.3.7) fuzzysort: 2.0.4 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.3.7(typescript@5.3.3) + vue-router: 4.2.5(vue@3.3.7) transitivePeerDependencies: - '@lezer/common' - '@vue/composition-api' @@ -4087,7 +4099,7 @@ packages: '@volar/source-map': 1.3.0-alpha.0 '@vue/compiler-dom': 3.4.7 '@vue/compiler-sfc': 3.4.7 - '@vue/reactivity': 3.3.9 + '@vue/reactivity': 3.4.7 '@vue/shared': 3.4.7 minimatch: 6.2.0 muggle-string: 0.2.2 @@ -4101,14 +4113,14 @@ packages: '@volar/source-map': 1.3.0-alpha.2 '@vue/compiler-dom': 3.4.7 '@vue/compiler-sfc': 3.4.7 - '@vue/reactivity': 3.3.9 + '@vue/reactivity': 3.4.7 '@vue/shared': 3.4.7 minimatch: 6.2.0 muggle-string: 0.2.2 vue-template-compiler: 2.7.14 dev: true - /@vorms/core@1.1.0(vue@3.4.7): + /@vorms/core@1.1.0(vue@3.3.7): resolution: {integrity: sha512-+QSWcWX/DIbifEXp2WJrnjnCRk4+Q8rsEfOPqTTQ+oUGJTU/KWtToO5hB60vZAXyyAp3ZOJHJMgJ3/L5xprWgA==} peerDependencies: vue: ^3.0.0 @@ -4116,7 +4128,7 @@ packages: deepmerge: 4.3.0 fast-deep-equal: 3.1.3 klona: 2.0.6 - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: false /@vue-macros/common@1.9.0(rollup@3.29.4)(vue@3.4.7): @@ -4162,6 +4174,14 @@ packages: - supports-color dev: true + /@vue/compiler-core@3.3.7: + resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/shared': 3.3.7 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + /@vue/compiler-core@3.4.7: resolution: {integrity: sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==} dependencies: @@ -4170,12 +4190,34 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.3.7: + resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==} + dependencies: + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 /@vue/compiler-dom@3.4.7: resolution: {integrity: sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==} dependencies: '@vue/compiler-core': 3.4.7 '@vue/shared': 3.4.7 + dev: true + + /@vue/compiler-sfc@3.3.7: + resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.7 + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-ssr': 3.3.7 + '@vue/reactivity-transform': 3.3.7 + '@vue/shared': 3.3.7 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.33 + source-map-js: 1.0.2 /@vue/compiler-sfc@3.4.7: resolution: {integrity: sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==} @@ -4189,12 +4231,20 @@ packages: magic-string: 0.30.5 postcss: 8.4.33 source-map-js: 1.0.2 + dev: true + + /@vue/compiler-ssr@3.3.7: + resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==} + dependencies: + '@vue/compiler-dom': 3.3.7 + '@vue/shared': 3.3.7 /@vue/compiler-ssr@3.4.7: resolution: {integrity: sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==} dependencies: '@vue/compiler-dom': 3.4.7 '@vue/shared': 3.4.7 + dev: true /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4238,22 +4288,45 @@ packages: vue-template-compiler: 2.7.14 dev: true - /@vue/reactivity@3.3.9: - resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==} + /@vue/reactivity-transform@3.3.7: + resolution: {integrity: sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==} dependencies: - '@vue/shared': 3.3.9 - dev: true + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 + estree-walker: 2.0.2 + magic-string: 0.30.5 + + /@vue/reactivity@3.3.7: + resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==} + dependencies: + '@vue/shared': 3.3.7 /@vue/reactivity@3.4.7: resolution: {integrity: sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==} dependencies: '@vue/shared': 3.4.7 + dev: true + + /@vue/runtime-core@3.3.7: + resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==} + dependencies: + '@vue/reactivity': 3.3.7 + '@vue/shared': 3.3.7 /@vue/runtime-core@3.4.7: resolution: {integrity: sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==} dependencies: '@vue/reactivity': 3.4.7 '@vue/shared': 3.4.7 + dev: true + + /@vue/runtime-dom@3.3.7: + resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==} + dependencies: + '@vue/runtime-core': 3.3.7 + '@vue/shared': 3.3.7 + csstype: 3.1.3 /@vue/runtime-dom@3.4.7: resolution: {integrity: sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==} @@ -4261,6 +4334,16 @@ packages: '@vue/runtime-core': 3.4.7 '@vue/shared': 3.4.7 csstype: 3.1.3 + dev: true + + /@vue/server-renderer@3.3.7(vue@3.3.7): + resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==} + peerDependencies: + vue: 3.3.7 + dependencies: + '@vue/compiler-ssr': 3.3.7 + '@vue/shared': 3.3.7 + vue: 3.3.7(typescript@5.3.3) /@vue/server-renderer@3.4.7(vue@3.4.7): resolution: {integrity: sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==} @@ -4270,6 +4353,10 @@ packages: '@vue/compiler-ssr': 3.4.7 '@vue/shared': 3.4.7 vue: 3.4.7(typescript@5.3.3) + dev: true + + /@vue/shared@3.3.7: + resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} /@vue/shared@3.3.9: resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} @@ -4277,6 +4364,7 @@ packages: /@vue/shared@3.4.7: resolution: {integrity: sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA==} + dev: true /@vue/typescript@1.8.20(typescript@5.3.3): resolution: {integrity: sha512-F0XX1wK71Fo9ewtzLSCSo5dfOuwKrSi/dR2AlI00iTJ4Bfk0wq1BNTRgnlvfx4kz/vQovaGXqwpIkif14W9KrA==} @@ -4287,42 +4375,42 @@ packages: - typescript dev: true - /@vueuse/core@10.6.1(vue@3.4.7): + /@vueuse/core@10.6.1(vue@3.3.7): resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.6.1 - '@vueuse/shared': 10.6.1(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 10.6.1(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/core@10.7.1(vue@3.4.7): + /@vueuse/core@10.7.1(vue@3.3.7): resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 10.7.1(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue - /@vueuse/core@9.13.0(vue@3.4.7): + /@vueuse/core@9.13.0(vue@3.3.7): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 9.13.0(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/head@2.0.0(vue@3.4.7): + /@vueuse/head@2.0.0(vue@3.3.7): resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} peerDependencies: vue: '>=2.7 || >=3' @@ -4330,11 +4418,11 @@ packages: '@unhead/dom': 1.8.8 '@unhead/schema': 1.8.8 '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) + '@unhead/vue': 1.8.8(vue@3.3.7) + vue: 3.3.7(typescript@5.3.3) dev: true - /@vueuse/integrations@10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7): + /@vueuse/integrations@10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7): resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} peerDependencies: async-validator: '*' @@ -4375,11 +4463,11 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.1(vue@3.4.7) - '@vueuse/shared': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.3.7) + '@vueuse/shared': 10.7.1(vue@3.3.7) focus-trap: 7.5.4 fuse.js: 6.6.2 - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4395,17 +4483,17 @@ packages: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/nuxt@10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.4.7): + /@vueuse/nuxt@10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-MnXg0ZviWHKcf2CsBYeHXhK9Pqn2TF7EJfaLgd+3rHEyb6XlSLUKBTPNCiO+5VH3Ck1IJAez90KS3VAdSqqs1w==} peerDependencies: nuxt: ^3.0.0 dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@vueuse/core': 10.6.1(vue@3.4.7) + '@vueuse/core': 10.6.1(vue@3.3.7) '@vueuse/metadata': 10.6.1 local-pkg: 0.5.0 nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - rollup @@ -4413,27 +4501,27 @@ packages: - vue dev: true - /@vueuse/shared@10.6.1(vue@3.4.7): + /@vueuse/shared@10.6.1(vue@3.3.7): resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/shared@10.7.1(vue@3.4.7): + /@vueuse/shared@10.7.1(vue@3.3.7): resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue - /@vueuse/shared@9.13.0(vue@3.4.7): + /@vueuse/shared@9.13.0(vue@3.3.7): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4752,7 +4840,7 @@ packages: resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.6 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) pathe: 1.1.1 transitivePeerDependencies: @@ -4763,7 +4851,7 @@ packages: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.4 + '@babel/parser': 7.23.6 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) pathe: 1.1.1 transitivePeerDependencies: @@ -6138,10 +6226,6 @@ packages: css-tree: 2.2.1 dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - dev: true - /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -6496,7 +6580,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - entities: 4.4.0 + entities: 4.5.0 dev: true /domelementtype@2.3.0: @@ -6675,6 +6759,7 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + dev: true /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} @@ -7949,14 +8034,14 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /floating-vue@2.0.0-beta.20(vue@3.4.7): + /floating-vue@2.0.0-beta.20(vue@3.3.7): resolution: {integrity: sha512-N68otcpp6WwcYC7zP8GeJqNZVdfvS7tEY88lwmuAHeqRgnfWx1Un8enzLxROyVnBDZ3TwUoUdj5IFg+bUT7JeA==} peerDependencies: vue: ^3.2.0 dependencies: '@floating-ui/dom': 0.1.10 - vue: 3.4.7(typescript@5.3.3) - vue-resize: 2.0.0-alpha.1(vue@3.4.7) + vue: 3.3.7(typescript@5.3.3) + vue-resize: 2.0.0-alpha.1(vue@3.3.7) dev: true /focus-trap@7.5.4: @@ -11554,10 +11639,10 @@ packages: - supports-color dev: true - /nuxt-icon@0.3.3(rollup@3.29.4)(vue@3.4.7): + /nuxt-icon@0.3.3(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} dependencies: - '@iconify/vue': 4.1.0(vue@3.4.7) + '@iconify/vue': 4.1.0(vue@3.3.7) '@nuxt/kit': 3.8.2(rollup@3.29.4) nuxt-config-schema: 0.4.5(rollup@3.29.4) transitivePeerDependencies: @@ -12357,7 +12442,7 @@ packages: acorn: 8.8.2 chroma-js: 2.4.2 consola: 2.15.3 - csstype: 3.1.2 + csstype: 3.1.3 defu: 6.1.2 magic-string: 0.30.5 nanoid: 4.0.1 @@ -16071,7 +16156,7 @@ packages: typescript: 5.3.3 dev: true - /vue-demi@0.14.6(vue@3.4.7): + /vue-demi@0.14.6(vue@3.3.7): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -16083,7 +16168,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) /vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} @@ -16125,7 +16210,7 @@ packages: - supports-color dev: true - /vue-final-modal@4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.4.7): + /vue-final-modal@4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.3.7): resolution: {integrity: sha512-BX+If7NuOTbFlTrNu7/tPRJMTOQKdI3/8JT9VAQ9xjKSQ/kmBw0RUQKC9VwitBBSTeosk5uuVSlJRSbvTcL1rg==} peerDependencies: '@vueuse/core': '>=10.0.0' @@ -16133,20 +16218,28 @@ packages: focus-trap: '>=7.2.0' vue: '>=3.2.0' dependencies: - '@vueuse/core': 10.7.1(vue@3.4.7) - '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.3.7) + '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) focus-trap: 7.5.4 - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: false - /vue-resize@2.0.0-alpha.1(vue@3.4.7): + /vue-resize@2.0.0-alpha.1(vue@3.3.7): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.3.7(typescript@5.3.3) dev: true + /vue-router@4.2.5(vue@3.3.7): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.3.7(typescript@5.3.3) + /vue-router@4.2.5(vue@3.4.7): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: @@ -16154,6 +16247,7 @@ packages: dependencies: '@vue/devtools-api': 6.5.0 vue: 3.4.7(typescript@5.3.3) + dev: true /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} @@ -16190,6 +16284,21 @@ packages: resolution: {integrity: sha512-7ein6vCC9LN6fsO3o9mYgmoldU9c/O2oyw9U5cqAJP21Mj2yQ8OGNPzEZfen6QltgLMfAOXv4iPIdE0EXFezGA==} dev: false + /vue@3.3.7(typescript@5.3.3): + resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-sfc': 3.3.7 + '@vue/runtime-dom': 3.3.7 + '@vue/server-renderer': 3.3.7(vue@3.3.7) + '@vue/shared': 3.3.7 + typescript: 5.3.3 + /vue@3.4.7(typescript@5.3.3): resolution: {integrity: sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==} peerDependencies: @@ -16204,6 +16313,7 @@ packages: '@vue/server-renderer': 3.4.7(vue@3.4.7) '@vue/shared': 3.4.7 typescript: 5.3.3 + dev: true /w3c-keyname@2.2.6: resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} diff --git a/viteplay/package.json b/viteplay/package.json index 34232edf..51e6d46d 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -7,8 +7,8 @@ "build": "vite build" }, "dependencies": { - "vue": "^3.4.7", - "vue-final-modal": "workspace:5.0.0-beta.1", + "vue": "3.3.7", + "vue-final-modal": "workspace:5.0.0-beta.2", "vue-router": "^4.2.5" }, "devDependencies": { From 9c558357440e8628d0e160bf86005d1d7584e4af Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 17 Jan 2024 00:21:02 +0800 Subject: [PATCH 12/37] fix: cleanup code, fix keepAlive and extract createH to h.ts --- packages/vue-final-modal/src/Modal.ts | 6 ++-- .../src/components/DynamicModal.ts | 13 ++------ .../src/components/ModalsContainer.ts | 11 +++---- packages/vue-final-modal/src/h.ts | 33 +++++++++++++++++++ packages/vue-final-modal/src/plugin.ts | 16 +++++---- packages/vue-final-modal/src/useApi.ts | 30 +++++++++-------- 6 files changed, 69 insertions(+), 40 deletions(-) create mode 100644 packages/vue-final-modal/src/h.ts diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 0f3f0b36..340d85be 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,5 +1,6 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref, VNode } from 'vue' +import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' +import type { H } from './h' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] @@ -41,8 +42,7 @@ export type Vfm = { modals: ComponentInternalInstance[] openedModals: ComponentInternalInstance[] openedModalOverlays: ComponentInternalInstance[] - dynamicModals: VNode[] - modalsContainers: Ref<symbol[]> + h: H get: (modalId: ModalId) => undefined | ComponentInternalInstance toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/DynamicModal.ts index 9fe84226..d77614c4 100644 --- a/packages/vue-final-modal/src/components/DynamicModal.ts +++ b/packages/vue-final-modal/src/components/DynamicModal.ts @@ -1,7 +1,7 @@ import type { Component, PropType } from 'vue' import { defineComponent, h } from 'vue' import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate } from '..' -import { destroyVNode, isModalSlotOptions, useVfm } from '~/useApi' +import { isModalSlotOptions } from '~/useApi' import { isString, objectEntries } from '~/utils' export const DynamicModal = defineComponent({ @@ -13,7 +13,6 @@ export const DynamicModal = defineComponent({ }, }, setup(props) { - const { dynamicModals } = useVfm() function renderDynamicModal(modal: (UseModalOptions<Component> & UseModalOptionsPrivate)) { if (!modal.component) return null @@ -39,15 +38,7 @@ export const DynamicModal = defineComponent({ if (onUpdateModelValue) onUpdateModelValue(value) }, - 'on_closed': () => { - modal?.resolveClosed?.() - if (!modal.keepAlive) { - const vNode = dynamicModals.find(component => component.key === modal.id) - if (!vNode) - return - destroyVNode(vNode) - } - }, + 'on_closed': () => modal?.resolveClosed?.(), 'on_opened': () => modal?.resolveOpened?.(), }, slots) } diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 0f100b1b..a6fc7cab 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -4,21 +4,20 @@ import { useVfm } from '~/useApi' export const ModalsContainer = defineComponent({ name: 'ModalsContainer', setup() { - const { modalsContainers, dynamicModals } = useVfm() + const { h } = useVfm() const uid = Symbol(__DEV__ ? 'ModalsContainer' : '') - const shouldMount = computed(() => uid === modalsContainers.value?.[0]) + const shouldMount = computed(() => uid === h.containers.value?.[0]) - modalsContainers.value.push(uid) + h.containers.value.push(uid) onBeforeUnmount(() => { - modalsContainers.value = modalsContainers.value.filter(i => i !== uid) + h.containers.value = h.containers.value.filter(i => i !== uid) }) return () => { if (!shouldMount.value) return null - - return dynamicModals + return h.vNodes } }, }) diff --git a/packages/vue-final-modal/src/h.ts b/packages/vue-final-modal/src/h.ts new file mode 100644 index 00000000..a456779b --- /dev/null +++ b/packages/vue-final-modal/src/h.ts @@ -0,0 +1,33 @@ +import type { Ref, VNode } from 'vue' +import { ref, shallowReactive } from 'vue' + +export type H = { + vNodes: VNode[] + containers: Ref<symbol[]> + push: (vNode: VNode) => void + remove: (vNode: VNode) => void +} + +export function createH(): H { + const vNodes: VNode[] = shallowReactive([]) + const containers = ref<symbol[]>([]) + + function push(vNode: VNode) { + if (!vNodes.includes(vNode)) + vNodes.push(vNode) + } + + function remove(vNode: VNode): void { + const index = vNodes.indexOf(vNode) + if (index !== undefined && index !== -1) + vNodes.splice(index, 1) + } + + const _h: H = { + vNodes, + containers, + push, + remove, + } + return _h +} diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index 4cb42e74..18738502 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,8 +1,9 @@ -import type { App, ComponentInternalInstance, ComputedRef, VNode } from 'vue' +import type { App, ComponentInternalInstance, ComputedRef } from 'vue' import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' import type { ModalExposed, ModalId, Vfm } from './Modal' import { noop } from './utils' +import { createH } from './h' // eslint-disable-next-line import/no-mutable-exports export let activeVfm: Vfm | undefined @@ -15,8 +16,12 @@ export const defaultVfm: Vfm = { modals: [], openedModals: [], openedModalOverlays: [], - dynamicModals: [], - modalsContainers: ref([]), + h: { + vNodes: [], + containers: ref([]), + push: noop, + remove: noop, + }, get: () => undefined, toggle: () => undefined, open: () => undefined, @@ -31,8 +36,6 @@ export function createVfm() { const modals: ComponentInternalInstance[] = shallowReactive([]) const openedModals: ComponentInternalInstance[] = shallowReactive([]) const openedModalOverlays: ComponentInternalInstance[] = shallowReactive([]) - const dynamicModals: VNode[] = shallowReactive([]) - const modalsContainers = ref<symbol[]>([]) const vfm: Vfm = markRaw({ install(app: App) { @@ -42,8 +45,7 @@ export function createVfm() { modals, openedModals, openedModalOverlays, - dynamicModals, - modalsContainers, + h: createH(), get(modalId: ModalId) { return modals.find(modal => getModalExposed(modal)?.value.modalId?.value === modalId) }, diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 14cdeaab..97ec0241 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -62,7 +62,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U id, modelValue: !!_options?.defaultModelValue, resolveOpened: () => { }, - resolveClosed: () => { }, + resolveClosed: tryRemoveVNode, attrs: {}, ...withMarkRaw<T>(_options), }) as UseModalOptions<T> & UseModalOptionsPrivate @@ -70,9 +70,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U const vNode = h(DynamicModal, { modal: options, key: id }) tryOnUnmounted(() => { - if (options?.keepAlive) - return - destroyVNode(vNode) + tryRemoveVNode() }) if (options.modelValue === true) @@ -82,7 +80,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U if (options.modelValue) return Promise.resolve('[Vue Final Modal] modal is already opened.') - destroyVNode(vNode) + tryRemoveVNode() options.modelValue = true pushVNode(vNode) @@ -97,10 +95,19 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U options.modelValue = false return new Promise((resolve) => { - options.resolveClosed = () => resolve('closed') + options.resolveClosed = () => { + resolve('closed') + tryRemoveVNode() + } }) } + function tryRemoveVNode() { + if (options.keepAlive) + return + removeVNode(vNode) + } + function patchOptions(_options: Partial<UseModalOptions<T>>) { const { slots, ...rest } = withMarkRaw(_options, options.component) @@ -131,7 +138,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U open, close, patchOptions, - destroy: () => destroyVNode(vNode), + destroy: () => removeVNode(vNode), } } @@ -156,7 +163,7 @@ function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T async function pushVNode(vNode: VNode) { const vfm = await useSsrVfm() - vfm?.dynamicModals.push(vNode) + vfm.h.push(vNode) } /** nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` */ @@ -170,12 +177,9 @@ async function useSsrVfm(): Promise<Vfm> { } } -export function destroyVNode(vNode: VNode): void { +function removeVNode(vNode: VNode): void { const vfm = useVfm() - - const index = vfm?.dynamicModals.indexOf(vNode) - if (index !== undefined && index !== -1) - vfm?.dynamicModals.splice(index, 1) + vfm.h.remove(vNode) } export function useModalSlot<T extends Component>(options: { From dbee02f690991e212ae14e5f6fbc8549caecddba Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 17 Jan 2024 02:16:07 +0800 Subject: [PATCH 13/37] chore: fix tsconfig --- packages/vue-final-modal/tsconfig.json | 1 - viteplay/tsconfig.json | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/vue-final-modal/tsconfig.json b/packages/vue-final-modal/tsconfig.json index 9fb0c1d4..99b29009 100644 --- a/packages/vue-final-modal/tsconfig.json +++ b/packages/vue-final-modal/tsconfig.json @@ -5,7 +5,6 @@ "baseUrl": ".", "types": [ "vite/client", - "unplugin-vue-define-options/macros-global", "cypress" ], "paths": { diff --git a/viteplay/tsconfig.json b/viteplay/tsconfig.json index 4bf3a5f8..a56ef361 100644 --- a/viteplay/tsconfig.json +++ b/viteplay/tsconfig.json @@ -3,7 +3,6 @@ "compilerOptions": { "types": [ "vite/client", - "unplugin-vue-define-options/macros-global" ] }, "exclude": [ From 184dd46f182d2b2a07074a3309f7566289b1b16b Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 17 Jan 2024 02:21:09 +0800 Subject: [PATCH 14/37] feat: rename useModalSlot to c2v and support infinite nested slots to useModal --- docs/content/2.get-started/1.guide/4.types.md | 22 +++++----- .../3.api/2.composables/1.use-modal.md | 6 +-- packages/vue-final-modal/src/Modal.ts | 17 ++++---- .../src/components/DynamicModal.ts | 10 ++--- packages/vue-final-modal/src/index.ts | 2 +- packages/vue-final-modal/src/useApi.ts | 42 ++++++++++++------- viteplay/src/components/DefaultSlot.vue | 1 + .../VueFinalModal/Basic.example.vue | 23 +++++++--- .../VueFinalModal/BottomSheet.example.vue | 4 +- .../VueFinalModal/CreateH.example.vue | 19 +++++++++ .../VueFinalModal/Fullscreen.example.vue | 4 +- .../VueFinalModal/StopEvent.example.vue | 4 +- .../components/VueFinalModal/modalsHelpers.ts | 4 +- 13 files changed, 103 insertions(+), 55 deletions(-) create mode 100644 viteplay/src/components/VueFinalModal/CreateH.example.vue diff --git a/docs/content/2.get-started/1.guide/4.types.md b/docs/content/2.get-started/1.guide/4.types.md index 2f05a21d..0b0bb19e 100644 --- a/docs/content/2.get-started/1.guide/4.types.md +++ b/docs/content/2.get-started/1.guide/4.types.md @@ -14,25 +14,25 @@ export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] ``` -## ModalSlot +## C2VOptions ```ts -export interface ModalSlotOptions { component: Raw<ComponentType>; attrs?: Record<string, any> } -export type ModalSlot = string | ComponentType | ModalSlotOptions +export type C2VOptions<T extends Component> = { + component: T + attrs?: ComponentProps<T> + slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + } +} ``` ## UseModalOptions ```ts -export type UseModalOptions<T extends ComponentType> = { +export type UseModalOptions<T extends Component> = { defaultModelValue?: boolean keepAlive?: boolean - component?: T - attrs?: ComponentProps<T> - slots?: { - [key: string]: ModalSlot - } -} +} & C2VOptions<T> ``` ## UseModalOptionsPrivate @@ -49,7 +49,7 @@ export type UseModalOptionsPrivate = { ## UseModalReturnType ```ts -export interface UseModalReturnType<T extends ComponentType> { +export interface UseModalReturnType<T extends Component> { options: UseModalOptions<T> & UseModalOptionsPrivate open: () => Promise<string> close: () => Promise<string> diff --git a/docs/content/3.api/2.composables/1.use-modal.md b/docs/content/3.api/2.composables/1.use-modal.md index 2a792f20..f560dccd 100644 --- a/docs/content/3.api/2.composables/1.use-modal.md +++ b/docs/content/3.api/2.composables/1.use-modal.md @@ -115,7 +115,7 @@ const modalInstance = useModal({ #### with `Component`, `Props` and `Events` ```ts -import { VueFinalModal, useModal, useModalSlot } from 'vue-final-modal' +import { VueFinalModal, useModal, c2v } from 'vue-final-modal' // ModalContent is the component you want to put into the modal content import ModalContent from './ModalContent.vue' @@ -123,7 +123,7 @@ const modalInstance = useModal({ component: VueFinalModal, attrs: { ... }, slots: { - default: useModalSlot({ + default: c2v({ component: ModalContent, attrs: { // Bind ModalContent props @@ -137,7 +137,7 @@ const modalInstance = useModal({ ``` ::alert{type=info} -`useModalSlot()` is a function that provides better DX for type checking. It just returns the same object you passed in. +`c2v()` is a function that provides better DX for type checking. It just returns the same object you passed in. :: ## Type Declarations diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 340d85be..35486099 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,16 +1,17 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, FunctionalComponent, Raw, Ref } from 'vue' +import type { App, CSSProperties, Component, ComponentInternalInstance, Ref } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' import type { H } from './h' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] -export interface ModalSlotOptions { component: Raw<Component>; attrs?: Record<string, any> } -export type ModalSlot = string | Component | ModalSlotOptions - -type ComponentConstructor = (abstract new (...args: any) => any) -/** Including both generic and non-generic vue components */ -export type ComponentType = ComponentConstructor | FunctionalComponent<any, any> +export type C2VOptions<T extends Component> = { + component: T + attrs?: ComponentProps<T> + slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + } +} export type UseModalOptions<T extends Component> = { defaultModelValue?: boolean @@ -18,7 +19,7 @@ export type UseModalOptions<T extends Component> = { component?: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: ModalSlot + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> } } diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/DynamicModal.ts index d77614c4..d198f990 100644 --- a/packages/vue-final-modal/src/components/DynamicModal.ts +++ b/packages/vue-final-modal/src/components/DynamicModal.ts @@ -1,7 +1,7 @@ import type { Component, PropType } from 'vue' import { defineComponent, h } from 'vue' -import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate } from '..' -import { isModalSlotOptions } from '~/useApi' +import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate } from '..' +import { getSlots, isC2VOptions } from '~/useApi' import { isString, objectEntries } from '~/utils' export const DynamicModal = defineComponent({ @@ -18,11 +18,11 @@ export const DynamicModal = defineComponent({ return null const slots = objectEntries(modal.slots || {}).reduce((acc, cur) => { const slotName = cur[0] as string - const slot = cur[1] as string | Component | ModalSlotOptions + const slot = cur[1] as string | Component | C2VOptions<Component> if (isString(slot)) acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isModalSlotOptions(slot)) - acc[slotName] = () => h(slot.component, slot.attrs) + else if (isC2VOptions(slot)) + acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) else acc[slotName] = () => h(slot) return acc diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 1effcad6..948b2e0d 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -21,7 +21,7 @@ export { vueFinalModalProps } from './components/VueFinalModal/VueFinalModalProp export type { VueFinalModalEmits } from './components/VueFinalModal/VueFinalModal.vue' /** Composables */ -export { useVfm, useModal, useVfmAttrs, useModalSlot } from './useApi' +export { useVfm, useModal, useVfmAttrs, c2v } from './useApi' declare module '@vue/runtime-core' { export interface ComponentCustomProperties { diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 97ec0241..9b3057cf 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -2,9 +2,9 @@ import type { Component, VNode } from 'vue' import { computed, h, markRaw, nextTick, reactive, useAttrs } from 'vue' import { tryOnUnmounted } from '@vueuse/core' import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' -import type { ModalSlotOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' +import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' import { activeVfm, getActiveVfm } from './plugin' -import type { ComponentEmit, ComponentProps } from './Component' +import type { ComponentEmit, ComponentProps, ComponentSlots } from './Component' import { DynamicModal } from './components/DynamicModal' import { isString, objectEntries } from '~/utils' @@ -35,7 +35,7 @@ function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, if (isString(maybeComponent)) return [name, maybeComponent] as const - if (isModalSlotOptions(maybeComponent)) { + if (isC2VOptions(maybeComponent)) { return [name, { ...maybeComponent, component: markRaw(maybeComponent.component), @@ -125,7 +125,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U const originSlot = options.slots![name] if (isString(originSlot)) options.slots![name] = slot - else if (isModalSlotOptions(originSlot) && isModalSlotOptions(slot)) + else if (isC2VOptions(originSlot) && isC2VOptions(slot)) patchComponentOptions(originSlot, slot) else options.slots![name] = slot @@ -143,8 +143,8 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U } function patchComponentOptions<T extends Component>( - options: UseModalOptions<T> | ModalSlotOptions, - newOptions: Partial<UseModalOptions<T>> | ModalSlotOptions, + options: UseModalOptions<T> | C2VOptions<Component>, + newOptions: Partial<UseModalOptions<T>> | C2VOptions<Component>, ) { if (newOptions.component) options.component = newOptions.component @@ -182,20 +182,34 @@ function removeVNode(vNode: VNode): void { vfm.h.remove(vNode) } -export function useModalSlot<T extends Component>(options: { - component: T - attrs?: ComponentProps<T> -}) { - return options -} - -export function isModalSlotOptions(value: unknown): value is ModalSlotOptions { +export function isC2VOptions<T extends Component>(value: unknown): value is C2VOptions<T> { if (typeof value === 'object' && value !== null) return 'component' in value else return false } +/** Convert Component Options to VNode */ +export function c2v<T extends Component>(options: C2VOptions<T>) { + return options +} + +export function getSlots<T extends Component>(slots: { + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> +}) { + return objectEntries(slots || {}).reduce((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | C2VOptions<any> + if (isString(slot)) + acc[slotName] = () => h('div', { innerHTML: slot }) + else if (isC2VOptions(slot)) + acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) + else + acc[slotName] = () => h(slot) + return acc + }, {} as Record<string, () => VNode>) +} + export function pickModalProps(props: Record<string, any>, modalProps: Record<string, any>) { return Object.keys(modalProps).reduce<Record<string, any>>((acc, propName) => { acc[propName] = props?.[propName] diff --git a/viteplay/src/components/DefaultSlot.vue b/viteplay/src/components/DefaultSlot.vue index 690b1539..7bb1b346 100644 --- a/viteplay/src/components/DefaultSlot.vue +++ b/viteplay/src/components/DefaultSlot.vue @@ -19,5 +19,6 @@ const count = ref(0) <div>default slot component {{ text }}</div> <button>Click Button!</button> <input v-model="count" type="number"> + <slot /> </div> </template> diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/VueFinalModal/Basic.example.vue index 6b9eba70..9670d369 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/VueFinalModal/Basic.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, useModal, useModalSlot, useVfm } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, c2v, useModal, useVfm } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -28,13 +28,26 @@ const modal1 = useModal({ onBeforeOpen() { console.log('onBeforeOpen') }, }, slots: { - default: useModalSlot({ + default: c2v({ component: DefaultSlot, attrs: { text: '123', - onCreate() { - // console.log('onCreated') - }, + }, + slots: { + default: c2v({ + component: DefaultSlot, + attrs: { + text: '456', + }, + slots: { + default: c2v({ + component: DefaultSlot, + attrs: { + text: '789', + }, + }), + }, + }), }, }), }, diff --git a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue b/viteplay/src/components/VueFinalModal/BottomSheet.example.vue index 4c8495fa..a4e1a9fa 100644 --- a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue +++ b/viteplay/src/components/VueFinalModal/BottomSheet.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, useModal, useModalSlot } from 'vue-final-modal' +import { ModalsContainer, useModal, c2v } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' const bottomSheet = useModal({ @@ -19,7 +19,7 @@ const bottomSheet = useModal({ contentTransition: { name: 'vfm-slide-down' }, }, slots: { - default: useModalSlot({ + default: c2v({ component: DefaultSlot, attrs: { text: 'a bottom sheet modal', diff --git a/viteplay/src/components/VueFinalModal/CreateH.example.vue b/viteplay/src/components/VueFinalModal/CreateH.example.vue new file mode 100644 index 00000000..c60cfceb --- /dev/null +++ b/viteplay/src/components/VueFinalModal/CreateH.example.vue @@ -0,0 +1,19 @@ +<script setup lang="ts"> +import { ModalsContainer, useModal } from 'vue-final-modal' +import DefaultSlot from '../DefaultSlot.vue' + +useModal({ + defaultModelValue: true, + component: DefaultSlot, + attrs: { + text: '123', + onCreate() { + // console.log('onCreated') + }, + }, +}) +</script> + +<template> + <ModalsContainer /> +</template> diff --git a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue b/viteplay/src/components/VueFinalModal/Fullscreen.example.vue index dcac2bac..6e63809d 100644 --- a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue +++ b/viteplay/src/components/VueFinalModal/Fullscreen.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, useModal, useModalSlot } from 'vue-final-modal' +import { ModalsContainer, useModal, c2v } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' const modal = useModal({ @@ -13,7 +13,7 @@ const modal = useModal({ }, }, slots: { - default: useModalSlot({ + default: c2v({ component: DefaultSlot, attrs: { text: 'a full screen modal', diff --git a/viteplay/src/components/VueFinalModal/StopEvent.example.vue b/viteplay/src/components/VueFinalModal/StopEvent.example.vue index f6d4baa2..ce9d7bbe 100644 --- a/viteplay/src/components/VueFinalModal/StopEvent.example.vue +++ b/viteplay/src/components/VueFinalModal/StopEvent.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, VueFinalModal, useModal, useModalSlot } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, useModal, c2v } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' let count = 0 @@ -32,7 +32,7 @@ const modal = useModal({ }, }, slots: { - default: useModalSlot({ + default: c2v({ component: DefaultSlot, attrs: { text: 'This is an example of a modal with a default slot', diff --git a/viteplay/src/components/VueFinalModal/modalsHelpers.ts b/viteplay/src/components/VueFinalModal/modalsHelpers.ts index fa31250b..819a7dac 100644 --- a/viteplay/src/components/VueFinalModal/modalsHelpers.ts +++ b/viteplay/src/components/VueFinalModal/modalsHelpers.ts @@ -1,4 +1,4 @@ -import { VueFinalModal, useModal, useModalSlot } from 'vue-final-modal' +import { VueFinalModal, useModal, c2v } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' console.log('helper') @@ -6,7 +6,7 @@ export const modal = useModal({ component: VueFinalModal, // defaultModelValue: true, slots: { - default: useModalSlot({ + default: c2v({ component: DefaultSlot, attrs: { text: '123', From 6d876971761a2a489be6d67db2e3758b3c79a6b7 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 17 Jan 2024 02:47:35 +0800 Subject: [PATCH 15/37] feat: add useC2v API --- packages/vue-final-modal/src/index.ts | 2 +- packages/vue-final-modal/src/useApi.ts | 18 +++++++++++++ .../VueFinalModal/Basic.example.vue | 27 ++++++++++++++++++- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 948b2e0d..ebeecf90 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -21,7 +21,7 @@ export { vueFinalModalProps } from './components/VueFinalModal/VueFinalModalProp export type { VueFinalModalEmits } from './components/VueFinalModal/VueFinalModal.vue' /** Composables */ -export { useVfm, useModal, useVfmAttrs, c2v } from './useApi' +export { useVfm, useModal, useVfmAttrs, useC2v, c2v } from './useApi' declare module '@vue/runtime-core' { export interface ComponentCustomProperties { diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts index 9b3057cf..2e564ca1 100644 --- a/packages/vue-final-modal/src/useApi.ts +++ b/packages/vue-final-modal/src/useApi.ts @@ -52,6 +52,24 @@ function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, } } +/** + * Create a dynamic vNode. + */ +export function useC2v<T extends Component>(_options: C2VOptions<T>) { + const id = Symbol(__DEV__ ? 'useC2v' : '') + + const vNode = h(_options.component, { key: id, ..._options.attrs }, _options.slots) + + tryOnUnmounted(() => { + removeVNode(vNode) + }) + + return { + open: () => pushVNode(vNode), + close: () => removeVNode(vNode), + } +} + /** * Create a dynamic modal. */ diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/VueFinalModal/Basic.example.vue index 9670d369..25bd8d0d 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/VueFinalModal/Basic.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, c2v, useModal, useVfm } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, c2v, useC2v, useModal, useVfm } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -79,6 +79,31 @@ function clickOutside() { // onMounted(() => { // show.value = true // }) + +const { open } = useC2v({ + component: DefaultSlot, + attrs: { + text: 'c2v', + }, + // slots: { + // default: c2v({ + // component: DefaultSlot, + // attrs: { + // text: '456', + // }, + // slots: { + // default: c2v({ + // component: DefaultSlot, + // attrs: { + // text: '789', + // }, + // }), + // }, + // }), + // }, +}) + +open() </script> <template> From 794945219f3934774c37f59fa29578b3cd51fe8e Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Mon, 29 Jan 2024 16:55:16 +0800 Subject: [PATCH 16/37] refactor: split out useModal, useVfm, useC2v to individual files --- .../src/components/DynamicModal.ts | 2 +- .../src/components/ModalsContainer.ts | 2 +- .../VueFinalModal/VueFinalModal.vue | 2 +- packages/vue-final-modal/src/index.ts | 5 +- packages/vue-final-modal/src/useApi.ts | 268 ------------------ packages/vue-final-modal/src/useC2v.ts | 53 ++++ packages/vue-final-modal/src/useModal.ts | 144 ++++++++++ packages/vue-final-modal/src/useVfm.ts | 43 +++ packages/vue-final-modal/src/useVfmAttrs.ts | 43 +++ 9 files changed, 290 insertions(+), 272 deletions(-) delete mode 100644 packages/vue-final-modal/src/useApi.ts create mode 100644 packages/vue-final-modal/src/useC2v.ts create mode 100644 packages/vue-final-modal/src/useModal.ts create mode 100644 packages/vue-final-modal/src/useVfm.ts create mode 100644 packages/vue-final-modal/src/useVfmAttrs.ts diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/DynamicModal.ts index d198f990..6d864177 100644 --- a/packages/vue-final-modal/src/components/DynamicModal.ts +++ b/packages/vue-final-modal/src/components/DynamicModal.ts @@ -1,8 +1,8 @@ import type { Component, PropType } from 'vue' import { defineComponent, h } from 'vue' import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate } from '..' -import { getSlots, isC2VOptions } from '~/useApi' import { isString, objectEntries } from '~/utils' +import { getSlots, isC2VOptions } from '~/useC2v' export const DynamicModal = defineComponent({ name: 'DynamicModal', diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index a6fc7cab..bca53882 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -1,5 +1,5 @@ import { computed, defineComponent, onBeforeUnmount } from 'vue' -import { useVfm } from '~/useApi' +import { useVfm } from '~/useVfm' export const ModalsContainer = defineComponent({ name: 'ModalsContainer', diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index ade2e847..8e58da02 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -11,7 +11,7 @@ import { vVisible } from './vVisible' import { arrayMoveItemToLast, arrayRemoveItem, noop, once } from '~/utils' import { type ModalExposed } from '~/Modal' import { useSwipeToClose } from '~/useSwipeToClose' -import { useVfm } from '~/useApi' +import { useVfm } from '~/useVfm' import { getModalExposed } from '~/plugin' export interface VueFinalModalEmits { diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index ebeecf90..d2171075 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -21,7 +21,10 @@ export { vueFinalModalProps } from './components/VueFinalModal/VueFinalModalProp export type { VueFinalModalEmits } from './components/VueFinalModal/VueFinalModal.vue' /** Composables */ -export { useVfm, useModal, useVfmAttrs, useC2v, c2v } from './useApi' +export { useC2v, c2v } from './useC2v' +export { useVfm } from './useVfm' +export { useModal } from './useModal' +export { useVfmAttrs } from './useVfmAttrs' declare module '@vue/runtime-core' { export interface ComponentCustomProperties { diff --git a/packages/vue-final-modal/src/useApi.ts b/packages/vue-final-modal/src/useApi.ts deleted file mode 100644 index 2e564ca1..00000000 --- a/packages/vue-final-modal/src/useApi.ts +++ /dev/null @@ -1,268 +0,0 @@ -import type { Component, VNode } from 'vue' -import { computed, h, markRaw, nextTick, reactive, useAttrs } from 'vue' -import { tryOnUnmounted } from '@vueuse/core' -import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' -import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType, Vfm } from './Modal' -import { activeVfm, getActiveVfm } from './plugin' -import type { ComponentEmit, ComponentProps, ComponentSlots } from './Component' -import { DynamicModal } from './components/DynamicModal' -import { isString, objectEntries } from '~/utils' - -/** - * Returns the vfm instance. Equivalent to using `$vfm` inside - * templates. - */ -export function useVfm(): Vfm { - const vfm = getActiveVfm() - if (__DEV__ && !vfm) { - throw new Error( - '[Vue Final Modal]: getActiveVfm was called with no active Vfm. Did you forget to install vfm?\n' - + '\tconst vfm = createVfm()\n' - + '\tapp.use(vfm)\n' - + 'This will fail in production.', - ) - } - - return vfm! -} - -function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, DefaultComponent: Component = VueFinalModal) { - const { component, slots: innerSlots, ...rest } = options - - const slots: UseModalOptions<T>['slots'] = typeof innerSlots === 'undefined' - ? {} - : Object.fromEntries(objectEntries(innerSlots).map(([name, maybeComponent]) => { - if (isString(maybeComponent)) - return [name, maybeComponent] as const - - if (isC2VOptions(maybeComponent)) { - return [name, { - ...maybeComponent, - component: markRaw(maybeComponent.component), - }] - } - - return [name, markRaw(maybeComponent as Component)] - })) as UseModalOptions<T>['slots'] - - return { - ...rest, - component: markRaw(component || DefaultComponent), - slots, - } -} - -/** - * Create a dynamic vNode. - */ -export function useC2v<T extends Component>(_options: C2VOptions<T>) { - const id = Symbol(__DEV__ ? 'useC2v' : '') - - const vNode = h(_options.component, { key: id, ..._options.attrs }, _options.slots) - - tryOnUnmounted(() => { - removeVNode(vNode) - }) - - return { - open: () => pushVNode(vNode), - close: () => removeVNode(vNode), - } -} - -/** - * Create a dynamic modal. - */ -export function useModal<T extends Component = typeof VueFinalModal>(_options: UseModalOptions<T>): UseModalReturnType<T> { - const id = Symbol(__DEV__ ? 'useModal' : '') - - const options = reactive({ - id, - modelValue: !!_options?.defaultModelValue, - resolveOpened: () => { }, - resolveClosed: tryRemoveVNode, - attrs: {}, - ...withMarkRaw<T>(_options), - }) as UseModalOptions<T> & UseModalOptionsPrivate - - const vNode = h(DynamicModal, { modal: options, key: id }) - - tryOnUnmounted(() => { - tryRemoveVNode() - }) - - if (options.modelValue === true) - pushVNode(vNode) - - function open(): Promise<string> { - if (options.modelValue) - return Promise.resolve('[Vue Final Modal] modal is already opened.') - - tryRemoveVNode() - options.modelValue = true - pushVNode(vNode) - - return new Promise((resolve) => { - options.resolveOpened = () => resolve('opened') - }) - } - - function close(): Promise<string> { - if (!options.modelValue) - return Promise.resolve('[Vue Final Modal] modal is already closed.') - - options.modelValue = false - return new Promise((resolve) => { - options.resolveClosed = () => { - resolve('closed') - tryRemoveVNode() - } - }) - } - - function tryRemoveVNode() { - if (options.keepAlive) - return - removeVNode(vNode) - } - - function patchOptions(_options: Partial<UseModalOptions<T>>) { - const { slots, ...rest } = withMarkRaw(_options, options.component) - - if (_options.defaultModelValue !== undefined) - options.defaultModelValue = _options.defaultModelValue - if (_options?.keepAlive !== undefined) - options.keepAlive = _options?.keepAlive - - // patch options.component and options.attrs - patchComponentOptions(options, rest) - - // patch options.slots - if (slots) { - objectEntries(slots).forEach(([name, slot]) => { - const originSlot = options.slots![name] - if (isString(originSlot)) - options.slots![name] = slot - else if (isC2VOptions(originSlot) && isC2VOptions(slot)) - patchComponentOptions(originSlot, slot) - else - options.slots![name] = slot - }) - } - } - - return { - options, - open, - close, - patchOptions, - destroy: () => removeVNode(vNode), - } -} - -function patchComponentOptions<T extends Component>( - options: UseModalOptions<T> | C2VOptions<Component>, - newOptions: Partial<UseModalOptions<T>> | C2VOptions<Component>, -) { - if (newOptions.component) - options.component = newOptions.component - - if (newOptions.attrs) - patchAttrs(options.attrs!, newOptions.attrs) -} - -function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { - Object.entries(newAttrs).forEach(([key, value]) => { - attrs[key as keyof T] = value as any - }) - - return attrs -} - -async function pushVNode(vNode: VNode) { - const vfm = await useSsrVfm() - vfm.h.push(vNode) -} - -/** nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` */ -async function useSsrVfm(): Promise<Vfm> { - if (activeVfm) { - return activeVfm - } - else { - await nextTick() - return useVfm() - } -} - -function removeVNode(vNode: VNode): void { - const vfm = useVfm() - vfm.h.remove(vNode) -} - -export function isC2VOptions<T extends Component>(value: unknown): value is C2VOptions<T> { - if (typeof value === 'object' && value !== null) - return 'component' in value - else - return false -} - -/** Convert Component Options to VNode */ -export function c2v<T extends Component>(options: C2VOptions<T>) { - return options -} - -export function getSlots<T extends Component>(slots: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> -}) { - return objectEntries(slots || {}).reduce((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | C2VOptions<any> - if (isString(slot)) - acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isC2VOptions(slot)) - acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => h(slot) - return acc - }, {} as Record<string, () => VNode>) -} - -export function pickModalProps(props: Record<string, any>, modalProps: Record<string, any>) { - return Object.keys(modalProps).reduce<Record<string, any>>((acc, propName) => { - acc[propName] = props?.[propName] - return acc - }, {}) -} - -export function byPassAllModalEvents(emit?: ComponentEmit<typeof VueFinalModal>): ComponentProps<typeof VueFinalModal> { - return { - 'onUpdate:modelValue': (val: boolean) => emit?.('update:modelValue', val), - - 'onBeforeClose': (payload: { stop: () => void }) => emit?.('beforeClose', payload), - 'onClosed': () => emit?.('closed'), - 'onBeforeOpen': (payload: { stop: () => void }) => emit?.('beforeOpen', payload), - 'onOpened': () => emit?.('opened'), - - /** onClickOutside will only be emitted when clickToClose equal to `false` */ - 'onClickOutside': () => emit?.('clickOutside'), - } -} - -export function useVfmAttrs<TP extends Component, MP extends Component>(options: { - props: ComponentProps<TP> - modalProps: ComponentProps<MP> - emit?: any -}) { - const { props, modalProps, emit } = options - const bindProps = computed(() => pickModalProps(props, modalProps)) - const bindEmits = byPassAllModalEvents(emit) - const attrs = useAttrs() - const vfmAttrs = computed(() => ({ - ...bindProps.value, - ...bindEmits, - ...attrs, - })) - - return vfmAttrs -} diff --git a/packages/vue-final-modal/src/useC2v.ts b/packages/vue-final-modal/src/useC2v.ts new file mode 100644 index 00000000..e4fe0311 --- /dev/null +++ b/packages/vue-final-modal/src/useC2v.ts @@ -0,0 +1,53 @@ +import type { Component, VNode } from 'vue' +import { h } from 'vue' +import { tryOnUnmounted } from '@vueuse/core' +import type { C2VOptions } from './Modal' +import { pushVNode, removeVNode } from './useVfm' +import type { ComponentSlots } from './Component' +import { isString, objectEntries } from './utils' + +/** + * Create a dynamic vNode. + */ +export function useC2v<T extends Component>(_options: C2VOptions<T>) { + const id = Symbol(__DEV__ ? 'useC2v' : '') + + const vNode = h(_options.component, { key: id, ..._options.attrs }, _options.slots) + + tryOnUnmounted(() => { + removeVNode(vNode) + }) + + return { + open: () => pushVNode(vNode), + close: () => removeVNode(vNode), + } +} + +/** Convert Component Options to VNode */ +export function c2v<T extends Component>(options: C2VOptions<T>) { + return options +} + +export function isC2VOptions<T extends Component>(value: unknown): value is C2VOptions<T> { + if (typeof value === 'object' && value !== null) + return 'component' in value + else + return false +} + +export function getSlots<T extends Component>(slots: { + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> +}) { + return objectEntries(slots || {}).reduce((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | C2VOptions<any> + if (isString(slot)) + acc[slotName] = () => h('div', { innerHTML: slot }) + else if (isC2VOptions(slot)) + acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) + else + acc[slotName] = () => h(slot) + return acc + }, {} as Record<string, () => VNode>) +} diff --git a/packages/vue-final-modal/src/useModal.ts b/packages/vue-final-modal/src/useModal.ts new file mode 100644 index 00000000..4fe4b88b --- /dev/null +++ b/packages/vue-final-modal/src/useModal.ts @@ -0,0 +1,144 @@ +import type { Component } from 'vue' +import { h, markRaw, reactive } from 'vue' +import { tryOnUnmounted } from '@vueuse/core' +import { isString, objectEntries } from './utils' +import { DynamicModal } from './components/DynamicModal' +import { isC2VOptions } from './useC2v' +import { pushVNode, removeVNode } from './useVfm' +import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType } from '.' +import { VueFinalModal } from '.' + +/** + * Create a dynamic modal. + */ +export function useModal<T extends Component = typeof VueFinalModal>(_options: UseModalOptions<T>): UseModalReturnType<T> { + const id = Symbol(__DEV__ ? 'useModal' : '') + + const options = reactive({ + id, + modelValue: !!_options?.defaultModelValue, + resolveOpened: () => { }, + resolveClosed: tryRemoveVNode, + attrs: {}, + ...withMarkRaw<T>(_options), + }) as UseModalOptions<T> & UseModalOptionsPrivate + + const vNode = h(DynamicModal, { modal: options, key: id }) + + tryOnUnmounted(() => { + tryRemoveVNode() + }) + + if (options.modelValue === true) + pushVNode(vNode) + + function open(): Promise<string> { + if (options.modelValue) + return Promise.resolve('[Vue Final Modal] modal is already opened.') + + tryRemoveVNode() + options.modelValue = true + pushVNode(vNode) + + return new Promise((resolve) => { + options.resolveOpened = () => resolve('opened') + }) + } + + function close(): Promise<string> { + if (!options.modelValue) + return Promise.resolve('[Vue Final Modal] modal is already closed.') + + options.modelValue = false + return new Promise((resolve) => { + options.resolveClosed = () => { + resolve('closed') + tryRemoveVNode() + } + }) + } + + function tryRemoveVNode() { + if (options.keepAlive) + return + removeVNode(vNode) + } + + function patchOptions(_options: Partial<UseModalOptions<T>>) { + const { slots, ...rest } = withMarkRaw(_options, options.component) + + if (_options.defaultModelValue !== undefined) + options.defaultModelValue = _options.defaultModelValue + if (_options?.keepAlive !== undefined) + options.keepAlive = _options?.keepAlive + + // patch options.component and options.attrs + patchComponentOptions(options, rest) + + // patch options.slots + if (slots) { + objectEntries(slots).forEach(([name, slot]) => { + const originSlot = options.slots![name] + if (isString(originSlot)) + options.slots![name] = slot + else if (isC2VOptions(originSlot) && isC2VOptions(slot)) + patchComponentOptions(originSlot, slot) + else + options.slots![name] = slot + }) + } + } + + return { + options, + open, + close, + patchOptions, + destroy: () => removeVNode(vNode), + } +} + +function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, DefaultComponent: Component = VueFinalModal) { + const { component, slots: innerSlots, ...rest } = options + + const slots: UseModalOptions<T>['slots'] = typeof innerSlots === 'undefined' + ? {} + : Object.fromEntries(objectEntries(innerSlots).map(([name, maybeComponent]) => { + if (isString(maybeComponent)) + return [name, maybeComponent] as const + + if (isC2VOptions(maybeComponent)) { + return [name, { + ...maybeComponent, + component: markRaw(maybeComponent.component), + }] + } + + return [name, markRaw(maybeComponent as Component)] + })) as UseModalOptions<T>['slots'] + + return { + ...rest, + component: markRaw(component || DefaultComponent), + slots, + } +} + +function patchComponentOptions<T extends Component>( + options: UseModalOptions<T> | C2VOptions<Component>, + newOptions: Partial<UseModalOptions<T>> | C2VOptions<Component>, +) { + if (newOptions.component) + options.component = newOptions.component + + if (newOptions.attrs) + patchAttrs(options.attrs!, newOptions.attrs) +} + +function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { + Object.entries(newAttrs).forEach(([key, value]) => { + attrs[key as keyof T] = value as any + }) + + return attrs +} diff --git a/packages/vue-final-modal/src/useVfm.ts b/packages/vue-final-modal/src/useVfm.ts new file mode 100644 index 00000000..d5ad8767 --- /dev/null +++ b/packages/vue-final-modal/src/useVfm.ts @@ -0,0 +1,43 @@ +import type { VNode } from 'vue' +import { nextTick } from 'vue' +import type { Vfm } from './Modal' +import { activeVfm, getActiveVfm } from './plugin' + +/** + * Returns the vfm instance. Equivalent to using `$vfm` inside + * templates. + */ +export function useVfm(): Vfm { + const vfm = getActiveVfm() + if (__DEV__ && !vfm) { + throw new Error( + '[Vue Final Modal]: getActiveVfm was called with no active Vfm. Did you forget to install vfm?\n' + + '\tconst vfm = createVfm()\n' + + '\tapp.use(vfm)\n' + + 'This will fail in production.', + ) + } + + return vfm! +} + +/** nextTick will break the SSR, so use `activeVfm` first and then `useVfm()` */ +export async function useSsrVfm(): Promise<Vfm> { + if (activeVfm) { + return activeVfm + } + else { + await nextTick() + return useVfm() + } +} + +export async function pushVNode(vNode: VNode) { + const vfm = await useSsrVfm() + vfm.h.push(vNode) +} + +export function removeVNode(vNode: VNode): void { + const vfm = useVfm() + vfm.h.remove(vNode) +} diff --git a/packages/vue-final-modal/src/useVfmAttrs.ts b/packages/vue-final-modal/src/useVfmAttrs.ts new file mode 100644 index 00000000..fe753b96 --- /dev/null +++ b/packages/vue-final-modal/src/useVfmAttrs.ts @@ -0,0 +1,43 @@ +import type { Component } from 'vue' +import { computed, useAttrs } from 'vue' +import type { ComponentEmit, ComponentProps } from './Component' +import type { VueFinalModal } from '.' + +export function pickModalProps(props: Record<string, any>, modalProps: Record<string, any>) { + return Object.keys(modalProps).reduce<Record<string, any>>((acc, propName) => { + acc[propName] = props?.[propName] + return acc + }, {}) +} + +export function byPassAllModalEvents(emit?: ComponentEmit<typeof VueFinalModal>): ComponentProps<typeof VueFinalModal> { + return { + 'onUpdate:modelValue': (val: boolean) => emit?.('update:modelValue', val), + + 'onBeforeClose': (payload: { stop: () => void }) => emit?.('beforeClose', payload), + 'onClosed': () => emit?.('closed'), + 'onBeforeOpen': (payload: { stop: () => void }) => emit?.('beforeOpen', payload), + 'onOpened': () => emit?.('opened'), + + /** onClickOutside will only be emitted when clickToClose equal to `false` */ + 'onClickOutside': () => emit?.('clickOutside'), + } +} + +export function useVfmAttrs<TP extends Component, MP extends Component>(options: { + props: ComponentProps<TP> + modalProps: ComponentProps<MP> + emit?: any +}) { + const { props, modalProps, emit } = options + const bindProps = computed(() => pickModalProps(props, modalProps)) + const bindEmits = byPassAllModalEvents(emit) + const attrs = useAttrs() + const vfmAttrs = computed(() => ({ + ...bindProps.value, + ...bindEmits, + ...attrs, + })) + + return vfmAttrs +} From 831ef28e32af72e9949c02157d575eafe32b2623 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Mon, 29 Jan 2024 18:20:32 +0800 Subject: [PATCH 17/37] refactor: rename h.ts to useVNodesContainer.ts --- packages/vue-final-modal/src/Modal.ts | 4 +- .../src/components/ModalsContainer.ts | 10 ++--- packages/vue-final-modal/src/plugin.ts | 6 +-- .../src/{h.ts => useVNodesContainer.ts} | 8 ++-- packages/vue-final-modal/src/useVfmAttrs.ts | 40 +++++++++---------- 5 files changed, 34 insertions(+), 34 deletions(-) rename packages/vue-final-modal/src/{h.ts => useVNodesContainer.ts} (78%) diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 35486099..eb2fbcab 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,6 +1,6 @@ import type { App, CSSProperties, Component, ComponentInternalInstance, Ref } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' -import type { H } from './h' +import type { VNodesContainer } from './useVNodesContainer' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] @@ -43,7 +43,7 @@ export type Vfm = { modals: ComponentInternalInstance[] openedModals: ComponentInternalInstance[] openedModalOverlays: ComponentInternalInstance[] - h: H + vNodesContainer: VNodesContainer get: (modalId: ModalId) => undefined | ComponentInternalInstance toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index bca53882..31402dee 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -4,20 +4,20 @@ import { useVfm } from '~/useVfm' export const ModalsContainer = defineComponent({ name: 'ModalsContainer', setup() { - const { h } = useVfm() + const { vNodesContainer } = useVfm() const uid = Symbol(__DEV__ ? 'ModalsContainer' : '') - const shouldMount = computed(() => uid === h.containers.value?.[0]) + const shouldMount = computed(() => uid === vNodesContainer.containers.value?.[0]) - h.containers.value.push(uid) + vNodesContainer.containers.value.push(uid) onBeforeUnmount(() => { - h.containers.value = h.containers.value.filter(i => i !== uid) + vNodesContainer.containers.value = vNodesContainer.containers.value.filter(i => i !== uid) }) return () => { if (!shouldMount.value) return null - return h.vNodes + return vNodesContainer.vNodes } }, }) diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index 18738502..73556be1 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -3,7 +3,7 @@ import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' import type { ModalExposed, ModalId, Vfm } from './Modal' import { noop } from './utils' -import { createH } from './h' +import { useVNodesContainer } from './useVNodesContainer' // eslint-disable-next-line import/no-mutable-exports export let activeVfm: Vfm | undefined @@ -16,7 +16,7 @@ export const defaultVfm: Vfm = { modals: [], openedModals: [], openedModalOverlays: [], - h: { + vNodesContainer: { vNodes: [], containers: ref([]), push: noop, @@ -45,7 +45,7 @@ export function createVfm() { modals, openedModals, openedModalOverlays, - h: createH(), + vNodesContainer: useVNodesContainer(), get(modalId: ModalId) { return modals.find(modal => getModalExposed(modal)?.value.modalId?.value === modalId) }, diff --git a/packages/vue-final-modal/src/h.ts b/packages/vue-final-modal/src/useVNodesContainer.ts similarity index 78% rename from packages/vue-final-modal/src/h.ts rename to packages/vue-final-modal/src/useVNodesContainer.ts index a456779b..adc1a505 100644 --- a/packages/vue-final-modal/src/h.ts +++ b/packages/vue-final-modal/src/useVNodesContainer.ts @@ -1,14 +1,14 @@ import type { Ref, VNode } from 'vue' import { ref, shallowReactive } from 'vue' -export type H = { +export type VNodesContainer = { vNodes: VNode[] containers: Ref<symbol[]> push: (vNode: VNode) => void remove: (vNode: VNode) => void } -export function createH(): H { +export function useVNodesContainer(): VNodesContainer { const vNodes: VNode[] = shallowReactive([]) const containers = ref<symbol[]>([]) @@ -23,11 +23,11 @@ export function createH(): H { vNodes.splice(index, 1) } - const _h: H = { + const _vNodesContainer: VNodesContainer = { vNodes, containers, push, remove, } - return _h + return _vNodesContainer } diff --git a/packages/vue-final-modal/src/useVfmAttrs.ts b/packages/vue-final-modal/src/useVfmAttrs.ts index fe753b96..7e5a96c3 100644 --- a/packages/vue-final-modal/src/useVfmAttrs.ts +++ b/packages/vue-final-modal/src/useVfmAttrs.ts @@ -3,14 +3,32 @@ import { computed, useAttrs } from 'vue' import type { ComponentEmit, ComponentProps } from './Component' import type { VueFinalModal } from '.' -export function pickModalProps(props: Record<string, any>, modalProps: Record<string, any>) { +export function useVfmAttrs<TP extends Component, MP extends Component>(options: { + props: ComponentProps<TP> + modalProps: ComponentProps<MP> + emit?: any +}) { + const { props, modalProps, emit } = options + const bindProps = computed(() => pickModalProps(props, modalProps)) + const bindEmits = byPassAllModalEvents(emit) + const attrs = useAttrs() + const vfmAttrs = computed(() => ({ + ...bindProps.value, + ...bindEmits, + ...attrs, + })) + + return vfmAttrs +} + +function pickModalProps(props: Record<string, any>, modalProps: Record<string, any>) { return Object.keys(modalProps).reduce<Record<string, any>>((acc, propName) => { acc[propName] = props?.[propName] return acc }, {}) } -export function byPassAllModalEvents(emit?: ComponentEmit<typeof VueFinalModal>): ComponentProps<typeof VueFinalModal> { +function byPassAllModalEvents(emit?: ComponentEmit<typeof VueFinalModal>): ComponentProps<typeof VueFinalModal> { return { 'onUpdate:modelValue': (val: boolean) => emit?.('update:modelValue', val), @@ -23,21 +41,3 @@ export function byPassAllModalEvents(emit?: ComponentEmit<typeof VueFinalModal>) 'onClickOutside': () => emit?.('clickOutside'), } } - -export function useVfmAttrs<TP extends Component, MP extends Component>(options: { - props: ComponentProps<TP> - modalProps: ComponentProps<MP> - emit?: any -}) { - const { props, modalProps, emit } = options - const bindProps = computed(() => pickModalProps(props, modalProps)) - const bindEmits = byPassAllModalEvents(emit) - const attrs = useAttrs() - const vfmAttrs = computed(() => ({ - ...bindProps.value, - ...bindEmits, - ...attrs, - })) - - return vfmAttrs -} From a481ed17a69f0cfff1d2fc476da2267e2cadca3b Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Mon, 29 Jan 2024 19:16:49 +0800 Subject: [PATCH 18/37] chore: fix typo --- packages/vue-final-modal/src/useVfm.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vue-final-modal/src/useVfm.ts b/packages/vue-final-modal/src/useVfm.ts index d5ad8767..355cae00 100644 --- a/packages/vue-final-modal/src/useVfm.ts +++ b/packages/vue-final-modal/src/useVfm.ts @@ -34,10 +34,10 @@ export async function useSsrVfm(): Promise<Vfm> { export async function pushVNode(vNode: VNode) { const vfm = await useSsrVfm() - vfm.h.push(vNode) + vfm.vNodesContainer.push(vNode) } export function removeVNode(vNode: VNode): void { const vfm = useVfm() - vfm.h.remove(vNode) + vfm.vNodesContainer.remove(vNode) } From 62e758c61254051845b9dd9f91957ba67a594cde Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Mon, 29 Jan 2024 20:29:28 +0800 Subject: [PATCH 19/37] refactor: extract useInternalExposed and cleanup useZIndex --- docs/content/2.get-started/1.guide/4.types.md | 37 +++++--- packages/vue-final-modal/src/Modal.ts | 16 ++-- .../VueFinalModal/VueFinalModal.vue | 87 +++++-------------- .../components/VueFinalModal/useFocusTrap.ts | 3 +- .../VueFinalModal/useInternalExposed.ts | 42 +++++++++ .../components/VueFinalModal/useModelValue.ts | 5 +- .../components/VueFinalModal/useScrollLock.ts | 3 +- .../components/VueFinalModal/useToClose.ts | 5 +- .../components/VueFinalModal/useTransition.ts | 3 +- .../src/components/VueFinalModal/useZIndex.ts | 22 ++++- packages/vue-final-modal/src/index.ts | 2 +- packages/vue-final-modal/src/plugin.ts | 19 ++-- .../vue-final-modal/src/useSwipeToClose.ts | 3 +- 13 files changed, 137 insertions(+), 110 deletions(-) create mode 100644 packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts diff --git a/docs/content/2.get-started/1.guide/4.types.md b/docs/content/2.get-started/1.guide/4.types.md index 0b0bb19e..8dd2a31a 100644 --- a/docs/content/2.get-started/1.guide/4.types.md +++ b/docs/content/2.get-started/1.guide/4.types.md @@ -8,12 +8,6 @@ The exported types in VueFinalModal. export type ModalId = number | string | symbol ``` -## StyleValue - -```ts -export type StyleValue = string | CSSProperties | (string | CSSProperties)[] -``` - ## C2VOptions ```ts @@ -32,7 +26,12 @@ export type C2VOptions<T extends Component> = { export type UseModalOptions<T extends Component> = { defaultModelValue?: boolean keepAlive?: boolean -} & C2VOptions<T> + component?: T + attrs?: ComponentProps<T> + slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + } +} ``` ## UseModalOptionsPrivate @@ -63,15 +62,27 @@ export interface UseModalReturnType<T extends Component> { ```ts export type Vfm = { install(app: App): void - modals: ComponentInternalInstance[] - openedModals: ComponentInternalInstance[] - openedModalOverlays: ComponentInternalInstance[] - dynamicModals: VNode[] - modalsContainers: Ref<symbol[]> - get: (modalId: ModalId) => undefined | ComponentInternalInstance + modals: ComputedRef<ModalExposed>[] + openedModals: ComputedRef<ModalExposed>[] + openedModalOverlays: ComputedRef<ModalExposed>[] + vNodesContainer: VNodesContainer + get: (modalId: ModalId) => undefined | ComputedRef<ModalExposed> toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> closeAll: () => Promise<PromiseSettledResult<string>[]> } ``` + +## ModalExposed + +```ts +export type ModalExposed = { + modalId?: Ref<undefined | ModalId> + hideOverlay?: Ref<undefined | boolean> + overlayBehavior: Ref<'auto' | 'persist'> + overlayVisible: Ref<boolean> + toggle: (show?: boolean) => Promise<string> +} + +``` \ No newline at end of file diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index eb2fbcab..27881e0d 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,4 +1,4 @@ -import type { App, CSSProperties, Component, ComponentInternalInstance, Ref } from 'vue' +import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' import type { VNodesContainer } from './useVNodesContainer' @@ -40,11 +40,11 @@ export interface UseModalReturnType<T extends Component> { export type Vfm = { install(app: App): void - modals: ComponentInternalInstance[] - openedModals: ComponentInternalInstance[] - openedModalOverlays: ComponentInternalInstance[] + modals: ComputedRef<ModalExposed>[] + openedModals: ComputedRef<ModalExposed>[] + openedModalOverlays: ComputedRef<ModalExposed>[] vNodesContainer: VNodesContainer - get: (modalId: ModalId) => undefined | ComponentInternalInstance + get: (modalId: ModalId) => undefined | ComputedRef<ModalExposed> toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> @@ -52,9 +52,9 @@ export type Vfm = { } export type ModalExposed = { - modalId?: Ref<undefined | ModalId> - hideOverlay?: Ref<undefined | boolean> - overlayBehavior: Ref<'auto' | 'persist'> + modalId: Ref<undefined | ModalId> + hideOverlay: Ref<undefined | boolean> + overlayBehavior: Ref<undefined | 'auto' | 'persist'> overlayVisible: Ref<boolean> toggle: (show?: boolean) => Promise<string> } diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 8e58da02..81e56e5f 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, toRef, useAttrs, watch } from 'vue' +import { nextTick, onBeforeUnmount, onMounted, ref, useAttrs } from 'vue' import { vueFinalModalProps } from './VueFinalModalProps' import { useTransition } from './useTransition' import { useToClose } from './useToClose' @@ -8,11 +8,10 @@ import { useFocusTrap } from './useFocusTrap' import { useScrollLock } from './useScrollLock' import { useZIndex } from './useZIndex' import { vVisible } from './vVisible' -import { arrayMoveItemToLast, arrayRemoveItem, noop, once } from '~/utils' -import { type ModalExposed } from '~/Modal' +import { useInternalExposed } from './useInternalExposed' +import { arrayMoveItemToLast, arrayRemoveItem } from '~/utils' import { useSwipeToClose } from '~/useSwipeToClose' import { useVfm } from '~/useVfm' -import { getModalExposed } from '~/plugin' export interface VueFinalModalEmits { (e: 'update:modelValue', modelValue: boolean): void @@ -35,8 +34,6 @@ const props = defineProps(vueFinalModalProps) const emit = defineEmits<VueFinalModalEmits>() const attrs = useAttrs() -const instance = getCurrentInstance() - defineSlots<{ 'default'?(props: { close: () => boolean }): void 'swipe-banner'?(): void @@ -48,15 +45,12 @@ const vfmRootEl = ref<HTMLDivElement>() const vfmContentEl = ref<HTMLDivElement>() const { focus, blur } = useFocusTrap(props, { focusEl: vfmRootEl }) -const { zIndex, refreshZIndex, resetZIndex } = useZIndex(props) const { modelValueLocal } = useModelValue(props, emit, { open, close }) const { disablePageScroll, enablePageScroll } = useScrollLock(props, { lockScrollEl: vfmRootEl, modelValueLocal, }) -let resolveToggle: (res: string) => void = (noop) - const { visible, @@ -85,7 +79,7 @@ const { resolveToggle('opened') }, onLeave() { - arrayRemoveItem(openedModals, instance) + arrayRemoveItem(openedModals, modalExposed) resetZIndex() enablePageScroll() emit('closed') @@ -95,36 +89,33 @@ const { }, }) +const { modalExposed, resolveToggle } = useInternalExposed(props, { modelValueLocal, overlayVisible }) +const { zIndex, resetZIndex } = useZIndex(props, { visible, modalExposed, openedModals }) const { onEsc, onMouseupRoot, onMousedown } = useToClose(props, emit, { vfmRootEl, vfmContentEl, visible, modelValueLocal }) +const { swipeBannerEl, bindSwipe, onTouchStartSwipeBanner } = useSwipeToClose(props, { vfmContentEl, modelValueLocal }) -const { - swipeBannerEl, - bindSwipe, - onTouchStartSwipeBanner, -} = useSwipeToClose(props, { vfmContentEl, modelValueLocal }) - -const index = computed(() => instance ? openedModals.indexOf(instance) : -1) - -watch([() => props.zIndexFn, index], () => { - if (!visible.value) - return - refreshZIndex(index.value) -}) +if (props.modelValue) + modelValueLocal.value = true onMounted(() => { - arrayMoveItemToLast(modals, instance) + arrayMoveItemToLast(modals, modalExposed) }) -if (props.modelValue) - modelValueLocal.value = true +onBeforeUnmount(() => { + enablePageScroll() + arrayRemoveItem(modals, modalExposed) + arrayRemoveItem(openedModals, modalExposed) + blur() + openLastOverlay() +}) function open(): boolean { let shouldStop = false emit('beforeOpen', { stop: () => shouldStop = true }) if (shouldStop) return false - arrayMoveItemToLast(openedModals, instance) - arrayMoveItemToLast(openedModalOverlays, instance) + arrayMoveItemToLast(openedModals, modalExposed) + arrayMoveItemToLast(openedModalOverlays, modalExposed) openLastOverlay() enterTransition() return true @@ -135,58 +126,24 @@ function close(): boolean { emit('beforeClose', { stop: () => shouldStop = true }) if (shouldStop) return false - arrayRemoveItem(openedModalOverlays, instance) + arrayRemoveItem(openedModalOverlays, modalExposed) openLastOverlay() blur() leaveTransition() return true } -onBeforeUnmount(() => { - enablePageScroll() - arrayRemoveItem(modals, instance) - arrayRemoveItem(openedModals, instance) - blur() - openLastOverlay() -}) - async function openLastOverlay() { await nextTick() // Found the modals which has overlay and has `auto` overlayBehavior const openedModalsOverlaysAuto = openedModalOverlays.filter((modal) => { - const modalExposed = getModalExposed(modal) - return modalExposed?.value.overlayBehavior.value === 'auto' && !modalExposed?.value.hideOverlay?.value + return modal.value.overlayBehavior.value === 'auto' && !modal.value.hideOverlay?.value }) // Only keep the last overlay open openedModalsOverlaysAuto.forEach((modal, index) => { - const modalExposed = getModalExposed(modal) - if (!modalExposed?.value) - return - modalExposed.value.overlayVisible.value = index === openedModalsOverlaysAuto.length - 1 + modal.value.overlayVisible.value = index === openedModalsOverlaysAuto.length - 1 }) } - -const modalId = toRef(() => props.modalId) -const hideOverlay = toRef(() => props.hideOverlay) -const overlayBehavior = toRef(() => props.overlayBehavior) -const modalExposed = computed<ModalExposed>(() => ({ - modalId, - hideOverlay, - overlayBehavior, - overlayVisible, - toggle(show?: boolean): Promise<string> { - return new Promise((resolve) => { - resolveToggle = once((res: string) => resolve(res)) - - const value = typeof show === 'boolean' ? show : !modelValueLocal.value - modelValueLocal.value = value - }) - }, -})) - -defineExpose({ - modalExposed, -}) </script> <script lang="ts"> diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts index c68a97a1..94e2a726 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts @@ -1,9 +1,10 @@ import type { Ref } from 'vue' import { useFocusTrap as _useFocusTrap } from '@vueuse/integrations/useFocusTrap' import type VueFinalModal from './VueFinalModal.vue' +import type { ComponentProps } from '~/Component' export function useFocusTrap( - props: InstanceType<typeof VueFinalModal>['$props'], + props: ComponentProps<typeof VueFinalModal>, options: { focusEl: Ref<undefined | HTMLDivElement> }, diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts b/packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts new file mode 100644 index 00000000..07bfd5d6 --- /dev/null +++ b/packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts @@ -0,0 +1,42 @@ +import type { Ref } from 'vue' +import { computed, toRef } from 'vue' +import type { ComponentProps, ModalExposed, VueFinalModal } from '~/index' +import { noop, once } from '~/utils' + +export const useInternalExposed = function ( + props: ComponentProps<typeof VueFinalModal>, + options: { + overlayVisible: Ref<boolean> + modelValueLocal: Ref<boolean> + }, +) { + const { overlayVisible, modelValueLocal } = options + + const modalId = toRef(() => props.modalId) + const hideOverlay = toRef(() => props.hideOverlay) + const overlayBehavior = toRef(() => props.overlayBehavior) + + let resolveToggle: (res: string) => void = noop + + function toggle(show?: boolean): Promise<string> { + return new Promise((resolve) => { + resolveToggle = once((res: string) => resolve(res)) + + const value = typeof show === 'boolean' ? show : !modelValueLocal.value + modelValueLocal.value = value + }) + } + + const modalExposed = computed<ModalExposed>(() => ({ + modalId, + hideOverlay, + overlayBehavior, + overlayVisible, + toggle, + })) + + return { + resolveToggle, + modalExposed, + } +} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts index 0c8bd8f6..b78a7e57 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts @@ -1,10 +1,11 @@ import { nextTick, ref, watch } from 'vue' import type { Ref } from 'vue' import type VueFinalModal from './VueFinalModal.vue' +import type { ComponentEmit, ComponentProps } from '~/Component' export function useModelValue( - props: InstanceType<typeof VueFinalModal>['$props'], - emit: InstanceType<typeof VueFinalModal>['$emit'], + props: ComponentProps<typeof VueFinalModal>, + emit: ComponentEmit<typeof VueFinalModal>, options: { open: () => boolean close: () => boolean diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts index 7d2d3648..36acf146 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts @@ -3,8 +3,9 @@ import type { Ref } from 'vue' import { onBeforeUnmount, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' import { noop, once } from '~/utils' +import type { ComponentProps } from '~/Component' -export function useScrollLock(props: InstanceType<typeof VueFinalModal>['$props'], options: { +export function useScrollLock(props: ComponentProps<typeof VueFinalModal>, options: { lockScrollEl: Ref<undefined | HTMLElement> modelValueLocal: Ref<boolean> }) { diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts index 5533ffbf..03aadd24 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts @@ -1,10 +1,11 @@ import type { Ref } from 'vue' import { ref } from 'vue' import type VueFinalModal from './VueFinalModal.vue' +import type { ComponentEmit, ComponentProps } from '~/Component' export function useToClose( - props: InstanceType<typeof VueFinalModal>['$props'], - emit: InstanceType<typeof VueFinalModal>['$emit'], + props: ComponentProps<typeof VueFinalModal>, + emit: ComponentEmit<typeof VueFinalModal>, options: { vfmRootEl: Ref<HTMLDivElement | undefined> vfmContentEl: Ref<HTMLDivElement | undefined> diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts index 5ec21458..027a1d58 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts @@ -1,6 +1,7 @@ import type { ComputedRef, Ref, TransitionProps } from 'vue' import { computed, nextTick, ref, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' +import type { ComponentProps } from '~/Component' export enum TransitionState { Enter, @@ -31,7 +32,7 @@ function useTransitionState(_visible = false): [Ref<boolean>, Ref<undefined | Tr } export function useTransition( - props: InstanceType<typeof VueFinalModal>['$props'], + props: ComponentProps<typeof VueFinalModal>, options: { modelValueLocal: Ref<boolean> onEntering?: () => void diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts index 7e290c69..225f0c4c 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts @@ -1,11 +1,28 @@ -import { ref } from 'vue' +import type { ComputedRef, Ref } from 'vue' +import { computed, ref, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' +import type { ModalExposed } from '~/Modal' +import type { ComponentProps } from '~/Component' export function useZIndex( - props: InstanceType<typeof VueFinalModal>['$props'], + props: ComponentProps<typeof VueFinalModal>, + context: { + visible: Ref<boolean> + modalExposed: ComputedRef<ModalExposed> + openedModals: ComputedRef<ModalExposed>[] + }, ) { + const { visible, modalExposed, openedModals } = context const zIndex = ref<undefined | number>() + const index = computed(() => openedModals.indexOf(modalExposed)) + + watch([() => props.zIndexFn, index], () => { + if (!visible.value) + return + refreshZIndex(index.value) + }) + function refreshZIndex(index: number) { zIndex.value = props.zIndexFn?.({ index: index <= -1 ? 0 : index }) } @@ -16,7 +33,6 @@ export function useZIndex( return { zIndex, - refreshZIndex, resetZIndex, } } diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index d2171075..44f48650 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -8,7 +8,7 @@ export * from './Modal' export * from './Component' /** Plugin */ -export { createVfm, getModalExposed } from './plugin' +export { createVfm } from './plugin' /** Components */ export { diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index 73556be1..c1792751 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,4 +1,4 @@ -import type { App, ComponentInternalInstance, ComputedRef } from 'vue' +import type { App, ComputedRef } from 'vue' import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' import type { ModalExposed, ModalId, Vfm } from './Modal' @@ -33,9 +33,9 @@ export const getActiveVfm = () => (getCurrentInstance() && inject(vfmSymbol, defaultVfm)) || activeVfm export function createVfm() { - const modals: ComponentInternalInstance[] = shallowReactive([]) - const openedModals: ComponentInternalInstance[] = shallowReactive([]) - const openedModalOverlays: ComponentInternalInstance[] = shallowReactive([]) + const modals: ComputedRef<ModalExposed>[] = shallowReactive([]) + const openedModals: ComputedRef<ModalExposed>[] = shallowReactive([]) + const openedModalOverlays: ComputedRef<ModalExposed>[] = shallowReactive([]) const vfm: Vfm = markRaw({ install(app: App) { @@ -47,11 +47,11 @@ export function createVfm() { openedModalOverlays, vNodesContainer: useVNodesContainer(), get(modalId: ModalId) { - return modals.find(modal => getModalExposed(modal)?.value.modalId?.value === modalId) + return modals.find(modal => modal.value?.modalId?.value === modalId) }, toggle(modalId: ModalId, show?: boolean) { const modal = vfm.get(modalId) - return getModalExposed(modal)?.value.toggle(show) + return modal?.value?.toggle(show) }, open(modalId: ModalId) { return vfm.toggle(modalId, true) @@ -62,8 +62,7 @@ export function createVfm() { closeAll() { return Promise.allSettled(openedModals .reduce<Promise<string>[]>((acc, cur) => { - const modalExposed = getModalExposed(cur) - const promise = modalExposed?.value.toggle(false) + const promise = cur.value?.toggle(false) if (promise) acc.push(promise) return acc @@ -76,7 +75,3 @@ export function createVfm() { return vfm } - -export function getModalExposed(componentInternalInstance: undefined | null | ComponentInternalInstance): undefined | null | ComputedRef<ModalExposed> { - return componentInternalInstance?.exposed?.modalExposed -} diff --git a/packages/vue-final-modal/src/useSwipeToClose.ts b/packages/vue-final-modal/src/useSwipeToClose.ts index 74c4457f..42922435 100644 --- a/packages/vue-final-modal/src/useSwipeToClose.ts +++ b/packages/vue-final-modal/src/useSwipeToClose.ts @@ -4,9 +4,10 @@ import { computed, ref, watch } from 'vue' import type VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' import { useSwipeable } from './useSwipeable' import { clamp, noop } from './utils' +import type { ComponentProps } from './Component' export function useSwipeToClose( - props: InstanceType<typeof VueFinalModal>['$props'], + props: ComponentProps<typeof VueFinalModal>, options: { vfmContentEl: Ref<HTMLDivElement | undefined> modelValueLocal: Ref<boolean> From a79cd54d0915704acd2f9c8e1c3748f9d3074411 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Mon, 29 Jan 2024 20:50:59 +0800 Subject: [PATCH 20/37] refactor: code cleanup --- .../VueFinalModal/VueFinalModal.vue | 62 +++++++++---------- .../VueFinalModal/VueFinalModalProps.ts | 2 +- .../components/VueFinalModal/useTransition.ts | 34 ++++------ 3 files changed, 42 insertions(+), 56 deletions(-) diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 81e56e5f..031a84b4 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -53,40 +53,15 @@ const { disablePageScroll, enablePageScroll } = useScrollLock(props, { const { visible, - - contentVisible, - contentListeners, - contentTransition, - - overlayVisible, - overlayListeners, - overlayTransition, - - enterTransition, - leaveTransition, + contentVisible, contentListeners, contentTransition, + overlayVisible, overlayListeners, overlayTransition, + enterTransition, leaveTransition, } = useTransition(props, { modelValueLocal, - onEntering() { - nextTick(() => { - disablePageScroll() - focus() - }) - }, - onEnter() { - emit('opened') - // eslint-disable-next-line vue/custom-event-name-casing - emit('_opened') - resolveToggle('opened') - }, - onLeave() { - arrayRemoveItem(openedModals, modalExposed) - resetZIndex() - enablePageScroll() - emit('closed') - // eslint-disable-next-line vue/custom-event-name-casing - emit('_closed') - resolveToggle('closed') - }, + onEntering, + onEnter, + onLeave, + }) const { modalExposed, resolveToggle } = useInternalExposed(props, { modelValueLocal, overlayVisible }) @@ -109,6 +84,29 @@ onBeforeUnmount(() => { openLastOverlay() }) +function onEntering() { + nextTick(() => { + disablePageScroll() + focus() + }) +} + +function onEnter() { + emit('opened') + // eslint-disable-next-line vue/custom-event-name-casing + emit('_opened') + resolveToggle('opened') +} +function onLeave() { + arrayRemoveItem(openedModals, modalExposed) + resetZIndex() + enablePageScroll() + emit('closed') + // eslint-disable-next-line vue/custom-event-name-casing + emit('_closed') + resolveToggle('closed') +} + function open(): boolean { let shouldStop = false emit('beforeOpen', { stop: () => shouldStop = true }) diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts index b74e890a..dc6b3bbc 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts @@ -6,7 +6,7 @@ import type { ModalId, StyleValue } from '~/Modal' * @see [Microsoft/TypeScript#29729](https://github.com/Microsoft/TypeScript/issues/29729) */ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>) -type VfmTransition = LiteralUnion<'vfm-fade' | 'vfm-slide-down' | 'vfm-slide-up' | 'vfm-slide-right' | 'vfm-slide-left'> +export type VfmTransition = LiteralUnion<'vfm-fade' | 'vfm-slide-down' | 'vfm-slide-up' | 'vfm-slide-right' | 'vfm-slide-left'> export const vueFinalModalProps = { /** diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts index 027a1d58..6e850151 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts @@ -1,6 +1,7 @@ -import type { ComputedRef, Ref, TransitionProps } from 'vue' +import type { Ref, TransitionProps } from 'vue' import { computed, nextTick, ref, watch } from 'vue' import type VueFinalModal from './VueFinalModal.vue' +import type { VfmTransition } from './VueFinalModalProps' import type { ComponentProps } from '~/Component' export enum TransitionState { @@ -40,34 +41,15 @@ export function useTransition( onLeaving?: () => void onLeave?: () => void }, -): { - visible: Ref<boolean> - contentVisible: Ref<boolean> - contentListeners: TransitionListeners - contentTransition: ComputedRef<TransitionProps> - overlayVisible: Ref<boolean> - overlayListeners: TransitionListeners - overlayTransition: ComputedRef<TransitionProps> - enterTransition: () => void - leaveTransition: () => void - } { +) { const { modelValueLocal, onEntering, onEnter, onLeaving, onLeave } = options const visible = ref(modelValueLocal.value) const [contentVisible, contentState, contentListeners] = useTransitionState(visible.value) const [overlayVisible, overlayState, overlayListeners] = useTransitionState(visible.value) - const contentTransition = computed<TransitionProps>(() => { - if (typeof props.contentTransition === 'string') - return { name: props.contentTransition, appear: true } - return { appear: true, ...props.contentTransition } - }) - - const overlayTransition = computed<TransitionProps>(() => { - if (typeof props.overlayTransition === 'string') - return { name: props.overlayTransition, appear: true } - return { appear: true, ...props.overlayTransition } - }) + const contentTransition = computed<TransitionProps>(() => mergeTransition(props.contentTransition)) + const overlayTransition = computed<TransitionProps>(() => mergeTransition(props.overlayTransition)) const isReadyToBeDestroyed = computed(() => (props.hideOverlay || overlayState.value === TransitionState.Leave) @@ -127,3 +109,9 @@ export function useTransition( leaveTransition, } } + +function mergeTransition(transition?: VfmTransition | TransitionProps) { + if (typeof transition === 'string') + return { name: transition, appear: true } + return { appear: true, ...transition } +} From ee11efe7700bf1246cdaa37868191c41d3a7a998 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 00:04:45 +0800 Subject: [PATCH 21/37] refactor: rename useC2v to useVNode --- docs/content/2.get-started/1.guide/4.types.md | 8 +-- .../3.api/2.composables/1.use-modal.md | 6 +- packages/vue-final-modal/src/Modal.ts | 6 +- .../src/components/DynamicModal.ts | 44 +++++------- packages/vue-final-modal/src/index.ts | 2 +- packages/vue-final-modal/src/useC2v.ts | 53 -------------- packages/vue-final-modal/src/useModal.ts | 26 ++++--- packages/vue-final-modal/src/useVNode.ts | 69 +++++++++++++++++++ packages/vue-final-modal/src/useVfm.ts | 11 --- .../VueFinalModal/Basic.example.vue | 20 +++--- .../VueFinalModal/BottomSheet.example.vue | 4 +- .../VueFinalModal/Fullscreen.example.vue | 4 +- .../VueFinalModal/StopEvent.example.vue | 4 +- .../components/VueFinalModal/modalsHelpers.ts | 4 +- 14 files changed, 128 insertions(+), 133 deletions(-) delete mode 100644 packages/vue-final-modal/src/useC2v.ts create mode 100644 packages/vue-final-modal/src/useVNode.ts diff --git a/docs/content/2.get-started/1.guide/4.types.md b/docs/content/2.get-started/1.guide/4.types.md index 8dd2a31a..a8922574 100644 --- a/docs/content/2.get-started/1.guide/4.types.md +++ b/docs/content/2.get-started/1.guide/4.types.md @@ -8,14 +8,14 @@ The exported types in VueFinalModal. export type ModalId = number | string | symbol ``` -## C2VOptions +## CreateVNodeOptions ```ts -export type C2VOptions<T extends Component> = { +export type CreateVNodeOptions<T extends Component> = { component: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> } } ``` @@ -29,7 +29,7 @@ export type UseModalOptions<T extends Component> = { component?: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> } } ``` diff --git a/docs/content/3.api/2.composables/1.use-modal.md b/docs/content/3.api/2.composables/1.use-modal.md index f560dccd..54f5cf1d 100644 --- a/docs/content/3.api/2.composables/1.use-modal.md +++ b/docs/content/3.api/2.composables/1.use-modal.md @@ -115,7 +115,7 @@ const modalInstance = useModal({ #### with `Component`, `Props` and `Events` ```ts -import { VueFinalModal, useModal, c2v } from 'vue-final-modal' +import { VueFinalModal, useModal, h } from 'vue-final-modal' // ModalContent is the component you want to put into the modal content import ModalContent from './ModalContent.vue' @@ -123,7 +123,7 @@ const modalInstance = useModal({ component: VueFinalModal, attrs: { ... }, slots: { - default: c2v({ + default: h({ component: ModalContent, attrs: { // Bind ModalContent props @@ -137,7 +137,7 @@ const modalInstance = useModal({ ``` ::alert{type=info} -`c2v()` is a function that provides better DX for type checking. It just returns the same object you passed in. +`h()` is a function that provides better DX for type checking. It just returns the same object you passed in. :: ## Type Declarations diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 27881e0d..1eabf763 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -5,11 +5,11 @@ import type { VNodesContainer } from './useVNodesContainer' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] -export type C2VOptions<T extends Component> = { +export type CreateVNodeOptions<T extends Component> = { component: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> } } @@ -19,7 +19,7 @@ export type UseModalOptions<T extends Component> = { component?: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> } } diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/DynamicModal.ts index 6d864177..7626d2ce 100644 --- a/packages/vue-final-modal/src/components/DynamicModal.ts +++ b/packages/vue-final-modal/src/components/DynamicModal.ts @@ -1,8 +1,7 @@ import type { Component, PropType } from 'vue' import { defineComponent, h } from 'vue' -import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate } from '..' -import { isString, objectEntries } from '~/utils' -import { getSlots, isC2VOptions } from '~/useC2v' +import type { UseModalOptions, UseModalOptionsPrivate } from '..' +import { getSlots } from '~/useVNode' export const DynamicModal = defineComponent({ name: 'DynamicModal', @@ -16,31 +15,24 @@ export const DynamicModal = defineComponent({ function renderDynamicModal(modal: (UseModalOptions<Component> & UseModalOptionsPrivate)) { if (!modal.component) return null - const slots = objectEntries(modal.slots || {}).reduce((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | C2VOptions<Component> - if (isString(slot)) - acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isC2VOptions(slot)) - acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => h(slot) - return acc - }, {} as any) - return h(modal.component, { - 'modelValue': modal.modelValue, - 'displayDirective': modal?.keepAlive ? 'show' : undefined, - ...(typeof modal.attrs === 'object' ? modal.attrs : {}), - 'onUpdate:modelValue': (value: boolean) => { - modal.modelValue = value - const onUpdateModelValue = modal.attrs?.['onUpdate:modelValue'] - if (onUpdateModelValue) - onUpdateModelValue(value) + return h( + modal.component, + { + 'modelValue': modal.modelValue, + 'displayDirective': modal?.keepAlive ? 'show' : undefined, + ...(typeof modal.attrs === 'object' ? modal.attrs : {}), + 'onUpdate:modelValue': (value: boolean) => { + modal.modelValue = value + const onUpdateModelValue = modal.attrs?.['onUpdate:modelValue'] + if (onUpdateModelValue) + onUpdateModelValue(value) + }, + 'on_closed': () => modal?.resolveClosed?.(), + 'on_opened': () => modal?.resolveOpened?.(), }, - 'on_closed': () => modal?.resolveClosed?.(), - 'on_opened': () => modal?.resolveOpened?.(), - }, slots) + getSlots(modal.slots || {}), + ) } return () => renderDynamicModal(props.modal) diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 44f48650..f478438e 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -21,7 +21,7 @@ export { vueFinalModalProps } from './components/VueFinalModal/VueFinalModalProp export type { VueFinalModalEmits } from './components/VueFinalModal/VueFinalModal.vue' /** Composables */ -export { useC2v, c2v } from './useC2v' +export { createVNode, useVNode, h } from './useVNode' export { useVfm } from './useVfm' export { useModal } from './useModal' export { useVfmAttrs } from './useVfmAttrs' diff --git a/packages/vue-final-modal/src/useC2v.ts b/packages/vue-final-modal/src/useC2v.ts deleted file mode 100644 index e4fe0311..00000000 --- a/packages/vue-final-modal/src/useC2v.ts +++ /dev/null @@ -1,53 +0,0 @@ -import type { Component, VNode } from 'vue' -import { h } from 'vue' -import { tryOnUnmounted } from '@vueuse/core' -import type { C2VOptions } from './Modal' -import { pushVNode, removeVNode } from './useVfm' -import type { ComponentSlots } from './Component' -import { isString, objectEntries } from './utils' - -/** - * Create a dynamic vNode. - */ -export function useC2v<T extends Component>(_options: C2VOptions<T>) { - const id = Symbol(__DEV__ ? 'useC2v' : '') - - const vNode = h(_options.component, { key: id, ..._options.attrs }, _options.slots) - - tryOnUnmounted(() => { - removeVNode(vNode) - }) - - return { - open: () => pushVNode(vNode), - close: () => removeVNode(vNode), - } -} - -/** Convert Component Options to VNode */ -export function c2v<T extends Component>(options: C2VOptions<T>) { - return options -} - -export function isC2VOptions<T extends Component>(value: unknown): value is C2VOptions<T> { - if (typeof value === 'object' && value !== null) - return 'component' in value - else - return false -} - -export function getSlots<T extends Component>(slots: { - [K in keyof ComponentSlots<T>]?: string | Component | C2VOptions<Component> -}) { - return objectEntries(slots || {}).reduce((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | C2VOptions<any> - if (isString(slot)) - acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isC2VOptions(slot)) - acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => h(slot) - return acc - }, {} as Record<string, () => VNode>) -} diff --git a/packages/vue-final-modal/src/useModal.ts b/packages/vue-final-modal/src/useModal.ts index 4fe4b88b..b7f707b3 100644 --- a/packages/vue-final-modal/src/useModal.ts +++ b/packages/vue-final-modal/src/useModal.ts @@ -1,11 +1,9 @@ import type { Component } from 'vue' import { h, markRaw, reactive } from 'vue' -import { tryOnUnmounted } from '@vueuse/core' import { isString, objectEntries } from './utils' import { DynamicModal } from './components/DynamicModal' -import { isC2VOptions } from './useC2v' -import { pushVNode, removeVNode } from './useVfm' -import type { C2VOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType } from '.' +import { isVNodeOptions, useVNode } from './useVNode' +import type { CreateVNodeOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType } from '.' import { VueFinalModal } from '.' /** @@ -25,12 +23,12 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U const vNode = h(DynamicModal, { modal: options, key: id }) - tryOnUnmounted(() => { - tryRemoveVNode() + const { show, hide } = useVNode(vNode, { + tryOnUnmounted: () => tryRemoveVNode(), }) if (options.modelValue === true) - pushVNode(vNode) + show() function open(): Promise<string> { if (options.modelValue) @@ -38,7 +36,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U tryRemoveVNode() options.modelValue = true - pushVNode(vNode) + show() return new Promise((resolve) => { options.resolveOpened = () => resolve('opened') @@ -61,7 +59,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U function tryRemoveVNode() { if (options.keepAlive) return - removeVNode(vNode) + hide() } function patchOptions(_options: Partial<UseModalOptions<T>>) { @@ -81,7 +79,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U const originSlot = options.slots![name] if (isString(originSlot)) options.slots![name] = slot - else if (isC2VOptions(originSlot) && isC2VOptions(slot)) + else if (isVNodeOptions(originSlot) && isVNodeOptions(slot)) patchComponentOptions(originSlot, slot) else options.slots![name] = slot @@ -94,7 +92,7 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U open, close, patchOptions, - destroy: () => removeVNode(vNode), + destroy: () => hide(), } } @@ -107,7 +105,7 @@ function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, if (isString(maybeComponent)) return [name, maybeComponent] as const - if (isC2VOptions(maybeComponent)) { + if (isVNodeOptions(maybeComponent)) { return [name, { ...maybeComponent, component: markRaw(maybeComponent.component), @@ -125,8 +123,8 @@ function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, } function patchComponentOptions<T extends Component>( - options: UseModalOptions<T> | C2VOptions<Component>, - newOptions: Partial<UseModalOptions<T>> | C2VOptions<Component>, + options: UseModalOptions<T> | CreateVNodeOptions<Component>, + newOptions: Partial<UseModalOptions<T>> | CreateVNodeOptions<Component>, ) { if (newOptions.component) options.component = newOptions.component diff --git a/packages/vue-final-modal/src/useVNode.ts b/packages/vue-final-modal/src/useVNode.ts new file mode 100644 index 00000000..1ecb0be3 --- /dev/null +++ b/packages/vue-final-modal/src/useVNode.ts @@ -0,0 +1,69 @@ +import type { Component, VNode } from 'vue' +import { h as _h, isVNode } from 'vue' +import { tryOnUnmounted } from '@vueuse/core' +import type { CreateVNodeOptions } from './Modal' +import { useSsrVfm, useVfm } from './useVfm' +import type { ComponentSlots } from './Component' +import { isString, objectEntries } from './utils' + +/** + * Create a dynamic vNode. + */ +export function createVNode<T extends Component>(options: CreateVNodeOptions<T>) { + const id = Symbol(__DEV__ ? 'createVNode' : '') + const vNode = _h(options.component, { key: id, ...options.attrs }, options.slots) + return vNode +} + +/** + * Create a dynamic vNode. + */ +export function h<T extends Component>(options: CreateVNodeOptions<T>) { + return options +} + +async function pushVNode(vNode: VNode) { + const vfm = await useSsrVfm() + vfm.vNodesContainer.push(vNode) +} + +async function removeVNode(vNode: VNode) { + const vfm = useVfm() + vfm.vNodesContainer.remove(vNode) +} + +export function useVNode(vNode: VNode, options?: { + tryOnUnmounted?: (vNode: VNode) => void +}) { + tryOnUnmounted(() => options?.tryOnUnmounted?.(vNode)) + return { + show: () => pushVNode(vNode), + hide: () => removeVNode(vNode), + } +} + +export function isVNodeOptions<T extends Component>(value: unknown): value is CreateVNodeOptions<T> { + if (typeof value === 'object' && value !== null) + return 'component' in value + else + return false +} + +export function getSlots<T extends Component>(slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> +}) { + return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | CreateVNodeOptions<Component> + if (isString(slot)) + acc[slotName] = () => _h('div', { innerHTML: slot }) + else if (isVNodeOptions(slot)) + acc[slotName] = () => _h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) + else if (isVNode(slot)) + // acc[slotName] = () => slot + return acc + else + acc[slotName] = () => _h(slot) + return acc + }, {}) +} diff --git a/packages/vue-final-modal/src/useVfm.ts b/packages/vue-final-modal/src/useVfm.ts index 355cae00..09e0b69b 100644 --- a/packages/vue-final-modal/src/useVfm.ts +++ b/packages/vue-final-modal/src/useVfm.ts @@ -1,4 +1,3 @@ -import type { VNode } from 'vue' import { nextTick } from 'vue' import type { Vfm } from './Modal' import { activeVfm, getActiveVfm } from './plugin' @@ -31,13 +30,3 @@ export async function useSsrVfm(): Promise<Vfm> { return useVfm() } } - -export async function pushVNode(vNode: VNode) { - const vfm = await useSsrVfm() - vfm.vNodesContainer.push(vNode) -} - -export function removeVNode(vNode: VNode): void { - const vfm = useVfm() - vfm.vNodesContainer.remove(vNode) -} diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/VueFinalModal/Basic.example.vue index 25bd8d0d..6241ea30 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/VueFinalModal/Basic.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, c2v, useC2v, useModal, useVfm } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, h, useModal, useVNode, useVfm } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -28,19 +28,19 @@ const modal1 = useModal({ onBeforeOpen() { console.log('onBeforeOpen') }, }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: '123', }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: '456', }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: '789', @@ -80,19 +80,19 @@ function clickOutside() { // show.value = true // }) -const { open } = useC2v({ +const { show: _show } = useVNode(h({ component: DefaultSlot, attrs: { - text: 'c2v', + text: 'h', }, // slots: { - // default: c2v({ + // default: h({ // component: DefaultSlot, // attrs: { // text: '456', // }, // slots: { - // default: c2v({ + // default: h({ // component: DefaultSlot, // attrs: { // text: '789', @@ -101,9 +101,9 @@ const { open } = useC2v({ // }, // }), // }, -}) +})) -open() +_show() </script> <template> diff --git a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue b/viteplay/src/components/VueFinalModal/BottomSheet.example.vue index a4e1a9fa..544e6f3c 100644 --- a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue +++ b/viteplay/src/components/VueFinalModal/BottomSheet.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, useModal, c2v } from 'vue-final-modal' +import { ModalsContainer, h, useModal } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' const bottomSheet = useModal({ @@ -19,7 +19,7 @@ const bottomSheet = useModal({ contentTransition: { name: 'vfm-slide-down' }, }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: 'a bottom sheet modal', diff --git a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue b/viteplay/src/components/VueFinalModal/Fullscreen.example.vue index 6e63809d..c2a008e9 100644 --- a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue +++ b/viteplay/src/components/VueFinalModal/Fullscreen.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, useModal, c2v } from 'vue-final-modal' +import { ModalsContainer, h, useModal } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' const modal = useModal({ @@ -13,7 +13,7 @@ const modal = useModal({ }, }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: 'a full screen modal', diff --git a/viteplay/src/components/VueFinalModal/StopEvent.example.vue b/viteplay/src/components/VueFinalModal/StopEvent.example.vue index ce9d7bbe..6fbed481 100644 --- a/viteplay/src/components/VueFinalModal/StopEvent.example.vue +++ b/viteplay/src/components/VueFinalModal/StopEvent.example.vue @@ -1,5 +1,5 @@ <script setup lang="ts"> -import { ModalsContainer, VueFinalModal, useModal, c2v } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, h, useModal } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' let count = 0 @@ -32,7 +32,7 @@ const modal = useModal({ }, }, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: 'This is an example of a modal with a default slot', diff --git a/viteplay/src/components/VueFinalModal/modalsHelpers.ts b/viteplay/src/components/VueFinalModal/modalsHelpers.ts index 819a7dac..6f6777ce 100644 --- a/viteplay/src/components/VueFinalModal/modalsHelpers.ts +++ b/viteplay/src/components/VueFinalModal/modalsHelpers.ts @@ -1,4 +1,4 @@ -import { VueFinalModal, useModal, c2v } from 'vue-final-modal' +import { VueFinalModal, h, useModal } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' console.log('helper') @@ -6,7 +6,7 @@ export const modal = useModal({ component: VueFinalModal, // defaultModelValue: true, slots: { - default: c2v({ + default: h({ component: DefaultSlot, attrs: { text: '123', From 449764bfa1cad981c2a0772eab6c736e90e2ef28 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 00:12:10 +0800 Subject: [PATCH 22/37] chore: fix recursive createVNode --- packages/vue-final-modal/src/useVNode.ts | 2 +- .../src/components/VueFinalModal/Basic.example.vue | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/vue-final-modal/src/useVNode.ts b/packages/vue-final-modal/src/useVNode.ts index 1ecb0be3..aba1d6c3 100644 --- a/packages/vue-final-modal/src/useVNode.ts +++ b/packages/vue-final-modal/src/useVNode.ts @@ -11,7 +11,7 @@ import { isString, objectEntries } from './utils' */ export function createVNode<T extends Component>(options: CreateVNodeOptions<T>) { const id = Symbol(__DEV__ ? 'createVNode' : '') - const vNode = _h(options.component, { key: id, ...options.attrs }, options.slots) + const vNode = _h(options.component, { key: id, ...options.attrs }, getSlots(options.slots)) return vNode } diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/VueFinalModal/Basic.example.vue index 6241ea30..a83da37d 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/VueFinalModal/Basic.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, h, useModal, useVNode, useVfm } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, createVNode, h, useModal, useVNode, useVfm } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -80,10 +80,18 @@ function clickOutside() { // show.value = true // }) -const { show: _show } = useVNode(h({ +const { show: _show } = useVNode(createVNode({ component: DefaultSlot, attrs: { - text: 'h', + text: 'createVNode', + }, + slots: { + default: h({ + component: DefaultSlot, + attrs: { + text: '123456', + }, + }), }, // slots: { // default: h({ From 5081259455867b83074c4a911c7b5c289b9596c3 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 01:42:29 +0800 Subject: [PATCH 23/37] refactor: refine useModal, useVNode, rename DynamicModal to UseModal --- .../{DynamicModal.ts => UseModal.ts} | 19 ++++--- packages/vue-final-modal/src/useModal.ts | 13 ++--- packages/vue-final-modal/src/useVNode.ts | 54 ++++++++++--------- .../VueFinalModal/Basic.example.vue | 6 +-- 4 files changed, 49 insertions(+), 43 deletions(-) rename packages/vue-final-modal/src/components/{DynamicModal.ts => UseModal.ts} (80%) diff --git a/packages/vue-final-modal/src/components/DynamicModal.ts b/packages/vue-final-modal/src/components/UseModal.ts similarity index 80% rename from packages/vue-final-modal/src/components/DynamicModal.ts rename to packages/vue-final-modal/src/components/UseModal.ts index 7626d2ce..73bc7d59 100644 --- a/packages/vue-final-modal/src/components/DynamicModal.ts +++ b/packages/vue-final-modal/src/components/UseModal.ts @@ -1,10 +1,10 @@ import type { Component, PropType } from 'vue' -import { defineComponent, h } from 'vue' +import { defineComponent } from 'vue' import type { UseModalOptions, UseModalOptionsPrivate } from '..' -import { getSlots } from '~/useVNode' +import { createVNode } from '~/useVNode' -export const DynamicModal = defineComponent({ - name: 'DynamicModal', +export const UseModal = defineComponent({ + name: 'UseModal', props: { modal: { type: Object as PropType<UseModalOptions<Component> & UseModalOptionsPrivate>, @@ -15,10 +15,9 @@ export const DynamicModal = defineComponent({ function renderDynamicModal(modal: (UseModalOptions<Component> & UseModalOptionsPrivate)) { if (!modal.component) return null - - return h( - modal.component, - { + return createVNode({ + component: modal.component, + attrs: { 'modelValue': modal.modelValue, 'displayDirective': modal?.keepAlive ? 'show' : undefined, ...(typeof modal.attrs === 'object' ? modal.attrs : {}), @@ -31,8 +30,8 @@ export const DynamicModal = defineComponent({ 'on_closed': () => modal?.resolveClosed?.(), 'on_opened': () => modal?.resolveOpened?.(), }, - getSlots(modal.slots || {}), - ) + slots: modal.slots, + }) } return () => renderDynamicModal(props.modal) diff --git a/packages/vue-final-modal/src/useModal.ts b/packages/vue-final-modal/src/useModal.ts index b7f707b3..0e48e150 100644 --- a/packages/vue-final-modal/src/useModal.ts +++ b/packages/vue-final-modal/src/useModal.ts @@ -1,7 +1,7 @@ import type { Component } from 'vue' -import { h, markRaw, reactive } from 'vue' +import { markRaw, reactive } from 'vue' import { isString, objectEntries } from './utils' -import { DynamicModal } from './components/DynamicModal' +import { UseModal } from './components/UseModal' import { isVNodeOptions, useVNode } from './useVNode' import type { CreateVNodeOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType } from '.' import { VueFinalModal } from '.' @@ -21,10 +21,11 @@ export function useModal<T extends Component = typeof VueFinalModal>(_options: U ...withMarkRaw<T>(_options), }) as UseModalOptions<T> & UseModalOptionsPrivate - const vNode = h(DynamicModal, { modal: options, key: id }) - - const { show, hide } = useVNode(vNode, { - tryOnUnmounted: () => tryRemoveVNode(), + const { show, hide } = useVNode({ + component: UseModal, + attrs: { modal: options, key: id }, + }, { + onUnmounted: () => tryRemoveVNode(), }) if (options.modelValue === true) diff --git a/packages/vue-final-modal/src/useVNode.ts b/packages/vue-final-modal/src/useVNode.ts index aba1d6c3..facbff01 100644 --- a/packages/vue-final-modal/src/useVNode.ts +++ b/packages/vue-final-modal/src/useVNode.ts @@ -1,5 +1,5 @@ import type { Component, VNode } from 'vue' -import { h as _h, isVNode } from 'vue' +import { h as _h } from 'vue' import { tryOnUnmounted } from '@vueuse/core' import type { CreateVNodeOptions } from './Modal' import { useSsrVfm, useVfm } from './useVfm' @@ -7,38 +7,47 @@ import type { ComponentSlots } from './Component' import { isString, objectEntries } from './utils' /** - * Create a dynamic vNode. + * Create a vNode by passing `CreateVNodeOptions<T>` options. */ export function createVNode<T extends Component>(options: CreateVNodeOptions<T>) { - const id = Symbol(__DEV__ ? 'createVNode' : '') - const vNode = _h(options.component, { key: id, ...options.attrs }, getSlots(options.slots)) - return vNode + return _h(options.component, options.attrs, getSlots(options.slots)) } /** - * Create a dynamic vNode. + * A type helper for `CreateVNodeOptions<T>` */ export function h<T extends Component>(options: CreateVNodeOptions<T>) { return options } -async function pushVNode(vNode: VNode) { - const vfm = await useSsrVfm() - vfm.vNodesContainer.push(vNode) -} +export function useVNode<T extends Component>(vNodeOptions: CreateVNodeOptions<T>, options?: { + onUnmounted?: (vNode: VNode) => void +}) { + if (vNodeOptions.attrs) { + const id = Symbol(__DEV__ ? 'createVNode' : '') + Object.assign(vNodeOptions.attrs, { key: id }) + } + const vNode = createVNode(vNodeOptions) + tryOnUnmounted(() => { + if (options?.onUnmounted) + options?.onUnmounted(vNode) + else + hide() + }) -async function removeVNode(vNode: VNode) { - const vfm = useVfm() - vfm.vNodesContainer.remove(vNode) -} + async function show() { + const vfm = await useSsrVfm() + vfm.vNodesContainer.push(vNode) + } + + async function hide() { + const vfm = useVfm() + vfm.vNodesContainer.remove(vNode) + } -export function useVNode(vNode: VNode, options?: { - tryOnUnmounted?: (vNode: VNode) => void -}) { - tryOnUnmounted(() => options?.tryOnUnmounted?.(vNode)) return { - show: () => pushVNode(vNode), - hide: () => removeVNode(vNode), + show, + hide, } } @@ -49,7 +58,7 @@ export function isVNodeOptions<T extends Component>(value: unknown): value is Cr return false } -export function getSlots<T extends Component>(slots?: { +function getSlots<T extends Component>(slots?: { [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> }) { return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { @@ -59,9 +68,6 @@ export function getSlots<T extends Component>(slots?: { acc[slotName] = () => _h('div', { innerHTML: slot }) else if (isVNodeOptions(slot)) acc[slotName] = () => _h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else if (isVNode(slot)) - // acc[slotName] = () => slot - return acc else acc[slotName] = () => _h(slot) return acc diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/VueFinalModal/Basic.example.vue index a83da37d..9b09a641 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/VueFinalModal/Basic.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, createVNode, h, useModal, useVNode, useVfm } from 'vue-final-modal' +import { ModalsContainer, VueFinalModal, h, useModal, useVNode, useVfm } from 'vue-final-modal' import DefaultSlot from '../DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -80,7 +80,7 @@ function clickOutside() { // show.value = true // }) -const { show: _show } = useVNode(createVNode({ +const { show: _show } = useVNode({ component: DefaultSlot, attrs: { text: 'createVNode', @@ -109,7 +109,7 @@ const { show: _show } = useVNode(createVNode({ // }, // }), // }, -})) +}) _show() </script> From 7444b8af8d45cbb60489b217316b47557304a6fa Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 01:50:46 +0800 Subject: [PATCH 24/37] chore: refine type --- .../src/components/VueFinalModal/useTransition.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts index 6e850151..51959038 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts @@ -48,8 +48,8 @@ export function useTransition( const [contentVisible, contentState, contentListeners] = useTransitionState(visible.value) const [overlayVisible, overlayState, overlayListeners] = useTransitionState(visible.value) - const contentTransition = computed<TransitionProps>(() => mergeTransition(props.contentTransition)) - const overlayTransition = computed<TransitionProps>(() => mergeTransition(props.overlayTransition)) + const contentTransition = computed(() => mergeTransition(props.contentTransition)) + const overlayTransition = computed(() => mergeTransition(props.overlayTransition)) const isReadyToBeDestroyed = computed(() => (props.hideOverlay || overlayState.value === TransitionState.Leave) @@ -110,7 +110,7 @@ export function useTransition( } } -function mergeTransition(transition?: VfmTransition | TransitionProps) { +function mergeTransition(transition?: VfmTransition | TransitionProps): TransitionProps { if (typeof transition === 'string') return { name: transition, appear: true } return { appear: true, ...transition } From 7b2fe8a636ad5fd9a1b67ffd45af62d4234bd89b Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 09:40:01 +0800 Subject: [PATCH 25/37] chore: move type VNodesContainer to Modal.ts --- packages/vue-final-modal/src/Modal.ts | 10 ++++++++-- .../vue-final-modal/src/components/ModalsContainer.ts | 2 +- packages/vue-final-modal/src/useVNodesContainer.ts | 10 ++-------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/Modal.ts index 1eabf763..a1c28d7e 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/Modal.ts @@ -1,6 +1,5 @@ -import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' +import type { App, CSSProperties, Component, ComputedRef, Ref, VNode } from 'vue' import type { ComponentProps, ComponentSlots } from './Component' -import type { VNodesContainer } from './useVNodesContainer' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] @@ -58,3 +57,10 @@ export type ModalExposed = { overlayVisible: Ref<boolean> toggle: (show?: boolean) => Promise<string> } + +export type VNodesContainer = { + vNodes: VNode[] + containers: Ref<symbol[]> + push: (vNode: VNode) => void + remove: (vNode: VNode) => void +} diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 31402dee..2d73ef0b 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -6,7 +6,7 @@ export const ModalsContainer = defineComponent({ setup() { const { vNodesContainer } = useVfm() - const uid = Symbol(__DEV__ ? 'ModalsContainer' : '') + const uid = Symbol(__DEV__ ? 'VNodesContainer' : '') const shouldMount = computed(() => uid === vNodesContainer.containers.value?.[0]) vNodesContainer.containers.value.push(uid) diff --git a/packages/vue-final-modal/src/useVNodesContainer.ts b/packages/vue-final-modal/src/useVNodesContainer.ts index adc1a505..c8852eac 100644 --- a/packages/vue-final-modal/src/useVNodesContainer.ts +++ b/packages/vue-final-modal/src/useVNodesContainer.ts @@ -1,12 +1,6 @@ -import type { Ref, VNode } from 'vue' +import type { VNode } from 'vue' import { ref, shallowReactive } from 'vue' - -export type VNodesContainer = { - vNodes: VNode[] - containers: Ref<symbol[]> - push: (vNode: VNode) => void - remove: (vNode: VNode) => void -} +import type { VNodesContainer } from './Modal' export function useVNodesContainer(): VNodesContainer { const vNodes: VNode[] = shallowReactive([]) From a6b09fd5002356c70804572e7ea6c73b47ed1467 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 09:43:36 +0800 Subject: [PATCH 26/37] Release 5.0.0-beta.3 --- packages/vue-final-modal/CHANGELOG.md | 7 ++----- packages/vue-final-modal/package.json | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index d596744b..4de6f864 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,14 +1,11 @@ +# [5.0.0-beta.3](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.2...v5.0.0-beta.3) (2024-01-30) + # [5.0.0-beta.2](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.1...v5.0.0-beta.2) (2024-01-11) # [5.0.0-beta.1](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2024-01-11) - -### Bug Fixes - -* add @vue/composition-api to peerDependenciesMeta optional ([3241acd](https://github.com/vue-final/vue-final-modal/commit/3241acddd1eadf2b94cc5d97f22ac636c608407f)) - # [5.0.0-beta.0](https://github.com/vue-final/vue-final-modal/compare/v4.5.3...v5.0.0-beta.0) (2024-01-11) ### Features diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 64443d69..d93d82f9 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "5.0.0-beta.2", + "version": "5.0.0-beta.3", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From 9d355ed9f9a631ac2930581f7838c9f052bca87e Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 09:46:23 +0800 Subject: [PATCH 27/37] chore: bump --- docs/package.json | 2 +- pnpm-lock.yaml | 4 ++-- viteplay/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/package.json b/docs/package.json index f2f1e19f..4eb90823 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:5.0.0-beta.2", + "vue-final-modal": "workspace:5.0.0-beta.3", "vue3-drag-resize": "^2.0.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16fd43be..8d1c27c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:5.0.0-beta.2 + specifier: workspace:5.0.0-beta.3 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -130,7 +130,7 @@ importers: specifier: 3.3.7 version: 3.3.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:5.0.0-beta.2 + specifier: workspace:5.0.0-beta.3 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 diff --git a/viteplay/package.json b/viteplay/package.json index 51e6d46d..cbd5ba55 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "vue": "3.3.7", - "vue-final-modal": "workspace:5.0.0-beta.2", + "vue-final-modal": "workspace:5.0.0-beta.3", "vue-router": "^4.2.5" }, "devDependencies": { From 73d96f2c62f7c31115de80c4bba5aef1b16240d5 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 12:12:07 +0800 Subject: [PATCH 28/37] temp: remove scroll-lock, add body-scroll-lock back --- packages/vue-final-modal/package.json | 3 - .../VueFinalModal/VueFinalModal.vue | 10 +- .../VueFinalModal/useBodyScrollLock.ts | 282 ++++++++++++++++++ .../components/VueFinalModal/useScrollLock.ts | 52 ---- packages/vue-final-modal/vite.config.ts | 2 - pnpm-lock.yaml | 14 - 6 files changed, 287 insertions(+), 76 deletions(-) create mode 100644 packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts delete mode 100644 packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index d93d82f9..988290cb 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -32,13 +32,11 @@ "devDependencies": { "@cypress/vue": "^5.0.5", "@release-it/conventional-changelog": "^5.1.1", - "@types/scroll-lock": "^2.1.3", "@vueuse/core": "^10.7.1", "@vueuse/integrations": "^10.7.1", "cypress": "^13.6.0", "focus-trap": "^7.5.4", "release-it": "^16.1.3", - "scroll-lock": "^2.1.5", "vite-plugin-dts": "^3.6.3", "vue": "3.3.7" }, @@ -46,7 +44,6 @@ "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", - "scroll-lock": ">=2.1.5", "vue": ">=3.0.0" }, "homepage": "https://vue-final-modal.org/", diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue index 031a84b4..d1fe29b9 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue @@ -5,7 +5,7 @@ import { useTransition } from './useTransition' import { useToClose } from './useToClose' import { useModelValue } from './useModelValue' import { useFocusTrap } from './useFocusTrap' -import { useScrollLock } from './useScrollLock' +import { useLockScroll } from './useBodyScrollLock' import { useZIndex } from './useZIndex' import { vVisible } from './vVisible' import { useInternalExposed } from './useInternalExposed' @@ -46,7 +46,7 @@ const vfmContentEl = ref<HTMLDivElement>() const { focus, blur } = useFocusTrap(props, { focusEl: vfmRootEl }) const { modelValueLocal } = useModelValue(props, emit, { open, close }) -const { disablePageScroll, enablePageScroll } = useScrollLock(props, { +const { disableBodyScroll, enableBodyScroll } = useLockScroll(props, { lockScrollEl: vfmRootEl, modelValueLocal, }) @@ -77,7 +77,7 @@ onMounted(() => { }) onBeforeUnmount(() => { - enablePageScroll() + enableBodyScroll() arrayRemoveItem(modals, modalExposed) arrayRemoveItem(openedModals, modalExposed) blur() @@ -86,7 +86,7 @@ onBeforeUnmount(() => { function onEntering() { nextTick(() => { - disablePageScroll() + disableBodyScroll() focus() }) } @@ -100,7 +100,7 @@ function onEnter() { function onLeave() { arrayRemoveItem(openedModals, modalExposed) resetZIndex() - enablePageScroll() + enableBodyScroll() emit('closed') // eslint-disable-next-line vue/custom-event-name-casing emit('_closed') diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts new file mode 100644 index 00000000..dd710360 --- /dev/null +++ b/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts @@ -0,0 +1,282 @@ +import type { Ref } from 'vue' +import { onBeforeUnmount, watch } from 'vue' +import type VueFinalModal from './VueFinalModal.vue' + +type BodyScrollOptions = { + reserveScrollBarGap?: boolean + allowTouchMove?: (el?: null | HTMLElement) => boolean +} + +type Lock = { + targetElement: HTMLElement + options?: BodyScrollOptions +} + +// stolen from body-scroll-lock + +// Older browsers don't support event options, feature detect it. +let hasPassiveEvents = false +if (typeof window !== 'undefined') { + const passiveTestOptions = { + get passive() { + hasPassiveEvents = true + return undefined + }, + } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + window.addEventListener('testPassive', null, passiveTestOptions) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + window.removeEventListener('testPassive', null, passiveTestOptions) +} + +const isIosDevice + = typeof window !== 'undefined' + && window.navigator + && window.navigator.platform + && (/iP(ad|hone|od)/.test(window.navigator.platform) + || (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1)) + +let locks: Lock[] = [] +let documentListenerAdded = false +let clientY = 0 +let initialClientY = -1 +let previousBodyOverflowSetting: undefined | string +let previousBodyPaddingRight: undefined | string + +const hasScrollbar = (el: HTMLElement) => { + if (!el || el.nodeType !== Node.ELEMENT_NODE) + return false + + const style = window.getComputedStyle(el) + return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight +} + +const shouldScroll = (el: HTMLElement, delta: number) => { + if (el.scrollTop === 0 && delta < 0) + return false + if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) + return false + return true +} + +const composedPath = (el: null | HTMLElement) => { + const path = [] + while (el) { + path.push(el) + if (el.classList.contains('vfm')) + return path + el = el.parentElement + } + return path +} + +const hasAnyScrollableEl = (el: HTMLElement | null, delta: number) => { + let hasAnyScrollableEl = false + const path = composedPath(el) + path.forEach((el) => { + if (hasScrollbar(el) && shouldScroll(el, delta)) + hasAnyScrollableEl = true + }) + return hasAnyScrollableEl +} + +// returns true if `el` should be allowed to receive touchmove events. +const allowTouchMove = (el: HTMLElement | null) => locks.some(() => hasAnyScrollableEl(el, -clientY)) + +const preventDefault = (rawEvent: TouchEvent) => { + const e = rawEvent || window.event + + // For the case whereby consumers adds a touchmove event listener to document. + // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false }) + // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then + // the touchmove event on document will break. + if (allowTouchMove(e.target as HTMLElement | null)) + return true + + // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom). + if (e.touches.length > 1) + return true + + if (e.preventDefault) + e.preventDefault() + + return false +} + +const setOverflowHidden = (options?: BodyScrollOptions) => { + // If previousBodyPaddingRight is already set, don't set it again. + if (previousBodyPaddingRight === undefined) { + const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true + const scrollBarGap = window.innerWidth - document.documentElement.clientWidth + + if (reserveScrollBarGap && scrollBarGap > 0) { + const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10) + previousBodyPaddingRight = document.body.style.paddingRight + document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px` + } + } + // If previousBodyOverflowSetting is already set, don't set it again. + if (previousBodyOverflowSetting === undefined) { + previousBodyOverflowSetting = document.body.style.overflow + document.body.style.overflow = 'hidden' + } +} + +const restoreOverflowSetting = () => { + if (previousBodyPaddingRight !== undefined) { + document.body.style.paddingRight = previousBodyPaddingRight + + // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it + // can be set again. + previousBodyPaddingRight = undefined + } + + if (previousBodyOverflowSetting !== undefined) { + document.body.style.overflow = previousBodyOverflowSetting + + // Restore previousBodyOverflowSetting to undefined + // so setOverflowHidden knows it can be set again. + previousBodyOverflowSetting = undefined + } +} +// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions +const isTargetElementTotallyScrolled = (targetElement: HTMLElement) => + targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false + +const handleScroll = (event: TouchEvent, targetElement: HTMLElement) => { + clientY = event.targetTouches[0].clientY - initialClientY + + if (allowTouchMove(event.target as HTMLElement | null)) + return false + + if (targetElement && targetElement.scrollTop === 0 && clientY > 0) { + // element is at the top of its scroll. + return preventDefault(event) + } + + if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) { + // element is at the bottom of its scroll. + return preventDefault(event) + } + + event.stopPropagation() + return true +} + +export const disableBodyScroll = (targetElement?: HTMLElement, options?: BodyScrollOptions) => { + // targetElement must be provided + if (!targetElement) { + console.error( + 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.', + ) + return + } + + // disableBodyScroll must not have been called on this targetElement before + if (locks.some(lock => lock.targetElement === targetElement)) + return + + const lock = { + targetElement, + options: options || {}, + } + + locks = [...locks, lock] + + if (isIosDevice) { + targetElement.ontouchstart = (event: TouchEvent) => { + if (event.targetTouches.length === 1) { + // detect single touch. + initialClientY = event.targetTouches[0].clientY + } + } + targetElement.ontouchmove = (event: TouchEvent) => { + if (event.targetTouches.length === 1) { + // detect single touch. + handleScroll(event, targetElement) + } + } + + if (!documentListenerAdded) { + document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined) + documentListenerAdded = true + } + } + else { + setOverflowHidden(options) + } +} + +export const enableBodyScroll = (targetElement?: HTMLElement) => { + if (!targetElement) { + console.error( + 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.', + ) + return + } + + locks = locks.filter(lock => lock.targetElement !== targetElement) + + if (isIosDevice) { + targetElement.ontouchstart = null + targetElement.ontouchmove = null + + if (documentListenerAdded && locks.length === 0) { + document.removeEventListener('touchmove', preventDefault, (hasPassiveEvents ? { passive: false } : undefined) as any) + documentListenerAdded = false + } + } + else if (!locks.length) { + restoreOverflowSetting() + } +} + +export function useLockScroll(props: InstanceType<typeof VueFinalModal>['$props'], options: { + lockScrollEl: Ref<undefined | HTMLElement> + modelValueLocal: Ref<boolean> +}) { + const { lockScrollEl, modelValueLocal } = options + + let _lockScrollEl: HTMLElement + watch(lockScrollEl, (val) => { + if (val) + _lockScrollEl = val + }, { immediate: true }) + + watch(() => props.lockScroll, (val) => { + val ? _disableBodyScroll() : _enableBodyScroll() + }) + + onBeforeUnmount(() => { + _enableBodyScroll() + }) + + function _enableBodyScroll() { + _lockScrollEl && enableBodyScroll(_lockScrollEl) + } + + function _disableBodyScroll() { + if (!modelValueLocal.value) + return + props.lockScroll && _lockScrollEl + && disableBodyScroll(_lockScrollEl, { + reserveScrollBarGap: props.reserveScrollBarGap, + allowTouchMove: (el) => { + while (el && el !== document.body) { + if (el.getAttribute('vfm-scroll-lock-ignore') !== null) + return true + + el = el.parentElement + } + return false + }, + }) + } + + return { + enableBodyScroll: _enableBodyScroll, + disableBodyScroll: _disableBodyScroll, + } +} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts b/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts deleted file mode 100644 index 36acf146..00000000 --- a/packages/vue-final-modal/src/components/VueFinalModal/useScrollLock.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { disablePageScroll, enablePageScroll, setFillGapMethod } from 'scroll-lock' -import type { Ref } from 'vue' -import { onBeforeUnmount, watch } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' -import { noop, once } from '~/utils' -import type { ComponentProps } from '~/Component' - -export function useScrollLock(props: ComponentProps<typeof VueFinalModal>, options: { - lockScrollEl: Ref<undefined | HTMLElement> - modelValueLocal: Ref<boolean> -}) { - const { lockScrollEl, modelValueLocal } = options - - let _lockScrollEl: HTMLElement - watch(lockScrollEl, (val) => { - if (val) - _lockScrollEl = val - }, { immediate: true }) - - watch(() => props.lockScroll, (val) => { - val ? _disablePageScroll() : _enablePageScroll() - }) - - watch(() => props.reserveScrollBarGap, (val) => { - setFillGapMethod(val ? 'padding' : 'none') - }, { immediate: true }) - - onBeforeUnmount(() => { - _enablePageScroll() - }) - - let enablePageScrollOnce = noop - function _enablePageScroll() { - enablePageScrollOnce() - } - - function _disablePageScroll() { - if (!modelValueLocal.value) - return - if (props.lockScroll && _lockScrollEl) { - disablePageScroll(_lockScrollEl) - enablePageScrollOnce = once(() => { - _lockScrollEl && enablePageScroll(_lockScrollEl) - }) - } - } - - return { - enablePageScroll: _enablePageScroll, - disablePageScroll: _disablePageScroll, - } -} diff --git a/packages/vue-final-modal/vite.config.ts b/packages/vue-final-modal/vite.config.ts index 0196292f..59203848 100644 --- a/packages/vue-final-modal/vite.config.ts +++ b/packages/vue-final-modal/vite.config.ts @@ -30,7 +30,6 @@ export default defineConfig({ '@vueuse/core', '@vueuse/integrations/useFocusTrap', 'focus-trap', - 'scroll-lock', ], output: { globals: { @@ -38,7 +37,6 @@ export default defineConfig({ '@vueuse/core': 'VueUse', '@vueuse/integrations/useFocusTrap': 'VueUseFocusTrap', 'focus-trap': 'FocusTrap', - 'scroll-lock': 'ScrollLock', }, }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d1c27c0..dbe20f4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,9 +96,6 @@ importers: '@release-it/conventional-changelog': specifier: ^5.1.1 version: 5.1.1(release-it@16.2.1) - '@types/scroll-lock': - specifier: ^2.1.3 - version: 2.1.3 '@vueuse/core': specifier: ^10.7.1 version: 10.7.1(vue@3.3.7) @@ -114,9 +111,6 @@ importers: release-it: specifier: ^16.1.3 version: 16.2.1(typescript@5.3.3) - scroll-lock: - specifier: ^2.1.5 - version: 2.1.5 vite-plugin-dts: specifier: ^3.6.3 version: 3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6) @@ -3567,10 +3561,6 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/scroll-lock@2.1.3: - resolution: {integrity: sha512-9Z9MIt9qF5DFEKlLI5MlNnk3SjjHEo0wjhzMEmZaJxCad981cs9Zerd8J1G2ELJVjXto1q/Cd+fNwmuscFHnpA==} - dev: true - /@types/semver@7.5.6: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true @@ -14030,10 +14020,6 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /scroll-lock@2.1.5: - resolution: {integrity: sha512-GN8Lp0AzXbkrPFUUNkMUruiiv019UvarNKE/SnXi+AxZRjMnDc2R22VB9RcUtL4P/uub04cKibmpHKIKTyWwYQ==} - dev: true - /scule@1.0.0: resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} dev: true From 96e09ad72d1886a7a5ca452c5b8da3e9c954099b Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 12:13:31 +0800 Subject: [PATCH 29/37] Release 5.0.0-beta.4 --- packages/vue-final-modal/CHANGELOG.md | 2 ++ packages/vue-final-modal/package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index 4de6f864..a6b97cc2 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,5 +1,7 @@ +# [5.0.0-beta.4](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.3...v5.0.0-beta.4) (2024-01-30) + # [5.0.0-beta.3](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.2...v5.0.0-beta.3) (2024-01-30) # [5.0.0-beta.2](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.1...v5.0.0-beta.2) (2024-01-11) diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 988290cb..45be4e1e 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "5.0.0-beta.3", + "version": "5.0.0-beta.4", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From fe99ca27e03026bdeef471588626b98d75e82721 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 12:14:12 +0800 Subject: [PATCH 30/37] bump 5.0.0-beta.4 --- docs/package.json | 2 +- viteplay/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/package.json b/docs/package.json index 4eb90823..2f1bafb8 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:5.0.0-beta.3", + "vue-final-modal": "workspace:5.0.0-beta.4", "vue3-drag-resize": "^2.0.5" } } diff --git a/viteplay/package.json b/viteplay/package.json index cbd5ba55..2fea15f1 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "vue": "3.3.7", - "vue-final-modal": "workspace:5.0.0-beta.3", + "vue-final-modal": "workspace:5.0.0-beta.4", "vue-router": "^4.2.5" }, "devDependencies": { From 05fa0db3680848724851a7fe1bee7aad4bfcc7f0 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Tue, 30 Jan 2024 22:31:58 +0800 Subject: [PATCH 31/37] refactor: refine code --- docs/content/2.get-started/1.guide/4.types.md | 45 ++++-- .../cypress/components/useZIndex.spec.ts | 2 +- .../src/components/ModalsContainer.ts | 21 +-- .../src/components/UseModal.ts | 34 ++--- .../{VueFinalModal => }/VueFinalModal.vue | 22 +-- .../useBodyScrollLock.ts | 5 +- .../useFocusTrap.ts | 4 +- .../useInternalExposed.ts | 3 +- .../src/composables/useModal.ts | 143 ++++++++++++++++++ .../useModelValue.ts | 4 +- .../src/{ => composables}/useSwipeToClose.ts | 8 +- .../src/{ => composables}/useSwipeable.ts | 2 +- .../src/composables/useTemplate.ts | 66 ++++++++ .../useToClose.ts | 4 +- .../useTransition.ts | 5 +- .../src/{ => composables}/useVfm.ts | 4 +- .../src/{ => composables}/useVfmAttrs.ts | 4 +- .../useZIndex.ts | 5 +- .../VueFinalModal => composables}/vVisible.ts | 0 .../vue-final-modal/src/createContainer.ts | 57 +++++++ packages/vue-final-modal/src/index.ts | 20 ++- .../vue-final-modal/src/injectionSymbols.ts | 2 +- packages/vue-final-modal/src/plugin.ts | 19 ++- .../src/{ => types}/Component.ts | 0 .../src/types/CreateContainer.ts | 15 ++ .../vue-final-modal/src/{ => types}/Modal.ts | 28 ++-- .../VueFinalModalProps.ts | 2 +- packages/vue-final-modal/src/types/index.ts | 4 + packages/vue-final-modal/src/useModal.ts | 143 ------------------ packages/vue-final-modal/src/useVNode.ts | 75 --------- .../vue-final-modal/src/useVNodesContainer.ts | 27 ---- .../vue-final-modal/src/{ => utils}/dom.ts | 0 .../src/{utils.ts => utils/index.ts} | 2 + pnpm-lock.yaml | 4 +- .../{VueFinalModal => }/Basic.example.vue | 38 ++--- .../BottomSheet.example.vue | 6 +- .../{VueFinalModal => }/ConfirmModal.vue | 0 viteplay/src/components/DefaultSlot.vue | 7 +- .../Fullscreen.example.vue | 6 +- .../NestedModal.example.vue | 0 .../{VueFinalModal => }/StopEvent.example.vue | 6 +- .../{VueFinalModal => }/TestModal.vue | 0 ...UseTemplate by CreateContainer.example.vue | 26 ++++ .../src/components/UseTemplate.example.vue | 22 +++ .../VueFinalModal/CreateH.example.vue | 19 --- .../{VueFinalModal => }/modalsHelpers.ts | 6 +- viteplay/vite.config.ts | 6 +- 47 files changed, 495 insertions(+), 426 deletions(-) rename packages/vue-final-modal/src/components/{VueFinalModal => }/VueFinalModal.vue (93%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useBodyScrollLock.ts (97%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useFocusTrap.ts (85%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useInternalExposed.ts (89%) create mode 100644 packages/vue-final-modal/src/composables/useModal.ts rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useModelValue.ts (91%) rename packages/vue-final-modal/src/{ => composables}/useSwipeToClose.ts (96%) rename packages/vue-final-modal/src/{ => composables}/useSwipeable.ts (98%) create mode 100644 packages/vue-final-modal/src/composables/useTemplate.ts rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useToClose.ts (89%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useTransition.ts (94%) rename packages/vue-final-modal/src/{ => composables}/useVfm.ts (88%) rename packages/vue-final-modal/src/{ => composables}/useVfmAttrs.ts (91%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/useZIndex.ts (84%) rename packages/vue-final-modal/src/{components/VueFinalModal => composables}/vVisible.ts (100%) create mode 100644 packages/vue-final-modal/src/createContainer.ts rename packages/vue-final-modal/src/{ => types}/Component.ts (100%) create mode 100644 packages/vue-final-modal/src/types/CreateContainer.ts rename packages/vue-final-modal/src/{ => types}/Modal.ts (62%) rename packages/vue-final-modal/src/{components/VueFinalModal => types}/VueFinalModalProps.ts (99%) create mode 100644 packages/vue-final-modal/src/types/index.ts delete mode 100644 packages/vue-final-modal/src/useModal.ts delete mode 100644 packages/vue-final-modal/src/useVNode.ts delete mode 100644 packages/vue-final-modal/src/useVNodesContainer.ts rename packages/vue-final-modal/src/{ => utils}/dom.ts (100%) rename packages/vue-final-modal/src/{utils.ts => utils/index.ts} (97%) rename viteplay/src/components/{VueFinalModal => }/Basic.example.vue (87%) rename viteplay/src/components/{VueFinalModal => }/BottomSheet.example.vue (84%) rename viteplay/src/components/{VueFinalModal => }/ConfirmModal.vue (100%) rename viteplay/src/components/{VueFinalModal => }/Fullscreen.example.vue (79%) rename viteplay/src/components/{VueFinalModal => }/NestedModal.example.vue (100%) rename viteplay/src/components/{VueFinalModal => }/StopEvent.example.vue (85%) rename viteplay/src/components/{VueFinalModal => }/TestModal.vue (100%) create mode 100644 viteplay/src/components/UseTemplate by CreateContainer.example.vue create mode 100644 viteplay/src/components/UseTemplate.example.vue delete mode 100644 viteplay/src/components/VueFinalModal/CreateH.example.vue rename viteplay/src/components/{VueFinalModal => }/modalsHelpers.ts (67%) diff --git a/docs/content/2.get-started/1.guide/4.types.md b/docs/content/2.get-started/1.guide/4.types.md index a8922574..4d29d825 100644 --- a/docs/content/2.get-started/1.guide/4.types.md +++ b/docs/content/2.get-started/1.guide/4.types.md @@ -8,36 +8,36 @@ The exported types in VueFinalModal. export type ModalId = number | string | symbol ``` -## CreateVNodeOptions +## Template ```ts -export type CreateVNodeOptions<T extends Component> = { +export type Template<T extends Component> = { component: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> } } ``` -## UseModalOptions +## UseModalTemplate ```ts -export type UseModalOptions<T extends Component> = { +export type UseModalTemplate<T extends Component> = { defaultModelValue?: boolean keepAlive?: boolean component?: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> } } ``` -## UseModalOptionsPrivate +## UseModalTemplatePrivate ```ts -export type UseModalOptionsPrivate = { +export type UseModalTemplatePrivate = { id: symbol modelValue: boolean resolveOpened: () => void @@ -49,10 +49,10 @@ export type UseModalOptionsPrivate = { ```ts export interface UseModalReturnType<T extends Component> { - options: UseModalOptions<T> & UseModalOptionsPrivate + template: UseModalTemplate<T> & UseModalTemplatePrivate open: () => Promise<string> close: () => Promise<string> - patchOptions: (options: Partial<UseModalOptions<T>>) => void + patchTemplate: (template: Partial<UseModalTemplate<T>>) => void destroy: () => void } ``` @@ -65,13 +65,12 @@ export type Vfm = { modals: ComputedRef<ModalExposed>[] openedModals: ComputedRef<ModalExposed>[] openedModalOverlays: ComputedRef<ModalExposed>[] - vNodesContainer: VNodesContainer get: (modalId: ModalId) => undefined | ComputedRef<ModalExposed> toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> closeAll: () => Promise<PromiseSettledResult<string>[]> -} +} & Partial<CreateContainer> ``` ## ModalExposed @@ -84,5 +83,25 @@ export type ModalExposed = { overlayVisible: Ref<boolean> toggle: (show?: boolean) => Promise<string> } +``` + +## CreateContainer -``` \ No newline at end of file +```ts +export type CreateContainer = { + Container: Component + useTemplate: UseTemplate +} +``` + +## UseTemplate + +```ts +export type UseTemplate = <T extends Component>( + template: Template<T>, + options?: { onUnmounted?: (() => void) } +) => { + show: () => Promise<void> + hide: () => Promise<void> +} +``` diff --git a/packages/vue-final-modal/cypress/components/useZIndex.spec.ts b/packages/vue-final-modal/cypress/components/useZIndex.spec.ts index 9075bb98..7897c58b 100644 --- a/packages/vue-final-modal/cypress/components/useZIndex.spec.ts +++ b/packages/vue-final-modal/cypress/components/useZIndex.spec.ts @@ -42,7 +42,7 @@ describe('Test useZIndex()', () => { }) cy.get('@app').then(() => { - thirdModal.patchOptions({ + thirdModal.patchTemplate({ attrs: { zIndexFn: ({ index }) => 1234 + 2 * index, }, diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index 2d73ef0b..efa6c04a 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -1,23 +1,10 @@ -import { computed, defineComponent, onBeforeUnmount } from 'vue' -import { useVfm } from '~/useVfm' +import { defineComponent, h } from 'vue' +import { useVfm } from '~/composables/useVfm' export const ModalsContainer = defineComponent({ name: 'ModalsContainer', setup() { - const { vNodesContainer } = useVfm() - - const uid = Symbol(__DEV__ ? 'VNodesContainer' : '') - const shouldMount = computed(() => uid === vNodesContainer.containers.value?.[0]) - - vNodesContainer.containers.value.push(uid) - onBeforeUnmount(() => { - vNodesContainer.containers.value = vNodesContainer.containers.value.filter(i => i !== uid) - }) - - return () => { - if (!shouldMount.value) - return null - return vNodesContainer.vNodes - } + const { Container } = useVfm() + return () => Container ? h(Container) : null }, }) diff --git a/packages/vue-final-modal/src/components/UseModal.ts b/packages/vue-final-modal/src/components/UseModal.ts index 73bc7d59..b6633404 100644 --- a/packages/vue-final-modal/src/components/UseModal.ts +++ b/packages/vue-final-modal/src/components/UseModal.ts @@ -1,39 +1,39 @@ import type { Component, PropType } from 'vue' import { defineComponent } from 'vue' -import type { UseModalOptions, UseModalOptionsPrivate } from '..' -import { createVNode } from '~/useVNode' +import type { UseModalTemplate, UseModalTemplatePrivate } from '~/types' +import { templateToVNode } from '~/composables/useTemplate' export const UseModal = defineComponent({ name: 'UseModal', props: { - modal: { - type: Object as PropType<UseModalOptions<Component> & UseModalOptionsPrivate>, + template: { + type: Object as PropType<UseModalTemplate<Component> & UseModalTemplatePrivate>, required: true, }, }, setup(props) { - function renderDynamicModal(modal: (UseModalOptions<Component> & UseModalOptionsPrivate)) { - if (!modal.component) + function renderModalTemplate(template: (UseModalTemplate<Component> & UseModalTemplatePrivate)) { + if (!template.component) return null - return createVNode({ - component: modal.component, + return templateToVNode({ + component: template.component, attrs: { - 'modelValue': modal.modelValue, - 'displayDirective': modal?.keepAlive ? 'show' : undefined, - ...(typeof modal.attrs === 'object' ? modal.attrs : {}), + 'modelValue': template.modelValue, + 'displayDirective': template?.keepAlive ? 'show' : undefined, + ...(typeof template.attrs === 'object' ? template.attrs : {}), 'onUpdate:modelValue': (value: boolean) => { - modal.modelValue = value - const onUpdateModelValue = modal.attrs?.['onUpdate:modelValue'] + template.modelValue = value + const onUpdateModelValue = template.attrs?.['onUpdate:modelValue'] if (onUpdateModelValue) onUpdateModelValue(value) }, - 'on_closed': () => modal?.resolveClosed?.(), - 'on_opened': () => modal?.resolveOpened?.(), + 'on_closed': () => template?.resolveClosed?.(), + 'on_opened': () => template?.resolveOpened?.(), }, - slots: modal.slots, + slots: template.slots, }) } - return () => renderDynamicModal(props.modal) + return () => renderModalTemplate(props.template) }, }) diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal.vue similarity index 93% rename from packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue rename to packages/vue-final-modal/src/components/VueFinalModal.vue index d1fe29b9..e17c84f8 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal.vue @@ -1,17 +1,17 @@ <script setup lang="ts"> import { nextTick, onBeforeUnmount, onMounted, ref, useAttrs } from 'vue' -import { vueFinalModalProps } from './VueFinalModalProps' -import { useTransition } from './useTransition' -import { useToClose } from './useToClose' -import { useModelValue } from './useModelValue' -import { useFocusTrap } from './useFocusTrap' -import { useLockScroll } from './useBodyScrollLock' -import { useZIndex } from './useZIndex' -import { vVisible } from './vVisible' -import { useInternalExposed } from './useInternalExposed' +import { vueFinalModalProps } from '~/types' +import { useTransition } from '~/composables/useTransition' +import { useToClose } from '~/composables/useToClose' +import { useModelValue } from '~/composables/useModelValue' +import { useFocusTrap } from '~/composables/useFocusTrap' +import { useLockScroll } from '~/composables/useBodyScrollLock' +import { useZIndex } from '~/composables/useZIndex' +import { vVisible } from '~/composables/vVisible' +import { useInternalExposed } from '~/composables/useInternalExposed' import { arrayMoveItemToLast, arrayRemoveItem } from '~/utils' -import { useSwipeToClose } from '~/useSwipeToClose' -import { useVfm } from '~/useVfm' +import { useSwipeToClose } from '~/composables/useSwipeToClose' +import { useVfm } from '~/composables/useVfm' export interface VueFinalModalEmits { (e: 'update:modelValue', modelValue: boolean): void diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts b/packages/vue-final-modal/src/composables/useBodyScrollLock.ts similarity index 97% rename from packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts rename to packages/vue-final-modal/src/composables/useBodyScrollLock.ts index dd710360..fb19ac3b 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useBodyScrollLock.ts +++ b/packages/vue-final-modal/src/composables/useBodyScrollLock.ts @@ -1,6 +1,7 @@ import type { Ref } from 'vue' import { onBeforeUnmount, watch } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps } from '~/types' type BodyScrollOptions = { reserveScrollBarGap?: boolean @@ -233,7 +234,7 @@ export const enableBodyScroll = (targetElement?: HTMLElement) => { } } -export function useLockScroll(props: InstanceType<typeof VueFinalModal>['$props'], options: { +export function useLockScroll(props: ComponentProps<typeof VueFinalModal>, options: { lockScrollEl: Ref<undefined | HTMLElement> modelValueLocal: Ref<boolean> }) { diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts b/packages/vue-final-modal/src/composables/useFocusTrap.ts similarity index 85% rename from packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts rename to packages/vue-final-modal/src/composables/useFocusTrap.ts index 94e2a726..f7d7f49c 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useFocusTrap.ts +++ b/packages/vue-final-modal/src/composables/useFocusTrap.ts @@ -1,7 +1,7 @@ import type { Ref } from 'vue' import { useFocusTrap as _useFocusTrap } from '@vueuse/integrations/useFocusTrap' -import type VueFinalModal from './VueFinalModal.vue' -import type { ComponentProps } from '~/Component' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps } from '~/types' export function useFocusTrap( props: ComponentProps<typeof VueFinalModal>, diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts b/packages/vue-final-modal/src/composables/useInternalExposed.ts similarity index 89% rename from packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts rename to packages/vue-final-modal/src/composables/useInternalExposed.ts index 07bfd5d6..1bc21813 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useInternalExposed.ts +++ b/packages/vue-final-modal/src/composables/useInternalExposed.ts @@ -1,6 +1,7 @@ import type { Ref } from 'vue' import { computed, toRef } from 'vue' -import type { ComponentProps, ModalExposed, VueFinalModal } from '~/index' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps, ModalExposed } from '~/types' import { noop, once } from '~/utils' export const useInternalExposed = function ( diff --git a/packages/vue-final-modal/src/composables/useModal.ts b/packages/vue-final-modal/src/composables/useModal.ts new file mode 100644 index 00000000..6e088f6b --- /dev/null +++ b/packages/vue-final-modal/src/composables/useModal.ts @@ -0,0 +1,143 @@ +import type { Component } from 'vue' +import { markRaw, reactive } from 'vue' +import { isTemplate, useTemplate } from '~/composables/useTemplate' +import { UseModal } from '~/components/UseModal' +import { isString, objectEntries } from '~/utils' +import VueFinalModal from '~/components/VueFinalModal.vue' +import type { Template, UseModalReturnType, UseModalTemplate, UseModalTemplatePrivate } from '~/types' + +/** + * Create a dynamic modal. + */ +export function useModal<T extends Component = typeof VueFinalModal>(_template: UseModalTemplate<T>): UseModalReturnType<T> { + const id = Symbol(__DEV__ ? 'useModal' : '') + + const template = reactive({ + id, + modelValue: !!_template?.defaultModelValue, + resolveOpened: () => { }, + resolveClosed: tryRemoveVNode, + attrs: {}, + ...withMarkRaw<T>(_template), + }) as UseModalTemplate<T> & UseModalTemplatePrivate + + const { show, hide } = useTemplate({ + component: UseModal, + attrs: { template, key: id }, + }, { + onUnmounted: () => tryRemoveVNode(), + }) + + if (template.modelValue === true) + show() + + function open(): Promise<string> { + if (template.modelValue) + return Promise.resolve('[Vue Final Modal] modal is already opened.') + + tryRemoveVNode() + template.modelValue = true + show() + + return new Promise((resolve) => { + template.resolveOpened = () => resolve('opened') + }) + } + + function close(): Promise<string> { + if (!template.modelValue) + return Promise.resolve('[Vue Final Modal] modal is already closed.') + + template.modelValue = false + return new Promise((resolve) => { + template.resolveClosed = () => { + resolve('closed') + tryRemoveVNode() + } + }) + } + + function tryRemoveVNode() { + if (template.keepAlive) + return + hide() + } + + function patchTemplate(_template: Partial<UseModalTemplate<T>>) { + const { slots, ...rest } = withMarkRaw(_template, template.component) + + if (_template.defaultModelValue !== undefined) + template.defaultModelValue = _template.defaultModelValue + if (_template?.keepAlive !== undefined) + template.keepAlive = _template?.keepAlive + + // patch template.component and template.attrs + patchTemplateComponentAndAttrs(template, rest) + + // patch template.slots + if (slots) { + objectEntries(slots).forEach(([name, slot]) => { + const originSlot = template.slots![name] + if (isString(originSlot)) + template.slots![name] = slot + else if (isTemplate(originSlot) && isTemplate(slot)) + patchTemplateComponentAndAttrs(originSlot, slot) + else + template.slots![name] = slot + }) + } + } + + return { + template, + open, + close, + patchTemplate, + destroy: () => hide(), + } +} + +function withMarkRaw<T extends Component>(template: Partial<UseModalTemplate<T>>, DefaultComponent: Component = VueFinalModal) { + const { component, slots: innerSlots, ...rest } = template + + const slots: UseModalTemplate<T>['slots'] = typeof innerSlots === 'undefined' + ? {} + : Object.fromEntries(objectEntries(innerSlots).map(([name, maybeComponent]) => { + if (isString(maybeComponent)) + return [name, maybeComponent] as const + + if (isTemplate(maybeComponent)) { + return [name, { + ...maybeComponent, + component: markRaw(maybeComponent.component), + }] + } + + return [name, markRaw(maybeComponent as Component)] + })) as UseModalTemplate<T>['slots'] + + return { + ...rest, + component: markRaw(component || DefaultComponent), + slots, + } +} + +function patchTemplateComponentAndAttrs<T extends Component>( + template: UseModalTemplate<T> | Template<Component>, + newTemplate: Partial<UseModalTemplate<T>> | Template<Component>, +) { + if (newTemplate.component) + template.component = newTemplate.component + + if (newTemplate.attrs) + patchAttrs(template.attrs!, newTemplate.attrs) +} + +function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { + Object.entries(newAttrs).forEach(([key, value]) => { + attrs[key as keyof T] = value as any + }) + + return attrs +} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts b/packages/vue-final-modal/src/composables/useModelValue.ts similarity index 91% rename from packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts rename to packages/vue-final-modal/src/composables/useModelValue.ts index b78a7e57..04c0b594 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useModelValue.ts +++ b/packages/vue-final-modal/src/composables/useModelValue.ts @@ -1,7 +1,7 @@ import { nextTick, ref, watch } from 'vue' import type { Ref } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' -import type { ComponentEmit, ComponentProps } from '~/Component' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentEmit, ComponentProps } from '~/types' export function useModelValue( props: ComponentProps<typeof VueFinalModal>, diff --git a/packages/vue-final-modal/src/useSwipeToClose.ts b/packages/vue-final-modal/src/composables/useSwipeToClose.ts similarity index 96% rename from packages/vue-final-modal/src/useSwipeToClose.ts rename to packages/vue-final-modal/src/composables/useSwipeToClose.ts index 42922435..3c5d85b4 100644 --- a/packages/vue-final-modal/src/useSwipeToClose.ts +++ b/packages/vue-final-modal/src/composables/useSwipeToClose.ts @@ -1,10 +1,10 @@ import { useEventListener } from '@vueuse/core' import type { Ref } from 'vue' import { computed, ref, watch } from 'vue' -import type VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' -import { useSwipeable } from './useSwipeable' -import { clamp, noop } from './utils' -import type { ComponentProps } from './Component' +import { useSwipeable } from '~/composables/useSwipeable' +import { clamp, noop } from '~/utils' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps } from '~/types' export function useSwipeToClose( props: ComponentProps<typeof VueFinalModal>, diff --git a/packages/vue-final-modal/src/useSwipeable.ts b/packages/vue-final-modal/src/composables/useSwipeable.ts similarity index 98% rename from packages/vue-final-modal/src/useSwipeable.ts rename to packages/vue-final-modal/src/composables/useSwipeable.ts index fbd74bdc..3cf78f59 100644 --- a/packages/vue-final-modal/src/useSwipeable.ts +++ b/packages/vue-final-modal/src/composables/useSwipeable.ts @@ -1,7 +1,7 @@ import type { Ref } from 'vue' import { computed, onMounted, reactive, ref } from 'vue' import { useEventListener } from '@vueuse/core' -import { checkPassiveEventSupport, getPosition } from './dom' +import { checkPassiveEventSupport, getPosition } from '~/utils' export type SwiperDirection = 'up' | 'right' | 'down' | 'left' | 'none' diff --git a/packages/vue-final-modal/src/composables/useTemplate.ts b/packages/vue-final-modal/src/composables/useTemplate.ts new file mode 100644 index 00000000..9fb0d31c --- /dev/null +++ b/packages/vue-final-modal/src/composables/useTemplate.ts @@ -0,0 +1,66 @@ +import type { Component, VNode } from 'vue' +import { h as _h } from 'vue' +import { useSsrVfm, useVfm } from '~/composables/useVfm' +import { isString, objectEntries } from '~/utils' +import type { ComponentSlots, Template, UseTemplate } from '~/types' + +/** + * Create a vNode by passing template. + */ +export function templateToVNode<T extends Component>(template: Template<T>): VNode { + return _h(template.component, template.attrs, getSlots(template.slots)) +} + +/** + * A type helper to define a template + */ +export function defineTemplate<T extends Component>(template: Template<T>) { + return template +} + +export const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { + onUnmounted?: () => void +}) => { + let _template: undefined | ReturnType<UseTemplate> + + async function show() { + if (!_template) { + const { useTemplate } = await useSsrVfm() + _template = useTemplate?.(template, options) + } + _template?.show() + } + + async function hide() { + if (!_template) { + const { useTemplate } = useVfm() + _template = useTemplate?.(template, options) + } + _template?.hide() + } + + return { show, hide } +} + +export function isTemplate<T extends Component>(value: unknown): value is Template<T> { + if (typeof value === 'object' && value !== null) + return 'component' in value + else + return false +} + +function getSlots<T extends Component>(slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> +}) { + return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | Template<Component> + if (isString(slot)) + acc[slotName] = () => _h('div', { innerHTML: slot }) + else if (isTemplate(slot)) + acc[slotName] = () => _h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) + else + acc[slotName] = () => _h(slot) + return acc + }, {}) +} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts b/packages/vue-final-modal/src/composables/useToClose.ts similarity index 89% rename from packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts rename to packages/vue-final-modal/src/composables/useToClose.ts index 03aadd24..e3498e8b 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useToClose.ts +++ b/packages/vue-final-modal/src/composables/useToClose.ts @@ -1,7 +1,7 @@ import type { Ref } from 'vue' import { ref } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' -import type { ComponentEmit, ComponentProps } from '~/Component' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentEmit, ComponentProps } from '~/types' export function useToClose( props: ComponentProps<typeof VueFinalModal>, diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts b/packages/vue-final-modal/src/composables/useTransition.ts similarity index 94% rename from packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts rename to packages/vue-final-modal/src/composables/useTransition.ts index 51959038..69290383 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useTransition.ts +++ b/packages/vue-final-modal/src/composables/useTransition.ts @@ -1,8 +1,7 @@ import type { Ref, TransitionProps } from 'vue' import { computed, nextTick, ref, watch } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' -import type { VfmTransition } from './VueFinalModalProps' -import type { ComponentProps } from '~/Component' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps, VfmTransition } from '~/types' export enum TransitionState { Enter, diff --git a/packages/vue-final-modal/src/useVfm.ts b/packages/vue-final-modal/src/composables/useVfm.ts similarity index 88% rename from packages/vue-final-modal/src/useVfm.ts rename to packages/vue-final-modal/src/composables/useVfm.ts index 09e0b69b..ce44ef08 100644 --- a/packages/vue-final-modal/src/useVfm.ts +++ b/packages/vue-final-modal/src/composables/useVfm.ts @@ -1,6 +1,6 @@ import { nextTick } from 'vue' -import type { Vfm } from './Modal' -import { activeVfm, getActiveVfm } from './plugin' +import { activeVfm, getActiveVfm } from '~/plugin' +import type { Vfm } from '~/types' /** * Returns the vfm instance. Equivalent to using `$vfm` inside diff --git a/packages/vue-final-modal/src/useVfmAttrs.ts b/packages/vue-final-modal/src/composables/useVfmAttrs.ts similarity index 91% rename from packages/vue-final-modal/src/useVfmAttrs.ts rename to packages/vue-final-modal/src/composables/useVfmAttrs.ts index 7e5a96c3..6f88f5a0 100644 --- a/packages/vue-final-modal/src/useVfmAttrs.ts +++ b/packages/vue-final-modal/src/composables/useVfmAttrs.ts @@ -1,7 +1,7 @@ import type { Component } from 'vue' import { computed, useAttrs } from 'vue' -import type { ComponentEmit, ComponentProps } from './Component' -import type { VueFinalModal } from '.' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentEmit, ComponentProps } from '~/types' export function useVfmAttrs<TP extends Component, MP extends Component>(options: { props: ComponentProps<TP> diff --git a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts b/packages/vue-final-modal/src/composables/useZIndex.ts similarity index 84% rename from packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts rename to packages/vue-final-modal/src/composables/useZIndex.ts index 225f0c4c..d94f11f4 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/useZIndex.ts +++ b/packages/vue-final-modal/src/composables/useZIndex.ts @@ -1,8 +1,7 @@ import type { ComputedRef, Ref } from 'vue' import { computed, ref, watch } from 'vue' -import type VueFinalModal from './VueFinalModal.vue' -import type { ModalExposed } from '~/Modal' -import type { ComponentProps } from '~/Component' +import type VueFinalModal from '~/components/VueFinalModal.vue' +import type { ComponentProps, ModalExposed } from '~/types' export function useZIndex( props: ComponentProps<typeof VueFinalModal>, diff --git a/packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts b/packages/vue-final-modal/src/composables/vVisible.ts similarity index 100% rename from packages/vue-final-modal/src/components/VueFinalModal/vVisible.ts rename to packages/vue-final-modal/src/composables/vVisible.ts diff --git a/packages/vue-final-modal/src/createContainer.ts b/packages/vue-final-modal/src/createContainer.ts new file mode 100644 index 00000000..8bf8f473 --- /dev/null +++ b/packages/vue-final-modal/src/createContainer.ts @@ -0,0 +1,57 @@ +import type { Component, VNode } from 'vue' +import { computed, defineComponent, onBeforeUnmount, ref, shallowReactive } from 'vue' +import { tryOnUnmounted } from '@vueuse/core' +import { templateToVNode } from './composables/useTemplate' +import type { CreateContainer, Template, UseTemplate } from './types' + +export function createContainer(options?: { name?: string }): CreateContainer { + const vNodes: VNode[] = shallowReactive([]) + const containers = ref<symbol[]>([]) + const name = options?.name || 'Container' + + const Container = defineComponent({ + name, + setup() { + const uid = Symbol(__DEV__ ? name : '') + const shouldMount = computed(() => uid === containers.value?.[0]) + + containers.value.push(uid) + onBeforeUnmount(() => { + containers.value = containers.value.filter(i => i !== uid) + }) + + return () => shouldMount.value ? vNodes : null + }, + }) + + function pushVNode(vNode: VNode) { + if (!vNodes.includes(vNode)) + vNodes.push(vNode) + } + + function deleteVNode(vNode: VNode): void { + const index = vNodes.indexOf(vNode) + if (index !== undefined && index !== -1) + vNodes.splice(index, 1) + } + + const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { + onUnmounted?: () => void + }) => { + if (template.attrs) + Object.assign(template.attrs, { key: Symbol(__DEV__ ? 'vNodeId' : '') }) + + const vNode = templateToVNode(template) + const show = async () => pushVNode(vNode) + const hide = async () => deleteVNode(vNode) + + tryOnUnmounted(() => options?.onUnmounted ? options.onUnmounted() : hide()) + + return { show, hide } + } + + return { + Container, + useTemplate, + } +} diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index f478438e..8c1abd52 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -1,14 +1,14 @@ import { ModalsContainer } from './components/ModalsContainer' -import VueFinalModal from './components/VueFinalModal/VueFinalModal.vue' +import VueFinalModal from './components/VueFinalModal.vue' -import type { Vfm } from './Modal' +import type { Vfm } from './types' /** Types */ -export * from './Modal' -export * from './Component' +export * from './types' /** Plugin */ export { createVfm } from './plugin' +export { createContainer } from './createContainer' /** Components */ export { @@ -16,15 +16,13 @@ export { VueFinalModal, } -export { vueFinalModalProps } from './components/VueFinalModal/VueFinalModalProps' - -export type { VueFinalModalEmits } from './components/VueFinalModal/VueFinalModal.vue' +export type { VueFinalModalEmits } from './components/VueFinalModal.vue' /** Composables */ -export { createVNode, useVNode, h } from './useVNode' -export { useVfm } from './useVfm' -export { useModal } from './useModal' -export { useVfmAttrs } from './useVfmAttrs' +export { templateToVNode, useTemplate, defineTemplate } from './composables/useTemplate' +export { useVfm } from './composables/useVfm' +export { useModal } from './composables/useModal' +export { useVfmAttrs } from './composables/useVfmAttrs' declare module '@vue/runtime-core' { export interface ComponentCustomProperties { diff --git a/packages/vue-final-modal/src/injectionSymbols.ts b/packages/vue-final-modal/src/injectionSymbols.ts index 2eac7471..e7545e5d 100644 --- a/packages/vue-final-modal/src/injectionSymbols.ts +++ b/packages/vue-final-modal/src/injectionSymbols.ts @@ -1,4 +1,4 @@ import type { InjectionKey } from 'vue' -import type { Vfm } from './Modal' +import type { Vfm } from './types' export const vfmSymbol = Symbol(__DEV__ ? 'vfm' : '') as InjectionKey<Vfm> diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index c1792751..a74ab4a2 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,9 +1,9 @@ import type { App, ComputedRef } from 'vue' -import { getCurrentInstance, inject, markRaw, ref, shallowReactive } from 'vue' +import { getCurrentInstance, inject, markRaw, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' -import type { ModalExposed, ModalId, Vfm } from './Modal' import { noop } from './utils' -import { useVNodesContainer } from './useVNodesContainer' +import { createContainer } from './createContainer' +import type { ModalExposed, ModalId, Vfm } from './types' // eslint-disable-next-line import/no-mutable-exports export let activeVfm: Vfm | undefined @@ -16,12 +16,8 @@ export const defaultVfm: Vfm = { modals: [], openedModals: [], openedModalOverlays: [], - vNodesContainer: { - vNodes: [], - containers: ref([]), - push: noop, - remove: noop, - }, + Container: undefined, + useTemplate: undefined, get: () => undefined, toggle: () => undefined, open: () => undefined, @@ -37,6 +33,8 @@ export function createVfm() { const openedModals: ComputedRef<ModalExposed>[] = shallowReactive([]) const openedModalOverlays: ComputedRef<ModalExposed>[] = shallowReactive([]) + const { Container, useTemplate } = createContainer() + const vfm: Vfm = markRaw({ install(app: App) { app.provide(vfmSymbol, vfm) @@ -45,7 +43,8 @@ export function createVfm() { modals, openedModals, openedModalOverlays, - vNodesContainer: useVNodesContainer(), + Container, + useTemplate, get(modalId: ModalId) { return modals.find(modal => modal.value?.modalId?.value === modalId) }, diff --git a/packages/vue-final-modal/src/Component.ts b/packages/vue-final-modal/src/types/Component.ts similarity index 100% rename from packages/vue-final-modal/src/Component.ts rename to packages/vue-final-modal/src/types/Component.ts diff --git a/packages/vue-final-modal/src/types/CreateContainer.ts b/packages/vue-final-modal/src/types/CreateContainer.ts new file mode 100644 index 00000000..2dae93c2 --- /dev/null +++ b/packages/vue-final-modal/src/types/CreateContainer.ts @@ -0,0 +1,15 @@ +import type { Component } from 'vue' +import type { Template } from './Modal' + +export type CreateContainer = { + Container: Component + useTemplate: UseTemplate +} + +export type UseTemplate = <T extends Component>( + template: Template<T>, + options?: { onUnmounted?: (() => void) } +) => { + show: () => Promise<void> + hide: () => Promise<void> +} diff --git a/packages/vue-final-modal/src/Modal.ts b/packages/vue-final-modal/src/types/Modal.ts similarity index 62% rename from packages/vue-final-modal/src/Modal.ts rename to packages/vue-final-modal/src/types/Modal.ts index a1c28d7e..16249c59 100644 --- a/packages/vue-final-modal/src/Modal.ts +++ b/packages/vue-final-modal/src/types/Modal.ts @@ -1,28 +1,28 @@ -import type { App, CSSProperties, Component, ComputedRef, Ref, VNode } from 'vue' -import type { ComponentProps, ComponentSlots } from './Component' +import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' +import type { ComponentProps, ComponentSlots, CreateContainer } from '~/types' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] -export type CreateVNodeOptions<T extends Component> = { +export type Template<T extends Component> = { component: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> } } -export type UseModalOptions<T extends Component> = { +export type UseModalTemplate<T extends Component> = { defaultModelValue?: boolean keepAlive?: boolean component?: T attrs?: ComponentProps<T> slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> } } -export type UseModalOptionsPrivate = { +export type UseModalTemplatePrivate = { id: symbol modelValue: boolean resolveOpened: () => void @@ -30,10 +30,10 @@ export type UseModalOptionsPrivate = { } export interface UseModalReturnType<T extends Component> { - options: UseModalOptions<T> & UseModalOptionsPrivate + template: UseModalTemplate<T> & UseModalTemplatePrivate open: () => Promise<string> close: () => Promise<string> - patchOptions: (options: Partial<UseModalOptions<T>>) => void + patchTemplate: (template: Partial<UseModalTemplate<T>>) => void destroy: () => void } @@ -42,13 +42,12 @@ export type Vfm = { modals: ComputedRef<ModalExposed>[] openedModals: ComputedRef<ModalExposed>[] openedModalOverlays: ComputedRef<ModalExposed>[] - vNodesContainer: VNodesContainer get: (modalId: ModalId) => undefined | ComputedRef<ModalExposed> toggle: (modalId: ModalId, show?: boolean) => undefined | Promise<string> open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> closeAll: () => Promise<PromiseSettledResult<string>[]> -} +} & Partial<CreateContainer> export type ModalExposed = { modalId: Ref<undefined | ModalId> @@ -57,10 +56,3 @@ export type ModalExposed = { overlayVisible: Ref<boolean> toggle: (show?: boolean) => Promise<string> } - -export type VNodesContainer = { - vNodes: VNode[] - containers: Ref<symbol[]> - push: (vNode: VNode) => void - remove: (vNode: VNode) => void -} diff --git a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts b/packages/vue-final-modal/src/types/VueFinalModalProps.ts similarity index 99% rename from packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts rename to packages/vue-final-modal/src/types/VueFinalModalProps.ts index dc6b3bbc..8ef27e13 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal/VueFinalModalProps.ts +++ b/packages/vue-final-modal/src/types/VueFinalModalProps.ts @@ -1,6 +1,6 @@ import type { Options } from 'focus-trap' import type { PropType, RendererElement, TransitionProps } from 'vue' -import type { ModalId, StyleValue } from '~/Modal' +import type { ModalId, StyleValue } from '~/types' /** * @see [Microsoft/TypeScript#29729](https://github.com/Microsoft/TypeScript/issues/29729) diff --git a/packages/vue-final-modal/src/types/index.ts b/packages/vue-final-modal/src/types/index.ts new file mode 100644 index 00000000..7e5ba8df --- /dev/null +++ b/packages/vue-final-modal/src/types/index.ts @@ -0,0 +1,4 @@ +export * from './Component' +export * from './CreateContainer' +export * from './Modal' +export * from './VueFinalModalProps' diff --git a/packages/vue-final-modal/src/useModal.ts b/packages/vue-final-modal/src/useModal.ts deleted file mode 100644 index 0e48e150..00000000 --- a/packages/vue-final-modal/src/useModal.ts +++ /dev/null @@ -1,143 +0,0 @@ -import type { Component } from 'vue' -import { markRaw, reactive } from 'vue' -import { isString, objectEntries } from './utils' -import { UseModal } from './components/UseModal' -import { isVNodeOptions, useVNode } from './useVNode' -import type { CreateVNodeOptions, UseModalOptions, UseModalOptionsPrivate, UseModalReturnType } from '.' -import { VueFinalModal } from '.' - -/** - * Create a dynamic modal. - */ -export function useModal<T extends Component = typeof VueFinalModal>(_options: UseModalOptions<T>): UseModalReturnType<T> { - const id = Symbol(__DEV__ ? 'useModal' : '') - - const options = reactive({ - id, - modelValue: !!_options?.defaultModelValue, - resolveOpened: () => { }, - resolveClosed: tryRemoveVNode, - attrs: {}, - ...withMarkRaw<T>(_options), - }) as UseModalOptions<T> & UseModalOptionsPrivate - - const { show, hide } = useVNode({ - component: UseModal, - attrs: { modal: options, key: id }, - }, { - onUnmounted: () => tryRemoveVNode(), - }) - - if (options.modelValue === true) - show() - - function open(): Promise<string> { - if (options.modelValue) - return Promise.resolve('[Vue Final Modal] modal is already opened.') - - tryRemoveVNode() - options.modelValue = true - show() - - return new Promise((resolve) => { - options.resolveOpened = () => resolve('opened') - }) - } - - function close(): Promise<string> { - if (!options.modelValue) - return Promise.resolve('[Vue Final Modal] modal is already closed.') - - options.modelValue = false - return new Promise((resolve) => { - options.resolveClosed = () => { - resolve('closed') - tryRemoveVNode() - } - }) - } - - function tryRemoveVNode() { - if (options.keepAlive) - return - hide() - } - - function patchOptions(_options: Partial<UseModalOptions<T>>) { - const { slots, ...rest } = withMarkRaw(_options, options.component) - - if (_options.defaultModelValue !== undefined) - options.defaultModelValue = _options.defaultModelValue - if (_options?.keepAlive !== undefined) - options.keepAlive = _options?.keepAlive - - // patch options.component and options.attrs - patchComponentOptions(options, rest) - - // patch options.slots - if (slots) { - objectEntries(slots).forEach(([name, slot]) => { - const originSlot = options.slots![name] - if (isString(originSlot)) - options.slots![name] = slot - else if (isVNodeOptions(originSlot) && isVNodeOptions(slot)) - patchComponentOptions(originSlot, slot) - else - options.slots![name] = slot - }) - } - } - - return { - options, - open, - close, - patchOptions, - destroy: () => hide(), - } -} - -function withMarkRaw<T extends Component>(options: Partial<UseModalOptions<T>>, DefaultComponent: Component = VueFinalModal) { - const { component, slots: innerSlots, ...rest } = options - - const slots: UseModalOptions<T>['slots'] = typeof innerSlots === 'undefined' - ? {} - : Object.fromEntries(objectEntries(innerSlots).map(([name, maybeComponent]) => { - if (isString(maybeComponent)) - return [name, maybeComponent] as const - - if (isVNodeOptions(maybeComponent)) { - return [name, { - ...maybeComponent, - component: markRaw(maybeComponent.component), - }] - } - - return [name, markRaw(maybeComponent as Component)] - })) as UseModalOptions<T>['slots'] - - return { - ...rest, - component: markRaw(component || DefaultComponent), - slots, - } -} - -function patchComponentOptions<T extends Component>( - options: UseModalOptions<T> | CreateVNodeOptions<Component>, - newOptions: Partial<UseModalOptions<T>> | CreateVNodeOptions<Component>, -) { - if (newOptions.component) - options.component = newOptions.component - - if (newOptions.attrs) - patchAttrs(options.attrs!, newOptions.attrs) -} - -function patchAttrs<T extends Record<string, any>>(attrs: T, newAttrs: Partial<T>): T { - Object.entries(newAttrs).forEach(([key, value]) => { - attrs[key as keyof T] = value as any - }) - - return attrs -} diff --git a/packages/vue-final-modal/src/useVNode.ts b/packages/vue-final-modal/src/useVNode.ts deleted file mode 100644 index facbff01..00000000 --- a/packages/vue-final-modal/src/useVNode.ts +++ /dev/null @@ -1,75 +0,0 @@ -import type { Component, VNode } from 'vue' -import { h as _h } from 'vue' -import { tryOnUnmounted } from '@vueuse/core' -import type { CreateVNodeOptions } from './Modal' -import { useSsrVfm, useVfm } from './useVfm' -import type { ComponentSlots } from './Component' -import { isString, objectEntries } from './utils' - -/** - * Create a vNode by passing `CreateVNodeOptions<T>` options. - */ -export function createVNode<T extends Component>(options: CreateVNodeOptions<T>) { - return _h(options.component, options.attrs, getSlots(options.slots)) -} - -/** - * A type helper for `CreateVNodeOptions<T>` - */ -export function h<T extends Component>(options: CreateVNodeOptions<T>) { - return options -} - -export function useVNode<T extends Component>(vNodeOptions: CreateVNodeOptions<T>, options?: { - onUnmounted?: (vNode: VNode) => void -}) { - if (vNodeOptions.attrs) { - const id = Symbol(__DEV__ ? 'createVNode' : '') - Object.assign(vNodeOptions.attrs, { key: id }) - } - const vNode = createVNode(vNodeOptions) - tryOnUnmounted(() => { - if (options?.onUnmounted) - options?.onUnmounted(vNode) - else - hide() - }) - - async function show() { - const vfm = await useSsrVfm() - vfm.vNodesContainer.push(vNode) - } - - async function hide() { - const vfm = useVfm() - vfm.vNodesContainer.remove(vNode) - } - - return { - show, - hide, - } -} - -export function isVNodeOptions<T extends Component>(value: unknown): value is CreateVNodeOptions<T> { - if (typeof value === 'object' && value !== null) - return 'component' in value - else - return false -} - -function getSlots<T extends Component>(slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | CreateVNodeOptions<Component> -}) { - return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | CreateVNodeOptions<Component> - if (isString(slot)) - acc[slotName] = () => _h('div', { innerHTML: slot }) - else if (isVNodeOptions(slot)) - acc[slotName] = () => _h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => _h(slot) - return acc - }, {}) -} diff --git a/packages/vue-final-modal/src/useVNodesContainer.ts b/packages/vue-final-modal/src/useVNodesContainer.ts deleted file mode 100644 index c8852eac..00000000 --- a/packages/vue-final-modal/src/useVNodesContainer.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { VNode } from 'vue' -import { ref, shallowReactive } from 'vue' -import type { VNodesContainer } from './Modal' - -export function useVNodesContainer(): VNodesContainer { - const vNodes: VNode[] = shallowReactive([]) - const containers = ref<symbol[]>([]) - - function push(vNode: VNode) { - if (!vNodes.includes(vNode)) - vNodes.push(vNode) - } - - function remove(vNode: VNode): void { - const index = vNodes.indexOf(vNode) - if (index !== undefined && index !== -1) - vNodes.splice(index, 1) - } - - const _vNodesContainer: VNodesContainer = { - vNodes, - containers, - push, - remove, - } - return _vNodesContainer -} diff --git a/packages/vue-final-modal/src/dom.ts b/packages/vue-final-modal/src/utils/dom.ts similarity index 100% rename from packages/vue-final-modal/src/dom.ts rename to packages/vue-final-modal/src/utils/dom.ts diff --git a/packages/vue-final-modal/src/utils.ts b/packages/vue-final-modal/src/utils/index.ts similarity index 97% rename from packages/vue-final-modal/src/utils.ts rename to packages/vue-final-modal/src/utils/index.ts index 6829ee70..132632e8 100644 --- a/packages/vue-final-modal/src/utils.ts +++ b/packages/vue-final-modal/src/utils/index.ts @@ -1,3 +1,5 @@ +export * from './dom' + export const once = (fn: null | ((...args: any[]) => void)) => (...args: any[]) => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbe20f4e..6eaf0309 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:5.0.0-beta.3 + specifier: workspace:5.0.0-beta.4 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -124,7 +124,7 @@ importers: specifier: 3.3.7 version: 3.3.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:5.0.0-beta.3 + specifier: workspace:5.0.0-beta.4 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 diff --git a/viteplay/src/components/VueFinalModal/Basic.example.vue b/viteplay/src/components/Basic.example.vue similarity index 87% rename from viteplay/src/components/VueFinalModal/Basic.example.vue rename to viteplay/src/components/Basic.example.vue index 9b09a641..be2de65b 100644 --- a/viteplay/src/components/VueFinalModal/Basic.example.vue +++ b/viteplay/src/components/Basic.example.vue @@ -1,7 +1,7 @@ <script setup lang="ts"> -import { ref } from 'vue' -import { ModalsContainer, VueFinalModal, h, useModal, useVNode, useVfm } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' +import { h, ref } from 'vue' +import { ModalsContainer, VueFinalModal, defineTemplate as _h, useModal, useTemplate, useVfm } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' import { modal } from './modalsHelpers' import TestModal from './TestModal.vue' @@ -28,19 +28,19 @@ const modal1 = useModal({ onBeforeOpen() { console.log('onBeforeOpen') }, }, slots: { - default: h({ + default: _h({ component: DefaultSlot, attrs: { text: '123', }, slots: { - default: h({ + default: _h({ component: DefaultSlot, attrs: { text: '456', }, slots: { - default: h({ + default: _h({ component: DefaultSlot, attrs: { text: '789', @@ -80,19 +80,19 @@ function clickOutside() { // show.value = true // }) -const { show: _show } = useVNode({ - component: DefaultSlot, - attrs: { - text: 'createVNode', - }, - slots: { - default: h({ - component: DefaultSlot, - attrs: { - text: '123456', - }, - }), - }, +const { show: _show } = useTemplate({ + component: () => h('div', null, 'test'), + // attrs: { + // text: 'useTemplate', + // }, + // slots: { + // default: h({ + // component: DefaultSlot, + // attrs: { + // text: '123456', + // }, + // }), + // }, // slots: { // default: h({ // component: DefaultSlot, diff --git a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue b/viteplay/src/components/BottomSheet.example.vue similarity index 84% rename from viteplay/src/components/VueFinalModal/BottomSheet.example.vue rename to viteplay/src/components/BottomSheet.example.vue index 544e6f3c..82eb5e40 100644 --- a/viteplay/src/components/VueFinalModal/BottomSheet.example.vue +++ b/viteplay/src/components/BottomSheet.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> -import { ModalsContainer, h, useModal } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' +import { ModalsContainer, defineTemplate, useModal } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' const bottomSheet = useModal({ attrs: { @@ -19,7 +19,7 @@ const bottomSheet = useModal({ contentTransition: { name: 'vfm-slide-down' }, }, slots: { - default: h({ + default: defineTemplate({ component: DefaultSlot, attrs: { text: 'a bottom sheet modal', diff --git a/viteplay/src/components/VueFinalModal/ConfirmModal.vue b/viteplay/src/components/ConfirmModal.vue similarity index 100% rename from viteplay/src/components/VueFinalModal/ConfirmModal.vue rename to viteplay/src/components/ConfirmModal.vue diff --git a/viteplay/src/components/DefaultSlot.vue b/viteplay/src/components/DefaultSlot.vue index 7bb1b346..5cd20ace 100644 --- a/viteplay/src/components/DefaultSlot.vue +++ b/viteplay/src/components/DefaultSlot.vue @@ -6,6 +6,7 @@ defineProps<{ }>() const emit = defineEmits<{ + (e: 'close'): void (e: 'create'): void }>() @@ -15,10 +16,12 @@ const count = ref(0) </script> <template> - <div style="height: 500px;"> + <div> <div>default slot component {{ text }}</div> - <button>Click Button!</button> <input v-model="count" type="number"> <slot /> + <button @click="() => emit('close')"> + Close + </button> </div> </template> diff --git a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue b/viteplay/src/components/Fullscreen.example.vue similarity index 79% rename from viteplay/src/components/VueFinalModal/Fullscreen.example.vue rename to viteplay/src/components/Fullscreen.example.vue index c2a008e9..2334f15c 100644 --- a/viteplay/src/components/VueFinalModal/Fullscreen.example.vue +++ b/viteplay/src/components/Fullscreen.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> -import { ModalsContainer, h, useModal } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' +import { ModalsContainer, defineTemplate, useModal } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' const modal = useModal({ attrs: { @@ -13,7 +13,7 @@ const modal = useModal({ }, }, slots: { - default: h({ + default: defineTemplate({ component: DefaultSlot, attrs: { text: 'a full screen modal', diff --git a/viteplay/src/components/VueFinalModal/NestedModal.example.vue b/viteplay/src/components/NestedModal.example.vue similarity index 100% rename from viteplay/src/components/VueFinalModal/NestedModal.example.vue rename to viteplay/src/components/NestedModal.example.vue diff --git a/viteplay/src/components/VueFinalModal/StopEvent.example.vue b/viteplay/src/components/StopEvent.example.vue similarity index 85% rename from viteplay/src/components/VueFinalModal/StopEvent.example.vue rename to viteplay/src/components/StopEvent.example.vue index 6fbed481..00facd4a 100644 --- a/viteplay/src/components/VueFinalModal/StopEvent.example.vue +++ b/viteplay/src/components/StopEvent.example.vue @@ -1,6 +1,6 @@ <script setup lang="ts"> -import { ModalsContainer, VueFinalModal, h, useModal } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' +import { ModalsContainer, VueFinalModal, defineTemplate, useModal } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' let count = 0 @@ -32,7 +32,7 @@ const modal = useModal({ }, }, slots: { - default: h({ + default: defineTemplate({ component: DefaultSlot, attrs: { text: 'This is an example of a modal with a default slot', diff --git a/viteplay/src/components/VueFinalModal/TestModal.vue b/viteplay/src/components/TestModal.vue similarity index 100% rename from viteplay/src/components/VueFinalModal/TestModal.vue rename to viteplay/src/components/TestModal.vue diff --git a/viteplay/src/components/UseTemplate by CreateContainer.example.vue b/viteplay/src/components/UseTemplate by CreateContainer.example.vue new file mode 100644 index 00000000..73917521 --- /dev/null +++ b/viteplay/src/components/UseTemplate by CreateContainer.example.vue @@ -0,0 +1,26 @@ +<script setup lang="ts"> +import { createContainer } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' + +const { Container, useTemplate } = createContainer() + +function appendTemplate() { + const { show, hide } = useTemplate({ + component: DefaultSlot, + attrs: { + text: 'appendComponent', + onClose: () => hide(), + }, + }) + + show() +} +</script> + +<template> + <button @click="() => appendTemplate()"> + appendTemplate + </button> + + <Container /> +</template> diff --git a/viteplay/src/components/UseTemplate.example.vue b/viteplay/src/components/UseTemplate.example.vue new file mode 100644 index 00000000..11213bf2 --- /dev/null +++ b/viteplay/src/components/UseTemplate.example.vue @@ -0,0 +1,22 @@ +<script setup lang="ts"> +import { ModalsContainer, useTemplate } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' + +const { show, hide } = useTemplate({ + component: DefaultSlot, + attrs: { + text: '123', + }, +}) +</script> + +<template> + <button @click="() => show()"> + show + </button> + <button @click="() => hide()"> + hide + </button> + + <ModalsContainer /> +</template> diff --git a/viteplay/src/components/VueFinalModal/CreateH.example.vue b/viteplay/src/components/VueFinalModal/CreateH.example.vue deleted file mode 100644 index c60cfceb..00000000 --- a/viteplay/src/components/VueFinalModal/CreateH.example.vue +++ /dev/null @@ -1,19 +0,0 @@ -<script setup lang="ts"> -import { ModalsContainer, useModal } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' - -useModal({ - defaultModelValue: true, - component: DefaultSlot, - attrs: { - text: '123', - onCreate() { - // console.log('onCreated') - }, - }, -}) -</script> - -<template> - <ModalsContainer /> -</template> diff --git a/viteplay/src/components/VueFinalModal/modalsHelpers.ts b/viteplay/src/components/modalsHelpers.ts similarity index 67% rename from viteplay/src/components/VueFinalModal/modalsHelpers.ts rename to viteplay/src/components/modalsHelpers.ts index 6f6777ce..f81ef143 100644 --- a/viteplay/src/components/VueFinalModal/modalsHelpers.ts +++ b/viteplay/src/components/modalsHelpers.ts @@ -1,12 +1,12 @@ -import { VueFinalModal, h, useModal } from 'vue-final-modal' -import DefaultSlot from '../DefaultSlot.vue' +import { VueFinalModal, defineTemplate, useModal } from 'vue-final-modal' +import DefaultSlot from './DefaultSlot.vue' console.log('helper') export const modal = useModal({ component: VueFinalModal, // defaultModelValue: true, slots: { - default: h({ + default: defineTemplate({ component: DefaultSlot, attrs: { text: '123', diff --git a/viteplay/vite.config.ts b/viteplay/vite.config.ts index 6a729844..0e0315bd 100644 --- a/viteplay/vite.config.ts +++ b/viteplay/vite.config.ts @@ -4,7 +4,7 @@ import Vue from '@vitejs/plugin-vue' import viteplay from '@viteplay/plugin' const componentPath = '../packages/vue-final-modal/src/components' -const examplesPath = '../../../../../viteplay/src/components' +const examplesPath = '../../../../viteplay/src/components' export default defineConfig({ resolve: { @@ -18,8 +18,8 @@ export default defineConfig({ pages: [ { title: 'VueFinalModal', - component: `${componentPath}/VueFinalModal/VueFinalModal.vue`, - examples: `${examplesPath}/VueFinalModal/*.example.vue`, + component: `${componentPath}/VueFinalModal.vue`, + examples: `${examplesPath}/*.example.vue`, }, ], // base route for the development pages From 0855ae0d5743e190623fd0fb61c499ea39e42ad9 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 31 Jan 2024 11:26:31 +0800 Subject: [PATCH 32/37] Release 5.0.0-beta.5 --- packages/vue-final-modal/CHANGELOG.md | 2 ++ packages/vue-final-modal/package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vue-final-modal/CHANGELOG.md b/packages/vue-final-modal/CHANGELOG.md index a6b97cc2..c84b7bb4 100644 --- a/packages/vue-final-modal/CHANGELOG.md +++ b/packages/vue-final-modal/CHANGELOG.md @@ -1,5 +1,7 @@ +# [5.0.0-beta.5](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.4...v5.0.0-beta.5) (2024-01-31) + # [5.0.0-beta.4](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.3...v5.0.0-beta.4) (2024-01-30) # [5.0.0-beta.3](https://github.com/vue-final/vue-final-modal/compare/v5.0.0-beta.2...v5.0.0-beta.3) (2024-01-30) diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 45be4e1e..e2a79969 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -1,7 +1,7 @@ { "name": "vue-final-modal", "private": false, - "version": "5.0.0-beta.4", + "version": "5.0.0-beta.5", "type": "module", "source": "src/index.ts", "main": "./dist/index.umd.js", From e3206c065bd794638957bad9714fd4133cce8389 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 31 Jan 2024 11:27:29 +0800 Subject: [PATCH 33/37] bump 5.0.0-beta.6 --- docs/package.json | 2 +- pnpm-lock.yaml | 4 ++-- viteplay/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/package.json b/docs/package.json index 2f1bafb8..cefa5af9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@vorms/core": "^1.1.0", "@vue-final-modal/nuxt": "workspace:1.0.3", - "vue-final-modal": "workspace:5.0.0-beta.4", + "vue-final-modal": "workspace:5.0.0-beta.5", "vue3-drag-resize": "^2.0.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6eaf0309..e51ca148 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: workspace:1.0.3 version: link:../packages/nuxt vue-final-modal: - specifier: workspace:5.0.0-beta.4 + specifier: workspace:5.0.0-beta.5 version: link:../packages/vue-final-modal vue3-drag-resize: specifier: ^2.0.5 @@ -124,7 +124,7 @@ importers: specifier: 3.3.7 version: 3.3.7(typescript@5.3.3) vue-final-modal: - specifier: workspace:5.0.0-beta.4 + specifier: workspace:5.0.0-beta.5 version: link:../packages/vue-final-modal vue-router: specifier: ^4.2.5 diff --git a/viteplay/package.json b/viteplay/package.json index 2fea15f1..19d2157b 100644 --- a/viteplay/package.json +++ b/viteplay/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "vue": "3.3.7", - "vue-final-modal": "workspace:5.0.0-beta.4", + "vue-final-modal": "workspace:5.0.0-beta.5", "vue-router": "^4.2.5" }, "devDependencies": { From 5c1213928813ff46bf9618014adbd792b7bcf480 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Wed, 14 Feb 2024 21:35:18 +0800 Subject: [PATCH 34/37] refactor: extract createContainer and useTemplate --- .../src/components/UseModal.ts | 2 +- .../src/composables/useModal.ts | 4 +- .../src/composables/useTemplate.ts | 43 +------------------ .../useTemplate/index.ts} | 42 +++++++++++++++++- .../useTemplate/types.ts} | 10 ++++- packages/vue-final-modal/src/index.ts | 6 ++- packages/vue-final-modal/src/plugin.ts | 2 +- packages/vue-final-modal/src/types/Modal.ts | 10 +---- packages/vue-final-modal/src/types/index.ts | 2 +- 9 files changed, 62 insertions(+), 59 deletions(-) rename packages/vue-final-modal/src/{createContainer.ts => composables/useTemplate/index.ts} (53%) rename packages/vue-final-modal/src/{types/CreateContainer.ts => composables/useTemplate/types.ts} (55%) diff --git a/packages/vue-final-modal/src/components/UseModal.ts b/packages/vue-final-modal/src/components/UseModal.ts index b6633404..4633645e 100644 --- a/packages/vue-final-modal/src/components/UseModal.ts +++ b/packages/vue-final-modal/src/components/UseModal.ts @@ -1,7 +1,7 @@ import type { Component, PropType } from 'vue' import { defineComponent } from 'vue' import type { UseModalTemplate, UseModalTemplatePrivate } from '~/types' -import { templateToVNode } from '~/composables/useTemplate' +import { templateToVNode } from '~/composables/useTemplate/index' export const UseModal = defineComponent({ name: 'UseModal', diff --git a/packages/vue-final-modal/src/composables/useModal.ts b/packages/vue-final-modal/src/composables/useModal.ts index 6e088f6b..49c7a4d1 100644 --- a/packages/vue-final-modal/src/composables/useModal.ts +++ b/packages/vue-final-modal/src/composables/useModal.ts @@ -1,6 +1,8 @@ import type { Component } from 'vue' import { markRaw, reactive } from 'vue' -import { isTemplate, useTemplate } from '~/composables/useTemplate' +import { useTemplate } from './useTemplate' +import { isTemplate } from '~/composables/useTemplate/index' + import { UseModal } from '~/components/UseModal' import { isString, objectEntries } from '~/utils' import VueFinalModal from '~/components/VueFinalModal.vue' diff --git a/packages/vue-final-modal/src/composables/useTemplate.ts b/packages/vue-final-modal/src/composables/useTemplate.ts index 9fb0d31c..f4122d3e 100644 --- a/packages/vue-final-modal/src/composables/useTemplate.ts +++ b/packages/vue-final-modal/src/composables/useTemplate.ts @@ -1,22 +1,6 @@ -import type { Component, VNode } from 'vue' -import { h as _h } from 'vue' +import type { Component } from 'vue' import { useSsrVfm, useVfm } from '~/composables/useVfm' -import { isString, objectEntries } from '~/utils' -import type { ComponentSlots, Template, UseTemplate } from '~/types' - -/** - * Create a vNode by passing template. - */ -export function templateToVNode<T extends Component>(template: Template<T>): VNode { - return _h(template.component, template.attrs, getSlots(template.slots)) -} - -/** - * A type helper to define a template - */ -export function defineTemplate<T extends Component>(template: Template<T>) { - return template -} +import type { Template, UseTemplate } from '~/types' export const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { onUnmounted?: () => void @@ -41,26 +25,3 @@ export const useTemplate: UseTemplate = <T extends Component>(template: Template return { show, hide } } - -export function isTemplate<T extends Component>(value: unknown): value is Template<T> { - if (typeof value === 'object' && value !== null) - return 'component' in value - else - return false -} - -function getSlots<T extends Component>(slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> -}) { - return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | Template<Component> - if (isString(slot)) - acc[slotName] = () => _h('div', { innerHTML: slot }) - else if (isTemplate(slot)) - acc[slotName] = () => _h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => _h(slot) - return acc - }, {}) -} diff --git a/packages/vue-final-modal/src/createContainer.ts b/packages/vue-final-modal/src/composables/useTemplate/index.ts similarity index 53% rename from packages/vue-final-modal/src/createContainer.ts rename to packages/vue-final-modal/src/composables/useTemplate/index.ts index 8bf8f473..fdc85d43 100644 --- a/packages/vue-final-modal/src/createContainer.ts +++ b/packages/vue-final-modal/src/composables/useTemplate/index.ts @@ -1,8 +1,9 @@ import type { Component, VNode } from 'vue' -import { computed, defineComponent, onBeforeUnmount, ref, shallowReactive } from 'vue' +import { computed, defineComponent, h, onBeforeUnmount, ref, shallowReactive } from 'vue' import { tryOnUnmounted } from '@vueuse/core' -import { templateToVNode } from './composables/useTemplate' import type { CreateContainer, Template, UseTemplate } from './types' +import type { ComponentSlots } from '~/types' +import { isString, objectEntries } from '~/utils' export function createContainer(options?: { name?: string }): CreateContainer { const vNodes: VNode[] = shallowReactive([]) @@ -55,3 +56,40 @@ export function createContainer(options?: { name?: string }): CreateContainer { useTemplate, } } + +/** + * Create a vNode by passing template. + */ +export function templateToVNode<T extends Component>(template: Template<T>): VNode { + return h(template.component, template.attrs, getSlots(template.slots)) +} + +/** + * A type helper to define a template + */ +export function defineTemplate<T extends Component>(template: Template<T>) { + return template +} + +export function isTemplate<T extends Component>(value: unknown): value is Template<T> { + if (typeof value === 'object' && value !== null) + return 'component' in value + else + return false +} + +function getSlots<T extends Component>(slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> +}) { + return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { + const slotName = cur[0] as string + const slot = cur[1] as string | Component | Template<Component> + if (isString(slot)) + acc[slotName] = () => h('div', { innerHTML: slot }) + else if (isTemplate(slot)) + acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) + else + acc[slotName] = () => h(slot) + return acc + }, {}) +} diff --git a/packages/vue-final-modal/src/types/CreateContainer.ts b/packages/vue-final-modal/src/composables/useTemplate/types.ts similarity index 55% rename from packages/vue-final-modal/src/types/CreateContainer.ts rename to packages/vue-final-modal/src/composables/useTemplate/types.ts index 2dae93c2..16e10db0 100644 --- a/packages/vue-final-modal/src/types/CreateContainer.ts +++ b/packages/vue-final-modal/src/composables/useTemplate/types.ts @@ -1,5 +1,13 @@ import type { Component } from 'vue' -import type { Template } from './Modal' +import type { ComponentProps, ComponentSlots } from '~/types' + +export type Template<T extends Component> = { + component: T + attrs?: ComponentProps<T> + slots?: { + [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> + } +} export type CreateContainer = { Container: Component diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 8c1abd52..359b7773 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -8,7 +8,6 @@ export * from './types' /** Plugin */ export { createVfm } from './plugin' -export { createContainer } from './createContainer' /** Components */ export { @@ -18,9 +17,12 @@ export { export type { VueFinalModalEmits } from './components/VueFinalModal.vue' +/** Special composable */ +export { templateToVNode, defineTemplate, createContainer } from './composables/useTemplate/index' + /** Composables */ -export { templateToVNode, useTemplate, defineTemplate } from './composables/useTemplate' export { useVfm } from './composables/useVfm' +export { useTemplate } from './composables/useTemplate' export { useModal } from './composables/useModal' export { useVfmAttrs } from './composables/useVfmAttrs' diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index a74ab4a2..b05e2717 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -2,7 +2,7 @@ import type { App, ComputedRef } from 'vue' import { getCurrentInstance, inject, markRaw, shallowReactive } from 'vue' import { vfmSymbol } from './injectionSymbols' import { noop } from './utils' -import { createContainer } from './createContainer' +import { createContainer } from './composables/useTemplate/index' import type { ModalExposed, ModalId, Vfm } from './types' // eslint-disable-next-line import/no-mutable-exports diff --git a/packages/vue-final-modal/src/types/Modal.ts b/packages/vue-final-modal/src/types/Modal.ts index 16249c59..5d76f4a6 100644 --- a/packages/vue-final-modal/src/types/Modal.ts +++ b/packages/vue-final-modal/src/types/Modal.ts @@ -1,17 +1,9 @@ import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' -import type { ComponentProps, ComponentSlots, CreateContainer } from '~/types' +import type { ComponentProps, ComponentSlots, CreateContainer, Template } from '~/types' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] -export type Template<T extends Component> = { - component: T - attrs?: ComponentProps<T> - slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> - } -} - export type UseModalTemplate<T extends Component> = { defaultModelValue?: boolean keepAlive?: boolean diff --git a/packages/vue-final-modal/src/types/index.ts b/packages/vue-final-modal/src/types/index.ts index 7e5ba8df..f92aacfb 100644 --- a/packages/vue-final-modal/src/types/index.ts +++ b/packages/vue-final-modal/src/types/index.ts @@ -1,4 +1,4 @@ export * from './Component' -export * from './CreateContainer' +export * from '../composables/useTemplate/types' export * from './Modal' export * from './VueFinalModalProps' From d475a63cc78be07c6fe72f81dbb6ef85df1a8610 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Thu, 15 Feb 2024 01:18:27 +0800 Subject: [PATCH 35/37] refactor: extract vue-use-template to another library --- packages/vue-final-modal/package.json | 6 +- .../src/components/UseModal.ts | 2 +- .../src/composables/useModal.ts | 6 +- .../src/composables/useTemplate.ts | 2 +- .../src/composables/useTemplate/index.ts | 95 ------------------- .../src/composables/useTemplate/types.ts | 23 ----- packages/vue-final-modal/src/index.ts | 3 +- packages/vue-final-modal/src/plugin.ts | 2 +- packages/vue-final-modal/src/types/Modal.ts | 4 +- packages/vue-final-modal/src/types/index.ts | 1 - packages/vue-final-modal/vite.config.ts | 2 + pnpm-lock.yaml | 19 ++++ 12 files changed, 35 insertions(+), 130 deletions(-) delete mode 100644 packages/vue-final-modal/src/composables/useTemplate/index.ts delete mode 100644 packages/vue-final-modal/src/composables/useTemplate/types.ts diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index e2a79969..2fbdd57c 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -38,13 +38,15 @@ "focus-trap": "^7.5.4", "release-it": "^16.1.3", "vite-plugin-dts": "^3.6.3", - "vue": "3.3.7" + "vue": "3.3.7", + "vue-use-template": "0.0.0-beta.3" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", - "vue": ">=3.0.0" + "vue": ">=3.0.0", + "vue-use-template": "0.0.0-beta.3" }, "homepage": "https://vue-final-modal.org/", "bugs": { diff --git a/packages/vue-final-modal/src/components/UseModal.ts b/packages/vue-final-modal/src/components/UseModal.ts index 4633645e..8d7bc62c 100644 --- a/packages/vue-final-modal/src/components/UseModal.ts +++ b/packages/vue-final-modal/src/components/UseModal.ts @@ -1,7 +1,7 @@ import type { Component, PropType } from 'vue' import { defineComponent } from 'vue' +import { templateToVNode } from 'vue-use-template' import type { UseModalTemplate, UseModalTemplatePrivate } from '~/types' -import { templateToVNode } from '~/composables/useTemplate/index' export const UseModal = defineComponent({ name: 'UseModal', diff --git a/packages/vue-final-modal/src/composables/useModal.ts b/packages/vue-final-modal/src/composables/useModal.ts index 49c7a4d1..727a46ff 100644 --- a/packages/vue-final-modal/src/composables/useModal.ts +++ b/packages/vue-final-modal/src/composables/useModal.ts @@ -1,12 +1,12 @@ import type { Component } from 'vue' import { markRaw, reactive } from 'vue' +import type { Template } from 'vue-use-template' +import { isTemplate } from 'vue-use-template' import { useTemplate } from './useTemplate' -import { isTemplate } from '~/composables/useTemplate/index' - import { UseModal } from '~/components/UseModal' import { isString, objectEntries } from '~/utils' import VueFinalModal from '~/components/VueFinalModal.vue' -import type { Template, UseModalReturnType, UseModalTemplate, UseModalTemplatePrivate } from '~/types' +import type { UseModalReturnType, UseModalTemplate, UseModalTemplatePrivate } from '~/types' /** * Create a dynamic modal. diff --git a/packages/vue-final-modal/src/composables/useTemplate.ts b/packages/vue-final-modal/src/composables/useTemplate.ts index f4122d3e..8f07f3bd 100644 --- a/packages/vue-final-modal/src/composables/useTemplate.ts +++ b/packages/vue-final-modal/src/composables/useTemplate.ts @@ -1,6 +1,6 @@ import type { Component } from 'vue' +import type { Template, UseTemplate } from 'vue-use-template' import { useSsrVfm, useVfm } from '~/composables/useVfm' -import type { Template, UseTemplate } from '~/types' export const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { onUnmounted?: () => void diff --git a/packages/vue-final-modal/src/composables/useTemplate/index.ts b/packages/vue-final-modal/src/composables/useTemplate/index.ts deleted file mode 100644 index fdc85d43..00000000 --- a/packages/vue-final-modal/src/composables/useTemplate/index.ts +++ /dev/null @@ -1,95 +0,0 @@ -import type { Component, VNode } from 'vue' -import { computed, defineComponent, h, onBeforeUnmount, ref, shallowReactive } from 'vue' -import { tryOnUnmounted } from '@vueuse/core' -import type { CreateContainer, Template, UseTemplate } from './types' -import type { ComponentSlots } from '~/types' -import { isString, objectEntries } from '~/utils' - -export function createContainer(options?: { name?: string }): CreateContainer { - const vNodes: VNode[] = shallowReactive([]) - const containers = ref<symbol[]>([]) - const name = options?.name || 'Container' - - const Container = defineComponent({ - name, - setup() { - const uid = Symbol(__DEV__ ? name : '') - const shouldMount = computed(() => uid === containers.value?.[0]) - - containers.value.push(uid) - onBeforeUnmount(() => { - containers.value = containers.value.filter(i => i !== uid) - }) - - return () => shouldMount.value ? vNodes : null - }, - }) - - function pushVNode(vNode: VNode) { - if (!vNodes.includes(vNode)) - vNodes.push(vNode) - } - - function deleteVNode(vNode: VNode): void { - const index = vNodes.indexOf(vNode) - if (index !== undefined && index !== -1) - vNodes.splice(index, 1) - } - - const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { - onUnmounted?: () => void - }) => { - if (template.attrs) - Object.assign(template.attrs, { key: Symbol(__DEV__ ? 'vNodeId' : '') }) - - const vNode = templateToVNode(template) - const show = async () => pushVNode(vNode) - const hide = async () => deleteVNode(vNode) - - tryOnUnmounted(() => options?.onUnmounted ? options.onUnmounted() : hide()) - - return { show, hide } - } - - return { - Container, - useTemplate, - } -} - -/** - * Create a vNode by passing template. - */ -export function templateToVNode<T extends Component>(template: Template<T>): VNode { - return h(template.component, template.attrs, getSlots(template.slots)) -} - -/** - * A type helper to define a template - */ -export function defineTemplate<T extends Component>(template: Template<T>) { - return template -} - -export function isTemplate<T extends Component>(value: unknown): value is Template<T> { - if (typeof value === 'object' && value !== null) - return 'component' in value - else - return false -} - -function getSlots<T extends Component>(slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> -}) { - return objectEntries(slots || {}).reduce<Record<string, () => VNode>>((acc, cur) => { - const slotName = cur[0] as string - const slot = cur[1] as string | Component | Template<Component> - if (isString(slot)) - acc[slotName] = () => h('div', { innerHTML: slot }) - else if (isTemplate(slot)) - acc[slotName] = () => h(slot.component, slot.attrs, slot.slots ? getSlots(slot.slots) : undefined) - else - acc[slotName] = () => h(slot) - return acc - }, {}) -} diff --git a/packages/vue-final-modal/src/composables/useTemplate/types.ts b/packages/vue-final-modal/src/composables/useTemplate/types.ts deleted file mode 100644 index 16e10db0..00000000 --- a/packages/vue-final-modal/src/composables/useTemplate/types.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { Component } from 'vue' -import type { ComponentProps, ComponentSlots } from '~/types' - -export type Template<T extends Component> = { - component: T - attrs?: ComponentProps<T> - slots?: { - [K in keyof ComponentSlots<T>]?: string | Component | Template<Component> - } -} - -export type CreateContainer = { - Container: Component - useTemplate: UseTemplate -} - -export type UseTemplate = <T extends Component>( - template: Template<T>, - options?: { onUnmounted?: (() => void) } -) => { - show: () => Promise<void> - hide: () => Promise<void> -} diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 359b7773..961012ae 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -17,8 +17,7 @@ export { export type { VueFinalModalEmits } from './components/VueFinalModal.vue' -/** Special composable */ -export { templateToVNode, defineTemplate, createContainer } from './composables/useTemplate/index' +export * from 'vue-use-template' /** Composables */ export { useVfm } from './composables/useVfm' diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index b05e2717..3fd10fd6 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,8 +1,8 @@ import type { App, ComputedRef } from 'vue' import { getCurrentInstance, inject, markRaw, shallowReactive } from 'vue' +import { createContainer } from 'vue-use-template' import { vfmSymbol } from './injectionSymbols' import { noop } from './utils' -import { createContainer } from './composables/useTemplate/index' import type { ModalExposed, ModalId, Vfm } from './types' // eslint-disable-next-line import/no-mutable-exports diff --git a/packages/vue-final-modal/src/types/Modal.ts b/packages/vue-final-modal/src/types/Modal.ts index 5d76f4a6..ae3914c7 100644 --- a/packages/vue-final-modal/src/types/Modal.ts +++ b/packages/vue-final-modal/src/types/Modal.ts @@ -1,5 +1,7 @@ import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' -import type { ComponentProps, ComponentSlots, CreateContainer, Template } from '~/types' +import type { CreateContainer, Template } from 'vue-use-template' + +import type { ComponentProps, ComponentSlots } from '~/types' export type ModalId = number | string | symbol export type StyleValue = string | CSSProperties | (string | CSSProperties)[] diff --git a/packages/vue-final-modal/src/types/index.ts b/packages/vue-final-modal/src/types/index.ts index f92aacfb..9d84fa7b 100644 --- a/packages/vue-final-modal/src/types/index.ts +++ b/packages/vue-final-modal/src/types/index.ts @@ -1,4 +1,3 @@ export * from './Component' -export * from '../composables/useTemplate/types' export * from './Modal' export * from './VueFinalModalProps' diff --git a/packages/vue-final-modal/vite.config.ts b/packages/vue-final-modal/vite.config.ts index 59203848..16eb69e8 100644 --- a/packages/vue-final-modal/vite.config.ts +++ b/packages/vue-final-modal/vite.config.ts @@ -30,6 +30,7 @@ export default defineConfig({ '@vueuse/core', '@vueuse/integrations/useFocusTrap', 'focus-trap', + 'vue-use-template', ], output: { globals: { @@ -37,6 +38,7 @@ export default defineConfig({ '@vueuse/core': 'VueUse', '@vueuse/integrations/useFocusTrap': 'VueUseFocusTrap', 'focus-trap': 'FocusTrap', + 'vue-use-template': 'VueUseTemplate', }, }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e51ca148..22df7ce5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,6 +117,9 @@ importers: vue: specifier: 3.3.7 version: 3.3.7(typescript@5.3.3) + vue-use-template: + specifier: 0.0.0-beta.3 + version: 0.0.0-beta.3(@vueuse/core@10.7.1)(vue-component-type-helpers@1.8.27)(vue@3.3.7) viteplay: dependencies: @@ -16142,6 +16145,10 @@ packages: typescript: 5.3.3 dev: true + /vue-component-type-helpers@1.8.27: + resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} + dev: true + /vue-demi@0.14.6(vue@3.3.7): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} @@ -16266,6 +16273,18 @@ packages: typescript: 5.3.3 dev: true + /vue-use-template@0.0.0-beta.3(@vueuse/core@10.7.1)(vue-component-type-helpers@1.8.27)(vue@3.3.7): + resolution: {integrity: sha512-8bV7ke0a3X0Ddwv7cqu0Y4wgOV4oFy3HF2T+sd+8funvAvt7kbD3UpJ1A58kjEkfCr9wcR1ozmu2E113+UuIuQ==} + peerDependencies: + '@vueuse/core': ^10.7.2 + vue: '>=3.0.0' + vue-component-type-helpers: '>=1.8.27' + dependencies: + '@vueuse/core': 10.7.1(vue@3.3.7) + vue: 3.3.7(typescript@5.3.3) + vue-component-type-helpers: 1.8.27 + dev: true + /vue3-drag-resize@2.0.5: resolution: {integrity: sha512-7ein6vCC9LN6fsO3o9mYgmoldU9c/O2oyw9U5cqAJP21Mj2yQ8OGNPzEZfen6QltgLMfAOXv4iPIdE0EXFezGA==} dev: false From f2a86b9eaa1114f3cbe7a8fb8bc6c0666e984bcf Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Fri, 16 Feb 2024 17:32:00 +0800 Subject: [PATCH 36/37] fix: #424 --- .../components/ModalCloseByScopedSlot.vue | 11 ++++++++ .../cypress/components/scopedSlots.spec.ts | 27 +++++++++++++++++++ .../src/components/VueFinalModal.vue | 9 +++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 packages/vue-final-modal/cypress/components/ModalCloseByScopedSlot.vue create mode 100644 packages/vue-final-modal/cypress/components/scopedSlots.spec.ts diff --git a/packages/vue-final-modal/cypress/components/ModalCloseByScopedSlot.vue b/packages/vue-final-modal/cypress/components/ModalCloseByScopedSlot.vue new file mode 100644 index 00000000..5a29d139 --- /dev/null +++ b/packages/vue-final-modal/cypress/components/ModalCloseByScopedSlot.vue @@ -0,0 +1,11 @@ +<script setup lang="ts"> +import { VueFinalModal } from '~/index' +</script> + +<template> + <VueFinalModal v-slot="{ close }"> + <button @click="() => close()"> + Close + </button> + </VueFinalModal> +</template> diff --git a/packages/vue-final-modal/cypress/components/scopedSlots.spec.ts b/packages/vue-final-modal/cypress/components/scopedSlots.spec.ts new file mode 100644 index 00000000..afbf778e --- /dev/null +++ b/packages/vue-final-modal/cypress/components/scopedSlots.spec.ts @@ -0,0 +1,27 @@ +import App from './App.vue' +import ModalCloseByScopedSlot from './ModalCloseByScopedSlot.vue' +import { createVfm, useModal } from '~/index' + +describe('Test scopedSlot', () => { + it('close() scoped slot ', () => { + const vfm = createVfm() + + cy.mount(App, { + global: { + plugins: [vfm], + stubs: { transition: false }, + }, + }).as('app') + + const modalName = 'modal-close-by-scoped-slot' + useModal({ + defaultModelValue: true, + component: ModalCloseByScopedSlot, + attrs: { class: modalName }, + }) + + cy.get(`.${modalName}`).should('exist') + cy.get(`.${modalName}`).find('button').click() + cy.get(`.${modalName}`).should('not.exist') + }) +}) diff --git a/packages/vue-final-modal/src/components/VueFinalModal.vue b/packages/vue-final-modal/src/components/VueFinalModal.vue index e17c84f8..7a18dd08 100644 --- a/packages/vue-final-modal/src/components/VueFinalModal.vue +++ b/packages/vue-final-modal/src/components/VueFinalModal.vue @@ -35,7 +35,7 @@ const emit = defineEmits<VueFinalModalEmits>() const attrs = useAttrs() defineSlots<{ - 'default'?(props: { close: () => boolean }): void + 'default'?(props: { close: () => void }): void 'swipe-banner'?(): void }>() @@ -131,6 +131,11 @@ function close(): boolean { return true } +/** Close function for scoped slot */ +function _close() { + modelValueLocal.value = false +} + async function openLastOverlay() { await nextTick() // Found the modals which has overlay and has `auto` overlayBehavior @@ -191,7 +196,7 @@ export default { v-bind="bindSwipe" @mousedown="() => onMousedown()" > - <slot v-bind="{ close }" /> + <slot v-bind="{ close: _close }" /> <div v-if="showSwipeBanner" From 0a651725cd592e5179d90d69af8c6046955c51b0 Mon Sep 17 00:00:00 2001 From: Hunter <hunterliu1003@gmail.com> Date: Fri, 16 Feb 2024 17:36:57 +0800 Subject: [PATCH 37/37] refactor: vue-use-template@0.0.0-beta.5 and fix test --- packages/vue-final-modal/package.json | 9 +- .../src/components/ModalsContainer.ts | 11 +- .../src/composables/useModal.ts | 3 +- .../src/composables/useTemplate.ts | 27 - packages/vue-final-modal/src/index.ts | 1 - packages/vue-final-modal/src/plugin.ts | 12 +- packages/vue-final-modal/src/types/Modal.ts | 4 +- pnpm-lock.yaml | 7894 ++++++----------- ...UseTemplate by CreateContainer.example.vue | 4 +- 9 files changed, 2951 insertions(+), 5014 deletions(-) delete mode 100644 packages/vue-final-modal/src/composables/useTemplate.ts diff --git a/packages/vue-final-modal/package.json b/packages/vue-final-modal/package.json index 2fbdd57c..77ffe91d 100644 --- a/packages/vue-final-modal/package.json +++ b/packages/vue-final-modal/package.json @@ -24,29 +24,28 @@ "scripts": { "dev": "vite build -w", "build": "vite build", - "cypress:open": "cypress open --browser chrome --component", + "cypress:open": "cypress open --browser electron --component", "cypress:run": "cypress run --browser chrome --component", "typecheck": "vue-tsc --noEmit", "release": "pnpm build && pnpm cypress:run && release-it" }, "devDependencies": { - "@cypress/vue": "^5.0.5", "@release-it/conventional-changelog": "^5.1.1", "@vueuse/core": "^10.7.1", "@vueuse/integrations": "^10.7.1", - "cypress": "^13.6.0", + "cypress": "^13.6.4", "focus-trap": "^7.5.4", "release-it": "^16.1.3", "vite-plugin-dts": "^3.6.3", "vue": "3.3.7", - "vue-use-template": "0.0.0-beta.3" + "vue-use-template": "0.0.0-beta.5" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "@vueuse/integrations": ">=10.0.0", "focus-trap": ">=7.2.0", "vue": ">=3.0.0", - "vue-use-template": "0.0.0-beta.3" + "vue-use-template": "0.0.0-beta.5" }, "homepage": "https://vue-final-modal.org/", "bugs": { diff --git a/packages/vue-final-modal/src/components/ModalsContainer.ts b/packages/vue-final-modal/src/components/ModalsContainer.ts index efa6c04a..5755812e 100644 --- a/packages/vue-final-modal/src/components/ModalsContainer.ts +++ b/packages/vue-final-modal/src/components/ModalsContainer.ts @@ -1,10 +1,3 @@ -import { defineComponent, h } from 'vue' -import { useVfm } from '~/composables/useVfm' +import { Container } from 'vue-use-template' -export const ModalsContainer = defineComponent({ - name: 'ModalsContainer', - setup() { - const { Container } = useVfm() - return () => Container ? h(Container) : null - }, -}) +export const ModalsContainer = Container diff --git a/packages/vue-final-modal/src/composables/useModal.ts b/packages/vue-final-modal/src/composables/useModal.ts index 727a46ff..b8b065f8 100644 --- a/packages/vue-final-modal/src/composables/useModal.ts +++ b/packages/vue-final-modal/src/composables/useModal.ts @@ -1,8 +1,7 @@ import type { Component } from 'vue' import { markRaw, reactive } from 'vue' import type { Template } from 'vue-use-template' -import { isTemplate } from 'vue-use-template' -import { useTemplate } from './useTemplate' +import { isTemplate, useTemplate } from 'vue-use-template' import { UseModal } from '~/components/UseModal' import { isString, objectEntries } from '~/utils' import VueFinalModal from '~/components/VueFinalModal.vue' diff --git a/packages/vue-final-modal/src/composables/useTemplate.ts b/packages/vue-final-modal/src/composables/useTemplate.ts deleted file mode 100644 index 8f07f3bd..00000000 --- a/packages/vue-final-modal/src/composables/useTemplate.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { Component } from 'vue' -import type { Template, UseTemplate } from 'vue-use-template' -import { useSsrVfm, useVfm } from '~/composables/useVfm' - -export const useTemplate: UseTemplate = <T extends Component>(template: Template<T>, options?: { - onUnmounted?: () => void -}) => { - let _template: undefined | ReturnType<UseTemplate> - - async function show() { - if (!_template) { - const { useTemplate } = await useSsrVfm() - _template = useTemplate?.(template, options) - } - _template?.show() - } - - async function hide() { - if (!_template) { - const { useTemplate } = useVfm() - _template = useTemplate?.(template, options) - } - _template?.hide() - } - - return { show, hide } -} diff --git a/packages/vue-final-modal/src/index.ts b/packages/vue-final-modal/src/index.ts index 961012ae..d01f9ab9 100644 --- a/packages/vue-final-modal/src/index.ts +++ b/packages/vue-final-modal/src/index.ts @@ -21,7 +21,6 @@ export * from 'vue-use-template' /** Composables */ export { useVfm } from './composables/useVfm' -export { useTemplate } from './composables/useTemplate' export { useModal } from './composables/useModal' export { useVfmAttrs } from './composables/useVfmAttrs' diff --git a/packages/vue-final-modal/src/plugin.ts b/packages/vue-final-modal/src/plugin.ts index 3fd10fd6..bf43bd92 100644 --- a/packages/vue-final-modal/src/plugin.ts +++ b/packages/vue-final-modal/src/plugin.ts @@ -1,6 +1,6 @@ import type { App, ComputedRef } from 'vue' import { getCurrentInstance, inject, markRaw, shallowReactive } from 'vue' -import { createContainer } from 'vue-use-template' +import { createTemplatePlugin } from 'vue-use-template' import { vfmSymbol } from './injectionSymbols' import { noop } from './utils' import type { ModalExposed, ModalId, Vfm } from './types' @@ -16,8 +16,6 @@ export const defaultVfm: Vfm = { modals: [], openedModals: [], openedModalOverlays: [], - Container: undefined, - useTemplate: undefined, get: () => undefined, toggle: () => undefined, open: () => undefined, @@ -32,19 +30,17 @@ export function createVfm() { const modals: ComputedRef<ModalExposed>[] = shallowReactive([]) const openedModals: ComputedRef<ModalExposed>[] = shallowReactive([]) const openedModalOverlays: ComputedRef<ModalExposed>[] = shallowReactive([]) - - const { Container, useTemplate } = createContainer() - + const templatePlugin = createTemplatePlugin() + const vfm: Vfm = markRaw({ install(app: App) { + app.use(templatePlugin) app.provide(vfmSymbol, vfm) app.config.globalProperties.$vfm = vfm }, modals, openedModals, openedModalOverlays, - Container, - useTemplate, get(modalId: ModalId) { return modals.find(modal => modal.value?.modalId?.value === modalId) }, diff --git a/packages/vue-final-modal/src/types/Modal.ts b/packages/vue-final-modal/src/types/Modal.ts index ae3914c7..78ba4728 100644 --- a/packages/vue-final-modal/src/types/Modal.ts +++ b/packages/vue-final-modal/src/types/Modal.ts @@ -1,5 +1,5 @@ import type { App, CSSProperties, Component, ComputedRef, Ref } from 'vue' -import type { CreateContainer, Template } from 'vue-use-template' +import type { Template } from 'vue-use-template' import type { ComponentProps, ComponentSlots } from '~/types' @@ -41,7 +41,7 @@ export type Vfm = { open: (modalId: ModalId) => undefined | Promise<string> close: (modalId: ModalId) => undefined | Promise<string> closeAll: () => Promise<PromiseSettledResult<string>[]> -} & Partial<CreateContainer> +} export type ModalExposed = { modalId: Ref<undefined | ModalId> diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22df7ce5..ce7ade3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,28 +10,28 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^0.37.0 - version: 0.37.0(eslint@8.54.0)(typescript@5.3.3) + version: 0.37.0(eslint@8.56.0)(typescript@5.3.3) '@types/node': specifier: ^20.10.0 - version: 20.10.4 + version: 20.11.19 '@vitejs/plugin-vue': specifier: ^4.5.0 - version: 4.5.0(vite@5.0.6)(vue@3.3.7) + version: 4.6.2(vite@5.1.1)(vue@3.3.7) concurrently: specifier: ^8.2.2 version: 8.2.2 eslint: specifier: ^8.36.0 - version: 8.54.0 + version: 8.56.0 pnpm: specifier: ^8.11.0 - version: 8.11.0 + version: 8.15.3 typescript: specifier: ^5.3.2 version: 5.3.3 vite: specifier: ^5.0.5 - version: 5.0.6(@types/node@20.10.4) + version: 5.1.1(@types/node@20.11.19) vue-tsc: specifier: 1.8.20 version: 1.8.20(typescript@5.3.3) @@ -53,73 +53,70 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: ^1.15.0 - version: 1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + version: 1.15.0(nuxt@3.10.2)(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7) '@nuxtjs/tailwindcss': specifier: ^6.10.1 - version: 6.10.1(rollup@3.29.4) + version: 6.11.4(rollup@3.29.4) nuxt: specifier: ^3.8.2 - version: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) + version: 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) packages/nuxt: dependencies: '@nuxt/kit': specifier: ^3.8.2 - version: 3.8.2(rollup@3.29.4) + version: 3.10.2(rollup@3.29.4) vue-final-modal: specifier: ^4.5.3 - version: 4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.3.7) + version: 4.5.4(@vueuse/core@10.7.2)(@vueuse/integrations@10.7.2)(focus-trap@7.5.4)(vue@3.3.7) devDependencies: '@nuxt/module-builder': specifier: ^0.5.4 - version: 0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.3.3) + version: 0.5.5(@nuxt/kit@3.10.2)(nuxi@3.10.1)(typescript@5.3.3) '@nuxt/schema': specifier: ^3.8.2 - version: 3.8.2(rollup@3.29.4) + version: 3.10.2(rollup@3.29.4) '@nuxtjs/eslint-config-typescript': specifier: ^12.1.0 version: 12.1.0(eslint@8.56.0)(typescript@5.3.3) nuxt: specifier: ^3.8.2 - version: 3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) + version: 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) release-it: specifier: ^16.1.3 - version: 16.2.1(typescript@5.3.3) + version: 16.3.0(typescript@5.3.3) packages/nuxt/playground: {} packages/vue-final-modal: devDependencies: - '@cypress/vue': - specifier: ^5.0.5 - version: 5.0.5(cypress@13.6.0)(vue@3.3.7) '@release-it/conventional-changelog': specifier: ^5.1.1 - version: 5.1.1(release-it@16.2.1) + version: 5.1.1(release-it@16.3.0) '@vueuse/core': specifier: ^10.7.1 - version: 10.7.1(vue@3.3.7) + version: 10.7.2(vue@3.3.7) '@vueuse/integrations': specifier: ^10.7.1 - version: 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) + version: 10.7.2(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) cypress: - specifier: ^13.6.0 - version: 13.6.0 + specifier: ^13.6.4 + version: 13.6.4 focus-trap: specifier: ^7.5.4 version: 7.5.4 release-it: specifier: ^16.1.3 - version: 16.2.1(typescript@5.3.3) + version: 16.3.0(typescript@5.3.3) vite-plugin-dts: specifier: ^3.6.3 - version: 3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6) + version: 3.7.2(@types/node@20.11.19)(typescript@5.3.3)(vite@5.1.1) vue: specifier: 3.3.7 version: 3.3.7(typescript@5.3.3) vue-use-template: - specifier: 0.0.0-beta.3 - version: 0.0.0-beta.3(@vueuse/core@10.7.1)(vue-component-type-helpers@1.8.27)(vue@3.3.7) + specifier: 0.0.0-beta.5 + version: 0.0.0-beta.5(@vueuse/core@10.7.2)(vue-component-type-helpers@1.8.27)(vue@3.3.7) viteplay: dependencies: @@ -138,7 +135,7 @@ importers: version: 0.2.9 '@viteplay/vue': specifier: ^0.2.9 - version: 0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.3.7) + version: 0.2.9(@lezer/common@1.2.1)(vue-router@4.2.5)(vue@3.3.7) packages: @@ -152,31 +149,31 @@ packages: engines: {node: '>=10'} dev: true - /@ampproject/remapping@2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 - /@antfu/eslint-config-basic@0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3): + /@antfu/eslint-config-basic@0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-iBj6qjAOQr+WMhK38lfR2/xdIY81qUk4i6tHhwmcxXi4GEf2HF6I4Cgeu9SyIlTxOw8AP1CVqdUNzUbmYSaMZg==} peerDependencies: eslint: '>=7.4.0' dependencies: - eslint: 8.54.0 - eslint-plugin-antfu: 0.37.0(eslint@8.54.0)(typescript@5.3.3) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) + eslint: 8.56.0 + eslint-plugin-antfu: 0.37.0(eslint@8.56.0)(typescript@5.3.3) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.56.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0) - eslint-plugin-jsonc: 2.10.0(eslint@8.54.0) - eslint-plugin-markdown: 3.0.1(eslint@8.54.0) - eslint-plugin-n: 15.6.1(eslint@8.54.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0) + eslint-plugin-jsonc: 2.13.0(eslint@8.56.0) + eslint-plugin-markdown: 3.0.1(eslint@8.56.0) + eslint-plugin-n: 15.7.0(eslint@8.56.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-unicorn: 46.0.1(eslint@8.54.0) - eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) - eslint-plugin-yml: 1.10.0(eslint@8.54.0) + eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint-plugin-unicorn: 46.0.1(eslint@8.56.0) + eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0) + eslint-plugin-yml: 1.12.2(eslint@8.56.0) jsonc-eslint-parser: 2.4.0 yaml-eslint-parser: 1.2.2 transitivePeerDependencies: @@ -188,17 +185,17 @@ packages: - typescript dev: true - /@antfu/eslint-config-ts@0.37.0(eslint@8.54.0)(typescript@5.3.3): + /@antfu/eslint-config-ts@0.37.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-+ZS0UE7qa6EzFe0JgCSqdi/IRGQlUj/kOjvwsHCXVK1A02ZW2p0fEKzCpNAz1NJK9nkqhyvNHX+gNOTQsPMbeQ==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0)(typescript@5.3.3) + '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-plugin-jest: 27.8.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -207,15 +204,15 @@ packages: - supports-color dev: true - /@antfu/eslint-config-vue@0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3): + /@antfu/eslint-config-vue@0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-d7n4+7f6YMizE1HDEOtIBJGruFuIeqrNF+ZjHM8o6+isMrJkvdjVx6nHtHVtoWNYW6jiRJ5AW+nkfo2aoNGUyA==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@antfu/eslint-config-ts': 0.37.0(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 - eslint-plugin-vue: 9.18.1(eslint@8.54.0) + '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@antfu/eslint-config-ts': 0.37.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-plugin-vue: 9.21.1(eslint@8.56.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' @@ -227,24 +224,24 @@ packages: - typescript dev: true - /@antfu/eslint-config@0.37.0(eslint@8.54.0)(typescript@5.3.3): + /@antfu/eslint-config@0.37.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-Kq12dCBSYNV/wuoX35ijs8aNjdF9FiSp3GbiGh2Y8sPtM6NbJc5LA3ixWz0PcA/byHf1VPVisDZcPqISjic/zA==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-vue': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) + '@antfu/eslint-config-vue': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.56.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0) - eslint-plugin-jsonc: 2.10.0(eslint@8.54.0) - eslint-plugin-n: 15.6.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - eslint-plugin-unicorn: 46.0.1(eslint@8.54.0) - eslint-plugin-vue: 9.18.1(eslint@8.54.0) - eslint-plugin-yml: 1.10.0(eslint@8.54.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0) + eslint-plugin-jsonc: 2.13.0(eslint@8.56.0) + eslint-plugin-n: 15.7.0(eslint@8.56.0) + eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint-plugin-unicorn: 46.0.1(eslint@8.56.0) + eslint-plugin-vue: 9.21.1(eslint@8.56.0) + eslint-plugin-yml: 1.12.2(eslint@8.56.0) jsonc-eslint-parser: 2.4.0 yaml-eslint-parser: 1.2.2 transitivePeerDependencies: @@ -255,78 +252,35 @@ packages: - typescript dev: true - /@antfu/utils@0.7.6: - resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} - dev: true - - /@babel/code-frame@7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 + /@antfu/utils@0.7.7: + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: true - /@babel/code-frame@7.23.4: - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 - dev: true - - /@babel/compat-data@7.21.0: - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.21.0: - resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 + '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.23.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.23.4 - convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.4 - '@babel/parser': 7.23.4 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -335,154 +289,87 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.21.1: - resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - jsesc: 2.5.2 - dev: true - - /@babel/generator@7.23.4: - resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@babel/types': 7.23.9 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 - dev: true - - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.23.9 dev: true - /@babel/helper-compilation-targets@7.22.15: - resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.3 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.1 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.23.10(@babel/core@7.23.9): + resolution: {integrity: sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-environment-visitor@7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.23.6 - dev: true - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.4 - - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.9 /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 - dev: true - - /@babel/helper-module-imports@7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 - - /@babel/helper-module-transforms@7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.22.20 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.23.6 - transitivePeerDependencies: - - supports-color - dev: true + '@babel/types': 7.23.9 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -493,12 +380,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 - dev: true - - /@babel/helper-plugin-utils@7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.23.9 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -506,54 +388,36 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 - dev: true - /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.9 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 - dev: true - - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.23.9 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} @@ -563,49 +427,20 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - - /@babel/helpers@7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.23.6 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helpers@7.23.4: - resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -614,247 +449,168 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.4 - dev: true - - /@babel/parser@7.23.4: - resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.4 - - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 - /@babel/plugin-proposal-decorators@7.23.3(@babel/core@7.23.3): - resolution: {integrity: sha512-u8SwzOcP0DYSsa++nHd/9exlHb0NAlHCb890qtZZbSwPX2bFv8LBEztxwN7Xg/dS8oAFFidhrI9PBcLBJSkGRQ==} + /@babel/plugin-proposal-decorators@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.3): - resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/runtime@7.23.4: - resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 - dev: true - - /@babel/standalone@7.21.2: - resolution: {integrity: sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA==} - engines: {node: '>=6.9.0'} + regenerator-runtime: 0.14.1 dev: true - /@babel/standalone@7.23.4: - resolution: {integrity: sha512-cXT2Xi9YVJEi7kLjqoeZBXjrNt1PASOh4Zi3jp5yXT06Gt4ZeRETfYH9y5x3RQhFTpNxaA1300lzK1obiy6tcQ==} + /@babel/standalone@7.23.10: + resolution: {integrity: sha512-xqWviI/pt1Zb/d+6ilWa5IDL2mkDzsBnlHbreqnfyP3/QB/ofQ1bNVcHj8YQX154Rf/xZKR6y0s1ydVF3nAS8g==} engines: {node: '>=6.9.0'} - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - dev: true - - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.4 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 - /@babel/traverse@7.21.2: - resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/generator': 7.21.1 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/generator': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@cloudflare/kv-asset-handler@0.3.0: - resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} + /@cloudflare/kv-asset-handler@0.3.1: + resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} dependencies: mime: 3.0.0 dev: true - /@codemirror/autocomplete@6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.1.1): - resolution: {integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==} - peerDependencies: - '@codemirror/language': ^6.0.0 - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 - dependencies: - '@codemirror/language': 6.9.3 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - '@lezer/common': 1.1.1 - dev: true - - /@codemirror/autocomplete@6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0): - resolution: {integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==} + /@codemirror/autocomplete@6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1): + resolution: {integrity: sha512-r4IjdYFthwbCQyvqnSlx0WBHRHi8nBvU+WjJxFUij81qsBfhNudf/XKKmmC2j3m0LaOYUQTf3qiEK1J8lO1sdg==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 '@lezer/common': ^1.0.0 dependencies: - '@codemirror/language': 6.9.3 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - '@lezer/common': 1.2.0 + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 dev: true - /@codemirror/commands@6.3.2: - resolution: {integrity: sha512-tjoi4MCWDNxgIpoLZ7+tezdS9OEB6pkiDKhfKx9ReJ/XBcs2G2RXIu+/FxXBlWsPTsz6C9q/r4gjzrsxpcnqCQ==} + /@codemirror/commands@6.3.3: + resolution: {integrity: sha512-dO4hcF0fGT9tu1Pj1D2PvGvxjeGkbC6RGcZw6Qs74TH+Ed1gw98jmUgd2axWvIZEqTeTuFrg1lEB1KV6cK9h1A==} dependencies: - '@codemirror/language': 6.9.3 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - '@lezer/common': 1.1.1 + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 dev: true - /@codemirror/lang-css@6.2.1(@codemirror/view@6.22.1): + /@codemirror/lang-css@6.2.1(@codemirror/view@6.24.0): resolution: {integrity: sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.1.1) - '@codemirror/language': 6.9.3 - '@codemirror/state': 6.3.2 - '@lezer/common': 1.1.1 - '@lezer/css': 1.1.4 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@lezer/common': 1.2.1 + '@lezer/css': 1.1.7 transitivePeerDependencies: - '@codemirror/view' dev: true @@ -862,52 +618,52 @@ packages: /@codemirror/lang-javascript@6.2.1: resolution: {integrity: sha512-jlFOXTejVyiQCW3EQwvKH0m99bUYIw40oPmFjSX2VS78yzfe0HELZ+NEo9Yfo1MkGRpGlj3Gnu4rdxV1EnAs5A==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.1.1) - '@codemirror/language': 6.9.3 - '@codemirror/lint': 6.4.2 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - '@lezer/common': 1.1.1 - '@lezer/javascript': 1.4.9 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 + '@codemirror/lint': 6.5.0 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 + '@lezer/javascript': 1.4.13 dev: true - /@codemirror/language@6.9.3: - resolution: {integrity: sha512-qq48pYzoi6ldYWV/52+Z9Ou6QouVI+8YwvxFbUypI33NbjG2UeRHKENRyhwljTTiOqjQ33FjyZj6EREQ9apAOQ==} + /@codemirror/language@6.10.1: + resolution: {integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==} dependencies: - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - '@lezer/common': 1.1.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 - style-mod: 4.0.0 + '@lezer/lr': 1.4.0 + style-mod: 4.1.0 dev: true - /@codemirror/lint@6.4.2: - resolution: {integrity: sha512-wzRkluWb1ptPKdzlsrbwwjYCPLgzU6N88YBAmlZi8WFyuiEduSd05MnJYNogzyc8rPK7pj6m95ptUApc8sHKVA==} + /@codemirror/lint@6.5.0: + resolution: {integrity: sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==} dependencies: - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - crelt: 1.0.5 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + crelt: 1.0.6 dev: true - /@codemirror/search@6.5.5: - resolution: {integrity: sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==} + /@codemirror/search@6.5.6: + resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} dependencies: - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 - crelt: 1.0.5 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + crelt: 1.0.6 dev: true - /@codemirror/state@6.3.2: - resolution: {integrity: sha512-5jEikOfU0r9y+OTlZn5AEQB15mibu3deLBUp+GnLzVUNezEEuPt/JdSeniQNi+0YviblAvOPO2JQAlgJ3SYYaA==} + /@codemirror/state@6.4.0: + resolution: {integrity: sha512-hm8XshYj5Fo30Bb922QX9hXB/bxOAVH+qaqHBzw5TKa72vOeslyGwd4X8M0c1dJ9JqxlaMceOQ8RsL9tC7gU0A==} dev: true - /@codemirror/view@6.22.1: - resolution: {integrity: sha512-38BRn1nPqZqiHbmWfI8zri23IbRVbmSpSmh1E/Ysvc+lIGGdBC17K8zlK7ZU6fhfy9x4De9Zyj5JQqScPq5DkA==} + /@codemirror/view@6.24.0: + resolution: {integrity: sha512-zK6m5pNkdhdJl8idPP1gA4N8JKTiSsOz8U/Iw+C1ChMwyLG7+MLiNXnH/wFuAk6KeGEe33/adOiAh5jMqee03w==} dependencies: - '@codemirror/state': 6.3.2 + '@codemirror/state': 6.4.0 style-mod: 4.1.0 - w3c-keyname: 2.2.6 + w3c-keyname: 2.2.8 dev: true /@colors/colors@1.5.0: @@ -917,63 +673,38 @@ packages: dev: true optional: true - /@csstools/cascade-layer-name-parser@1.0.1(@csstools/css-parser-algorithms@2.0.1)(@csstools/css-tokenizer@2.1.0): - resolution: {integrity: sha512-SAAi5DpgJJWkfTvWSaqkgyIsTawa83hMwKrktkj6ra2h+q6ZN57vOGZ6ySHq6RSo+CbP64fA3aPChPBRDDUgtw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-parser-algorithms': ^2.0.0 - '@csstools/css-tokenizer': ^2.0.0 - dependencies: - '@csstools/css-parser-algorithms': 2.0.1(@csstools/css-tokenizer@2.1.0) - '@csstools/css-tokenizer': 2.1.0 - dev: true - - /@csstools/cascade-layer-name-parser@1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1): - resolution: {integrity: sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-parser-algorithms': ^2.3.2 - '@csstools/css-tokenizer': ^2.2.1 - dependencies: - '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) - '@csstools/css-tokenizer': 2.2.1 - dev: true - - /@csstools/css-parser-algorithms@2.0.1(@csstools/css-tokenizer@2.1.0): - resolution: {integrity: sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw==} + /@csstools/cascade-layer-name-parser@1.0.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-9J4aMRJ7A2WRjaRLvsMeWrL69FmEuijtiW1XlK/sG+V0UJiHVYUyvj9mY4WAXfU/hGIiGOgL8e0jJcRyaZTjDQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.0.0 + '@csstools/css-parser-algorithms': ^2.5.0 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-tokenizer': 2.1.0 + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1): - resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==} + /@csstools/css-parser-algorithms@2.5.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.2.1 + '@csstools/css-tokenizer': ^2.2.3 dependencies: - '@csstools/css-tokenizer': 2.2.1 - dev: true - - /@csstools/css-tokenizer@2.1.0: - resolution: {integrity: sha512-dtqFyoJBHUxGi9zPZdpCKP1xk8tq6KPHJ/NY4qWXiYo6IcSGwzk3L8x2XzZbbyOyBs9xQARoGveU2AsgLj6D2A==} - engines: {node: ^14 || ^16 || >=18} + '@csstools/css-tokenizer': 2.2.3 dev: true - /@csstools/css-tokenizer@2.2.1: - resolution: {integrity: sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==} + /@csstools/css-tokenizer@2.2.3: + resolution: {integrity: sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==} engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13): - resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==} + /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.15): + resolution: {integrity: sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 dependencies: - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 dev: true /@cypress/request@3.0.1: @@ -1000,21 +731,6 @@ packages: uuid: 8.3.2 dev: true - /@cypress/vue@5.0.5(cypress@13.6.0)(vue@3.3.7): - resolution: {integrity: sha512-gjE0LKixK6XT4lPDFaEc8G6qNzm8YELgmbOiMVDxbVMuTtjYjorWQcIgzQ62uBX90/s7JrldXJ0W23gskoH4Ng==} - engines: {node: '>=8'} - peerDependencies: - '@cypress/webpack-dev-server': '*' - cypress: '>=7.0.0' - vue: '>=3.0.0' - peerDependenciesMeta: - '@cypress/webpack-dev-server': - optional: true - dependencies: - cypress: 13.6.0 - vue: 3.3.7(typescript@5.3.3) - dev: true - /@cypress/xvfb@1.2.4(supports-color@8.1.1): resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} dependencies: @@ -1024,8 +740,26 @@ packages: - supports-color dev: true - /@esbuild/android-arm64@0.17.14: - resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/aix-ppc64@0.20.0: + resolution: {integrity: sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1033,8 +767,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1042,8 +776,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.8: - resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} + /@esbuild/android-arm64@0.20.0: + resolution: {integrity: sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1051,8 +785,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.14: - resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1060,8 +794,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1069,8 +803,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.8: - resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} + /@esbuild/android-arm@0.20.0: + resolution: {integrity: sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1078,8 +812,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.14: - resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1087,8 +821,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1096,8 +830,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.8: - resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} + /@esbuild/android-x64@0.20.0: + resolution: {integrity: sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1105,8 +839,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.14: - resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1114,8 +848,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1123,8 +857,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.8: - resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} + /@esbuild/darwin-arm64@0.20.0: + resolution: {integrity: sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1132,8 +866,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.14: - resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1141,8 +875,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1150,8 +884,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.8: - resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} + /@esbuild/darwin-x64@0.20.0: + resolution: {integrity: sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1159,8 +893,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.14: - resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1168,8 +902,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1177,8 +911,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.8: - resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} + /@esbuild/freebsd-arm64@0.20.0: + resolution: {integrity: sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1186,8 +920,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.14: - resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1195,8 +929,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1204,8 +938,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.8: - resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} + /@esbuild/freebsd-x64@0.20.0: + resolution: {integrity: sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1213,8 +947,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.14: - resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1222,8 +956,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1231,8 +965,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.8: - resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} + /@esbuild/linux-arm64@0.20.0: + resolution: {integrity: sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1240,8 +974,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.14: - resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1249,8 +983,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1258,8 +992,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.8: - resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} + /@esbuild/linux-arm@0.20.0: + resolution: {integrity: sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1267,8 +1001,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.14: - resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1276,8 +1010,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1285,8 +1019,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.8: - resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} + /@esbuild/linux-ia32@0.20.0: + resolution: {integrity: sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1294,8 +1028,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.14: - resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1303,8 +1037,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1312,8 +1046,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.8: - resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} + /@esbuild/linux-loong64@0.20.0: + resolution: {integrity: sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1321,8 +1055,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.14: - resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1330,8 +1064,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1339,8 +1073,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.8: - resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} + /@esbuild/linux-mips64el@0.20.0: + resolution: {integrity: sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1348,8 +1082,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.14: - resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1357,8 +1091,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1366,8 +1100,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.8: - resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} + /@esbuild/linux-ppc64@0.20.0: + resolution: {integrity: sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1375,8 +1109,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.14: - resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1384,8 +1118,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1393,8 +1127,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.8: - resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} + /@esbuild/linux-riscv64@0.20.0: + resolution: {integrity: sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1402,8 +1136,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.14: - resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1411,8 +1145,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1420,8 +1154,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.8: - resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} + /@esbuild/linux-s390x@0.20.0: + resolution: {integrity: sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1429,8 +1163,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.14: - resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1438,8 +1172,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1447,8 +1181,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.8: - resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} + /@esbuild/linux-x64@0.20.0: + resolution: {integrity: sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1456,8 +1190,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.14: - resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1465,8 +1199,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1474,8 +1208,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.8: - resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} + /@esbuild/netbsd-x64@0.20.0: + resolution: {integrity: sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1483,8 +1217,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.14: - resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1492,8 +1226,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1501,8 +1235,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.8: - resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} + /@esbuild/openbsd-x64@0.20.0: + resolution: {integrity: sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1510,8 +1244,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.14: - resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1519,8 +1253,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1528,8 +1262,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.8: - resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} + /@esbuild/sunos-x64@0.20.0: + resolution: {integrity: sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1537,8 +1271,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.14: - resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1546,8 +1280,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1555,8 +1289,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.8: - resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} + /@esbuild/win32-arm64@0.20.0: + resolution: {integrity: sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1564,8 +1298,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.14: - resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1573,8 +1307,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1582,8 +1316,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.8: - resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} + /@esbuild/win32-ia32@0.20.0: + resolution: {integrity: sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1591,8 +1325,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.14: - resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1600,8 +1334,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1609,8 +1343,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.8: - resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} + /@esbuild/win32-x64@0.20.0: + resolution: {integrity: sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1618,16 +1352,6 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.54.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1643,23 +1367,6 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.23.0 - ignore: 5.3.0 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/eslintrc@2.1.4: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1668,7 +1375,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1677,11 +1384,6 @@ packages: - supports-color dev: true - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@eslint/js@8.56.0: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1702,11 +1404,11 @@ packages: '@floating-ui/core': 0.3.1 dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: @@ -1718,8 +1420,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@hutson/parse-repository-url@3.0.2: @@ -1735,8 +1437,8 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/vue@4.1.0(vue@3.3.7): - resolution: {integrity: sha512-rBQVxNoSDooqgWkQg2MqkIHkH/huNuvXGqui5wijc1zLnU7TKzbBHW9VGmbnV4asNTmIHmqV4Nvt0M2rZ/9nHA==} + /@iconify/vue@4.1.1(vue@3.3.7): + resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} peerDependencies: vue: '>=3' dependencies: @@ -1760,23 +1462,16 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true - /@jridgewell/gen-mapping@0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.22 - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.1.2: @@ -1786,21 +1481,18 @@ packages: /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 /@koa/router@12.0.1: resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==} @@ -1827,91 +1519,89 @@ packages: resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} dev: true - /@lezer/common@1.1.1: - resolution: {integrity: sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==} - dev: true - - /@lezer/common@1.2.0: - resolution: {integrity: sha512-Wmvlm4q6tRpwiy20TnB3yyLTZim38Tkc50dPY8biQRwqE+ati/wD84rm3N15hikvdT4uSg9phs9ubjvcLmkpKg==} + /@lezer/common@1.2.1: + resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} dev: true - /@lezer/css@1.1.4: - resolution: {integrity: sha512-CuUwjidrU7FOBokqASRJc72SmJ9g1PsHXDOWMoKg4md6+2u/Zxzwx5YsYrAFxRDsLrjLlsIyEF1rZHK3gFEJbw==} + /@lezer/css@1.1.7: + resolution: {integrity: sha512-7BlFFAKNn/b39jJLrhdLSX5A2k56GIJvyLqdmm7UU+7XvequY084iuKDMAEhAmAzHnwDE8FK4OQtsIUssW91tg==} dependencies: + '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: true /@lezer/highlight@1.2.0: resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} dependencies: - '@lezer/common': 1.1.1 + '@lezer/common': 1.2.1 dev: true - /@lezer/html@1.3.7: - resolution: {integrity: sha512-Wo+rZ5UjLP0VqUTyXjzgmTYRW5bvTJUFn4Uw0K3HCQjX2/+f+zRo9GLN5BCAojwHQISPvaQk8BWSv2SSKx/UcQ==} + /@lezer/html@1.3.8: + resolution: {integrity: sha512-EXseJ3pUzWxE6XQBQdqWHZqqlGQRSuNMBcLb6mZWS2J2v+QZhOObD+3ZIKIcm59ntTzyor4LqFTb72iJc3k23Q==} dependencies: - '@lezer/common': 1.1.1 + '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: true - /@lezer/javascript@1.4.9: - resolution: {integrity: sha512-7Uv8mBBE6l44spgWEZvEMdDqGV+FIuY7kJ1o5TFm+jxIuxydO3PcKJYiINij09igd1D/9P7l2KDqpkN8c3bM6A==} + /@lezer/javascript@1.4.13: + resolution: {integrity: sha512-5IBr8LIO3xJdJH1e9aj/ZNLE4LSbdsx25wFmGRAZsj2zSmwAYjx26JyU/BYOCpRQlu1jcv1z3vy4NB9+UkfRow==} dependencies: + '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: true - /@lezer/lr@1.3.14: - resolution: {integrity: sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==} + /@lezer/lr@1.4.0: + resolution: {integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==} dependencies: - '@lezer/common': 1.1.1 + '@lezer/common': 1.2.1 dev: true - /@ljharb/through@2.3.11: - resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} + /@ljharb/through@2.3.12: + resolution: {integrity: sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.2 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.5.4 - tar: 6.1.13 + semver: 7.6.0 + tar: 6.2.0 transitivePeerDependencies: - encoding - supports-color dev: true - /@microsoft/api-extractor-model@7.28.2(@types/node@20.10.4): - resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} + /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.19): + resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.10.4) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.19) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.38.3(@types/node@20.10.4): - resolution: {integrity: sha512-xt9iYyC5f39281j77JTA9C3ISJpW1XWkCcnw+2vM78CPnro6KhPfwQdPDfwS5JCPNuq0grm8cMdPUOPvrchDWw==} + /@microsoft/api-extractor@7.39.0(@types/node@20.11.19): + resolution: {integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.2(@types/node@20.10.4) + '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.19) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.10.4) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.19) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 @@ -1919,7 +1609,7 @@ packages: resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 - typescript: 5.0.4 + typescript: 5.3.3 transitivePeerDependencies: - '@types/node' dev: true @@ -1937,12 +1627,11 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true - /@netlify/functions@2.4.0: - resolution: {integrity: sha512-dIqhdj5u4Lu/8qbYwtYpn8NfvIyPHbSTV2lAP4ocL+iwC9As06AXT0wa/xOpO2vRWJa0IMxdZaqCPnkyHlHiyg==} + /@netlify/functions@2.6.0: + resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} engines: {node: '>=14.0.0'} dependencies: - '@netlify/serverless-functions-api': 1.11.0 - is-promise: 4.0.0 + '@netlify/serverless-functions-api': 1.14.0 dev: true /@netlify/node-cookies@0.1.0: @@ -1950,8 +1639,8 @@ packages: engines: {node: ^14.16.0 || >=16.0.0} dev: true - /@netlify/serverless-functions-api@1.11.0: - resolution: {integrity: sha512-3splAsr2CekL7VTwgo6yTvzD2+f269/s+TJafYazonqMNNo31yzvFxD5HpLtni4DNE1ppymVKZ4X/rLN3yl0vQ==} + /@netlify/serverless-functions-api@1.14.0: + resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@netlify/node-cookies': 0.1.0 @@ -1974,16 +1663,16 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 - /@npmcli/agent@2.2.0: - resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} + /@npmcli/agent@2.2.1: + resolution: {integrity: sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: agent-base: 7.1.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 - lru-cache: 10.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + lru-cache: 10.2.0 socks-proxy-agent: 8.0.2 transitivePeerDependencies: - supports-color @@ -1993,20 +1682,20 @@ packages: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true - /@npmcli/git@5.0.3: - resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} + /@npmcli/git@5.0.4: + resolution: {integrity: sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.1.0 + '@npmcli/promise-spawn': 7.0.1 + lru-cache: 10.2.0 npm-pick-manifest: 9.0.0 proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.5.4 + semver: 7.6.0 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -2026,36 +1715,52 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@npmcli/promise-spawn@7.0.0: - resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} + /@npmcli/package-json@5.0.0: + resolution: {integrity: sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/git': 5.0.4 + glob: 10.3.10 + hosted-git-info: 7.0.1 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + proc-log: 3.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - bluebird + dev: true + + /@npmcli/promise-spawn@7.0.1: + resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: which: 4.0.0 dev: true - /@npmcli/run-script@7.0.2: - resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} + /@npmcli/run-script@7.0.4: + resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 7.0.0 + '@npmcli/package-json': 5.0.0 + '@npmcli/promise-spawn': 7.0.1 node-gyp: 10.0.1 - read-package-json-fast: 3.0.2 which: 4.0.0 transitivePeerDependencies: + - bluebird - supports-color dev: true - /@nuxt-themes/docus@1.15.0(nuxt@3.8.2)(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): + /@nuxt-themes/docus@1.15.0(nuxt@3.10.2)(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-V2kJ5ecGUxXcEovXeQkJBPYfQwjmjaxB5fnl2XaQV+S2Epcn+vhPWShSlL6/WXzLPiAkQFdwbBj9xedTvXgjkw==} dependencies: - '@nuxt-themes/elements': 0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) - '@nuxt-themes/typography': 0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) - '@nuxt/content': 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) - '@nuxthq/studio': 1.0.5(rollup@3.29.4) - '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/elements': 0.9.5(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/typography': 0.11.0(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7) + '@nuxt/content': 2.12.0(nuxt@3.10.2)(rollup@3.29.4)(vue@3.3.7) + '@nuxthq/studio': 1.0.11(rollup@3.29.4) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) + '@vueuse/nuxt': 10.7.2(nuxt@3.10.2)(rollup@3.29.4)(vue@3.3.7) focus-trap: 7.5.4 fuse.js: 6.6.2 transitivePeerDependencies: @@ -2091,10 +1796,10 @@ packages: - vue dev: true - /@nuxt-themes/elements@0.9.5(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): + /@nuxt-themes/elements@0.9.5(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==} dependencies: - '@nuxt-themes/tokens': 1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7) + '@nuxt-themes/tokens': 1.9.1(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7) '@vueuse/core': 9.13.0(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' @@ -2105,12 +1810,12 @@ packages: - vue dev: true - /@nuxt-themes/tokens@1.9.1(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): + /@nuxt-themes/tokens@1.9.1(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} dependencies: - '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) + '@nuxtjs/color-mode': 3.3.2(rollup@3.29.4) '@vueuse/core': 9.13.0(vue@3.3.7) - pinceau: 0.18.8(postcss@8.4.33) + pinceau: 0.18.9(postcss@8.4.35) transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2120,14 +1825,14 @@ packages: - vue dev: true - /@nuxt-themes/typography@0.11.0(postcss@8.4.33)(rollup@3.29.4)(vue@3.3.7): + /@nuxt-themes/typography@0.11.0(postcss@8.4.35)(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} dependencies: - '@nuxtjs/color-mode': 3.2.0(rollup@3.29.4) - nuxt-config-schema: 0.4.5(rollup@3.29.4) + '@nuxtjs/color-mode': 3.3.2(rollup@3.29.4) + nuxt-config-schema: 0.4.6(rollup@3.29.4) nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.3.7) - pinceau: 0.18.8(postcss@8.4.33) - ufo: 1.1.1 + pinceau: 0.18.9(postcss@8.4.35) + ufo: 1.4.0 transitivePeerDependencies: - postcss - rollup @@ -2136,36 +1841,36 @@ packages: - vue dev: true - /@nuxt/content@2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7): - resolution: {integrity: sha512-//mt++/AgOmjT6TpanugNJpJfx6q8g7wV8/vnk7vSSrrgki8tG6jpupuJmxHHB8DcqqTJfuBWFIdaLhv/Z9Gzg==} + /@nuxt/content@2.12.0(nuxt@3.10.2)(rollup@3.29.4)(vue@3.3.7): + resolution: {integrity: sha512-XQkbkJzFRWKdX4aoVDprqLphbQGDsRX35ZRgHe4i7Phe3F1z2EzXVhZ9WXBTmpXau3MkLlmsQ+NzcRns1kOOvQ==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@nuxtjs/mdc': 0.2.8(rollup@3.29.4) - '@vueuse/core': 10.7.1(vue@3.3.7) + '@nuxt/kit': 3.10.2(rollup@3.29.4) + '@nuxtjs/mdc': 0.5.0(rollup@3.29.4) + '@vueuse/core': 10.7.2(vue@3.3.7) '@vueuse/head': 2.0.0(vue@3.3.7) - '@vueuse/nuxt': 10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7) + '@vueuse/nuxt': 10.7.2(nuxt@3.10.2)(rollup@3.29.4)(vue@3.3.7) consola: 3.2.3 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 json5: 2.2.3 knitwork: 1.0.0 - listhen: 1.5.5 + listhen: 1.6.0 mdast-util-to-string: 4.0.0 - mdurl: 1.0.1 + mdurl: 2.0.0 micromark: 4.0.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-types: 2.0.0 minisearch: 6.3.0 ohash: 1.1.3 - pathe: 1.1.1 - scule: 1.0.0 - shiki-es: 0.14.0 + pathe: 1.1.2 + scule: 1.3.0 + shiki: 1.1.2 slugify: 1.6.6 - socket.io-client: 4.7.2 - ufo: 1.3.2 + socket.io-client: 4.7.4 + ufo: 1.4.0 unist-util-stringify-position: 4.0.0 unstorage: 1.10.1 - ws: 8.14.2 + ws: 8.16.0 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -2192,145 +1897,128 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: true - /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1): - resolution: {integrity: sha512-AXNeI1dBilNryCmwuTd3lU7CrPBhzUJ5ntTFiXw9MmFwe5QT3NOxDFOv0gX7z1DFnmBEmx5mPKWysCwh7htEnQ==} + /@nuxt/devtools-kit@1.0.8(nuxt@3.10.2)(rollup@3.29.4)(vite@5.1.1): + resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: - nuxt: ^3.8.1 + nuxt: ^3.9.0 vite: '*' dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@nuxt/schema': 3.8.2(rollup@3.29.4) + '@nuxt/kit': 3.10.2(rollup@3.29.4) + '@nuxt/schema': 3.10.2(rollup@3.29.4) execa: 7.2.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) - vite: 4.5.1(@types/node@20.10.4) + nuxt: 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) + vite: 5.1.1(@types/node@20.11.19) transitivePeerDependencies: - rollup - supports-color dev: true - /@nuxt/devtools-wizard@1.0.4: - resolution: {integrity: sha512-3QHRfmkiITM67lAzSIOiI6N4Qzi5i705TCQ53pHQbce0+E00f5vck2hPauflN2X0/M3SZdkUV8UayaHc4egmdA==} + /@nuxt/devtools-wizard@1.0.8: + resolution: {integrity: sha512-RxyOlM7Isk5npwXwDJ/rjm9ekX5sTNG0LS0VOBMdSx+D5nlRPMRr/r9yO+9WQDyzPLClLzHaXRHBWLPlRX3IMw==} hasBin: true dependencies: consola: 3.2.3 - diff: 5.1.0 + diff: 5.2.0 execa: 7.2.0 global-directory: 4.0.1 - magicast: 0.3.2 - pathe: 1.1.1 + magicast: 0.3.3 + pathe: 1.1.2 pkg-types: 1.0.3 prompts: 2.4.2 rc9: 2.1.1 - semver: 7.5.4 + semver: 7.6.0 dev: true - /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1): - resolution: {integrity: sha512-G1Oo9+TaOYzePIXpNX+Zzalw/rJyIZKZpZmXfzolPlOJSA1i0JKzZX6Z7iQHdqPwNJ8t+HnVaF4PghPIpo1kwg==} + /@nuxt/devtools@1.0.8(nuxt@3.10.2)(rollup@3.29.4)(vite@5.1.1): + resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: - nuxt: ^3.8.1 + nuxt: ^3.9.0 vite: '*' dependencies: - '@antfu/utils': 0.7.6 - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) - '@nuxt/devtools-wizard': 1.0.4 - '@nuxt/kit': 3.8.2(rollup@3.29.4) - birpc: 0.2.14 + '@antfu/utils': 0.7.7 + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.2)(rollup@3.29.4)(vite@5.1.1) + '@nuxt/devtools-wizard': 1.0.8 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + birpc: 0.2.15 consola: 3.2.3 destr: 2.0.2 error-stack-parser-es: 0.1.1 execa: 7.2.0 fast-glob: 3.3.2 flatted: 3.2.9 - get-port-please: 3.1.1 - h3: 1.9.0 + get-port-please: 3.1.2 hookable: 5.5.3 image-meta: 0.2.0 is-installed-globally: 1.0.0 launch-editor: 2.6.1 local-pkg: 0.5.0 - magicast: 0.3.2 - nitropack: 2.8.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) - nypm: 0.3.3 - ofetch: 1.3.3 + magicast: 0.3.3 + nuxt: 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) + nypm: 0.3.6 ohash: 1.1.3 - pacote: 17.0.4 - pathe: 1.1.1 + pacote: 17.0.6 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 rc9: 2.1.1 - scule: 1.1.0 - semver: 7.5.4 - simple-git: 3.21.0 - sirv: 2.0.3 - unimport: 3.6.0(rollup@3.29.4) - vite: 4.5.1(@types/node@20.10.4) - vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.1) - vite-plugin-vue-inspector: 4.0.0(vite@4.5.1) + scule: 1.3.0 + semver: 7.6.0 + simple-git: 3.22.0 + sirv: 2.0.4 + unimport: 3.7.1(rollup@3.29.4) + vite: 5.1.1(@types/node@20.11.19) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.2)(rollup@3.29.4)(vite@5.1.1) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.1) which: 3.0.1 - ws: 8.14.2 + ws: 8.16.0 transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/kv' - bluebird - bufferutil - - encoding - - idb-keyval - rollup - supports-color - utf-8-validate - - xml2js dev: true - /@nuxt/kit@3.8.2(rollup@3.29.4): - resolution: {integrity: sha512-LrXCm8hAkw+zpX8teUSD/LqXRarlXjbRiYxDkaqw739JSHFReWzBFgJbojsJqL4h1XIEScDGGOWiEgO4QO1sMg==} + /@nuxt/kit@3.10.2(rollup@3.29.4): + resolution: {integrity: sha512-Bua7taY9CIm7HCTpHXqFyM1xlZkrUl6HOqWrkGjLLQg9eeWAdKT7ppT0iEMiGnb9f+5T0uL5Ec3TvuR5J8P9WA==} engines: {node: ^14.18.0 || >=16.10.0} dependencies: - '@nuxt/schema': 3.8.2(rollup@3.29.4) - c12: 1.5.1 + '@nuxt/schema': 3.10.2(rollup@3.29.4) + c12: 1.8.0 consola: 3.2.3 - defu: 6.1.3 - globby: 14.0.0 + defu: 6.1.4 + globby: 14.0.1 hash-sum: 2.0.0 - ignore: 5.3.0 + ignore: 5.3.1 jiti: 1.21.0 knitwork: 1.0.0 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.1.0 - semver: 7.5.4 - ufo: 1.3.2 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.4.0 unctx: 2.3.1 - unimport: 3.6.0(rollup@3.29.4) - untyped: 1.4.0 + unimport: 3.7.1(rollup@3.29.4) + untyped: 1.4.2 transitivePeerDependencies: - rollup - supports-color - /@nuxt/module-builder@0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.3.3): - resolution: {integrity: sha512-lCPh8s8LSfYqHgIMMsctDhz+AX1z6TnATkUes/GXc/No4kApC0zmJkQWrbtDRjmsWjElwl1kE7l7OzYdYc3d4w==} + /@nuxt/module-builder@0.5.5(@nuxt/kit@3.10.2)(nuxi@3.10.1)(typescript@5.3.3): + resolution: {integrity: sha512-ifFfwA1rbSXSae25RmqA2kAbV3xoShZNrq1yK8VXB/EnIcDn4WiaYR1PytaSxIt5zsvWPn92BJXiIUBiMQZ0hw==} hasBin: true peerDependencies: - '@nuxt/kit': ^3.8.1 - nuxi: ^3.9.1 + '@nuxt/kit': ^3.8.2 + nuxi: ^3.10.0 dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - citty: 0.1.5 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + citty: 0.1.6 consola: 3.2.3 - mlly: 1.4.2 - nuxi: 3.10.0 - pathe: 1.1.1 + mlly: 1.5.0 + nuxi: 3.10.1 + pathe: 1.1.2 unbuild: 2.0.0(typescript@5.3.3) transitivePeerDependencies: - sass @@ -2338,21 +2026,21 @@ packages: - typescript dev: true - /@nuxt/schema@3.8.2(rollup@3.29.4): - resolution: {integrity: sha512-AMpysQ/wHK2sOujLShqYdC4OSj/S3fFJGjhYXqA2g6dgmz+FNQWJRG/ie5sI9r2EX9Ela1wt0GN1jZR3wYNE8Q==} + /@nuxt/schema@3.10.2(rollup@3.29.4): + resolution: {integrity: sha512-hHVnMlPKYR6AVK889gvcYVgewB1885/KPZW6uYhVWkeKGc63JzNCILq8ykTqG/t8LpG1ZJpwxo5KtDk9nIZrfA==} engines: {node: ^14.18.0 || >=16.10.0} dependencies: '@nuxt/ui-templates': 1.3.1 consola: 3.2.3 - defu: 6.1.3 + defu: 6.1.4 hookable: 5.5.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.1.0 - std-env: 3.5.0 - ufo: 1.3.2 - unimport: 3.6.0(rollup@3.29.4) - untyped: 1.4.0 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.4.0 + unimport: 3.7.1(rollup@3.29.4) + untyped: 1.4.2 transitivePeerDependencies: - rollup - supports-color @@ -2361,13 +2049,13 @@ packages: resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} hasBin: true dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@nuxt/kit': 3.10.2(rollup@3.29.4) ci-info: 4.0.0 consola: 3.2.3 create-require: 1.1.1 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 - dotenv: 16.3.1 + dotenv: 16.4.4 git-url-parse: 13.1.1 is-docker: 3.0.0 jiti: 1.21.0 @@ -2375,9 +2063,9 @@ packages: nanoid: 4.0.2 ofetch: 1.3.3 parse-git-config: 3.0.0 - pathe: 1.1.1 + pathe: 1.1.2 rc9: 2.1.1 - std-env: 3.5.0 + std-env: 3.7.0 transitivePeerDependencies: - rollup - supports-color @@ -2386,45 +2074,46 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/vite-builder@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7): - resolution: {integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==} + /@nuxt/vite-builder@3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.19): + resolution: {integrity: sha512-FFMfcb/o2ID42QqX7LyspjG+cbibTUVMVYDNbxXviIsj0VWt5trlSL4zU81HaLn8nAgGTozMYqV5SJgT4rp/Zg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: vue: ^3.3.4 dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@nuxt/kit': 3.10.2(rollup@3.29.4) '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) - '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.4.7) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.4.7) - autoprefixer: 10.4.16(postcss@8.4.32) + '@vitejs/plugin-vue': 5.0.4(vite@5.1.1)(vue@3.4.19) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.1.1)(vue@3.4.19) + autoprefixer: 10.4.17(postcss@8.4.35) clear: 0.1.0 consola: 3.2.3 - cssnano: 6.0.1(postcss@8.4.32) - defu: 6.1.3 - esbuild: 0.19.8 + cssnano: 6.0.3(postcss@8.4.35) + defu: 6.1.4 + esbuild: 0.20.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 externality: 1.0.2 - fs-extra: 11.1.1 - get-port-please: 3.1.1 - h3: 1.9.0 + fs-extra: 11.2.0 + get-port-please: 3.1.2 + h3: 1.10.1 knitwork: 1.0.0 - magic-string: 0.30.5 - mlly: 1.4.2 + magic-string: 0.30.7 + mlly: 1.5.0 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 - postcss: 8.4.32 - rollup-plugin-visualizer: 5.9.3(rollup@3.29.4) - std-env: 3.5.0 - strip-literal: 1.3.0 - ufo: 1.3.2 - unplugin: 1.5.1 - vite: 4.5.0(@types/node@20.10.4) - vite-node: 0.33.0(@types/node@20.10.4) - vite-plugin-checker: 0.6.2(eslint@8.54.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) - vue: 3.4.7(typescript@5.3.3) + postcss: 8.4.35 + rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 + unenv: 1.9.0 + unplugin: 1.7.1 + vite: 5.1.1(@types/node@20.11.19) + vite-node: 1.2.2(@types/node@20.11.19) + vite-plugin-checker: 0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) + vue: 3.4.19(typescript@5.3.3) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: - '@types/node' @@ -2446,75 +2135,18 @@ packages: - vue-tsc dev: true - /@nuxt/vite-builder@3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7): - resolution: {integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==} - engines: {node: ^14.18.0 || >=16.10.0} - peerDependencies: - vue: ^3.3.4 + /@nuxthq/studio@1.0.11(rollup@3.29.4): + resolution: {integrity: sha512-MLrs/qvGqaSp+q3pezBTcRfkTHOJs9+MP0IIzSPwVCl4mncu4/1jyVLF7XjcjV4V91NFXJ/cjCNBQQWRsU7uLg==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) - '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.4.7) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.4.7) - autoprefixer: 10.4.16(postcss@8.4.32) - clear: 0.1.0 - consola: 3.2.3 - cssnano: 6.0.1(postcss@8.4.32) - defu: 6.1.3 - esbuild: 0.19.8 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - externality: 1.0.2 - fs-extra: 11.1.1 - get-port-please: 3.1.1 - h3: 1.9.0 - knitwork: 1.0.0 - magic-string: 0.30.5 - mlly: 1.4.2 - ohash: 1.1.3 - pathe: 1.1.1 - perfect-debounce: 1.0.0 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + defu: 6.1.4 + git-url-parse: 14.0.0 + nuxt-component-meta: 0.6.3(rollup@3.29.4) + parse-git-config: 3.0.0 pkg-types: 1.0.3 - postcss: 8.4.32 - rollup-plugin-visualizer: 5.9.3(rollup@3.29.4) - std-env: 3.5.0 - strip-literal: 1.3.0 - ufo: 1.3.2 - unplugin: 1.5.1 - vite: 4.5.0(@types/node@20.10.4) - vite-node: 0.33.0(@types/node@20.10.4) - vite-plugin-checker: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20) - vue: 3.4.7(typescript@5.3.3) - vue-bundle-renderer: 2.0.0 - transitivePeerDependencies: - - '@types/node' - - eslint - - less - - lightningcss - - meow - - optionator - - rollup - - sass - - stylelint - - stylus - - sugarss - - supports-color - - terser - - typescript - - vls - - vti - - vue-tsc - dev: true - - /@nuxthq/studio@1.0.5(rollup@3.29.4): - resolution: {integrity: sha512-ZJjS+H4FcpWR7QR2RSJMbPoikN/ECuJ+dHZO2VvRyLEdTDj3MLJ4ZXPoJCUkJ5h5597jZMMl8KTe70wu39UNZQ==} - dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - defu: 6.1.3 - nuxt-component-meta: 0.5.4(rollup@3.29.4) - nuxt-config-schema: 0.4.6(rollup@3.29.4) - socket.io-client: 4.7.2 - ufo: 1.3.2 + socket.io-client: 4.7.4 + ufo: 1.4.0 + untyped: 1.4.2 transitivePeerDependencies: - bufferutil - rollup @@ -2522,12 +2154,12 @@ packages: - utf-8-validate dev: true - /@nuxtjs/color-mode@3.2.0(rollup@3.29.4): - resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==} + /@nuxtjs/color-mode@3.3.2(rollup@3.29.4): + resolution: {integrity: sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@nuxt/kit': 3.10.2(rollup@3.29.4) lodash.template: 4.5.0 - pathe: 1.1.0 + pathe: 1.1.2 transitivePeerDependencies: - rollup - supports-color @@ -2538,13 +2170,13 @@ packages: peerDependencies: eslint: ^8.48.0 dependencies: - '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - '@typescript-eslint/eslint-plugin': 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0) - eslint-plugin-vue: 9.18.1(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) + eslint-plugin-vue: 9.21.1(eslint@8.56.0) transitivePeerDependencies: - eslint-import-resolver-node - eslint-import-resolver-webpack @@ -2552,19 +2184,19 @@ packages: - typescript dev: true - /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-ewenelo75x0eYEUK+9EBXjc/OopQCvdkmYmlZuoHq5kub/vtiRpyZ/autppwokpHUq8tiVyl2ejMakoiHiDTrg==} peerDependencies: eslint: ^8.23.0 dependencies: eslint: 8.56.0 - eslint-config-standard: 17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-n: 15.6.1(eslint@8.56.0) + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-n: 15.7.0(eslint@8.56.0) eslint-plugin-node: 11.1.0(eslint@8.56.0) eslint-plugin-promise: 6.1.1(eslint@8.56.0) eslint-plugin-unicorn: 44.0.2(eslint@8.56.0) - eslint-plugin-vue: 9.18.1(eslint@8.56.0) + eslint-plugin-vue: 9.21.1(eslint@8.56.0) local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -2573,119 +2205,113 @@ packages: - supports-color dev: true - /@nuxtjs/mdc@0.2.8(rollup@3.29.4): - resolution: {integrity: sha512-NTvUsdN+MAe4MR1/OA61aYRGKGW3603kiZtWg3gNk2EEUTHSVqIhK9qpTtDtrCI6Cvg3dH3ZlqBPdE51U0Kq4A==} + /@nuxtjs/mdc@0.5.0(rollup@3.29.4): + resolution: {integrity: sha512-480Ajc7o/YAl9b21btd0oRtVe/UjUWmVSEWauS+H+izwEGdGvJTVfZRdaiAXcXKl+UmUTpf+POel027sE9HAZQ==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@types/hast': 3.0.3 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + '@shikijs/transformers': 1.1.2 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.7 + '@vue/compiler-core': 3.4.19 consola: 3.2.3 - defu: 6.1.3 + debug: 4.3.4(supports-color@8.1.1) + defu: 6.1.4 destr: 2.0.2 detab: 3.0.2 github-slugger: 2.0.0 hast-util-to-string: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 micromark-util-sanitize-uri: 2.0.0 ohash: 1.1.3 - property-information: 6.4.0 + parse5: 7.1.2 + pathe: 1.1.2 + property-information: 6.4.1 rehype-external-links: 3.0.0 - rehype-raw: 6.1.1 + rehype-raw: 7.0.0 rehype-slug: 6.0.0 rehype-sort-attribute-values: 5.0.0 rehype-sort-attributes: 5.0.0 remark-emoji: 4.0.1 - remark-gfm: 3.0.1 - remark-mdc: 2.1.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - scule: 1.1.0 - shikiji: 0.6.13 - ufo: 1.3.2 + remark-gfm: 4.0.0 + remark-mdc: 3.0.2 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + scule: 1.3.0 + shiki: 1.1.2 + ufo: 1.4.0 unified: 11.0.4 unist-builder: 4.0.0 unist-util-visit: 5.0.0 + unwasm: 0.3.7 transitivePeerDependencies: - rollup - supports-color dev: true - /@nuxtjs/tailwindcss@6.10.1(rollup@3.29.4): - resolution: {integrity: sha512-LqOWiKUpCYErQoVTA7HN6QkjOBVGC24AmfgO/csQHRsRp8Bvw7rW+85fZ1cWY4KqlY0Rvx6pwZuOTcyiH31Orw==} + /@nuxtjs/tailwindcss@6.11.4(rollup@3.29.4): + resolution: {integrity: sha512-09cksgZD4seQj054Z/BeiwFg1bzQTol8KPulLDLGnmMTkEi21vj/z+WlXQRpVbN1GS9+oU9tcSsu2ufXCM3DBg==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - autoprefixer: 10.4.16(postcss@8.4.31) - chokidar: 3.5.3 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + autoprefixer: 10.4.17(postcss@8.4.35) + chokidar: 3.6.0 clear-module: 4.1.2 - colorette: 2.0.20 - cookie-es: 1.0.0 - defu: 6.1.3 - destr: 2.0.2 - h3: 1.9.0 - iron-webcrypto: 1.0.0 + consola: 3.2.3 + defu: 6.1.4 + h3: 1.10.1 micromatch: 4.0.5 - pathe: 1.1.1 - postcss: 8.4.31 - postcss-custom-properties: 13.3.2(postcss@8.4.31) - postcss-nesting: 12.0.1(postcss@8.4.31) - radix3: 1.1.0 - tailwind-config-viewer: 1.7.3(tailwindcss@3.3.5) - tailwindcss: 3.3.5 - ufo: 1.3.2 - uncrypto: 0.1.3 + pathe: 1.1.2 + postcss: 8.4.35 + postcss-custom-properties: 13.3.4(postcss@8.4.35) + postcss-nesting: 12.0.2(postcss@8.4.35) + tailwind-config-viewer: 1.7.3(tailwindcss@3.4.1) + tailwindcss: 3.4.1 + ufo: 1.4.0 transitivePeerDependencies: - rollup - supports-color - ts-node dev: true - /@octokit/auth-token@3.0.3: - resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} + /@octokit/auth-token@3.0.4: + resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} engines: {node: '>= 14'} - dependencies: - '@octokit/types': 9.0.0 dev: true /@octokit/core@4.2.4: resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-token': 3.0.3 - '@octokit/graphql': 5.0.5 - '@octokit/request': 6.2.3 + '@octokit/auth-token': 3.0.4 + '@octokit/graphql': 5.0.6 + '@octokit/request': 6.2.8 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true - /@octokit/endpoint@7.0.5: - resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} + /@octokit/endpoint@7.0.6: + resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 + universal-user-agent: 6.0.1 dev: true - /@octokit/graphql@5.0.5: - resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==} + /@octokit/graphql@5.0.6: + resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} engines: {node: '>= 14'} dependencies: - '@octokit/request': 6.2.3 - '@octokit/types': 9.0.0 - universal-user-agent: 6.0.0 + '@octokit/request': 6.2.8 + '@octokit/types': 9.3.2 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true - /@octokit/openapi-types@16.0.0: - resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==} - dev: true - /@octokit/openapi-types@18.1.1: resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} dev: true @@ -2723,21 +2349,21 @@ packages: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 deprecation: 2.3.1 once: 1.4.0 dev: true - /@octokit/request@6.2.3: - resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==} + /@octokit/request@6.2.8: + resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} engines: {node: '>= 14'} dependencies: - '@octokit/endpoint': 7.0.5 + '@octokit/endpoint': 7.0.6 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.0.0 + '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.9 - universal-user-agent: 6.0.0 + node-fetch: 2.7.0 + universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding dev: true @@ -2764,20 +2390,14 @@ packages: '@octokit/openapi-types': 18.1.1 dev: true - /@octokit/types@9.0.0: - resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} - dependencies: - '@octokit/openapi-types': 16.0.0 - dev: true - /@octokit/types@9.3.2: resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} dependencies: '@octokit/openapi-types': 18.1.1 dev: true - /@parcel/watcher-android-arm64@2.3.0: - resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} + /@parcel/watcher-android-arm64@2.4.0: + resolution: {integrity: sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] @@ -2785,8 +2405,8 @@ packages: dev: true optional: true - /@parcel/watcher-darwin-arm64@2.3.0: - resolution: {integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==} + /@parcel/watcher-darwin-arm64@2.4.0: + resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] @@ -2794,8 +2414,8 @@ packages: dev: true optional: true - /@parcel/watcher-darwin-x64@2.3.0: - resolution: {integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==} + /@parcel/watcher-darwin-x64@2.4.0: + resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] @@ -2803,8 +2423,8 @@ packages: dev: true optional: true - /@parcel/watcher-freebsd-x64@2.3.0: - resolution: {integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==} + /@parcel/watcher-freebsd-x64@2.4.0: + resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] @@ -2812,8 +2432,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm-glibc@2.3.0: - resolution: {integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==} + /@parcel/watcher-linux-arm-glibc@2.4.0: + resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] @@ -2821,8 +2441,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm64-glibc@2.3.0: - resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} + /@parcel/watcher-linux-arm64-glibc@2.4.0: + resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] @@ -2830,8 +2450,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-arm64-musl@2.3.0: - resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} + /@parcel/watcher-linux-arm64-musl@2.4.0: + resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] @@ -2839,8 +2459,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-x64-glibc@2.3.0: - resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} + /@parcel/watcher-linux-x64-glibc@2.4.0: + resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -2848,8 +2468,8 @@ packages: dev: true optional: true - /@parcel/watcher-linux-x64-musl@2.3.0: - resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} + /@parcel/watcher-linux-x64-musl@2.4.0: + resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -2857,19 +2477,18 @@ packages: dev: true optional: true - /@parcel/watcher-wasm@2.3.0: - resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} + /@parcel/watcher-wasm@2.4.0: + resolution: {integrity: sha512-MNgQ4WCbBybqQ97KwR/hqJGYTg3+s8qHpgIyFWB2qJOBvoJWbXuJGmm4ZkPLq2bMaANqCZqrXwmKYagZTkMKZA==} engines: {node: '>= 10.0.0'} dependencies: is-glob: 4.0.3 micromatch: 4.0.5 - napi-wasm: 1.1.0 dev: true bundledDependencies: - napi-wasm - /@parcel/watcher-win32-arm64@2.3.0: - resolution: {integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==} + /@parcel/watcher-win32-arm64@2.4.0: + resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] @@ -2877,8 +2496,8 @@ packages: dev: true optional: true - /@parcel/watcher-win32-ia32@2.3.0: - resolution: {integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==} + /@parcel/watcher-win32-ia32@2.4.0: + resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] @@ -2886,8 +2505,8 @@ packages: dev: true optional: true - /@parcel/watcher-win32-x64@2.3.0: - resolution: {integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==} + /@parcel/watcher-win32-x64@2.4.0: + resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] @@ -2895,27 +2514,27 @@ packages: dev: true optional: true - /@parcel/watcher@2.3.0: - resolution: {integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==} + /@parcel/watcher@2.4.0: + resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==} engines: {node: '>= 10.0.0'} dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 micromatch: 4.0.5 - node-addon-api: 7.0.0 + node-addon-api: 7.1.0 optionalDependencies: - '@parcel/watcher-android-arm64': 2.3.0 - '@parcel/watcher-darwin-arm64': 2.3.0 - '@parcel/watcher-darwin-x64': 2.3.0 - '@parcel/watcher-freebsd-x64': 2.3.0 - '@parcel/watcher-linux-arm-glibc': 2.3.0 - '@parcel/watcher-linux-arm64-glibc': 2.3.0 - '@parcel/watcher-linux-arm64-musl': 2.3.0 - '@parcel/watcher-linux-x64-glibc': 2.3.0 - '@parcel/watcher-linux-x64-musl': 2.3.0 - '@parcel/watcher-win32-arm64': 2.3.0 - '@parcel/watcher-win32-ia32': 2.3.0 - '@parcel/watcher-win32-x64': 2.3.0 + '@parcel/watcher-android-arm64': 2.4.0 + '@parcel/watcher-darwin-arm64': 2.4.0 + '@parcel/watcher-darwin-x64': 2.4.0 + '@parcel/watcher-freebsd-x64': 2.4.0 + '@parcel/watcher-linux-arm-glibc': 2.4.0 + '@parcel/watcher-linux-arm64-glibc': 2.4.0 + '@parcel/watcher-linux-arm64-musl': 2.4.0 + '@parcel/watcher-linux-x64-glibc': 2.4.0 + '@parcel/watcher-linux-x64-musl': 2.4.0 + '@parcel/watcher-win32-arm64': 2.4.0 + '@parcel/watcher-win32-ia32': 2.4.0 + '@parcel/watcher-win32-x64': 2.4.0 dev: true /@pepicons/vue@3.1.1(vue@3.3.7): @@ -2934,8 +2553,8 @@ packages: dev: true optional: true - /@pnpm/config.env-replace@1.0.0: - resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==} + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} dev: true @@ -2946,20 +2565,20 @@ packages: graceful-fs: 4.2.10 dev: true - /@pnpm/npm-conf@2.1.0: - resolution: {integrity: sha512-Oe6ntvgsMTE3hDIqy6sajqHF+MnzJrOF06qC2QSiUEybLL7cp6tjoKUa32gpd9+KPVl4QyMs3E3nsXrx/Vdnlw==} + /@pnpm/npm-conf@2.2.2: + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} dependencies: - '@pnpm/config.env-replace': 1.0.0 + '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 dev: true - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true - /@release-it/conventional-changelog@5.1.1(release-it@16.2.1): + /@release-it/conventional-changelog@5.1.1(release-it@16.3.0): resolution: {integrity: sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==} engines: {node: '>=14'} peerDependencies: @@ -2968,23 +2587,10 @@ packages: concat-stream: 2.0.0 conventional-changelog: 3.1.25 conventional-recommended-bump: 6.1.0 - release-it: 16.2.1(typescript@5.3.3) + release-it: 16.3.0(typescript@5.3.3) semver: 7.3.8 dev: true - /@rollup/plugin-alias@4.0.3(rollup@3.29.4): - resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 3.29.4 - slash: 4.0.0 - dev: true - /@rollup/plugin-alias@5.1.0(rollup@3.29.4): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -2998,7 +2604,7 @@ packages: slash: 4.0.0 dev: true - /@rollup/plugin-alias@5.1.0(rollup@4.6.0): + /@rollup/plugin-alias@5.1.0(rollup@4.11.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3007,12 +2613,12 @@ packages: rollup: optional: true dependencies: - rollup: 4.6.0 + rollup: 4.11.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@24.0.1(rollup@3.29.4): - resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} + /@rollup/plugin-commonjs@24.1.0(rollup@3.29.4): + resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -3043,11 +2649,11 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 3.29.4 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.6.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.11.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3056,16 +2662,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.5 - rollup: 4.6.0 + magic-string: 0.30.7 + rollup: 4.11.0 dev: true - /@rollup/plugin-inject@5.0.5(rollup@4.6.0): + /@rollup/plugin-inject@5.0.5(rollup@4.11.0): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3074,17 +2680,17 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) estree-walker: 2.0.2 - magic-string: 0.30.5 - rollup: 4.6.0 + magic-string: 0.30.7 + rollup: 4.11.0 dev: true - /@rollup/plugin-json@6.0.0(rollup@3.29.4): - resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} + /@rollup/plugin-json@6.1.0(rollup@3.29.4): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true @@ -3093,8 +2699,8 @@ packages: rollup: 3.29.4 dev: true - /@rollup/plugin-json@6.0.1(rollup@4.6.0): - resolution: {integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==} + /@rollup/plugin-json@6.1.0(rollup@4.11.0): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -3102,26 +2708,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - rollup: 4.6.0 - dev: true - - /@rollup/plugin-node-resolve@15.0.1(rollup@3.29.4): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@types/resolve': 1.20.2 - deepmerge: 4.3.0 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.1 - rollup: 3.29.4 + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) + rollup: 4.11.0 dev: true /@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4): @@ -3135,14 +2723,14 @@ packages: dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) '@types/resolve': 1.20.2 - deepmerge: 4.3.0 + deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.8 rollup: 3.29.4 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.6.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.11.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3151,27 +2739,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) '@types/resolve': 1.20.2 - deepmerge: 4.3.0 + deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.1 - rollup: 4.6.0 - dev: true - - /@rollup/plugin-replace@5.0.2(rollup@3.29.4): - resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - magic-string: 0.27.0 - rollup: 3.29.4 + resolve: 1.22.8 + rollup: 4.11.0 dev: true /@rollup/plugin-replace@5.0.5(rollup@3.29.4): @@ -3184,11 +2758,11 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 3.29.4 dev: true - /@rollup/plugin-replace@5.0.5(rollup@4.6.0): + /@rollup/plugin-replace@5.0.5(rollup@4.11.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3197,12 +2771,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - magic-string: 0.30.5 - rollup: 4.6.0 + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) + magic-string: 0.30.7 + rollup: 4.11.0 dev: true - /@rollup/plugin-terser@0.4.4(rollup@4.6.0): + /@rollup/plugin-terser@0.4.4(rollup@4.11.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3211,13 +2785,13 @@ packages: rollup: optional: true dependencies: - rollup: 4.6.0 - serialize-javascript: 6.0.1 + rollup: 4.11.0 + serialize-javascript: 6.0.2 smob: 1.4.1 - terser: 5.24.0 + terser: 5.27.1 dev: true - /@rollup/plugin-wasm@6.2.2(rollup@4.6.0): + /@rollup/plugin-wasm@6.2.2(rollup@4.11.0): resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3226,8 +2800,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - rollup: 4.6.0 + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) + rollup: 4.11.0 dev: true /@rollup/pluginutils@4.2.1: @@ -3247,12 +2821,12 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.29.4 - /@rollup/pluginutils@5.1.0(rollup@4.6.0): + /@rollup/pluginutils@5.1.0(rollup@4.11.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3261,117 +2835,125 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.6.0 + rollup: 4.11.0 dev: true - /@rollup/rollup-android-arm-eabi@4.6.0: - resolution: {integrity: sha512-keHkkWAe7OtdALGoutLY3utvthkGF+Y17ws9LYT8pxMBYXaCoH/8dXS2uzo6e8+sEhY7y/zi5RFo22Dy2lFpDw==} + /@rollup/rollup-android-arm-eabi@4.11.0: + resolution: {integrity: sha512-BV+u2QSfK3i1o6FucqJh5IK9cjAU6icjFFhvknzFgu472jzl0bBojfDAkJLBEsHFMo+YZg6rthBvBBt8z12IBQ==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.6.0: - resolution: {integrity: sha512-y3Kt+34smKQNWilicPbBz/MXEY7QwDzMFNgwEWeYiOhUt9MTWKjHqe3EVkXwT2fR7izOvHpDWZ0o2IyD9SWX7A==} + /@rollup/rollup-android-arm64@4.11.0: + resolution: {integrity: sha512-0ij3iw7sT5jbcdXofWO2NqDNjSVVsf6itcAkV2I6Xsq4+6wjW1A8rViVB67TfBEan7PV2kbLzT8rhOVWLI2YXw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.6.0: - resolution: {integrity: sha512-oLzzxcUIHltHxOCmaXl+pkIlU+uhSxef5HfntW7RsLh1eHm+vJzjD9Oo4oUKso4YuP4PpbFJNlZjJuOrxo8dPg==} + /@rollup/rollup-darwin-arm64@4.11.0: + resolution: {integrity: sha512-yPLs6RbbBMupArf6qv1UDk6dzZvlH66z6NLYEwqTU0VHtss1wkI4UYeeMS7TVj5QRVvaNAWYKP0TD/MOeZ76Zg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.6.0: - resolution: {integrity: sha512-+ANnmjkcOBaV25n0+M0Bere3roeVAnwlKW65qagtuAfIxXF9YxUneRyAn/RDcIdRa7QrjRNJL3jR7T43ObGe8Q==} + /@rollup/rollup-darwin-x64@4.11.0: + resolution: {integrity: sha512-OvqIgwaGAwnASzXaZEeoJY3RltOFg+WUbdkdfoluh2iqatd090UeOG3A/h0wNZmE93dDew9tAtXgm3/+U/B6bw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.6.0: - resolution: {integrity: sha512-tBTSIkjSVUyrekddpkAqKOosnj1Fc0ZY0rJL2bIEWPKqlEQk0paORL9pUIlt7lcGJi3LzMIlUGXvtNi1Z6MOCQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.11.0: + resolution: {integrity: sha512-X17s4hZK3QbRmdAuLd2EE+qwwxL8JxyVupEqAkxKPa/IgX49ZO+vf0ka69gIKsaYeo6c1CuwY3k8trfDtZ9dFg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.6.0: - resolution: {integrity: sha512-Ed8uJI3kM11de9S0j67wAV07JUNhbAqIrDYhQBrQW42jGopgheyk/cdcshgGO4fW5Wjq97COCY/BHogdGvKVNQ==} + /@rollup/rollup-linux-arm64-gnu@4.11.0: + resolution: {integrity: sha512-673Lu9EJwxVB9NfYeA4AdNu0FOHz7g9t6N1DmT7bZPn1u6bTF+oZjj+fuxUcrfxWXE0r2jxl5QYMa9cUOj9NFg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.6.0: - resolution: {integrity: sha512-mZoNQ/qK4D7SSY8v6kEsAAyDgznzLLuSFCA3aBHZTmf3HP/dW4tNLTtWh9+LfyO0Z1aUn+ecpT7IQ3WtIg3ViQ==} + /@rollup/rollup-linux-arm64-musl@4.11.0: + resolution: {integrity: sha512-yFW2msTAQNpPJaMmh2NpRalr1KXI7ZUjlN6dY/FhWlOclMrZezm5GIhy3cP4Ts2rIAC+IPLAjNibjp1BsxCVGg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.6.0: - resolution: {integrity: sha512-rouezFHpwCqdEXsqAfNsTgSWO0FoZ5hKv5p+TGO5KFhyN/dvYXNMqMolOb8BkyKcPqjYRBeT+Z6V3aM26rPaYg==} + /@rollup/rollup-linux-riscv64-gnu@4.11.0: + resolution: {integrity: sha512-kKT9XIuhbvYgiA3cPAGntvrBgzhWkGpBMzuk1V12Xuoqg7CI41chye4HU0vLJnGf9MiZzfNh4I7StPeOzOWJfA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.11.0: + resolution: {integrity: sha512-6q4ESWlyTO+erp1PSCmASac+ixaDv11dBk1fqyIuvIUc/CmRAX2Zk+2qK1FGo5q7kyDcjHCFVwgGFCGIZGVwCA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.6.0: - resolution: {integrity: sha512-Bbm+fyn3S6u51urfj3YnqBXg5vI2jQPncRRELaucmhBVyZkbWClQ1fEsRmdnCPpQOQfkpg9gZArvtMVkOMsh1w==} + /@rollup/rollup-linux-x64-musl@4.11.0: + resolution: {integrity: sha512-vIAQUmXeMLmaDN78HSE4Kh6xqof2e3TJUKr+LPqXWU4NYNON0MDN9h2+t4KHrPAQNmU3w1GxBQ/n01PaWFwa5w==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.6.0: - resolution: {integrity: sha512-+MRMcyx9L2kTrTUzYmR61+XVsliMG4odFb5UmqtiT8xOfEicfYAGEuF/D1Pww1+uZkYhBqAHpvju7VN+GnC3ng==} + /@rollup/rollup-win32-arm64-msvc@4.11.0: + resolution: {integrity: sha512-LVXo9dDTGPr0nezMdqa1hK4JeoMZ02nstUxGYY/sMIDtTYlli1ZxTXBYAz3vzuuvKO4X6NBETciIh7N9+abT1g==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.6.0: - resolution: {integrity: sha512-rxfeE6K6s/Xl2HGeK6cO8SiQq3k/3BYpw7cfhW5Bk2euXNEpuzi2cc7llxx1si1QgwfjNtdRNTGqdBzGlFZGFw==} + /@rollup/rollup-win32-ia32-msvc@4.11.0: + resolution: {integrity: sha512-xZVt6K70Gr3I7nUhug2dN6VRR1ibot3rXqXS3wo+8JP64t7djc3lBFyqO4GiVrhNaAIhUCJtwQ/20dr0h0thmQ==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.6.0: - resolution: {integrity: sha512-QqmCsydHS172Y0Kc13bkMXvipbJSvzeglBncJG3LsYJSiPlxYACz7MmJBs4A8l1oU+jfhYEIC/+AUSlvjmiX/g==} + /@rollup/rollup-win32-x64-msvc@4.11.0: + resolution: {integrity: sha512-f3I7h9oTg79UitEco9/2bzwdciYkWr8pITs3meSDSlr1TdvQ7IxkQaaYN2YqZXX5uZhiYL+VuYDmHwNzhx+HOg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@rushstack/node-core-library@3.61.0(@types/node@20.10.4): - resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} + /@rushstack/node-core-library@3.62.0(@types/node@20.11.19): + resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.19 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -3397,51 +2979,76 @@ packages: string-argv: 0.3.2 dev: true - /@sigstore/bundle@2.1.0: - resolution: {integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==} + /@shikijs/core@1.1.2: + resolution: {integrity: sha512-ERVzNQz88ZkDqUpWeC57Kp+Kmx5RjqeDBR1M8AGWGom4yrkITiTfXCGmjchlDSw12MhDTuPYR4HVFW8uT61RaQ==} + dev: true + + /@shikijs/transformers@1.1.2: + resolution: {integrity: sha512-tldkUMW7RBkU2F6eXbiRMw3ja+hQer1EjwhD2NGOv6K0pgZdVp3JKjU8uisRtg65tyBqrVHq7zlLHVk7EKmUZA==} + dependencies: + shiki: 1.1.2 + dev: true + + /@sigstore/bundle@2.2.0: + resolution: {integrity: sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/protobuf-specs': 0.3.0 dev: true - /@sigstore/protobuf-specs@0.2.1: - resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + /@sigstore/core@1.0.0: + resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: true + + /@sigstore/protobuf-specs@0.3.0: + resolution: {integrity: sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@sigstore/sign@2.2.0: - resolution: {integrity: sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==} + /@sigstore/sign@2.2.3: + resolution: {integrity: sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 make-fetch-happen: 13.0.0 transitivePeerDependencies: - supports-color dev: true - /@sigstore/tuf@2.2.0: - resolution: {integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==} + /@sigstore/tuf@2.3.1: + resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 2.1.0 + '@sigstore/protobuf-specs': 0.3.0 + tuf-js: 2.2.0 transitivePeerDependencies: - supports-color dev: true + /@sigstore/verify@1.1.0: + resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + dev: true + /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} dev: true - /@sindresorhus/is@5.3.0: - resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} + /@sindresorhus/is@5.6.0: + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} dev: true - /@sindresorhus/merge-streams@1.0.0: - resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} + /@sindresorhus/merge-streams@2.2.1: + resolution: {integrity: sha512-255V7MMIKw6aQ43Wbqp9HZ+VHn6acddERTLiiLnlcPLU9PdTq9Aijl12oklAgUEblLWye+vHLzmqBx6f2TGcZw==} engines: {node: '>=18'} /@socket.io/component-emitter@3.1.0: @@ -3481,35 +3088,29 @@ packages: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true - /@types/debug@4.1.7: - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: - '@types/ms': 0.7.31 + '@types/ms': 0.7.34 dev: true - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - - /@types/hast@2.3.4: - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} - dependencies: - '@types/unist': 2.0.6 - dev: true + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/hast@3.0.3: - resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 3.0.2 dev: true - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: true /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.19 dev: true /@types/json-schema@7.0.15: @@ -3520,64 +3121,54 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/mdast@3.0.10: - resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 dev: true /@types/mdast@4.0.3: resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} dependencies: - '@types/unist': 2.0.6 - dev: true - - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + '@types/unist': 3.0.2 dev: true - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@18.18.13: - resolution: {integrity: sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==} - dependencies: - undici-types: 5.26.5 + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: true - /@types/node@20.10.4: - resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} + /@types/node@20.11.19: + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} dependencies: undici-types: 5.26.5 dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: true - - /@types/parse5@6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + /@types/semver@7.5.7: + resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} dev: true /@types/sinonjs__fake-timers@8.1.1: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} dev: true - /@types/sizzle@2.3.3: - resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} dev: true - /@types/unist@2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true /@types/unist@3.0.2: @@ -3595,11 +3186,11 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.10.4 + '@types/node': 20.11.19 dev: true optional: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3611,24 +3202,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare-lite: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3639,24 +3230,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.13.1 - '@typescript-eslint/type-utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.13.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/parser@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3670,14 +3261,14 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.13.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3686,10 +3277,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.13.1 - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.13.1 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 @@ -3705,15 +3296,15 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.13.1: - resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/visitor-keys': 6.13.1 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3724,17 +3315,17 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 tsutils: 3.21.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@6.13.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3743,11 +3334,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -3758,8 +3349,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.13.1: - resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -3777,15 +3368,15 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.13.1(typescript@5.3.3): - resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3793,52 +3384,53 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/visitor-keys': 6.13.1 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.3.3): + /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 + '@types/semver': 7.5.7 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - eslint: 8.54.0 + eslint: 8.56.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.13.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.13.1 - '@typescript-eslint/types': 6.13.1 - '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.3) + '@types/semver': 7.5.7 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -3852,11 +3444,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.13.1: - resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -3864,124 +3456,124 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unhead/dom@1.8.8: - resolution: {integrity: sha512-KRtn+tvA83lEtKrtZD85XmqW04fcytVuNKLUpPBzhJvsxB3v7gozw0nu46e3EpbO3TGJjLlLd6brNHQY6WLWfA==} + /@unhead/dom@1.8.10: + resolution: {integrity: sha512-dBeDbHrBjeU+eVgMsD91TGEazb1dwLrY0x/ve01CldMCmm+WcRu++SUW7s1QX84mzGH2EgFz78o1OPn6jpV3zw==} dependencies: - '@unhead/schema': 1.8.8 - '@unhead/shared': 1.8.8 + '@unhead/schema': 1.8.10 + '@unhead/shared': 1.8.10 dev: true - /@unhead/schema@1.8.8: - resolution: {integrity: sha512-xuhNW4osVNLW1yQSbdInZ8YGiXVTi1gjF8rK1E4VnODpWLg8XOq0OpoCbdIlCH4X4A0Ee0UQGRyzkuuVZlrSsQ==} + /@unhead/schema@1.8.10: + resolution: {integrity: sha512-cy8RGOPkwOVY5EmRoCgGV8AqLjy/226xBVTY54kBct02Om3hBdpB9FZa9frM910pPUXMI8PNmFgABO23O7IdJA==} dependencies: hookable: 5.5.3 zhead: 2.2.4 dev: true - /@unhead/shared@1.8.8: - resolution: {integrity: sha512-LoIJUDgmOzxoRHSIf29w/wc+IzKN2XvGiQC2dZZrYoTjOOzodf75609PEW5bhx2aHio38k9F+6BnD3KDiJ7IIg==} + /@unhead/shared@1.8.10: + resolution: {integrity: sha512-pEFryAs3EmV+ShDQx2ZBwUnt5l3RrMrXSMZ50oFf+MImKZNARVvD4+3I8fEI9wZh+Zq0JYG3UAfzo51MUP+Juw==} dependencies: - '@unhead/schema': 1.8.8 + '@unhead/schema': 1.8.10 dev: true - /@unhead/ssr@1.8.8: - resolution: {integrity: sha512-+nKFgU2jT/3U0x97pQaVYa5+pH+ngpdfqPjpT6Wti8htJsBnRRUdQ8X3hTyD2vHgFsrUTj0RRr9/6CY/qdpM/A==} + /@unhead/ssr@1.8.10: + resolution: {integrity: sha512-7wKRKDd8c2NFmMyPetj8Ah5u2hXunDBZT5Y2DH83O16PiMxx4/uobGamTV1EfcqjTvOKJvAqkrYZNYSWss99NQ==} dependencies: - '@unhead/schema': 1.8.8 - '@unhead/shared': 1.8.8 + '@unhead/schema': 1.8.10 + '@unhead/shared': 1.8.10 dev: true - /@unhead/vue@1.8.8(vue@3.3.7): - resolution: {integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==} + /@unhead/vue@1.8.10(vue@3.3.7): + resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.8.8 - '@unhead/shared': 1.8.8 + '@unhead/schema': 1.8.10 + '@unhead/shared': 1.8.10 hookable: 5.5.3 - unhead: 1.8.8 + unhead: 1.8.10 vue: 3.3.7(typescript@5.3.3) dev: true - /@unhead/vue@1.8.8(vue@3.4.7): - resolution: {integrity: sha512-isHpVnSSE5SP+ObsZG/i+Jq9tAQ2u1AbGrktXKmL7P5FRxwPjhATYnJFdGpxXeXfuaFgRFKzGKs29xo4MMVODw==} + /@unhead/vue@1.8.10(vue@3.4.19): + resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.8.8 - '@unhead/shared': 1.8.8 + '@unhead/schema': 1.8.10 + '@unhead/shared': 1.8.10 hookable: 5.5.3 - unhead: 1.8.8 - vue: 3.4.7(typescript@5.3.3) + unhead: 1.8.10 + vue: 3.4.19(typescript@5.3.3) dev: true - /@unocss/reset@0.50.4: - resolution: {integrity: sha512-UHNDhClJMx3sG3oi68XkOcTeJ2hkI20O0eHowSoua10NClbnS9tiKxeo4ZLInouzvac3tb1TsjKEgTosHfkR/w==} + /@unocss/reset@0.50.8: + resolution: {integrity: sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==} dev: true - /@vercel/nft@0.24.3: - resolution: {integrity: sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==} + /@vercel/nft@0.24.4: + resolution: {integrity: sha512-KjYAZty7boH5fi5udp6p+lNu6nawgs++pHW+3koErMgbRkkHuToGX/FwjN5clV1FcaM3udfd4zW/sUapkMgpZw==} engines: {node: '>=16'} hasBin: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 + '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.11.2 + acorn: 8.11.3 async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 micromatch: 4.0.5 - node-gyp-build: 4.6.0 + node-gyp-build: 4.8.0 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: true - /@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.0)(vue@3.4.7): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.1)(vue@3.4.19): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) - vite: 4.5.0(@types/node@20.10.4) - vue: 3.4.7(typescript@5.3.3) + '@babel/core': 7.23.9 + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) + '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.9) + vite: 5.1.1(@types/node@20.11.19) + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.5.0(vite@4.5.0)(vue@3.4.7): - resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} + /@vitejs/plugin-vue@4.6.2(vite@5.1.1)(vue@3.3.7): + resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@20.10.4) - vue: 3.4.7(typescript@5.3.3) + vite: 5.1.1(@types/node@20.11.19) + vue: 3.3.7(typescript@5.3.3) dev: true - /@vitejs/plugin-vue@4.5.0(vite@5.0.6)(vue@3.3.7): - resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} - engines: {node: ^14.18.0 || >=16.0.0} + /@vitejs/plugin-vue@5.0.4(vite@5.1.1)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: ^4.0.0 || ^5.0.0 + vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.6(@types/node@20.10.4) - vue: 3.3.7(typescript@5.3.3) + vite: 5.1.1(@types/node@20.11.19) + vue: 3.4.19(typescript@5.3.3) dev: true /@viteplay/plugin@0.2.9: resolution: {integrity: sha512-n247MYkx3NHGwa/QDVOMO02wsFjG/oFIkj5maCkq8ysF2lzyW8HjfvcmCTrlJiTfHYhCZaRuYN04YM+eW/DQqA==} dependencies: - '@babel/generator': 7.23.4 + '@babel/generator': 7.23.6 '@viteplay/types': 0.2.9 case-anything: 2.1.13 debug: 4.3.4(supports-color@8.1.1) @@ -3995,25 +3587,25 @@ packages: resolution: {integrity: sha512-p4q00wWCLrsdweC9LLOVd5SjsuRvdpvCvwQZwRZJWAkI8YE5ZvzBTDuJ3++8lm+2BmPPKSpDYoNIUSqEpF+QQA==} dev: true - /@viteplay/vue@0.2.9(@lezer/common@1.2.0)(vue-router@4.2.5)(vue@3.3.7): + /@viteplay/vue@0.2.9(@lezer/common@1.2.1)(vue-router@4.2.5)(vue@3.3.7): resolution: {integrity: sha512-lJzKWTnJvgn3/25oB76CfeC7t2wSa1S1nWG/qJQxTr8YPytLC8mRs3Pf0ihFUOGFV/AguZuktlGdzVHoofyzsQ==} peerDependencies: vue: ^3.2.39 vue-router: ^4.0.12 dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0) - '@codemirror/commands': 6.3.2 - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.22.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/commands': 6.3.3 + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) '@codemirror/lang-javascript': 6.2.1 - '@codemirror/language': 6.9.3 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 '@lezer/highlight': 1.2.0 - '@lezer/html': 1.3.7 + '@lezer/html': 1.3.8 '@pepicons/vue': 3.1.1(vue@3.3.7) '@viteplay/types': 0.2.9 - '@vueuse/core': 10.7.1(vue@3.3.7) - codemirror: 6.0.1(@lezer/common@1.2.0) + '@vueuse/core': 10.7.2(vue@3.3.7) + codemirror: 6.0.1(@lezer/common@1.2.1) floating-vue: 2.0.0-beta.20(vue@3.3.7) fuzzysort: 2.0.4 vue: 3.3.7(typescript@5.3.3) @@ -4035,16 +3627,10 @@ packages: '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@1.3.0-alpha.0: - resolution: {integrity: sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==} + /@volar/language-core@1.4.1: + resolution: {integrity: sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==} dependencies: - '@volar/source-map': 1.3.0-alpha.0 - dev: true - - /@volar/language-core@1.3.0-alpha.2: - resolution: {integrity: sha512-vDklSD84VOWRupk/NewR/iSsM9CI2O3l+nBECwDLBwfe+rMDrUI9IeHPKhug9Mo1oovOW91GAZBPIGgxZ3Ovcw==} - dependencies: - '@volar/source-map': 1.3.0-alpha.2 + '@volar/source-map': 1.4.1 dev: true /@volar/source-map@1.10.10: @@ -4059,14 +3645,8 @@ packages: muggle-string: 0.3.1 dev: true - /@volar/source-map@1.3.0-alpha.0: - resolution: {integrity: sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==} - dependencies: - muggle-string: 0.2.2 - dev: true - - /@volar/source-map@1.3.0-alpha.2: - resolution: {integrity: sha512-WyFE5GS9OXPRgFdBv1STW6O8ctj3ENax/AUBYKREjs/7TFAu40u6dFEkisC7d9ixif6HG+9/d27SGfsN1NeoeA==} + /@volar/source-map@1.4.1: + resolution: {integrity: sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==} dependencies: muggle-string: 0.2.2 dev: true @@ -4085,32 +3665,18 @@ packages: path-browserify: 1.0.1 dev: true - /@volar/vue-language-core@1.2.0: - resolution: {integrity: sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==} - dependencies: - '@volar/language-core': 1.3.0-alpha.0 - '@volar/source-map': 1.3.0-alpha.0 - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-sfc': 3.4.7 - '@vue/reactivity': 3.4.7 - '@vue/shared': 3.4.7 - minimatch: 6.2.0 - muggle-string: 0.2.2 - vue-template-compiler: 2.7.14 - dev: true - - /@volar/vue-language-core@1.2.1: - resolution: {integrity: sha512-ew2uz/TCObDVprwyl6AbVc2IaBq0MVweU1j1R/ZhpGMMxpyRfMxkBXQpkpJQrx4vY5Q2Y6MIp3obPNM2zci4JQ==} + /@volar/vue-language-core@1.6.5: + resolution: {integrity: sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==} dependencies: - '@volar/language-core': 1.3.0-alpha.2 - '@volar/source-map': 1.3.0-alpha.2 - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-sfc': 3.4.7 - '@vue/reactivity': 3.4.7 - '@vue/shared': 3.4.7 - minimatch: 6.2.0 + '@volar/language-core': 1.4.1 + '@volar/source-map': 1.4.1 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 + minimatch: 9.0.3 muggle-string: 0.2.2 - vue-template-compiler: 2.7.14 + vue-template-compiler: 2.7.16 dev: true /@vorms/core@1.1.0(vue@3.3.7): @@ -4118,14 +3684,14 @@ packages: peerDependencies: vue: ^3.0.0 dependencies: - deepmerge: 4.3.0 + deepmerge: 4.3.1 fast-deep-equal: 3.1.3 klona: 2.0.6 vue: 3.3.7(typescript@5.3.3) dev: false - /@vue-macros/common@1.9.0(rollup@3.29.4)(vue@3.4.7): - resolution: {integrity: sha512-LbfRHDkceuokkLlVuQW9Wq3ZLmRs6KIDPzCjUvvL14HB4GslWdtvBB1suFfNs6VMvh9Zj30cEKF/EAP7QBCZ6Q==} + /@vue-macros/common@1.10.1(rollup@3.29.4)(vue@3.4.19): + resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} engines: {node: '>=16.14.0'} peerDependencies: vue: ^2.7.0 || ^3.2.25 @@ -4133,33 +3699,38 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue/compiler-sfc': 3.4.7 - ast-kit: 0.11.2(rollup@3.29.4) + '@vue/compiler-sfc': 3.4.19 + ast-kit: 0.11.3(rollup@3.29.4) local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - rollup dev: true - /@vue/babel-helper-vue-transform-on@1.1.5: - resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} + /@vue/babel-helper-vue-transform-on@1.2.1: + resolution: {integrity: sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==} dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.3): - resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + /@vue/babel-plugin-jsx@1.2.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==} peerDependencies: '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 - '@vue/babel-helper-vue-transform-on': 1.1.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + '@vue/babel-helper-vue-transform-on': 1.2.1 + '@vue/babel-plugin-resolve-type': 1.2.1(@babel/core@7.23.9) camelcase: 6.3.0 html-tags: 3.3.1 svg-tags: 1.0.0 @@ -4167,19 +3738,32 @@ packages: - supports-color dev: true + /@vue/babel-plugin-resolve-type@1.2.1(@babel/core@7.23.9): + resolution: {integrity: sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/core': 7.23.9 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/parser': 7.23.9 + '@vue/compiler-sfc': 3.4.19 + dev: true + /@vue/compiler-core@3.3.7: resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/shared': 3.3.7 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-core@3.4.7: - resolution: {integrity: sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==} + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} dependencies: - '@babel/parser': 7.23.6 - '@vue/shared': 3.4.7 + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.19 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -4191,38 +3775,38 @@ packages: '@vue/compiler-core': 3.3.7 '@vue/shared': 3.3.7 - /@vue/compiler-dom@3.4.7: - resolution: {integrity: sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==} + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} dependencies: - '@vue/compiler-core': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 dev: true /@vue/compiler-sfc@3.3.7: resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/compiler-core': 3.3.7 '@vue/compiler-dom': 3.3.7 '@vue/compiler-ssr': 3.3.7 '@vue/reactivity-transform': 3.3.7 '@vue/shared': 3.3.7 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.7 + postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-sfc@3.4.7: - resolution: {integrity: sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==} + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} dependencies: - '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.7 - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-ssr': 3.4.7 - '@vue/shared': 3.4.7 + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.7 + postcss: 8.4.35 source-map-js: 1.0.2 dev: true @@ -4232,15 +3816,15 @@ packages: '@vue/compiler-dom': 3.3.7 '@vue/shared': 3.3.7 - /@vue/compiler-ssr@3.4.7: - resolution: {integrity: sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==} + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} dependencies: - '@vue/compiler-dom': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 dev: true - /@vue/devtools-api@6.5.0: - resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} /@vue/language-core@1.8.20(typescript@5.3.3): resolution: {integrity: sha512-vNJaqjCTSrWEr+erSq6Rq0CqDC8MOAwyxirxwK8esOxd+1LmAUJUTG2p7I84Mj1Izy5uHiHQAkRTVR2QxMBY+A==} @@ -4252,17 +3836,17 @@ packages: dependencies: '@volar/language-core': 1.10.10 '@volar/source-map': 1.10.10 - '@vue/compiler-dom': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 typescript: 5.3.3 - vue-template-compiler: 2.7.14 + vue-template-compiler: 2.7.16 dev: true - /@vue/language-core@1.8.24(typescript@5.3.3): - resolution: {integrity: sha512-2ClHvij0WlsDWryPzXJCSpPc6rusZFNoVtRZGgGGkKCmKuIREDDKmH8j+1tYyxPYyH0qL6pZ6+IHD8KIm5nWAw==} + /@vue/language-core@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4271,34 +3855,34 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 typescript: 5.3.3 - vue-template-compiler: 2.7.14 + vue-template-compiler: 2.7.16 dev: true /@vue/reactivity-transform@3.3.7: resolution: {integrity: sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/compiler-core': 3.3.7 '@vue/shared': 3.3.7 estree-walker: 2.0.2 - magic-string: 0.30.5 + magic-string: 0.30.7 /@vue/reactivity@3.3.7: resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==} dependencies: '@vue/shared': 3.3.7 - /@vue/reactivity@3.4.7: - resolution: {integrity: sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==} + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} dependencies: - '@vue/shared': 3.4.7 + '@vue/shared': 3.4.19 dev: true /@vue/runtime-core@3.3.7: @@ -4307,11 +3891,11 @@ packages: '@vue/reactivity': 3.3.7 '@vue/shared': 3.3.7 - /@vue/runtime-core@3.4.7: - resolution: {integrity: sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==} + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} dependencies: - '@vue/reactivity': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 dev: true /@vue/runtime-dom@3.3.7: @@ -4321,11 +3905,11 @@ packages: '@vue/shared': 3.3.7 csstype: 3.1.3 - /@vue/runtime-dom@3.4.7: - resolution: {integrity: sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==} + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} dependencies: - '@vue/runtime-core': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 csstype: 3.1.3 dev: true @@ -4338,25 +3922,21 @@ packages: '@vue/shared': 3.3.7 vue: 3.3.7(typescript@5.3.3) - /@vue/server-renderer@3.4.7(vue@3.4.7): - resolution: {integrity: sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==} + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} peerDependencies: - vue: 3.4.7 + vue: 3.4.19 dependencies: - '@vue/compiler-ssr': 3.4.7 - '@vue/shared': 3.4.7 - vue: 3.4.7(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.3.3) dev: true /@vue/shared@3.3.7: resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} - /@vue/shared@3.3.9: - resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} - dev: true - - /@vue/shared@3.4.7: - resolution: {integrity: sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA==} + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} dev: true /@vue/typescript@1.8.20(typescript@5.3.3): @@ -4368,25 +3948,13 @@ packages: - typescript dev: true - /@vueuse/core@10.6.1(vue@3.3.7): - resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.6.1 - '@vueuse/shared': 10.6.1(vue@3.3.7) - vue-demi: 0.14.6(vue@3.3.7) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /@vueuse/core@10.7.1(vue@3.3.7): - resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} + /@vueuse/core@10.7.2(vue@3.3.7): + resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(vue@3.3.7) - vue-demi: 0.14.6(vue@3.3.7) + '@vueuse/metadata': 10.7.2 + '@vueuse/shared': 10.7.2(vue@3.3.7) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4397,7 +3965,7 @@ packages: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 '@vueuse/shared': 9.13.0(vue@3.3.7) - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4408,15 +3976,15 @@ packages: peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/dom': 1.8.8 - '@unhead/schema': 1.8.8 - '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.3.7) + '@unhead/dom': 1.8.10 + '@unhead/schema': 1.8.10 + '@unhead/ssr': 1.8.10 + '@unhead/vue': 1.8.10(vue@3.3.7) vue: 3.3.7(typescript@5.3.3) dev: true - /@vueuse/integrations@10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7): - resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7): + resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} peerDependencies: async-validator: '*' axios: '*' @@ -4456,37 +4024,33 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.1(vue@3.3.7) - '@vueuse/shared': 10.7.1(vue@3.3.7) + '@vueuse/core': 10.7.2(vue@3.3.7) + '@vueuse/shared': 10.7.2(vue@3.3.7) focus-trap: 7.5.4 fuse.js: 6.6.2 - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue - /@vueuse/metadata@10.6.1: - resolution: {integrity: sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==} - dev: true - - /@vueuse/metadata@10.7.1: - resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} + /@vueuse/metadata@10.7.2: + resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} /@vueuse/metadata@9.13.0: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/nuxt@10.6.1(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.7): - resolution: {integrity: sha512-MnXg0ZviWHKcf2CsBYeHXhK9Pqn2TF7EJfaLgd+3rHEyb6XlSLUKBTPNCiO+5VH3Ck1IJAez90KS3VAdSqqs1w==} + /@vueuse/nuxt@10.7.2(nuxt@3.10.2)(rollup@3.29.4)(vue@3.3.7): + resolution: {integrity: sha512-yv2hY4AiRoSqg9ELNpN6gOkDWxGuLiKE/bEbuTAAuUBhS5OeEDf5aB/kY0e/V6ZXj5XiU4LX3nE8YV8c+UKfmQ==} peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@vueuse/core': 10.6.1(vue@3.3.7) - '@vueuse/metadata': 10.6.1 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + '@vueuse/core': 10.7.2(vue@3.3.7) + '@vueuse/metadata': 10.7.2 local-pkg: 0.5.0 - nuxt: 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20) - vue-demi: 0.14.6(vue@3.3.7) + nuxt: 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - rollup @@ -4494,19 +4058,10 @@ packages: - vue dev: true - /@vueuse/shared@10.6.1(vue@3.3.7): - resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} - dependencies: - vue-demi: 0.14.6(vue@3.3.7) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /@vueuse/shared@10.7.1(vue@3.3.7): - resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} + /@vueuse/shared@10.7.2(vue@3.3.7): + resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} dependencies: - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4514,7 +4069,7 @@ packages: /@vueuse/shared@9.13.0(vue@3.3.7): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.7(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4545,32 +4100,18 @@ packages: negotiator: 0.6.3 dev: true - /acorn-jsx@5.3.2(acorn@8.11.2): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.2 - dev: true - - /acorn-jsx@5.3.2(acorn@8.8.2): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.11.3 dev: true - /acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} - engines: {node: '>=0.4.0'} - hasBin: true - - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -4592,6 +4133,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} @@ -4680,11 +4222,11 @@ packages: engines: {node: '>= 12.0.0'} dependencies: glob: 8.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /archiver@6.0.1: @@ -4692,11 +4234,11 @@ packages: engines: {node: '>= 12.0.0'} dependencies: archiver-utils: 4.0.1 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 - readable-stream: 3.6.1 - readdir-glob: 1.1.2 - tar-stream: 3.1.6 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 zip-stream: 5.0.1 dev: true @@ -4705,7 +4247,7 @@ packages: engines: {node: '>=10'} dependencies: delegates: 1.0.0 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /arg@5.0.2: @@ -4722,11 +4264,12 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 dev: true /array-ify@1.0.0: @@ -4737,10 +4280,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -4749,58 +4292,70 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-shim-unscopables: 1.0.2 dev: true - /array.prototype.map@1.0.5: - resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} + /array.prototype.map@1.0.6: + resolution: {integrity: sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.2 dev: true @@ -4820,22 +4375,23 @@ packages: engines: {node: '>=0.8'} dev: true - /assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + /assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} dependencies: - es6-object-assign: 1.1.0 + call-bind: 1.0.7 is-nan: 1.3.2 object-is: 1.1.5 + object.assign: 4.1.5 util: 0.12.5 dev: true - /ast-kit@0.11.2(rollup@3.29.4): - resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} + /ast-kit@0.11.3(rollup@3.29.4): + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - pathe: 1.1.1 + pathe: 1.1.2 transitivePeerDependencies: - rollup dev: true @@ -4844,9 +4400,9 @@ packages: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - pathe: 1.1.1 + pathe: 1.1.2 transitivePeerDependencies: - rollup dev: true @@ -4855,21 +4411,21 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true /ast-types@0.15.2: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true /ast-walker-scope@0.5.0(rollup@3.29.4): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.0 + '@babel/parser': 7.23.9 ast-kit: 0.9.5(rollup@3.29.4) transitivePeerDependencies: - rollup @@ -4896,8 +4452,8 @@ packages: lodash: 4.17.21 dev: true - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: true /asynckit@0.4.0: @@ -4909,56 +4465,24 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /autoprefixer@10.4.14(postcss@8.4.31): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001472 - fraction.js: 4.2.0 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /autoprefixer@10.4.16(postcss@8.4.31): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.22.1 - caniuse-lite: 1.0.30001565 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /autoprefixer@10.4.16(postcss@8.4.32): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.17(postcss@8.4.35): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.1 - caniuse-lite: 1.0.30001565 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001587 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + /available-typed-arrays@1.0.6: + resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} engines: {node: '>= 0.4'} dev: true @@ -4970,8 +4494,8 @@ packages: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: true - /b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + /b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} dev: true /bail@2.0.2: @@ -4982,12 +4506,18 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /bare-events@2.2.0: + resolution: {integrity: sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==} + requiresBuild: true + dev: true + optional: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /basic-ftp@5.0.3: - resolution: {integrity: sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==} + /basic-ftp@5.0.4: + resolution: {integrity: sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==} engines: {node: '>=10.0.0'} dev: true @@ -5001,8 +4531,8 @@ packages: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} dev: true @@ -5016,8 +4546,8 @@ packages: file-uri-to-path: 1.0.0 dev: true - /birpc@0.2.14: - resolution: {integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==} + /birpc@0.2.15: + resolution: {integrity: sha512-LuZgWLW6DB1zenkfJuF4/kfSZdazOR2xaMSzeqgvfbNIwECwV1AJso9wpNje79uaRU86Obbujv4qtDnwoOLQww==} dev: true /bl@4.1.0: @@ -5025,7 +4555,7 @@ packages: dependencies: buffer: 5.7.1 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /bl@5.1.0: @@ -5033,7 +4563,7 @@ packages: dependencies: buffer: 6.0.3 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /blob-util@2.0.2: @@ -5048,8 +4578,8 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /boxen@7.0.2: - resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} dependencies: ansi-align: 3.0.1 @@ -5066,7 +4596,7 @@ packages: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} dependencies: - big-integer: 1.6.51 + big-integer: 1.6.52 dev: true /brace-expansion@1.1.11: @@ -5088,26 +4618,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001472 - electron-to-chromium: 1.4.324 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) - dev: true - - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001565 - electron-to-chromium: 1.4.596 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) + caniuse-lite: 1.0.30001587 + electron-to-chromium: 1.4.672 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -5139,7 +4658,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /bundle-name@3.0.0: @@ -5149,58 +4668,50 @@ packages: run-applescript: 5.0.0 dev: true - /c12@1.2.0: - resolution: {integrity: sha512-CMznkE0LpNEuD8ILp5QvsQVP+YvcpJnrI/zFeFnosU2PyDtx1wT7tXfZ8S3Tl3l9MTTXbKeuhDYKwgvnAPOx3w==} + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} dependencies: - defu: 6.1.2 - dotenv: 16.0.3 - giget: 1.1.2 - jiti: 1.18.2 - mlly: 1.2.0 - pathe: 1.1.0 - pkg-types: 1.0.2 - rc9: 2.0.1 - transitivePeerDependencies: - - supports-color + run-applescript: 7.0.0 dev: true - /c12@1.5.1: - resolution: {integrity: sha512-BWZRJgDEveT8uI+cliCwvYSSSSvb4xKoiiu5S0jaDbKBopQLQF7E+bq9xKk1pTcG+mUa3yXuFO7bD9d8Lr9Xxg==} + /c12@1.8.0: + resolution: {integrity: sha512-93U6RndoaAwFQPBcS9F/6lwtgBfrWh4695sQ/ChILkbj0C7zOZVptOU3Sxp0I/9xvfW/lzBWD90AXDQz4muSkA==} dependencies: - chokidar: 3.5.3 - defu: 6.1.3 - dotenv: 16.3.1 - giget: 1.1.3 + chokidar: 3.6.0 + defu: 6.1.4 + dotenv: 16.4.4 + giget: 1.2.1 jiti: 1.21.0 - mlly: 1.4.2 + json5: 2.2.3 + jsonc-parser: 3.2.1 + mlly: 1.5.0 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 rc9: 2.1.1 - transitivePeerDependencies: - - supports-color /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true - /cacache@18.0.1: - resolution: {integrity: sha512-g4Uf2CFZPaxtJKre6qr4zqLDOOPU7bNVhWjlNhvzc51xaTOx2noMOLhfFkTAqwtrAZAKQUuDfyjitzilpA8WsQ==} + /cacache@18.0.2: + resolution: {integrity: sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 glob: 10.3.10 - lru-cache: 10.1.0 + lru-cache: 10.2.0 minipass: 7.0.4 minipass-collect: 2.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 ssri: 10.0.5 - tar: 6.1.13 + tar: 6.2.0 unique-filename: 3.0.0 dev: true @@ -5217,37 +4728,33 @@ packages: engines: {node: '>=14.16'} dev: true - /cacheable-request@10.2.8: - resolution: {integrity: sha512-IDVO5MJ4LItE6HKFQTqT2ocAQsisOoCTUDu1ddCmnhyiwFQjXNPp4081Xj23N4tO+AFEFNzGuNEf/c8Gwwt15A==} + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.2 + keyv: 4.5.4 mimic-response: 4.0.0 normalize-url: 8.0.0 responselike: 3.0.0 dev: true - /cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + /cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} engines: {node: '>=6'} dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - dev: true - - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 dev: true /callsites@3.1.0: @@ -5259,7 +4766,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /camelcase-css@2.0.1: @@ -5294,24 +4801,20 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001472 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001587 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001472: - resolution: {integrity: sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==} - dev: true - - /caniuse-lite@1.0.30001565: - resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} + /caniuse-lite@1.0.30001587: + resolution: {integrity: sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==} /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 upper-case-first: 2.0.2 dev: true @@ -5344,11 +4847,6 @@ packages: supports-color: 7.2.0 dev: true - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -5368,24 +4866,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.5.0 - dev: true - - /changelogen@0.4.1: - resolution: {integrity: sha512-p1dJO1Z995odIxdypzAykHIaUu+XnEvwYPSTyKJsbpL82o99sxN1G24tbecoMxTsV4PI+ZId82GJXRL2hhOeJA==} - hasBin: true - dependencies: - c12: 1.2.0 - consola: 2.15.3 - convert-gitmoji: 0.1.3 - execa: 6.1.0 - mri: 1.2.0 - node-fetch-native: 1.0.2 - pkg-types: 1.0.2 - scule: 1.0.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color + tslib: 2.6.2 dev: true /char-regex@1.0.2: @@ -5430,8 +4911,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 @@ -5452,8 +4933,8 @@ packages: resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==} dev: true - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} dev: true @@ -5462,11 +4943,10 @@ packages: engines: {node: '>=8'} dev: true - /citty@0.1.5: - resolution: {integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==} + /citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} dependencies: consola: 3.2.3 - dev: true /clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} @@ -5511,13 +4991,8 @@ packages: restore-cursor: 4.0.0 dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} - dev: true - - /cli-spinners@2.9.1: - resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} dev: true @@ -5543,13 +5018,13 @@ packages: engines: {node: '>= 12'} dev: true - /clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} dependencies: - arch: 2.2.0 - execa: 5.1.1 - is-wsl: 2.2.0 + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 dev: true /cliui@7.0.4: @@ -5584,16 +5059,16 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true - /codemirror@6.0.1(@lezer/common@1.2.0): + /codemirror@6.0.1(@lezer/common@1.2.1): resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.9.3)(@codemirror/state@6.3.2)(@codemirror/view@6.22.1)(@lezer/common@1.2.0) - '@codemirror/commands': 6.3.2 - '@codemirror/language': 6.9.3 - '@codemirror/lint': 6.4.2 - '@codemirror/search': 6.5.5 - '@codemirror/state': 6.3.2 - '@codemirror/view': 6.22.1 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/commands': 6.3.3 + '@codemirror/language': 6.10.1 + '@codemirror/lint': 6.5.0 + '@codemirror/search': 6.5.6 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 transitivePeerDependencies: - '@lezer/common' dev: true @@ -5626,12 +5101,9 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true - /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true /colors@1.2.5: resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} @@ -5649,9 +5121,9 @@ packages: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: true - /commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} - engines: {node: '>=14'} + /commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} dev: true /commander@2.20.3: @@ -5708,7 +5180,7 @@ packages: crc-32: 1.2.2 crc32-stream: 5.0.0 normalize-path: 3.0.0 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /computeds@0.0.1: @@ -5716,7 +5188,7 @@ packages: dev: true /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true /concat-stream@2.0.0: @@ -5725,7 +5197,7 @@ packages: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 - readable-stream: 3.6.1 + readable-stream: 3.6.2 typedarray: 0.0.6 dev: true @@ -5757,16 +5229,12 @@ packages: engines: {node: '>=12'} dependencies: dot-prop: 6.0.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 unique-string: 3.0.0 write-file-atomic: 3.0.3 xdg-basedir: 5.1.0 dev: true - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true - /consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -5779,7 +5247,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 upper-case: 2.0.2 dev: true @@ -5894,7 +5362,7 @@ packages: dependencies: conventional-commits-filter: 2.0.7 dateformat: 3.0.3 - handlebars: 4.7.7 + handlebars: 4.7.8 json-stringify-safe: 5.0.1 lodash: 4.17.21 meow: 8.1.2 @@ -5956,14 +5424,6 @@ packages: q: 1.5.1 dev: true - /convert-gitmoji@0.1.3: - resolution: {integrity: sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==} - dev: true - - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5971,8 +5431,8 @@ packages: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} dev: true - /cookies@0.8.0: - resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} + /cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 @@ -6014,15 +5474,15 @@ packages: engines: {node: '>= 12.0.0'} dependencies: crc-32: 1.2.2 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /crelt@1.0.5: - resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} + /crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} dev: true /cross-spawn@7.0.3: @@ -6032,6 +5492,9 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + + /crossws@0.1.1: + resolution: {integrity: sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==} dev: true /crypto-random-string@4.0.0: @@ -6041,22 +5504,13 @@ packages: type-fest: 1.4.0 dev: true - /css-declaration-sorter@6.3.1(postcss@8.4.31): - resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 - dependencies: - postcss: 8.4.31 - dev: true - - /css-declaration-sorter@6.3.1(postcss@8.4.32): - resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} - engines: {node: ^10 || ^12 || >=14} + /css-declaration-sorter@7.1.1(postcss@8.4.35): + resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} + engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 dev: true /css-select@5.1.0: @@ -6065,7 +5519,7 @@ packages: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 nth-check: 2.1.1 dev: true @@ -6096,120 +5550,62 @@ packages: hasBin: true dev: true - /cssnano-preset-default@6.0.1(postcss@8.4.31): - resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.31) - cssnano-utils: 4.0.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-calc: 9.0.1(postcss@8.4.31) - postcss-colormin: 6.0.0(postcss@8.4.31) - postcss-convert-values: 6.0.0(postcss@8.4.31) - postcss-discard-comments: 6.0.0(postcss@8.4.31) - postcss-discard-duplicates: 6.0.0(postcss@8.4.31) - postcss-discard-empty: 6.0.0(postcss@8.4.31) - postcss-discard-overridden: 6.0.0(postcss@8.4.31) - postcss-merge-longhand: 6.0.0(postcss@8.4.31) - postcss-merge-rules: 6.0.1(postcss@8.4.31) - postcss-minify-font-values: 6.0.0(postcss@8.4.31) - postcss-minify-gradients: 6.0.0(postcss@8.4.31) - postcss-minify-params: 6.0.0(postcss@8.4.31) - postcss-minify-selectors: 6.0.0(postcss@8.4.31) - postcss-normalize-charset: 6.0.0(postcss@8.4.31) - postcss-normalize-display-values: 6.0.0(postcss@8.4.31) - postcss-normalize-positions: 6.0.0(postcss@8.4.31) - postcss-normalize-repeat-style: 6.0.0(postcss@8.4.31) - postcss-normalize-string: 6.0.0(postcss@8.4.31) - postcss-normalize-timing-functions: 6.0.0(postcss@8.4.31) - postcss-normalize-unicode: 6.0.0(postcss@8.4.31) - postcss-normalize-url: 6.0.0(postcss@8.4.31) - postcss-normalize-whitespace: 6.0.0(postcss@8.4.31) - postcss-ordered-values: 6.0.0(postcss@8.4.31) - postcss-reduce-initial: 6.0.0(postcss@8.4.31) - postcss-reduce-transforms: 6.0.0(postcss@8.4.31) - postcss-svgo: 6.0.0(postcss@8.4.31) - postcss-unique-selectors: 6.0.0(postcss@8.4.31) - dev: true - - /cssnano-preset-default@6.0.1(postcss@8.4.32): - resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.32) - cssnano-utils: 4.0.0(postcss@8.4.32) - postcss: 8.4.32 - postcss-calc: 9.0.1(postcss@8.4.32) - postcss-colormin: 6.0.0(postcss@8.4.32) - postcss-convert-values: 6.0.0(postcss@8.4.32) - postcss-discard-comments: 6.0.0(postcss@8.4.32) - postcss-discard-duplicates: 6.0.0(postcss@8.4.32) - postcss-discard-empty: 6.0.0(postcss@8.4.32) - postcss-discard-overridden: 6.0.0(postcss@8.4.32) - postcss-merge-longhand: 6.0.0(postcss@8.4.32) - postcss-merge-rules: 6.0.1(postcss@8.4.32) - postcss-minify-font-values: 6.0.0(postcss@8.4.32) - postcss-minify-gradients: 6.0.0(postcss@8.4.32) - postcss-minify-params: 6.0.0(postcss@8.4.32) - postcss-minify-selectors: 6.0.0(postcss@8.4.32) - postcss-normalize-charset: 6.0.0(postcss@8.4.32) - postcss-normalize-display-values: 6.0.0(postcss@8.4.32) - postcss-normalize-positions: 6.0.0(postcss@8.4.32) - postcss-normalize-repeat-style: 6.0.0(postcss@8.4.32) - postcss-normalize-string: 6.0.0(postcss@8.4.32) - postcss-normalize-timing-functions: 6.0.0(postcss@8.4.32) - postcss-normalize-unicode: 6.0.0(postcss@8.4.32) - postcss-normalize-url: 6.0.0(postcss@8.4.32) - postcss-normalize-whitespace: 6.0.0(postcss@8.4.32) - postcss-ordered-values: 6.0.0(postcss@8.4.32) - postcss-reduce-initial: 6.0.0(postcss@8.4.32) - postcss-reduce-transforms: 6.0.0(postcss@8.4.32) - postcss-svgo: 6.0.0(postcss@8.4.32) - postcss-unique-selectors: 6.0.0(postcss@8.4.32) - dev: true - - /cssnano-utils@4.0.0(postcss@8.4.31): - resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: true - - /cssnano-utils@4.0.0(postcss@8.4.32): - resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==} + /cssnano-preset-default@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - dev: true - - /cssnano@6.0.1(postcss@8.4.31): - resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} + postcss: ^8.4.31 + dependencies: + css-declaration-sorter: 7.1.1(postcss@8.4.35) + cssnano-utils: 4.0.1(postcss@8.4.35) + postcss: 8.4.35 + postcss-calc: 9.0.1(postcss@8.4.35) + postcss-colormin: 6.0.2(postcss@8.4.35) + postcss-convert-values: 6.0.2(postcss@8.4.35) + postcss-discard-comments: 6.0.1(postcss@8.4.35) + postcss-discard-duplicates: 6.0.1(postcss@8.4.35) + postcss-discard-empty: 6.0.1(postcss@8.4.35) + postcss-discard-overridden: 6.0.1(postcss@8.4.35) + postcss-merge-longhand: 6.0.2(postcss@8.4.35) + postcss-merge-rules: 6.0.3(postcss@8.4.35) + postcss-minify-font-values: 6.0.1(postcss@8.4.35) + postcss-minify-gradients: 6.0.1(postcss@8.4.35) + postcss-minify-params: 6.0.2(postcss@8.4.35) + postcss-minify-selectors: 6.0.2(postcss@8.4.35) + postcss-normalize-charset: 6.0.1(postcss@8.4.35) + postcss-normalize-display-values: 6.0.1(postcss@8.4.35) + postcss-normalize-positions: 6.0.1(postcss@8.4.35) + postcss-normalize-repeat-style: 6.0.1(postcss@8.4.35) + postcss-normalize-string: 6.0.1(postcss@8.4.35) + postcss-normalize-timing-functions: 6.0.1(postcss@8.4.35) + postcss-normalize-unicode: 6.0.2(postcss@8.4.35) + postcss-normalize-url: 6.0.1(postcss@8.4.35) + postcss-normalize-whitespace: 6.0.1(postcss@8.4.35) + postcss-ordered-values: 6.0.1(postcss@8.4.35) + postcss-reduce-initial: 6.0.2(postcss@8.4.35) + postcss-reduce-transforms: 6.0.1(postcss@8.4.35) + postcss-svgo: 6.0.2(postcss@8.4.35) + postcss-unique-selectors: 6.0.2(postcss@8.4.35) + dev: true + + /cssnano-utils@4.0.1(postcss@8.4.35): + resolution: {integrity: sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.1(postcss@8.4.31) - lilconfig: 2.1.0 - postcss: 8.4.31 + postcss: 8.4.35 dev: true - /cssnano@6.0.1(postcss@8.4.32): - resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==} + /cssnano@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.1(postcss@8.4.32) - lilconfig: 2.1.0 - postcss: 8.4.32 + cssnano-preset-default: 6.0.3(postcss@8.4.35) + lilconfig: 3.1.0 + postcss: 8.4.35 dev: true /csso@5.0.5: @@ -6222,31 +5618,30 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /cypress@13.6.0: - resolution: {integrity: sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==} + /cypress@13.6.4: + resolution: {integrity: sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 18.18.13 '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.3 + '@types/sizzle': 2.3.8 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 buffer: 5.7.1 - cachedir: 2.3.0 + cachedir: 2.4.0 chalk: 4.1.2 check-more-types: 2.24.0 cli-cursor: 3.1.0 cli-table3: 0.6.3 commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.7 + dayjs: 1.11.10 debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.3.6 + enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 executable: 4.1.1 @@ -6257,7 +5652,7 @@ packages: is-ci: 3.0.1 is-installed-globally: 0.4.0 lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.3.6) + listr2: 3.14.0(enquirer@2.4.1) lodash: 4.17.21 log-symbols: 4.1.0 minimist: 1.2.8 @@ -6266,7 +5661,7 @@ packages: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 @@ -6290,8 +5685,8 @@ packages: engines: {node: '>= 12'} dev: true - /data-uri-to-buffer@6.0.1: - resolution: {integrity: sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==} + /data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} dev: true @@ -6299,15 +5694,15 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.9 dev: true /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: true /de-indent@1.0.2: @@ -6388,8 +5783,8 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge@4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} /default-browser-id@3.0.0: @@ -6400,6 +5795,11 @@ packages: untildify: 4.0.0 dev: true + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + dev: true + /default-browser@4.0.0: resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} engines: {node: '>=14.16'} @@ -6410,6 +5810,14 @@ packages: titleize: 3.0.0 dev: true + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: true + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -6421,13 +5829,13 @@ packages: engines: {node: '>=10'} dev: true - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.0 dev: true /define-lazy-prop@2.0.0: @@ -6440,20 +5848,17 @@ packages: engines: {node: '>=12'} dev: true - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true - /defu@6.1.2: - resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} - dev: true - - /defu@6.1.3: - resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} /degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} @@ -6497,10 +5902,6 @@ packages: engines: {node: '>=6'} dev: true - /destr@1.2.2: - resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} - dev: true - /destr@2.0.2: resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} @@ -6519,8 +5920,8 @@ packages: hasBin: true dev: true - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} dev: true @@ -6538,8 +5939,8 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dev: true @@ -6587,8 +5988,8 @@ packages: domelementtype: 2.3.0 dev: true - /domutils@3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -6599,7 +6000,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /dot-prop@5.3.0: @@ -6623,13 +6024,8 @@ packages: type-fest: 3.13.1 dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true - - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + /dotenv@16.4.4: + resolution: {integrity: sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==} engines: {node: '>=12'} /duplexer@0.1.2: @@ -6651,12 +6047,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.324: - resolution: {integrity: sha512-m+eBs/kh3TXnCuqDF6aHLLRwLK2U471JAbZ1KYigf0TM96fZglxv0/ZFBvyIxnLKsIWUoDiVnHTA2mhYz1fqdA==} - dev: true - - /electron-to-chromium@1.4.596: - resolution: {integrity: sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg==} + /electron-to-chromium@1.4.672: + resolution: {integrity: sha512-YYCy+goe3UqZqa3MOQCI5Mx/6HdBLzXL/mkbGCEWL3sP3Z1BP9zqAzeD3YEmLZlespYGFtyM8tRp5i2vfaUGCA==} /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -6702,7 +6094,7 @@ packages: dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.2.1 + engine.io-parser: 5.2.2 ws: 8.11.0 xmlhttprequest-ssl: 2.0.0 transitivePeerDependencies: @@ -6711,32 +6103,25 @@ packages: - utf-8-validate dev: true - /engine.io-parser@5.2.1: - resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} + /engine.io-parser@5.2.2: + resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} engines: {node: '>=10.0.0'} dev: true - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true - /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 tapable: 2.2.1 dev: true - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 + strip-ansi: 6.0.1 dev: true /entities@3.0.1: @@ -6744,11 +6129,6 @@ packages: engines: {node: '>=0.12'} dev: true - /entities@4.4.0: - resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} - engines: {node: '>=0.12'} - dev: true - /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -6773,60 +6153,74 @@ packages: resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.4: + resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.1 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 + typed-array-buffer: 1.0.1 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} dev: true + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -6836,19 +6230,19 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.3 + hasown: 2.0.1 dev: true /es-to-primitive@1.2.1: @@ -6860,102 +6254,100 @@ packages: is-symbol: 1.0.4 dev: true - /es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} - dev: true - - /esbuild@0.17.14: - resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.14 - '@esbuild/android-arm64': 0.17.14 - '@esbuild/android-x64': 0.17.14 - '@esbuild/darwin-arm64': 0.17.14 - '@esbuild/darwin-x64': 0.17.14 - '@esbuild/freebsd-arm64': 0.17.14 - '@esbuild/freebsd-x64': 0.17.14 - '@esbuild/linux-arm': 0.17.14 - '@esbuild/linux-arm64': 0.17.14 - '@esbuild/linux-ia32': 0.17.14 - '@esbuild/linux-loong64': 0.17.14 - '@esbuild/linux-mips64el': 0.17.14 - '@esbuild/linux-ppc64': 0.17.14 - '@esbuild/linux-riscv64': 0.17.14 - '@esbuild/linux-s390x': 0.17.14 - '@esbuild/linux-x64': 0.17.14 - '@esbuild/netbsd-x64': 0.17.14 - '@esbuild/openbsd-x64': 0.17.14 - '@esbuild/sunos-x64': 0.17.14 - '@esbuild/win32-arm64': 0.17.14 - '@esbuild/win32-ia32': 0.17.14 - '@esbuild/win32-x64': 0.17.14 - dev: true - - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - - /esbuild@0.19.8: - resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /esbuild@0.20.0: + resolution: {integrity: sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.8 - '@esbuild/android-arm64': 0.19.8 - '@esbuild/android-x64': 0.19.8 - '@esbuild/darwin-arm64': 0.19.8 - '@esbuild/darwin-x64': 0.19.8 - '@esbuild/freebsd-arm64': 0.19.8 - '@esbuild/freebsd-x64': 0.19.8 - '@esbuild/linux-arm': 0.19.8 - '@esbuild/linux-arm64': 0.19.8 - '@esbuild/linux-ia32': 0.19.8 - '@esbuild/linux-loong64': 0.19.8 - '@esbuild/linux-mips64el': 0.19.8 - '@esbuild/linux-ppc64': 0.19.8 - '@esbuild/linux-riscv64': 0.19.8 - '@esbuild/linux-s390x': 0.19.8 - '@esbuild/linux-x64': 0.19.8 - '@esbuild/netbsd-x64': 0.19.8 - '@esbuild/openbsd-x64': 0.19.8 - '@esbuild/sunos-x64': 0.19.8 - '@esbuild/win32-arm64': 0.19.8 - '@esbuild/win32-ia32': 0.19.8 - '@esbuild/win32-x64': 0.19.8 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + '@esbuild/aix-ppc64': 0.20.0 + '@esbuild/android-arm': 0.20.0 + '@esbuild/android-arm64': 0.20.0 + '@esbuild/android-x64': 0.20.0 + '@esbuild/darwin-arm64': 0.20.0 + '@esbuild/darwin-x64': 0.20.0 + '@esbuild/freebsd-arm64': 0.20.0 + '@esbuild/freebsd-x64': 0.20.0 + '@esbuild/linux-arm': 0.20.0 + '@esbuild/linux-arm64': 0.20.0 + '@esbuild/linux-ia32': 0.20.0 + '@esbuild/linux-loong64': 0.20.0 + '@esbuild/linux-mips64el': 0.20.0 + '@esbuild/linux-ppc64': 0.20.0 + '@esbuild/linux-riscv64': 0.20.0 + '@esbuild/linux-s390x': 0.20.0 + '@esbuild/linux-x64': 0.20.0 + '@esbuild/netbsd-x64': 0.20.0 + '@esbuild/openbsd-x64': 0.20.0 + '@esbuild/sunos-x64': 0.20.0 + '@esbuild/win32-arm64': 0.20.0 + '@esbuild/win32-ia32': 0.20.0 + '@esbuild/win32-x64': 0.20.0 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} /escape-goat@4.0.0: @@ -6992,26 +6384,28 @@ packages: source-map: 0.6.1 dev: true - /eslint-compat-utils@0.1.2(eslint@8.54.0): - resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + /eslint-compat-utils@0.4.1(eslint@8.56.0): + resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.54.0 + eslint: 8.56.0 + semver: 7.6.0 dev: true - /eslint-config-standard@17.0.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): - resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): + resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} + engines: {node: '>=12.0.0'} peerDependencies: eslint: ^8.0.1 eslint-plugin-import: ^2.25.2 - eslint-plugin-n: ^15.0.0 + eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.56.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-n: 15.6.1(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-n: 15.7.0(eslint@8.56.0) eslint-plugin-promise: 6.1.1(eslint@8.56.0) dev: true @@ -7025,7 +6419,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -7033,13 +6427,13 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.12.0 + enhanced-resolve: 5.15.0 eslint: 8.56.0 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 - is-core-module: 2.11.0 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -7048,36 +6442,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.7.4(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) - debug: 3.2.7(supports-color@8.1.1) - eslint: 8.56.0 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7098,15 +6463,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) - eslint: 8.54.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7127,19 +6492,19 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7(supports-color@8.1.1) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-antfu@0.37.0(eslint@8.54.0)(typescript@5.3.3): + /eslint-plugin-antfu@0.37.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-Tekr9S4fkrmH88RS5XHvs3gQwQIn/2As8gYePzrPHTQEQF00pIx0sa1eQrhmvN50ubUG4WkZnpx/uR3073jLeg==} dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) transitivePeerDependencies: - eslint - supports-color @@ -7157,17 +6522,6 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-es@4.1.0(eslint@8.54.0): - resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - dependencies: - eslint: 8.54.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - dev: true - /eslint-plugin-es@4.1.0(eslint@8.56.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} @@ -7179,15 +6533,15 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.56.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.54.0 - ignore: 5.3.0 + eslint: 8.56.0 + ignore: 5.3.1 dev: true /eslint-plugin-html@7.1.0: @@ -7196,8 +6550,8 @@ packages: htmlparser2: 8.0.2 dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -7206,33 +6560,33 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 8.54.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 - tsconfig-paths: 3.14.2 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -7241,33 +6595,33 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 - tsconfig-paths: 3.14.2 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint@8.56.0): - resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -7276,36 +6630,36 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 - tsconfig-paths: 3.14.2 + tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0)(typescript@5.3.3): - resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} + /eslint-plugin-jest@27.8.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-347hVFiu4ZKMYl5xFp0X81gLNwBdno0dl0CMpUMjwuAux9X/M2a7z+ab2VHmPL6XCT87q8nv1vaVzhIO4TE/hw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 eslint: ^7.0.0 || ^8.0.0 jest: '*' peerDependenciesMeta: @@ -7314,58 +6668,44 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsonc@2.10.0(eslint@8.54.0): - resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} + /eslint-plugin-jsonc@2.13.0(eslint@8.56.0): + resolution: {integrity: sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - eslint: 8.54.0 - eslint-compat-utils: 0.1.2(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + eslint: 8.56.0 + eslint-compat-utils: 0.4.1(eslint@8.56.0) + espree: 9.6.1 + graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 + synckit: 0.6.2 dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.54.0): + /eslint-plugin-markdown@3.0.1(eslint@8.56.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.56.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-n@15.6.1(eslint@8.54.0): - resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==} - engines: {node: '>=12.22.0'} - peerDependencies: - eslint: '>=7.0.0' - dependencies: - builtins: 5.0.1 - eslint: 8.54.0 - eslint-plugin-es: 4.1.0(eslint@8.54.0) - eslint-utils: 3.0.0(eslint@8.54.0) - ignore: 5.3.0 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 7.5.4 - dev: true - - /eslint-plugin-n@15.6.1(eslint@8.56.0): - resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==} + /eslint-plugin-n@15.7.0(eslint@8.56.0): + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' @@ -7374,11 +6714,11 @@ packages: eslint: 8.56.0 eslint-plugin-es: 4.1.0(eslint@8.56.0) eslint-utils: 3.0.0(eslint@8.56.0) - ignore: 5.3.0 + ignore: 5.3.1 is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.8 - semver: 7.5.4 + semver: 7.6.0 dev: true /eslint-plugin-no-only-tests@3.1.0: @@ -7395,21 +6735,12 @@ packages: eslint: 8.56.0 eslint-plugin-es: 3.0.1(eslint@8.56.0) eslint-utils: 2.1.0 - ignore: 5.2.4 + ignore: 5.3.1 minimatch: 3.1.2 - resolve: 1.22.1 + resolve: 1.22.8 semver: 6.3.1 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.54.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.54.0 - dev: true - /eslint-plugin-promise@6.1.1(eslint@8.56.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7425,8 +6756,8 @@ packages: peerDependencies: eslint: '>=8.23.1' dependencies: - '@babel/helper-validator-identifier': 7.22.5 - ci-info: 3.8.0 + '@babel/helper-validator-identifier': 7.22.20 + ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.56.0 eslint-utils: 3.0.0(eslint@8.56.0) @@ -7436,23 +6767,23 @@ packages: lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 - regexp-tree: 0.1.24 + regexp-tree: 0.1.27 safe-regex: 2.1.1 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 dev: true - /eslint-plugin-unicorn@46.0.1(eslint@8.54.0): + /eslint-plugin-unicorn@46.0.1(eslint@8.56.0): resolution: {integrity: sha512-setGhMTiLAddg1asdwjZ3hekIN5zLznNa5zll7pBPwFOka6greCKDQydfqy4fqyUhndi74wpDzClSQMEcmOaew==} engines: {node: '>=14.18'} peerDependencies: eslint: '>=8.28.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - ci-info: 3.8.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.54.0 + eslint: 8.56.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -7463,11 +6794,11 @@ packages: regexp-tree: 0.1.27 regjsparser: 0.9.1 safe-regex: 2.1.1 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0): + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0): resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -7477,31 +6808,13 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.3) - eslint: 8.54.0 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vue@9.18.1(eslint@8.54.0): - resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - eslint: 8.54.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - vue-eslint-parser: 9.3.2(eslint@8.54.0) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-vue@9.18.1(eslint@8.56.0): - resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + /eslint-plugin-vue@9.21.1(eslint@8.56.0): + resolution: {integrity: sha512-XVtI7z39yOVBFJyi8Ljbn7kY9yHzznKXL02qQYn+ta63Iy4A9JFBw6o4OSB9hyD2++tVT+su9kQqetUyCCwhjw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -7510,23 +6823,23 @@ packages: eslint: 8.56.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - vue-eslint-parser: 9.3.2(eslint@8.56.0) + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.56.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-yml@1.10.0(eslint@8.54.0): - resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} + /eslint-plugin-yml@1.12.2(eslint@8.56.0): + resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 - eslint-compat-utils: 0.1.2(eslint@8.54.0) + eslint: 8.56.0 + eslint-compat-utils: 0.4.1(eslint@8.56.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -7547,14 +6860,6 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7570,16 +6875,6 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.54.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.54.0 - eslint-visitor-keys: 2.1.0 - dev: true - /eslint-utils@3.0.0(eslint@8.56.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -7600,63 +6895,11 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 - '@humanwhocodes/config-array': 0.11.13 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.23.0 - graphemer: 1.4.0 - ignore: 5.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /eslint@8.56.0: resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7666,7 +6909,7 @@ packages: '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -7687,7 +6930,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -7704,21 +6947,12 @@ packages: - supports-color dev: true - /espree@9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 - dev: true - /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 dev: true @@ -7758,7 +6992,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.5 /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -7804,31 +7038,16 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: true - /execa@7.2.0: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 4.3.0 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.2.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 @@ -7843,11 +7062,10 @@ packages: human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.2.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true /executable@4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} @@ -7877,9 +7095,9 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.4.2 - pathe: 1.1.1 - ufo: 1.3.2 + mlly: 1.5.0 + pathe: 1.1.2 + ufo: 1.4.0 dev: true /extract-zip@2.0.1(supports-color@8.1.1): @@ -7908,17 +7126,6 @@ packages: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -7937,8 +7144,8 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 @@ -7953,7 +7160,7 @@ packages: engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.2 dev: true /figures@3.2.0: @@ -7975,7 +7182,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 dev: true /file-uri-to-path@1.0.0: @@ -8011,11 +7218,12 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true @@ -8023,6 +7231,12 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true + /flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} + hasBin: true + dev: true + /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true @@ -8081,10 +7295,6 @@ packages: fetch-blob: 3.2.0 dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: true - /fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true @@ -8094,29 +7304,20 @@ packages: engines: {node: '>= 0.6'} dev: true - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -8126,9 +7327,9 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-minipass@2.1.0: @@ -8155,10 +7356,6 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true @@ -8167,9 +7364,9 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 functions-have-names: 1.2.3 dev: true @@ -8209,21 +7406,15 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: true - - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.1 dev: true /get-pkg-repo@4.2.1: @@ -8237,8 +7428,8 @@ packages: yargs: 16.2.0 dev: true - /get-port-please@3.1.1: - resolution: {integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==} + /get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} dev: true /get-stream@5.2.0: @@ -8256,14 +7447,14 @@ packages: /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: true /get-tsconfig@4.7.2: @@ -8272,14 +7463,14 @@ packages: resolve-pkg-maps: 1.0.0 dev: true - /get-uri@6.0.2: - resolution: {integrity: sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==} + /get-uri@6.0.3: + resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} dependencies: - basic-ftp: 5.0.3 - data-uri-to-buffer: 6.0.1 + basic-ftp: 5.0.4 + data-uri-to-buffer: 6.0.2 debug: 4.3.4(supports-color@8.1.1) - fs-extra: 8.1.0 + fs-extra: 11.2.0 transitivePeerDependencies: - supports-color dev: true @@ -8287,7 +7478,7 @@ packages: /getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: - async: 3.2.4 + async: 3.2.5 dev: true /getpass@0.1.7: @@ -8296,34 +7487,18 @@ packages: assert-plus: 1.0.0 dev: true - /giget@1.1.2: - resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} - hasBin: true - dependencies: - colorette: 2.0.19 - defu: 6.1.2 - https-proxy-agent: 5.0.1 - mri: 1.2.0 - node-fetch-native: 1.0.2 - pathe: 1.1.0 - tar: 6.1.13 - transitivePeerDependencies: - - supports-color - dev: true - - /giget@1.1.3: - resolution: {integrity: sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==} + /giget@1.2.1: + resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true dependencies: - colorette: 2.0.20 - defu: 6.1.3 - https-proxy-agent: 7.0.2 - mri: 1.2.0 - node-fetch-native: 1.4.1 - pathe: 1.1.1 + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.2 + nypm: 0.3.6 + ohash: 1.1.3 + pathe: 1.1.2 tar: 6.2.0 - transitivePeerDependencies: - - supports-color /git-config-path@2.0.0: resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} @@ -8378,6 +7553,12 @@ packages: git-up: 7.0.0 dev: true + /git-url-parse@14.0.0: + resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} + dependencies: + git-up: 7.0.0 + dev: true + /gitconfiglocal@1.0.0: resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} dependencies: @@ -8413,17 +7594,6 @@ packages: path-scurry: 1.10.1 dev: true - /glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -8464,13 +7634,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -8482,7 +7645,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /globby@11.1.0: @@ -8491,8 +7654,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -8503,18 +7666,18 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 dev: true - /globby@14.0.0: - resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} dependencies: - '@sindresorhus/merge-streams': 1.0.0 + '@sindresorhus/merge-streams': 2.2.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -8522,21 +7685,21 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 dev: true - /got@12.6.0: - resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} + /got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} dependencies: - '@sindresorhus/is': 5.3.0 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.8 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 @@ -8546,14 +7709,14 @@ packages: resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} engines: {node: '>=16'} dependencies: - '@sindresorhus/is': 5.3.0 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.8 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 @@ -8563,6 +7726,10 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -8574,21 +7741,22 @@ packages: duplexer: 0.1.2 dev: true - /h3@1.9.0: - resolution: {integrity: sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==} + /h3@1.10.1: + resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} dependencies: cookie-es: 1.0.0 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 iron-webcrypto: 1.0.0 + ohash: 1.1.3 radix3: 1.1.0 - ufo: 1.3.2 + ufo: 1.4.0 uncrypto: 0.1.3 - unenv: 1.8.0 + unenv: 1.9.0 dev: true - /handlebars@4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} hasBin: true dependencies: @@ -8617,10 +7785,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.0 + es-define-property: 1.0.0 dev: true /has-proto@1.0.1: @@ -8633,8 +7801,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 @@ -8649,43 +7817,24 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - /hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 dev: true - /hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - dependencies: - '@types/hast': 2.3.4 - '@types/unist': 2.0.6 - hastscript: 7.2.0 - property-information: 6.4.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - dev: true - /hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.0 + property-information: 6.4.1 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -8694,53 +7843,31 @@ packages: /hast-util-heading-rank@3.0.0: resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hast-util-is-element@3.0.0: resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} dependencies: - '@types/hast': 3.0.3 - dev: true - - /hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - dependencies: - '@types/hast': 2.3.4 + '@types/hast': 3.0.4 dev: true /hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true - /hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + /hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} dependencies: - '@types/hast': 2.3.4 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: true - - /hast-util-raw@9.0.1: - resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} - dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 '@ungap/structured-clone': 1.2.0 hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -8749,41 +7876,13 @@ packages: zwitch: 2.0.4 dev: true - /hast-util-to-html@9.0.0: - resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} - dependencies: - '@types/hast': 3.0.3 - '@types/unist': 3.0.2 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-raw: 9.0.1 - hast-util-whitespace: 3.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 - property-information: 6.4.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.3 - zwitch: 2.0.4 - dev: true - - /hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} - dependencies: - '@types/hast': 2.3.4 - comma-separated-tokens: 2.0.3 - property-information: 6.4.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: true - /hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -8792,32 +7891,16 @@ packages: /hast-util-to-string@3.0.0: resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} dependencies: - '@types/hast': 3.0.3 - dev: true - - /hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - dependencies: - '@types/hast': 3.0.3 - dev: true - - /hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} - dependencies: - '@types/hast': 2.3.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 - property-information: 6.4.0 - space-separated-tokens: 2.0.2 + '@types/hast': 3.0.4 dev: true /hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 dev: true @@ -8830,11 +7913,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.5.0 - dev: true - - /hookable@5.5.2: - resolution: {integrity: sha512-9JZdvGuxXswyoT47M0xrg+IabnK76Ppc7qjf8JdFZu/IaCWflTHVf/ln/GzicraEnPONPIfxgk929rdYiOqv9w==} + tslib: 2.6.2 dev: true /hookable@5.5.3: @@ -8855,7 +7934,7 @@ packages: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 dev: true /html-tags@3.3.1: @@ -8863,10 +7942,6 @@ packages: engines: {node: '>=8'} dev: true - /html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: true - /html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: true @@ -8876,8 +7951,8 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.0.1 - entities: 4.4.0 + domutils: 3.1.0 + entities: 4.5.0 dev: true /http-assert@1.5.0: @@ -8924,8 +7999,8 @@ packages: toidentifier: 1.0.1 dev: true - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -8945,11 +8020,11 @@ packages: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 - sshpk: 1.17.0 + sshpk: 1.18.0 dev: true - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 @@ -8966,14 +8041,15 @@ packages: - supports-color dev: true - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /httpxy@0.1.5: resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==} @@ -8989,20 +8065,14 @@ packages: engines: {node: '>=10.17.0'} dev: true - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: true - - /human-signals@4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} dev: true /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: true /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -9024,19 +8094,15 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + /ignore-walk@6.0.4: + resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minimatch: 9.0.3 dev: true - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} /image-meta@0.2.0: @@ -9099,7 +8165,7 @@ packages: resolution: {integrity: sha512-B2LafrnnhbRzCWfAdOXisUzL89Kg8cVJlYmhqoi3flSiV/TveO+nsXwgKr9h9PIo+J1hz7nBSk6gegRIMBBf7g==} engines: {node: '>=14.18.0'} dependencies: - '@ljharb/through': 2.3.11 + '@ljharb/through': 2.3.12 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 @@ -9116,13 +8182,13 @@ packages: wrap-ansi: 6.2.0 dev: true - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.1 + side-channel: 1.0.5 dev: true /interpret@1.4.0: @@ -9147,12 +8213,12 @@ packages: - supports-color dev: true - /ip@1.1.8: - resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} - dev: true - - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + /ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 dev: true /iron-webcrypto@1.0.0: @@ -9190,16 +8256,16 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: @@ -9222,13 +8288,8 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-builtin-module@3.2.1: @@ -9247,26 +8308,20 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 3.8.0 - dev: true - - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 + ci-info: 3.9.0 dev: true /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal@1.0.4: @@ -9302,7 +8357,7 @@ packages: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: @@ -9369,8 +8424,8 @@ packages: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 dev: true /is-negative-zero@2.0.2: @@ -9387,7 +8442,7 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: @@ -9429,22 +8484,18 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - dev: true - /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.5 dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-set@2.0.2: @@ -9454,7 +8505,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-ssh@1.4.0: @@ -9471,13 +8522,12 @@ packages: /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: @@ -9494,22 +8544,11 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /is-typedarray@1.0.0: @@ -9529,7 +8568,7 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-wsl@2.2.0: @@ -9539,11 +8578,25 @@ packages: is-docker: 2.2.1 dev: true + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: true + /is-yarn-global@0.4.1: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} engines: {node: '>=12'} dev: true + /is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + dependencies: + system-architecture: 0.1.0 + dev: true + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true @@ -9554,7 +8607,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isexe@3.1.1: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} @@ -9596,11 +8648,6 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jiti@1.18.2: - resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} - hasBin: true - dev: true - /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -9612,6 +8659,10 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -9623,6 +8674,10 @@ packages: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true + /jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + dev: true + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -9688,27 +8743,27 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 + acorn: 8.11.3 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.5.4 + semver: 7.6.0 dev: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonparse@1.3.1: @@ -9733,8 +8788,8 @@ packages: tsscmp: 1.0.6 dev: true - /keyv@4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true @@ -9749,11 +8804,6 @@ packages: engines: {node: '>=6'} dev: true - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - dev: true - /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -9794,15 +8844,15 @@ packages: - supports-color dev: true - /koa@2.14.2: - resolution: {integrity: sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==} + /koa@2.15.0: + resolution: {integrity: sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==} engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} dependencies: accepts: 1.3.8 cache-content-type: 1.0.1 content-disposition: 0.5.4 content-type: 1.0.5 - cookies: 0.8.0 + cookies: 0.9.1 debug: 4.3.4(supports-color@8.1.1) delegates: 1.0.0 depd: 2.0.0 @@ -9833,7 +8883,7 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} dependencies: - package-json: 8.1.0 + package-json: 8.1.1 dev: true /launch-editor@2.6.1: @@ -9868,8 +8918,8 @@ packages: engines: {node: '>=10'} dev: true - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + /lilconfig@3.1.0: + resolution: {integrity: sha512-p3cz0JV5vw/XeouBU3Ldnp+ZkBjE+n8ydJ4mcwBrOiXXPqNlrzGBqWs9X4MWF7f+iKUBu794Y8Hh8yawiJbCjw==} engines: {node: '>=14'} dev: true @@ -9883,30 +8933,31 @@ packages: uc.micro: 1.0.6 dev: true - /listhen@1.5.5: - resolution: {integrity: sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==} + /listhen@1.6.0: + resolution: {integrity: sha512-z0RcEXVX5oTpY1bO02SKoTU/kmZSrFSngNNzHRM6KICR17PTq7ANush6AE6ztGJwJD4RLpBrVHd9GnV51J7s3w==} hasBin: true dependencies: - '@parcel/watcher': 2.3.0 - '@parcel/watcher-wasm': 2.3.0 - citty: 0.1.5 - clipboardy: 3.0.0 + '@parcel/watcher': 2.4.0 + '@parcel/watcher-wasm': 2.4.0 + citty: 0.1.6 + clipboardy: 4.0.0 consola: 3.2.3 - defu: 6.1.3 - get-port-please: 3.1.1 - h3: 1.9.0 + crossws: 0.1.1 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.10.1 http-shutdown: 1.2.2 jiti: 1.21.0 - mlly: 1.4.2 + mlly: 1.5.0 node-forge: 1.3.1 - pathe: 1.1.1 - std-env: 3.5.0 - ufo: 1.3.2 - untun: 0.1.2 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.4.0 + untun: 0.1.3 uqr: 0.1.2 dev: true - /listr2@3.14.0(enquirer@2.3.6): + /listr2@3.14.0(enquirer@2.4.1): resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} engines: {node: '>=10.0.0'} peerDependencies: @@ -9917,10 +8968,10 @@ packages: dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 - enquirer: 2.3.6 + enquirer: 2.4.1 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 + rfdc: 1.3.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -9930,7 +8981,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -9945,7 +8996,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.4.2 + mlly: 1.5.0 pkg-types: 1.0.3 /locate-path@2.0.0: @@ -9978,10 +9029,6 @@ packages: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true - /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: true @@ -10026,10 +9073,6 @@ packages: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} dev: true - /lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - dev: true - /lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: @@ -10067,7 +9110,7 @@ packages: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} dependencies: - chalk: 5.2.0 + chalk: 5.3.0 is-unicode-supported: 1.3.0 dev: true @@ -10088,7 +9131,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true /lowercase-keys@3.0.0: @@ -10096,8 +9139,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: true @@ -10117,8 +9160,8 @@ packages: engines: {node: '>=12'} dev: true - /macos-release@3.1.0: - resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==} + /macos-release@3.2.0: + resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true @@ -10126,7 +9169,7 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 dev: true /magic-string@0.27.0: @@ -10136,24 +9179,17 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.29.0: - resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magicast@0.3.2: - resolution: {integrity: sha512-Fjwkl6a0syt9TFN0JSYpOybxiMCkYNEeOTnOTNRbjphirLakznZXAqrXgj/7GG3D1dvETONNwrBfinvAbpunDg==} + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 source-map-js: 1.0.2 dev: true @@ -10168,8 +9204,8 @@ packages: resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@npmcli/agent': 2.2.0 - cacache: 18.0.1 + '@npmcli/agent': 2.2.1 + cacache: 18.0.2 http-cache-semantics: 4.1.1 is-lambda: 1.0.1 minipass: 7.0.4 @@ -10208,23 +9244,6 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: true - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - unist-util-visit: 4.1.2 - dev: true - - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} - dependencies: - '@types/mdast': 3.0.10 - escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: true - /mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} dependencies: @@ -10237,7 +9256,7 @@ packages: /mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -10246,25 +9265,6 @@ packages: - supports-color dev: true - /mdast-util-from-markdown@1.3.0: - resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} - dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.1.1 - micromark: 3.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-decode-string: 1.0.2 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true - /mdast-util-from-markdown@2.0.0: resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} dependencies: @@ -10284,93 +9284,86 @@ packages: - supports-color dev: true - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 4.0.3 ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.1.0 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 dev: true - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.0.0 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color dev: true - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color dev: true - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 4.0.3 + devlop: 1.1.0 markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.0 - mdast-util-to-markdown: 1.5.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} - dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.5.0 - dev: true - - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} dependencies: - mdast-util-from-markdown: 1.3.0 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} dependencies: - '@types/mdast': 3.0.10 - unist-util-is: 5.2.1 + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color dev: true - /mdast-util-phrasing@4.0.0: - resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + /mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} dependencies: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 dev: true - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - dependencies: - '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.1.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - dev: true - - /mdast-util-to-hast@13.0.2: - resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 @@ -10378,19 +9371,7 @@ packages: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - dev: true - - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.1.1 - micromark-util-decode-string: 1.0.2 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 + vfile: 6.0.1 dev: true /mdast-util-to-markdown@2.1.0: @@ -10399,7 +9380,7 @@ packages: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 longest-streak: 3.1.0 - mdast-util-phrasing: 4.0.0 + mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 @@ -10410,12 +9391,6 @@ packages: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} dev: true - /mdast-util-to-string@3.1.1: - resolution: {integrity: sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==} - dependencies: - '@types/mdast': 3.0.10 - dev: true - /mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} dependencies: @@ -10434,6 +9409,10 @@ packages: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: true + /mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + dev: true + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -10443,7 +9422,7 @@ packages: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -10458,7 +9437,6 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -10469,27 +9447,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /micromark-core-commonmark@1.0.6: - resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.0.0 - micromark-factory-label: 1.0.2 - micromark-factory-space: 1.0.0 - micromark-factory-title: 1.0.2 - micromark-factory-whitespace: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-html-tag-name: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - /micromark-core-commonmark@2.0.0: resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} dependencies: @@ -10500,7 +9457,7 @@ packages: micromark-factory-space: 2.0.0 micromark-factory-title: 2.0.0 micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-classify-character: 2.0.0 micromark-util-html-tag-name: 2.0.0 @@ -10511,213 +9468,141 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-footnote@1.0.4: - resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} + /micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} dependencies: - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-strikethrough@1.0.4: - resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} + /micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-table@1.0.5: - resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} + /micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-tagfilter@1.0.1: - resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} + /micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} dependencies: - micromark-util-types: 1.0.2 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm-task-list-item@1.0.3: - resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + micromark-util-types: 2.0.0 dev: true - /micromark-extension-gfm@2.0.1: - resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} + /micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} dependencies: - micromark-extension-gfm-autolink-literal: 1.0.3 - micromark-extension-gfm-footnote: 1.0.4 - micromark-extension-gfm-strikethrough: 1.0.4 - micromark-extension-gfm-table: 1.0.5 - micromark-extension-gfm-tagfilter: 1.0.1 - micromark-extension-gfm-task-list-item: 1.0.3 - micromark-util-combine-extensions: 1.0.0 - micromark-util-types: 1.0.2 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 dev: true - /micromark-factory-destination@1.0.0: - resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 dev: true /micromark-factory-destination@2.0.0: resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-factory-label@1.0.2: - resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - /micromark-factory-label@2.0.0: resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} dependencies: devlop: 1.1.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-factory-space@1.0.0: - resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-types: 1.0.2 - dev: true - /micromark-factory-space@2.0.0: resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 dev: true - /micromark-factory-title@1.0.2: - resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - /micromark-factory-title@2.0.0: resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-factory-whitespace@1.0.0: - resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - /micromark-factory-whitespace@2.0.0: resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-util-character@1.1.0: - resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} - dependencies: - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-character@2.0.1: - resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-util-chunked@1.0.0: - resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - /micromark-util-chunked@2.0.0: resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} dependencies: micromark-util-symbol: 2.0.0 dev: true - /micromark-util-classify-character@1.0.0: - resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - /micromark-util-classify-character@2.0.0: resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-util-combine-extensions@1.0.0: - resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-types: 1.0.2 - dev: true - /micromark-util-combine-extensions@2.0.0: resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} dependencies: @@ -10725,101 +9610,49 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-util-decode-numeric-character-reference@1.0.0: - resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - /micromark-util-decode-numeric-character-reference@2.0.1: resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} dependencies: micromark-util-symbol: 2.0.0 dev: true - /micromark-util-decode-string@1.0.2: - resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-symbol: 1.0.1 - dev: true - /micromark-util-decode-string@2.0.0: resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 dev: true - /micromark-util-encode@1.0.1: - resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} - dev: true - /micromark-util-encode@2.0.0: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} dev: true - /micromark-util-html-tag-name@1.1.0: - resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} - dev: true - /micromark-util-html-tag-name@2.0.0: resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} dev: true - /micromark-util-normalize-identifier@1.0.0: - resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - /micromark-util-normalize-identifier@2.0.0: resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} dependencies: micromark-util-symbol: 2.0.0 dev: true - /micromark-util-resolve-all@1.0.0: - resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} - dependencies: - micromark-util-types: 1.0.2 - dev: true - /micromark-util-resolve-all@2.0.0: resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} dependencies: micromark-util-types: 2.0.0 dev: true - /micromark-util-sanitize-uri@1.1.0: - resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-encode: 1.0.1 - micromark-util-symbol: 1.0.1 - dev: true - /micromark-util-sanitize-uri@2.0.0: resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 dev: true - /micromark-util-subtokenize@1.0.2: - resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - /micromark-util-subtokenize@2.0.0: resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} dependencies: @@ -10829,18 +9662,10 @@ packages: micromark-util-types: 2.0.0 dev: true - /micromark-util-symbol@1.0.1: - resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} - dev: true - /micromark-util-symbol@2.0.0: resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} dev: true - /micromark-util-types@1.0.2: - resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} - dev: true - /micromark-util-types@2.0.0: resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} dev: true @@ -10854,40 +9679,16 @@ packages: - supports-color dev: true - /micromark@3.1.0: - resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} - dependencies: - '@types/debug': 4.1.7 - debug: 4.3.4(supports-color@8.1.1) - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-combine-extensions: 1.0.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-encode: 1.0.1 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true - /micromark@4.0.0: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: - '@types/debug': 4.1.7 + '@types/debug': 4.1.12 debug: 4.3.4(supports-color@8.1.1) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-combine-extensions: 2.0.0 micromark-util-decode-numeric-character-reference: 2.0.1 @@ -10941,7 +9742,6 @@ packages: /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: true /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} @@ -10971,13 +9771,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@6.2.0: - resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -11050,11 +9843,6 @@ packages: dependencies: yallist: 4.0.0 - /minipass@4.2.4: - resolution: {integrity: sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==} - engines: {node: '>=8'} - dev: true - /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} @@ -11087,28 +9875,6 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.1.1(typescript@4.9.5): - resolution: {integrity: sha512-9cEzCsBD0qpybR/lJMB0vRIDZiHP7hJHTN2mQtFU2qt0vr7lFnghxersOJbKLshaDsl4GlnY2OBzmRRUTfuaDg==} - hasBin: true - peerDependencies: - sass: ^1.58.0 - typescript: '>=4.9.5' - peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true - dependencies: - defu: 6.1.2 - esbuild: 0.17.14 - fs-extra: 11.1.1 - globby: 13.2.2 - jiti: 1.18.2 - mri: 1.2.0 - pathe: 1.1.0 - typescript: 4.9.5 - dev: true - /mkdist@1.4.0(typescript@5.3.3): resolution: {integrity: sha512-LzzdzWDx6cWWPd8saIoO+kT5jnbijfeDaE6jZfmCYEi3YL2aJSyF23/tCFee/mDuh/ek1UQeSYdLeSa6oesdiw==} hasBin: true @@ -11121,38 +9887,29 @@ packages: typescript: optional: true dependencies: - autoprefixer: 10.4.14(postcss@8.4.31) - citty: 0.1.5 - cssnano: 6.0.1(postcss@8.4.31) - defu: 6.1.3 - esbuild: 0.19.8 - fs-extra: 11.1.1 + autoprefixer: 10.4.17(postcss@8.4.35) + citty: 0.1.6 + cssnano: 6.0.3(postcss@8.4.35) + defu: 6.1.4 + esbuild: 0.19.12 + fs-extra: 11.2.0 globby: 13.2.2 jiti: 1.21.0 - mlly: 1.4.2 + mlly: 1.5.0 mri: 1.2.0 - pathe: 1.1.1 - postcss: 8.4.31 - postcss-nested: 6.0.1(postcss@8.4.31) + pathe: 1.1.2 + postcss: 8.4.35 + postcss-nested: 6.0.1(postcss@8.4.35) typescript: 5.3.3 dev: true - /mlly@1.2.0: - resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} - dependencies: - acorn: 8.8.2 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.2 - dev: true - - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + /mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} dependencies: - acorn: 8.11.2 - pathe: 1.1.1 + acorn: 8.11.3 + pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} @@ -11163,8 +9920,8 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - /mrmime@1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} dev: true @@ -11200,33 +9957,17 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@4.0.1: - resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} - engines: {node: ^14 || ^16 || >=18} - hasBin: true - dev: true - /nanoid@4.0.2: resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} engines: {node: ^14 || ^16 || >=18} hasBin: true dev: true - /napi-wasm@1.1.0: - resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} - dev: true - /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true @@ -11256,8 +9997,8 @@ packages: type-fest: 2.19.0 dev: true - /nitropack@2.8.0: - resolution: {integrity: sha512-dkCILTSpM1Sd3oaagV21ifPxPOSCvFZjfdDMOa6SrxpcntitHkD1QgvjdbqEfnwGNPGbp7Z42qNhzNljDVeKMQ==} + /nitropack@2.8.1: + resolution: {integrity: sha512-pODv2kEEzZSDQR+1UMXbGyNgMedUDq/qUomtiAnQKQvLy52VGlecXO1xDfH3i0kP1yKEcKTnWsx1TAF5gHM7xQ==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -11266,68 +10007,69 @@ packages: xml2js: optional: true dependencies: - '@cloudflare/kv-asset-handler': 0.3.0 - '@netlify/functions': 2.4.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.6.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.6.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.6.0) - '@rollup/plugin-json': 6.0.1(rollup@4.6.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.6.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.6.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.6.0) - '@rollup/plugin-wasm': 6.2.2(rollup@4.6.0) - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) + '@cloudflare/kv-asset-handler': 0.3.1 + '@netlify/functions': 2.6.0 + '@rollup/plugin-alias': 5.1.0(rollup@4.11.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.11.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.11.0) + '@rollup/plugin-json': 6.1.0(rollup@4.11.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.11.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.11.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.11.0) + '@rollup/plugin-wasm': 6.2.2(rollup@4.11.0) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) '@types/http-proxy': 1.17.14 - '@vercel/nft': 0.24.3 + '@vercel/nft': 0.24.4 archiver: 6.0.1 - c12: 1.5.1 + c12: 1.8.0 chalk: 5.3.0 - chokidar: 3.5.3 - citty: 0.1.5 + chokidar: 3.6.0 + citty: 0.1.6 consola: 3.2.3 cookie-es: 1.0.0 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 dot-prop: 8.0.2 - esbuild: 0.19.8 + esbuild: 0.19.12 escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 etag: 1.8.1 - fs-extra: 11.1.1 - globby: 14.0.0 + fs-extra: 11.2.0 + globby: 14.0.1 gzip-size: 7.0.0 - h3: 1.9.0 + h3: 1.10.1 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 jiti: 1.21.0 klona: 2.0.6 knitwork: 1.0.0 - listhen: 1.5.5 - magic-string: 0.30.5 + listhen: 1.6.0 + magic-string: 0.30.7 mime: 3.0.0 - mlly: 1.4.2 + mlly: 1.5.0 mri: 1.2.0 - node-fetch-native: 1.4.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 ohash: 1.1.3 - openapi-typescript: 6.7.1 - pathe: 1.1.1 + openapi-typescript: 6.7.4 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.0 - rollup: 4.6.0 - rollup-plugin-visualizer: 5.9.3(rollup@4.6.0) - scule: 1.1.0 - semver: 7.5.4 + rollup: 4.11.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.11.0) + scule: 1.3.0 + semver: 7.6.0 serve-placeholder: 2.0.1 serve-static: 1.15.0 - std-env: 3.5.0 - ufo: 1.3.2 + std-env: 3.7.0 + ufo: 1.4.0 uncrypto: 0.1.3 unctx: 2.3.1 - unenv: 1.8.0 - unimport: 3.6.0(rollup@4.6.0) + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.11.0) unstorage: 1.10.1 transitivePeerDependencies: - '@azure/app-configuration' @@ -11350,11 +10092,12 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.5.0 + tslib: 2.6.2 dev: true - /node-addon-api@7.0.0: - resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} + /node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} dev: true /node-domexception@1.0.0: @@ -11372,15 +10115,11 @@ packages: skin-tone: 2.0.0 dev: true - /node-fetch-native@1.0.2: - resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==} - dev: true - - /node-fetch-native@1.4.1: - resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} + /node-fetch-native@1.6.2: + resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} - /node-fetch@2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -11405,8 +10144,8 @@ packages: engines: {node: '>= 6.13.0'} dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true dev: true @@ -11418,23 +10157,19 @@ packages: env-paths: 2.2.1 exponential-backoff: 3.1.1 glob: 10.3.10 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-fetch-happen: 13.0.0 nopt: 7.2.0 proc-log: 3.0.0 - semver: 7.5.4 - tar: 6.1.13 + semver: 7.6.0 + tar: 6.2.0 which: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -11456,7 +10191,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.1 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -11466,8 +10201,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.11.0 - semver: 7.5.4 + is-core-module: 2.13.1 + semver: 7.3.8 validate-npm-package-license: 3.0.4 dev: true @@ -11476,8 +10211,8 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 - is-core-module: 2.11.0 - semver: 7.5.4 + is-core-module: 2.13.1 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -11506,7 +10241,7 @@ packages: resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /npm-normalize-package-bin@3.0.1: @@ -11520,15 +10255,15 @@ packages: dependencies: hosted-git-info: 7.0.1 proc-log: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-name: 5.0.0 dev: true - /npm-packlist@8.0.0: - resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} + /npm-packlist@8.0.2: + resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ignore-walk: 6.0.3 + ignore-walk: 6.0.4 dev: true /npm-pick-manifest@9.0.0: @@ -11538,7 +10273,7 @@ packages: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.1 - semver: 7.5.4 + semver: 7.6.0 dev: true /npm-registry-fetch@16.1.0: @@ -11563,12 +10298,11 @@ packages: path-key: 3.1.1 dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 - dev: true /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} @@ -11585,35 +10319,23 @@ packages: boolbase: 1.0.0 dev: true - /nuxi@3.10.0: - resolution: {integrity: sha512-veZXw2NuaQ1PrpvHrnQ1dPgkAjv0WqPlvFReg5Iubum0QVGWdJJvGuNsltDQyPcZ7X7mhMXq9SLIpokK4kpvKA==} + /nuxi@3.10.1: + resolution: {integrity: sha512-ZNt858+FOZDIiKKFJkXO7uJAnALytDdn1XbLgtZAqbtWNMayHbOnWcnxh+WSOE4H9uOi2+loWXEqKElmNWLgcQ==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true - /nuxt-component-meta@0.5.4(rollup@3.29.4): - resolution: {integrity: sha512-0ou1O5Dky/avUAm6XrO4r4aZiRgP3wCwBlOe49FcyVZo0uAULFw8b3j48BvKWzBdOywf8hJEL4V5o7FWnd1E+A==} + /nuxt-component-meta@0.6.3(rollup@3.29.4): + resolution: {integrity: sha512-GdqnSMC1vqabry7WSj3GWA2LZ1gBiWeS2lj943c9TjkL9SN/rABEFXVZA6RO4sOTKF1qV947UGi27PdRd7u+tA==} + hasBin: true dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - scule: 1.0.0 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + citty: 0.1.6 + scule: 1.3.0 typescript: 5.3.3 - vue-component-meta: 1.2.0(typescript@5.3.3) - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /nuxt-config-schema@0.4.5(rollup@3.29.4): - resolution: {integrity: sha512-Y5anu5puDfMJfDP7IYjXsn6Dvj262HtjZqa73jCBbFRCc5jnjrs+BEpJJmtPG32ZsqzO2+RL4oTNb3H6IfKZLQ==} - dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - changelogen: 0.4.1 - defu: 6.1.2 - jiti: 1.18.2 - pathe: 1.1.0 - untyped: 1.2.2 + vue-component-meta: 1.8.27(typescript@5.3.3) transitivePeerDependencies: - rollup - supports-color @@ -11622,11 +10344,11 @@ packages: /nuxt-config-schema@0.4.6(rollup@3.29.4): resolution: {integrity: sha512-kHLWJFynj5QrxVZ1MjY2xmDaTSN1BCMLGExA+hMMLoCb3wn9TJlDVqnE/nSdUJPMRkNn/NQ5WP9NLA9vlAXRUw==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - defu: 6.1.3 - jiti: 1.18.2 - pathe: 1.1.0 - untyped: 1.4.0 + '@nuxt/kit': 3.10.2(rollup@3.29.4) + defu: 6.1.4 + jiti: 1.21.0 + pathe: 1.1.2 + untyped: 1.4.2 transitivePeerDependencies: - rollup - supports-color @@ -11635,123 +10357,17 @@ packages: /nuxt-icon@0.3.3(rollup@3.29.4)(vue@3.3.7): resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} dependencies: - '@iconify/vue': 4.1.0(vue@3.3.7) - '@nuxt/kit': 3.8.2(rollup@3.29.4) - nuxt-config-schema: 0.4.5(rollup@3.29.4) + '@iconify/vue': 4.1.1(vue@3.3.7) + '@nuxt/kit': 3.10.2(rollup@3.29.4) + nuxt-config-schema: 0.4.6(rollup@3.29.4) transitivePeerDependencies: - rollup - supports-color - vue dev: true - /nuxt@3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20): - resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==} - engines: {node: ^14.18.0 || >=16.10.0} - hasBin: true - peerDependencies: - '@parcel/watcher': ^2.1.0 - '@types/node': ^14.18.0 || >=16.10.0 - peerDependenciesMeta: - '@parcel/watcher': - optional: true - '@types/node': - optional: true - dependencies: - '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@nuxt/schema': 3.8.2(rollup@3.29.4) - '@nuxt/telemetry': 2.5.3(rollup@3.29.4) - '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.8.2(@types/node@20.10.4)(eslint@8.54.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7) - '@types/node': 20.10.4 - '@unhead/dom': 1.8.8 - '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.4.7) - '@vue/shared': 3.3.9 - acorn: 8.11.2 - c12: 1.5.1 - chokidar: 3.5.3 - cookie-es: 1.0.0 - defu: 6.1.3 - destr: 2.0.2 - devalue: 4.3.2 - esbuild: 0.19.8 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - fs-extra: 11.1.1 - globby: 14.0.0 - h3: 1.9.0 - hookable: 5.5.3 - jiti: 1.21.0 - klona: 2.0.6 - knitwork: 1.0.0 - magic-string: 0.30.5 - mlly: 1.4.2 - nitropack: 2.8.0 - nuxi: 3.10.0 - nypm: 0.3.3 - ofetch: 1.3.3 - ohash: 1.1.3 - pathe: 1.1.1 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - radix3: 1.1.0 - scule: 1.1.0 - std-env: 3.5.0 - strip-literal: 1.3.0 - ufo: 1.3.2 - ultrahtml: 1.5.2 - uncrypto: 0.1.3 - unctx: 2.3.1 - unenv: 1.8.0 - unimport: 3.6.0(rollup@3.29.4) - unplugin: 1.5.1 - unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7) - untyped: 1.4.0 - vue: 3.4.7(typescript@5.3.3) - vue-bundle-renderer: 2.0.0 - vue-devtools-stub: 0.1.0 - vue-router: 4.2.5(vue@3.4.7) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@netlify/blobs' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/kv' - - bluebird - - bufferutil - - encoding - - eslint - - idb-keyval - - less - - lightningcss - - meow - - optionator - - rollup - - sass - - stylelint - - stylus - - sugarss - - supports-color - - terser - - typescript - - utf-8-validate - - vite - - vls - - vti - - vue-tsc - - xml2js - dev: true - - /nuxt@3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.20): - resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==} + /nuxt@3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20): + resolution: {integrity: sha512-EYRPNPEHRoOzL5ZusOMoBvv1/yifGwdv7BLJPD/jaEDeEZvdXjLXLSRh2NukmdB1SdNmfL3wEnt5xtRpQO1niQ==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true peerDependencies: @@ -11764,61 +10380,61 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@4.5.1) - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@nuxt/schema': 3.8.2(rollup@3.29.4) + '@nuxt/devtools': 1.0.8(nuxt@3.10.2)(rollup@3.29.4)(vite@5.1.1) + '@nuxt/kit': 3.10.2(rollup@3.29.4) + '@nuxt/schema': 3.10.2(rollup@3.29.4) '@nuxt/telemetry': 2.5.3(rollup@3.29.4) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.8.2(@types/node@20.10.4)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.7) - '@types/node': 20.10.4 - '@unhead/dom': 1.8.8 - '@unhead/ssr': 1.8.8 - '@unhead/vue': 1.8.8(vue@3.4.7) - '@vue/shared': 3.3.9 - acorn: 8.11.2 - c12: 1.5.1 - chokidar: 3.5.3 + '@nuxt/vite-builder': 3.10.2(@types/node@20.11.19)(eslint@8.56.0)(rollup@3.29.4)(typescript@5.3.3)(vue-tsc@1.8.20)(vue@3.4.19) + '@types/node': 20.11.19 + '@unhead/dom': 1.8.10 + '@unhead/ssr': 1.8.10 + '@unhead/vue': 1.8.10(vue@3.4.19) + '@vue/shared': 3.4.19 + acorn: 8.11.3 + c12: 1.8.0 + chokidar: 3.6.0 cookie-es: 1.0.0 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 devalue: 4.3.2 - esbuild: 0.19.8 + esbuild: 0.20.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 - fs-extra: 11.1.1 - globby: 14.0.0 - h3: 1.9.0 + fs-extra: 11.2.0 + globby: 14.0.1 + h3: 1.10.1 hookable: 5.5.3 jiti: 1.21.0 klona: 2.0.6 knitwork: 1.0.0 - magic-string: 0.30.5 - mlly: 1.4.2 - nitropack: 2.8.0 - nuxi: 3.10.0 - nypm: 0.3.3 + magic-string: 0.30.7 + mlly: 1.5.0 + nitropack: 2.8.1 + nuxi: 3.10.1 + nypm: 0.3.6 ofetch: 1.3.3 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 radix3: 1.1.0 - scule: 1.1.0 - std-env: 3.5.0 - strip-literal: 1.3.0 - ufo: 1.3.2 + scule: 1.3.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 ultrahtml: 1.5.2 uncrypto: 0.1.3 unctx: 2.3.1 - unenv: 1.8.0 - unimport: 3.6.0(rollup@3.29.4) - unplugin: 1.5.1 - unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7) - untyped: 1.4.0 - vue: 3.4.7(typescript@5.3.3) + unenv: 1.9.0 + unimport: 3.7.1(rollup@3.29.4) + unplugin: 1.7.1 + unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.19) + untyped: 1.4.2 + vue: 3.4.19(typescript@5.3.3) vue-bundle-renderer: 2.0.0 vue-devtools-stub: 0.1.0 - vue-router: 4.2.5(vue@3.4.7) + vue-router: 4.2.5(vue@3.4.19) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -11856,16 +10472,15 @@ packages: - xml2js dev: true - /nypm@0.3.3: - resolution: {integrity: sha512-FHoxtTscAE723e80d2M9cJRb4YVjL82Ra+ZV+YqC6rfNZUWahi+ZhPF+krnR+bdMvibsfHCtgKXnZf5R6kmEPA==} + /nypm@0.3.6: + resolution: {integrity: sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true dependencies: - citty: 0.1.5 + citty: 0.1.6 execa: 8.0.1 - pathe: 1.1.1 - ufo: 1.3.2 - dev: true + pathe: 1.1.2 + ufo: 1.4.0 /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -11877,10 +10492,6 @@ packages: engines: {node: '>= 6'} dev: true - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -11889,8 +10500,8 @@ packages: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 dev: true /object-keys@1.1.1: @@ -11898,12 +10509,12 @@ packages: engines: {node: '>= 0.4'} dev: true - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -11912,39 +10523,36 @@ packages: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + array.prototype.filter: 1.0.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 dev: true /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /ofetch@1.3.3: resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} dependencies: destr: 2.0.2 - node-fetch-native: 1.4.1 - ufo: 1.3.2 - dev: true - - /ohash@1.0.0: - resolution: {integrity: sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==} + node-fetch-native: 1.6.2 + ufo: 1.4.0 dev: true /ohash@1.1.3: @@ -11975,12 +10583,21 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 - dev: true /only@0.0.2: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} dev: true + /open@10.0.3: + resolution: {integrity: sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: true + /open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -12008,15 +10625,15 @@ packages: is-wsl: 2.2.0 dev: true - /openapi-typescript@6.7.1: - resolution: {integrity: sha512-Q3Ltt0KUm2smcPrsaR8qKmSwQ1KM4yGDJVoQdpYa0yvKPeN8huDx5utMT7DvwvJastHHzUxajjivK3WN2+fobg==} + /openapi-typescript@6.7.4: + resolution: {integrity: sha512-EZyeW9Wy7UDCKv0iYmKrq2pVZtquXiD/YHiUClAKqiMi42nodx/EQH11K6fLqjt1IZlJmVokrAsExsBMM2RROQ==} hasBin: true dependencies: ansi-colors: 4.1.3 fast-glob: 3.3.2 js-yaml: 4.1.0 supports-color: 9.4.0 - undici: 5.28.1 + undici: 5.28.3 yargs-parser: 21.1.1 dev: true @@ -12039,7 +10656,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -12053,7 +10670,7 @@ packages: dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 - cli-spinners: 2.9.1 + cli-spinners: 2.9.2 is-interactive: 2.0.0 is-unicode-supported: 1.3.0 log-symbols: 5.1.0 @@ -12066,8 +10683,8 @@ packages: resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - macos-release: 3.1.0 - windows-release: 5.1.0 + macos-release: 3.2.0 + windows-release: 5.1.1 dev: true /os-tmpdir@1.0.2: @@ -12150,57 +10767,56 @@ packages: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.0 debug: 4.3.4(supports-color@8.1.1) - get-uri: 6.0.2 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 - pac-resolver: 7.0.0 + get-uri: 6.0.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + pac-resolver: 7.0.1 socks-proxy-agent: 8.0.2 transitivePeerDependencies: - supports-color dev: true - /pac-resolver@7.0.0: - resolution: {integrity: sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==} + /pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} dependencies: degenerator: 5.0.1 - ip: 1.1.8 netmask: 2.0.2 dev: true - /package-json@8.1.0: - resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} + /package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} dependencies: - got: 12.6.0 + got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 semver: 7.5.4 dev: true - /pacote@17.0.4: - resolution: {integrity: sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==} + /pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 5.0.3 + '@npmcli/git': 5.0.4 '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 7.0.0 - '@npmcli/run-script': 7.0.2 - cacache: 18.0.1 + '@npmcli/promise-spawn': 7.0.1 + '@npmcli/run-script': 7.0.4 + cacache: 18.0.2 fs-minipass: 3.0.3 minipass: 7.0.4 npm-package-arg: 11.0.1 - npm-packlist: 8.0.0 + npm-packlist: 8.0.2 npm-pick-manifest: 9.0.0 npm-registry-fetch: 16.1.0 proc-log: 3.0.0 promise-retry: 2.0.1 read-package-json: 7.0.0 read-package-json-fast: 3.0.2 - sigstore: 2.1.0 + sigstore: 2.2.2 ssri: 10.0.5 - tar: 6.1.13 + tar: 6.2.0 transitivePeerDependencies: - bluebird - supports-color @@ -12210,8 +10826,8 @@ packages: resolution: {integrity: sha512-SZfJe/y9fbpeXZU+Kf7cSG2G7rnGP50hUYzCvcWyhp7hYzA3YXGthpkGfv6NSt0oo6QbcRyKwycg/6dpG5p8aw==} deprecated: Please migrate to https://github.com/unjs/magicast dependencies: - '@babel/parser': 7.23.4 - '@types/estree': 1.0.0 + '@babel/parser': 7.23.9 + '@types/estree': 1.0.5 recast: 0.22.0 dev: true @@ -12219,7 +10835,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /parent-module@1.0.1: @@ -12250,7 +10866,7 @@ packages: /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -12280,7 +10896,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -12298,10 +10914,6 @@ packages: parse-path: 7.0.0 dev: true - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: true - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -12317,7 +10929,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /path-browserify@1.0.1: @@ -12328,7 +10940,7 @@ packages: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /path-exists@3.0.0: @@ -12349,12 +10961,10 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -12364,7 +10974,7 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 minipass: 7.0.4 dev: true @@ -12388,12 +10998,8 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} - /pathe@1.1.0: - resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} - dev: true - - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -12427,29 +11033,29 @@ packages: engines: {node: '>=4'} dev: true - /pinceau@0.18.8(postcss@8.4.33): - resolution: {integrity: sha512-aVIRYxz80nweDjabJzauKtsSVS48JdWWVwWnHxG/e1HI9/aV0/RmdTD3P/8KXfYZ9OySl3MjCgUc7MZb+IwwEw==} + /pinceau@0.18.9(postcss@8.4.35): + resolution: {integrity: sha512-GJ+l8a5Y+7PP/diwuajJhd2QONTIFkk2YXjrVTh7QKC3sMQEphpLH6ZJfXSeeSonQ0/BnhrrMi9a5e14mmqXug==} dependencies: - '@unocss/reset': 0.50.4 - '@volar/vue-language-core': 1.2.1 - acorn: 8.8.2 + '@unocss/reset': 0.50.8 + '@volar/vue-language-core': 1.6.5 + acorn: 8.11.3 chroma-js: 2.4.2 - consola: 2.15.3 + consola: 3.2.3 csstype: 3.1.3 - defu: 6.1.2 - magic-string: 0.30.5 - nanoid: 4.0.1 - ohash: 1.0.0 + defu: 6.1.4 + magic-string: 0.30.7 + nanoid: 4.0.2 + ohash: 1.1.3 paneer: 0.1.0 - pathe: 1.1.0 - postcss-custom-properties: 13.1.4(postcss@8.4.33) - postcss-dark-theme-class: 0.7.3(postcss@8.4.33) - postcss-nested: 6.0.1(postcss@8.4.33) + pathe: 1.1.2 + postcss-custom-properties: 13.1.4(postcss@8.4.35) + postcss-dark-theme-class: 0.7.3(postcss@8.4.35) + postcss-nested: 6.0.1(postcss@8.4.35) recast: 0.22.0 - scule: 1.0.0 - style-dictionary-esm: 1.3.7 - unbuild: 1.1.2 - unplugin: 1.3.1 + scule: 1.3.0 + style-dictionary-esm: 1.9.2 + unbuild: 1.2.1 + unplugin: 1.7.1 transitivePeerDependencies: - postcss - sass @@ -12461,28 +11067,20 @@ packages: engines: {node: '>= 6'} dev: true - /pkg-types@1.0.2: - resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} - dependencies: - jsonc-parser: 3.2.0 - mlly: 1.2.0 - pathe: 1.1.0 - dev: true - /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + jsonc-parser: 3.2.1 + mlly: 1.5.0 + pathe: 1.1.2 /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} dev: true - /pnpm@8.11.0: - resolution: {integrity: sha512-nfh8FsmNsntOBR14fmfyIH7EfoCcywe/e17ErNzRYTNVg5o40LkAFEkj1qcFdwC3TSoMyxVYvrJBZHoSBqmnqw==} + /pnpm@8.15.3: + resolution: {integrity: sha512-3YXNbspkF8b3PbMroetHZ/+0y6T1vwcnhGciyStrnlaizCGLEThbvCsh8YoWpn2nes6um2Gg9WoWQ7JeH7amBQ==} engines: {node: '>=16.14'} hasBin: true dev: true @@ -12498,206 +11096,135 @@ packages: - supports-color dev: true - /postcss-calc@9.0.1(postcss@8.4.31): + /postcss-calc@9.0.1(postcss@8.4.35): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-calc@9.0.1(postcss@8.4.32): - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 - dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.11 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-colormin@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.4.31 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==} + /postcss-colormin@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 + browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} + /postcss-convert-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - postcss: 8.4.31 + browserslist: 4.23.0 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-custom-properties@13.1.4(postcss@8.4.33): + /postcss-custom-properties@13.1.4(postcss@8.4.35): resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/cascade-layer-name-parser': 1.0.1(@csstools/css-parser-algorithms@2.0.1)(@csstools/css-tokenizer@2.1.0) - '@csstools/css-parser-algorithms': 2.0.1(@csstools/css-tokenizer@2.1.0) - '@csstools/css-tokenizer': 2.1.0 - postcss: 8.4.33 + '@csstools/cascade-layer-name-parser': 1.0.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties@13.3.2(postcss@8.4.31): - resolution: {integrity: sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==} + /postcss-custom-properties@13.3.4(postcss@8.4.35): + resolution: {integrity: sha512-9YN0gg9sG3OH+Z9xBrp2PWRb+O4msw+5Sbp3ZgqrblrwKspXVQe5zr5sVqi43gJGwW/Rv1A483PRQUzQOEewvA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1) - '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) - '@csstools/css-tokenizer': 2.2.1 - postcss: 8.4.31 + '@csstools/cascade-layer-name-parser': 1.0.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/css-parser-algorithms': 2.5.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-dark-theme-class@0.7.3(postcss@8.4.33): + /postcss-dark-theme-class@0.7.3(postcss@8.4.35): resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.33 - dev: true - - /postcss-discard-comments@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: true - - /postcss-discard-comments@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 + postcss: 8.4.35 dev: true - /postcss-discard-duplicates@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} + /postcss-discard-comments@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 dev: true - /postcss-discard-duplicates@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==} + /postcss-discard-duplicates@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 dev: true - /postcss-discard-empty@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} + /postcss-discard-empty@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 dev: true - /postcss-discard-empty@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==} + /postcss-discard-overridden@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 dev: true - /postcss-discard-overridden@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: true - - /postcss-discard-overridden@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - dev: true - - /postcss-import@15.1.0(postcss@8.4.31): + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: true - /postcss-js@4.0.1(postcss@8.4.31): + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.31 + postcss: 8.4.35 dev: true - /postcss-load-config@4.0.2(postcss@8.4.31): + /postcss-load-config@4.0.2(postcss@8.4.35): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -12709,504 +11236,257 @@ packages: ts-node: optional: true dependencies: - lilconfig: 3.0.0 - postcss: 8.4.31 + lilconfig: 3.1.0 + postcss: 8.4.35 yaml: 2.3.4 dev: true - /postcss-merge-longhand@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} + /postcss-merge-longhand@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 - stylehacks: 6.0.0(postcss@8.4.31) + stylehacks: 6.0.2(postcss@8.4.35) dev: true - /postcss-merge-longhand@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==} + /postcss-merge-rules@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - stylehacks: 6.0.0(postcss@8.4.32) + browserslist: 4.23.0 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.1(postcss@8.4.35) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /postcss-merge-rules@6.0.1(postcss@8.4.31): - resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} + /postcss-minify-font-values@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 dev: true - /postcss-merge-rules@6.0.1(postcss@8.4.32): - resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==} + /postcss-minify-gradients@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.0(postcss@8.4.32) - postcss: 8.4.32 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-minify-font-values@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-font-values@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-gradients@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-gradients@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.0(postcss@8.4.32) - postcss: 8.4.32 + cssnano-utils: 4.0.1(postcss@8.4.35) + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} + /postcss-minify-params@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - cssnano-utils: 4.0.0(postcss@8.4.31) - postcss: 8.4.31 + browserslist: 4.23.0 + cssnano-utils: 4.0.1(postcss@8.4.35) + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - cssnano-utils: 4.0.0(postcss@8.4.32) - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-minify-selectors@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-minify-selectors@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==} + /postcss-minify-selectors@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.11 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /postcss-nested@6.0.1(postcss@8.4.31): + /postcss-nested@6.0.1(postcss@8.4.35): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /postcss-nested@6.0.1(postcss@8.4.33): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-nesting@12.0.1(postcss@8.4.31): - resolution: {integrity: sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==} + /postcss-nesting@12.0.2(postcss@8.4.35): + resolution: {integrity: sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 - dev: true - - /postcss-normalize-charset@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - dev: true - - /postcss-normalize-charset@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - dev: true - - /postcss-normalize-display-values@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-display-values@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-positions@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-positions@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-repeat-style@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-repeat-style@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-normalize-string@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 + '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /postcss-normalize-string@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==} + /postcss-normalize-charset@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 - postcss-value-parser: 4.2.0 + postcss: 8.4.35 dev: true - /postcss-normalize-timing-functions@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} + /postcss-normalize-display-values@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==} + /postcss-normalize-positions@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} + /postcss-normalize-repeat-style@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==} + /postcss-normalize-string@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} + /postcss-normalize-timing-functions@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==} + /postcss-normalize-unicode@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + browserslist: 4.23.0 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} + /postcss-normalize-url@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==} + /postcss-normalize-whitespace@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} + /postcss-ordered-values@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.0(postcss@8.4.31) - postcss: 8.4.31 + cssnano-utils: 4.0.1(postcss@8.4.35) + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - cssnano-utils: 4.0.0(postcss@8.4.32) - postcss: 8.4.32 - postcss-value-parser: 4.2.0 - dev: true - - /postcss-reduce-initial@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - caniuse-api: 3.0.0 - postcss: 8.4.31 - dev: true - - /postcss-reduce-initial@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==} + /postcss-reduce-initial@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 + browserslist: 4.23.0 caniuse-api: 3.0.0 - postcss: 8.4.32 - dev: true - - /postcss-reduce-transforms@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 + postcss: 8.4.35 dev: true - /postcss-reduce-transforms@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==} + /postcss-reduce-transforms@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-svgo@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.31 - postcss-value-parser: 4.2.0 - svgo: 3.0.4 - dev: true - - /postcss-svgo@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==} + /postcss-svgo@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 - svgo: 3.0.4 + svgo: 3.2.0 dev: true - /postcss-unique-selectors@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} + /postcss-unique-selectors@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-unique-selectors@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.11 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -13223,11 +11503,6 @@ packages: engines: {node: '>=6'} dev: true - /pretty-bytes@6.1.0: - resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: true - /pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -13268,11 +11543,11 @@ packages: resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.5 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + array.prototype.map: 1.0.6 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 iterate-value: 1.0.2 dev: true @@ -13284,8 +11559,8 @@ packages: sisteransi: 1.0.5 dev: true - /property-information@6.4.0: - resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + /property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} dev: true /proto-list@1.2.4: @@ -13302,8 +11577,8 @@ packages: dependencies: agent-base: 7.1.0 debug: 4.3.4(supports-color@8.1.1) - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 lru-cache: 7.18.3 pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 @@ -13331,8 +11606,8 @@ packages: once: 1.4.0 dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -13352,7 +11627,7 @@ packages: resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /querystringify@2.2.0: @@ -13391,18 +11666,10 @@ packages: engines: {node: '>= 0.6'} dev: true - /rc9@2.0.1: - resolution: {integrity: sha512-9EfjLgNmzP9255YX8bGnILQcmdtOXKtUlFTu8bOZPJVtaUDZ2imswcUdpK51tMjTRQyB7r5RebNijrzuyGXcVA==} - dependencies: - defu: 6.1.2 - destr: 1.2.2 - flat: 5.0.2 - dev: true - /rc9@2.1.1: resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} dependencies: - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.2 flat: 5.0.2 @@ -13470,7 +11737,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -13488,8 +11755,8 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream@3.6.1: - resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -13497,8 +11764,8 @@ packages: util-deprecate: 1.0.2 dev: true - /readdir-glob@1.1.2: - resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} + /readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: true @@ -13513,18 +11780,18 @@ packages: resolution: {integrity: sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==} engines: {node: '>= 4'} dependencies: - assert: 2.0.0 + assert: 2.1.0 ast-types: 0.15.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.1 + resolve: 1.22.8 dev: true /redent@3.0.0: @@ -13547,13 +11814,8 @@ packages: redis-errors: 1.2.0 dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - dev: true - - /regexp-tree@0.1.24: - resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} - hasBin: true + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true /regexp-tree@0.1.27: @@ -13561,12 +11823,13 @@ packages: hasBin: true dev: true - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 set-function-name: 2.0.1 dev: true @@ -13579,7 +11842,7 @@ packages: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} dependencies: - '@pnpm/npm-conf': 2.1.0 + '@pnpm/npm-conf': 2.2.2 dev: true /registry-url@6.0.1: @@ -13599,7 +11862,7 @@ packages: /rehype-external-links@3.0.0: resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@ungap/structured-clone': 1.2.0 hast-util-is-element: 3.0.0 is-absolute-url: 4.0.1 @@ -13607,18 +11870,18 @@ packages: unist-util-visit: 5.0.0 dev: true - /rehype-raw@6.1.1: - resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + /rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} dependencies: - '@types/hast': 2.3.4 - hast-util-raw: 7.2.3 - unified: 10.1.2 + '@types/hast': 3.0.4 + hast-util-raw: 9.0.2 + vfile: 6.0.1 dev: true /rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 github-slugger: 2.0.0 hast-util-heading-rank: 3.0.0 hast-util-to-string: 3.0.0 @@ -13628,7 +11891,7 @@ packages: /rehype-sort-attribute-values@5.0.0: resolution: {integrity: sha512-dQdHdCIRnpiU+BkrLSqH+aM4lWJyLqGzv49KvH4gHj+JxYwNqvGhoTXckS3AJu4V9ZutwsTcawP0pC7PhwX0tQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 hast-util-is-element: 3.0.0 unist-util-visit: 5.0.0 dev: true @@ -13636,12 +11899,12 @@ packages: /rehype-sort-attributes@5.0.0: resolution: {integrity: sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 unist-util-visit: 5.0.0 dev: true - /release-it@16.2.1(typescript@5.3.3): - resolution: {integrity: sha512-+bHiKPqkpld+NaiW+K/2WsjaHgfPB00J6uk8a+g8QyuBtzfFoMVe+GKsfaDO5ztEHRrSg+7luoXzd8IfvPNPig==} + /release-it@16.3.0(typescript@5.3.3): + resolution: {integrity: sha512-CP+WwKbgEvXreq6Iz9po3BtcyELtTxrt5RXRGnazQ0eCphPxFZR29+8sEZRCsJq2IKvlwb5mFUbf92u426oQog==} engines: {node: '>=16'} hasBin: true dependencies: @@ -13689,23 +11952,25 @@ packages: unified: 11.0.4 dev: true - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + /remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} dependencies: - '@types/mdast': 3.0.10 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.1 - unified: 10.1.2 + '@types/mdast': 4.0.3 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 transitivePeerDependencies: - supports-color dev: true - /remark-mdc@2.1.0: - resolution: {integrity: sha512-N1jHp5fjzCvY6qXmhfoFOMjCauu6CfNz1q79vihtgwnUrp3/C0e6Nzkzm6QeoFLHhxrTRu0epWi6A3nQUUxOIA==} + /remark-mdc@3.0.2: + resolution: {integrity: sha512-HoCaTwIkvYp1Kj9EiKMNpfAjLO53PwiaeA5J2o+uIBfCHjcOWai3oDmCkEZVCIHbHgU/qSZ8JeiQftksnVKTeQ==} dependencies: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 - flat: 5.0.2 + flat: 6.0.1 js-yaml: 4.1.0 mdast-util-from-markdown: 2.0.0 mdast-util-to-markdown: 2.1.0 @@ -13713,10 +11978,10 @@ packages: micromark-core-commonmark: 2.0.0 micromark-factory-space: 2.0.0 micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 parse-entities: 4.0.1 - scule: 1.1.0 + scule: 1.3.0 stringify-entities: 4.0.3 unified: 11.0.4 unist-util-visit: 5.0.0 @@ -13725,23 +11990,33 @@ packages: - supports-color dev: true - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: - '@types/mdast': 3.0.10 - mdast-util-from-markdown: 1.3.0 - unified: 10.1.2 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 transitivePeerDependencies: - supports-color dev: true - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + /remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.1.0 + unified: 11.0.4 + vfile: 6.0.1 + dev: true + + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} dependencies: - '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 dev: true /replace-in-file@6.3.5: @@ -13751,13 +12026,13 @@ packages: dependencies: chalk: 4.1.2 glob: 7.2.3 - yargs: 17.7.1 + yargs: 17.7.2 dev: true /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: - throttleit: 1.0.0 + throttleit: 1.0.1 dev: true /require-directory@2.1.1: @@ -13802,15 +12077,6 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -13857,8 +12123,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true /rimraf@3.0.2: @@ -13868,16 +12134,16 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-dts@5.2.0(rollup@3.29.4)(typescript@4.9.5): - resolution: {integrity: sha512-B68T/haEu2MKcz4kNUhXB8/h5sq4gpplHAJIYNHbh8cp4ZkvzDvNca/11KQdFrB9ZeKucegQIotzo5T0JUtM8w==} - engines: {node: '>=v14'} + /rollup-plugin-dts@5.3.1(rollup@3.29.4)(typescript@5.3.3): + resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} + engines: {node: '>=v14.21.3'} peerDependencies: - rollup: ^3.0.0 - typescript: ^4.1 + rollup: ^3.0 + typescript: ^4.1 || ^5.0 dependencies: - magic-string: 0.29.0 + magic-string: 0.30.7 rollup: 3.29.4 - typescript: 4.9.5 + typescript: 5.3.3 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true @@ -13889,15 +12155,15 @@ packages: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 3.29.4 typescript: 5.3.3 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-visualizer@5.9.3(rollup@3.29.4): - resolution: {integrity: sha512-ieGM5UAbMVqThX67GCuFHu/GkaSXIUZwFKJsSzE+7+k9fibU/6gbUz7SL+9BBzNtv5bIFHj7kEu0TWcqEnT/sQ==} + /rollup-plugin-visualizer@5.12.0(rollup@3.29.4): + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: @@ -13910,11 +12176,11 @@ packages: picomatch: 2.3.1 rollup: 3.29.4 source-map: 0.7.4 - yargs: 17.7.1 + yargs: 17.7.2 dev: true - /rollup-plugin-visualizer@5.9.3(rollup@4.6.0): - resolution: {integrity: sha512-ieGM5UAbMVqThX67GCuFHu/GkaSXIUZwFKJsSzE+7+k9fibU/6gbUz7SL+9BBzNtv5bIFHj7kEu0TWcqEnT/sQ==} + /rollup-plugin-visualizer@5.12.0(rollup@4.11.0): + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: @@ -13925,9 +12191,9 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.6.0 + rollup: 4.11.0 source-map: 0.7.4 - yargs: 17.7.1 + yargs: 17.7.2 dev: true /rollup@3.29.4: @@ -13937,23 +12203,26 @@ packages: optionalDependencies: fsevents: 2.3.3 - /rollup@4.6.0: - resolution: {integrity: sha512-R8i5Her4oO1LiMQ3jKf7MUglYV/mhQ5g5OKeld5CnkmPdIGo79FDDQYqPhq/PCVuTQVuxsWgIbDy9F+zdHn80w==} + /rollup@4.11.0: + resolution: {integrity: sha512-2xIbaXDXjf3u2tajvA5xROpib7eegJ9Y/uPlSFhXLNpK9ampCczXAhLEb5yLzJyG3LAdI1NWtNjDXiLyniNdjQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.6.0 - '@rollup/rollup-android-arm64': 4.6.0 - '@rollup/rollup-darwin-arm64': 4.6.0 - '@rollup/rollup-darwin-x64': 4.6.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.6.0 - '@rollup/rollup-linux-arm64-gnu': 4.6.0 - '@rollup/rollup-linux-arm64-musl': 4.6.0 - '@rollup/rollup-linux-x64-gnu': 4.6.0 - '@rollup/rollup-linux-x64-musl': 4.6.0 - '@rollup/rollup-win32-arm64-msvc': 4.6.0 - '@rollup/rollup-win32-ia32-msvc': 4.6.0 - '@rollup/rollup-win32-x64-msvc': 4.6.0 + '@rollup/rollup-android-arm-eabi': 4.11.0 + '@rollup/rollup-android-arm64': 4.11.0 + '@rollup/rollup-darwin-arm64': 4.11.0 + '@rollup/rollup-darwin-x64': 4.11.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.11.0 + '@rollup/rollup-linux-arm64-gnu': 4.11.0 + '@rollup/rollup-linux-arm64-musl': 4.11.0 + '@rollup/rollup-linux-riscv64-gnu': 4.11.0 + '@rollup/rollup-linux-x64-gnu': 4.11.0 + '@rollup/rollup-linux-x64-musl': 4.11.0 + '@rollup/rollup-win32-arm64-msvc': 4.11.0 + '@rollup/rollup-win32-ia32-msvc': 4.11.0 + '@rollup/rollup-win32-x64-msvc': 4.11.0 fsevents: 2.3.3 dev: true @@ -13964,6 +12233,11 @@ packages: execa: 5.1.1 dev: true + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + dev: true + /run-async@3.0.0: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} @@ -13977,22 +12251,15 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: true - - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -14005,30 +12272,27 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true /safe-regex@2.1.1: resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} dependencies: - regexp-tree: 0.1.24 + regexp-tree: 0.1.27 dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /scule@1.0.0: - resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} - dev: true - - /scule@1.1.0: - resolution: {integrity: sha512-vRUjqhyM/YWYzT+jsMk6tnl3NkY4A4soJ8uyh3O6Um+JXEQL9ozUCe7pqrxn3CSKokw0hw3nFStfskzpgYwR0g==} + /scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} @@ -14060,6 +12324,14 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -14086,12 +12358,12 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 upper-case-first: 2.0.2 dev: true - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -14099,7 +12371,7 @@ packages: /serve-placeholder@2.0.1: resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} dependencies: - defu: 6.1.3 + defu: 6.1.4 dev: true /serve-static@1.15.0: @@ -14118,23 +12390,25 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 dev: true /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 dev: true /setprototypeof@1.1.0: @@ -14150,12 +12424,10 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} @@ -14171,22 +12443,20 @@ packages: rechoir: 0.6.2 dev: true - /shiki-es@0.14.0: - resolution: {integrity: sha512-e+/aueHx0YeIEut6RXC6K8gSf0PykwZiHD7q7AHtpTW8Kd8TpFUIWqTwhAnrGjOyOMyrwv+syr5WPagMpDpVYQ==} - dev: true - - /shikiji@0.6.13: - resolution: {integrity: sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA==} + /shiki@1.1.2: + resolution: {integrity: sha512-qNzFwTv5uhEDNUIwp7wHjsrffVeLbmOgWnM5mZZhoiz7G2qAUvqVfUzuWfieD45/YAKipzCtdV9SndacKtABow==} dependencies: - hast-util-to-html: 9.0.0 + '@shikijs/core': 1.1.2 dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 dev: true /signal-exit@3.0.7: @@ -14196,22 +12466,23 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true - /sigstore@2.1.0: - resolution: {integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==} + /sigstore@2.2.2: + resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 2.2.0 - '@sigstore/tuf': 2.2.0 + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + '@sigstore/sign': 2.2.3 + '@sigstore/tuf': 2.3.1 + '@sigstore/verify': 1.1.0 transitivePeerDependencies: - supports-color dev: true - /simple-git@3.21.0: - resolution: {integrity: sha512-oTzw9248AF5bDTMk9MrxsRzEzivMlY+DWH0yWS4VYpMhNLhDWnN06pCtaUyPnqv/FpsdeNmRqmZugMABHRPdDA==} + /simple-git@3.22.0: + resolution: {integrity: sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==} dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 @@ -14220,13 +12491,13 @@ packages: - supports-color dev: true - /sirv@2.0.3: - resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.21 - mrmime: 1.0.1 - totalist: 3.0.0 + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 + totalist: 3.0.1 dev: true /sisteransi@1.0.5: @@ -14290,11 +12561,11 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.2 dev: true - /socket.io-client@4.7.2: - resolution: {integrity: sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==} + /socket.io-client@4.7.4: + resolution: {integrity: sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -14323,16 +12594,16 @@ packages: dependencies: agent-base: 7.1.0 debug: 4.3.4(supports-color@8.1.1) - socks: 2.7.1 + socks: 2.7.3 transitivePeerDependencies: - supports-color dev: true - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + /socks@2.7.3: + resolution: {integrity: sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} dependencies: - ip: 2.0.0 + ip-address: 9.0.5 smart-buffer: 4.2.0 dev: true @@ -14369,28 +12640,28 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.12 + spdx-license-ids: 3.0.17 dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.12 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 dev: true - /spdx-license-ids@3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /split@1.0.1: @@ -14403,8 +12674,12 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + /sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + dev: true + + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} hasBin: true dependencies: @@ -14440,8 +12715,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /std-env@3.5.0: - resolution: {integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==} + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} /stdin-discarder@0.1.0: resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} @@ -14454,14 +12729,16 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.5 + internal-slot: 1.0.7 dev: true - /streamx@2.15.5: - resolution: {integrity: sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==} + /streamx@2.15.8: + resolution: {integrity: sha512-6pwMeMY/SuISiRsuS8TeIrAzyFbG5gGPHFQsYjUr/pbBadaL1PCWmzKw+CHZSwainfvcF6Si6cVLq4XTEwswFQ==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.0 dev: true /string-argv@0.3.2: @@ -14484,7 +12761,7 @@ packages: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 dev: true /string-width@6.1.0: @@ -14500,25 +12777,25 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.0 - es-abstract: 1.22.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /string_decoder@1.1.1: @@ -14547,13 +12824,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} @@ -14574,7 +12844,6 @@ packages: /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -14596,63 +12865,54 @@ packages: /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.11.2 + acorn: 8.11.3 - /style-dictionary-esm@1.3.7: - resolution: {integrity: sha512-xO2o8sKGera0SMLCLtix1dPvgD2ZyX2VohZ09cGRRuXBb8HQObqhgDQw4dLW+qJy4gj7r4Mdhz9J1rS2p50xDw==} - engines: {node: '>=12.0.0'} + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /style-dictionary-esm@1.9.2: + resolution: {integrity: sha512-MR+ppTqzkJJtXH6UyDJ0h4h4ekBCePA8A8xlYNuL0tLj2K+ngyuxoe0AvCHQ7sJVX8O5WK2z32ANSgIcF4mGxw==} hasBin: true dependencies: - chalk: 4.1.2 + chalk: 5.3.0 change-case: 4.1.2 - commander: 10.0.0 - consola: 2.15.3 - glob: 8.1.0 - jiti: 1.18.2 + commander: 11.1.0 + consola: 3.2.3 + fast-glob: 3.3.2 + glob: 10.3.10 + jiti: 1.21.0 json5: 2.2.3 - jsonc-parser: 3.2.0 + jsonc-parser: 3.2.1 lodash.template: 4.5.0 tinycolor2: 1.6.0 dev: true - /style-mod@4.0.0: - resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} - dev: true - /style-mod@4.1.0: resolution: {integrity: sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==} dev: true - /stylehacks@6.0.0(postcss@8.4.31): - resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} + /stylehacks@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: - postcss: ^8.2.15 + postcss: ^8.4.31 dependencies: - browserslist: 4.21.5 - postcss: 8.4.31 - postcss-selector-parser: 6.0.11 + browserslist: 4.23.0 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 dev: true - /stylehacks@6.0.0(postcss@8.4.32): - resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.5 - postcss: 8.4.32 - postcss-selector-parser: 6.0.11 - dev: true - - /sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/gen-mapping': 0.3.3 commander: 4.1.1 - glob: 7.1.6 + glob: 10.3.10 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -14692,8 +12952,8 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true - /svgo@3.0.4: - resolution: {integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==} + /svgo@3.2.0: + resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -14706,10 +12966,22 @@ packages: picocolors: 1.0.0 dev: true + /synckit@0.6.2: + resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} + engines: {node: '>=12.20'} + dependencies: + tslib: 2.6.2 + dev: true + + /system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + dev: true + /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - /tailwind-config-viewer@1.7.3(tailwindcss@3.3.5): + /tailwind-config-viewer@1.7.3(tailwindcss@3.4.1): resolution: {integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==} engines: {node: '>=8'} hasBin: true @@ -14719,24 +12991,24 @@ packages: '@koa/router': 12.0.1 commander: 6.2.1 fs-extra: 9.1.0 - koa: 2.14.2 + koa: 2.15.0 koa-static: 5.0.0 open: 7.4.2 portfinder: 1.0.32 replace-in-file: 6.3.5 - tailwindcss: 3.3.5 + tailwindcss: 3.4.1 transitivePeerDependencies: - supports-color dev: true - /tailwindcss@3.3.5: - resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} + /tailwindcss@3.4.1: + resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -14748,14 +13020,14 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.31 - postcss-import: 15.1.0(postcss@8.4.31) - postcss-js: 4.0.1(postcss@8.4.31) - postcss-load-config: 4.0.2(postcss@8.4.31) - postcss-nested: 6.0.1(postcss@8.4.31) - postcss-selector-parser: 6.0.11 + postcss: 8.4.35 + postcss-import: 15.1.0(postcss@8.4.35) + postcss-js: 4.0.1(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.35) + postcss-nested: 6.0.1(postcss@8.4.35) + postcss-selector-parser: 6.0.15 resolve: 1.22.8 - sucrase: 3.34.0 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node dev: true @@ -14765,24 +13037,12 @@ packages: engines: {node: '>=6'} dev: true - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.5 - dev: true - - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 4.2.4 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 + streamx: 2.15.8 dev: true /tar@6.2.0: @@ -14796,13 +13056,13 @@ packages: mkdirp: 1.0.4 yallist: 4.0.0 - /terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + /terser@5.27.1: + resolution: {integrity: sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.11.2 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -14829,8 +13089,8 @@ packages: any-promise: 1.3.0 dev: true - /throttleit@1.0.0: - resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} dev: true /through2@2.0.5: @@ -14843,7 +13103,7 @@ packages: /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /through@2.3.8: @@ -14892,8 +13152,8 @@ packages: engines: {node: '>=0.6'} dev: true - /totalist@3.0.0: - resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} dev: true @@ -14902,7 +13162,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -14925,13 +13185,13 @@ packages: engines: {node: '>=8'} dev: true - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + /trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -14942,8 +13202,8 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -14955,8 +13215,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true /tsscmp@1.0.6: @@ -14974,8 +13234,8 @@ packages: typescript: 5.3.3 dev: true - /tuf-js@2.1.0: - resolution: {integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==} + /tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/models': 2.0.0 @@ -15050,42 +13310,42 @@ packages: mime-types: 2.1.35 dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer@1.0.1: + resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 dev: true /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.13 dev: true /typedarray-to-buffer@3.1.5: @@ -15098,22 +13358,6 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typesafe-path@0.2.2: - resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} - dev: true - - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} - hasBin: true - dev: true - /typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} @@ -15123,12 +13367,8 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /ufo@1.1.1: - resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} - dev: true - - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} @@ -15145,41 +13385,41 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true - /unbuild@1.1.2: - resolution: {integrity: sha512-EK5LeABThyn5KbX0eo5c7xKRQhnHVxKN8/e5Y+YQEf4ZobJB6OZ766756wbVqzIY/G/MvAfLbc6EwFPdSNnlpA==} + /unbuild@1.2.1: + resolution: {integrity: sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==} hasBin: true dependencies: - '@rollup/plugin-alias': 4.0.3(rollup@3.29.4) - '@rollup/plugin-commonjs': 24.0.1(rollup@3.29.4) - '@rollup/plugin-json': 6.0.0(rollup@3.29.4) - '@rollup/plugin-node-resolve': 15.0.1(rollup@3.29.4) - '@rollup/plugin-replace': 5.0.2(rollup@3.29.4) + '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.29.4) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) '@rollup/pluginutils': 5.1.0(rollup@3.29.4) chalk: 5.3.0 - consola: 2.15.3 - defu: 6.1.2 - esbuild: 0.17.14 + consola: 3.2.3 + defu: 6.1.4 + esbuild: 0.17.19 globby: 13.2.2 - hookable: 5.5.2 - jiti: 1.18.2 - magic-string: 0.29.0 - mkdist: 1.1.1(typescript@4.9.5) - mlly: 1.2.0 + hookable: 5.5.3 + jiti: 1.21.0 + magic-string: 0.30.7 + mkdist: 1.4.0(typescript@5.3.3) + mlly: 1.5.0 mri: 1.2.0 - pathe: 1.1.0 - pkg-types: 1.0.2 - pretty-bytes: 6.1.0 + pathe: 1.1.2 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 rollup: 3.29.4 - rollup-plugin-dts: 5.2.0(rollup@3.29.4)(typescript@4.9.5) - scule: 1.0.0 - typescript: 4.9.5 - untyped: 1.2.2 + rollup-plugin-dts: 5.3.1(rollup@3.29.4)(typescript@5.3.3) + scule: 1.3.0 + typescript: 5.3.3 + untyped: 1.4.2 transitivePeerDependencies: - sass - supports-color @@ -15196,29 +13436,29 @@ packages: dependencies: '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) '@rollup/plugin-commonjs': 25.0.7(rollup@3.29.4) - '@rollup/plugin-json': 6.0.0(rollup@3.29.4) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) - '@rollup/plugin-replace': 5.0.2(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) '@rollup/pluginutils': 5.1.0(rollup@3.29.4) chalk: 5.3.0 - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 - defu: 6.1.2 - esbuild: 0.19.8 + defu: 6.1.4 + esbuild: 0.19.12 globby: 13.2.2 hookable: 5.5.3 jiti: 1.21.0 - magic-string: 0.30.5 + magic-string: 0.30.7 mkdist: 1.4.0(typescript@5.3.3) - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 rollup: 3.29.4 rollup-plugin-dts: 6.1.0(rollup@3.29.4)(typescript@5.3.3) - scule: 1.0.0 + scule: 1.3.0 typescript: 5.3.3 - untyped: 1.4.0 + untyped: 1.4.2 transitivePeerDependencies: - sass - supports-color @@ -15231,38 +13471,38 @@ packages: /unctx@2.3.1: resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} dependencies: - acorn: 8.11.2 + acorn: 8.11.3 estree-walker: 3.0.3 - magic-string: 0.30.5 - unplugin: 1.5.1 + magic-string: 0.30.7 + unplugin: 1.7.1 /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /undici@5.28.1: - resolution: {integrity: sha512-xcIIvj1LOQH9zAL54iWFkuDEaIVEjLrru7qRpa3GrEEHk6OBhb/LycuUY2m7VCcTuDeLziXCxobQVyKExyGeIA==} + /undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.0 dev: true - /unenv@1.8.0: - resolution: {integrity: sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg==} + /unenv@1.9.0: + resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} dependencies: consola: 3.2.3 - defu: 6.1.3 + defu: 6.1.4 mime: 3.0.0 - node-fetch-native: 1.4.1 - pathe: 1.1.1 + node-fetch-native: 1.6.2 + pathe: 1.1.2 dev: true - /unhead@1.8.8: - resolution: {integrity: sha512-SfUJ2kjz1NcfvdM+uEAlN11h31wHqMg0HZ5jriuRPjMCj5O7lPs4uSMdBUYh3KEo0uLKrW76FM85ONXkyZfm3g==} + /unhead@1.8.10: + resolution: {integrity: sha512-dth8FvZkLriO5ZWWOBIYBNSfGiwJtKcqpPWpSOk/Z0e2jdlgwoZEWZHFyte0EKvmbZxKcsWNMqIuv7dEmS5yZQ==} dependencies: - '@unhead/dom': 1.8.8 - '@unhead/schema': 1.8.8 - '@unhead/shared': 1.8.8 + '@unhead/dom': 1.8.10 + '@unhead/schema': 1.8.10 + '@unhead/shared': 1.8.10 hookable: 5.5.3 dev: true @@ -15275,18 +13515,6 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - dependencies: - '@types/unist': 2.0.6 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.1.0 - vfile: 5.3.7 - dev: true - /unified@11.0.4: resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} dependencies: @@ -15295,41 +13523,45 @@ packages: devlop: 1.1.0 extend: 3.0.2 is-plain-obj: 4.1.0 - trough: 2.1.0 + trough: 2.2.0 vfile: 6.0.1 dev: true - /unimport@3.6.0(rollup@3.29.4): - resolution: {integrity: sha512-yXW3Z30yk1vX8fxO8uHlq9wY9K+L56LHp4Hlbv8i7tW+NENSOv8AaFJUPtOQchxlT7/JBAzCtkrBtcVjKIr1VQ==} + /unimport@3.7.1(rollup@3.29.4): + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + acorn: 8.11.3 escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.5 - mlly: 1.4.2 - pathe: 1.1.1 + magic-string: 0.30.7 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.1.0 + scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.5.1 + unplugin: 1.7.1 transitivePeerDependencies: - rollup - /unimport@3.6.0(rollup@4.6.0): - resolution: {integrity: sha512-yXW3Z30yk1vX8fxO8uHlq9wY9K+L56LHp4Hlbv8i7tW+NENSOv8AaFJUPtOQchxlT7/JBAzCtkrBtcVjKIr1VQ==} + /unimport@3.7.1(rollup@4.11.0): + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) + acorn: 8.11.3 escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.5 - mlly: 1.4.2 - pathe: 1.1.1 + magic-string: 0.30.7 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.1.0 + scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.5.1 + unplugin: 1.7.1 transitivePeerDependencies: - rollup dev: true @@ -15361,28 +13593,12 @@ packages: '@types/unist': 3.0.2 dev: true - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: true - - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - dependencies: - '@types/unist': 2.0.6 - dev: true - /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: '@types/unist': 3.0.2 dev: true - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - dependencies: - '@types/unist': 2.0.6 - dev: true - /unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} dependencies: @@ -15392,13 +13608,7 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.6 - dev: true - - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 dev: true /unist-util-stringify-position@4.0.0: @@ -15407,13 +13617,6 @@ packages: '@types/unist': 3.0.2 dev: true - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.2.1 - dev: true - /unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: @@ -15421,14 +13624,6 @@ packages: unist-util-is: 6.0.0 dev: true - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: true - /unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: @@ -15437,8 +13632,8 @@ packages: unist-util-visit-parents: 6.0.1 dev: true - /universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + /universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} dev: true /universalify@0.1.2: @@ -15451,12 +13646,12 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true - /unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.7): + /unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.2.5)(vue@3.4.19): resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} peerDependencies: vue-router: ^4.1.0 @@ -15464,39 +13659,30 @@ packages: vue-router: optional: true dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.9 '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - '@vue-macros/common': 1.9.0(rollup@3.29.4)(vue@3.4.7) + '@vue-macros/common': 1.10.1(rollup@3.29.4)(vue@3.4.19) ast-walker-scope: 0.5.0(rollup@3.29.4) - chokidar: 3.5.3 + chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.4.2 - pathe: 1.1.1 - scule: 1.1.0 - unplugin: 1.5.1 - vue-router: 4.2.5(vue@3.4.7) + mlly: 1.5.0 + pathe: 1.1.2 + scule: 1.3.0 + unplugin: 1.7.1 + vue-router: 4.2.5(vue@3.4.19) yaml: 2.3.4 transitivePeerDependencies: - rollup - vue dev: true - /unplugin@1.3.1: - resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} - dependencies: - acorn: 8.8.2 - chokidar: 3.5.3 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: true - - /unplugin@1.5.1: - resolution: {integrity: sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==} + /unplugin@1.7.1: + resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} dependencies: - acorn: 8.11.2 - chokidar: 3.5.3 + acorn: 8.11.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 @@ -15542,16 +13728,16 @@ packages: optional: true dependencies: anymatch: 3.1.3 - chokidar: 3.5.3 + chokidar: 3.6.0 destr: 2.0.2 - h3: 1.9.0 + h3: 1.10.1 ioredis: 5.3.2 - listhen: 1.5.5 - lru-cache: 10.1.0 + listhen: 1.6.0 + lru-cache: 10.2.0 mri: 1.2.0 - node-fetch-native: 1.4.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.3.2 + ufo: 1.4.0 transitivePeerDependencies: - supports-color dev: true @@ -15561,66 +13747,54 @@ packages: engines: {node: '>=8'} dev: true - /untun@0.1.2: - resolution: {integrity: sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==} + /untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true dependencies: - citty: 0.1.5 + citty: 0.1.6 consola: 3.2.3 - pathe: 1.1.1 + pathe: 1.1.2 dev: true - /untyped@1.2.2: - resolution: {integrity: sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==} - dependencies: - '@babel/core': 7.21.0 - '@babel/standalone': 7.21.2 - '@babel/types': 7.23.4 - scule: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /untyped@1.4.0: - resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} + /untyped@1.4.2: + resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true dependencies: - '@babel/core': 7.23.3 - '@babel/standalone': 7.23.4 - '@babel/types': 7.22.5 - defu: 6.1.3 + '@babel/core': 7.23.9 + '@babel/standalone': 7.23.10 + '@babel/types': 7.23.9 + defu: 6.1.4 jiti: 1.21.0 mri: 1.2.0 - scule: 1.1.0 + scule: 1.3.0 transitivePeerDependencies: - supports-color - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + /unwasm@0.3.7: + resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 + magic-string: 0.30.7 + mlly: 1.5.0 + pathe: 1.1.2 + pkg-types: 1.0.3 + unplugin: 1.7.1 dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): + /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.1 - escalade: 3.1.1 + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} dependencies: - boxen: 7.0.2 + boxen: 7.1.1 chalk: 5.3.0 configstore: 6.0.0 has-yarn: 3.0.0 @@ -15639,13 +13813,13 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 dev: true /uqr@0.1.2: @@ -15655,7 +13829,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /url-join@5.0.0: @@ -15684,8 +13858,8 @@ packages: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 - is-typed-array: 1.1.12 - which-typed-array: 1.1.13 + is-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /uuid@8.3.2: @@ -15693,17 +13867,6 @@ packages: hasBin: true dev: true - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.1.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: true - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -15737,13 +13900,6 @@ packages: extsprintf: 1.3.0 dev: true - /vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} - dependencies: - '@types/unist': 2.0.6 - vfile: 5.3.7 - dev: true - /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} dependencies: @@ -15751,13 +13907,6 @@ packages: vfile: 6.0.1 dev: true - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 3.0.3 - dev: true - /vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: @@ -15765,15 +13914,6 @@ packages: unist-util-stringify-position: 4.0.0 dev: true - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - dependencies: - '@types/unist': 2.0.6 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - dev: true - /vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} dependencies: @@ -15782,17 +13922,16 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@0.33.0(@types/node@20.10.4): - resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} - engines: {node: '>=v14.18.0'} + /vite-node@1.2.2(@types/node@20.11.19): + resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.2 - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.10.4) + vite: 5.1.1(@types/node@20.11.19) transitivePeerDependencies: - '@types/node' - less @@ -15804,8 +13943,8 @@ packages: - terser dev: true - /vite-plugin-checker@0.6.2(eslint@8.54.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20): - resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} + /vite-plugin-checker@0.6.4(eslint@8.56.0)(typescript@5.3.3)(vite@5.1.1)(vue-tsc@1.8.20): + resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: eslint: '>=7' @@ -15835,85 +13974,29 @@ packages: vue-tsc: optional: true dependencies: - '@babel/code-frame': 7.18.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - commander: 8.3.0 - eslint: 8.54.0 - fast-glob: 3.3.2 - fs-extra: 11.1.1 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 - npm-run-path: 4.0.1 - semver: 7.5.4 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.1 - typescript: 5.3.3 - vite: 4.5.0(@types/node@20.10.4) - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 - vue-tsc: 1.8.20(typescript@5.3.3) - dev: true - - /vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0)(vue-tsc@1.8.20): - resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} - engines: {node: '>=14.16'} - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - vue-tsc: '>=1.3.9' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true - dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 ansi-escapes: 4.3.2 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 commander: 8.3.0 eslint: 8.56.0 fast-glob: 3.3.2 - fs-extra: 11.1.1 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 + fs-extra: 11.2.0 npm-run-path: 4.0.1 - semver: 7.5.4 + semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 4.5.0(@types/node@20.10.4) + vite: 5.1.1(@types/node@20.11.19) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 vue-tsc: 1.8.20(typescript@5.3.3) dev: true - /vite-plugin-dts@3.6.3(@types/node@20.10.4)(typescript@5.3.3)(vite@5.0.6): - resolution: {integrity: sha512-NyRvgobl15rYj65coi/gH7UAEH+CpSjh539DbGb40DfOTZSvDLNYTzc8CK4460W+LqXuMK7+U3JAxRB3ksrNPw==} + /vite-plugin-dts@3.7.2(@types/node@20.11.19)(typescript@5.3.3)(vite@5.1.1): + resolution: {integrity: sha512-kg//1nDA01b8rufJf4TsvYN8LMkdwv0oBYpiQi6nRwpHyue+wTlhrBiqgipdFpMnW1oOYv6ywmzE5B0vg6vSEA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -15922,22 +14005,22 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.38.3(@types/node@20.10.4) - '@rollup/pluginutils': 5.1.0(rollup@4.6.0) - '@vue/language-core': 1.8.24(typescript@5.3.3) + '@microsoft/api-extractor': 7.39.0(@types/node@20.11.19) + '@rollup/pluginutils': 5.1.0(rollup@4.11.0) + '@vue/language-core': 1.8.27(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 typescript: 5.3.3 - vite: 5.0.6(@types/node@20.10.4) - vue-tsc: 1.8.24(typescript@5.3.3) + vite: 5.1.1(@types/node@20.11.19) + vue-tsc: 1.8.27(typescript@5.3.3) transitivePeerDependencies: - '@types/node' - rollup - supports-color dev: true - /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@4.5.1): - resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.2)(rollup@3.29.4)(vite@5.1.1): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' @@ -15946,114 +14029,43 @@ packages: '@nuxt/kit': optional: true dependencies: - '@antfu/utils': 0.7.6 - '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@antfu/utils': 0.7.7 + '@nuxt/kit': 3.10.2(rollup@3.29.4) '@rollup/pluginutils': 5.1.0(rollup@3.29.4) debug: 4.3.4(supports-color@8.1.1) error-stack-parser-es: 0.1.1 - fs-extra: 11.1.1 - open: 9.1.0 + fs-extra: 11.2.0 + open: 10.0.3 + perfect-debounce: 1.0.0 picocolors: 1.0.0 - sirv: 2.0.3 - vite: 4.5.1(@types/node@20.10.4) + sirv: 2.0.4 + vite: 5.1.1(@types/node@20.11.19) transitivePeerDependencies: - rollup - supports-color dev: true - /vite-plugin-vue-inspector@4.0.0(vite@4.5.1): - resolution: {integrity: sha512-xNjMbRj3YrebuuInTvlC8ghPtzT+3LjMIQPeeR/5CaFd+WcbA9wBnECZmlcP3GITCVED0SxGmTyoJ3iVKsK4vQ==} + /vite-plugin-vue-inspector@4.0.2(vite@5.1.1): + resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: - vite: ^3.0.0-0 || ^4.0.0-0 - dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-proposal-decorators': 7.23.3(@babel/core@7.23.3) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) - '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.3) - '@vue/compiler-dom': 3.4.7 + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-proposal-decorators': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) + '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.23.9) + '@vue/compiler-dom': 3.4.19 kolorist: 1.8.0 - magic-string: 0.30.5 - vite: 4.5.1(@types/node@20.10.4) + magic-string: 0.30.7 + vite: 5.1.1(@types/node@20.11.19) transitivePeerDependencies: - supports-color dev: true - /vite@4.5.0(@types/node@20.10.4): - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.10.4 - esbuild: 0.18.20 - postcss: 8.4.31 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@4.5.1(@types/node@20.10.4): - resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.10.4 - esbuild: 0.18.20 - postcss: 8.4.33 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@5.0.6(@types/node@20.10.4): - resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} + /vite@5.1.1(@types/node@20.11.19): + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -16080,10 +14092,10 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.4 - esbuild: 0.19.8 - postcss: 8.4.32 - rollup: 4.6.0 + '@types/node': 20.11.19 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.11.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -16098,7 +14110,7 @@ packages: engines: {vscode: ^1.52.0} dependencies: minimatch: 3.1.2 - semver: 7.5.4 + semver: 7.6.0 vscode-languageserver-protocol: 3.16.0 dev: true @@ -16109,8 +14121,8 @@ packages: vscode-languageserver-types: 3.16.0 dev: true - /vscode-languageserver-textdocument@1.0.8: - resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} dev: true /vscode-languageserver-types@3.16.0: @@ -16124,33 +14136,37 @@ packages: vscode-languageserver-protocol: 3.16.0 dev: true - /vscode-uri@3.0.7: - resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} dev: true /vue-bundle-renderer@2.0.0: resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} dependencies: - ufo: 1.3.2 + ufo: 1.4.0 dev: true - /vue-component-meta@1.2.0(typescript@5.3.3): - resolution: {integrity: sha512-z+/pL4txu5qCULbGHFn6vOlSR1V5gFDGWkD64Z2yLlKtYr0Wlb9oOfWTaXxpSl7R+EiX7JusbTlek0szSYeH1g==} + /vue-component-meta@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-j3WJsyQHP4TDlvnjHc/eseo0/eVkf0FaCpkqGwez5zD+Tj31onBzWZEXTnWKs8xRj0n3dMNYdy3SpiS6NubSvg==} peerDependencies: typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@volar/language-core': 1.3.0-alpha.0 - '@volar/vue-language-core': 1.2.0 - typesafe-path: 0.2.2 + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.3.3) + path-browserify: 1.0.1 typescript: 5.3.3 + vue-component-type-helpers: 1.8.27 dev: true /vue-component-type-helpers@1.8.27: resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} dev: true - /vue-demi@0.14.6(vue@3.3.7): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + /vue-demi@0.14.7(vue@3.3.7): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -16167,52 +14183,34 @@ packages: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} dev: true - /vue-eslint-parser@9.3.2(eslint@8.54.0): - resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - dependencies: - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.54.0 - eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - - /vue-eslint-parser@9.3.2(eslint@8.56.0): - resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + /vue-eslint-parser@9.4.2(eslint@8.56.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 - eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true - /vue-final-modal@4.5.3(@vueuse/core@10.7.1)(@vueuse/integrations@10.7.1)(focus-trap@7.5.4)(vue@3.3.7): - resolution: {integrity: sha512-BX+If7NuOTbFlTrNu7/tPRJMTOQKdI3/8JT9VAQ9xjKSQ/kmBw0RUQKC9VwitBBSTeosk5uuVSlJRSbvTcL1rg==} + /vue-final-modal@4.5.4(@vueuse/core@10.7.2)(@vueuse/integrations@10.7.2)(focus-trap@7.5.4)(vue@3.3.7): + resolution: {integrity: sha512-wYunoN89Ago2d6p/hevyo4KSfar1HxScllS6FaHujCGyx69fsb40YPGzN17bk9K68daYAgrJ1inxv+fvhIGv5A==} peerDependencies: '@vueuse/core': '>=10.0.0' '@vueuse/integrations': '>=10.0.0' focus-trap: '>=7.2.0' vue: '>=3.2.0' dependencies: - '@vueuse/core': 10.7.1(vue@3.3.7) - '@vueuse/integrations': 10.7.1(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) + '@vueuse/core': 10.7.2(vue@3.3.7) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.3.7) focus-trap: 7.5.4 vue: 3.3.7(typescript@5.3.3) dev: false @@ -16230,20 +14228,20 @@ packages: peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.5.0 + '@vue/devtools-api': 6.6.1 vue: 3.3.7(typescript@5.3.3) - /vue-router@4.2.5(vue@3.4.7): + /vue-router@4.2.5(vue@3.4.19): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.5.0 - vue: 3.4.7(typescript@5.3.3) + '@vue/devtools-api': 6.6.1 + vue: 3.4.19(typescript@5.3.3) dev: true - /vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} dependencies: de-indent: 1.0.2 he: 1.2.0 @@ -16257,30 +14255,30 @@ packages: dependencies: '@vue/language-core': 1.8.20(typescript@5.3.3) '@vue/typescript': 1.8.20(typescript@5.3.3) - semver: 7.5.4 + semver: 7.6.0 typescript: 5.3.3 dev: true - /vue-tsc@1.8.24(typescript@5.3.3): - resolution: {integrity: sha512-eH1CSj231OzVEY5Hi7wS6ubzyOEwgr5jCptR0Ddf2SitGcaXIsPVDvrprm3eolCdyhDt3WS1Eb2F4fGX9BsUUw==} + /vue-tsc@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.24(typescript@5.3.3) - semver: 7.5.4 + '@vue/language-core': 1.8.27(typescript@5.3.3) + semver: 7.6.0 typescript: 5.3.3 dev: true - /vue-use-template@0.0.0-beta.3(@vueuse/core@10.7.1)(vue-component-type-helpers@1.8.27)(vue@3.3.7): - resolution: {integrity: sha512-8bV7ke0a3X0Ddwv7cqu0Y4wgOV4oFy3HF2T+sd+8funvAvt7kbD3UpJ1A58kjEkfCr9wcR1ozmu2E113+UuIuQ==} + /vue-use-template@0.0.0-beta.5(@vueuse/core@10.7.2)(vue-component-type-helpers@1.8.27)(vue@3.3.7): + resolution: {integrity: sha512-zIyulxmX/Ydd8O0mNhp8RAdCpvbSfg6U/qQ8dqWEUMoUSwo1zw7yHQTbJ+1o/0b90Ho1Tqm7q46WjIQY9596mA==} peerDependencies: '@vueuse/core': ^10.7.2 vue: '>=3.0.0' vue-component-type-helpers: '>=1.8.27' dependencies: - '@vueuse/core': 10.7.1(vue@3.3.7) + '@vueuse/core': 10.7.2(vue@3.3.7) vue: 3.3.7(typescript@5.3.3) vue-component-type-helpers: 1.8.27 dev: true @@ -16304,24 +14302,24 @@ packages: '@vue/shared': 3.3.7 typescript: 5.3.3 - /vue@3.4.7(typescript@5.3.3): - resolution: {integrity: sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==} + /vue@3.4.19(typescript@5.3.3): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-sfc': 3.4.7 - '@vue/runtime-dom': 3.4.7 - '@vue/server-renderer': 3.4.7(vue@3.4.7) - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 typescript: 5.3.3 dev: true - /w3c-keyname@2.2.6: - resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} + /w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} dev: true /wcwidth@1.0.1: @@ -16334,8 +14332,8 @@ packages: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + /web-streams-polyfill@3.3.2: + resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} engines: {node: '>= 8'} dev: true @@ -16347,10 +14345,6 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: true - /webpack-virtual-modules@0.6.1: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} @@ -16371,15 +14365,15 @@ packages: is-symbol: 1.0.4 dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /which@2.0.2: @@ -16388,7 +14382,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@3.0.1: resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} @@ -16423,8 +14416,8 @@ packages: resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==} dev: true - /windows-release@5.1.0: - resolution: {integrity: sha512-CddHecz5dt0ngTjGPP1uYr9Tjl4qq5rEKNk8UGb8XCdngNXI+GRYvqelD055FdiUgqODZz3R/5oZWYldPtXQpA==} + /windows-release@5.1.1: + resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: execa: 5.1.1 @@ -16458,7 +14451,7 @@ packages: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 dev: true /wrappy@1.0.2: @@ -16487,8 +14480,8 @@ packages: optional: true dev: true - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -16560,7 +14553,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -16568,25 +14561,12 @@ packages: yargs-parser: 20.2.9 dev: true - /yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -16633,7 +14613,7 @@ packages: dependencies: archiver-utils: 4.0.1 compress-commons: 5.0.1 - readable-stream: 3.6.1 + readable-stream: 3.6.2 dev: true /zwitch@2.0.4: diff --git a/viteplay/src/components/UseTemplate by CreateContainer.example.vue b/viteplay/src/components/UseTemplate by CreateContainer.example.vue index 73917521..7c833d6e 100644 --- a/viteplay/src/components/UseTemplate by CreateContainer.example.vue +++ b/viteplay/src/components/UseTemplate by CreateContainer.example.vue @@ -1,9 +1,7 @@ <script setup lang="ts"> -import { createContainer } from 'vue-final-modal' +import { Container, useTemplate } from 'vue-final-modal' import DefaultSlot from './DefaultSlot.vue' -const { Container, useTemplate } = createContainer() - function appendTemplate() { const { show, hide } = useTemplate({ component: DefaultSlot,