diff --git a/apps/www/.vitepress/theme/config/docs.ts b/apps/www/.vitepress/theme/config/docs.ts
index 52cddca3..b7f61e4e 100644
--- a/apps/www/.vitepress/theme/config/docs.ts
+++ b/apps/www/.vitepress/theme/config/docs.ts
@@ -168,6 +168,12 @@ export const docsConfig: DocsConfig = {
href: '/docs/components/card',
items: [],
},
+ {
+ title: 'Carousel',
+ href: '/docs/components/carousel',
+ label: 'New',
+ items: [],
+ },
{
title: 'Checkbox',
href: '/docs/components/checkbox',
diff --git a/apps/www/.vitepress/theme/layout/MainLayout.vue b/apps/www/.vitepress/theme/layout/MainLayout.vue
index 9a0b7a0c..23bc4121 100644
--- a/apps/www/.vitepress/theme/layout/MainLayout.vue
+++ b/apps/www/.vitepress/theme/layout/MainLayout.vue
@@ -49,7 +49,13 @@ const links = [
]
const isOpen = ref(false)
-const { Meta_K, Ctrl_K } = useMagicKeys()
+const { Meta_K, Ctrl_K } = useMagicKeys({
+ passive: false,
+ onEventFired(e) {
+ if (e.key === 'k' && (e.metaKey || e.ctrlKey))
+ e.preventDefault()
+ },
+})
watch([Meta_K, Ctrl_K], (v) => {
if (v[0] || v[1])
diff --git a/apps/www/__registry__/index.ts b/apps/www/__registry__/index.ts
index b24d3ade..9088c48d 100644
--- a/apps/www/__registry__/index.ts
+++ b/apps/www/__registry__/index.ts
@@ -184,6 +184,48 @@ export const Index = {
component: () => import('../src/lib/registry/default/example/CardWithForm.vue').then(m => m.default),
files: ['../src/lib/registry/default/example/CardWithForm.vue'],
},
+ CarouselApi: {
+ name: 'CarouselApi',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselApi.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselApi.vue'],
+ },
+ CarouselDemo: {
+ name: 'CarouselDemo',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselDemo.vue'],
+ },
+ CarouselOrientation: {
+ name: 'CarouselOrientation',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselOrientation.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselOrientation.vue'],
+ },
+ CarouselPlugin: {
+ name: 'CarouselPlugin',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselPlugin.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselPlugin.vue'],
+ },
+ CarouselSize: {
+ name: 'CarouselSize',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselSize.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselSize.vue'],
+ },
+ CarouselSpacing: {
+ name: 'CarouselSpacing',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/default/example/CarouselSpacing.vue').then(m => m.default),
+ files: ['../src/lib/registry/default/example/CarouselSpacing.vue'],
+ },
CheckboxDemo: {
name: 'CheckboxDemo',
type: 'components:example',
@@ -977,6 +1019,48 @@ export const Index = {
component: () => import('../src/lib/registry/new-york/example/CardWithForm.vue').then(m => m.default),
files: ['../src/lib/registry/new-york/example/CardWithForm.vue'],
},
+ CarouselApi: {
+ name: 'CarouselApi',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselApi.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselApi.vue'],
+ },
+ CarouselDemo: {
+ name: 'CarouselDemo',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselDemo.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselDemo.vue'],
+ },
+ CarouselOrientation: {
+ name: 'CarouselOrientation',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselOrientation.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselOrientation.vue'],
+ },
+ CarouselPlugin: {
+ name: 'CarouselPlugin',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselPlugin.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselPlugin.vue'],
+ },
+ CarouselSize: {
+ name: 'CarouselSize',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselSize.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselSize.vue'],
+ },
+ CarouselSpacing: {
+ name: 'CarouselSpacing',
+ type: 'components:example',
+ registryDependencies: ['carousel', 'card'],
+ component: () => import('../src/lib/registry/new-york/example/CarouselSpacing.vue').then(m => m.default),
+ files: ['../src/lib/registry/new-york/example/CarouselSpacing.vue'],
+ },
CheckboxDemo: {
name: 'CheckboxDemo',
type: 'components:example',
diff --git a/apps/www/package.json b/apps/www/package.json
index 4d799b54..e4462ead 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -9,9 +9,10 @@
"dev": "vitepress dev",
"build": "vitepress build",
"preview": "vitepress preview",
- "typecheck": "vue-tsc --noEmit",
- "typecheck:registry": "vue-tsc --noEmit -p tsconfig.registry.json",
- "build:registry": "pnpm typecheck:registry && tsx ./scripts/build-registry.ts"
+ "typecheck": "vue-tsc",
+ "typecheck:registry": "vue-tsc -p tsconfig.registry.json",
+ "build:registry": "tsx ./scripts/build-registry.ts",
+ "build:registry-strict": "pnpm typecheck:registry && tsx ./scripts/build-registry.ts"
},
"dependencies": {
"@formkit/auto-animate": "^0.8.0",
@@ -27,6 +28,9 @@
"clsx": "^2.0.0",
"codesandbox": "^2.2.3",
"date-fns": "^2.30.0",
+ "embla-carousel": "8.0.0-rc19",
+ "embla-carousel-autoplay": "8.0.0-rc19",
+ "embla-carousel-vue": "8.0.0-rc19",
"lucide-vue-next": "^0.276.0",
"radix-vue": "^1.2.5",
"tailwindcss-animate": "^1.0.7",
@@ -47,7 +51,7 @@
"@vitejs/plugin-vue-jsx": "^3.0.2",
"@vue/compiler-core": "^3.3.7",
"@vue/compiler-dom": "^3.3.7",
- "@vue/tsconfig": "^0.4.0",
+ "@vue/tsconfig": "^0.5.1",
"autoprefixer": "^10.4.16",
"lodash.template": "^4.5.0",
"pathe": "^1.1.1",
@@ -59,6 +63,6 @@
"unplugin-icons": "^0.17.1",
"vite": "^4.5.0",
"vitepress": "^1.0.0-rc.24",
- "vue-tsc": "^1.8.25"
+ "vue-tsc": "^1.8.27"
}
}
diff --git a/apps/www/src/content/docs/components/carousel.md b/apps/www/src/content/docs/components/carousel.md
new file mode 100644
index 00000000..c1a34a73
--- /dev/null
+++ b/apps/www/src/content/docs/components/carousel.md
@@ -0,0 +1,283 @@
+---
+title: Carousel
+description: A carousel with motion and swipe built using Embla.
+source: apps/www/src/lib/registry/default/ui/carousel
+primitive: https://www.embla-carousel.com/api
+---
+
+
+
+
+
+## About
+
+The carousel component is built using the [Embla Carousel](https://www.embla-carousel.com/) library.
+
+## Installation
+
+
+```bash
+npx shadcn-vue@latest add carousel
+```
+
+## Usage
+
+```vue
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+```
+
+## Examples
+
+### Orientation
+
+Use the `orientation` prop to set the orientation of the carousel.
+
+
+
+```vue
+
+ ...
+
+```
+
+### Sizes
+
+To set the size of the items, you can use the `basis` utility class on the ` `.
+
+
+
+
+Example
+
+```vue title="Example" showLineNumbers {4-6}
+// 33% of the carousel width.
+
+
+ ...
+ ...
+ ...
+
+
+```
+
+
+Responsive
+
+```vue title="Responsive" showLineNumbers {4-6}
+// 50% on small screens and 33% on larger screens.
+
+
+ ...
+ ...
+ ...
+
+
+```
+
+### Spacing
+
+To set the spacing between the items, we use a `pl-[VALUE]` utility on the ` ` and a negative `-ml-[VALUE]` on the ` `.
+
+
+
+**Why:** I tried to use the `gap` property or a `grid` layout on the `
+CarouselContent` but it required a lot of math and mental effort to get the
+spacing right. I found `pl-[VALUE]` and `-ml-[VALUE]` utilities much easier to
+use.
+
+You can always adjust this in your own project if you need to.
+
+
+
+
+
+Example
+
+```vue showLineNumbers /-ml-4/ /pl-4/
+
+
+
+
+ ...
+
+
+ ...
+
+
+ ...
+
+
+
+
+```
+
+Responsive
+
+```vue showLineNumbers /-ml-2/ /pl-2/ /md:-ml-4/ /md:pl-4/
+
+
+
+
+ ...
+
+
+ ...
+
+
+ ...
+
+
+
+
+```
+
+
+## Options
+
+You can pass options to the carousel using the `opts` prop. See the [Embla Carousel docs](https://www.embla-carousel.com/api/options/) for more information.
+
+```vue showLineNumbers {3-6}
+
+
+
+ ...
+ ...
+ ...
+
+
+
+```
+
+## API
+
+### Method 1
+
+Use the `@init-api` emit method on ` ` component to set the instance of the API.
+
+
+
+### Method 2
+
+You can access it through setting a template ref on the ` ` component.
+
+```vue showLineNumbers {2,5,9}
+
+
+
+
+ ...
+
+
+```
+
+## Events
+
+You can listen to events using the API. To get the API instance use the `@init-api` emit method on the ` ` component
+
+```vue showLineNumbers {5,7-9,25}
+
+
+
+
+ ...
+
+
+```
+
+See the [Embla Carousel docs](https://www.embla-carousel.com/api/events/) for more information on using events.
+
+## Slot Props
+
+You can get the reactive slot props like `carouselRef, canScrollNext..Prev, scrollNext..Prev` using the `v-slot` directive in the ` ` component to extend the functionality.
+
+```vue showLineNumbers {2}
+
+
+ ...
+
+
+
+
+```
+
+## Plugins
+
+You can use the `plugins` prop to add plugins to the carousel.
+
+```bash
+npm i embla-carousel-autoplay
+```
+
+
+```vue showLineNumbers {2,8-10}
+
+
+
+
+ ...
+
+
+```
+
+
+
+See the [Embla Carousel docs](https://www.embla-carousel.com/api/plugins/) for more information on using plugins.
\ No newline at end of file
diff --git a/apps/www/src/lib/registry/default/example/CarouselApi.vue b/apps/www/src/lib/registry/default/example/CarouselApi.vue
new file mode 100644
index 00000000..0b25dc94
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselApi.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
+ Slide {{ current }} of {{ totalCount }}
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CarouselDemo.vue b/apps/www/src/lib/registry/default/example/CarouselDemo.vue
new file mode 100644
index 00000000..1fa4f1a3
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselDemo.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CarouselOrientation.vue b/apps/www/src/lib/registry/default/example/CarouselOrientation.vue
new file mode 100644
index 00000000..7d19c06e
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselOrientation.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CarouselPlugin.vue b/apps/www/src/lib/registry/default/example/CarouselPlugin.vue
new file mode 100644
index 00000000..7c7a3d00
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselPlugin.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CarouselSize.vue b/apps/www/src/lib/registry/default/example/CarouselSize.vue
new file mode 100644
index 00000000..12726784
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselSize.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CarouselSpacing.vue b/apps/www/src/lib/registry/default/example/CarouselSpacing.vue
new file mode 100644
index 00000000..6d8ee403
--- /dev/null
+++ b/apps/www/src/lib/registry/default/example/CarouselSpacing.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/example/CommandDialogDemo.vue b/apps/www/src/lib/registry/default/example/CommandDialogDemo.vue
index 9f18c79a..ddc3f24c 100644
--- a/apps/www/src/lib/registry/default/example/CommandDialogDemo.vue
+++ b/apps/www/src/lib/registry/default/example/CommandDialogDemo.vue
@@ -14,17 +14,22 @@ import {
const open = ref(false)
-const keys = useMagicKeys()
-const CmdJ = keys['Cmd+J']
+const { Meta_J, Ctrl_J } = useMagicKeys({
+ passive: false,
+ onEventFired(e) {
+ if (e.key === 'j' && (e.metaKey || e.ctrlKey))
+ e.preventDefault()
+ },
+})
+
+watch([Meta_J, Ctrl_J], (v) => {
+ if (v[0] || v[1])
+ handleOpenChange()
+})
function handleOpenChange() {
open.value = !open.value
}
-
-watch(CmdJ, (v) => {
- if (v)
- handleOpenChange()
-})
@@ -37,7 +42,7 @@ watch(CmdJ, (v) => {
⌘ J
-
+
No results found.
diff --git a/apps/www/src/lib/registry/default/ui/calendar/Calendar.vue b/apps/www/src/lib/registry/default/ui/calendar/Calendar.vue
index 9aeb0752..181a43da 100644
--- a/apps/www/src/lib/registry/default/ui/calendar/Calendar.vue
+++ b/apps/www/src/lib/registry/default/ui/calendar/Calendar.vue
@@ -118,8 +118,20 @@ onMounted(async () => {
.calendar .vc-day:has(.vc-highlights) {
@apply bg-accent first:rounded-l-md last:rounded-r-md overflow-hidden;
}
+.calendar .vc-day.is-today:not(:has(.vc-day-layer)) {
+ @apply bg-secondary rounded-md;
+}
+.calendar .vc-day:has(.vc-highlight-base-start) {
+ @apply rounded-l-md;
+}
+.calendar .vc-day:has(.vc-highlight-base-end) {
+ @apply rounded-r-md;
+}
+.calendar .vc-day:has(.vc-highlight-bg-outline):not(:has(.vc-highlight-base-start)):not(:has(.vc-highlight-base-end)) {
+ @apply rounded-md;
+}
.calendar .vc-day-content {
- @apply text-center text-sm p-0 relative focus-within:relative focus-within:z-20 inline-flex items-center justify-center ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-9 w-9 font-normal aria-selected:opacity-100 select-none;
+ @apply text-center text-sm p-0 relative focus-within:relative focus-within:z-20 inline-flex items-center justify-center ring-offset-background hover:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-9 w-9 font-normal aria-selected:opacity-100 select-none;
}
.calendar .vc-day-content:not(.vc-highlight-content-light) {
@apply rounded-md;
diff --git a/apps/www/src/lib/registry/default/ui/carousel/Carousel.vue b/apps/www/src/lib/registry/default/ui/carousel/Carousel.vue
new file mode 100644
index 00000000..c88d61ad
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/Carousel.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/carousel/CarouselContent.vue b/apps/www/src/lib/registry/default/ui/carousel/CarouselContent.vue
new file mode 100644
index 00000000..f432d015
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/CarouselContent.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/carousel/CarouselItem.vue b/apps/www/src/lib/registry/default/ui/carousel/CarouselItem.vue
new file mode 100644
index 00000000..53ea50da
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/CarouselItem.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/carousel/CarouselNext.vue b/apps/www/src/lib/registry/default/ui/carousel/CarouselNext.vue
new file mode 100644
index 00000000..3b87ad3f
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/CarouselNext.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/carousel/CarouselPrevious.vue b/apps/www/src/lib/registry/default/ui/carousel/CarouselPrevious.vue
new file mode 100644
index 00000000..51dda3ce
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/CarouselPrevious.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/default/ui/carousel/index.ts b/apps/www/src/lib/registry/default/ui/carousel/index.ts
new file mode 100644
index 00000000..addfe036
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/index.ts
@@ -0,0 +1,10 @@
+export { default as Carousel } from './Carousel.vue'
+export { default as CarouselContent } from './CarouselContent.vue'
+export { default as CarouselItem } from './CarouselItem.vue'
+export { default as CarouselPrevious } from './CarouselPrevious.vue'
+export { default as CarouselNext } from './CarouselNext.vue'
+export { useCarousel } from './useCarousel'
+
+export type {
+ EmblaCarouselType as CarouselApi,
+} from 'embla-carousel'
diff --git a/apps/www/src/lib/registry/default/ui/carousel/interface.ts b/apps/www/src/lib/registry/default/ui/carousel/interface.ts
new file mode 100644
index 00000000..99c4f1a8
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/interface.ts
@@ -0,0 +1,20 @@
+import type {
+ EmblaCarouselType as CarouselApi,
+ EmblaOptionsType as CarouselOptions,
+ EmblaPluginType as CarouselPlugin,
+} from 'embla-carousel'
+import type { HTMLAttributes, Ref } from 'vue'
+
+export interface CarouselProps {
+ opts?: CarouselOptions | Ref
+ plugins?: CarouselPlugin[] | Ref
+ orientation?: 'horizontal' | 'vertical'
+}
+
+export interface CarouselEmits {
+ (e: 'init-api', payload: CarouselApi): void
+}
+
+export interface WithClassAsProps {
+ class?: HTMLAttributes['class']
+}
diff --git a/apps/www/src/lib/registry/default/ui/carousel/useCarousel.ts b/apps/www/src/lib/registry/default/ui/carousel/useCarousel.ts
new file mode 100644
index 00000000..85a97ebc
--- /dev/null
+++ b/apps/www/src/lib/registry/default/ui/carousel/useCarousel.ts
@@ -0,0 +1,57 @@
+import { createInjectionState } from '@vueuse/core'
+import emblaCarouselVue from 'embla-carousel-vue'
+import { onMounted, ref } from 'vue'
+import type {
+ EmblaCarouselType as CarouselApi,
+} from 'embla-carousel'
+import type { CarouselEmits, CarouselProps } from './interface'
+
+const [useProvideCarousel, useInjectCarousel] = createInjectionState(
+ ({
+ opts, orientation, plugins,
+ }: CarouselProps, emits: CarouselEmits) => {
+ const [emblaNode, emblaApi] = emblaCarouselVue({
+ ...opts,
+ axis: orientation === 'horizontal' ? 'x' : 'y',
+ }, plugins)
+
+ function scrollPrev() {
+ emblaApi.value?.scrollPrev()
+ }
+ function scrollNext() {
+ emblaApi.value?.scrollNext()
+ }
+
+ const canScrollNext = ref(true)
+ const canScrollPrev = ref(true)
+
+ function onSelect(api: CarouselApi) {
+ canScrollNext.value = api.canScrollNext()
+ canScrollPrev.value = api.canScrollPrev()
+ }
+
+ onMounted(() => {
+ if (!emblaApi.value)
+ return
+
+ emblaApi.value?.on('init', onSelect)
+ emblaApi.value?.on('reInit', onSelect)
+ emblaApi.value?.on('select', onSelect)
+
+ emits('init-api', emblaApi.value)
+ })
+
+ return { carouselRef: emblaNode, carouselApi: emblaApi, canScrollPrev, canScrollNext, scrollPrev, scrollNext, orientation }
+ },
+)
+
+function useCarousel() {
+ const carouselState = useInjectCarousel()
+
+ if (!carouselState)
+ throw new Error('useCarousel must be used within a ')
+
+ return carouselState
+}
+
+export { useCarousel, useProvideCarousel }
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselApi.vue b/apps/www/src/lib/registry/new-york/example/CarouselApi.vue
new file mode 100644
index 00000000..cf3d838d
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselApi.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
+ Slide {{ current }} of {{ totalCount }}
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselDemo.vue b/apps/www/src/lib/registry/new-york/example/CarouselDemo.vue
new file mode 100644
index 00000000..0b33bc75
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselDemo.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselOrientation.vue b/apps/www/src/lib/registry/new-york/example/CarouselOrientation.vue
new file mode 100644
index 00000000..ab1cc66a
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselOrientation.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselPlugin.vue b/apps/www/src/lib/registry/new-york/example/CarouselPlugin.vue
new file mode 100644
index 00000000..9c2202f5
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselPlugin.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselSize.vue b/apps/www/src/lib/registry/new-york/example/CarouselSize.vue
new file mode 100644
index 00000000..59602774
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselSize.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CarouselSpacing.vue b/apps/www/src/lib/registry/new-york/example/CarouselSpacing.vue
new file mode 100644
index 00000000..d7675c99
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/example/CarouselSpacing.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/example/CommandDialogDemo.vue b/apps/www/src/lib/registry/new-york/example/CommandDialogDemo.vue
index e8b4e11a..f5e1beb1 100644
--- a/apps/www/src/lib/registry/new-york/example/CommandDialogDemo.vue
+++ b/apps/www/src/lib/registry/new-york/example/CommandDialogDemo.vue
@@ -14,17 +14,22 @@ import {
const open = ref(false)
-const keys = useMagicKeys()
-const CmdJ = keys['Cmd+J']
+const { Meta_J, Ctrl_J } = useMagicKeys({
+ passive: false,
+ onEventFired(e) {
+ if (e.key === 'j' && (e.metaKey || e.ctrlKey))
+ e.preventDefault()
+ },
+})
+
+watch([Meta_J, Ctrl_J], (v) => {
+ if (v[0] || v[1])
+ handleOpenChange()
+})
function handleOpenChange() {
open.value = !open.value
}
-
-watch(CmdJ, (v) => {
- if (v)
- handleOpenChange()
-})
@@ -37,7 +42,7 @@ watch(CmdJ, (v) => {
⌘ J
-
+
No results found.
diff --git a/apps/www/src/lib/registry/new-york/ui/calendar/Calendar.vue b/apps/www/src/lib/registry/new-york/ui/calendar/Calendar.vue
index 83eb965f..580e6097 100644
--- a/apps/www/src/lib/registry/new-york/ui/calendar/Calendar.vue
+++ b/apps/www/src/lib/registry/new-york/ui/calendar/Calendar.vue
@@ -117,8 +117,20 @@ onMounted(async () => {
.calendar .vc-day:has(.vc-highlights) {
@apply bg-accent first:rounded-l-md last:rounded-r-md overflow-hidden;
}
+.calendar .vc-day.is-today:not(:has(.vc-day-layer)) {
+ @apply bg-secondary rounded-md;
+}
+.calendar .vc-day:has(.vc-highlight-base-start) {
+ @apply rounded-l-md;
+}
+.calendar .vc-day:has(.vc-highlight-base-end) {
+ @apply rounded-r-md;
+}
+.calendar .vc-day:has(.vc-highlight-bg-outline):not(:has(.vc-highlight-base-start)):not(:has(.vc-highlight-base-end)) {
+ @apply rounded-md;
+}
.calendar .vc-day-content {
- @apply text-center text-sm p-0 relative focus-within:relative focus-within:z-20 inline-flex items-center justify-center ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-8 w-8 font-normal aria-selected:opacity-100 select-none;
+ @apply text-center text-sm p-0 relative focus-within:relative focus-within:z-20 inline-flex items-center justify-center ring-offset-background hover:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:bg-accent hover:text-accent-foreground h-8 w-8 font-normal aria-selected:opacity-100 select-none;
}
.calendar .vc-day-content:not(.vc-highlight-content-light) {
@apply rounded-md;
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/Carousel.vue b/apps/www/src/lib/registry/new-york/ui/carousel/Carousel.vue
new file mode 100644
index 00000000..c88d61ad
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/Carousel.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/CarouselContent.vue b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselContent.vue
new file mode 100644
index 00000000..87f0e308
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselContent.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/CarouselItem.vue b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselItem.vue
new file mode 100644
index 00000000..801e5c16
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselItem.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/CarouselNext.vue b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselNext.vue
new file mode 100644
index 00000000..5bbb489e
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselNext.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/CarouselPrevious.vue b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselPrevious.vue
new file mode 100644
index 00000000..b39d820a
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/CarouselPrevious.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/index.ts b/apps/www/src/lib/registry/new-york/ui/carousel/index.ts
new file mode 100644
index 00000000..addfe036
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/index.ts
@@ -0,0 +1,10 @@
+export { default as Carousel } from './Carousel.vue'
+export { default as CarouselContent } from './CarouselContent.vue'
+export { default as CarouselItem } from './CarouselItem.vue'
+export { default as CarouselPrevious } from './CarouselPrevious.vue'
+export { default as CarouselNext } from './CarouselNext.vue'
+export { useCarousel } from './useCarousel'
+
+export type {
+ EmblaCarouselType as CarouselApi,
+} from 'embla-carousel'
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/interface.ts b/apps/www/src/lib/registry/new-york/ui/carousel/interface.ts
new file mode 100644
index 00000000..99c4f1a8
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/interface.ts
@@ -0,0 +1,20 @@
+import type {
+ EmblaCarouselType as CarouselApi,
+ EmblaOptionsType as CarouselOptions,
+ EmblaPluginType as CarouselPlugin,
+} from 'embla-carousel'
+import type { HTMLAttributes, Ref } from 'vue'
+
+export interface CarouselProps {
+ opts?: CarouselOptions | Ref
+ plugins?: CarouselPlugin[] | Ref
+ orientation?: 'horizontal' | 'vertical'
+}
+
+export interface CarouselEmits {
+ (e: 'init-api', payload: CarouselApi): void
+}
+
+export interface WithClassAsProps {
+ class?: HTMLAttributes['class']
+}
diff --git a/apps/www/src/lib/registry/new-york/ui/carousel/useCarousel.ts b/apps/www/src/lib/registry/new-york/ui/carousel/useCarousel.ts
new file mode 100644
index 00000000..85a97ebc
--- /dev/null
+++ b/apps/www/src/lib/registry/new-york/ui/carousel/useCarousel.ts
@@ -0,0 +1,57 @@
+import { createInjectionState } from '@vueuse/core'
+import emblaCarouselVue from 'embla-carousel-vue'
+import { onMounted, ref } from 'vue'
+import type {
+ EmblaCarouselType as CarouselApi,
+} from 'embla-carousel'
+import type { CarouselEmits, CarouselProps } from './interface'
+
+const [useProvideCarousel, useInjectCarousel] = createInjectionState(
+ ({
+ opts, orientation, plugins,
+ }: CarouselProps, emits: CarouselEmits) => {
+ const [emblaNode, emblaApi] = emblaCarouselVue({
+ ...opts,
+ axis: orientation === 'horizontal' ? 'x' : 'y',
+ }, plugins)
+
+ function scrollPrev() {
+ emblaApi.value?.scrollPrev()
+ }
+ function scrollNext() {
+ emblaApi.value?.scrollNext()
+ }
+
+ const canScrollNext = ref(true)
+ const canScrollPrev = ref(true)
+
+ function onSelect(api: CarouselApi) {
+ canScrollNext.value = api.canScrollNext()
+ canScrollPrev.value = api.canScrollPrev()
+ }
+
+ onMounted(() => {
+ if (!emblaApi.value)
+ return
+
+ emblaApi.value?.on('init', onSelect)
+ emblaApi.value?.on('reInit', onSelect)
+ emblaApi.value?.on('select', onSelect)
+
+ emits('init-api', emblaApi.value)
+ })
+
+ return { carouselRef: emblaNode, carouselApi: emblaApi, canScrollPrev, canScrollNext, scrollPrev, scrollNext, orientation }
+ },
+)
+
+function useCarousel() {
+ const carouselState = useInjectCarousel()
+
+ if (!carouselState)
+ throw new Error('useCarousel must be used within a ')
+
+ return carouselState
+}
+
+export { useCarousel, useProvideCarousel }
diff --git a/apps/www/src/lib/registry/new-york/ui/dialog/Dialog.vue b/apps/www/src/lib/registry/new-york/ui/dialog/Dialog.vue
index 65d92c86..a04c0262 100644
--- a/apps/www/src/lib/registry/new-york/ui/dialog/Dialog.vue
+++ b/apps/www/src/lib/registry/new-york/ui/dialog/Dialog.vue
@@ -1,9 +1,14 @@
-
+
diff --git a/apps/www/src/lib/registry/registry.ts b/apps/www/src/lib/registry/registry.ts
index c7ed9caf..fad35f7d 100644
--- a/apps/www/src/lib/registry/registry.ts
+++ b/apps/www/src/lib/registry/registry.ts
@@ -8,6 +8,7 @@ const DEPENDENCIES = new Map([
['@vueuse/core', []],
['v-calendar', []],
['@tanstack/vue-table', []],
+ ['embla-carousel-vue', ['embla-carousel']],
['vee-validate', ['@vee-validate/zod', 'zod']],
])
// Some dependencies latest tag were not compatible with Vue3.
@@ -133,7 +134,7 @@ async function buildUIRegistry(componentPath: string, componentName: string) {
async function getDependencies(filename: string) {
const code = await readFile(filename, { encoding: 'utf8' })
- const parsed = parse(code)
+ const parsed = parse(code, { filename })
const registryDependencies = new Set()
const dependencies = new Set()
diff --git a/apps/www/src/public/registry/index.json b/apps/www/src/public/registry/index.json
index ac75677f..c2f5a4c8 100644
--- a/apps/www/src/public/registry/index.json
+++ b/apps/www/src/public/registry/index.json
@@ -130,6 +130,28 @@
],
"type": "components:ui"
},
+ {
+ "name": "carousel",
+ "dependencies": [
+ "embla-carousel-vue",
+ "embla-carousel"
+ ],
+ "registryDependencies": [
+ "utils",
+ "button"
+ ],
+ "files": [
+ "ui/carousel/Carousel.vue",
+ "ui/carousel/CarouselContent.vue",
+ "ui/carousel/CarouselItem.vue",
+ "ui/carousel/CarouselNext.vue",
+ "ui/carousel/CarouselPrevious.vue",
+ "ui/carousel/index.ts",
+ "ui/carousel/interface.ts",
+ "ui/carousel/useCarousel.ts"
+ ],
+ "type": "components:ui"
+ },
{
"name": "checkbox",
"dependencies": [],
diff --git a/apps/www/src/public/registry/styles/default/carousel.json b/apps/www/src/public/registry/styles/default/carousel.json
new file mode 100644
index 00000000..2f30eb8f
--- /dev/null
+++ b/apps/www/src/public/registry/styles/default/carousel.json
@@ -0,0 +1,46 @@
+{
+ "name": "carousel",
+ "dependencies": [
+ "embla-carousel-vue",
+ "embla-carousel"
+ ],
+ "registryDependencies": [
+ "utils",
+ "button"
+ ],
+ "files": [
+ {
+ "name": "Carousel.vue",
+ "content": "\n\n\n \n \n
\n \n"
+ },
+ {
+ "name": "CarouselContent.vue",
+ "content": "\n\n\n \n \n"
+ },
+ {
+ "name": "CarouselItem.vue",
+ "content": "\n\n\n \n \n
\n \n"
+ },
+ {
+ "name": "CarouselNext.vue",
+ "content": "\n\n\n \n \n \n \n \n \n"
+ },
+ {
+ "name": "CarouselPrevious.vue",
+ "content": "\n\n\n \n \n \n \n \n \n"
+ },
+ {
+ "name": "index.ts",
+ "content": "export { default as Carousel } from './Carousel.vue'\nexport { default as CarouselContent } from './CarouselContent.vue'\nexport { default as CarouselItem } from './CarouselItem.vue'\nexport { default as CarouselPrevious } from './CarouselPrevious.vue'\nexport { default as CarouselNext } from './CarouselNext.vue'\nexport { useCarousel } from './useCarousel'\n\nexport type {\n EmblaCarouselType as CarouselApi,\n} from 'embla-carousel'\n"
+ },
+ {
+ "name": "interface.ts",
+ "content": "import type {\n EmblaCarouselType as CarouselApi,\n EmblaOptionsType as CarouselOptions,\n EmblaPluginType as CarouselPlugin,\n} from 'embla-carousel'\nimport type { HTMLAttributes, Ref } from 'vue'\n\nexport interface CarouselProps {\n opts?: CarouselOptions | Ref\n plugins?: CarouselPlugin[] | Ref\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport interface CarouselEmits {\n (e: 'init-api', payload: CarouselApi): void\n}\n\nexport interface WithClassAsProps {\n class?: HTMLAttributes['class']\n}\n"
+ },
+ {
+ "name": "useCarousel.ts",
+ "content": "import { createInjectionState } from '@vueuse/core'\nimport emblaCarouselVue from 'embla-carousel-vue'\nimport { onMounted, ref } from 'vue'\nimport type {\n EmblaCarouselType as CarouselApi,\n} from 'embla-carousel'\nimport type { CarouselEmits, CarouselProps } from './interface'\n\nconst [useProvideCarousel, useInjectCarousel] = createInjectionState(\n ({\n opts, orientation, plugins,\n }: CarouselProps, emits: CarouselEmits) => {\n const [emblaNode, emblaApi] = emblaCarouselVue({\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n }, plugins)\n\n function scrollPrev() {\n emblaApi.value?.scrollPrev()\n }\n function scrollNext() {\n emblaApi.value?.scrollNext()\n }\n\n const canScrollNext = ref(true)\n const canScrollPrev = ref(true)\n\n function onSelect(api: CarouselApi) {\n canScrollNext.value = api.canScrollNext()\n canScrollPrev.value = api.canScrollPrev()\n }\n\n onMounted(() => {\n if (!emblaApi.value)\n return\n\n emblaApi.value?.on('init', onSelect)\n emblaApi.value?.on('reInit', onSelect)\n emblaApi.value?.on('select', onSelect)\n\n emits('init-api', emblaApi.value)\n })\n\n return { carouselRef: emblaNode, carouselApi: emblaApi, canScrollPrev, canScrollNext, scrollPrev, scrollNext, orientation }\n },\n)\n\nfunction useCarousel() {\n const carouselState = useInjectCarousel()\n\n if (!carouselState)\n throw new Error('useCarousel must be used within a ')\n\n return carouselState\n}\n\nexport { useCarousel, useProvideCarousel }\n"
+ }
+ ],
+ "type": "components:ui"
+}
\ No newline at end of file
diff --git a/apps/www/src/public/registry/styles/default/dialog.json b/apps/www/src/public/registry/styles/default/dialog.json
index c9f9387f..76ff177f 100644
--- a/apps/www/src/public/registry/styles/default/dialog.json
+++ b/apps/www/src/public/registry/styles/default/dialog.json
@@ -7,7 +7,7 @@
"files": [
{
"name": "Dialog.vue",
- "content": "\n\n\n \n \n \n \n"
+ "content": "\n\n\n \n \n \n \n"
},
{
"name": "DialogClose.vue",
diff --git a/apps/www/src/public/registry/styles/default/input.json b/apps/www/src/public/registry/styles/default/input.json
index 4290905d..ae1e2ad9 100644
--- a/apps/www/src/public/registry/styles/default/input.json
+++ b/apps/www/src/public/registry/styles/default/input.json
@@ -9,7 +9,7 @@
"files": [
{
"name": "Input.vue",
- "content": "\n\n\n \n \n"
+ "content": "\n\n\n \n \n"
},
{
"name": "index.ts",
diff --git a/apps/www/src/public/registry/styles/new-york/carousel.json b/apps/www/src/public/registry/styles/new-york/carousel.json
new file mode 100644
index 00000000..f5d5bab1
--- /dev/null
+++ b/apps/www/src/public/registry/styles/new-york/carousel.json
@@ -0,0 +1,46 @@
+{
+ "name": "carousel",
+ "dependencies": [
+ "embla-carousel-vue",
+ "embla-carousel"
+ ],
+ "registryDependencies": [
+ "utils",
+ "button"
+ ],
+ "files": [
+ {
+ "name": "Carousel.vue",
+ "content": "\n\n\n \n \n
\n \n"
+ },
+ {
+ "name": "CarouselContent.vue",
+ "content": "\n\n\n \n \n"
+ },
+ {
+ "name": "CarouselItem.vue",
+ "content": "\n\n\n \n \n
\n \n"
+ },
+ {
+ "name": "CarouselNext.vue",
+ "content": "\n\n\n \n \n \n \n \n \n"
+ },
+ {
+ "name": "CarouselPrevious.vue",
+ "content": "\n\n\n \n \n \n \n \n \n"
+ },
+ {
+ "name": "index.ts",
+ "content": "export { default as Carousel } from './Carousel.vue'\nexport { default as CarouselContent } from './CarouselContent.vue'\nexport { default as CarouselItem } from './CarouselItem.vue'\nexport { default as CarouselPrevious } from './CarouselPrevious.vue'\nexport { default as CarouselNext } from './CarouselNext.vue'\nexport { useCarousel } from './useCarousel'\n\nexport type {\n EmblaCarouselType as CarouselApi,\n} from 'embla-carousel'\n"
+ },
+ {
+ "name": "interface.ts",
+ "content": "import type {\n EmblaCarouselType as CarouselApi,\n EmblaOptionsType as CarouselOptions,\n EmblaPluginType as CarouselPlugin,\n} from 'embla-carousel'\nimport type { HTMLAttributes, Ref } from 'vue'\n\nexport interface CarouselProps {\n opts?: CarouselOptions | Ref\n plugins?: CarouselPlugin[] | Ref\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport interface CarouselEmits {\n (e: 'init-api', payload: CarouselApi): void\n}\n\nexport interface WithClassAsProps {\n class?: HTMLAttributes['class']\n}\n"
+ },
+ {
+ "name": "useCarousel.ts",
+ "content": "import { createInjectionState } from '@vueuse/core'\nimport emblaCarouselVue from 'embla-carousel-vue'\nimport { onMounted, ref } from 'vue'\nimport type {\n EmblaCarouselType as CarouselApi,\n} from 'embla-carousel'\nimport type { CarouselEmits, CarouselProps } from './interface'\n\nconst [useProvideCarousel, useInjectCarousel] = createInjectionState(\n ({\n opts, orientation, plugins,\n }: CarouselProps, emits: CarouselEmits) => {\n const [emblaNode, emblaApi] = emblaCarouselVue({\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n }, plugins)\n\n function scrollPrev() {\n emblaApi.value?.scrollPrev()\n }\n function scrollNext() {\n emblaApi.value?.scrollNext()\n }\n\n const canScrollNext = ref(true)\n const canScrollPrev = ref(true)\n\n function onSelect(api: CarouselApi) {\n canScrollNext.value = api.canScrollNext()\n canScrollPrev.value = api.canScrollPrev()\n }\n\n onMounted(() => {\n if (!emblaApi.value)\n return\n\n emblaApi.value?.on('init', onSelect)\n emblaApi.value?.on('reInit', onSelect)\n emblaApi.value?.on('select', onSelect)\n\n emits('init-api', emblaApi.value)\n })\n\n return { carouselRef: emblaNode, carouselApi: emblaApi, canScrollPrev, canScrollNext, scrollPrev, scrollNext, orientation }\n },\n)\n\nfunction useCarousel() {\n const carouselState = useInjectCarousel()\n\n if (!carouselState)\n throw new Error('useCarousel must be used within a ')\n\n return carouselState\n}\n\nexport { useCarousel, useProvideCarousel }\n"
+ }
+ ],
+ "type": "components:ui"
+}
\ No newline at end of file
diff --git a/apps/www/src/public/registry/styles/new-york/dialog.json b/apps/www/src/public/registry/styles/new-york/dialog.json
index c7aade14..cb379fd1 100644
--- a/apps/www/src/public/registry/styles/new-york/dialog.json
+++ b/apps/www/src/public/registry/styles/new-york/dialog.json
@@ -7,7 +7,7 @@
"files": [
{
"name": "Dialog.vue",
- "content": "\n\n\n \n \n \n \n"
+ "content": "\n\n\n \n \n \n \n"
},
{
"name": "DialogClose.vue",
diff --git a/apps/www/src/public/registry/styles/new-york/input.json b/apps/www/src/public/registry/styles/new-york/input.json
index 26a6a806..fb565151 100644
--- a/apps/www/src/public/registry/styles/new-york/input.json
+++ b/apps/www/src/public/registry/styles/new-york/input.json
@@ -9,7 +9,7 @@
"files": [
{
"name": "Input.vue",
- "content": "\n\n\n \n \n"
+ "content": "\n\n\n \n \n"
},
{
"name": "index.ts",
diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts
index f66ed39b..a69082dd 100644
--- a/packages/cli/src/commands/init.ts
+++ b/packages/cli/src/commands/init.ts
@@ -138,7 +138,7 @@ export async function promptForConfig(
{
type: 'text',
name: 'tailwindCss',
- message: `Where is your ${highlight('Tailwind CSS')} file?`,
+ message: `Where is your ${highlight('global CSS')} file?`,
initial: (prev, values) => defaultConfig?.tailwind.css ?? TAILWIND_CSS_PATH[values.framework as 'vite' | 'nuxt' | 'laravel' | 'astro'],
},
{
diff --git a/packages/module/src/module.ts b/packages/module/src/module.ts
index 6b28b111..0900f31c 100644
--- a/packages/module/src/module.ts
+++ b/packages/module/src/module.ts
@@ -40,7 +40,7 @@ export default defineNuxtModule({
try {
readdirSync(resolve(COMPONENT_DIR_PATH))
.forEach(async (dir) => {
- const filePath = await resolvePath(join(COMPONENT_DIR_PATH, dir, 'index'), { extensions: ['.ts', 'js'] })
+ const filePath = await resolvePath(join(COMPONENT_DIR_PATH, dir, 'index'), { extensions: ['.ts', '.js'] })
const content = readFileSync(filePath, { encoding: 'utf8' })
const ast = parse(content)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c4c910f4..a85bd03a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -83,6 +83,15 @@ importers:
date-fns:
specifier: ^2.30.0
version: 2.30.0
+ embla-carousel:
+ specifier: 8.0.0-rc19
+ version: 8.0.0-rc19
+ embla-carousel-autoplay:
+ specifier: 8.0.0-rc19
+ version: 8.0.0-rc19(embla-carousel@8.0.0-rc19)
+ embla-carousel-vue:
+ specifier: 8.0.0-rc19
+ version: 8.0.0-rc19(vue@3.3.7)
lucide-vue-next:
specifier: ^0.276.0
version: 0.276.0(vue@3.3.7)
@@ -139,11 +148,11 @@ importers:
specifier: ^3.3.7
version: 3.3.7
'@vue/tsconfig':
- specifier: ^0.4.0
- version: 0.4.0
+ specifier: ^0.5.1
+ version: 0.5.1
autoprefixer:
specifier: ^10.4.16
- version: 10.4.16(postcss@8.4.31)
+ version: 10.4.16(postcss@8.4.33)
lodash.template:
specifier: ^4.5.0
version: 4.5.0
@@ -173,10 +182,10 @@ importers:
version: 4.5.0(@types/node@20.8.10)
vitepress:
specifier: ^1.0.0-rc.24
- version: 1.0.0-rc.24(@algolia/client-search@4.20.0)(@types/node@20.8.10)(postcss@8.4.31)(search-insights@2.8.3)(typescript@5.2.2)
+ version: 1.0.0-rc.24(@algolia/client-search@4.22.0)(@types/node@20.8.10)(postcss@8.4.33)(search-insights@2.13.0)(typescript@5.2.2)
vue-tsc:
- specifier: ^1.8.25
- version: 1.8.25(typescript@5.2.2)
+ specifier: ^1.8.27
+ version: 1.8.27(typescript@5.2.2)
packages/cli:
dependencies:
@@ -236,7 +245,7 @@ importers:
version: 2.4.2
radix-vue:
specifier: ^1.2.3
- version: 1.2.3(vue@3.3.9)
+ version: 1.2.3(vue@3.4.5)
recast:
specifier: ^0.23.4
version: 0.23.4
@@ -298,25 +307,25 @@ importers:
devDependencies:
'@nuxt/devtools':
specifier: latest
- version: 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.0)
+ version: 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.1)
'@nuxt/eslint-config':
specifier: ^0.2.0
- version: 0.2.0(eslint@8.54.0)
+ version: 0.2.0(eslint@8.56.0)
'@nuxt/module-builder':
specifier: ^0.5.4
- version: 0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.2.2)
+ version: 0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.3.3)
'@nuxt/schema':
specifier: ^3.8.2
version: 3.8.2(rollup@3.29.3)
'@nuxt/test-utils':
specifier: ^3.8.1
- version: 3.8.1(rollup@3.29.3)(vitest@0.33.0)(vue@3.3.9)
+ version: 3.8.1(rollup@3.29.3)(vitest@0.33.0)(vue@3.4.5)
'@types/node':
specifier: ^20.9.3
version: 20.10.1
nuxt:
specifier: ^3.8.2
- version: 3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vite@4.5.0)
+ version: 3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vite@4.5.1)
vitest:
specifier: ^0.33.0
version: 0.33.0
@@ -328,47 +337,47 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3):
+ /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0):
resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==}
dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3)
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
+ '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0)
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- search-insights
dev: true
- /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3):
+ /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0):
resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==}
peerDependencies:
search-insights: '>= 1 < 3'
dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
- search-insights: 2.8.3
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
+ search-insights: 2.13.0
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
dev: true
- /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0):
+ /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0):
resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
dependencies:
- '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
- '@algolia/client-search': 4.20.0
+ '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
+ '@algolia/client-search': 4.22.0
algoliasearch: 4.20.0
dev: true
- /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0):
+ /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0):
resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
dependencies:
- '@algolia/client-search': 4.20.0
+ '@algolia/client-search': 4.22.0
algoliasearch: 4.20.0
dev: true
@@ -382,6 +391,10 @@ packages:
resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==}
dev: true
+ /@algolia/cache-common@4.22.0:
+ resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==}
+ dev: true
+
/@algolia/cache-in-memory@4.20.0:
resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==}
dependencies:
@@ -412,6 +425,13 @@ packages:
'@algolia/transporter': 4.20.0
dev: true
+ /@algolia/client-common@4.22.0:
+ resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==}
+ dependencies:
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
+ dev: true
+
/@algolia/client-personalization@4.20.0:
resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==}
dependencies:
@@ -428,10 +448,22 @@ packages:
'@algolia/transporter': 4.20.0
dev: true
+ /@algolia/client-search@4.22.0:
+ resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==}
+ dependencies:
+ '@algolia/client-common': 4.22.0
+ '@algolia/requester-common': 4.22.0
+ '@algolia/transporter': 4.22.0
+ dev: true
+
/@algolia/logger-common@4.20.0:
resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==}
dev: true
+ /@algolia/logger-common@4.22.0:
+ resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==}
+ dev: true
+
/@algolia/logger-console@4.20.0:
resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==}
dependencies:
@@ -448,6 +480,10 @@ packages:
resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==}
dev: true
+ /@algolia/requester-common@4.22.0:
+ resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==}
+ dev: true
+
/@algolia/requester-node-http@4.20.0:
resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==}
dependencies:
@@ -462,6 +498,14 @@ packages:
'@algolia/requester-common': 4.20.0
dev: true
+ /@algolia/transporter@4.22.0:
+ resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==}
+ dependencies:
+ '@algolia/cache-common': 4.22.0
+ '@algolia/logger-common': 4.22.0
+ '@algolia/requester-common': 4.22.0
+ dev: true
+
/@alloc/quick-lru@5.2.0:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
@@ -890,6 +934,13 @@ packages:
dependencies:
'@babel/types': 7.23.5
+ /@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.5(@babel/core@7.23.5):
resolution: {integrity: sha512-6IsY8jOeWibsengGlWIezp7cuZEFzNlAghFpzh9wiZwhQ42/hRcPnY/QV9HJoKTlujupinSlnQPiEy/u2C1ZfQ==}
engines: {node: '>=6.9.0'}
@@ -1067,7 +1118,7 @@ packages:
'@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.5
+ '@babel/parser': 7.23.6
'@babel/types': 7.23.5
debug: 4.3.4
globals: 11.12.0
@@ -1090,6 +1141,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:
@@ -1274,10 +1333,10 @@ packages:
resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
dev: true
- /@docsearch/js@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.8.3):
+ /@docsearch/js@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0):
resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==}
dependencies:
- '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.8.3)
+ '@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0)
preact: 10.17.1
transitivePeerDependencies:
- '@algolia/client-search'
@@ -1287,7 +1346,7 @@ packages:
- search-insights
dev: true
- /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.8.3):
+ /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0):
resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==}
peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0'
@@ -1304,11 +1363,11 @@ packages:
search-insights:
optional: true
dependencies:
- '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3)
- '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)
+ '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)(search-insights@2.13.0)
+ '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.20.0)
'@docsearch/css': 3.5.2
algoliasearch: 4.20.0
- search-insights: 2.8.3
+ search-insights: 2.13.0
transitivePeerDependencies:
- '@algolia/client-search'
dev: true
@@ -2005,16 +2064,21 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
+ /@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.54.0
+ 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}
+ dev: true
+
/@eslint-community/regexpp@4.9.0:
resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -2037,13 +2101,30 @@ 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
+ 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.53.0:
resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@eslint/js@8.54.0:
- resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
+ /@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
@@ -2079,11 +2160,11 @@ packages:
- vue
dev: false
- /@floating-ui/vue@1.0.2(vue@3.3.9):
+ /@floating-ui/vue@1.0.2(vue@3.4.5):
resolution: {integrity: sha512-sImlAl9mAoCKZLNlwWz2P2ZMJIDlOEDXrRD6aD2sIHAka1LPC+nWtB+D3lPe7IE7FGWSbwBPTnlSdlABa3Fr0A==}
dependencies:
'@floating-ui/dom': 1.5.3
- vue-demi: 0.14.6(vue@3.3.9)
+ vue-demi: 0.14.6(vue@3.4.5)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -2467,7 +2548,7 @@ packages:
resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
dev: true
- /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.0):
+ /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.1):
resolution: {integrity: sha512-AXNeI1dBilNryCmwuTd3lU7CrPBhzUJ5ntTFiXw9MmFwe5QT3NOxDFOv0gX7z1DFnmBEmx5mPKWysCwh7htEnQ==}
peerDependencies:
nuxt: ^3.8.1
@@ -2476,8 +2557,8 @@ packages:
'@nuxt/kit': 3.8.2(rollup@3.29.3)
'@nuxt/schema': 3.8.2(rollup@3.29.3)
execa: 7.2.0
- nuxt: 3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vite@4.5.0)
- vite: 4.5.0(@types/node@20.10.1)
+ nuxt: 3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vite@4.5.1)
+ vite: 4.5.1(@types/node@20.10.1)
transitivePeerDependencies:
- rollup
- supports-color
@@ -2499,7 +2580,7 @@ packages:
semver: 7.5.4
dev: true
- /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.0):
+ /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.1):
resolution: {integrity: sha512-G1Oo9+TaOYzePIXpNX+Zzalw/rJyIZKZpZmXfzolPlOJSA1i0JKzZX6Z7iQHdqPwNJ8t+HnVaF4PghPIpo1kwg==}
hasBin: true
peerDependencies:
@@ -2507,7 +2588,7 @@ packages:
vite: '*'
dependencies:
'@antfu/utils': 0.7.6
- '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.0)
+ '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.1)
'@nuxt/devtools-wizard': 1.0.4
'@nuxt/kit': 3.8.2(rollup@3.29.3)
birpc: 0.2.14
@@ -2526,7 +2607,7 @@ packages:
local-pkg: 0.5.0
magicast: 0.3.2
nitropack: 2.8.1
- nuxt: 3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vite@4.5.0)
+ nuxt: 3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vite@4.5.1)
nypm: 0.3.3
ofetch: 1.3.3
ohash: 1.1.3
@@ -2540,9 +2621,9 @@ packages:
simple-git: 3.21.0
sirv: 2.0.3
unimport: 3.6.0(rollup@3.29.3)
- vite: 4.5.0(@types/node@20.10.1)
- vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.3)(vite@4.5.0)
- vite-plugin-vue-inspector: 4.0.0(vite@4.5.0)
+ vite: 4.5.1(@types/node@20.10.1)
+ vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.3)(vite@4.5.1)
+ vite-plugin-vue-inspector: 4.0.0(vite@4.5.1)
which: 3.0.1
ws: 8.14.2
transitivePeerDependencies:
@@ -2567,16 +2648,16 @@ packages:
- xml2js
dev: true
- /@nuxt/eslint-config@0.2.0(eslint@8.54.0):
+ /@nuxt/eslint-config@0.2.0(eslint@8.56.0):
resolution: {integrity: sha512-NeJX8TLcnNAjQFiDs3XhP+9CHKK8jaKsP7eUyCSrQdgY7nqWe7VJx64lwzx5FTT4cW3RHMEyH+Y0qzLGYYoa/A==}
peerDependencies:
eslint: ^8.48.0
dependencies:
'@rushstack/eslint-patch': 1.6.0
- '@typescript-eslint/eslint-plugin': 6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/parser': 6.7.3(eslint@8.54.0)(typescript@5.2.2)
- eslint: 8.54.0
- eslint-plugin-vue: 9.17.0(eslint@8.54.0)
+ '@typescript-eslint/eslint-plugin': 6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.56.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.7.3(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-plugin-vue: 9.17.0(eslint@8.56.0)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
@@ -2662,7 +2743,7 @@ packages:
- rollup
- supports-color
- /@nuxt/module-builder@0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.2.2):
+ /@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==}
hasBin: true
peerDependencies:
@@ -2675,7 +2756,7 @@ packages:
mlly: 1.4.2
nuxi: 3.10.0
pathe: 1.1.1
- unbuild: 2.0.0(typescript@5.2.2)
+ unbuild: 2.0.0(typescript@5.3.3)
transitivePeerDependencies:
- sass
- supports-color
@@ -2766,7 +2847,7 @@ packages:
- supports-color
dev: true
- /@nuxt/test-utils@3.8.1(rollup@3.29.3)(vitest@0.33.0)(vue@3.3.9):
+ /@nuxt/test-utils@3.8.1(rollup@3.29.3)(vitest@0.33.0)(vue@3.4.5):
resolution: {integrity: sha512-8ZQ+OZ7z5Sc5KG2aCvk0piheYSpGb2UQJMCWr8ORwEyZIw4awrkkwGzUY06e344E4StvJB8zxN122MEcFNOkow==}
engines: {node: ^14.18.0 || >=16.10.0}
peerDependencies:
@@ -2792,7 +2873,7 @@ packages:
pathe: 1.1.1
ufo: 1.3.2
vitest: 0.33.0
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.4.5(typescript@5.3.3)
transitivePeerDependencies:
- rollup
- supports-color
@@ -2801,7 +2882,7 @@ packages:
/@nuxt/ui-templates@1.3.1:
resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==}
- /@nuxt/vite-builder@3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vue@3.3.9):
+ /@nuxt/vite-builder@3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vue@3.3.9):
resolution: {integrity: sha512-l/lzDDTbd3M89BpmWqjhVLgLVRqfkKp0tyYgV5seJQjj3SX+IeqI7k6k8+dMEifdeO34jUajVWptNpITXQryyg==}
engines: {node: ^14.18.0 || >=16.10.0}
peerDependencies:
@@ -2838,8 +2919,8 @@ packages:
unplugin: 1.5.1
vite: 4.5.0(@types/node@20.10.1)
vite-node: 0.33.0(@types/node@20.10.1)
- vite-plugin-checker: 0.6.2(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0)
- vue: 3.3.9(typescript@5.2.2)
+ vite-plugin-checker: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0)
+ vue: 3.3.9(typescript@5.3.3)
vue-bundle-renderer: 2.0.0
transitivePeerDependencies:
- '@types/node'
@@ -3142,7 +3223,7 @@ packages:
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
- resolve: 1.22.6
+ resolve: 1.22.8
rollup: 3.29.3
dev: true
@@ -3160,7 +3241,7 @@ packages:
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
- resolve: 1.22.6
+ resolve: 1.22.8
rollup: 4.6.1
dev: true
@@ -3998,7 +4079,7 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/eslint-plugin@6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.54.0)(typescript@5.2.2):
+ /@typescript-eslint/eslint-plugin@6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.56.0)(typescript@5.2.2):
resolution: {integrity: sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@@ -4010,13 +4091,13 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.9.0
- '@typescript-eslint/parser': 6.7.3(eslint@8.54.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.7.3(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 6.7.3
- '@typescript-eslint/type-utils': 6.7.3(eslint@8.54.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 6.7.3(eslint@8.54.0)(typescript@5.2.2)
+ '@typescript-eslint/type-utils': 6.7.3(eslint@8.56.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.7.3(eslint@8.56.0)(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.7.3
debug: 4.3.4
- eslint: 8.54.0
+ eslint: 8.56.0
graphemer: 1.4.0
ignore: 5.2.4
natural-compare: 1.4.0
@@ -4048,7 +4129,7 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser@6.7.3(eslint@8.54.0)(typescript@5.2.2):
+ /@typescript-eslint/parser@6.7.3(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@@ -4060,11 +4141,11 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 6.7.3
'@typescript-eslint/types': 6.7.3
- '@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2)
+ '@typescript-eslint/typescript-estree': 6.7.3(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.7.3
debug: 4.3.4
- eslint: 8.54.0
- typescript: 5.2.2
+ eslint: 8.56.0
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -4105,7 +4186,7 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/type-utils@6.7.3(eslint@8.54.0)(typescript@5.2.2):
+ /@typescript-eslint/type-utils@6.7.3(eslint@8.56.0)(typescript@5.2.2):
resolution: {integrity: sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
@@ -4116,9 +4197,9 @@ packages:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2)
- '@typescript-eslint/utils': 6.7.3(eslint@8.54.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.7.3(eslint@8.56.0)(typescript@5.2.2)
debug: 4.3.4
- eslint: 8.54.0
+ eslint: 8.56.0
ts-api-utils: 1.0.3(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
@@ -4177,6 +4258,27 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/typescript-estree@6.7.3(typescript@5.3.3):
+ resolution: {integrity: sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.7.3
+ '@typescript-eslint/visitor-keys': 6.7.3
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -4216,19 +4318,19 @@ packages:
- typescript
dev: true
- /@typescript-eslint/utils@6.7.3(eslint@8.54.0)(typescript@5.2.2):
+ /@typescript-eslint/utils@6.7.3(eslint@8.56.0)(typescript@5.2.2):
resolution: {integrity: sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==}
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.13
'@types/semver': 7.5.3
'@typescript-eslint/scope-manager': 6.7.3
'@typescript-eslint/types': 6.7.3
'@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2)
- eslint: 8.54.0
+ eslint: 8.56.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@@ -4291,7 +4393,7 @@ packages:
'@unhead/shared': 1.8.8
hookable: 5.5.3
unhead: 1.8.8
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
dev: true
/@unovis/dagre-layout@0.8.8-2:
@@ -4411,7 +4513,7 @@ packages:
'@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5)
'@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5)
vite: 4.5.0(@types/node@20.10.1)
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
transitivePeerDependencies:
- supports-color
dev: true
@@ -4446,7 +4548,7 @@ packages:
vue: ^3.2.25
dependencies:
vite: 4.5.0(@types/node@20.10.1)
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
dev: true
/@vitest/expect@0.33.0:
@@ -4582,7 +4684,7 @@ packages:
ast-kit: 0.11.2(rollup@3.29.3)
local-pkg: 0.5.0
magic-string-ast: 0.3.0
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
transitivePeerDependencies:
- rollup
dev: true
@@ -4644,6 +4746,16 @@ packages:
'@vue/shared': 3.3.9
estree-walker: 2.0.2
source-map-js: 1.0.2
+ dev: true
+
+ /@vue/compiler-core@3.4.5:
+ resolution: {integrity: sha512-Daka7P1z2AgKjzuueWXhwzIsKu0NkLB6vGbNVEV2iJ8GJTrzraZo/Sk4GWCMRtd/qVi3zwnk+Owbd/xSZbwHtQ==}
+ dependencies:
+ '@babel/parser': 7.23.6
+ '@vue/shared': 3.4.5
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.0.2
/@vue/compiler-dom@3.3.7:
resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==}
@@ -4656,6 +4768,13 @@ packages:
dependencies:
'@vue/compiler-core': 3.3.9
'@vue/shared': 3.3.9
+ dev: true
+
+ /@vue/compiler-dom@3.4.5:
+ resolution: {integrity: sha512-J8YlxknJVd90SXFJ4HwGANSAXsx5I0lK30sO/zvYV7s5gXf7gZR7r/1BmZ2ju7RGH1lnc6bpBc6nL61yW+PsAQ==}
+ dependencies:
+ '@vue/compiler-core': 3.4.5
+ '@vue/shared': 3.4.5
/@vue/compiler-sfc@3.3.7:
resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==}
@@ -4684,6 +4803,20 @@ packages:
magic-string: 0.30.5
postcss: 8.4.31
source-map-js: 1.0.2
+ dev: true
+
+ /@vue/compiler-sfc@3.4.5:
+ resolution: {integrity: sha512-jauvkDuSSUbP0ebhfNqljhShA90YEfX/0wZ+w40oZF43IjGyWYjqYaJbvMJwGOd+9+vODW6eSvnk28f0SGV7OQ==}
+ dependencies:
+ '@babel/parser': 7.23.6
+ '@vue/compiler-core': 3.4.5
+ '@vue/compiler-dom': 3.4.5
+ '@vue/compiler-ssr': 3.4.5
+ '@vue/shared': 3.4.5
+ estree-walker: 2.0.2
+ magic-string: 0.30.5
+ postcss: 8.4.33
+ source-map-js: 1.0.2
/@vue/compiler-ssr@3.3.7:
resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==}
@@ -4696,12 +4829,19 @@ packages:
dependencies:
'@vue/compiler-dom': 3.3.9
'@vue/shared': 3.3.9
+ dev: true
+
+ /@vue/compiler-ssr@3.4.5:
+ resolution: {integrity: sha512-DDdEcDzj2lWTMfUMMtEpLDhURai9LhM0zSZ219jCt7b2Vyl0/jy3keFgCPMitG0V1S1YG4Cmws3lWHWdxHQOpg==}
+ dependencies:
+ '@vue/compiler-dom': 3.4.5
+ '@vue/shared': 3.4.5
/@vue/devtools-api@6.5.1:
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
- /@vue/language-core@1.8.25(typescript@5.2.2):
- resolution: {integrity: sha512-NJk/5DnAZlpvXX8BdWmHI45bWGLViUaS3R/RMrmFSvFMSbJKuEODpM4kR0F0Ofv5SFzCWuNiMhxameWpVdQsnA==}
+ /@vue/language-core@1.8.27(typescript@5.2.2):
+ resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -4710,8 +4850,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.5
+ '@vue/shared': 3.4.5
computeds: 0.0.1
minimatch: 9.0.3
muggle-string: 0.3.1
@@ -4732,11 +4872,12 @@ packages:
/@vue/reactivity-transform@3.3.9:
resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==}
dependencies:
- '@babel/parser': 7.23.5
+ '@babel/parser': 7.23.6
'@vue/compiler-core': 3.3.9
'@vue/shared': 3.3.9
estree-walker: 2.0.2
magic-string: 0.30.5
+ dev: true
/@vue/reactivity@3.3.7:
resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==}
@@ -4747,6 +4888,12 @@ packages:
resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==}
dependencies:
'@vue/shared': 3.3.9
+ dev: true
+
+ /@vue/reactivity@3.4.5:
+ resolution: {integrity: sha512-BcWkKvjdvqJwb7BhhFkXPLDCecX4d4a6GATvCduJQDLv21PkPowAE5GKuIE5p6RC07/Lp9FMkkq4AYCTVF5KlQ==}
+ dependencies:
+ '@vue/shared': 3.4.5
/@vue/runtime-core@3.3.7:
resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==}
@@ -4759,6 +4906,13 @@ packages:
dependencies:
'@vue/reactivity': 3.3.9
'@vue/shared': 3.3.9
+ dev: true
+
+ /@vue/runtime-core@3.4.5:
+ resolution: {integrity: sha512-wh9ELIOQKeWT9SaUPdLrsxRkZv14jp+SJm9aiQGWio+/MWNM3Lib0wE6CoKEqQ9+SCYyGjDBhTOTtO47kCgbkg==}
+ dependencies:
+ '@vue/reactivity': 3.4.5
+ '@vue/shared': 3.4.5
/@vue/runtime-dom@3.3.7:
resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==}
@@ -4773,6 +4927,14 @@ packages:
'@vue/runtime-core': 3.3.9
'@vue/shared': 3.3.9
csstype: 3.1.2
+ dev: true
+
+ /@vue/runtime-dom@3.4.5:
+ resolution: {integrity: sha512-n5ewvOjyG3IEpqGBahdPXODFSpVlSz3H4LF76Sx0XAqpIOqyJ5bIb2PrdYuH2ogBMAQPh+o5tnoH4nJpBr8U0Q==}
+ dependencies:
+ '@vue/runtime-core': 3.4.5
+ '@vue/shared': 3.4.5
+ csstype: 3.1.3
/@vue/server-renderer@3.3.7(vue@3.3.7):
resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==}
@@ -4790,16 +4952,30 @@ packages:
dependencies:
'@vue/compiler-ssr': 3.3.9
'@vue/shared': 3.3.9
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
+ dev: true
+
+ /@vue/server-renderer@3.4.5(vue@3.4.5):
+ resolution: {integrity: sha512-jOFc/VE87yvifQpNju12VcqimH8pBLxdcT+t3xMeiED1K6DfH9SORyhFEoZlW5TG2Vwfn3Ul5KE+1aC99xnSBg==}
+ peerDependencies:
+ vue: 3.4.5
+ dependencies:
+ '@vue/compiler-ssr': 3.4.5
+ '@vue/shared': 3.4.5
+ vue: 3.4.5(typescript@5.2.2)
/@vue/shared@3.3.7:
resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==}
/@vue/shared@3.3.9:
resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==}
+ dev: true
- /@vue/tsconfig@0.4.0:
- resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==}
+ /@vue/shared@3.4.5:
+ resolution: {integrity: sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==}
+
+ /@vue/tsconfig@0.5.1:
+ resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
dev: true
/@vuedx/compiler-sfc@0.7.1:
@@ -5191,7 +5367,7 @@ packages:
resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==}
engines: {node: '>=16.14.0'}
dependencies:
- '@babel/parser': 7.23.0
+ '@babel/parser': 7.23.6
'@rollup/pluginutils': 5.1.0(rollup@3.29.3)
pathe: 1.1.1
transitivePeerDependencies:
@@ -5202,7 +5378,7 @@ packages:
resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==}
engines: {node: '>=16.14.0'}
dependencies:
- '@babel/parser': 7.23.0
+ '@babel/parser': 7.23.6
'@rollup/pluginutils': 5.0.4(rollup@3.29.3)
pathe: 1.1.1
transitivePeerDependencies:
@@ -5250,6 +5426,22 @@ packages:
postcss-value-parser: 4.2.0
dev: true
+ /autoprefixer@10.4.16(postcss@8.4.33):
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.0
+ caniuse-lite: 1.0.30001540
+ fraction.js: 4.3.6
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.33
+ postcss-value-parser: 4.2.0
+ dev: true
+
/available-typed-arrays@1.0.5:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
@@ -5275,7 +5467,7 @@ packages:
dependencies:
'@babel/runtime': 7.23.1
cosmiconfig: 7.1.0
- resolve: 1.22.6
+ resolve: 1.22.8
dev: false
/balanced-match@1.0.2:
@@ -5568,7 +5760,7 @@ packages:
/call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
get-intrinsic: 1.2.1
dev: false
@@ -6229,6 +6421,9 @@ packages:
/csstype@3.1.2:
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
/cwd@0.9.1:
resolution: {integrity: sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==}
engines: {node: '>=0.8'}
@@ -6895,6 +7090,36 @@ packages:
resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==}
dev: false
+ /embla-carousel-autoplay@8.0.0-rc19(embla-carousel@8.0.0-rc19):
+ resolution: {integrity: sha512-c1pxsGHuWbYD3outH5y4L+kzg15smyHKFIDmXLaXlI6rCiizzf6hWMW0ZgxJLV4y4nUwDrYhM6TtzxvvOcsfUw==}
+ peerDependencies:
+ embla-carousel: 8.0.0-rc19
+ dependencies:
+ embla-carousel: 8.0.0-rc19
+ dev: false
+
+ /embla-carousel-reactive-utils@8.0.0-rc19(embla-carousel@8.0.0-rc19):
+ resolution: {integrity: sha512-ed9NppY0OxTtrSIwTCYNcMLlQfSNcNy8Zsw8uIG0te3qrhvQ2ePPsbcElK2SRAV8VMU6G7JQweQIb6amzYMDXA==}
+ peerDependencies:
+ embla-carousel: 8.0.0-rc19
+ dependencies:
+ embla-carousel: 8.0.0-rc19
+ dev: false
+
+ /embla-carousel-vue@8.0.0-rc19(vue@3.3.7):
+ resolution: {integrity: sha512-dqkmatB7/WNXHEwFGtQNpYT8TWnE6KRcVBfnPTswBba8I33RdBRuj0CqRHem02dlIS1ySgS9sBVVdDXe+6IGKQ==}
+ peerDependencies:
+ vue: ^3.2.37
+ dependencies:
+ embla-carousel: 8.0.0-rc19
+ embla-carousel-reactive-utils: 8.0.0-rc19(embla-carousel@8.0.0-rc19)
+ vue: 3.3.7(typescript@5.2.2)
+ dev: false
+
+ /embla-carousel@8.0.0-rc19:
+ resolution: {integrity: sha512-PAChVyYoVZo8subkBN8LjZ7+0vk4CmVvMnxH0Y2ux76VUEUBl1wk5xDo8+MUhH5MXU6ZrgkBpMe++bKob1Z+2g==}
+ dev: false
+
/emoji-regex@10.2.1:
resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
dev: false
@@ -6942,7 +7167,6 @@ 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==}
@@ -7103,8 +7327,8 @@ packages:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
debug: 3.2.7
- is-core-module: 2.13.0
- resolve: 1.22.6
+ is-core-module: 2.13.1
+ resolve: 1.22.8
transitivePeerDependencies:
- supports-color
dev: true
@@ -7190,7 +7414,7 @@ packages:
get-tsconfig: 4.7.2
is-glob: 4.0.3
minimatch: 3.1.2
- resolve: 1.22.6
+ resolve: 1.22.8
semver: 7.5.4
transitivePeerDependencies:
- '@typescript-eslint/parser'
@@ -7353,19 +7577,19 @@ packages:
- supports-color
dev: true
- /eslint-plugin-vue@9.17.0(eslint@8.54.0):
+ /eslint-plugin-vue@9.17.0(eslint@8.56.0):
resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==}
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
+ '@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.1(eslint@8.54.0)
+ vue-eslint-parser: 9.3.1(eslint@8.56.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
@@ -7459,15 +7683,15 @@ packages:
- supports-color
dev: true
- /eslint@8.54.0:
- resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
+ /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.54.0)
- '@eslint-community/regexpp': 4.9.0
- '@eslint/eslintrc': 2.1.3
- '@eslint/js': 8.54.0
+ '@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
@@ -7487,7 +7711,7 @@ packages:
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.22.0
+ globals: 13.24.0
graphemer: 1.4.0
ignore: 5.3.0
imurmurhash: 0.1.4
@@ -7931,8 +8155,8 @@ packages:
requiresBuild: true
optional: true
- /function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
/gauge@3.0.2:
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
@@ -7992,7 +8216,7 @@ packages:
/get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
has: 1.0.3
has-proto: 1.0.1
has-symbols: 1.0.3
@@ -8219,6 +8443,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
+
/globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -8353,11 +8584,17 @@ packages:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
/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==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+
/he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
@@ -8715,6 +8952,11 @@ packages:
dependencies:
has: 1.0.3
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.0
+
/is-decimal@1.0.4:
resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
dev: true
@@ -9813,7 +10055,7 @@ packages:
hasBin: true
dev: false
- /mkdist@1.4.0(typescript@5.2.2):
+ /mkdist@1.4.0(typescript@5.3.3):
resolution: {integrity: sha512-LzzdzWDx6cWWPd8saIoO+kT5jnbijfeDaE6jZfmCYEi3YL2aJSyF23/tCFee/mDuh/ek1UQeSYdLeSa6oesdiw==}
hasBin: true
peerDependencies:
@@ -9838,7 +10080,7 @@ packages:
pathe: 1.1.1
postcss: 8.4.31
postcss-nested: 6.0.1(postcss@8.4.31)
- typescript: 5.2.2
+ typescript: 5.3.3
dev: true
/mlly@1.4.2:
@@ -9906,6 +10148,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
/nanoid@4.0.2:
resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
engines: {node: ^14 || ^16 || >=18}
@@ -10123,7 +10370,7 @@ packages:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
dependencies:
hosted-git-info: 2.8.9
- resolve: 1.22.6
+ resolve: 1.22.8
semver: 5.7.2
validate-npm-package-license: 3.0.4
@@ -10132,7 +10379,7 @@ packages:
engines: {node: '>=10'}
dependencies:
hosted-git-info: 4.1.0
- is-core-module: 2.13.0
+ is-core-module: 2.13.1
semver: 7.5.4
validate-npm-package-license: 3.0.4
dev: true
@@ -10142,7 +10389,7 @@ packages:
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
hosted-git-info: 7.0.1
- is-core-module: 2.13.0
+ is-core-module: 2.13.1
semver: 7.5.4
validate-npm-package-license: 3.0.4
dev: true
@@ -10286,7 +10533,7 @@ packages:
fsevents: 2.3.3
dev: true
- /nuxt@3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vite@4.5.0):
+ /nuxt@3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vite@4.5.1):
resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==}
engines: {node: ^14.18.0 || >=16.10.0}
hasBin: true
@@ -10300,12 +10547,12 @@ packages:
optional: true
dependencies:
'@nuxt/devalue': 2.0.2
- '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.0)
+ '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.3)(vite@4.5.1)
'@nuxt/kit': 3.8.2(rollup@3.29.3)
'@nuxt/schema': 3.8.2(rollup@3.29.3)
'@nuxt/telemetry': 2.5.3(rollup@3.29.3)
'@nuxt/ui-templates': 1.3.1
- '@nuxt/vite-builder': 3.8.2(@types/node@20.10.1)(eslint@8.54.0)(rollup@3.29.3)(typescript@5.2.2)(vue@3.3.9)
+ '@nuxt/vite-builder': 3.8.2(@types/node@20.10.1)(eslint@8.56.0)(rollup@3.29.3)(typescript@5.3.3)(vue@3.3.9)
'@types/node': 20.10.1
'@unhead/dom': 1.8.8
'@unhead/ssr': 1.8.8
@@ -10351,7 +10598,7 @@ packages:
unplugin: 1.5.1
unplugin-vue-router: 0.7.0(rollup@3.29.3)(vue-router@4.2.5)(vue@3.3.9)
untyped: 1.4.0
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(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)
@@ -11232,6 +11479,14 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
+ /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
+
/potpack@1.0.2:
resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
dev: false
@@ -11382,11 +11637,11 @@ packages:
resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
dev: false
- /radix-vue@1.2.3(vue@3.3.9):
+ /radix-vue@1.2.3(vue@3.4.5):
resolution: {integrity: sha512-iR4D3SoIoCzKeCldxwxjLv0roGBZNSKAxE5/CgB8V1P7Mk7RtVhnFmOIWL/Z3XNzR9XfU03s8FZLIs+1LCEXnQ==}
dependencies:
'@floating-ui/dom': 1.5.3
- '@floating-ui/vue': 1.0.2(vue@3.3.9)
+ '@floating-ui/vue': 1.0.2(vue@3.4.5)
fast-deep-equal: 3.1.3
transitivePeerDependencies:
- '@vue/composition-api'
@@ -11639,6 +11894,14 @@ packages:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
/restore-cursor@2.0.0:
resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
engines: {node: '>=4'}
@@ -11696,7 +11959,7 @@ packages:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
dev: false
- /rollup-plugin-dts@6.1.0(rollup@3.29.3)(typescript@5.2.2):
+ /rollup-plugin-dts@6.1.0(rollup@3.29.3)(typescript@5.3.3):
resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
engines: {node: '>=16'}
peerDependencies:
@@ -11705,7 +11968,7 @@ packages:
dependencies:
magic-string: 0.30.5
rollup: 3.29.3
- typescript: 5.2.2
+ typescript: 5.3.3
optionalDependencies:
'@babel/code-frame': 7.23.5
dev: true
@@ -11751,6 +12014,14 @@ packages:
optionalDependencies:
fsevents: 2.3.3
+ /rollup@3.29.4:
+ resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
/rollup@4.6.1:
resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -11821,8 +12092,8 @@ packages:
/scule@1.1.0:
resolution: {integrity: sha512-vRUjqhyM/YWYzT+jsMk6tnl3NkY4A4soJ8uyh3O6Um+JXEQL9ozUCe7pqrxn3CSKokw0hw3nFStfskzpgYwR0g==}
- /search-insights@2.8.3:
- resolution: {integrity: sha512-W9rZfQ9XEfF0O6ntgQOTI7Txc8nkZrO4eJ/pTHK0Br6wWND2sPGPoWg+yGhdIW7wMbLqk8dc23IyEtLlNGpeNw==}
+ /search-insights@2.13.0:
+ resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
dev: true
/semver-diff@2.1.0:
@@ -12684,6 +12955,15 @@ packages:
typescript: 5.2.2
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'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.3.3
+ dev: true
+
/ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
@@ -12886,6 +13166,12 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+ dev: true
+
/ufo@1.3.0:
resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==}
dev: false
@@ -12897,7 +13183,7 @@ packages:
resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==}
dev: true
- /unbuild@2.0.0(typescript@5.2.2):
+ /unbuild@2.0.0(typescript@5.3.3):
resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==}
hasBin: true
peerDependencies:
@@ -12921,15 +13207,15 @@ packages:
hookable: 5.5.3
jiti: 1.20.0
magic-string: 0.30.5
- mkdist: 1.4.0(typescript@5.2.2)
+ mkdist: 1.4.0(typescript@5.3.3)
mlly: 1.4.2
pathe: 1.1.1
pkg-types: 1.0.3
pretty-bytes: 6.1.1
rollup: 3.29.3
- rollup-plugin-dts: 6.1.0(rollup@3.29.3)(typescript@5.2.2)
+ rollup-plugin-dts: 6.1.0(rollup@3.29.3)(typescript@5.3.3)
scule: 1.0.0
- typescript: 5.2.2
+ typescript: 5.3.3
untyped: 1.4.0
transitivePeerDependencies:
- sass
@@ -13409,7 +13695,7 @@ packages:
- terser
dev: true
- /vite-plugin-checker@0.6.2(eslint@8.54.0)(typescript@5.2.2)(vite@4.5.0):
+ /vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@4.5.0):
resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==}
engines: {node: '>=14.16'}
peerDependencies:
@@ -13445,7 +13731,7 @@ packages:
chalk: 4.1.2
chokidar: 3.5.3
commander: 8.3.0
- eslint: 8.54.0
+ eslint: 8.56.0
fast-glob: 3.3.1
fs-extra: 11.1.1
lodash.debounce: 4.0.8
@@ -13454,7 +13740,7 @@ packages:
semver: 7.5.4
strip-ansi: 6.0.1
tiny-invariant: 1.3.1
- typescript: 5.2.2
+ typescript: 5.3.3
vite: 4.5.0(@types/node@20.10.1)
vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0
@@ -13462,7 +13748,7 @@ packages:
vscode-uri: 3.0.8
dev: true
- /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.3)(vite@4.5.0):
+ /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.3)(vite@4.5.1):
resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==}
engines: {node: '>=14'}
peerDependencies:
@@ -13481,13 +13767,13 @@ packages:
open: 9.1.0
picocolors: 1.0.0
sirv: 2.0.3
- vite: 4.5.0(@types/node@20.10.1)
+ vite: 4.5.1(@types/node@20.10.1)
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
@@ -13501,7 +13787,7 @@ packages:
'@vue/compiler-dom': 3.3.9
kolorist: 1.8.0
magic-string: 0.30.5
- vite: 4.5.0(@types/node@20.10.1)
+ vite: 4.5.1(@types/node@20.10.1)
transitivePeerDependencies:
- supports-color
dev: true
@@ -13630,7 +13916,43 @@ packages:
fsevents: 2.3.3
dev: true
- /vitepress@1.0.0-rc.24(@algolia/client-search@4.20.0)(@types/node@20.8.10)(postcss@8.4.31)(search-insights@2.8.3)(typescript@5.2.2):
+ /vite@4.5.1(@types/node@20.10.1):
+ 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.1
+ esbuild: 0.18.20
+ postcss: 8.4.33
+ rollup: 3.29.4
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vitepress@1.0.0-rc.24(@algolia/client-search@4.22.0)(@types/node@20.8.10)(postcss@8.4.33)(search-insights@2.13.0)(typescript@5.2.2):
resolution: {integrity: sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==}
hasBin: true
peerDependencies:
@@ -13643,7 +13965,7 @@ packages:
optional: true
dependencies:
'@docsearch/css': 3.5.2
- '@docsearch/js': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.8.3)
+ '@docsearch/js': 3.5.2(@algolia/client-search@4.22.0)(search-insights@2.13.0)
'@types/markdown-it': 13.0.5
'@vitejs/plugin-vue': 4.3.1(vite@4.5.0)(vue@3.3.7)
'@vue/devtools-api': 6.5.1
@@ -13652,7 +13974,7 @@ packages:
focus-trap: 7.5.4
mark.js: 8.11.1
minisearch: 6.1.0
- postcss: 8.4.31
+ postcss: 8.4.33
shiki: 0.14.5
vite: 4.5.0(@types/node@20.8.10)
vue: 3.3.7(typescript@5.2.2)
@@ -13891,7 +14213,7 @@ packages:
dependencies:
vue: 3.3.7(typescript@5.2.2)
- /vue-demi@0.14.6(vue@3.3.9):
+ /vue-demi@0.14.6(vue@3.4.5):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
hasBin: true
@@ -13903,7 +14225,7 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.4.5(typescript@5.2.2)
dev: false
/vue-devtools-stub@0.1.0:
@@ -13928,14 +14250,14 @@ packages:
- supports-color
dev: true
- /vue-eslint-parser@9.3.1(eslint@8.54.0):
+ /vue-eslint-parser@9.3.1(eslint@8.56.0):
resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4
- eslint: 8.54.0
+ eslint: 8.56.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
@@ -13952,7 +14274,7 @@ packages:
vue: ^3.2.0
dependencies:
'@vue/devtools-api': 6.5.1
- vue: 3.3.9(typescript@5.2.2)
+ vue: 3.3.9(typescript@5.3.3)
dev: true
/vue-screen-utils@1.0.0-beta.13(vue@3.3.7):
@@ -13970,14 +14292,14 @@ packages:
he: 1.2.0
dev: true
- /vue-tsc@1.8.25(typescript@5.2.2):
- resolution: {integrity: sha512-lHsRhDc/Y7LINvYhZ3pv4elflFADoEOo67vfClAfF2heVHpHmVquLSjojgCSIwzA4F0Pc4vowT/psXCYcfk+iQ==}
+ /vue-tsc@1.8.27(typescript@5.2.2):
+ resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==}
hasBin: true
peerDependencies:
typescript: '*'
dependencies:
'@volar/typescript': 1.11.1
- '@vue/language-core': 1.8.25(typescript@5.2.2)
+ '@vue/language-core': 1.8.27(typescript@5.2.2)
semver: 7.5.4
typescript: 5.2.2
dev: true
@@ -14006,7 +14328,7 @@ packages:
'@vue/shared': 3.3.7
typescript: 5.2.2
- /vue@3.3.9(typescript@5.2.2):
+ /vue@3.3.9(typescript@5.3.3):
resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==}
peerDependencies:
typescript: '*'
@@ -14019,8 +14341,40 @@ packages:
'@vue/runtime-dom': 3.3.9
'@vue/server-renderer': 3.3.9(vue@3.3.9)
'@vue/shared': 3.3.9
+ typescript: 5.3.3
+ dev: true
+
+ /vue@3.4.5(typescript@5.2.2):
+ resolution: {integrity: sha512-VH6nHFhLPjgu2oh5vEBXoNZxsGHuZNr3qf4PHClwJWw6IDqw6B3x+4J+ABdoZ0aJuT8Zi0zf3GpGlLQCrGWHrw==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': 3.4.5
+ '@vue/compiler-sfc': 3.4.5
+ '@vue/runtime-dom': 3.4.5
+ '@vue/server-renderer': 3.4.5(vue@3.4.5)
+ '@vue/shared': 3.4.5
typescript: 5.2.2
+ /vue@3.4.5(typescript@5.3.3):
+ resolution: {integrity: sha512-VH6nHFhLPjgu2oh5vEBXoNZxsGHuZNr3qf4PHClwJWw6IDqw6B3x+4J+ABdoZ0aJuT8Zi0zf3GpGlLQCrGWHrw==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': 3.4.5
+ '@vue/compiler-sfc': 3.4.5
+ '@vue/runtime-dom': 3.4.5
+ '@vue/server-renderer': 3.4.5(vue@3.4.5)
+ '@vue/shared': 3.4.5
+ typescript: 5.3.3
+ dev: true
+
/walk-up-path@3.0.1:
resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==}
dev: true