From bab52b7165fa17ec3ad7ce9457e776f9511c6021 Mon Sep 17 00:00:00 2001 From: AmmarKaraja Date: Sun, 21 Sep 2025 13:58:27 +0000 Subject: [PATCH 01/27] feat(preset-nuxt-ui): add Nuxt UI preset --- packages/playground/package.json | 1 + packages/preset-nuxt-ui/package.json | 32 + .../src/components/Checkbox.vue | 23 + .../preset-nuxt-ui/src/components/Columns.vue | 24 + .../src/components/ComboBox.vue | 28 + .../preset-nuxt-ui/src/components/Number.vue | 28 + .../src/components/RadioGroup.vue | 28 + .../src/components/Repeater.vue | 16 + .../preset-nuxt-ui/src/components/Select.vue | 26 + .../preset-nuxt-ui/src/components/Text.vue | 25 + .../src/components/Textarea.vue | 26 + .../src/components/schemaComponent.ts | 135 ++ packages/preset-nuxt-ui/tsconfig.json | 16 + packages/preset-nuxt-ui/vite.config.ts | 25 + pnpm-lock.yaml | 2033 +++++++++++++++-- 15 files changed, 2307 insertions(+), 159 deletions(-) create mode 100644 packages/preset-nuxt-ui/package.json create mode 100644 packages/preset-nuxt-ui/src/components/Checkbox.vue create mode 100644 packages/preset-nuxt-ui/src/components/Columns.vue create mode 100644 packages/preset-nuxt-ui/src/components/ComboBox.vue create mode 100644 packages/preset-nuxt-ui/src/components/Number.vue create mode 100644 packages/preset-nuxt-ui/src/components/RadioGroup.vue create mode 100644 packages/preset-nuxt-ui/src/components/Repeater.vue create mode 100644 packages/preset-nuxt-ui/src/components/Select.vue create mode 100644 packages/preset-nuxt-ui/src/components/Text.vue create mode 100644 packages/preset-nuxt-ui/src/components/Textarea.vue create mode 100644 packages/preset-nuxt-ui/src/components/schemaComponent.ts create mode 100644 packages/preset-nuxt-ui/tsconfig.json create mode 100644 packages/preset-nuxt-ui/vite.config.ts diff --git a/packages/playground/package.json b/packages/playground/package.json index 896e5c9..e0b73c1 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -14,6 +14,7 @@ "dependencies": { "@vueuse/core": "12.0.0", "former-ui": "workspace:*", + "preset-nuxt-ui": "workspace:*", "vue": "^3.5.13" }, "devDependencies": { diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json new file mode 100644 index 0000000..fd4dfe1 --- /dev/null +++ b/packages/preset-nuxt-ui/package.json @@ -0,0 +1,32 @@ +{ + "name": "preset-nuxt-ui", + "type": "module", + "exports": { + ".": { + "types": "./dist/schemaComponent.d.ts", + "import": "./dist/schemaComponent.js" + } + }, + "module": "./dist/schemaComponent.js", + "types": "./dist/schemaComponent.d.ts", + "files": ["dist"], + + "scripts": { + "build": "vite build", + "typecheck": "tsc -p tsconfig.json --noEmit" + }, + "peerDependencies": { + "@nuxt/ui": "^2.0.0", + "former-ui": ">=0.0.0", + "vue": "^3.3.0" + }, + "devDependencies": { + "@nuxt/ui": "^2.14.1", + "@vitejs/plugin-vue": "^5.0.0", + "former-ui": "workspace:*", + "typescript": "^5.7.2", + "vite": "^6.1.0", + "vite-plugin-dts": "^4.3.0", + "vue": "^3.5.0" + } +} diff --git a/packages/preset-nuxt-ui/src/components/Checkbox.vue b/packages/preset-nuxt-ui/src/components/Checkbox.vue new file mode 100644 index 0000000..6d62406 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Checkbox.vue @@ -0,0 +1,23 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Columns.vue b/packages/preset-nuxt-ui/src/components/Columns.vue new file mode 100644 index 0000000..4b081a2 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Columns.vue @@ -0,0 +1,24 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/ComboBox.vue b/packages/preset-nuxt-ui/src/components/ComboBox.vue new file mode 100644 index 0000000..81b022f --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/ComboBox.vue @@ -0,0 +1,28 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Number.vue b/packages/preset-nuxt-ui/src/components/Number.vue new file mode 100644 index 0000000..f2b1427 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Number.vue @@ -0,0 +1,28 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/RadioGroup.vue b/packages/preset-nuxt-ui/src/components/RadioGroup.vue new file mode 100644 index 0000000..a830202 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/RadioGroup.vue @@ -0,0 +1,28 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Repeater.vue b/packages/preset-nuxt-ui/src/components/Repeater.vue new file mode 100644 index 0000000..05f5e6f --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Repeater.vue @@ -0,0 +1,16 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Select.vue b/packages/preset-nuxt-ui/src/components/Select.vue new file mode 100644 index 0000000..16a5c9f --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Select.vue @@ -0,0 +1,26 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Text.vue b/packages/preset-nuxt-ui/src/components/Text.vue new file mode 100644 index 0000000..639739a --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Text.vue @@ -0,0 +1,25 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/Textarea.vue b/packages/preset-nuxt-ui/src/components/Textarea.vue new file mode 100644 index 0000000..1096a08 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Textarea.vue @@ -0,0 +1,26 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/schemaComponent.ts b/packages/preset-nuxt-ui/src/components/schemaComponent.ts new file mode 100644 index 0000000..fe22e58 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/schemaComponent.ts @@ -0,0 +1,135 @@ +import type { FormComponents, SchemaNode } from 'former-ui'; +import { markRaw } from 'vue'; + +import Checkbox from './Checkbox.vue'; +import Columns from './Columns.vue'; +import ComboBox from './ComboBox.vue'; +import Number from './Number.vue'; +import RadioGroup from './RadioGroup.vue'; +import Repeater from './Repeater.vue'; +import Select from './Select.vue'; +import Text from './Text.vue'; +import Textarea from './Textarea.vue'; + +type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean }; +const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true }; + +function commonSchema(opt: Partial = {}): SchemaNode[] { + const { name, label, help, required, placeholder } = { ...defaults, ...opt }; + const s: SchemaNode[] = []; + if (name) + s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }); + if (label) + s.push({ type: 'text', name: 'label', props: { label: 'Label' } }); + if (placeholder) + s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }); + if (help) + s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }); + if (required) + s.push({ type: 'checkbox', name: 'required', props: { label: 'Required' } }); + return s; +} + +export function schemaComponents(): FormComponents { + return { + text: { + label: 'Text', + component: markRaw(Text), + propsSchema: [ + ...commonSchema(), + { type: 'text', name: 'initialValue', props: { label: 'Initial value' } }, + ], + }, + textarea: { + label: 'Textarea', + component: markRaw(Textarea), + propsSchema: [ + ...commonSchema(), + { type: 'text', name: 'rows', props: { type: 'number', label: 'Rows', min: 1 } }, + { type: 'checkbox', name: 'autoresize', props: { label: 'Auto resize' } }, + ], + }, + number: { + label: 'Number', + component: markRaw(Number), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { type: 'text', name: 'min', props: { type: 'number', label: 'Min' } }, + { type: 'text', name: 'max', props: { type: 'number', label: 'Max' } }, + { type: 'text', name: 'step', props: { type: 'number', label: 'Step' } }, + ], + }, + checkbox: { + label: 'Checkbox', + component: markRaw(Checkbox), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { type: 'text', name: 'checkboxLabel', props: { label: 'Label next to box' } }, + ], + }, + select: { + label: 'Select', + component: markRaw(Select), + propsSchema: [ + ...commonSchema(), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Options' }, + }, + ], + }, + radio_group: { + label: 'Radio group', + component: markRaw(RadioGroup), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Options' }, + }, + ], + }, + combo_box: { + label: 'Combobox', + component: markRaw(ComboBox), + propsSchema: [ + ...commonSchema(), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Items' }, + }, + ], + }, + columns: { + label: 'Columns', + component: markRaw(Columns), + propsSchema: [ + ...commonSchema({ name: false, required: false, placeholder: false }), + { type: 'text', name: 'cols', props: { type: 'number', label: 'Columns', min: 1 } }, + ], + }, + repeater: { + label: 'Repeater', + component: markRaw(Repeater), + propsSchema: [ + ...commonSchema({ help: false, placeholder: false }), + { type: 'text', name: 'itemLabel', props: { label: 'Item label' } }, + ], + }, + }; +} diff --git a/packages/preset-nuxt-ui/tsconfig.json b/packages/preset-nuxt-ui/tsconfig.json new file mode 100644 index 0000000..df71cf1 --- /dev/null +++ b/packages/preset-nuxt-ui/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "composite": true, + "target": "ES2020", + "lib": ["ES2020"], + "rootDir": "src", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "declaration": true, + "emitDeclarationOnly": false, + "outDir": "dist", + "skipLibCheck": true + }, + "include": ["src/**/*.ts", "src/**/*.vue"] +} diff --git a/packages/preset-nuxt-ui/vite.config.ts b/packages/preset-nuxt-ui/vite.config.ts new file mode 100644 index 0000000..bf6a405 --- /dev/null +++ b/packages/preset-nuxt-ui/vite.config.ts @@ -0,0 +1,25 @@ +import { fileURLToPath, URL } from 'node:url'; +import vue from '@vitejs/plugin-vue'; +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; + +const entries = { + schemaComponent: fileURLToPath(new URL('./src/components/schemaComponent.ts', import.meta.url)), +}; + +export default defineConfig({ + plugins: [ + vue(), + dts({ entryRoot: 'src', outDir: 'dist', insertTypesEntry: true }), + ], + build: { + lib: { + entry: entries, + formats: ['es'], + fileName: (_fmt, name) => `${name}.js`, + }, + rollupOptions: { + external: ['vue', '@nuxt/ui', 'former-ui'], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a110e9..692fbc3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,13 +10,13 @@ importers: devDependencies: '@antfu/eslint-config': specifier: 3.11.2 - version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) + version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) eslint: specifier: 9.16.0 - version: 9.16.0(jiti@1.21.6) + version: 9.16.0(jiti@2.5.1) eslint-plugin-format: specifier: 0.1.3 - version: 0.1.3(eslint@9.16.0(jiti@1.21.6)) + version: 0.1.3(eslint@9.16.0(jiti@2.5.1)) packages/former: dependencies: @@ -35,7 +35,7 @@ importers: version: 22.10.1 '@vitejs/plugin-vue': specifier: 5.2.1 - version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vue/tsconfig': specifier: 0.7.0 version: 0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) @@ -53,13 +53,13 @@ importers: version: 5.7.2 vite: specifier: 6.1.6 - version: 6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1) + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) vite-plugin-css-injected-by-js: specifier: 3.5.2 - version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1)) + version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1)) + version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) vitest: specifier: 2.1.9 version: 2.1.9(@types/node@22.10.1) @@ -78,6 +78,9 @@ importers: former-ui: specifier: workspace:* version: link:../former + preset-nuxt-ui: + specifier: workspace:* + version: link:../preset-nuxt-ui vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) @@ -93,7 +96,7 @@ importers: version: 22.10.1 '@vitejs/plugin-vue': specifier: 5.2.1 - version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vue/tsconfig': specifier: 0.7.0 version: 0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) @@ -108,10 +111,10 @@ importers: version: 5.7.2 vite: specifier: 6.1.6 - version: 6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1) + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) vite-plugin-css-injected-by-js: specifier: 3.5.2 - version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1)) + version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) vitest: specifier: 2.1.9 version: 2.1.9(@types/node@22.10.1) @@ -119,6 +122,30 @@ importers: specifier: 3.0.7 version: 3.0.7(typescript@5.7.2) + packages/preset-nuxt-ui: + devDependencies: + '@nuxt/ui': + specifier: ^2.14.1 + version: 2.22.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + '@vitejs/plugin-vue': + specifier: ^5.0.0 + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + former-ui: + specifier: workspace:* + version: link:../former + typescript: + specifier: ^5.7.2 + version: 5.7.2 + vite: + specifier: ^6.1.0 + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + vite-plugin-dts: + specifier: ^4.3.0 + version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + vue: + specifier: ^3.5.0 + version: 3.5.13(typescript@5.7.2) + packages: '@alloc/quick-lru@5.2.0': @@ -174,9 +201,15 @@ packages: '@antfu/install-pkg@0.5.0': resolution: {integrity: sha512-dKnk2xlAyC7rvTkpkHmu+Qy/2Zc3Vm/l8PtNyIOGDBtXPY3kThfU4ORNEp3V7SXw5XSOb+tOJaUYpfquPzL/Tg==} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -204,6 +237,18 @@ packages: '@clack/prompts@0.8.2': resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==} + '@csstools/selector-resolve-nested@3.1.0': + resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^7.0.0 + '@dprint/formatter@0.3.0': resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==} @@ -562,6 +607,18 @@ packages: resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@headlessui/tailwindcss@0.2.2': + resolution: {integrity: sha512-xNe42KjdyA4kfUKLLPGzME9zkH7Q3rOZ5huFihWNWOQFxnItxPB3/67yBI8/qBfY8nwBRx5GHn4VprsoluVMGw==} + engines: {node: '>=10'} + peerDependencies: + tailwindcss: ^3.0 || ^4.0 + + '@headlessui/vue@1.7.23': + resolution: {integrity: sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==} + engines: {node: '>=10'} + peerDependencies: + vue: ^3.2.0 + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -582,6 +639,23 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} + '@iconify-json/heroicons@1.2.2': + resolution: {integrity: sha512-qoW4pXr5kTTL6juEjgTs83OJIwpePu7q1tdtKVEdj+i0zyyVHgg/dd9grsXJQnpTpBt6/VwNjrXBvFjRsKPENg==} + + '@iconify/collections@1.0.595': + resolution: {integrity: sha512-MPeWI5qXwC5aRxM8zOKLD6wzoj0YueBK3iXPJXoDWtFqAazjn/njlVzZ3K4tyx517kW4Rr/mQ/OCito3IDyTLg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + + '@iconify/vue@5.0.0': + resolution: {integrity: sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==} + peerDependencies: + vue: '>=3' + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -590,6 +664,9 @@ packages: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -601,9 +678,16 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@koa/router@12.0.2': + resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==} + engines: {node: '>= 12'} + '@microsoft/api-extractor-model@7.30.0': resolution: {integrity: sha512-26/LJZBrsWDKAkOWRiQbdVgcfd1F3nyJnAiJzsAgpouPk7LtOIj7PK9aJtBaw/pUXrkotEg27RrT+Jm/q0bbug==} @@ -629,6 +713,48 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nuxt/devtools-kit@2.6.3': + resolution: {integrity: sha512-cDmai3Ws6AbJlYy1p4CCwc718cfbqtAjXe6oEc6q03zoJnvX1PsvKUfmU+yuowfqTSR6DZRmH4SjCBWuMjgaKQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/icon@1.15.0': + resolution: {integrity: sha512-kA0rxqr1B601zNJNcOXera8CyYcxUCEcT7dXEC7rwAz71PRCN5emf7G656eKEQgtqrD4JSj6NQqWDgrmFcf/GQ==} + + '@nuxt/kit@3.19.2': + resolution: {integrity: sha512-+QiqO0WcIxsKLUqXdVn3m4rzTRm2fO9MZgd330utCAaagGmHsgiMJp67kE14boJEPutnikfz3qOmrzBnDIHUUg==} + engines: {node: '>=18.12.0'} + + '@nuxt/kit@4.1.2': + resolution: {integrity: sha512-P5q41xeEOa6ZQC0PvIP7TSBmOAMxXK4qihDcCbYIJq8RcVsEPbGZVlidmxE6EOw1ucSyodq9nbV31FAKwoL4NQ==} + engines: {node: '>=18.12.0'} + + '@nuxt/ui@2.22.3': + resolution: {integrity: sha512-895SAzqCCT5JAc1JQ8nAmmpwdKCJqArY8ifL/PNtD681FKSdXiSPxODGnpqpovM/ws6bvoRwglA7BtwAJ5ySBg==} + peerDependencies: + joi: ^17.13.0 + superstruct: ^2.0.0 + valibot: ^1.0.0 + yup: ^1.6.0 + zod: ^3.24.0 + peerDependenciesMeta: + joi: + optional: true + superstruct: + optional: true + valibot: + optional: true + yup: + optional: true + zod: + optional: true + + '@nuxtjs/color-mode@3.5.2': + resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} + + '@nuxtjs/tailwindcss@6.14.0': + resolution: {integrity: sha512-30RyDK++LrUVRgc2A85MktGWIZoRQgeQKjE4CjjD64OXNozyl+4ScHnnYgqVToMM6Ch2ZG2W4wV2J0EN6F0zkQ==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -637,6 +763,9 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} @@ -768,12 +897,43 @@ packages: '@rushstack/ts-command-line@4.23.1': resolution: {integrity: sha512-40jTmYoiu/xlIpkkRsVfENtBq4CW3R4azbL0Vmda+fMwHWqss6wwf/Cy/UJmMqIzpfYc2OTnjYP1ZLD3CmyeCA==} + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@stylistic/eslint-plugin@2.11.0': resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' + '@tailwindcss/aspect-ratio@0.4.2': + resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} + peerDependencies: + tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + + '@tailwindcss/container-queries@0.1.1': + resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} + peerDependencies: + tailwindcss: '>=3.2.0' + + '@tailwindcss/forms@0.5.10': + resolution: {integrity: sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' + + '@tailwindcss/typography@0.5.16': + resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + + '@tanstack/virtual-core@3.13.12': + resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} + + '@tanstack/vue-virtual@3.13.12': + resolution: {integrity: sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + '@tsconfig/node22@22.0.0': resolution: {integrity: sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==} @@ -813,6 +973,9 @@ packages: '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@typescript-eslint/eslint-plugin@8.16.0': resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -924,21 +1087,12 @@ packages: '@vitest/utils@2.1.9': resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} - '@volar/language-core@2.4.10': - resolution: {integrity: sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==} - '@volar/language-core@2.4.23': resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} - '@volar/source-map@2.4.10': - resolution: {integrity: sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==} - '@volar/source-map@2.4.23': resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} - '@volar/typescript@2.4.10': - resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} - '@volar/typescript@2.4.23': resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} @@ -1004,12 +1158,76 @@ packages: '@vueuse/core@12.0.0': resolution: {integrity: sha512-C12RukhXiJCbx4MGhjmd/gH52TjJsc3G0E0kQj/kb19H3Nt6n1CA4DRWuTdWWcaFRdlTe0npWDS942mvacvNBw==} + '@vueuse/core@13.9.0': + resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/integrations@13.9.0': + resolution: {integrity: sha512-SDobKBbPIOe0cVL7QxMzGkuUGHvWTdihi9zOrrWaWUgFKe15cwEcwfWmgrcNzjT6kHnNmWuTajPHoIzUjYNYYQ==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 || ^8 + vue: ^3.5.0 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/math@13.9.0': + resolution: {integrity: sha512-Qk2jqlaEGKwwe2/MBGtUd8nPpzoQPSQTfm2d30NPywjpYdpbI+WqOAE99MuSq9kIRoU7Xq3IYBtxMaLTy6lpsA==} + peerDependencies: + vue: ^3.5.0 + '@vueuse/metadata@12.0.0': resolution: {integrity: sha512-Yzimd1D3sjxTDOlF05HekU5aSGdKjxhuhRFHA7gDWLn57PRbBIh+SF5NmjhJ0WRgF3my7T8LBucyxdFJjIfRJQ==} + '@vueuse/metadata@13.9.0': + resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==} + '@vueuse/shared@12.0.0': resolution: {integrity: sha512-3i6qtcq2PIio5i/vVYidkkcgvmTjCqrf26u+Fd4LhnbBmIT6FN8y6q/GJERp8lfcB9zVEfjdV0Br0443qZuJpw==} + '@vueuse/shared@13.9.0': + resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==} + peerDependencies: + vue: ^3.5.0 + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1020,6 +1238,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -1088,6 +1311,13 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -1124,10 +1354,30 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + c12@3.3.0: + resolution: {integrity: sha512-K9ZkuyeJQeqLEyqldbYLG3wjqwpw4BVaAqvmxq3GYKK0b1A/yYQdIcJxkzAOWcNVWhJpRXAPfZFueekiY/L8Dw==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cache-content-type@1.0.1: + resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} + engines: {node: '>= 6.0.0'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1161,10 +1411,17 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + ci-info@4.1.0: resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} @@ -1173,6 +1430,10 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1184,6 +1445,10 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -1200,6 +1465,28 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + + cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + core-js-compat@3.39.0: resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} @@ -1207,6 +1494,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crossws@0.3.5: + resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1235,6 +1525,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -1242,13 +1541,37 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-equal@1.0.1: + resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -1262,9 +1585,20 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + dotenv@17.2.2: + resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + electron-to-chromium@1.5.67: resolution: {integrity: sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==} @@ -1274,6 +1608,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} @@ -1285,9 +1623,24 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + errx@0.1.0: + resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1302,6 +1655,9 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1517,10 +1873,17 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + expect-type@1.1.0: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} engines: {node: '>=12.0.0'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1540,6 +1903,15 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -1574,10 +1946,21 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1586,13 +1969,33 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + fuse.js@7.1.0: + resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==} + engines: {node: '>=10'} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1605,6 +2008,10 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -1617,16 +2024,35 @@ packages: resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} engines: {node: '>=18'} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + h3@1.15.4: + resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -1638,10 +2064,34 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + http-assert@1.5.0: + resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} + engines: {node: '>= 0.8'} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -1658,6 +2108,19 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -1673,6 +2136,11 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1681,6 +2149,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1689,6 +2161,18 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1699,12 +2183,19 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1744,9 +2235,42 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + keygrip@1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + knitwork@1.2.0: + resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + + koa-compose@4.1.0: + resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} + + koa-convert@2.0.0: + resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} + engines: {node: '>= 10'} + + koa-send@5.0.1: + resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} + engines: {node: '>= 8'} + + koa-static@5.0.0: + resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} + engines: {node: '>= 7.6.0'} + + koa@2.16.2: + resolution: {integrity: sha512-+CCssgnrWKx9aI3OeZwroa/ckG4JICxvIFnSiOUyl2Uv+UTI+xIw0FfFrWS7cQFpoePpr9o8csss7KzsTzNL8Q==} + engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} + kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -1765,6 +2289,10 @@ packages: resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -1773,6 +2301,12 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -1795,9 +2329,16 @@ packages: magic-string@0.30.14: resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} @@ -1831,10 +2372,21 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + micromark-core-commonmark@2.0.2: resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} @@ -1923,10 +2475,26 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -1944,6 +2512,9 @@ packages: mlly@1.7.3: resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1965,6 +2536,16 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + + node-mock-http@1.0.3: + resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -1979,9 +2560,18 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nypm@0.6.2: + resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -1990,6 +2580,27 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + only@0.0.2: + resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2020,6 +2631,9 @@ packages: package-manager-detector@0.2.5: resolution: {integrity: sha512-3dS7y28uua+UDbRCLBqltMBrbI+A5U2mI9YuxHRxIWYmLj3DwntEBmERYzIAQ4DMeuCUOBSak7dBHHoXKpOTYQ==} + package-manager-detector@1.3.0: + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2036,6 +2650,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -2043,10 +2661,18 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -2054,13 +2680,22 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + perfect-debounce@2.0.0: + resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2072,6 +2707,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -2083,10 +2722,20 @@ packages: pkg-types@1.2.1: resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} + portfinder@1.0.38: + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} + engines: {node: '>= 10.12'} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -2117,10 +2766,24 @@ packages: peerDependencies: postcss: ^8.2.14 + postcss-nesting@13.0.2: + resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} + engines: {node: '>=18'} + peerDependencies: + postcss: ^8.4 + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -2145,9 +2808,18 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} @@ -2163,6 +2835,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + refa@0.12.1: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2179,6 +2855,11 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true + replace-in-file@6.3.5: + resolution: {integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==} + engines: {node: '>=10'} + hasBin: true + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -2191,6 +2872,10 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-path@1.4.0: + resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} + engines: {node: '>= 0.8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -2210,10 +2895,20 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + scslre@0.3.0: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -2228,6 +2923,17 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2281,9 +2987,20 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -2304,6 +3021,10 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -2312,6 +3033,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -2337,11 +3061,26 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} + tailwind-config-viewer@2.0.4: + resolution: {integrity: sha512-icvcmdMmt9dphvas8wL40qttrHwAnW3QEN4ExJ2zICjwRsPj7gowd1cOceaWG3IfTuM/cTNGQcx+bsjMtmV+cw==} + engines: {node: '>=13'} + hasBin: true + peerDependencies: + tailwindcss: 1 || 2 || 2.0.1-compat || 3 + + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} + tailwindcss@3.4.16: resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} engines: {node: '>=14.0.0'} hasBin: true + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -2359,6 +3098,13 @@ packages: tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tinypool@1.0.2: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2375,6 +3121,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + toml-eslint-parser@0.10.0: resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2391,6 +3141,10 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsscmp@1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -2407,6 +3161,10 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -2420,9 +3178,22 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + unctx@2.4.1: + resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==} + undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + unimport@5.2.0: + resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} + engines: {node: '>=18.12.0'} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -2439,6 +3210,22 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unplugin-utils@0.2.5: + resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} + engines: {node: '>=18.12.0'} + + unplugin@2.3.10: + resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} + engines: {node: '>=18.12.0'} + + untyped@2.0.0: + resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} + hasBin: true + update-browserslist-db@1.1.1: resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true @@ -2454,6 +3241,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vite-node@2.1.9: resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2593,6 +3384,9 @@ packages: typescript: optional: true + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2615,6 +3409,9 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} @@ -2643,6 +3440,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + ylru@1.4.0: + resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} + engines: {node: '>= 4.0.0'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2654,46 +3455,46 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': + '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': dependencies: '@antfu/install-pkg': 0.5.0 '@clack/prompts': 0.8.2 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.16.0(jiti@2.5.1)) '@eslint/markdown': 6.2.1 - '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - '@vitest/eslint-plugin': 1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) - eslint: 9.16.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@1.21.6)) + '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + '@vitest/eslint-plugin': 1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) + eslint: 9.16.0(jiti@2.5.1) + eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@2.5.1)) eslint-flat-config-utils: 0.4.0 - eslint-merge-processors: 0.1.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.7.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.6(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.18.2(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-n: 17.14.0(eslint@9.16.0(jiti@1.21.6)) + eslint-merge-processors: 0.1.0(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-antfu: 2.7.0(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-command: 0.2.6(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-import-x: 4.4.3(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + eslint-plugin-jsdoc: 50.6.0(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-jsonc: 2.18.2(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-n: 17.14.0(eslint@9.16.0(jiti@2.5.1)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint-plugin-regexp: 2.7.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-unicorn: 56.0.1(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-vue: 9.31.0(eslint@9.16.0(jiti@1.21.6)) - eslint-plugin-yml: 1.15.0(eslint@9.16.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-perfectionist: 4.1.2(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + eslint-plugin-regexp: 2.7.0(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-toml: 0.11.1(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-unicorn: 56.0.1(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-vue: 9.31.0(eslint@9.16.0(jiti@2.5.1)) + eslint-plugin-yml: 1.15.0(eslint@9.16.0(jiti@2.5.1)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.5.1)) globals: 15.12.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.1 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.5.1)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 optionalDependencies: - eslint-plugin-format: 0.1.3(eslint@9.16.0(jiti@1.21.6)) + eslint-plugin-format: 0.1.3(eslint@9.16.0(jiti@2.5.1)) transitivePeerDependencies: - '@eslint/json' - '@typescript-eslint/utils' @@ -2707,8 +3508,15 @@ snapshots: package-manager-detector: 0.2.5 tinyexec: 0.3.1 + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + '@antfu/utils@0.7.10': {} + '@antfu/utils@8.1.1': {} + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -2739,6 +3547,14 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': + dependencies: + postcss-selector-parser: 7.1.0 + '@dprint/formatter@0.3.0': {} '@dprint/markdown@0.17.8': {} @@ -2901,22 +3717,22 @@ snapshots: '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@1.21.6))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@2.5.1))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@2.5.1))': dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.3(eslint@9.16.0(jiti@1.21.6))': + '@eslint/compat@1.2.3(eslint@9.16.0(jiti@2.5.1))': optionalDependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) '@eslint/config-array@0.19.0': dependencies: @@ -2959,6 +3775,15 @@ snapshots: dependencies: levn: 0.4.1 + '@headlessui/tailwindcss@0.2.2(tailwindcss@3.4.17)': + dependencies: + tailwindcss: 3.4.17 + + '@headlessui/vue@1.7.23(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@tanstack/vue-virtual': 3.13.12(vue@3.5.13(typescript@5.7.2)) + vue: 3.5.13(typescript@5.7.2) + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -2972,6 +3797,34 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} + '@iconify-json/heroicons@1.2.2': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/collections@1.0.595': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.3 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.2 + mlly: 1.8.0 + transitivePeerDependencies: + - supports-color + + '@iconify/vue@5.0.0(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@iconify/types': 2.0.0 + vue: 3.5.13(typescript@5.7.2) + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -2987,17 +3840,34 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@koa/router@12.0.2': + dependencies: + debug: 4.3.7 + http-errors: 2.0.0 + koa-compose: 4.1.0 + methods: 1.1.2 + path-to-regexp: 6.3.0 + transitivePeerDependencies: + - supports-color + '@microsoft/api-extractor-model@7.30.0(@types/node@22.10.1)': dependencies: '@microsoft/tsdoc': 0.15.1 @@ -3045,11 +3915,173 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@nuxt/devtools-kit@2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))': + dependencies: + '@nuxt/kit': 3.19.2 + execa: 8.0.1 + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + transitivePeerDependencies: + - magicast + + '@nuxt/icon@1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@iconify/collections': 1.0.595 + '@iconify/types': 2.0.0 + '@iconify/utils': 2.3.0 + '@iconify/vue': 5.0.0(vue@3.5.13(typescript@5.7.2)) + '@nuxt/devtools-kit': 2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + '@nuxt/kit': 3.19.2 + consola: 3.4.2 + local-pkg: 1.1.2 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + picomatch: 4.0.2 + std-env: 3.9.0 + tinyglobby: 0.2.15 + transitivePeerDependencies: + - magicast + - supports-color + - vite + - vue + + '@nuxt/kit@3.19.2': + dependencies: + c12: 3.3.0 + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.7 + ignore: 7.0.5 + jiti: 2.5.1 + klona: 2.0.6 + knitwork: 1.2.0 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.7.2 + std-env: 3.9.0 + tinyglobby: 0.2.15 + ufo: 1.6.1 + unctx: 2.4.1 + unimport: 5.2.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@4.1.2': + dependencies: + c12: 3.3.0 + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.7 + ignore: 7.0.5 + jiti: 2.5.1 + klona: 2.0.6 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.7.2 + std-env: 3.9.0 + tinyglobby: 0.2.15 + ufo: 1.6.1 + unctx: 2.4.1 + unimport: 5.2.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/ui@2.22.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@headlessui/tailwindcss': 0.2.2(tailwindcss@3.4.17) + '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.2)) + '@iconify-json/heroicons': 1.2.2 + '@nuxt/icon': 1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + '@nuxt/kit': 4.1.2 + '@nuxtjs/color-mode': 3.5.2 + '@nuxtjs/tailwindcss': 6.14.0 + '@popperjs/core': 2.11.8 + '@standard-schema/spec': 1.0.0 + '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.17) + '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.17) + '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17) + '@tailwindcss/typography': 0.5.16(tailwindcss@3.4.17) + '@vueuse/core': 13.9.0(vue@3.5.13(typescript@5.7.2)) + '@vueuse/integrations': 13.9.0(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2)) + '@vueuse/math': 13.9.0(vue@3.5.13(typescript@5.7.2)) + defu: 6.1.4 + fuse.js: 7.1.0 + ohash: 2.0.11 + pathe: 2.0.3 + scule: 1.3.0 + tailwind-merge: 2.6.0 + tailwindcss: 3.4.17 + transitivePeerDependencies: + - async-validator + - axios + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - magicast + - nprogress + - qrcode + - sortablejs + - supports-color + - ts-node + - universal-cookie + - vite + - vue + + '@nuxtjs/color-mode@3.5.2': + dependencies: + '@nuxt/kit': 3.19.2 + pathe: 1.1.2 + pkg-types: 1.2.1 + semver: 7.6.3 + transitivePeerDependencies: + - magicast + + '@nuxtjs/tailwindcss@6.14.0': + dependencies: + '@nuxt/kit': 3.19.2 + autoprefixer: 10.4.20(postcss@8.5.6) + c12: 3.3.0 + consola: 3.4.2 + defu: 6.1.4 + h3: 1.15.4 + klona: 2.0.6 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + postcss: 8.5.6 + postcss-nesting: 13.0.2(postcss@8.5.6) + tailwind-config-viewer: 2.0.4(tailwindcss@3.4.17) + tailwindcss: 3.4.17 + ufo: 1.5.4 + unctx: 2.4.1 + transitivePeerDependencies: + - magicast + - supports-color + - ts-node + '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.1.1': {} + '@popperjs/core@2.11.8': {} + '@rollup/pluginutils@5.1.3(rollup@4.40.1)': dependencies: '@types/estree': 1.0.7 @@ -3152,10 +4184,12 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': + '@standard-schema/spec@1.0.0': {} + + '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.5.1) eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -3164,6 +4198,34 @@ snapshots: - supports-color - typescript + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.17)': + dependencies: + tailwindcss: 3.4.17 + + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)': + dependencies: + tailwindcss: 3.4.17 + + '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17)': + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.17 + + '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.17 + + '@tanstack/virtual-core@3.13.12': {} + + '@tanstack/vue-virtual@3.13.12(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@tanstack/virtual-core': 3.13.12 + vue: 3.5.13(typescript@5.7.2) + '@tsconfig/node22@22.0.0': {} '@types/argparse@1.0.38': {} @@ -3196,15 +4258,17 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': + '@types/web-bluetooth@0.0.21': {} + + '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.16.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3214,14 +4278,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.16.0 debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -3232,12 +4296,12 @@ snapshots: '@typescript-eslint/types': 8.16.0 '@typescript-eslint/visitor-keys': 8.16.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) ts-api-utils: 1.4.3(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 @@ -3261,13 +4325,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)': + '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.16.0 '@typescript-eslint/types': 8.16.0 '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -3278,15 +4342,15 @@ snapshots: '@typescript-eslint/types': 8.16.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) - '@vitest/eslint-plugin@1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': + '@vitest/eslint-plugin@1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.5.1) optionalDependencies: typescript: 5.7.2 vitest: 2.1.9(@types/node@22.10.1) @@ -3331,24 +4395,12 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.10': - dependencies: - '@volar/source-map': 2.4.10 - '@volar/language-core@2.4.23': dependencies: '@volar/source-map': 2.4.23 - '@volar/source-map@2.4.10': {} - '@volar/source-map@2.4.23': {} - '@volar/typescript@2.4.10': - dependencies: - '@volar/language-core': 2.4.10 - path-browserify: 1.0.1 - vscode-uri: 3.0.8 - '@volar/typescript@2.4.23': dependencies: '@volar/language-core': 2.4.23 @@ -3376,7 +4428,7 @@ snapshots: '@vue/compiler-ssr': 3.5.13 '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.14 + magic-string: 0.30.19 postcss: 8.5.6 source-map-js: 1.2.1 @@ -3392,7 +4444,7 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.7.2)': dependencies: - '@volar/language-core': 2.4.10 + '@volar/language-core': 2.4.23 '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.13 @@ -3454,20 +4506,53 @@ snapshots: transitivePeerDependencies: - typescript + '@vueuse/core@13.9.0(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 13.9.0 + '@vueuse/shared': 13.9.0(vue@3.5.13(typescript@5.7.2)) + vue: 3.5.13(typescript@5.7.2) + + '@vueuse/integrations@13.9.0(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@vueuse/core': 13.9.0(vue@3.5.13(typescript@5.7.2)) + '@vueuse/shared': 13.9.0(vue@3.5.13(typescript@5.7.2)) + vue: 3.5.13(typescript@5.7.2) + optionalDependencies: + fuse.js: 7.1.0 + + '@vueuse/math@13.9.0(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@vueuse/shared': 13.9.0(vue@3.5.13(typescript@5.7.2)) + vue: 3.5.13(typescript@5.7.2) + '@vueuse/metadata@12.0.0': {} + '@vueuse/metadata@13.9.0': {} + '@vueuse/shared@12.0.0(typescript@5.7.2)': dependencies: vue: 3.5.13(typescript@5.7.2) transitivePeerDependencies: - typescript + '@vueuse/shared@13.9.0(vue@3.5.13(typescript@5.7.2))': + dependencies: + vue: 3.5.13(typescript@5.7.2) + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 acorn@8.14.0: {} + acorn@8.15.0: {} + ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 @@ -3528,6 +4613,10 @@ snapshots: assertion-error@2.0.1: {} + async@3.2.6: {} + + at-least-node@1.0.0: {} + autoprefixer@10.4.20(postcss@8.5.6): dependencies: browserslist: 4.24.2 @@ -3566,8 +4655,38 @@ snapshots: builtin-modules@3.3.0: {} + c12@3.3.0: + dependencies: + chokidar: 4.0.3 + confbox: 0.2.2 + defu: 6.1.4 + dotenv: 17.2.2 + exsolve: 1.0.7 + giget: 2.0.0 + jiti: 2.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.0.0 + pkg-types: 2.3.0 + rc9: 2.1.2 + cac@6.7.14: {} + cache-content-type@1.0.1: + dependencies: + mime-types: 2.1.35 + ylru: 1.4.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + callsites@3.1.0: {} camelcase-css@2.0.1: {} @@ -3605,8 +4724,16 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + ci-info@4.1.0: {} + citty@0.1.6: + dependencies: + consola: 3.4.2 + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 @@ -3617,6 +4744,8 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + co@4.6.0: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -3625,6 +4754,8 @@ snapshots: commander@4.1.1: {} + commander@6.2.1: {} + comment-parser@1.4.1: {} compare-versions@6.1.1: {} @@ -3635,6 +4766,23 @@ snapshots: confbox@0.1.8: {} + confbox@0.2.2: {} + + consola@3.4.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-es@1.2.2: {} + + cookies@0.9.1: + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + core-js-compat@3.39.0: dependencies: browserslist: 4.24.2 @@ -3645,6 +4793,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crossws@0.3.5: + dependencies: + uncrypto: 0.1.3 + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -3659,16 +4811,34 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 deep-eql@5.0.2: {} + deep-equal@1.0.1: {} + deep-is@0.1.4: {} + defu@6.1.4: {} + + delegates@1.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + dequal@2.0.3: {} + destr@2.0.5: {} + + destroy@1.2.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -3681,14 +4851,26 @@ snapshots: dependencies: esutils: 2.0.3 + dotenv@17.2.2: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + eastasianwidth@0.2.0: {} + ee-first@1.1.1: {} + electron-to-chromium@1.5.67: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + encodeurl@1.0.2: {} + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 @@ -3700,8 +4882,18 @@ snapshots: dependencies: is-arrayish: 0.2.1 + errx@0.1.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + es-module-lexer@1.5.4: {} + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -3758,35 +4950,37 @@ snapshots: escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.16.0(jiti@1.21.6)): + eslint-compat-utils@0.5.1(eslint@9.16.0(jiti@2.5.1)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) semver: 7.6.3 - eslint-compat-utils@0.6.4(eslint@9.16.0(jiti@1.21.6)): + eslint-compat-utils@0.6.4(eslint@9.16.0(jiti@2.5.1)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.16.0(jiti@1.21.6)): + eslint-config-flat-gitignore@0.3.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint/compat': 1.2.3(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) + '@eslint/compat': 1.2.3(eslint@9.16.0(jiti@2.5.1)) + eslint: 9.16.0(jiti@2.5.1) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: dependencies: pathe: 1.1.2 - eslint-formatting-reporter@0.0.0(eslint@9.16.0(jiti@1.21.6)): + eslint-formatting-reporter@0.0.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) prettier-linter-helpers: 1.0.0 eslint-import-resolver-node@0.3.9: @@ -3797,52 +4991,52 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.16.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@0.1.0(eslint@9.16.0(jiti@1.21.6)): + eslint-merge-processors@0.1.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) eslint-parser-plain@0.1.0: {} - eslint-plugin-antfu@2.7.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-antfu@2.7.0(eslint@9.16.0(jiti@2.5.1)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) - eslint-plugin-command@0.2.6(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-command@0.2.6(eslint@9.16.0(jiti@2.5.1)): dependencies: '@es-joy/jsdoccomment': 0.48.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) - eslint-plugin-es-x@7.8.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-es-x@7.8.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@2.5.1)) - eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)): dependencies: '@dprint/formatter': 0.3.0 '@dprint/markdown': 0.17.8 '@dprint/toml': 0.6.3 - eslint: 9.16.0(jiti@1.21.6) - eslint-formatting-reporter: 0.0.0(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.5.1) + eslint-formatting-reporter: 0.0.0(eslint@9.16.0(jiti@2.5.1)) eslint-parser-plain: 0.1.0 prettier: 3.4.1 synckit: 0.9.2 - eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2): + eslint-plugin-import-x@4.4.3(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -3854,14 +5048,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.6.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-jsdoc@50.6.0(eslint@9.16.0(jiti@2.5.1)): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 @@ -3871,12 +5065,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.18.2(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.18.2(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@1.21.6)) - eslint-json-compat-utils: 0.2.1(eslint@9.16.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) + eslint: 9.16.0(jiti@2.5.1) + eslint-compat-utils: 0.6.4(eslint@9.16.0(jiti@2.5.1)) + eslint-json-compat-utils: 0.2.1(eslint@9.16.0(jiti@2.5.1))(jsonc-eslint-parser@2.4.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -3885,12 +5079,12 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.14.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-n@17.14.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) enhanced-resolve: 5.17.1 - eslint: 9.16.0(jiti@1.21.6) - eslint-plugin-es-x: 7.8.0(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.5.1) + eslint-plugin-es-x: 7.8.0(eslint@9.16.0(jiti@2.5.1)) get-tsconfig: 4.8.1 globals: 15.12.0 ignore: 5.3.2 @@ -3899,45 +5093,45 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.1.2(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2): + eslint-plugin-perfectionist@4.1.2(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2): dependencies: '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) - eslint: 9.16.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.5.1) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.7.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-regexp@2.7.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-toml@0.11.1(eslint@9.16.0(jiti@2.5.1)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@2.5.1)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@56.0.1(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-unicorn@56.0.1(eslint@9.16.0(jiti@2.5.1)): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) ci-info: 4.1.0 clean-regexp: 1.0.0 core-js-compat: 3.39.0 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) esquery: 1.6.0 globals: 15.12.0 indent-string: 4.0.0 @@ -3950,41 +5144,41 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1)): dependencies: - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) - eslint-plugin-vue@9.31.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-vue@9.31.0(eslint@9.16.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) - eslint: 9.16.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) + eslint: 9.16.0(jiti@2.5.1) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.16.0(jiti@2.5.1)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.15.0(eslint@9.16.0(jiti@1.21.6)): + eslint-plugin-yml@1.15.0(eslint@9.16.0(jiti@2.5.1)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@1.21.6)) + eslint: 9.16.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.16.0(jiti@2.5.1)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.13)(eslint@9.16.0(jiti@2.5.1)): dependencies: '@vue/compiler-sfc': 3.5.13 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) eslint-scope@7.2.2: dependencies: @@ -4000,9 +5194,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.16.0(jiti@1.21.6): + eslint@9.16.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.0 '@eslint/core': 0.9.0 @@ -4037,7 +5231,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 1.21.6 + jiti: 2.5.1 transitivePeerDependencies: - supports-color @@ -4071,8 +5265,22 @@ snapshots: esutils@2.0.3: {} + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + expect-type@1.1.0: {} + exsolve@1.0.7: {} + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -4093,6 +5301,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -4127,23 +5339,65 @@ snapshots: fraction.js@4.3.7: {} + fresh@0.5.2: {} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true function-bind@1.1.2: {} + fuse.js@7.1.0: {} + get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@8.0.1: {} + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + node-fetch-native: 1.6.7 + nypm: 0.6.2 + pathe: 2.0.3 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -4161,6 +5415,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -4169,12 +5432,34 @@ snapshots: globals@15.12.0: {} + globals@15.15.0: {} + + gopd@1.2.0: {} + graceful-fs@4.2.11: {} graphemer@1.4.0: {} + h3@1.15.4: + dependencies: + cookie-es: 1.2.2 + crossws: 0.3.5 + defu: 6.1.4 + destr: 2.0.5 + iron-webcrypto: 1.2.1 + node-mock-http: 1.0.3 + radix3: 1.1.2 + ufo: 1.6.1 + uncrypto: 0.1.3 + has-flag@4.0.0: {} + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -4183,8 +5468,40 @@ snapshots: hosted-git-info@2.8.9: {} + http-assert@1.5.0: + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + human-signals@5.0.0: {} + ignore@5.3.2: {} + ignore@7.0.5: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -4196,6 +5513,17 @@ snapshots: indent-string@4.0.0: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + iron-webcrypto@1.2.1: {} + is-arrayish@0.2.1: {} is-binary-path@2.1.0: @@ -4210,16 +5538,38 @@ snapshots: dependencies: hasown: 2.0.2 + is-docker@2.2.1: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-stream@3.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + isexe@2.0.0: {} jackspeak@3.4.3: @@ -4230,10 +5580,14 @@ snapshots: jiti@1.21.6: {} + jiti@2.5.1: {} + jju@1.4.0: {} js-tokens@4.0.0: {} + js-tokens@9.0.1: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -4265,10 +5619,74 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keygrip@1.1.0: + dependencies: + tsscmp: 1.0.6 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 + klona@2.0.6: {} + + knitwork@1.2.0: {} + + koa-compose@4.1.0: {} + + koa-convert@2.0.0: + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + + koa-send@5.0.1: + dependencies: + debug: 4.3.7 + http-errors: 1.8.1 + resolve-path: 1.4.0 + transitivePeerDependencies: + - supports-color + + koa-static@5.0.0: + dependencies: + debug: 3.2.7 + koa-send: 5.0.1 + transitivePeerDependencies: + - supports-color + + koa@2.16.2: + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.9.1 + debug: 4.3.7 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.1.0 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + kolorist@1.8.0: {} levn@0.4.1: @@ -4285,6 +5703,12 @@ snapshots: mlly: 1.7.3 pkg-types: 1.2.1 + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -4293,6 +5717,10 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.castarray@4.4.0: {} + + lodash.isplainobject@4.0.6: {} + lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -4311,8 +5739,14 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + markdown-table@3.0.4: {} + math-intrinsics@1.1.0: {} + mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.4 @@ -4415,8 +5849,14 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + media-typer@0.3.0: {} + + merge-stream@2.0.0: {} + merge2@1.4.1: {} + methods@1.1.2: {} + micromark-core-commonmark@2.0.2: dependencies: decode-named-character-reference: 1.0.2 @@ -4613,8 +6053,18 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@4.0.0: {} + min-indent@1.0.1: {} + mini-svg-data-uri@1.4.4: {} + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 @@ -4636,6 +6086,13 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + ms@2.1.3: {} muggle-string@0.4.1: {} @@ -4652,6 +6109,12 @@ snapshots: natural-orderby@5.0.0: {} + negotiator@0.6.3: {} + + node-fetch-native@1.6.7: {} + + node-mock-http@1.0.3: {} + node-releases@2.0.18: {} normalize-package-data@2.5.0: @@ -4665,14 +6128,47 @@ snapshots: normalize-range@0.1.2: {} + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + nth-check@2.1.1: dependencies: boolbase: 1.0.0 + nypm@0.6.2: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + tinyexec: 1.0.1 + object-assign@4.1.1: {} object-hash@3.0.0: {} + ohash@2.0.11: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + only@0.0.2: {} + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -4704,6 +6200,8 @@ snapshots: package-manager-detector@0.2.5: {} + package-manager-detector@1.3.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -4722,12 +6220,18 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parseurl@1.3.3: {} + path-browserify@1.0.1: {} path-exists@4.0.0: {} + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@1.11.1: @@ -4735,16 +6239,24 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-to-regexp@6.3.0: {} + pathe@1.1.2: {} + pathe@2.0.3: {} + pathval@2.0.0: {} + perfect-debounce@2.0.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} picomatch@4.0.2: {} + picomatch@4.0.3: {} + pify@2.3.0: {} pirates@4.0.6: {} @@ -4755,8 +6267,27 @@ snapshots: mlly: 1.7.3 pathe: 1.1.2 + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + pluralize@8.0.0: {} + portfinder@1.0.38: + dependencies: + async: 3.2.6 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + postcss-import@15.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -4781,11 +6312,28 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 6.1.2 + postcss-nesting@13.0.2(postcss@8.5.6): + dependencies: + '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-value-parser@4.2.0: {} postcss@8.5.6: @@ -4804,8 +6352,17 @@ snapshots: punycode@2.3.1: {} + quansync@0.2.11: {} + queue-microtask@1.2.3: {} + radix3@1.1.2: {} + + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.5 + read-cache@1.0.0: dependencies: pify: 2.3.0 @@ -4827,6 +6384,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.1.2: {} + refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.12.1 @@ -4842,12 +6401,23 @@ snapshots: dependencies: jsesc: 0.5.0 + replace-in-file@6.3.5: + dependencies: + chalk: 4.1.2 + glob: 7.2.3 + yargs: 17.7.2 + require-directory@2.1.1: {} require-from-string@2.0.2: {} resolve-from@4.0.0: {} + resolve-path@1.4.0: + dependencies: + http-errors: 1.6.3 + path-is-absolute: 1.0.1 + resolve-pkg-maps@1.0.0: {} resolve@1.22.8: @@ -4888,12 +6458,22 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.2.1: {} + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + scslre@0.3.0: dependencies: '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 + scule@1.3.0: {} + semver@5.7.2: {} semver@7.5.4: @@ -4902,6 +6482,12 @@ snapshots: semver@7.6.3: {} + semver@7.7.2: {} + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -4945,8 +6531,14 @@ snapshots: stackback@0.0.2: {} + statuses@1.5.0: {} + + statuses@2.0.1: {} + std-env@3.8.0: {} + std-env@3.9.0: {} + string-argv@0.3.2: {} string-width@4.2.3: @@ -4969,12 +6561,18 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-final-newline@3.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 strip-json-comments@3.1.1: {} + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -5004,6 +6602,22 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + tailwind-config-viewer@2.0.4(tailwindcss@3.4.17): + dependencies: + '@koa/router': 12.0.2 + commander: 6.2.1 + fs-extra: 9.1.0 + koa: 2.16.2 + koa-static: 5.0.0 + open: 7.4.2 + portfinder: 1.0.38 + replace-in-file: 6.3.5 + tailwindcss: 3.4.17 + transitivePeerDependencies: + - supports-color + + tailwind-merge@2.6.0: {} + tailwindcss@3.4.16: dependencies: '@alloc/quick-lru': 5.2.0 @@ -5031,6 +6645,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-import: 15.1.0(postcss@8.5.6) + postcss-js: 4.0.1(postcss@8.5.6) + postcss-load-config: 4.0.2(postcss@8.5.6) + postcss-nested: 6.2.0(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} thenify-all@1.6.0: @@ -5045,6 +6686,13 @@ snapshots: tinyexec@0.3.1: {} + tinyexec@1.0.1: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} @@ -5055,6 +6703,8 @@ snapshots: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + toml-eslint-parser@0.10.0: dependencies: eslint-visitor-keys: 3.4.3 @@ -5067,6 +6717,8 @@ snapshots: tslib@2.8.1: {} + tsscmp@1.0.6: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -5077,14 +6729,47 @@ snapshots: type-fest@0.8.1: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typescript@5.4.2: {} typescript@5.7.2: {} ufo@1.5.4: {} + ufo@1.6.1: {} + + uncrypto@0.1.3: {} + + unctx@2.4.1: + dependencies: + acorn: 8.14.0 + estree-walker: 3.0.3 + magic-string: 0.30.19 + unplugin: 2.3.10 + undici-types@6.20.0: {} + unimport@5.2.0: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.19 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 2.3.0 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -5106,6 +6791,28 @@ snapshots: universalify@0.1.2: {} + universalify@2.0.1: {} + + unplugin-utils@0.2.5: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + + unplugin@2.3.10: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + + untyped@2.0.0: + dependencies: + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.5.1 + knitwork: 1.2.0 + scule: 1.3.0 + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: browserslist: 4.24.2 @@ -5123,6 +6830,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + vary@1.1.2: {} + vite-node@2.1.9(@types/node@22.10.1): dependencies: cac: 6.7.14 @@ -5141,15 +6850,15 @@ snapshots: - supports-color - terser - vite-plugin-css-injected-by-js@3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1)): + vite-plugin-css-injected-by-js@3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)): dependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) - vite-plugin-dts@4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1)): + vite-plugin-dts@4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)): dependencies: '@microsoft/api-extractor': 7.48.0(@types/node@22.10.1) '@rollup/pluginutils': 5.1.3(rollup@4.40.1) - '@volar/typescript': 2.4.10 + '@volar/typescript': 2.4.23 '@vue/language-core': 2.1.6(typescript@5.7.2) compare-versions: 6.1.1 debug: 4.3.7 @@ -5158,7 +6867,7 @@ snapshots: magic-string: 0.30.14 typescript: 5.7.2 optionalDependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - rollup @@ -5173,7 +6882,7 @@ snapshots: '@types/node': 22.10.1 fsevents: 2.3.3 - vite@6.1.6(@types/node@22.10.1)(jiti@1.21.6)(yaml@2.6.1): + vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1): dependencies: esbuild: 0.24.2 postcss: 8.5.6 @@ -5181,7 +6890,7 @@ snapshots: optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 - jiti: 1.21.6 + jiti: 2.5.1 yaml: 2.6.1 vitest@2.1.9(@types/node@22.10.1): @@ -5221,10 +6930,10 @@ snapshots: vscode-uri@3.0.8: {} - vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@2.5.1)): dependencies: debug: 4.3.7 - eslint: 9.16.0(jiti@1.21.6) + eslint: 9.16.0(jiti@2.5.1) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5250,6 +6959,8 @@ snapshots: optionalDependencies: typescript: 5.7.2 + webpack-virtual-modules@0.6.2: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -5273,6 +6984,8 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: {} + xml-name-validator@4.0.0: {} y18n@5.0.8: {} @@ -5299,6 +7012,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + ylru@1.4.0: {} + yocto-queue@0.1.0: {} zwitch@2.0.4: {} From 53ee79568676774f5eb63f2c62dc6167d86571c7 Mon Sep 17 00:00:00 2001 From: AmmarKaraja Date: Wed, 24 Sep 2025 12:25:20 +0000 Subject: [PATCH 02/27] refactor(playground): externalize schema & sample schemaComponents to enable preset swapping --- packages/playground/src/Playground.vue | 196 +- .../src/sample/schemaComponentsSample.ts | 129 + packages/preset-nuxt-ui/package.json | 16 +- .../preset-nuxt-ui/src/components/Group.vue | 37 + ...maComponent.ts => schemaComponentsNuxt.ts} | 12 +- packages/preset-nuxt-ui/src/index.ts | 19 + packages/preset-nuxt-ui/vite.config.ts | 6 +- pnpm-lock.yaml | 2317 ++++++++++------- 8 files changed, 1651 insertions(+), 1081 deletions(-) create mode 100644 packages/playground/src/sample/schemaComponentsSample.ts create mode 100644 packages/preset-nuxt-ui/src/components/Group.vue rename packages/preset-nuxt-ui/src/components/{schemaComponent.ts => schemaComponentsNuxt.ts} (91%) create mode 100644 packages/preset-nuxt-ui/src/index.ts diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 6cbfb76..f6fc5db 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -3,9 +3,9 @@ Data {{ isValid ? 'valid' : 'invalid' }}, Schema {{ isSchemaValid ? 'valid' : 'invalid' }} -
@@ -100,15 +100,9 @@ import type { SchemaNode, } from 'former-ui'; import Button from '@/sample/Button.vue'; - import Checkbox from '@/sample/Checkbox.vue'; - -import Columns from '@/sample/Columns.vue'; - -import Group from '@/sample/Group.vue'; -import Repeater from '@/sample/Repeater.vue'; +import { schemaComponentsSample } from '@/sample/schemaComponentsSample'; import Select from '@/sample/Select.vue'; -import TextInput from '@/sample/TextInput.vue'; import { useStorage } from '@vueuse/core'; import { FormAdd, @@ -116,7 +110,11 @@ import { Former, FormNodeProps, } from 'former-ui'; -import { computed, markRaw, ref } from 'vue'; + +import { schemaComponentsNuxt } from 'preset-nuxt-ui'; +import { computed, ref } from 'vue'; + +const builderComponents = schemaComponentsSample(); const mode = useStorage('former:mode', 'build'); const activateShowIf = useStorage('former:activateShowIf', false); @@ -278,180 +276,6 @@ const jsonSchema = computed({ const data = useStorage('former:data', {}); -const showIfProp = { type: 'text', name: 'showIf', props: { label: 'Show if', placeholder: 'If empty or "hello" then component is visible.' } }; - -const components: FormComponents = { - text: { - label: 'Text', - component: markRaw(TextInput), - propsSchema: [ - { - type: 'text', - name: '$name', - props: { - label: 'Name', - placeholder: 'Enter the name of the data field', - required: true, - }, - }, - { - type: 'text', - name: 'label', - props: { - label: 'Label', - placeholder: 'Enter a label', - }, - }, - { - type: 'text', - name: 'placeholder', - props: { - label: 'Placeholder', - placeholder: 'Enter a placeholder', - }, - }, - { - type: 'text', - name: 'initialValue', - props: { - label: 'Initial value', - placeholder: 'Enter an initial value here', - }, - }, - showIfProp, - { - type: 'checkbox', - name: 'required', - props: { - label: 'Is field required?', - }, - }, - ], - }, - group: { - label: 'Group', - component: markRaw(Group), - propsSchema: [ - { - type: 'text', - name: '$name', - props: { - label: 'Name', - placeholder: 'Enter the name of the data field', - required: true, - }, - }, - showIfProp, - ], - }, - columns: { - label: 'Columns', - component: markRaw(Columns), - propsSchema: [ - showIfProp, - ], - }, - repeater: { - label: 'Repeater', - component: markRaw(Repeater), - propsSchema: [ - { - type: 'text', - name: '$name', - props: { - label: 'Name', - placeholder: 'Enter the name of the data field', - required: true, - }, - }, - { - type: 'text', - name: 'label', - props: { - label: 'Label', - placeholder: 'Enter a label', - }, - }, - showIfProp, - ], - }, - select: { - label: 'Select', - component: markRaw(Select), - propsSchema: [ - { - type: 'text', - name: '$name', - props: { - label: 'Name', - placeholder: 'Enter the name of the data field', - required: true, - }, - }, - { - type: 'text', - name: 'label', - props: { - label: 'Label', - placeholder: 'Enter a label', - }, - }, - showIfProp, - { - type: 'repeater', - name: 'options', - children: [ - { - type: 'text', - name: 'label', - props: { - type: 'text', - label: 'Label', - placeholder: 'Enter a label', - }, - }, - { - type: 'text', - name: 'value', - props: { - type: 'text', - label: 'Value', - placeholder: 'Enter a value', - }, - }, - ], - props: { - label: 'Options', - }, - }, - ], - }, - checkbox: { - label: 'Checkbox', - component: markRaw(Checkbox), - propsSchema: [ - { - type: 'text', - name: '$name', - props: { - label: 'Name', - placeholder: 'Enter the name of the data field', - required: true, - }, - }, - { - type: 'text', - name: 'label', - props: { - label: 'Label', - placeholder: 'Enter a label', - }, - }, - showIfProp, - ], - }, -}; - function showIf(node: SchemaNode, _data: FormData): boolean { if (!activateShowIf.value) { return true; diff --git a/packages/playground/src/sample/schemaComponentsSample.ts b/packages/playground/src/sample/schemaComponentsSample.ts new file mode 100644 index 0000000..d305ab4 --- /dev/null +++ b/packages/playground/src/sample/schemaComponentsSample.ts @@ -0,0 +1,129 @@ +import type { FormComponents, SchemaNode } from 'former-ui'; +import Checkbox from '@/sample/Checkbox.vue'; + +import Columns from '@/sample/Columns.vue'; +import Group from '@/sample/Group.vue'; +import Repeater from '@/sample/Repeater.vue'; +import Select from '@/sample/Select.vue'; +import TextInput from '@/sample/TextInput.vue'; +import { markRaw } from 'vue'; + +const showIfProp: SchemaNode = { + type: 'text', + name: 'showIf', + props: { + label: 'Show if', + placeholder: 'If empty or "hello" then component is visible.', + }, +}; + +export function schemaComponentsSample(): FormComponents { + return { + text: { + label: 'Text', + component: markRaw(TextInput), + propsSchema: [ + { + type: 'text', + name: '$name', + props: { + label: 'Name', + placeholder: 'Enter the name of the data field', + required: true, + }, + }, + { type: 'text', name: 'label', props: { label: 'Label', placeholder: 'Enter a label' } }, + { type: 'text', name: 'placeholder', props: { label: 'Placeholder', placeholder: 'Enter a placeholder' } }, + { type: 'text', name: 'initialValue', props: { label: 'Initial value', placeholder: 'Enter an initial value here' } }, + showIfProp, + { type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }, + ], + }, + + group: { + label: 'Group', + component: markRaw(Group), + propsSchema: [ + { + type: 'text', + name: '$name', + props: { + label: 'Name', + placeholder: 'Enter the name of the data field', + required: true, + }, + }, + showIfProp, + ], + }, + + columns: { + label: 'Columns', + component: markRaw(Columns), + propsSchema: [showIfProp], + }, + + repeater: { + label: 'Repeater', + component: markRaw(Repeater), + propsSchema: [ + { + type: 'text', + name: '$name', + props: { + label: 'Name', + placeholder: 'Enter the name of the data field', + required: true, + }, + }, + { type: 'text', name: 'label', props: { label: 'Label', placeholder: 'Enter a label' } }, + showIfProp, + ], + }, + + select: { + label: 'Select', + component: markRaw(Select), + propsSchema: [ + { + type: 'text', + name: '$name', + props: { + label: 'Name', + placeholder: 'Enter the name of the data field', + required: true, + }, + }, + { type: 'text', name: 'label', props: { label: 'Label', placeholder: 'Enter a label' } }, + showIfProp, + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { type: 'text', label: 'Label', placeholder: 'Enter a label' } }, + { type: 'text', name: 'value', props: { type: 'text', label: 'Value', placeholder: 'Enter a value' } }, + ], + props: { label: 'Options' }, + }, + ], + }, + + checkbox: { + label: 'Checkbox', + component: markRaw(Checkbox), + propsSchema: [ + { + type: 'text', + name: '$name', + props: { + label: 'Name', + placeholder: 'Enter the name of the data field', + required: true, + }, + }, + { type: 'text', name: 'label', props: { label: 'Label', placeholder: 'Enter a label' } }, + showIfProp, + ], + }, + }; +} diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index fd4dfe1..7997ed3 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -3,12 +3,12 @@ "type": "module", "exports": { ".": { - "types": "./dist/schemaComponent.d.ts", - "import": "./dist/schemaComponent.js" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" } }, - "module": "./dist/schemaComponent.js", - "types": "./dist/schemaComponent.d.ts", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "files": ["dist"], "scripts": { @@ -16,17 +16,17 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "peerDependencies": { - "@nuxt/ui": "^2.0.0", + "@nuxt/ui": "^3.3.4", "former-ui": ">=0.0.0", - "vue": "^3.3.0" + "vue": "^3.5.13" }, "devDependencies": { - "@nuxt/ui": "^2.14.1", + "@nuxt/ui": "^3.3.4", "@vitejs/plugin-vue": "^5.0.0", "former-ui": "workspace:*", "typescript": "^5.7.2", "vite": "^6.1.0", "vite-plugin-dts": "^4.3.0", - "vue": "^3.5.0" + "vue": "^3.5.13" } } diff --git a/packages/preset-nuxt-ui/src/components/Group.vue b/packages/preset-nuxt-ui/src/components/Group.vue new file mode 100644 index 0000000..e439568 --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/Group.vue @@ -0,0 +1,37 @@ + + + diff --git a/packages/preset-nuxt-ui/src/components/schemaComponent.ts b/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts similarity index 91% rename from packages/preset-nuxt-ui/src/components/schemaComponent.ts rename to packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts index fe22e58..3a3e865 100644 --- a/packages/preset-nuxt-ui/src/components/schemaComponent.ts +++ b/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts @@ -4,6 +4,7 @@ import { markRaw } from 'vue'; import Checkbox from './Checkbox.vue'; import Columns from './Columns.vue'; import ComboBox from './ComboBox.vue'; +import Group from './Group.vue'; import Number from './Number.vue'; import RadioGroup from './RadioGroup.vue'; import Repeater from './Repeater.vue'; @@ -30,7 +31,7 @@ function commonSchema(opt: Partial = {}): SchemaNode[] { return s; } -export function schemaComponents(): FormComponents { +export function schemaComponentsNuxt(): FormComponents { return { text: { label: 'Text', @@ -49,6 +50,15 @@ export function schemaComponents(): FormComponents { { type: 'checkbox', name: 'autoresize', props: { label: 'Auto resize' } }, ], }, + group: { + label: 'Group', + component: markRaw(Group), + // Für Container keine placeholder/required-Props nötig + propsSchema: [ + { type: 'text', name: '$name', props: { label: 'Technical name', required: true } }, + { type: 'checkbox', name: 'border', props: { label: 'Show border' } }, + ], + }, number: { label: 'Number', component: markRaw(Number), diff --git a/packages/preset-nuxt-ui/src/index.ts b/packages/preset-nuxt-ui/src/index.ts new file mode 100644 index 0000000..bdb9970 --- /dev/null +++ b/packages/preset-nuxt-ui/src/index.ts @@ -0,0 +1,19 @@ +// Public API von preset-nuxt-ui + +export { default as Checkbox } from './components/Checkbox.vue'; + +export { default as Columns } from './components/Columns.vue'; +export { default as ComboBox } from './components/ComboBox.vue'; +export { default as Group } from './components/Group.vue'; +export { default as Number } from './components/Number.vue'; +export { default as RadioGroup } from './components/RadioGroup.vue'; +export { default as Repeater } from './components/Repeater.vue'; +// 1) die Factory für Former: +export { schemaComponentsNuxt } from './components/schemaComponentsNuxt'; +export { default as Select } from './components/Select.vue'; +// 2) (optional) einzelne Nuxt-UI-basierten Felder exportieren +export { default as Text } from './components/Text.vue'; +export { default as Textarea } from './components/Textarea.vue'; + +// 3) (optional) Types bequem durchreichen +export type { FormComponents, SchemaNode } from 'former-ui'; diff --git a/packages/preset-nuxt-ui/vite.config.ts b/packages/preset-nuxt-ui/vite.config.ts index bf6a405..f43b33c 100644 --- a/packages/preset-nuxt-ui/vite.config.ts +++ b/packages/preset-nuxt-ui/vite.config.ts @@ -3,10 +3,6 @@ import vue from '@vitejs/plugin-vue'; import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; -const entries = { - schemaComponent: fileURLToPath(new URL('./src/components/schemaComponent.ts', import.meta.url)), -}; - export default defineConfig({ plugins: [ vue(), @@ -14,7 +10,7 @@ export default defineConfig({ ], build: { lib: { - entry: entries, + entry: 'src/index.ts', formats: ['es'], fileName: (_fmt, name) => `${name}.js`, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 692fbc3..e2c0f9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: 3.11.2 - version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) + version: 3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1)) eslint: specifier: 9.16.0 version: 9.16.0(jiti@2.5.1) @@ -35,7 +35,7 @@ importers: version: 22.10.1 '@vitejs/plugin-vue': specifier: 5.2.1 - version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vue/tsconfig': specifier: 0.7.0 version: 0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) @@ -53,16 +53,16 @@ importers: version: 5.7.2 vite: specifier: 6.1.6 - version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) vite-plugin-css-injected-by-js: specifier: 3.5.2 - version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) vitest: specifier: 2.1.9 - version: 2.1.9(@types/node@22.10.1) + version: 2.1.9(@types/node@22.10.1)(lightningcss@1.30.1) vue: specifier: 3.5.13 version: 3.5.13(typescript@5.7.2) @@ -96,7 +96,7 @@ importers: version: 22.10.1 '@vitejs/plugin-vue': specifier: 5.2.1 - version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vue/tsconfig': specifier: 0.7.0 version: 0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) @@ -111,13 +111,13 @@ importers: version: 5.7.2 vite: specifier: 6.1.6 - version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) vite-plugin-css-injected-by-js: specifier: 3.5.2 - version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) vitest: specifier: 2.1.9 - version: 2.1.9(@types/node@22.10.1) + version: 2.1.9(@types/node@22.10.1)(lightningcss@1.30.1) vue-tsc: specifier: 3.0.7 version: 3.0.7(typescript@5.7.2) @@ -125,11 +125,11 @@ importers: packages/preset-nuxt-ui: devDependencies: '@nuxt/ui': - specifier: ^2.14.1 - version: 2.22.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + specifier: ^3.3.4 + version: 3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@vitejs/plugin-vue': specifier: ^5.0.0 - version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) former-ui: specifier: workspace:* version: link:../former @@ -138,12 +138,12 @@ importers: version: 5.7.2 vite: specifier: ^6.1.0 - version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) vite-plugin-dts: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + version: 4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) vue: - specifier: ^3.5.0 + specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) packages: @@ -231,24 +231,18 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@capsizecss/metrics@3.5.0': + resolution: {integrity: sha512-Ju2I/Qn3c1OaU8FgeW4Tc22D4C9NwyVfKzNmzst59bvxBjPoLYNZMqFYn+HvCtn4MpXwiaDtCE8fNuQLpdi9yA==} + + '@capsizecss/unpack@2.4.0': + resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==} + '@clack/core@0.3.5': resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==} '@clack/prompts@0.8.2': resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==} - '@csstools/selector-resolve-nested@3.1.0': - resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 - - '@csstools/selector-specificity@5.0.0': - resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 - '@dprint/formatter@0.3.0': resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==} @@ -278,6 +272,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.10': + resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -290,6 +290,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.10': + resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -302,6 +308,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.10': + resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -314,6 +326,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.10': + resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -326,6 +344,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.10': + resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -338,6 +362,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.10': + resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -350,6 +380,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.10': + resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -362,6 +398,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.10': + resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -374,6 +416,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.10': + resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -386,6 +434,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.10': + resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -398,6 +452,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.10': + resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -410,6 +470,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.10': + resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -422,6 +488,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.10': + resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -434,6 +506,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.10': + resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -446,6 +524,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.10': + resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -458,6 +542,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.10': + resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -470,12 +560,24 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.10': + resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.24.2': resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.10': + resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -488,12 +590,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.10': + resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.10': + resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -506,6 +620,18 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.10': + resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.10': + resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -518,6 +644,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.10': + resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -530,6 +662,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.10': + resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -542,6 +680,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.10': + resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -554,6 +698,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.10': + resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-plugin-eslint-comments@4.4.1': resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -607,17 +757,17 @@ packages: resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@headlessui/tailwindcss@0.2.2': - resolution: {integrity: sha512-xNe42KjdyA4kfUKLLPGzME9zkH7Q3rOZ5huFihWNWOQFxnItxPB3/67yBI8/qBfY8nwBRx5GHn4VprsoluVMGw==} - engines: {node: '>=10'} - peerDependencies: - tailwindcss: ^3.0 || ^4.0 + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - '@headlessui/vue@1.7.23': - resolution: {integrity: sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==} - engines: {node: '>=10'} - peerDependencies: - vue: ^3.2.0 + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + + '@floating-ui/vue@1.1.9': + resolution: {integrity: sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -639,9 +789,6 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} - '@iconify-json/heroicons@1.2.2': - resolution: {integrity: sha512-qoW4pXr5kTTL6juEjgTs83OJIwpePu7q1tdtKVEdj+i0zyyVHgg/dd9grsXJQnpTpBt6/VwNjrXBvFjRsKPENg==} - '@iconify/collections@1.0.595': resolution: {integrity: sha512-MPeWI5qXwC5aRxM8zOKLD6wzoj0YueBK3iXPJXoDWtFqAazjn/njlVzZ3K4tyx517kW4Rr/mQ/OCito3IDyTLg==} @@ -656,10 +803,20 @@ packages: peerDependencies: vue: '>=3' + '@internationalized/date@3.9.0': + resolution: {integrity: sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==} + + '@internationalized/number@3.6.5': + resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -684,10 +841,6 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@koa/router@12.0.2': - resolution: {integrity: sha512-sYcHglGKTxGF+hQ6x67xDfkE9o+NhVlRHBqq6gLywaMc6CojK/5vFZByphdonKinYlMLkEkacm+HEse9HzwgTA==} - engines: {node: '>= 12'} - '@microsoft/api-extractor-model@7.30.0': resolution: {integrity: sha512-26/LJZBrsWDKAkOWRiQbdVgcfd1F3nyJnAiJzsAgpouPk7LtOIj7PK9aJtBaw/pUXrkotEg27RrT+Jm/q0bbug==} @@ -718,6 +871,9 @@ packages: peerDependencies: vite: '>=6.0' + '@nuxt/fonts@0.11.4': + resolution: {integrity: sha512-GbLavsC+9FejVwY+KU4/wonJsKhcwOZx/eo4EuV57C4osnF/AtEmev8xqI0DNlebMEhEGZbu1MGwDDDYbeR7Bw==} + '@nuxt/icon@1.15.0': resolution: {integrity: sha512-kA0rxqr1B601zNJNcOXera8CyYcxUCEcT7dXEC7rwAz71PRCN5emf7G656eKEQgtqrD4JSj6NQqWDgrmFcf/GQ==} @@ -729,21 +885,33 @@ packages: resolution: {integrity: sha512-P5q41xeEOa6ZQC0PvIP7TSBmOAMxXK4qihDcCbYIJq8RcVsEPbGZVlidmxE6EOw1ucSyodq9nbV31FAKwoL4NQ==} engines: {node: '>=18.12.0'} - '@nuxt/ui@2.22.3': - resolution: {integrity: sha512-895SAzqCCT5JAc1JQ8nAmmpwdKCJqArY8ifL/PNtD681FKSdXiSPxODGnpqpovM/ws6bvoRwglA7BtwAJ5ySBg==} + '@nuxt/schema@4.1.2': + resolution: {integrity: sha512-uFr13C6c52OFbF3hZVIV65KvhQRyrwp1GlAm7EVNGjebY8279QEel57T4R9UA1dn2Et6CBynBFhWoFwwo97Pig==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/ui@3.3.5': + resolution: {integrity: sha512-SC9+EYr5/9J+kGpQ2/ofPuoFRhsP6lohrBLyNLLcmGFKSMl7JdhC3aWVX60+e1sQ2FTnqhZcD8WJRk0kmrp7WA==} + hasBin: true peerDependencies: + '@inertiajs/vue3': ^2.0.7 joi: ^17.13.0 superstruct: ^2.0.0 + typescript: ^5.6.3 valibot: ^1.0.0 + vue-router: ^4.5.0 yup: ^1.6.0 - zod: ^3.24.0 + zod: ^3.24.0 || ^4.0.0 peerDependenciesMeta: + '@inertiajs/vue3': + optional: true joi: optional: true superstruct: optional: true valibot: optional: true + vue-router: + optional: true yup: optional: true zod: @@ -752,9 +920,6 @@ packages: '@nuxtjs/color-mode@3.5.2': resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} - '@nuxtjs/tailwindcss@6.14.0': - resolution: {integrity: sha512-30RyDK++LrUVRgc2A85MktGWIZoRQgeQKjE4CjjD64OXNozyl+4ScHnnYgqVToMM6Ch2ZG2W4wV2J0EN6F0zkQ==} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -763,8 +928,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} @@ -906,29 +1071,115 @@ packages: peerDependencies: eslint: '>=8.40.0' - '@tailwindcss/aspect-ratio@0.4.2': - resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} - peerDependencies: - tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@tailwindcss/container-queries@0.1.1': - resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} - peerDependencies: - tailwindcss: '>=3.2.0' + '@tailwindcss/node@4.1.13': + resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==} - '@tailwindcss/forms@0.5.10': - resolution: {integrity: sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==} - peerDependencies: - tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' + '@tailwindcss/oxide-android-arm64@4.1.13': + resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.13': + resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.13': + resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.13': + resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': + resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': + resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.13': + resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@tailwindcss/typography@0.5.16': - resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + '@tailwindcss/oxide-linux-x64-gnu@4.1.13': + resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.13': + resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.13': + resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': + resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.13': + resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.13': + resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.13': + resolution: {integrity: sha512-HLgx6YSFKJT7rJqh9oJs/TkBFhxuMOfUKSBEPYwV+t78POOBsdQ7crhZLzwcH3T0UyUuOzU/GK5pk5eKr3wCiQ==} + + '@tailwindcss/vite@4.1.13': + resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==} peerDependencies: - tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + vite: ^5.2.0 || ^6 || ^7 + + '@tanstack/table-core@8.21.3': + resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} + engines: {node: '>=12'} '@tanstack/virtual-core@3.13.12': resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} + '@tanstack/vue-table@8.21.3': + resolution: {integrity: sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw==} + engines: {node: '>=12'} + peerDependencies: + vue: '>=3.2' + '@tanstack/vue-virtual@3.13.12': resolution: {integrity: sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==} peerDependencies: @@ -1038,6 +1289,11 @@ packages: resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@unhead/vue@2.0.17': + resolution: {integrity: sha512-jzmGZYeMAhETV6qfetmLbZzUjjx1TjdNvFSobeFZb73D7dwD9wl/nOAx36qq+TvjZsLJdF5PQWToz2oDGAUqCg==} + peerDependencies: + vue: '>=3.5.18' + '@vitejs/plugin-vue@5.2.1': resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1144,6 +1400,9 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vue/shared@3.5.21': + resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==} + '@vue/tsconfig@0.7.0': resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==} peerDependencies: @@ -1155,9 +1414,15 @@ packages: vue: optional: true + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + '@vueuse/core@12.0.0': resolution: {integrity: sha512-C12RukhXiJCbx4MGhjmd/gH52TjJsc3G0E0kQj/kb19H3Nt6n1CA4DRWuTdWWcaFRdlTe0npWDS942mvacvNBw==} + '@vueuse/core@12.8.2': + resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} + '@vueuse/core@13.9.0': resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==} peerDependencies: @@ -1205,29 +1470,32 @@ packages: universal-cookie: optional: true - '@vueuse/math@13.9.0': - resolution: {integrity: sha512-Qk2jqlaEGKwwe2/MBGtUd8nPpzoQPSQTfm2d30NPywjpYdpbI+WqOAE99MuSq9kIRoU7Xq3IYBtxMaLTy6lpsA==} - peerDependencies: - vue: ^3.5.0 + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} '@vueuse/metadata@12.0.0': resolution: {integrity: sha512-Yzimd1D3sjxTDOlF05HekU5aSGdKjxhuhRFHA7gDWLn57PRbBIh+SF5NmjhJ0WRgF3my7T8LBucyxdFJjIfRJQ==} + '@vueuse/metadata@12.8.2': + resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} + '@vueuse/metadata@13.9.0': resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==} + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + '@vueuse/shared@12.0.0': resolution: {integrity: sha512-3i6qtcq2PIio5i/vVYidkkcgvmTjCqrf26u+Fd4LhnbBmIT6FN8y6q/GJERp8lfcB9zVEfjdV0Br0443qZuJpw==} + '@vueuse/shared@12.8.2': + resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} + '@vueuse/shared@13.9.0': resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==} peerDependencies: vue: ^3.5.0 - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1307,17 +1575,14 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -1328,10 +1593,16 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + blob-to-buffer@1.2.9: + resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1345,6 +1616,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brotli@1.3.3: + resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} + browserslist@4.24.2: resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1366,18 +1640,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cache-content-type@1.0.1: - resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} - engines: {node: '>= 6.0.0'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1415,6 +1677,10 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + ci-info@4.1.0: resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} @@ -1430,9 +1696,9 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1441,14 +1707,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colortranslator@5.0.0: + resolution: {integrity: sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w==} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -1472,24 +1737,15 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - cookies@0.9.1: - resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} - engines: {node: '>= 0.8'} - core-js-compat@3.39.0: resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1497,6 +1753,10 @@ packages: crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1541,26 +1801,12 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-equal@1.0.1: - resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1568,13 +1814,16 @@ packages: destr@2.0.5: resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-libc@2.1.0: + resolution: {integrity: sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==} + engines: {node: '>=8'} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dfa@1.2.0: + resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -1589,33 +1838,70 @@ packages: resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==} engines: {node: '>=12'} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.67: resolution: {integrity: sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==} + embla-carousel-auto-height@8.6.0: + resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-auto-scroll@8.6.0: + resolution: {integrity: sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-autoplay@8.6.0: + resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-class-names@8.6.0: + resolution: {integrity: sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-fade@8.6.0: + resolution: {integrity: sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-reactive-utils@8.6.0: + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-vue@8.6.0: + resolution: {integrity: sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ==} + peerDependencies: + vue: ^3.2.37 + + embla-carousel-wheel-gestures@8.1.0: + resolution: {integrity: sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ==} + engines: {node: '>=10'} + peerDependencies: + embla-carousel: ^8.0.0 || ~8.0.0-rc03 + + embla-carousel@8.6.0: + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -1626,21 +1912,9 @@ packages: errx@0.1.0: resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1651,13 +1925,15 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.10: + resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1939,6 +2215,12 @@ packages: flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + fontaine@0.6.0: + resolution: {integrity: sha512-cfKqzB62GmztJhwJ0YXtzNsmpqKAcFzTqsakJ//5COTzbou90LU7So18U+4D8z+lDXr4uztaAUZBonSoPDcj1w==} + + fontkit@2.0.4: + resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} @@ -1946,21 +2228,10 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1977,14 +2248,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -2008,10 +2271,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -2028,10 +2287,6 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2045,14 +2300,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2061,25 +2308,12 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - http-assert@1.5.0: - resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} - engines: {node: '>= 0.8'} - - http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -2108,16 +2342,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -2136,11 +2360,6 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2149,10 +2368,6 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2161,18 +2376,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2235,13 +2442,6 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - - keygrip@1.1.0: - resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} - engines: {node: '>= 0.6'} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2252,25 +2452,6 @@ packages: knitwork@1.2.0: resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} - koa-compose@4.1.0: - resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - - koa-convert@2.0.0: - resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} - engines: {node: '>= 10'} - - koa-send@5.0.1: - resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} - engines: {node: '>= 8'} - - koa-static@5.0.0: - resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} - engines: {node: '>= 7.6.0'} - - koa@2.16.2: - resolution: {integrity: sha512-+CCssgnrWKx9aI3OeZwroa/ckG4JICxvIFnSiOUyl2Uv+UTI+xIw0FfFrWS7cQFpoePpr9o8csss7KzsTzNL8Q==} - engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} - kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -2278,6 +2459,70 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -2301,12 +2546,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -2326,6 +2565,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + magic-regexp@0.10.0: + resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==} + magic-string@0.30.14: resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} @@ -2335,10 +2577,6 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} @@ -2372,9 +2610,8 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2383,10 +2620,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - micromark-core-commonmark@2.0.2: resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} @@ -2475,14 +2708,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -2491,10 +2716,6 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-svg-data-uri@1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -2509,12 +2730,20 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mlly@1.7.3: resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2536,13 +2765,18 @@ packages: resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} engines: {node: '>=18'} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-mock-http@1.0.3: resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==} @@ -2580,27 +2814,16 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - only@0.0.2: - resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} - - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2634,6 +2857,9 @@ packages: package-manager-detector@1.3.0: resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2650,10 +2876,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -2661,10 +2883,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -2680,9 +2898,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@6.3.0: - resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -2732,10 +2947,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - portfinder@1.0.38: - resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} - engines: {node: '>= 10.12'} - postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -2766,24 +2977,10 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-nesting@13.0.2: - resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - postcss-selector-parser@7.1.0: - resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} - engines: {node: '>=4'} - postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -2855,10 +3052,10 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true - replace-in-file@6.3.5: - resolution: {integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==} - engines: {node: '>=10'} - hasBin: true + reka-ui@2.5.0: + resolution: {integrity: sha512-81aMAmJeVCy2k0E6x7n1kypDY6aM1ldLis5+zcdV1/JtoAlSDck5OBsyLRJU9CfgbrQp1ImnRnBSmC4fZ2fkZQ==} + peerDependencies: + vue: '>= 3.2.0' require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} @@ -2872,10 +3069,6 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve-path@1.4.0: - resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} - engines: {node: '>= 0.8'} - resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -2883,6 +3076,9 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + restructure@3.0.2: + resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -2895,13 +3091,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - scslre@0.3.0: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} @@ -2928,12 +3117,6 @@ packages: engines: {node: '>=10'} hasBin: true - setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2949,6 +3132,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -2987,14 +3174,6 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} @@ -3061,30 +3240,35 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} - tailwind-config-viewer@2.0.4: - resolution: {integrity: sha512-icvcmdMmt9dphvas8wL40qttrHwAnW3QEN4ExJ2zICjwRsPj7gowd1cOceaWG3IfTuM/cTNGQcx+bsjMtmV+cw==} - engines: {node: '>=13'} - hasBin: true - peerDependencies: - tailwindcss: 1 || 2 || 2.0.1-compat || 3 + tailwind-merge@3.3.1: + resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} - tailwind-merge@2.6.0: - resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} + tailwind-variants@3.1.1: + resolution: {integrity: sha512-ftLXe3krnqkMHsuBTEmaVUXYovXtPyTK7ckEfDRXS8PBZx0bAUas+A0jYxuKA5b8qg++wvQ3d2MQ7l/xeZxbZQ==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwind-merge: '>=3.0.0' + tailwindcss: '*' + peerDependenciesMeta: + tailwind-merge: + optional: true tailwindcss@3.4.16: resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} engines: {node: '>=14.0.0'} hasBin: true - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@4.1.13: + resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==} tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar@7.5.1: + resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==} + engines: {node: '>=18'} + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -3092,6 +3276,9 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -3121,14 +3308,17 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - toml-eslint-parser@0.10.0: resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + ts-api-utils@1.4.3: resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -3141,10 +3331,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsscmp@1.0.6: - resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} - engines: {node: '>=0.6.x'} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3161,9 +3347,8 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-level-regexp@0.1.17: + resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==} typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} @@ -3190,6 +3375,22 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + unhead@2.0.17: + resolution: {integrity: sha512-xX3PCtxaE80khRZobyWCVxeFF88/Tg9eJDcJWY9us727nsTC7C449B8BUfVBmiF2+3LjPcmqeoB2iuMs0U4oJQ==} + + unicode-properties@1.4.1: + resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unifont@0.4.1: + resolution: {integrity: sha512-zKSY9qO8svWYns+FGKjyVdLvpGPwqmsCjeJLN1xndMiqxHWBAhoWDMYMG960MxeV48clBmG+fDP59dHY1VoZvg==} + + unimport@4.2.0: + resolution: {integrity: sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==} + engines: {node: '>=18.12.0'} + unimport@5.2.0: resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} engines: {node: '>=18.12.0'} @@ -3210,18 +3411,101 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + unplugin-auto-import@19.3.0: + resolution: {integrity: sha512-iIi0u4Gq2uGkAOGqlPJOAMI8vocvjh1clGTfSK4SOrJKrt+tirrixo/FjgBwXQNNdS7ofcr7OxzmOb/RjWxeEQ==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true unplugin-utils@0.2.5: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} + unplugin-vue-components@28.8.0: + resolution: {integrity: sha512-2Q6ZongpoQzuXDK0ZsVzMoshH0MWZQ1pzVL538G7oIDKRTVzHjppBDS8aB99SADGHN3lpGU7frraCG6yWNoL5Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 || ^4.0.0 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + unplugin@2.3.10: resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} engines: {node: '>=18.12.0'} + unstorage@1.17.1: + resolution: {integrity: sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + untyped@2.0.0: resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} hasBin: true @@ -3241,9 +3525,11 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + vaul-vue@0.4.1: + resolution: {integrity: sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ==} + peerDependencies: + reka-ui: ^2.0.0 + vue: ^3.3.0 vite-node@2.1.9: resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} @@ -3364,6 +3650,20 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue-component-type-helpers@3.0.8: + resolution: {integrity: sha512-WyR30Eq15Y/+odrUUMax6FmPbZwAp/HnC7qgR1r3lVFAcqwQ4wUoV79Mbh4SxDy3NiqDa+G4TOKD5xXSgBHo5A==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-eslint-parser@9.4.3: resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} engines: {node: ^14.17.0 || >=16.0.0} @@ -3384,9 +3684,19 @@ packages: typescript: optional: true + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + wheel-gestures@2.2.48: + resolution: {integrity: sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA==} + engines: {node: '>=18'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3409,9 +3719,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} @@ -3423,6 +3730,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml-eslint-parser@1.2.3: resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} @@ -3440,10 +3751,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - ylru@1.4.0: - resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} - engines: {node: '>= 4.0.0'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -3455,7 +3762,7 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': + '@antfu/eslint-config@3.11.2(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@0.1.3(eslint@9.16.0(jiti@2.5.1)))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1))': dependencies: '@antfu/install-pkg': 0.5.0 '@clack/prompts': 0.8.2 @@ -3464,7 +3771,7 @@ snapshots: '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) - '@vitest/eslint-plugin': 1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)) + '@vitest/eslint-plugin': 1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1)) eslint: 9.16.0(jiti@2.5.1) eslint-config-flat-gitignore: 0.3.0(eslint@9.16.0(jiti@2.5.1)) eslint-flat-config-utils: 0.4.0 @@ -3536,6 +3843,16 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@capsizecss/metrics@3.5.0': {} + + '@capsizecss/unpack@2.4.0': + dependencies: + blob-to-buffer: 1.2.9 + cross-fetch: 3.2.0 + fontkit: 2.0.4 + transitivePeerDependencies: + - encoding + '@clack/core@0.3.5': dependencies: picocolors: 1.1.1 @@ -3547,14 +3864,6 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.0)': - dependencies: - postcss-selector-parser: 7.1.0 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': - dependencies: - postcss-selector-parser: 7.1.0 - '@dprint/formatter@0.3.0': {} '@dprint/markdown@0.17.8': {} @@ -3579,144 +3888,222 @@ snapshots: '@esbuild/aix-ppc64@0.24.2': optional: true + '@esbuild/aix-ppc64@0.25.10': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.24.2': optional: true + '@esbuild/android-arm64@0.25.10': + optional: true + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.24.2': optional: true + '@esbuild/android-arm@0.25.10': + optional: true + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.24.2': optional: true + '@esbuild/android-x64@0.25.10': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.24.2': optional: true + '@esbuild/darwin-arm64@0.25.10': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.24.2': optional: true + '@esbuild/darwin-x64@0.25.10': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.24.2': optional: true + '@esbuild/freebsd-arm64@0.25.10': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/freebsd-x64@0.24.2': optional: true + '@esbuild/freebsd-x64@0.25.10': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm64@0.24.2': optional: true + '@esbuild/linux-arm64@0.25.10': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-arm@0.24.2': optional: true + '@esbuild/linux-arm@0.25.10': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-ia32@0.24.2': optional: true + '@esbuild/linux-ia32@0.25.10': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-loong64@0.24.2': optional: true + '@esbuild/linux-loong64@0.25.10': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-mips64el@0.24.2': optional: true + '@esbuild/linux-mips64el@0.25.10': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-ppc64@0.24.2': optional: true + '@esbuild/linux-ppc64@0.25.10': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-riscv64@0.24.2': optional: true + '@esbuild/linux-riscv64@0.25.10': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-s390x@0.24.2': optional: true + '@esbuild/linux-s390x@0.25.10': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/linux-x64@0.24.2': optional: true + '@esbuild/linux-x64@0.25.10': + optional: true + '@esbuild/netbsd-arm64@0.24.2': optional: true + '@esbuild/netbsd-arm64@0.25.10': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.24.2': optional: true + '@esbuild/netbsd-x64@0.25.10': + optional: true + '@esbuild/openbsd-arm64@0.24.2': optional: true + '@esbuild/openbsd-arm64@0.25.10': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.24.2': optional: true + '@esbuild/openbsd-x64@0.25.10': + optional: true + + '@esbuild/openharmony-arm64@0.25.10': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.24.2': optional: true + '@esbuild/sunos-x64@0.25.10': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.24.2': optional: true + '@esbuild/win32-arm64@0.25.10': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.24.2': optional: true + '@esbuild/win32-ia32@0.25.10': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true '@esbuild/win32-x64@0.24.2': optional: true + '@esbuild/win32-x64@0.25.10': + optional: true + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.16.0(jiti@2.5.1))': dependencies: escape-string-regexp: 4.0.0 @@ -3775,14 +4162,25 @@ snapshots: dependencies: levn: 0.4.1 - '@headlessui/tailwindcss@0.2.2(tailwindcss@3.4.17)': + '@floating-ui/core@1.7.3': dependencies: - tailwindcss: 3.4.17 + '@floating-ui/utils': 0.2.10 - '@headlessui/vue@1.7.23(vue@3.5.13(typescript@5.7.2))': + '@floating-ui/dom@1.7.4': dependencies: - '@tanstack/vue-virtual': 3.13.12(vue@3.5.13(typescript@5.7.2)) - vue: 3.5.13(typescript@5.7.2) + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + + '@floating-ui/utils@0.2.10': {} + + '@floating-ui/vue@1.1.9(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@floating-ui/dom': 1.7.4 + '@floating-ui/utils': 0.2.10 + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue '@humanfs/core@0.19.1': {} @@ -3797,10 +4195,6 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@iconify-json/heroicons@1.2.2': - dependencies: - '@iconify/types': 2.0.0 - '@iconify/collections@1.0.595': dependencies: '@iconify/types': 2.0.0 @@ -3825,6 +4219,14 @@ snapshots: '@iconify/types': 2.0.0 vue: 3.5.13(typescript@5.7.2) + '@internationalized/date@3.9.0': + dependencies: + '@swc/helpers': 0.5.17 + + '@internationalized/number@3.6.5': + dependencies: + '@swc/helpers': 0.5.17 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -3834,6 +4236,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -3858,16 +4264,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@koa/router@12.0.2': - dependencies: - debug: 4.3.7 - http-errors: 2.0.0 - koa-compose: 4.1.0 - methods: 1.1.2 - path-to-regexp: 6.3.0 - transitivePeerDependencies: - - supports-color - '@microsoft/api-extractor-model@7.30.0(@types/node@22.10.1)': dependencies: '@microsoft/tsdoc': 0.15.1 @@ -3915,28 +4311,74 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nuxt/devtools-kit@2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))': + '@nuxt/devtools-kit@2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))': dependencies: '@nuxt/kit': 3.19.2 execa: 8.0.1 - vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) + transitivePeerDependencies: + - magicast + + '@nuxt/fonts@0.11.4(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))': + dependencies: + '@nuxt/devtools-kit': 2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + '@nuxt/kit': 3.19.2 + consola: 3.4.2 + css-tree: 3.1.0 + defu: 6.1.4 + esbuild: 0.25.10 + fontaine: 0.6.0 + h3: 1.15.4 + jiti: 2.5.1 + magic-regexp: 0.10.0 + magic-string: 0.30.19 + node-fetch-native: 1.6.7 + ohash: 2.0.11 + pathe: 2.0.3 + sirv: 3.0.2 + tinyglobby: 0.2.15 + ufo: 1.6.1 + unifont: 0.4.1 + unplugin: 2.3.10 + unstorage: 1.17.1 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - encoding + - idb-keyval + - ioredis - magicast + - uploadthing + - vite - '@nuxt/icon@1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@nuxt/icon@1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: '@iconify/collections': 1.0.595 '@iconify/types': 2.0.0 '@iconify/utils': 2.3.0 '@iconify/vue': 5.0.0(vue@3.5.13(typescript@5.7.2)) - '@nuxt/devtools-kit': 2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)) + '@nuxt/devtools-kit': 2.6.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) '@nuxt/kit': 3.19.2 consola: 3.4.2 local-pkg: 1.1.2 mlly: 1.8.0 ohash: 2.0.11 pathe: 2.0.3 - picomatch: 4.0.2 + picomatch: 4.0.3 std-env: 3.9.0 tinyglobby: 0.2.15 transitivePeerDependencies: @@ -4000,46 +4442,98 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/ui@2.22.3(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@nuxt/schema@4.1.2': + dependencies: + '@vue/shared': 3.5.21 + consola: 3.4.2 + defu: 6.1.4 + pathe: 2.0.3 + pkg-types: 2.3.0 + std-env: 3.9.0 + ufo: 1.6.1 + + '@nuxt/ui@3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - '@headlessui/tailwindcss': 0.2.2(tailwindcss@3.4.17) - '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.2)) - '@iconify-json/heroicons': 1.2.2 - '@nuxt/icon': 1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + '@iconify/vue': 5.0.0(vue@3.5.13(typescript@5.7.2)) + '@internationalized/date': 3.9.0 + '@internationalized/number': 3.6.5 + '@nuxt/fonts': 0.11.4(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + '@nuxt/icon': 1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@nuxt/kit': 4.1.2 + '@nuxt/schema': 4.1.2 '@nuxtjs/color-mode': 3.5.2 - '@nuxtjs/tailwindcss': 6.14.0 - '@popperjs/core': 2.11.8 '@standard-schema/spec': 1.0.0 - '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.17) - '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.17) - '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17) - '@tailwindcss/typography': 0.5.16(tailwindcss@3.4.17) + '@tailwindcss/postcss': 4.1.13 + '@tailwindcss/vite': 4.1.13(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + '@tanstack/vue-table': 8.21.3(vue@3.5.13(typescript@5.7.2)) + '@unhead/vue': 2.0.17(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': 13.9.0(vue@3.5.13(typescript@5.7.2)) '@vueuse/integrations': 13.9.0(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2)) - '@vueuse/math': 13.9.0(vue@3.5.13(typescript@5.7.2)) + colortranslator: 5.0.0 + consola: 3.4.2 defu: 6.1.4 + embla-carousel-auto-height: 8.6.0(embla-carousel@8.6.0) + embla-carousel-auto-scroll: 8.6.0(embla-carousel@8.6.0) + embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) + embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) + embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) + embla-carousel-vue: 8.6.0(vue@3.5.13(typescript@5.7.2)) + embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) fuse.js: 7.1.0 + hookable: 5.5.3 + knitwork: 1.2.0 + magic-string: 0.30.19 + mlly: 1.8.0 ohash: 2.0.11 pathe: 2.0.3 + reka-ui: 2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) scule: 1.3.0 - tailwind-merge: 2.6.0 - tailwindcss: 3.4.17 + tailwind-merge: 3.3.1 + tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.13) + tailwindcss: 4.1.13 + tinyglobby: 0.2.15 + typescript: 5.7.2 + unplugin: 2.3.10 + unplugin-auto-import: 19.3.0(@nuxt/kit@4.1.2)(@vueuse/core@13.9.0(vue@3.5.13(typescript@5.7.2))) + unplugin-vue-components: 28.8.0(@babel/parser@7.26.2)(@nuxt/kit@4.1.2)(vue@3.5.13(typescript@5.7.2)) + vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) + vue-component-type-helpers: 3.0.8 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@babel/parser' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vue/composition-api' - async-validator + - aws4fetch - axios - change-case + - db0 - drauu + - embla-carousel + - encoding - focus-trap - idb-keyval + - ioredis - jwt-decode - magicast - nprogress - qrcode - sortablejs - supports-color - - ts-node - universal-cookie + - uploadthing - vite - vue @@ -4047,40 +4541,17 @@ snapshots: dependencies: '@nuxt/kit': 3.19.2 pathe: 1.1.2 - pkg-types: 1.2.1 - semver: 7.6.3 - transitivePeerDependencies: - - magicast - - '@nuxtjs/tailwindcss@6.14.0': - dependencies: - '@nuxt/kit': 3.19.2 - autoprefixer: 10.4.20(postcss@8.5.6) - c12: 3.3.0 - consola: 3.4.2 - defu: 6.1.4 - h3: 1.15.4 - klona: 2.0.6 - ohash: 2.0.11 - pathe: 2.0.3 - pkg-types: 2.3.0 - postcss: 8.5.6 - postcss-nesting: 13.0.2(postcss@8.5.6) - tailwind-config-viewer: 2.0.4(tailwindcss@3.4.17) - tailwindcss: 3.4.17 - ufo: 1.5.4 - unctx: 2.4.1 + pkg-types: 1.3.1 + semver: 7.7.2 transitivePeerDependencies: - magicast - - supports-color - - ts-node '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.1.1': {} - '@popperjs/core@2.11.8': {} + '@polka/url@1.0.0-next.29': {} '@rollup/pluginutils@5.1.3(rollup@4.40.1)': dependencies: @@ -4198,29 +4669,98 @@ snapshots: - supports-color - typescript - '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.17)': + '@swc/helpers@0.5.17': dependencies: - tailwindcss: 3.4.17 + tslib: 2.8.1 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)': + '@tailwindcss/node@4.1.13': dependencies: - tailwindcss: 3.4.17 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.3 + jiti: 2.5.1 + lightningcss: 1.30.1 + magic-string: 0.30.19 + source-map-js: 1.2.1 + tailwindcss: 4.1.13 + + '@tailwindcss/oxide-android-arm64@4.1.13': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.13': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.13': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.13': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.13': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.13': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.13': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.13': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.13': + optional: true - '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17)': + '@tailwindcss/oxide@4.1.13': dependencies: - mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17 + detect-libc: 2.1.0 + tar: 7.5.1 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.13 + '@tailwindcss/oxide-darwin-arm64': 4.1.13 + '@tailwindcss/oxide-darwin-x64': 4.1.13 + '@tailwindcss/oxide-freebsd-x64': 4.1.13 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.13 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.13 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.13 + '@tailwindcss/oxide-linux-x64-musl': 4.1.13 + '@tailwindcss/oxide-wasm32-wasi': 4.1.13 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.13 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.13 + + '@tailwindcss/postcss@4.1.13': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.13 + '@tailwindcss/oxide': 4.1.13 + postcss: 8.5.6 + tailwindcss: 4.1.13 - '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': + '@tailwindcss/vite@4.1.13(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))': dependencies: - lodash.castarray: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.17 + '@tailwindcss/node': 4.1.13 + '@tailwindcss/oxide': 4.1.13 + tailwindcss: 4.1.13 + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) + + '@tanstack/table-core@8.21.3': {} '@tanstack/virtual-core@3.13.12': {} + '@tanstack/vue-table@8.21.3(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@tanstack/table-core': 8.21.3 + vue: 3.5.13(typescript@5.7.2) + '@tanstack/vue-virtual@3.13.12(vue@3.5.13(typescript@5.7.2))': dependencies: '@tanstack/virtual-core': 3.13.12 @@ -4342,18 +4882,24 @@ snapshots: '@typescript-eslint/types': 8.16.0 eslint-visitor-keys: 4.2.0 - '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@unhead/vue@2.0.17(vue@3.5.13(typescript@5.7.2))': + dependencies: + hookable: 5.5.3 + unhead: 2.0.17 + vue: 3.5.13(typescript@5.7.2) + + '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.2) - '@vitest/eslint-plugin@1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1))': + '@vitest/eslint-plugin@1.1.12(@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2)(vitest@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1))': dependencies: '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.5.1))(typescript@5.7.2) eslint: 9.16.0(jiti@2.5.1) optionalDependencies: typescript: 5.7.2 - vitest: 2.1.9(@types/node@22.10.1) + vitest: 2.1.9(@types/node@22.10.1)(lightningcss@1.30.1) '@vitest/expect@2.1.9': dependencies: @@ -4362,13 +4908,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.14(@types/node@22.10.1))': + '@vitest/mocker@2.1.9(vite@5.4.14(@types/node@22.10.1)(lightningcss@1.30.1))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: - vite: 5.4.14(@types/node@22.10.1) + vite: 5.4.14(@types/node@22.10.1)(lightningcss@1.30.1) '@vitest/pretty-format@2.1.9': dependencies: @@ -4492,11 +5038,23 @@ snapshots: '@vue/shared@3.5.13': {} + '@vue/shared@3.5.21': {} + '@vue/tsconfig@0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))': optionalDependencies: typescript: 5.7.2 vue: 3.5.13(typescript@5.7.2) + '@vueuse/core@10.11.1(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.2)) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/core@12.0.0(typescript@5.7.2)': dependencies: '@types/web-bluetooth': 0.0.20 @@ -4506,6 +5064,15 @@ snapshots: transitivePeerDependencies: - typescript + '@vueuse/core@12.8.2(typescript@5.7.2)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 12.8.2 + '@vueuse/shared': 12.8.2(typescript@5.7.2) + vue: 3.5.13(typescript@5.7.2) + transitivePeerDependencies: + - typescript + '@vueuse/core@13.9.0(vue@3.5.13(typescript@5.7.2))': dependencies: '@types/web-bluetooth': 0.0.21 @@ -4521,29 +5088,36 @@ snapshots: optionalDependencies: fuse.js: 7.1.0 - '@vueuse/math@13.9.0(vue@3.5.13(typescript@5.7.2))': - dependencies: - '@vueuse/shared': 13.9.0(vue@3.5.13(typescript@5.7.2)) - vue: 3.5.13(typescript@5.7.2) + '@vueuse/metadata@10.11.1': {} '@vueuse/metadata@12.0.0': {} + '@vueuse/metadata@12.8.2': {} + '@vueuse/metadata@13.9.0': {} + '@vueuse/shared@10.11.1(vue@3.5.13(typescript@5.7.2))': + dependencies: + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + '@vueuse/shared@12.0.0(typescript@5.7.2)': dependencies: vue: 3.5.13(typescript@5.7.2) transitivePeerDependencies: - typescript - '@vueuse/shared@13.9.0(vue@3.5.13(typescript@5.7.2))': + '@vueuse/shared@12.8.2(typescript@5.7.2)': dependencies: vue: 3.5.13(typescript@5.7.2) + transitivePeerDependencies: + - typescript - accepts@1.3.8: + '@vueuse/shared@13.9.0(vue@3.5.13(typescript@5.7.2))': dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 + vue: 3.5.13(typescript@5.7.2) acorn-jsx@5.3.2(acorn@8.14.0): dependencies: @@ -4611,11 +5185,11 @@ snapshots: argparse@2.0.1: {} - assertion-error@2.0.1: {} - - async@3.2.6: {} + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 - at-least-node@1.0.0: {} + assertion-error@2.0.1: {} autoprefixer@10.4.20(postcss@8.5.6): dependencies: @@ -4629,8 +5203,12 @@ snapshots: balanced-match@1.0.2: {} + base64-js@1.5.1: {} + binary-extensions@2.3.0: {} + blob-to-buffer@1.2.9: {} + boolbase@1.0.0: {} brace-expansion@1.1.11: @@ -4646,6 +5224,10 @@ snapshots: dependencies: fill-range: 7.1.1 + brotli@1.3.3: + dependencies: + base64-js: 1.5.1 + browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001684 @@ -4672,21 +5254,6 @@ snapshots: cac@6.7.14: {} - cache-content-type@1.0.1: - dependencies: - mime-types: 2.1.35 - ylru: 1.4.0 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - callsites@3.1.0: {} camelcase-css@2.0.1: {} @@ -4728,6 +5295,8 @@ snapshots: dependencies: readdirp: 4.1.2 + chownr@3.0.0: {} + ci-info@4.1.0: {} citty@0.1.6: @@ -4744,7 +5313,7 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - co@4.6.0: {} + clone@2.1.2: {} color-convert@2.0.1: dependencies: @@ -4752,9 +5321,9 @@ snapshots: color-name@1.1.4: {} - commander@4.1.1: {} + colortranslator@5.0.0: {} - commander@6.2.1: {} + commander@4.1.1: {} comment-parser@1.4.1: {} @@ -4770,23 +5339,18 @@ snapshots: consola@3.4.2: {} - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - cookie-es@1.2.2: {} - cookies@0.9.1: - dependencies: - depd: 2.0.0 - keygrip: 1.1.0 - core-js-compat@3.39.0: dependencies: browserslist: 4.24.2 + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4797,6 +5361,11 @@ snapshots: dependencies: uncrypto: 0.1.3 + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -4821,28 +5390,22 @@ snapshots: deep-eql@5.0.2: {} - deep-equal@1.0.1: {} - deep-is@0.1.4: {} defu@6.1.4: {} - delegates@1.0.0: {} - - depd@1.1.2: {} - - depd@2.0.0: {} - dequal@2.0.3: {} destr@2.0.5: {} - destroy@1.2.0: {} + detect-libc@2.1.0: {} devlop@1.1.0: dependencies: dequal: 2.0.3 + dfa@1.2.0: {} + didyoumean@1.2.2: {} dlv@1.1.3: {} @@ -4853,29 +5416,61 @@ snapshots: dotenv@17.2.2: {} - dunder-proto@1.0.1: + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.67: {} + + embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 + embla-carousel: 8.6.0 - eastasianwidth@0.2.0: {} + embla-carousel-auto-scroll@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 - ee-first@1.1.1: {} + embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 - electron-to-chromium@1.5.67: {} + embla-carousel-class-names@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-fade@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-vue@8.6.0(vue@3.5.13(typescript@5.7.2)): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) + vue: 3.5.13(typescript@5.7.2) + + embla-carousel-wheel-gestures@8.1.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + wheel-gestures: 2.2.48 + + embla-carousel@8.6.0: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - encodeurl@1.0.2: {} - enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + entities@4.5.0: {} error-ex@1.3.2: @@ -4884,16 +5479,8 @@ snapshots: errx@0.1.0: {} - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - es-module-lexer@1.5.4: {} - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -4948,9 +5535,36 @@ snapshots: '@esbuild/win32-ia32': 0.24.2 '@esbuild/win32-x64': 0.24.2 - escalade@3.2.0: {} + esbuild@0.25.10: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.10 + '@esbuild/android-arm': 0.25.10 + '@esbuild/android-arm64': 0.25.10 + '@esbuild/android-x64': 0.25.10 + '@esbuild/darwin-arm64': 0.25.10 + '@esbuild/darwin-x64': 0.25.10 + '@esbuild/freebsd-arm64': 0.25.10 + '@esbuild/freebsd-x64': 0.25.10 + '@esbuild/linux-arm': 0.25.10 + '@esbuild/linux-arm64': 0.25.10 + '@esbuild/linux-ia32': 0.25.10 + '@esbuild/linux-loong64': 0.25.10 + '@esbuild/linux-mips64el': 0.25.10 + '@esbuild/linux-ppc64': 0.25.10 + '@esbuild/linux-riscv64': 0.25.10 + '@esbuild/linux-s390x': 0.25.10 + '@esbuild/linux-x64': 0.25.10 + '@esbuild/netbsd-arm64': 0.25.10 + '@esbuild/netbsd-x64': 0.25.10 + '@esbuild/openbsd-arm64': 0.25.10 + '@esbuild/openbsd-x64': 0.25.10 + '@esbuild/openharmony-arm64': 0.25.10 + '@esbuild/sunos-x64': 0.25.10 + '@esbuild/win32-arm64': 0.25.10 + '@esbuild/win32-ia32': 0.25.10 + '@esbuild/win32-x64': 0.25.10 - escape-html@1.0.3: {} + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -5332,6 +5946,31 @@ snapshots: flatted@3.3.2: {} + fontaine@0.6.0: + dependencies: + '@capsizecss/metrics': 3.5.0 + '@capsizecss/unpack': 2.4.0 + css-tree: 3.1.0 + magic-regexp: 0.10.0 + magic-string: 0.30.19 + pathe: 2.0.3 + ufo: 1.6.1 + unplugin: 2.3.10 + transitivePeerDependencies: + - encoding + + fontkit@2.0.4: + dependencies: + '@swc/helpers': 0.5.17 + brotli: 1.3.3 + clone: 2.1.2 + dfa: 1.2.0 + fast-deep-equal: 3.1.3 + restructure: 3.0.2 + tiny-inflate: 1.0.3 + unicode-properties: 1.4.1 + unicode-trie: 2.0.0 + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.6 @@ -5339,23 +5978,12 @@ snapshots: fraction.js@4.3.7: {} - fresh@0.5.2: {} - fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true @@ -5365,24 +5993,6 @@ snapshots: get-caller-file@2.0.5: {} - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - get-stream@8.0.1: {} get-tsconfig@4.8.1: @@ -5415,15 +6025,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -5434,8 +6035,6 @@ snapshots: globals@15.15.0: {} - gopd@1.2.0: {} - graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -5454,47 +6053,15 @@ snapshots: has-flag@4.0.0: {} - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - hasown@2.0.2: dependencies: function-bind: 1.1.2 he@1.2.0: {} - hosted-git-info@2.8.9: {} - - http-assert@1.5.0: - dependencies: - deep-equal: 1.0.1 - http-errors: 1.8.1 - - http-errors@1.6.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - - http-errors@1.8.1: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 + hookable@5.5.3: {} - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 + hosted-git-info@2.8.9: {} human-signals@5.0.0: {} @@ -5513,15 +6080,6 @@ snapshots: indent-string@4.0.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.3: {} - - inherits@2.0.4: {} - iron-webcrypto@1.2.1: {} is-arrayish@0.2.1: {} @@ -5538,38 +6096,18 @@ snapshots: dependencies: hasown: 2.0.2 - is-docker@2.2.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.1.0: - dependencies: - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - is-stream@3.0.0: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - isexe@2.0.0: {} jackspeak@3.4.3: @@ -5619,16 +6157,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - keygrip@1.1.0: - dependencies: - tsscmp: 1.0.6 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -5637,62 +6165,57 @@ snapshots: knitwork@1.2.0: {} - koa-compose@4.1.0: {} + kolorist@1.8.0: {} - koa-convert@2.0.0: + levn@0.4.1: dependencies: - co: 4.6.0 - koa-compose: 4.1.0 + prelude-ls: 1.2.1 + type-check: 0.4.0 - koa-send@5.0.1: - dependencies: - debug: 4.3.7 - http-errors: 1.8.1 - resolve-path: 1.4.0 - transitivePeerDependencies: - - supports-color + lightningcss-darwin-arm64@1.30.1: + optional: true - koa-static@5.0.0: - dependencies: - debug: 3.2.7 - koa-send: 5.0.1 - transitivePeerDependencies: - - supports-color + lightningcss-darwin-x64@1.30.1: + optional: true - koa@2.16.2: - dependencies: - accepts: 1.3.8 - cache-content-type: 1.0.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookies: 0.9.1 - debug: 4.3.7 - delegates: 1.0.0 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.5.0 - http-errors: 1.8.1 - is-generator-function: 1.1.0 - koa-compose: 4.1.0 - koa-convert: 2.0.0 - on-finished: 2.4.1 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + lightningcss-freebsd-x64@1.30.1: + optional: true - kolorist@1.8.0: {} + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true - levn@0.4.1: + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + detect-libc: 2.1.0 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 lilconfig@3.1.3: {} @@ -5717,10 +6240,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.castarray@4.4.0: {} - - lodash.isplainobject@4.0.6: {} - lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -5735,6 +6254,16 @@ snapshots: dependencies: yallist: 4.0.0 + magic-regexp@0.10.0: + dependencies: + estree-walker: 3.0.3 + magic-string: 0.30.19 + mlly: 1.8.0 + regexp-tree: 0.1.27 + type-level-regexp: 0.1.17 + ufo: 1.6.1 + unplugin: 2.3.10 + magic-string@0.30.14: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -5745,8 +6274,6 @@ snapshots: markdown-table@3.0.4: {} - math-intrinsics@1.1.0: {} - mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.4 @@ -5849,14 +6376,12 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - media-typer@0.3.0: {} + mdn-data@2.12.2: {} merge-stream@2.0.0: {} merge2@1.4.1: {} - methods@1.1.2: {} - micromark-core-commonmark@2.0.2: dependencies: decode-named-character-reference: 1.0.2 @@ -6053,18 +6578,10 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mimic-fn@4.0.0: {} min-indent@1.0.1: {} - mini-svg-data-uri@1.4.4: {} - minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 @@ -6079,6 +6596,10 @@ snapshots: minipass@7.1.2: {} + minizlib@3.1.0: + dependencies: + minipass: 7.1.2 + mlly@1.7.3: dependencies: acorn: 8.14.0 @@ -6093,6 +6614,8 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.1 + mrmime@2.0.1: {} + ms@2.1.3: {} muggle-string@0.4.1: {} @@ -6109,10 +6632,12 @@ snapshots: natural-orderby@5.0.0: {} - negotiator@0.6.3: {} - node-fetch-native@1.6.7: {} + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + node-mock-http@1.0.3: {} node-releases@2.0.18: {} @@ -6148,27 +6673,18 @@ snapshots: object-hash@3.0.0: {} - ohash@2.0.11: {} - - on-finished@2.4.1: + ofetch@1.4.1: dependencies: - ee-first: 1.1.1 + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.1 - once@1.4.0: - dependencies: - wrappy: 1.0.2 + ohash@2.0.11: {} onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - only@0.0.2: {} - - open@7.4.2: - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6202,6 +6718,8 @@ snapshots: package-manager-detector@1.3.0: {} + pako@0.2.9: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -6220,14 +6738,10 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parseurl@1.3.3: {} - path-browserify@1.0.1: {} path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -6239,8 +6753,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@6.3.0: {} - pathe@1.1.2: {} pathe@2.0.3: {} @@ -6281,13 +6793,6 @@ snapshots: pluralize@8.0.0: {} - portfinder@1.0.38: - dependencies: - async: 3.2.6 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - postcss-import@15.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -6312,28 +6817,11 @@ snapshots: postcss: 8.5.6 postcss-selector-parser: 6.1.2 - postcss-nesting@13.0.2(postcss@8.5.6): - dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.0) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) - postcss: 8.5.6 - postcss-selector-parser: 7.1.0 - - postcss-selector-parser@6.0.10: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@7.1.0: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - postcss-value-parser@4.2.0: {} postcss@8.5.6: @@ -6401,11 +6889,22 @@ snapshots: dependencies: jsesc: 0.5.0 - replace-in-file@6.3.5: + reka-ui@2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)): dependencies: - chalk: 4.1.2 - glob: 7.2.3 - yargs: 17.7.2 + '@floating-ui/dom': 1.7.4 + '@floating-ui/vue': 1.1.9(vue@3.5.13(typescript@5.7.2)) + '@internationalized/date': 3.9.0 + '@internationalized/number': 3.6.5 + '@tanstack/vue-virtual': 3.13.12(vue@3.5.13(typescript@5.7.2)) + '@vueuse/core': 12.8.2(typescript@5.7.2) + '@vueuse/shared': 12.8.2(typescript@5.7.2) + aria-hidden: 1.2.6 + defu: 6.1.4 + ohash: 2.0.11 + vue: 3.5.13(typescript@5.7.2) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript require-directory@2.1.1: {} @@ -6413,11 +6912,6 @@ snapshots: resolve-from@4.0.0: {} - resolve-path@1.4.0: - dependencies: - http-errors: 1.6.3 - path-is-absolute: 1.0.1 - resolve-pkg-maps@1.0.0: {} resolve@1.22.8: @@ -6426,6 +6920,8 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + restructure@3.0.2: {} + reusify@1.0.4: {} rollup@4.40.1: @@ -6458,14 +6954,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-buffer@5.2.1: {} - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - scslre@0.3.0: dependencies: '@eslint-community/regexpp': 4.12.1 @@ -6484,10 +6972,6 @@ snapshots: semver@7.7.2: {} - setprototypeof@1.1.0: {} - - setprototypeof@1.2.0: {} - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -6498,6 +6982,12 @@ snapshots: signal-exit@4.1.0: {} + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} slashes@3.0.12: {} @@ -6531,10 +7021,6 @@ snapshots: stackback@0.0.2: {} - statuses@1.5.0: {} - - statuses@2.0.1: {} - std-env@3.8.0: {} std-env@3.9.0: {} @@ -6602,21 +7088,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 - tailwind-config-viewer@2.0.4(tailwindcss@3.4.17): - dependencies: - '@koa/router': 12.0.2 - commander: 6.2.1 - fs-extra: 9.1.0 - koa: 2.16.2 - koa-static: 5.0.0 - open: 7.4.2 - portfinder: 1.0.38 - replace-in-file: 6.3.5 - tailwindcss: 3.4.17 - transitivePeerDependencies: - - supports-color + tailwind-merge@3.3.1: {} - tailwind-merge@2.6.0: {} + tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.13): + dependencies: + tailwindcss: 4.1.13 + optionalDependencies: + tailwind-merge: 3.3.1 tailwindcss@3.4.16: dependencies: @@ -6645,35 +7123,18 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.17: - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.6 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + tailwindcss@4.1.13: {} tapable@2.2.1: {} + tar@7.5.1: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -6682,6 +7143,8 @@ snapshots: dependencies: any-promise: 1.3.0 + tiny-inflate@1.0.3: {} + tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -6703,12 +7166,14 @@ snapshots: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} - toml-eslint-parser@0.10.0: dependencies: eslint-visitor-keys: 3.4.3 + totalist@3.0.1: {} + + tr46@0.0.3: {} + ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -6717,8 +7182,6 @@ snapshots: tslib@2.8.1: {} - tsscmp@1.0.6: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -6729,10 +7192,7 @@ snapshots: type-fest@0.8.1: {} - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + type-level-regexp@0.1.17: {} typescript@5.4.2: {} @@ -6746,13 +7206,49 @@ snapshots: unctx@2.4.1: dependencies: - acorn: 8.14.0 + acorn: 8.15.0 estree-walker: 3.0.3 magic-string: 0.30.19 unplugin: 2.3.10 undici-types@6.20.0: {} + unhead@2.0.17: + dependencies: + hookable: 5.5.3 + + unicode-properties@1.4.1: + dependencies: + base64-js: 1.5.1 + unicode-trie: 2.0.0 + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unifont@0.4.1: + dependencies: + css-tree: 3.1.0 + ohash: 2.0.11 + + unimport@4.2.0: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.19 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 2.3.0 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 + unimport@5.2.0: dependencies: acorn: 8.15.0 @@ -6791,13 +7287,40 @@ snapshots: universalify@0.1.2: {} - universalify@2.0.1: {} + unplugin-auto-import@19.3.0(@nuxt/kit@4.1.2)(@vueuse/core@13.9.0(vue@3.5.13(typescript@5.7.2))): + dependencies: + local-pkg: 1.1.2 + magic-string: 0.30.19 + picomatch: 4.0.3 + unimport: 4.2.0 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 + optionalDependencies: + '@nuxt/kit': 4.1.2 + '@vueuse/core': 13.9.0(vue@3.5.13(typescript@5.7.2)) unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 picomatch: 4.0.3 + unplugin-vue-components@28.8.0(@babel/parser@7.26.2)(@nuxt/kit@4.1.2)(vue@3.5.13(typescript@5.7.2)): + dependencies: + chokidar: 3.6.0 + debug: 4.4.3 + local-pkg: 1.1.2 + magic-string: 0.30.19 + mlly: 1.8.0 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.2.5 + vue: 3.5.13(typescript@5.7.2) + optionalDependencies: + '@babel/parser': 7.26.2 + '@nuxt/kit': 4.1.2 + transitivePeerDependencies: + - supports-color + unplugin@2.3.10: dependencies: '@jridgewell/remapping': 2.3.5 @@ -6805,6 +7328,17 @@ snapshots: picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 + unstorage@1.17.1: + dependencies: + anymatch: 3.1.3 + chokidar: 4.0.3 + destr: 2.0.5 + h3: 1.15.4 + lru-cache: 10.4.3 + node-fetch-native: 1.6.7 + ofetch: 1.4.1 + ufo: 1.6.1 + untyped@2.0.0: dependencies: citty: 0.1.6 @@ -6830,15 +7364,21 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vary@1.1.2: {} + vaul-vue@0.4.1(reka-ui@2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)): + dependencies: + '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.2)) + reka-ui: 2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + vue: 3.5.13(typescript@5.7.2) + transitivePeerDependencies: + - '@vue/composition-api' - vite-node@2.1.9(@types/node@22.10.1): + vite-node@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.14(@types/node@22.10.1) + vite: 5.4.14(@types/node@22.10.1)(lightningcss@1.30.1) transitivePeerDependencies: - '@types/node' - less @@ -6850,11 +7390,11 @@ snapshots: - supports-color - terser - vite-plugin-css-injected-by-js@3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)): + vite-plugin-css-injected-by-js@3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)): dependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) - vite-plugin-dts@4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1)): + vite-plugin-dts@4.3.0(@types/node@22.10.1)(rollup@4.40.1)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)): dependencies: '@microsoft/api-extractor': 7.48.0(@types/node@22.10.1) '@rollup/pluginutils': 5.1.3(rollup@4.40.1) @@ -6867,13 +7407,13 @@ snapshots: magic-string: 0.30.14 typescript: 5.7.2 optionalDependencies: - vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1) + vite: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite@5.4.14(@types/node@22.10.1): + vite@5.4.14(@types/node@22.10.1)(lightningcss@1.30.1): dependencies: esbuild: 0.21.5 postcss: 8.5.6 @@ -6881,8 +7421,9 @@ snapshots: optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 + lightningcss: 1.30.1 - vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(yaml@2.6.1): + vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1): dependencies: esbuild: 0.24.2 postcss: 8.5.6 @@ -6891,12 +7432,13 @@ snapshots: '@types/node': 22.10.1 fsevents: 2.3.3 jiti: 2.5.1 + lightningcss: 1.30.1 yaml: 2.6.1 - vitest@2.1.9(@types/node@22.10.1): + vitest@2.1.9(@types/node@22.10.1)(lightningcss@1.30.1): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.14(@types/node@22.10.1)) + '@vitest/mocker': 2.1.9(vite@5.4.14(@types/node@22.10.1)(lightningcss@1.30.1)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -6912,8 +7454,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.14(@types/node@22.10.1) - vite-node: 2.1.9(@types/node@22.10.1) + vite: 5.4.14(@types/node@22.10.1)(lightningcss@1.30.1) + vite-node: 2.1.9(@types/node@22.10.1)(lightningcss@1.30.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 @@ -6930,6 +7472,12 @@ snapshots: vscode-uri@3.0.8: {} + vue-component-type-helpers@3.0.8: {} + + vue-demi@0.14.10(vue@3.5.13(typescript@5.7.2)): + dependencies: + vue: 3.5.13(typescript@5.7.2) + vue-eslint-parser@9.4.3(eslint@9.16.0(jiti@2.5.1)): dependencies: debug: 4.3.7 @@ -6959,8 +7507,17 @@ snapshots: optionalDependencies: typescript: 5.7.2 + webidl-conversions@3.0.1: {} + webpack-virtual-modules@0.6.2: {} + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + wheel-gestures@2.2.48: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -6984,14 +7541,14 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - xml-name-validator@4.0.0: {} y18n@5.0.8: {} yallist@4.0.0: {} + yallist@5.0.0: {} + yaml-eslint-parser@1.2.3: dependencies: eslint-visitor-keys: 3.4.3 @@ -7012,8 +7569,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - ylru@1.4.0: {} - yocto-queue@0.1.0: {} zwitch@2.0.4: {} From e902953c5cc59e1c0632864f62fe595b94c9bc07 Mon Sep 17 00:00:00 2001 From: AmmarKaraja Date: Wed, 24 Sep 2025 13:29:08 +0000 Subject: [PATCH 03/27] feat(playground): add Nuxt UI 3.3.4 & Tailwind v4 --- .gitignore | 4 + packages/playground/index.html | 2 +- packages/playground/package.json | 12 +- packages/playground/src/App.vue | 8 +- packages/playground/src/Playground.vue | 2 +- packages/playground/src/assets/main.css | 2 + packages/playground/src/index.css | 3 - packages/playground/src/main.ts | 13 +- packages/playground/tsconfig.app.json | 9 +- packages/playground/tsconfig.node.json | 3 + packages/playground/vite.config.ts | 10 +- pnpm-lock.yaml | 257 +++++++++++++++++++++++- 12 files changed, 296 insertions(+), 29 deletions(-) create mode 100644 packages/playground/src/assets/main.css delete mode 100644 packages/playground/src/index.css diff --git a/.gitignore b/.gitignore index b3dbcd0..6930d5a 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,7 @@ test-results/ playwright-report/ .vite/ + +# Auto-generated type declarations +auto-imports.d.ts +components.d.ts diff --git a/packages/playground/index.html b/packages/playground/index.html index fe01e2a..13c45c2 100644 --- a/packages/playground/index.html +++ b/packages/playground/index.html @@ -6,7 +6,7 @@ Former Playground -
+
diff --git a/packages/playground/package.json b/packages/playground/package.json index e0b73c1..6b8375d 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -12,12 +12,16 @@ "preview": "vite preview" }, "dependencies": { + "@nuxt/ui": "^3.3.4", + "@unhead/vue": "^1", "@vueuse/core": "12.0.0", "former-ui": "workspace:*", "preset-nuxt-ui": "workspace:*", - "vue": "^3.5.13" + "vue": "^3.5.13", + "vue-router": "^4" }, "devDependencies": { + "@tailwindcss/postcss": "^4.1.13", "@tsconfig/node22": "22.0.0", "@types/lodash": "4.17.13", "@types/node": "22.10.1", @@ -25,10 +29,12 @@ "@vue/tsconfig": "0.7.0", "@vueuse/core": "12.0.0", "autoprefixer": "10.4.20", - "tailwindcss": "3.4.16", + "tailwindcss": "4.1.13", "typescript": "5.7.2", - "vite": "6.1.6", + "vite": "^6.1.6", "vite-plugin-css-injected-by-js": "3.5.2", + "vite@3.3.4": "link:@nuxt/ui/vite@3.3.4", + "vite@latest": "link:@nuxt/ui/vite@latest", "vitest": "2.1.9", "vue": "3.5.13", "vue-tsc": "3.0.7" diff --git a/packages/playground/src/App.vue b/packages/playground/src/App.vue index 3357a29..2b1c5eb 100644 --- a/packages/playground/src/App.vue +++ b/packages/playground/src/App.vue @@ -1,7 +1,5 @@ - - diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index f6fc5db..5208e4d 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -114,7 +114,7 @@ import { import { schemaComponentsNuxt } from 'preset-nuxt-ui'; import { computed, ref } from 'vue'; -const builderComponents = schemaComponentsSample(); +const builderComponents = schemaComponentsNuxt(); const mode = useStorage('former:mode', 'build'); const activateShowIf = useStorage('former:activateShowIf', false); diff --git a/packages/playground/src/assets/main.css b/packages/playground/src/assets/main.css new file mode 100644 index 0000000..4119734 --- /dev/null +++ b/packages/playground/src/assets/main.css @@ -0,0 +1,2 @@ +@import "tailwindcss"; +@import "@nuxt/ui"; \ No newline at end of file diff --git a/packages/playground/src/index.css b/packages/playground/src/index.css deleted file mode 100644 index b5c61c9..0000000 --- a/packages/playground/src/index.css +++ /dev/null @@ -1,3 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/packages/playground/src/main.ts b/packages/playground/src/main.ts index 370886f..1a8790e 100644 --- a/packages/playground/src/main.ts +++ b/packages/playground/src/main.ts @@ -1,7 +1,12 @@ +import ui from '@nuxt/ui/vue-plugin'; import { createApp } from 'vue'; - +import { createRouter, createWebHistory } from 'vue-router'; import App from './App.vue'; +import Playground from './Playground.vue'; +import './assets/main.css'; -import './index.css'; - -createApp(App).mount('#app'); +const router = createRouter({ history: createWebHistory(), routes: [{ path: '/', component: Playground }] }); +const app = createApp(App); +app.use(router); +app.use(ui); +app.mount('#app'); diff --git a/packages/playground/tsconfig.app.json b/packages/playground/tsconfig.app.json index 5a40736..fd34a92 100644 --- a/packages/playground/tsconfig.app.json +++ b/packages/playground/tsconfig.app.json @@ -2,11 +2,16 @@ "extends": "@vue/tsconfig/tsconfig.dom.json", "compilerOptions": { "composite": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "moduleResolution": "bundler", "paths": { "@/*": ["./src/*"] }, - "noEmit": true + "types": ["vite/client", "node"], + "strict": true, + "noEmit": true, + "skipLibCheck": true }, - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.d.ts", "auto-imports.d.ts", "components.d.ts"], "exclude": ["src/**/__tests__/*"] } diff --git a/packages/playground/tsconfig.node.json b/packages/playground/tsconfig.node.json index 2d5d4b5..bd472df 100644 --- a/packages/playground/tsconfig.node.json +++ b/packages/playground/tsconfig.node.json @@ -4,6 +4,9 @@ "composite": true, "module": "ESNext", "moduleResolution": "Bundler", + "paths": { + "#build/ui": ["./node_modules/@nuxt/ui/.nuxt/ui"] + }, "types": ["node"], "noEmit": true }, diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index b757b23..4791c62 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -1,15 +1,17 @@ import { fileURLToPath, URL } from 'node:url'; +import ui from '@nuxt/ui/vite'; +import tailwind from '@tailwindcss/postcss'; import vue from '@vitejs/plugin-vue'; import { defineConfig } from 'vite'; export default defineConfig({ base: './', - plugins: [vue()], + plugins: [vue(), ui()], + css: { postcss: { plugins: [tailwind()] } }, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, + dedupe: ['vue'], }, - server: { - allowedHosts: ['.gitpod.io'], - }, + server: { allowedHosts: ['.gitpod.io'] }, optimizeDeps: { exclude: ['former-ui'] }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2c0f9c..4223a59 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,6 +72,12 @@ importers: packages/playground: dependencies: + '@nuxt/ui': + specifier: ^3.3.4 + version: 3.3.4(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))(zod@4.1.11) + '@unhead/vue': + specifier: ^1 + version: 1.11.20(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': specifier: 12.0.0 version: 12.0.0(typescript@5.7.2) @@ -84,7 +90,13 @@ importers: vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) + vue-router: + specifier: ^4 + version: 4.5.1(vue@3.5.13(typescript@5.7.2)) devDependencies: + '@tailwindcss/postcss': + specifier: ^4.1.13 + version: 4.1.13 '@tsconfig/node22': specifier: 22.0.0 version: 22.0.0 @@ -104,17 +116,23 @@ importers: specifier: 10.4.20 version: 10.4.20(postcss@8.5.6) tailwindcss: - specifier: 3.4.16 - version: 3.4.16 + specifier: 4.1.13 + version: 4.1.13 typescript: specifier: 5.7.2 version: 5.7.2 vite: - specifier: 6.1.6 + specifier: ^6.1.6 version: 6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1) vite-plugin-css-injected-by-js: specifier: 3.5.2 version: 3.5.2(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + vite@3.3.4: + specifier: link:@nuxt/ui/vite@3.3.4 + version: link:@nuxt/ui/vite@3.3.4 + vite@latest: + specifier: link:@nuxt/ui/vite@latest + version: link:@nuxt/ui/vite@latest vitest: specifier: 2.1.9 version: 2.1.9(@types/node@22.10.1)(lightningcss@1.30.1) @@ -126,7 +144,7 @@ importers: devDependencies: '@nuxt/ui': specifier: ^3.3.4 - version: 3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + version: 3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))(zod@4.1.11) '@vitejs/plugin-vue': specifier: ^5.0.0 version: 5.2.1(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) @@ -889,6 +907,34 @@ packages: resolution: {integrity: sha512-uFr13C6c52OFbF3hZVIV65KvhQRyrwp1GlAm7EVNGjebY8279QEel57T4R9UA1dn2Et6CBynBFhWoFwwo97Pig==} engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/ui@3.3.4': + resolution: {integrity: sha512-06k+j9HHbMI9h3cUItjqFxi5HapC913YqA05V4W7FVp3cPqJe8LWB6sgfcMS7Q5m38gs6Ij/9OS+ZI+S4OeC/Q==} + hasBin: true + peerDependencies: + '@inertiajs/vue3': ^2.0.7 + joi: ^17.13.0 + superstruct: ^2.0.0 + typescript: ^5.6.3 + valibot: ^1.0.0 + vue-router: ^4.5.0 + yup: ^1.6.0 + zod: ^3.24.0 || ^4.0.0 + peerDependenciesMeta: + '@inertiajs/vue3': + optional: true + joi: + optional: true + superstruct: + optional: true + valibot: + optional: true + vue-router: + optional: true + yup: + optional: true + zod: + optional: true + '@nuxt/ui@3.3.5': resolution: {integrity: sha512-SC9+EYr5/9J+kGpQ2/ofPuoFRhsP6lohrBLyNLLcmGFKSMl7JdhC3aWVX60+e1sQ2FTnqhZcD8WJRk0kmrp7WA==} hasBin: true @@ -1289,6 +1335,20 @@ packages: resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@unhead/dom@1.11.20': + resolution: {integrity: sha512-jgfGYdOH+xHJF/j8gudjsYu3oIjFyXhCWcgKaw3vQnT616gSqyqnGQGOItL+BQtQZACKNISwIfx5PuOtztMKLA==} + + '@unhead/schema@1.11.20': + resolution: {integrity: sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA==} + + '@unhead/shared@1.11.20': + resolution: {integrity: sha512-1MOrBkGgkUXS+sOKz/DBh4U20DNoITlJwpmvSInxEUNhghSNb56S0RnaHRq0iHkhrO/cDgz2zvfdlRpoPLGI3w==} + + '@unhead/vue@1.11.20': + resolution: {integrity: sha512-sqQaLbwqY9TvLEGeq8Fd7+F2TIuV3nZ5ihVISHjWpAM3y7DwNWRU7NmT9+yYT+2/jw1Vjwdkv5/HvDnvCLrgmg==} + peerDependencies: + vue: '>=2.7 || >=3' + '@unhead/vue@2.0.17': resolution: {integrity: sha512-jzmGZYeMAhETV6qfetmLbZzUjjx1TjdNvFSobeFZb73D7dwD9wl/nOAx36qq+TvjZsLJdF5PQWToz2oDGAUqCg==} peerDependencies: @@ -1367,6 +1427,9 @@ packages: '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/language-core@2.1.6': resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} peerDependencies: @@ -2857,6 +2920,9 @@ packages: package-manager-detector@1.3.0: resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + packrup@0.1.2: + resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==} + pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -3375,6 +3441,9 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + unhead@1.11.20: + resolution: {integrity: sha512-3AsNQC0pjwlLqEYHLjtichGWankK8yqmocReITecmpB1H0aOabeESueyy+8X1gyJx4ftZVwo9hqQ4O3fPWffCA==} + unhead@2.0.17: resolution: {integrity: sha512-xX3PCtxaE80khRZobyWCVxeFF88/Tg9eJDcJWY9us727nsTC7C449B8BUfVBmiF2+3LjPcmqeoB2iuMs0U4oJQ==} @@ -3395,6 +3464,10 @@ packages: resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} engines: {node: '>=18.12.0'} + unimport@5.4.0: + resolution: {integrity: sha512-g/OLFZR2mEfqbC6NC9b2225eCJGvufxq34mj6kM3OmI5gdSL0qyqtnv+9qmsGpAmnzSl6x0IWZj4W+8j2hLkMA==} + engines: {node: '>=18.12.0'} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -3427,6 +3500,10 @@ packages: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} + unplugin-utils@0.3.0: + resolution: {integrity: sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==} + engines: {node: '>=20.19.0'} + unplugin-vue-components@28.8.0: resolution: {integrity: sha512-2Q6ZongpoQzuXDK0ZsVzMoshH0MWZQ1pzVL538G7oIDKRTVzHjppBDS8aB99SADGHN3lpGU7frraCG6yWNoL5Q==} engines: {node: '>=14'} @@ -3670,6 +3747,11 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-router@4.5.1: + resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} + peerDependencies: + vue: ^3.2.0 + vue-tsc@3.0.7: resolution: {integrity: sha512-BSMmW8GGEgHykrv7mRk6zfTdK+tw4MBZY/x6fFa7IkdXK3s/8hQRacPjG9/8YKFDIWGhBocwi6PlkQQ/93OgIQ==} hasBin: true @@ -3755,6 +3837,12 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + zod@4.1.11: + resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4437,7 +4525,7 @@ snapshots: tinyglobby: 0.2.15 ufo: 1.6.1 unctx: 2.4.1 - unimport: 5.2.0 + unimport: 5.4.0 untyped: 2.0.0 transitivePeerDependencies: - magicast @@ -4452,7 +4540,7 @@ snapshots: std-env: 3.9.0 ufo: 1.6.1 - '@nuxt/ui@3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': + '@nuxt/ui@3.3.4(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))(zod@4.1.11)': dependencies: '@iconify/vue': 5.0.0(vue@3.5.13(typescript@5.7.2)) '@internationalized/date': 3.9.0 @@ -4498,6 +4586,97 @@ snapshots: unplugin-vue-components: 28.8.0(@babel/parser@7.26.2)(@nuxt/kit@4.1.2)(vue@3.5.13(typescript@5.7.2)) vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) vue-component-type-helpers: 3.0.8 + optionalDependencies: + vue-router: 4.5.1(vue@3.5.13(typescript@5.7.2)) + zod: 4.1.11 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@babel/parser' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vue/composition-api' + - async-validator + - aws4fetch + - axios + - change-case + - db0 + - drauu + - embla-carousel + - encoding + - focus-trap + - idb-keyval + - ioredis + - jwt-decode + - magicast + - nprogress + - qrcode + - sortablejs + - supports-color + - universal-cookie + - uploadthing + - vite + - vue + + '@nuxt/ui@3.3.5(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))(zod@4.1.11)': + dependencies: + '@iconify/vue': 5.0.0(vue@3.5.13(typescript@5.7.2)) + '@internationalized/date': 3.9.0 + '@internationalized/number': 3.6.5 + '@nuxt/fonts': 0.11.4(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + '@nuxt/icon': 1.15.0(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) + '@nuxt/kit': 4.1.2 + '@nuxt/schema': 4.1.2 + '@nuxtjs/color-mode': 3.5.2 + '@standard-schema/spec': 1.0.0 + '@tailwindcss/postcss': 4.1.13 + '@tailwindcss/vite': 4.1.13(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1)) + '@tanstack/vue-table': 8.21.3(vue@3.5.13(typescript@5.7.2)) + '@unhead/vue': 2.0.17(vue@3.5.13(typescript@5.7.2)) + '@vueuse/core': 13.9.0(vue@3.5.13(typescript@5.7.2)) + '@vueuse/integrations': 13.9.0(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2)) + colortranslator: 5.0.0 + consola: 3.4.2 + defu: 6.1.4 + embla-carousel-auto-height: 8.6.0(embla-carousel@8.6.0) + embla-carousel-auto-scroll: 8.6.0(embla-carousel@8.6.0) + embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) + embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) + embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) + embla-carousel-vue: 8.6.0(vue@3.5.13(typescript@5.7.2)) + embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) + fuse.js: 7.1.0 + hookable: 5.5.3 + knitwork: 1.2.0 + magic-string: 0.30.19 + mlly: 1.8.0 + ohash: 2.0.11 + pathe: 2.0.3 + reka-ui: 2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) + scule: 1.3.0 + tailwind-merge: 3.3.1 + tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.13) + tailwindcss: 4.1.13 + tinyglobby: 0.2.15 + typescript: 5.7.2 + unplugin: 2.3.10 + unplugin-auto-import: 19.3.0(@nuxt/kit@4.1.2)(@vueuse/core@13.9.0(vue@3.5.13(typescript@5.7.2))) + unplugin-vue-components: 28.8.0(@babel/parser@7.26.2)(@nuxt/kit@4.1.2)(vue@3.5.13(typescript@5.7.2)) + vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) + vue-component-type-helpers: 3.0.8 + optionalDependencies: + vue-router: 4.5.1(vue@3.5.13(typescript@5.7.2)) + zod: 4.1.11 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -4882,6 +5061,29 @@ snapshots: '@typescript-eslint/types': 8.16.0 eslint-visitor-keys: 4.2.0 + '@unhead/dom@1.11.20': + dependencies: + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 + + '@unhead/schema@1.11.20': + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 + + '@unhead/shared@1.11.20': + dependencies: + '@unhead/schema': 1.11.20 + packrup: 0.1.2 + + '@unhead/vue@1.11.20(vue@3.5.13(typescript@5.7.2))': + dependencies: + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 + hookable: 5.5.3 + unhead: 1.11.20 + vue: 3.5.13(typescript@5.7.2) + '@unhead/vue@2.0.17(vue@3.5.13(typescript@5.7.2))': dependencies: hookable: 5.5.3 @@ -4988,6 +5190,8 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 + '@vue/devtools-api@6.6.4': {} + '@vue/language-core@2.1.6(typescript@5.7.2)': dependencies: '@volar/language-core': 2.4.23 @@ -6718,6 +6922,8 @@ snapshots: package-manager-detector@1.3.0: {} + packrup@0.1.2: {} + pako@0.2.9: {} parent-module@1.0.1: @@ -7213,6 +7419,13 @@ snapshots: undici-types@6.20.0: {} + unhead@1.11.20: + dependencies: + '@unhead/dom': 1.11.20 + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 + hookable: 5.5.3 + unhead@2.0.17: dependencies: hookable: 5.5.3 @@ -7266,6 +7479,23 @@ snapshots: unplugin: 2.3.10 unplugin-utils: 0.2.5 + unimport@5.4.0: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.19 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 2.3.0 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.15 + unplugin: 2.3.10 + unplugin-utils: 0.3.0 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -7304,6 +7534,11 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 + unplugin-utils@0.3.0: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + unplugin-vue-components@28.8.0(@babel/parser@7.26.2)(@nuxt/kit@4.1.2)(vue@3.5.13(typescript@5.7.2)): dependencies: chokidar: 3.6.0 @@ -7491,6 +7726,11 @@ snapshots: transitivePeerDependencies: - supports-color + vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.2) + vue-tsc@3.0.7(typescript@5.7.2): dependencies: '@volar/typescript': 2.4.23 @@ -7571,4 +7811,9 @@ snapshots: yocto-queue@0.1.0: {} + zhead@2.2.4: {} + + zod@4.1.11: + optional: true + zwitch@2.0.4: {} From 334b49826363ef66d6f2045eb5836f23e9f5b088 Mon Sep 17 00:00:00 2001 From: AmmarKaraja Date: Fri, 26 Sep 2025 09:46:52 +0000 Subject: [PATCH 04/27] update: cleanup --- packages/playground/src/Playground.vue | 2 +- packages/playground/src/main.ts | 2 + .../src/components/Checkbox.vue | 2 +- .../src/components/ComboBox.vue | 2 +- .../preset-nuxt-ui/src/components/Group.vue | 7 -- .../preset-nuxt-ui/src/components/Number.vue | 2 +- .../src/components/RadioGroup.vue | 2 +- .../src/components/Repeater.vue | 81 ++++++++++++++++--- .../preset-nuxt-ui/src/components/Select.vue | 2 +- .../preset-nuxt-ui/src/components/Text.vue | 2 +- .../src/components/Textarea.vue | 2 +- .../src/components/schemaComponentsNuxt.ts | 1 - packages/preset-nuxt-ui/src/index.ts | 8 -- 13 files changed, 82 insertions(+), 33 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 5208e4d..8b53160 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -114,7 +114,7 @@ import { import { schemaComponentsNuxt } from 'preset-nuxt-ui'; import { computed, ref } from 'vue'; -const builderComponents = schemaComponentsNuxt(); +const builderComponents: FormComponents = schemaComponentsNuxt(); const mode = useStorage('former:mode', 'build'); const activateShowIf = useStorage('former:activateShowIf', false); diff --git a/packages/playground/src/main.ts b/packages/playground/src/main.ts index 1a8790e..29cf7e1 100644 --- a/packages/playground/src/main.ts +++ b/packages/playground/src/main.ts @@ -9,4 +9,6 @@ const router = createRouter({ history: createWebHistory(), routes: [{ path: '/', const app = createApp(App); app.use(router); app.use(ui); +// eslint-disable-next-line no-console +console.table({ UInput: !!app.component('UInput'), UFormGroup: !!app.component('UFormGroup') }); app.mount('#app'); diff --git a/packages/preset-nuxt-ui/src/components/Checkbox.vue b/packages/preset-nuxt-ui/src/components/Checkbox.vue index 6d62406..8a33b38 100644 --- a/packages/preset-nuxt-ui/src/components/Checkbox.vue +++ b/packages/preset-nuxt-ui/src/components/Checkbox.vue @@ -18,6 +18,6 @@ import { toRefs } from 'vue'; defineOptions({ inheritAttrs: false }); const props = defineProps<{ label?: string; help?: string; checkboxLabel?: string } & Partial>(); -const modelValue = defineModel(); +const modelValue = defineModel(); const { id, label, help, error, mode, checkboxLabel } = toRefs(props); diff --git a/packages/preset-nuxt-ui/src/components/ComboBox.vue b/packages/preset-nuxt-ui/src/components/ComboBox.vue index 81b022f..1a62a8d 100644 --- a/packages/preset-nuxt-ui/src/components/ComboBox.vue +++ b/packages/preset-nuxt-ui/src/components/ComboBox.vue @@ -21,7 +21,7 @@ defineOptions({ inheritAttrs: false }); const props = defineProps<{ label?: string; help?: string; options?: Opt[] } & Partial>(); type Opt = { label: string; value: string }; -const modelValue = defineModel(); +const modelValue = defineModel(); const { id, label, help, error, mode } = toRefs(props); const items = computed(() => props.options ?? []); diff --git a/packages/preset-nuxt-ui/src/components/Group.vue b/packages/preset-nuxt-ui/src/components/Group.vue index e439568..de311a8 100644 --- a/packages/preset-nuxt-ui/src/components/Group.vue +++ b/packages/preset-nuxt-ui/src/components/Group.vue @@ -1,17 +1,14 @@ diff --git a/packages/preset-nuxt-ui/src/components/RadioGroup.vue b/packages/preset-nuxt-ui/src/components/RadioGroup.vue index be06ee8..b6d2d9c 100644 --- a/packages/preset-nuxt-ui/src/components/RadioGroup.vue +++ b/packages/preset-nuxt-ui/src/components/RadioGroup.vue @@ -1,4 +1,3 @@ - +const { label, help, error, mode } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Select.vue b/packages/preset-nuxt-ui/src/components/Select.vue index 2f858f2..5284a8a 100644 --- a/packages/preset-nuxt-ui/src/components/Select.vue +++ b/packages/preset-nuxt-ui/src/components/Select.vue @@ -7,44 +7,43 @@ :error="hasBlurred ? error : undefined" class="w-full" > -
- -
+ +const selectItems = computed(() => + (props.options ?? []).map(o => ({ label: o.label, value: o.value })) +) + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts b/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts index 5d091d8..475119e 100644 --- a/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts +++ b/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts @@ -12,22 +12,36 @@ import Select from './Select.vue'; import Text from './Text.vue'; import Textarea from './Textarea.vue'; -type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean }; -const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true }; +const showIfProp: SchemaNode = { + type: 'text', + name: 'showIf', + props: { + label: 'Show if', + placeholder: 'If empty or "hello" then component is visible.', + }, +}; + +type CommonOpts = { + name: boolean; + label: boolean; + help: boolean; + required: boolean; + placeholder: boolean; + showIf: boolean; +}; +const defaults: CommonOpts = { + name: true, label: true, help: true, required: true, placeholder: true, showIf: true, +}; function commonSchema(opt: Partial = {}): SchemaNode[] { - const { name, label, help, required, placeholder } = { ...defaults, ...opt }; + const { name, label, help, required, placeholder, showIf } = { ...defaults, ...opt }; const s: SchemaNode[] = []; - if (name) - s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }); - if (label) - s.push({ type: 'text', name: 'label', props: { label: 'Label' } }); - if (placeholder) - s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }); - if (help) - s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }); - if (required) - s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }); + if (name) s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }); + if (label) s.push({ type: 'text', name: 'label', props: { label: 'Label' } }); + if (placeholder) s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }); + if (help) s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }); + if (required) s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }); + if (showIf) s.push(showIfProp); return s; } @@ -41,6 +55,7 @@ export function schemaComponentsNuxt(): FormComponents { { type: 'text', name: 'initialValue', props: { label: 'Initial value' } }, ], }, + textarea: { label: 'Textarea', component: markRaw(Textarea), @@ -50,14 +65,17 @@ export function schemaComponentsNuxt(): FormComponents { { type: 'checkbox', name: 'autoresize', props: { label: 'Auto resize' } }, ], }, + group: { label: 'Group', component: markRaw(Group), propsSchema: [ { type: 'text', name: '$name', props: { label: 'Technical name', required: true } }, + showIfProp, { type: 'checkbox', name: 'border', props: { label: 'Show border' } }, ], }, + number: { label: 'Number', component: markRaw(Number), @@ -68,6 +86,7 @@ export function schemaComponentsNuxt(): FormComponents { { type: 'text', name: 'step', props: { type: 'number', label: 'Step' } }, ], }, + checkbox: { label: 'Checkbox', component: markRaw(Checkbox), @@ -76,6 +95,7 @@ export function schemaComponentsNuxt(): FormComponents { { type: 'text', name: 'checkboxLabel', props: { label: 'Label next to box' } }, ], }, + select: { label: 'Select', component: markRaw(Select), @@ -92,8 +112,9 @@ export function schemaComponentsNuxt(): FormComponents { }, ], }, + radio_group: { - label: 'Radio group', + label: 'RadioGroup', component: markRaw(RadioGroup), propsSchema: [ ...commonSchema({ placeholder: false }), @@ -108,6 +129,7 @@ export function schemaComponentsNuxt(): FormComponents { }, ], }, + combo_box: { label: 'Combobox', component: markRaw(ComboBox), @@ -124,14 +146,17 @@ export function schemaComponentsNuxt(): FormComponents { }, ], }, + columns: { label: 'Columns', component: markRaw(Columns), propsSchema: [ ...commonSchema({ name: false, required: false, placeholder: false }), + showIfProp, { type: 'text', name: 'cols', props: { type: 'number', label: 'Columns', min: 1 } }, ], }, + repeater: { label: 'Repeater', component: markRaw(Repeater), @@ -141,4 +166,4 @@ export function schemaComponentsNuxt(): FormComponents { ], }, }; -} +} \ No newline at end of file From 55a5ad6a3d4cb4ebba56ba892d126f5c6d1910da Mon Sep 17 00:00:00 2001 From: Ammar Date: Tue, 21 Oct 2025 15:31:49 +0200 Subject: [PATCH 09/27] =?UTF-8?q?feat:=20add=20preset=20switcher=20(Nuxt?= =?UTF-8?q?=20UI=20=E2=87=84=20Sample)=20&=20external=20style=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/playground/src/Playground.vue | 68 +++++- .../src/components/Checkbox.vue | 57 ++--- .../preset-nuxt-ui/src/components/Columns.vue | 45 ++-- .../src/components/ComboBox.vue | 65 +++--- .../preset-nuxt-ui/src/components/Group.vue | 27 +-- .../preset-nuxt-ui/src/components/Number.vue | 56 ++--- .../src/components/RadioGroup.vue | 39 ++-- .../src/components/Repeater.vue | 84 +++---- .../preset-nuxt-ui/src/components/Select.vue | 33 ++- .../preset-nuxt-ui/src/components/Text.vue | 47 ++-- .../src/components/Textarea.vue | 40 ++-- .../src/components/schemaComponents.ts | 218 ++++++++++++++++++ .../src/components/schemaComponentsNuxt.ts | 169 -------------- packages/preset-nuxt-ui/src/index.ts | 3 +- 14 files changed, 487 insertions(+), 464 deletions(-) create mode 100644 packages/preset-nuxt-ui/src/components/schemaComponents.ts delete mode 100644 packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 65f78e0..7e48400 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -27,6 +27,7 @@ Data {{ isValid ? 'valid' : 'invalid' }}, Schema {{ isSchemaValid ? 'valid' : 'invalid' }} + @@ -111,10 +112,66 @@ import { FormNodeProps, } from 'former-ui'; -import { schemaComponentsNuxt } from 'preset-nuxt-ui'; +import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; import { computed, ref } from 'vue'; +import type { PresetStyleConfig } from 'preset-nuxt-ui'; -const builderComponents: FormComponents = schemaComponentsNuxt(); +const defaultStyles: PresetStyleConfig = { + text: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md focus:outline-none px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-default', + }, + number: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md focus:outline-none px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-default', + }, + textarea: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md focus:outline-none px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-default', + }, + + select: { + ui: { + content: 'bg-default', + }, + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md focus:outline-none px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-default', + }, + combo_box: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md focus:outline-none px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-default', + }, + + checkbox: { + ui: { + base: 'border border-zinc-400 rounded bg-white dark:bg-zinc-900', + label: 'ml-2', + icon: 'text-zinc-800 dark:text-zinc-100', + }, + }, + + radio_group: { + class: "w-full rounded-lg border border-zinc-300 dark:border-zinc-600 px-2.5 py-1.5 text-sm gap-1.5 text-highlighted", + ui: { + item: 'rounded-lg border border-zinc-300 dark:border-zinc-600 bg-default', + } + }, + + group: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-transparent', + }, + columns: { + class: 'w-full border border-zinc-300 dark:border-zinc-600 rounded-md px-2.5 py-1.5 text-sm gap-1.5 text-highlighted bg-transparent', + }, + + repeater: { + class: 'flex flex-col gap-4', + ui: { + item: 'rounded-lg border border-dashed border-zinc-300 dark:border-zinc-600 p-4', + }, + }, +} + +const builderComponents = computed(() => + preset.value === 'nuxt' + ? schemaComponentsNuxt(defaultStyles) + : schemaComponentsSample() +); const mode = useStorage('former:mode', 'build'); const activateShowIf = useStorage('former:activateShowIf', false); @@ -125,6 +182,13 @@ const options = [ { label: 'edit', value: 'edit' }, { label: 'read', value: 'read' }, ]; +type PresetKey = 'nuxt' | 'sample'; +const preset = useStorage('former:preset', 'nuxt'); + +const presetOptions = [ + { label: 'Nuxt UI', value: 'nuxt' }, + { label: 'Sample', value: 'sample' }, +]; const isValid = ref(true); const isSchemaValid = ref(true); diff --git a/packages/preset-nuxt-ui/src/components/Checkbox.vue b/packages/preset-nuxt-ui/src/components/Checkbox.vue index 154942e..2236ecb 100644 --- a/packages/preset-nuxt-ui/src/components/Checkbox.vue +++ b/packages/preset-nuxt-ui/src/components/Checkbox.vue @@ -1,51 +1,28 @@ +const modelValue = defineModel() +const { label, help, error, mode, ui, klass, checkboxLabel } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Columns.vue b/packages/preset-nuxt-ui/src/components/Columns.vue index 7a23a03..b191e3f 100644 --- a/packages/preset-nuxt-ui/src/components/Columns.vue +++ b/packages/preset-nuxt-ui/src/components/Columns.vue @@ -1,41 +1,22 @@ +const { label, help, error, cols, klass } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/ComboBox.vue b/packages/preset-nuxt-ui/src/components/ComboBox.vue index cdb9e5a..39f7f8d 100644 --- a/packages/preset-nuxt-ui/src/components/ComboBox.vue +++ b/packages/preset-nuxt-ui/src/components/ComboBox.vue @@ -9,58 +9,47 @@ > +function onQuery(q: string) { + if (!disableCustomValue.value) modelValue.value = q +} + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Group.vue b/packages/preset-nuxt-ui/src/components/Group.vue index cd1874c..e7c1735 100644 --- a/packages/preset-nuxt-ui/src/components/Group.vue +++ b/packages/preset-nuxt-ui/src/components/Group.vue @@ -1,28 +1,19 @@ +const { label, help, error, klass } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Number.vue b/packages/preset-nuxt-ui/src/components/Number.vue index 021ae94..28e9a7e 100644 --- a/packages/preset-nuxt-ui/src/components/Number.vue +++ b/packages/preset-nuxt-ui/src/components/Number.vue @@ -1,5 +1,6 @@ +const mode = toRef(props, 'mode') +const error = toRef(props, 'error') +const { label, required, help, min, max, step, ui, klass } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/RadioGroup.vue b/packages/preset-nuxt-ui/src/components/RadioGroup.vue index b6d2d9c..51fa98a 100644 --- a/packages/preset-nuxt-ui/src/components/RadioGroup.vue +++ b/packages/preset-nuxt-ui/src/components/RadioGroup.vue @@ -7,14 +7,15 @@ class="w-full" > @@ -22,36 +23,24 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Repeater.vue b/packages/preset-nuxt-ui/src/components/Repeater.vue index f6a8865..fb267ed 100644 --- a/packages/preset-nuxt-ui/src/components/Repeater.vue +++ b/packages/preset-nuxt-ui/src/components/Repeater.vue @@ -1,73 +1,61 @@ +const { label, itemLabel, klass, error, mode } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Select.vue b/packages/preset-nuxt-ui/src/components/Select.vue index 5284a8a..79f60ca 100644 --- a/packages/preset-nuxt-ui/src/components/Select.vue +++ b/packages/preset-nuxt-ui/src/components/Select.vue @@ -9,14 +9,11 @@ > @@ -24,26 +21,24 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Text.vue b/packages/preset-nuxt-ui/src/components/Text.vue index 75d15c8..eb03a03 100644 --- a/packages/preset-nuxt-ui/src/components/Text.vue +++ b/packages/preset-nuxt-ui/src/components/Text.vue @@ -8,42 +8,51 @@ class="w-full" > +const { label, required, help, type, size, ui, klass } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Textarea.vue b/packages/preset-nuxt-ui/src/components/Textarea.vue index 7ee35b7..ded108c 100644 --- a/packages/preset-nuxt-ui/src/components/Textarea.vue +++ b/packages/preset-nuxt-ui/src/components/Textarea.vue @@ -8,31 +8,37 @@ class="w-full" > +const { label, required, help, rows, autoresize, ui, klass } = props + \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/schemaComponents.ts b/packages/preset-nuxt-ui/src/components/schemaComponents.ts new file mode 100644 index 0000000..740bf0c --- /dev/null +++ b/packages/preset-nuxt-ui/src/components/schemaComponents.ts @@ -0,0 +1,218 @@ +import { defineComponent, computed, h, markRaw } from 'vue' +import type { FormComponents, SchemaNode } from 'former-ui' +import type { InputProps } from '@nuxt/ui' + +import Checkbox from './Checkbox.vue' +import Columns from './Columns.vue' +import ComboBox from './ComboBox.vue' +import Group from './Group.vue' +import Number from './Number.vue' +import RadioGroup from './RadioGroup.vue' +import Repeater from './Repeater.vue' +import Select from './Select.vue' +import Text from './Text.vue' +import Textarea from './Textarea.vue' + + +type ClassNameValue = string | string[] | Record +type AnyUi = Record +type UIOf = NonNullable + +type StylingConfiguration = { + class?: ClassNameValue + ui?: Partial +} + +export type PresetStyleConfig = Partial<{ + text: StylingConfiguration> + textarea: StylingConfiguration + number: StylingConfiguration + select: StylingConfiguration + checkbox: StylingConfiguration + radio_group: StylingConfiguration + combo_box: StylingConfiguration + columns: StylingConfiguration + group: StylingConfiguration + repeater: StylingConfiguration +}> + +function withStyle(Comp: any, cfg?: StylingConfiguration) { + return defineComponent({ + name: `Styled(${Comp?.name ?? 'Anon'})`, + inheritAttrs: true, + setup(_, { attrs, slots }) { + const mergedKlass = computed(() => [(attrs as any)?.klass, cfg?.class].filter(Boolean)) + const mergedUi = computed>(() => { + const fromAttrs = (attrs as any)?.ui as Partial | undefined + return { ...(cfg?.ui ?? {}), ...(fromAttrs ?? {}) } + }) + return () => + h( + Comp, + { + ...attrs, + klass: mergedKlass.value, + ui: mergedUi.value, + }, + slots, + ) + }, + }) +} + + +const showIfProp: SchemaNode = { + type: 'text', + name: 'showIf', + props: { + label: 'Show if', + placeholder: 'If empty or "hello" then component is visible.', + }, +} + +type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean } +const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true } + +function commonSchema(opt: Partial = {}): SchemaNode[] { + const { name, label, help, required, placeholder } = { ...defaults, ...opt } + const s: SchemaNode[] = [] + if (name) s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }) + if (label) s.push({ type: 'text', name: 'label', props: { label: 'Label' } }) + if (placeholder) s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }) + if (help) s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }) + if (required) s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }) + return s +} + +export function schemaComponents(style?: PresetStyleConfig): FormComponents { + const CText = withStyle>(Text, style?.text) + const CTextarea = withStyle(Textarea, style?.textarea) + const CNumber = withStyle(Number, style?.number) + const CSelect = withStyle(Select, style?.select) + const CCheckbox = withStyle(Checkbox, style?.checkbox) + const CRadioGroup = withStyle(RadioGroup, style?.radio_group) + const CComboBox = withStyle(ComboBox, style?.combo_box) + const CColumns = withStyle(Columns, style?.columns) + const CGroup = withStyle(Group, style?.group) + const CRepeater = withStyle(Repeater, style?.repeater) + + return { + text: { + label: 'Text', + component: markRaw(CText), + propsSchema: [ + ...commonSchema(), + { type: 'text', name: 'initialValue', props: { label: 'Initial value' } }, + showIfProp, + ], + }, + textarea: { + label: 'Textarea', + component: markRaw(CTextarea), + propsSchema: [ + ...commonSchema(), + { type: 'text', name: 'rows', props: { type: 'number', label: 'Rows', min: 1 } }, + { type: 'checkbox', name: 'autoresize', props: { label: 'Auto resize' } }, + showIfProp, + ], + }, + number: { + label: 'Number', + component: markRaw(CNumber), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { type: 'text', name: 'min', props: { type: 'number', label: 'Min' } }, + { type: 'text', name: 'max', props: { type: 'number', label: 'Max' } }, + { type: 'text', name: 'step', props: { type: 'number', label: 'Step' } }, + showIfProp, + ], + }, + select: { + label: 'Select', + component: markRaw(CSelect), + propsSchema: [ + ...commonSchema(), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Options' }, + }, + showIfProp, + ], + }, + checkbox: { + label: 'Checkbox', + component: markRaw(CCheckbox), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { type: 'text', name: 'checkboxLabel', props: { label: 'Label next to box' } }, + showIfProp, + ], + }, + radio_group: { + label: 'RadioGroup', + component: markRaw(CRadioGroup), + propsSchema: [ + ...commonSchema({ placeholder: false }), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Options' }, + }, + showIfProp, + ], + }, + combo_box: { + label: 'Combobox', + component: markRaw(CComboBox), + propsSchema: [ + ...commonSchema(), + { + type: 'repeater', + name: 'options', + children: [ + { type: 'text', name: 'label', props: { label: 'Label' } }, + { type: 'text', name: 'value', props: { label: 'Value' } }, + ], + props: { label: 'Items' }, + }, + showIfProp, + ], + }, + columns: { + label: 'Columns', + component: markRaw(CColumns), + propsSchema: [ + ...commonSchema({ name: false, required: false, placeholder: false }), + { type: 'text', name: 'cols', props: { type: 'number', label: 'Columns', min: 1 } }, + showIfProp, + ], + }, + group: { + label: 'Group', + component: markRaw(CGroup), + propsSchema: [ + { type: 'text', name: '$name', props: { label: 'Technical name', required: true } }, + showIfProp, + { type: 'checkbox', name: 'border', props: { label: 'Show border' } }, + ], + }, + repeater: { + label: 'Repeater', + component: markRaw(CRepeater), + propsSchema: [ + ...commonSchema({ help: false, placeholder: false }), + { type: 'text', name: 'itemLabel', props: { label: 'Item label' } }, + showIfProp, + ], + }, + } +} \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts b/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts deleted file mode 100644 index 475119e..0000000 --- a/packages/preset-nuxt-ui/src/components/schemaComponentsNuxt.ts +++ /dev/null @@ -1,169 +0,0 @@ -import type { FormComponents, SchemaNode } from 'former-ui'; -import { markRaw } from 'vue'; - -import Checkbox from './Checkbox.vue'; -import Columns from './Columns.vue'; -import ComboBox from './ComboBox.vue'; -import Group from './Group.vue'; -import Number from './Number.vue'; -import RadioGroup from './RadioGroup.vue'; -import Repeater from './Repeater.vue'; -import Select from './Select.vue'; -import Text from './Text.vue'; -import Textarea from './Textarea.vue'; - -const showIfProp: SchemaNode = { - type: 'text', - name: 'showIf', - props: { - label: 'Show if', - placeholder: 'If empty or "hello" then component is visible.', - }, -}; - -type CommonOpts = { - name: boolean; - label: boolean; - help: boolean; - required: boolean; - placeholder: boolean; - showIf: boolean; -}; -const defaults: CommonOpts = { - name: true, label: true, help: true, required: true, placeholder: true, showIf: true, -}; - -function commonSchema(opt: Partial = {}): SchemaNode[] { - const { name, label, help, required, placeholder, showIf } = { ...defaults, ...opt }; - const s: SchemaNode[] = []; - if (name) s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }); - if (label) s.push({ type: 'text', name: 'label', props: { label: 'Label' } }); - if (placeholder) s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }); - if (help) s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }); - if (required) s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }); - if (showIf) s.push(showIfProp); - return s; -} - -export function schemaComponentsNuxt(): FormComponents { - return { - text: { - label: 'Text', - component: markRaw(Text), - propsSchema: [ - ...commonSchema(), - { type: 'text', name: 'initialValue', props: { label: 'Initial value' } }, - ], - }, - - textarea: { - label: 'Textarea', - component: markRaw(Textarea), - propsSchema: [ - ...commonSchema(), - { type: 'text', name: 'rows', props: { type: 'number', label: 'Rows', min: 1 } }, - { type: 'checkbox', name: 'autoresize', props: { label: 'Auto resize' } }, - ], - }, - - group: { - label: 'Group', - component: markRaw(Group), - propsSchema: [ - { type: 'text', name: '$name', props: { label: 'Technical name', required: true } }, - showIfProp, - { type: 'checkbox', name: 'border', props: { label: 'Show border' } }, - ], - }, - - number: { - label: 'Number', - component: markRaw(Number), - propsSchema: [ - ...commonSchema({ placeholder: false }), - { type: 'text', name: 'min', props: { type: 'number', label: 'Min' } }, - { type: 'text', name: 'max', props: { type: 'number', label: 'Max' } }, - { type: 'text', name: 'step', props: { type: 'number', label: 'Step' } }, - ], - }, - - checkbox: { - label: 'Checkbox', - component: markRaw(Checkbox), - propsSchema: [ - ...commonSchema({ placeholder: false }), - { type: 'text', name: 'checkboxLabel', props: { label: 'Label next to box' } }, - ], - }, - - select: { - label: 'Select', - component: markRaw(Select), - propsSchema: [ - ...commonSchema(), - { - type: 'repeater', - name: 'options', - children: [ - { type: 'text', name: 'label', props: { label: 'Label' } }, - { type: 'text', name: 'value', props: { label: 'Value' } }, - ], - props: { label: 'Options' }, - }, - ], - }, - - radio_group: { - label: 'RadioGroup', - component: markRaw(RadioGroup), - propsSchema: [ - ...commonSchema({ placeholder: false }), - { - type: 'repeater', - name: 'options', - children: [ - { type: 'text', name: 'label', props: { label: 'Label' } }, - { type: 'text', name: 'value', props: { label: 'Value' } }, - ], - props: { label: 'Options' }, - }, - ], - }, - - combo_box: { - label: 'Combobox', - component: markRaw(ComboBox), - propsSchema: [ - ...commonSchema(), - { - type: 'repeater', - name: 'options', - children: [ - { type: 'text', name: 'label', props: { label: 'Label' } }, - { type: 'text', name: 'value', props: { label: 'Value' } }, - ], - props: { label: 'Items' }, - }, - ], - }, - - columns: { - label: 'Columns', - component: markRaw(Columns), - propsSchema: [ - ...commonSchema({ name: false, required: false, placeholder: false }), - showIfProp, - { type: 'text', name: 'cols', props: { type: 'number', label: 'Columns', min: 1 } }, - ], - }, - - repeater: { - label: 'Repeater', - component: markRaw(Repeater), - propsSchema: [ - ...commonSchema({ help: false, placeholder: false }), - { type: 'text', name: 'itemLabel', props: { label: 'Item label' } }, - ], - }, - }; -} \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/index.ts b/packages/preset-nuxt-ui/src/index.ts index 64f8dd7..6764d4e 100644 --- a/packages/preset-nuxt-ui/src/index.ts +++ b/packages/preset-nuxt-ui/src/index.ts @@ -5,7 +5,8 @@ export { default as Group } from './components/Group.vue'; export { default as Number } from './components/Number.vue'; export { default as RadioGroup } from './components/RadioGroup.vue'; export { default as Repeater } from './components/Repeater.vue'; -export { schemaComponentsNuxt } from './components/schemaComponentsNuxt'; +export { schemaComponents } from './components/schemaComponents'; +export type { PresetStyleConfig } from './components/schemaComponents'; export { default as Select } from './components/Select.vue'; export { default as Text } from './components/Text.vue'; export { default as Textarea } from './components/Textarea.vue'; From 7597e3c7df31b07ec5c624f4929db5a516c31c1e Mon Sep 17 00:00:00 2001 From: Ammar Date: Wed, 22 Oct 2025 12:02:35 +0200 Subject: [PATCH 10/27] feat: switchable schema components (Sample/Nuxt) + auto-reset --- packages/playground/src/Playground.vue | 21 +++++++++++++++---- ...omponentsSample.ts => schemaComponents.ts} | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) rename packages/playground/src/sample/{schemaComponentsSample.ts => schemaComponents.ts} (98%) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 7e48400..1e282ce 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -102,7 +102,7 @@ import type { } from 'former-ui'; import Button from '@/sample/Button.vue'; import Checkbox from '@/sample/Checkbox.vue'; -import { schemaComponentsSample } from '@/sample/schemaComponentsSample'; +import { schemaComponents as schemaComponentsSample } from '@/sample/schemaComponents'; import Select from '@/sample/Select.vue'; import { useStorage } from '@vueuse/core'; import { @@ -113,7 +113,7 @@ import { } from 'former-ui'; import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; -import { computed, ref } from 'vue'; +import { computed, nextTick, ref, watch } from 'vue'; import type { PresetStyleConfig } from 'preset-nuxt-ui'; const defaultStyles: PresetStyleConfig = { @@ -193,7 +193,8 @@ const presetOptions = [ const isValid = ref(true); const isSchemaValid = ref(true); -const schema = useStorage('former:schema', [ + +const DEFAULT_SCHEMA: SchemaNode[] = [ { type: 'text', name: 'name', @@ -312,7 +313,18 @@ const schema = useStorage('former:schema', [ }, ], }, -]); +]; + +const schema = useStorage('former:schema', structuredClone(DEFAULT_SCHEMA)); + +watch(preset, async () => { + clearPlayground(); + await nextTick(); + schema.value = structuredClone(DEFAULT_SCHEMA); + data.value = {}; + await nextTick(); + location.reload(); +}); const debouncedSchema = (() => { let timeout: number | null = null; @@ -375,4 +387,5 @@ function clearPlayground() { schema.value = []; data.value = {}; } + diff --git a/packages/playground/src/sample/schemaComponentsSample.ts b/packages/playground/src/sample/schemaComponents.ts similarity index 98% rename from packages/playground/src/sample/schemaComponentsSample.ts rename to packages/playground/src/sample/schemaComponents.ts index d305ab4..f6279f3 100644 --- a/packages/playground/src/sample/schemaComponentsSample.ts +++ b/packages/playground/src/sample/schemaComponents.ts @@ -17,7 +17,7 @@ const showIfProp: SchemaNode = { }, }; -export function schemaComponentsSample(): FormComponents { +export function schemaComponents(): FormComponents { return { text: { label: 'Text', From e358a5b5f9e8cbc392ba5acdb73bfe06eb0ac9f5 Mon Sep 17 00:00:00 2001 From: Ammar Date: Wed, 22 Oct 2025 12:36:19 +0200 Subject: [PATCH 11/27] =?UTF-8?q?fix(repeater):=20make=20=E2=80=9CAdd=20it?= =?UTF-8?q?em=E2=80=9D=20not=20full-width=20+=20visible=20button=20borders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/Repeater.vue | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/packages/preset-nuxt-ui/src/components/Repeater.vue b/packages/preset-nuxt-ui/src/components/Repeater.vue index fb267ed..48e3793 100644 --- a/packages/preset-nuxt-ui/src/components/Repeater.vue +++ b/packages/preset-nuxt-ui/src/components/Repeater.vue @@ -1,36 +1,25 @@ From 4aa5de79b36cc6cd364abd420c2bf59fca3b28ab Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 11:34:44 +0200 Subject: [PATCH 12/27] fix: Lint + Typecheck --- packages/playground/src/Playground.vue | 4 +- packages/playground/src/assets/main.css | 4 +- .../src/components/Checkbox.vue | 16 ++-- .../preset-nuxt-ui/src/components/Columns.vue | 12 +-- .../src/components/ComboBox.vue | 46 +++++----- .../preset-nuxt-ui/src/components/Group.vue | 12 +-- .../preset-nuxt-ui/src/components/Number.vue | 26 +++--- .../src/components/RadioGroup.vue | 32 +++---- .../src/components/Repeater.vue | 18 ++-- .../preset-nuxt-ui/src/components/Select.vue | 30 +++---- .../preset-nuxt-ui/src/components/Text.vue | 38 ++++---- .../src/components/Textarea.vue | 26 +++--- .../src/components/schemaComponents.ts | 90 +++++++++---------- packages/preset-nuxt-ui/tsconfig.json | 5 +- packages/preset-nuxt-ui/vite.config.ts | 3 + 15 files changed, 187 insertions(+), 175 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 1e282ce..8825697 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -327,10 +327,10 @@ watch(preset, async () => { }); const debouncedSchema = (() => { - let timeout: number | null = null; + let timeout: ReturnType | null = null; return (_schema: SchemaNode[]) => { - if (timeout) { + if (timeout !== null) { clearTimeout(timeout); } diff --git a/packages/playground/src/assets/main.css b/packages/playground/src/assets/main.css index 4119734..9f61473 100644 --- a/packages/playground/src/assets/main.css +++ b/packages/playground/src/assets/main.css @@ -1,2 +1,2 @@ -@import "tailwindcss"; -@import "@nuxt/ui"; \ No newline at end of file +@import 'tailwindcss'; +@import '@nuxt/ui'; \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Checkbox.vue b/packages/preset-nuxt-ui/src/components/Checkbox.vue index 2236ecb..19e3eaa 100644 --- a/packages/preset-nuxt-ui/src/components/Checkbox.vue +++ b/packages/preset-nuxt-ui/src/components/Checkbox.vue @@ -13,16 +13,16 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Columns.vue b/packages/preset-nuxt-ui/src/components/Columns.vue index b191e3f..c252b4d 100644 --- a/packages/preset-nuxt-ui/src/components/Columns.vue +++ b/packages/preset-nuxt-ui/src/components/Columns.vue @@ -10,13 +10,13 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/ComboBox.vue b/packages/preset-nuxt-ui/src/components/ComboBox.vue index 39f7f8d..e6b8f8b 100644 --- a/packages/preset-nuxt-ui/src/components/ComboBox.vue +++ b/packages/preset-nuxt-ui/src/components/ComboBox.vue @@ -18,36 +18,42 @@ @blur="hasBlurred = true" > \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Number.vue b/packages/preset-nuxt-ui/src/components/Number.vue index 28e9a7e..fca4b52 100644 --- a/packages/preset-nuxt-ui/src/components/Number.vue +++ b/packages/preset-nuxt-ui/src/components/Number.vue @@ -23,22 +23,22 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/RadioGroup.vue b/packages/preset-nuxt-ui/src/components/RadioGroup.vue index 51fa98a..f091999 100644 --- a/packages/preset-nuxt-ui/src/components/RadioGroup.vue +++ b/packages/preset-nuxt-ui/src/components/RadioGroup.vue @@ -7,8 +7,8 @@ class="w-full" > \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Repeater.vue b/packages/preset-nuxt-ui/src/components/Repeater.vue index 48e3793..c1d7e06 100644 --- a/packages/preset-nuxt-ui/src/components/Repeater.vue +++ b/packages/preset-nuxt-ui/src/components/Repeater.vue @@ -25,26 +25,26 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Select.vue b/packages/preset-nuxt-ui/src/components/Select.vue index 79f60ca..846063b 100644 --- a/packages/preset-nuxt-ui/src/components/Select.vue +++ b/packages/preset-nuxt-ui/src/components/Select.vue @@ -20,25 +20,25 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Text.vue b/packages/preset-nuxt-ui/src/components/Text.vue index eb03a03..9ba4b81 100644 --- a/packages/preset-nuxt-ui/src/components/Text.vue +++ b/packages/preset-nuxt-ui/src/components/Text.vue @@ -21,38 +21,38 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/Textarea.vue b/packages/preset-nuxt-ui/src/components/Textarea.vue index ded108c..025c5a5 100644 --- a/packages/preset-nuxt-ui/src/components/Textarea.vue +++ b/packages/preset-nuxt-ui/src/components/Textarea.vue @@ -21,24 +21,24 @@ \ No newline at end of file diff --git a/packages/preset-nuxt-ui/src/components/schemaComponents.ts b/packages/preset-nuxt-ui/src/components/schemaComponents.ts index 740bf0c..6029003 100644 --- a/packages/preset-nuxt-ui/src/components/schemaComponents.ts +++ b/packages/preset-nuxt-ui/src/components/schemaComponents.ts @@ -1,39 +1,39 @@ -import { defineComponent, computed, h, markRaw } from 'vue' -import type { FormComponents, SchemaNode } from 'former-ui' -import type { InputProps } from '@nuxt/ui' +import { defineComponent, computed, h, markRaw } from 'vue'; +import type { FormComponents, SchemaNode } from 'former-ui'; +import type { InputProps } from '@nuxt/ui'; -import Checkbox from './Checkbox.vue' -import Columns from './Columns.vue' -import ComboBox from './ComboBox.vue' -import Group from './Group.vue' -import Number from './Number.vue' -import RadioGroup from './RadioGroup.vue' -import Repeater from './Repeater.vue' -import Select from './Select.vue' -import Text from './Text.vue' -import Textarea from './Textarea.vue' +import Checkbox from '@/components/Checkbox.vue'; +import Columns from '@/components/Columns.vue'; +import ComboBox from '@/components/ComboBox.vue'; +import Group from '@/components/Group.vue'; +import Number from '@/components/Number.vue'; +import RadioGroup from '@/components/RadioGroup.vue'; +import Repeater from '@/components/Repeater.vue'; +import Select from '@/components/Select.vue'; +import Text from '@/components/Text.vue'; +import Textarea from '@/components/Textarea.vue'; -type ClassNameValue = string | string[] | Record -type AnyUi = Record -type UIOf = NonNullable +type ClassNameValue = string | string[] | Record; +type AnyUi = Record; +type UIOf = NonNullable; type StylingConfiguration = { - class?: ClassNameValue - ui?: Partial + class?: ClassNameValue; + ui?: Partial; } export type PresetStyleConfig = Partial<{ - text: StylingConfiguration> - textarea: StylingConfiguration - number: StylingConfiguration - select: StylingConfiguration - checkbox: StylingConfiguration - radio_group: StylingConfiguration - combo_box: StylingConfiguration - columns: StylingConfiguration - group: StylingConfiguration - repeater: StylingConfiguration + text: StylingConfiguration>; + textarea: StylingConfiguration; + number: StylingConfiguration; + select: StylingConfiguration; + checkbox: StylingConfiguration; + radio_group: StylingConfiguration; + combo_box: StylingConfiguration; + columns: StylingConfiguration; + group: StylingConfiguration; + repeater: StylingConfiguration; }> function withStyle(Comp: any, cfg?: StylingConfiguration) { @@ -41,9 +41,9 @@ function withStyle(Comp: any, cfg?: StylingConfiguration) { name: `Styled(${Comp?.name ?? 'Anon'})`, inheritAttrs: true, setup(_, { attrs, slots }) { - const mergedKlass = computed(() => [(attrs as any)?.klass, cfg?.class].filter(Boolean)) + const mergedKlass = computed(() => [(attrs as any)?.klass, cfg?.class].filter(Boolean)); const mergedUi = computed>(() => { - const fromAttrs = (attrs as any)?.ui as Partial | undefined + const fromAttrs = (attrs as any)?.ui as Partial | undefined; return { ...(cfg?.ui ?? {}), ...(fromAttrs ?? {}) } }) return () => @@ -70,12 +70,12 @@ const showIfProp: SchemaNode = { }, } -type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean } -const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true } +type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean }; +const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true }; function commonSchema(opt: Partial = {}): SchemaNode[] { const { name, label, help, required, placeholder } = { ...defaults, ...opt } - const s: SchemaNode[] = [] + const s: SchemaNode[] = []; if (name) s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }) if (label) s.push({ type: 'text', name: 'label', props: { label: 'Label' } }) if (placeholder) s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }) @@ -85,16 +85,16 @@ function commonSchema(opt: Partial = {}): SchemaNode[] { } export function schemaComponents(style?: PresetStyleConfig): FormComponents { - const CText = withStyle>(Text, style?.text) - const CTextarea = withStyle(Textarea, style?.textarea) - const CNumber = withStyle(Number, style?.number) - const CSelect = withStyle(Select, style?.select) - const CCheckbox = withStyle(Checkbox, style?.checkbox) - const CRadioGroup = withStyle(RadioGroup, style?.radio_group) - const CComboBox = withStyle(ComboBox, style?.combo_box) - const CColumns = withStyle(Columns, style?.columns) - const CGroup = withStyle(Group, style?.group) - const CRepeater = withStyle(Repeater, style?.repeater) + const CText = withStyle>(Text, style?.text); + const CTextarea = withStyle(Textarea, style?.textarea); + const CNumber = withStyle(Number, style?.number); + const CSelect = withStyle(Select, style?.select); + const CCheckbox = withStyle(Checkbox, style?.checkbox); + const CRadioGroup = withStyle(RadioGroup, style?.radio_group); + const CComboBox = withStyle(ComboBox, style?.combo_box); + const CColumns = withStyle(Columns, style?.columns); + const CGroup = withStyle(Group, style?.group); + const CRepeater = withStyle(Repeater, style?.repeater); return { text: { @@ -121,8 +121,8 @@ export function schemaComponents(style?: PresetStyleConfig): FormComponents { component: markRaw(CNumber), propsSchema: [ ...commonSchema({ placeholder: false }), - { type: 'text', name: 'min', props: { type: 'number', label: 'Min' } }, - { type: 'text', name: 'max', props: { type: 'number', label: 'Max' } }, + { type: 'text', name: 'min', props: { type: 'number', label: 'Min' } }, + { type: 'text', name: 'max', props: { type: 'number', label: 'Max' } }, { type: 'text', name: 'step', props: { type: 'number', label: 'Step' } }, showIfProp, ], diff --git a/packages/preset-nuxt-ui/tsconfig.json b/packages/preset-nuxt-ui/tsconfig.json index ce66762..ca611f1 100644 --- a/packages/preset-nuxt-ui/tsconfig.json +++ b/packages/preset-nuxt-ui/tsconfig.json @@ -10,7 +10,10 @@ "declaration": true, "emitDeclarationOnly": false, "outDir": "dist", - "skipLibCheck": true + "skipLibCheck": true, + "paths": { + "@/*": ["./src/*"] + } }, "include": ["src/**/*.ts", "src/**/*.vue"] } diff --git a/packages/preset-nuxt-ui/vite.config.ts b/packages/preset-nuxt-ui/vite.config.ts index c26b314..2aef1c9 100644 --- a/packages/preset-nuxt-ui/vite.config.ts +++ b/packages/preset-nuxt-ui/vite.config.ts @@ -10,6 +10,9 @@ export default defineConfig({ ui(), dts({ entryRoot: 'src', outDir: 'dist', insertTypesEntry: true }), ], + resolve: { + alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, + }, build: { lib: { entry: 'src/index.ts', From 41af73f0af1ab9c7e9a2f463bad0d210cc945db7 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 11:57:24 +0200 Subject: [PATCH 13/27] fix: Lint + Typecheck --- packages/preset-nuxt-ui/package.json | 2 +- .../src/components/Checkbox.vue | 10 +++-- .../preset-nuxt-ui/src/components/Columns.vue | 11 +++-- .../src/components/ComboBox.vue | 35 +++++++++------ .../preset-nuxt-ui/src/components/Group.vue | 8 ++-- .../preset-nuxt-ui/src/components/Number.vue | 16 ++++--- .../src/components/RadioGroup.vue | 15 ++++--- .../src/components/Repeater.vue | 16 ++++--- .../preset-nuxt-ui/src/components/Select.vue | 16 ++++--- .../preset-nuxt-ui/src/components/Text.vue | 16 +++---- .../src/components/Textarea.vue | 14 +++--- .../src/components/schemaComponents.ts | 45 ++++++++++--------- packages/preset-nuxt-ui/src/env.d.ts | 7 +++ packages/preset-nuxt-ui/tsconfig.json | 9 ++-- 14 files changed, 134 insertions(+), 86 deletions(-) create mode 100644 packages/preset-nuxt-ui/src/env.d.ts diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 7997ed3..1c4cddb 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,5 +1,5 @@ { - "name": "preset-nuxt-ui", + "name": "@former-u/preset-nuxt-ui", "type": "module", "exports": { ".": { diff --git a/packages/preset-nuxt-ui/src/components/Checkbox.vue b/packages/preset-nuxt-ui/src/components/Checkbox.vue index 19e3eaa..4fcc644 100644 --- a/packages/preset-nuxt-ui/src/components/Checkbox.vue +++ b/packages/preset-nuxt-ui/src/components/Checkbox.vue @@ -14,15 +14,19 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Columns.vue b/packages/preset-nuxt-ui/src/components/Columns.vue index c252b4d..f3439ae 100644 --- a/packages/preset-nuxt-ui/src/components/Columns.vue +++ b/packages/preset-nuxt-ui/src/components/Columns.vue @@ -1,7 +1,7 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/ComboBox.vue b/packages/preset-nuxt-ui/src/components/ComboBox.vue index e6b8f8b..a0edd89 100644 --- a/packages/preset-nuxt-ui/src/components/ComboBox.vue +++ b/packages/preset-nuxt-ui/src/components/ComboBox.vue @@ -18,14 +18,17 @@ @blur="hasBlurred = true" > @@ -34,28 +37,34 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Group.vue b/packages/preset-nuxt-ui/src/components/Group.vue index e56e527..1ed0aa3 100644 --- a/packages/preset-nuxt-ui/src/components/Group.vue +++ b/packages/preset-nuxt-ui/src/components/Group.vue @@ -7,13 +7,15 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Number.vue b/packages/preset-nuxt-ui/src/components/Number.vue index fca4b52..6745809 100644 --- a/packages/preset-nuxt-ui/src/components/Number.vue +++ b/packages/preset-nuxt-ui/src/components/Number.vue @@ -25,20 +25,26 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/RadioGroup.vue b/packages/preset-nuxt-ui/src/components/RadioGroup.vue index f091999..5137447 100644 --- a/packages/preset-nuxt-ui/src/components/RadioGroup.vue +++ b/packages/preset-nuxt-ui/src/components/RadioGroup.vue @@ -24,23 +24,26 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Repeater.vue b/packages/preset-nuxt-ui/src/components/Repeater.vue index c1d7e06..5ea8a3f 100644 --- a/packages/preset-nuxt-ui/src/components/Repeater.vue +++ b/packages/preset-nuxt-ui/src/components/Repeater.vue @@ -6,17 +6,21 @@ - + aria-label="Remove item" @click.stop.prevent="deleteItem(index)" + > ×
- + @click.stop.prevent="addItem" + > Add {{ itemLabel || 'item' }}
@@ -25,7 +29,7 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Select.vue b/packages/preset-nuxt-ui/src/components/Select.vue index 846063b..efd5a05 100644 --- a/packages/preset-nuxt-ui/src/components/Select.vue +++ b/packages/preset-nuxt-ui/src/components/Select.vue @@ -22,23 +22,27 @@ \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Text.vue b/packages/preset-nuxt-ui/src/components/Text.vue index 9ba4b81..82a56dd 100644 --- a/packages/preset-nuxt-ui/src/components/Text.vue +++ b/packages/preset-nuxt-ui/src/components/Text.vue @@ -12,9 +12,9 @@ :type="type || 'text'" :size="size" :disabled="mode === 'read'" - :ui="ui" - :class="klass" - v-bind="$attrs" + :ui="ui" + :class="klass" + v-bind="$attrs" @blur="hasBlurred = true" /> @@ -39,20 +39,20 @@ const props = withDefaults(defineProps<{ klass?: ClassNameValue; } & Partial>(), { size: 'lg', -}) +}); const modelValue = defineModel(); const hasBlurred = ref(false); -const mode = toRef(props, 'mode'); -const error = toRef(props, 'error'); +const mode = toRef(props, 'mode'); +const error = toRef(props, 'error'); const preset = toRef(props, 'preset'); onMounted(() => { if (modelValue.value === undefined && preset.value !== undefined) { modelValue.value = preset.value; } -}) +}); const { label, required, help, type, size, ui, klass } = props; - \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/Textarea.vue b/packages/preset-nuxt-ui/src/components/Textarea.vue index 025c5a5..6a49649 100644 --- a/packages/preset-nuxt-ui/src/components/Textarea.vue +++ b/packages/preset-nuxt-ui/src/components/Textarea.vue @@ -29,16 +29,20 @@ type ClassNameValue = string | string[] | Record; defineOptions({ inheritAttrs: false }); const props = withDefaults(defineProps<{ - label?: string; required?: boolean; help?: string; - rows?: number; autoresize?: boolean; - ui?: Record; klass?: ClassNameValue; + label?: string; + required?: boolean; + help?: string; + rows?: number; + autoresize?: boolean; + ui?: Record; + klass?: ClassNameValue; } & Partial>(), { rows: 3, autoresize: false }); const modelValue = defineModel(); const hasBlurred = ref(false); -const mode = toRef(props, 'mode'); +const mode = toRef(props, 'mode'); const error = toRef(props, 'error'); const { label, required, help, rows, autoresize, ui, klass } = props; - \ No newline at end of file + diff --git a/packages/preset-nuxt-ui/src/components/schemaComponents.ts b/packages/preset-nuxt-ui/src/components/schemaComponents.ts index 6029003..03050ad 100644 --- a/packages/preset-nuxt-ui/src/components/schemaComponents.ts +++ b/packages/preset-nuxt-ui/src/components/schemaComponents.ts @@ -1,8 +1,7 @@ -import { defineComponent, computed, h, markRaw } from 'vue'; -import type { FormComponents, SchemaNode } from 'former-ui'; import type { InputProps } from '@nuxt/ui'; - +import type { FormComponents, SchemaNode } from 'former-ui'; import Checkbox from '@/components/Checkbox.vue'; + import Columns from '@/components/Columns.vue'; import ComboBox from '@/components/ComboBox.vue'; import Group from '@/components/Group.vue'; @@ -12,7 +11,7 @@ import Repeater from '@/components/Repeater.vue'; import Select from '@/components/Select.vue'; import Text from '@/components/Text.vue'; import Textarea from '@/components/Textarea.vue'; - +import { computed, defineComponent, h, markRaw } from 'vue'; type ClassNameValue = string | string[] | Record; type AnyUi = Record; @@ -21,7 +20,7 @@ type UIOf = NonNullable; type StylingConfiguration = { class?: ClassNameValue; ui?: Partial; -} +}; export type PresetStyleConfig = Partial<{ text: StylingConfiguration>; @@ -34,7 +33,7 @@ export type PresetStyleConfig = Partial<{ columns: StylingConfiguration; group: StylingConfiguration; repeater: StylingConfiguration; -}> +}>; function withStyle(Comp: any, cfg?: StylingConfiguration) { return defineComponent({ @@ -44,8 +43,8 @@ function withStyle(Comp: any, cfg?: StylingConfiguration) { const mergedKlass = computed(() => [(attrs as any)?.klass, cfg?.class].filter(Boolean)); const mergedUi = computed>(() => { const fromAttrs = (attrs as any)?.ui as Partial | undefined; - return { ...(cfg?.ui ?? {}), ...(fromAttrs ?? {}) } - }) + return { ...(cfg?.ui ?? {}), ...(fromAttrs ?? {}) }; + }); return () => h( Comp, @@ -55,12 +54,11 @@ function withStyle(Comp: any, cfg?: StylingConfiguration) { ui: mergedUi.value, }, slots, - ) + ); }, - }) + }); } - const showIfProp: SchemaNode = { type: 'text', name: 'showIf', @@ -68,20 +66,25 @@ const showIfProp: SchemaNode = { label: 'Show if', placeholder: 'If empty or "hello" then component is visible.', }, -} +}; type CommonOpts = { name: boolean; label: boolean; help: boolean; required: boolean; placeholder: boolean }; const defaults: CommonOpts = { name: true, label: true, help: true, required: true, placeholder: true }; function commonSchema(opt: Partial = {}): SchemaNode[] { - const { name, label, help, required, placeholder } = { ...defaults, ...opt } + const { name, label, help, required, placeholder } = { ...defaults, ...opt }; const s: SchemaNode[] = []; - if (name) s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }) - if (label) s.push({ type: 'text', name: 'label', props: { label: 'Label' } }) - if (placeholder) s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }) - if (help) s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }) - if (required) s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }) - return s + if (name) + s.push({ type: 'text', name: '$name', props: { label: 'Technical name', required: true } }); + if (label) + s.push({ type: 'text', name: 'label', props: { label: 'Label' } }); + if (placeholder) + s.push({ type: 'text', name: 'placeholder', props: { label: 'Placeholder' } }); + if (help) + s.push({ type: 'text', name: 'help', props: { label: 'Help text' } }); + if (required) + s.push({ type: 'checkbox', name: 'required', props: { label: 'Is field required?' } }); + return s; } export function schemaComponents(style?: PresetStyleConfig): FormComponents { @@ -214,5 +217,5 @@ export function schemaComponents(style?: PresetStyleConfig): FormComponents { showIfProp, ], }, - } -} \ No newline at end of file + }; +} diff --git a/packages/preset-nuxt-ui/src/env.d.ts b/packages/preset-nuxt-ui/src/env.d.ts new file mode 100644 index 0000000..261827f --- /dev/null +++ b/packages/preset-nuxt-ui/src/env.d.ts @@ -0,0 +1,7 @@ +/// +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + + const component: DefineComponent; + export default component; +} diff --git a/packages/preset-nuxt-ui/tsconfig.json b/packages/preset-nuxt-ui/tsconfig.json index ca611f1..272806d 100644 --- a/packages/preset-nuxt-ui/tsconfig.json +++ b/packages/preset-nuxt-ui/tsconfig.json @@ -6,14 +6,13 @@ "rootDir": "src", "module": "ESNext", "moduleResolution": "Bundler", + "paths": { "@/*": ["./src/*"] }, "strict": true, "declaration": true, "emitDeclarationOnly": false, "outDir": "dist", - "skipLibCheck": true, - "paths": { - "@/*": ["./src/*"] - } + + "skipLibCheck": true }, - "include": ["src/**/*.ts", "src/**/*.vue"] + "include": ["src/**/*.ts", "src/**/*.vue", "src/env.d.ts"] } From f0d02c821d7d50d4ac3d160f3a93650e8e9c95eb Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 12:07:30 +0200 Subject: [PATCH 14/27] fix(playground): Lint + Typecheck --- packages/playground/src/Playground.vue | 30 ++++++++++++------------- packages/playground/src/assets/main.css | 2 +- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 8825697..2500c81 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -100,21 +100,21 @@ import type { Mode, SchemaNode, } from 'former-ui'; +import type { PresetStyleConfig } from 'preset-nuxt-ui'; import Button from '@/sample/Button.vue'; import Checkbox from '@/sample/Checkbox.vue'; import { schemaComponents as schemaComponentsSample } from '@/sample/schemaComponents'; import Select from '@/sample/Select.vue'; import { useStorage } from '@vueuse/core'; + import { FormAdd, FormContent, Former, FormNodeProps, } from 'former-ui'; - import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; import { computed, nextTick, ref, watch } from 'vue'; -import type { PresetStyleConfig } from 'preset-nuxt-ui'; const defaultStyles: PresetStyleConfig = { text: { @@ -139,17 +139,17 @@ const defaultStyles: PresetStyleConfig = { checkbox: { ui: { - base: 'border border-zinc-400 rounded bg-white dark:bg-zinc-900', + base: 'border border-zinc-400 rounded bg-white dark:bg-zinc-900', label: 'ml-2', - icon: 'text-zinc-800 dark:text-zinc-100', + icon: 'text-zinc-800 dark:text-zinc-100', }, }, radio_group: { - class: "w-full rounded-lg border border-zinc-300 dark:border-zinc-600 px-2.5 py-1.5 text-sm gap-1.5 text-highlighted", + class: 'w-full rounded-lg border border-zinc-300 dark:border-zinc-600 px-2.5 py-1.5 text-sm gap-1.5 text-highlighted', ui: { item: 'rounded-lg border border-zinc-300 dark:border-zinc-600 bg-default', - } + }, }, group: { @@ -165,12 +165,16 @@ const defaultStyles: PresetStyleConfig = { item: 'rounded-lg border border-dashed border-zinc-300 dark:border-zinc-600 p-4', }, }, -} +}; + +type PresetKey = 'nuxt' | 'sample'; +const preset = useStorage('former:preset', 'nuxt'); +const data = useStorage('former:data', {}); const builderComponents = computed(() => preset.value === 'nuxt' - ? schemaComponentsNuxt(defaultStyles) - : schemaComponentsSample() + ? schemaComponentsNuxt(defaultStyles) + : schemaComponentsSample(), ); const mode = useStorage('former:mode', 'build'); @@ -182,8 +186,6 @@ const options = [ { label: 'edit', value: 'edit' }, { label: 'read', value: 'read' }, ]; -type PresetKey = 'nuxt' | 'sample'; -const preset = useStorage('former:preset', 'nuxt'); const presetOptions = [ { label: 'Nuxt UI', value: 'nuxt' }, @@ -193,7 +195,6 @@ const presetOptions = [ const isValid = ref(true); const isSchemaValid = ref(true); - const DEFAULT_SCHEMA: SchemaNode[] = [ { type: 'text', @@ -318,7 +319,7 @@ const DEFAULT_SCHEMA: SchemaNode[] = [ const schema = useStorage('former:schema', structuredClone(DEFAULT_SCHEMA)); watch(preset, async () => { - clearPlayground(); + clearPlayground(); await nextTick(); schema.value = structuredClone(DEFAULT_SCHEMA); data.value = {}; @@ -350,8 +351,6 @@ const jsonSchema = computed({ }, }); -const data = useStorage('former:data', {}); - function showIf(node: SchemaNode, _data: FormData): boolean { if (!activateShowIf.value) { return true; @@ -387,5 +386,4 @@ function clearPlayground() { schema.value = []; data.value = {}; } - diff --git a/packages/playground/src/assets/main.css b/packages/playground/src/assets/main.css index 9f61473..477bfa7 100644 --- a/packages/playground/src/assets/main.css +++ b/packages/playground/src/assets/main.css @@ -1,2 +1,2 @@ @import 'tailwindcss'; -@import '@nuxt/ui'; \ No newline at end of file +@import '@nuxt/ui'; From 3a2238fd8f1095d7866f244fa84fe1acc4695258 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 12:13:01 +0200 Subject: [PATCH 15/27] fix(preset-nuxt-ui): "i" was missing in the name --- packages/preset-nuxt-ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 1c4cddb..11d13dc 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,5 +1,5 @@ { - "name": "@former-u/preset-nuxt-ui", + "name": "@former-ui/preset-nuxt-ui", "type": "module", "exports": { ".": { From 1d2efad290b6c9083d01e12249e70ddf85f2e2d2 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 12:31:47 +0200 Subject: [PATCH 16/27] update: removing unnessery lines --- packages/playground/src/Playground.vue | 2 +- packages/playground/vite.config.ts | 3 +-- packages/preset-nuxt-ui/package.json | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 2500c81..ca6dae3 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -100,7 +100,6 @@ import type { Mode, SchemaNode, } from 'former-ui'; -import type { PresetStyleConfig } from 'preset-nuxt-ui'; import Button from '@/sample/Button.vue'; import Checkbox from '@/sample/Checkbox.vue'; import { schemaComponents as schemaComponentsSample } from '@/sample/schemaComponents'; @@ -114,6 +113,7 @@ import { FormNodeProps, } from 'former-ui'; import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; +import type { PresetStyleConfig } from 'preset-nuxt-ui'; import { computed, nextTick, ref, watch } from 'vue'; const defaultStyles: PresetStyleConfig = { diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index 4791c62..4bb00c1 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -12,6 +12,5 @@ export default defineConfig({ alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, dedupe: ['vue'], }, - server: { allowedHosts: ['.gitpod.io'] }, - optimizeDeps: { exclude: ['former-ui'] }, + optimizeDeps: { exclude: ['former-ui', '@former-ui/preset-nuxt-ui'] }, }); diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 11d13dc..7964d99 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,5 +1,6 @@ { "name": "@former-ui/preset-nuxt-ui", + "version": "0.0.0", "type": "module", "exports": { ".": { @@ -13,6 +14,7 @@ "scripts": { "build": "vite build", + "prepare": "vite build", "typecheck": "tsc -p tsconfig.json --noEmit" }, "peerDependencies": { From 1b319a0a64f2d4a0ed71849e1fc7a5d7973ea152 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 12:39:35 +0200 Subject: [PATCH 17/27] update: removing unnessery lines --- packages/playground/vite.config.ts | 2 +- packages/preset-nuxt-ui/package.json | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index 4bb00c1..3b9a65b 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -12,5 +12,5 @@ export default defineConfig({ alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, dedupe: ['vue'], }, - optimizeDeps: { exclude: ['former-ui', '@former-ui/preset-nuxt-ui'] }, + optimizeDeps: { exclude: ['former-ui'] }, }); diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 7964d99..785ef59 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -14,7 +14,6 @@ "scripts": { "build": "vite build", - "prepare": "vite build", "typecheck": "tsc -p tsconfig.json --noEmit" }, "peerDependencies": { From 53a134e7a05e94dca28d0b1aad4c367f296f3a9d Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 13:14:04 +0200 Subject: [PATCH 18/27] update(preset-nuxt-ui): rename the Package back to "preset-nuxt-ui)" --- packages/playground/src/Playground.vue | 5 +++-- packages/preset-nuxt-ui/package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index ca6dae3..2ac8cc8 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -100,20 +100,21 @@ import type { Mode, SchemaNode, } from 'former-ui'; +import type { PresetStyleConfig } from 'preset-nuxt-ui'; import Button from '@/sample/Button.vue'; import Checkbox from '@/sample/Checkbox.vue'; import { schemaComponents as schemaComponentsSample } from '@/sample/schemaComponents'; import Select from '@/sample/Select.vue'; import { useStorage } from '@vueuse/core'; - import { FormAdd, FormContent, Former, FormNodeProps, } from 'former-ui'; + import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; -import type { PresetStyleConfig } from 'preset-nuxt-ui'; + import { computed, nextTick, ref, watch } from 'vue'; const defaultStyles: PresetStyleConfig = { diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 785ef59..04225a2 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,5 +1,5 @@ { - "name": "@former-ui/preset-nuxt-ui", + "name": "preset-nuxt-ui", "version": "0.0.0", "type": "module", "exports": { From d2e31bdf75e9b4c63de236049e63a3f0866ab471 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 13:19:00 +0200 Subject: [PATCH 19/27] fix(preset-nuxt-ui): lint --- packages/preset-nuxt-ui/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 04225a2..07946d6 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,7 +1,7 @@ { "name": "preset-nuxt-ui", - "version": "0.0.0", "type": "module", + "version": "0.0.0", "exports": { ".": { "types": "./dist/index.d.ts", From 998859908e60ad11af6fa144691f9fb461570527 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 13:24:40 +0200 Subject: [PATCH 20/27] update(preset-nuxt-ui): rename package to "@former-ui/preset-nuxt-ui" --- packages/playground/package.json | 2 +- packages/preset-nuxt-ui/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/playground/package.json b/packages/playground/package.json index 6b8375d..ce8f122 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -16,7 +16,7 @@ "@unhead/vue": "^1", "@vueuse/core": "12.0.0", "former-ui": "workspace:*", - "preset-nuxt-ui": "workspace:*", + "@former-ui/preset-nuxt-ui": "workspace:*", "vue": "^3.5.13", "vue-router": "^4" }, diff --git a/packages/preset-nuxt-ui/package.json b/packages/preset-nuxt-ui/package.json index 07946d6..b1b75af 100644 --- a/packages/preset-nuxt-ui/package.json +++ b/packages/preset-nuxt-ui/package.json @@ -1,5 +1,5 @@ { - "name": "preset-nuxt-ui", + "name": "@former-ui/preset-nuxt-ui", "type": "module", "version": "0.0.0", "exports": { From 67b30f4a0f53c9a563e48494f9105893a1a890b6 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 13:34:59 +0200 Subject: [PATCH 21/27] fix: exports/build --- packages/playground/src/Playground.vue | 4 ++-- packages/playground/vite.config.ts | 2 +- pnpm-lock.yaml | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index 2ac8cc8..f99b641 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -100,7 +100,7 @@ import type { Mode, SchemaNode, } from 'former-ui'; -import type { PresetStyleConfig } from 'preset-nuxt-ui'; +import type { PresetStyleConfig } from '@former-ui/preset-nuxt-ui'; import Button from '@/sample/Button.vue'; import Checkbox from '@/sample/Checkbox.vue'; import { schemaComponents as schemaComponentsSample } from '@/sample/schemaComponents'; @@ -113,7 +113,7 @@ import { FormNodeProps, } from 'former-ui'; -import { schemaComponents as schemaComponentsNuxt } from 'preset-nuxt-ui'; +import { schemaComponents as schemaComponentsNuxt } from '@former-ui/preset-nuxt-ui'; import { computed, nextTick, ref, watch } from 'vue'; diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index 3b9a65b..4bb00c1 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -12,5 +12,5 @@ export default defineConfig({ alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, dedupe: ['vue'], }, - optimizeDeps: { exclude: ['former-ui'] }, + optimizeDeps: { exclude: ['former-ui', '@former-ui/preset-nuxt-ui'] }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4223a59..32f9987 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,6 +72,9 @@ importers: packages/playground: dependencies: + '@former-ui/preset-nuxt-ui': + specifier: workspace:* + version: link:../preset-nuxt-ui '@nuxt/ui': specifier: ^3.3.4 version: 3.3.4(@babel/parser@7.26.2)(embla-carousel@8.6.0)(typescript@5.7.2)(vite@6.1.6(@types/node@22.10.1)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.6.1))(vue-router@4.5.1(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))(zod@4.1.11) @@ -84,9 +87,6 @@ importers: former-ui: specifier: workspace:* version: link:../former - preset-nuxt-ui: - specifier: workspace:* - version: link:../preset-nuxt-ui vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.2) From 32d0052d5719809a461c3eb5ad116754030febd7 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 23 Oct 2025 13:39:39 +0200 Subject: [PATCH 22/27] fix: lint --- packages/playground/package.json | 2 +- packages/playground/src/Playground.vue | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/playground/package.json b/packages/playground/package.json index ce8f122..df30846 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -15,8 +15,8 @@ "@nuxt/ui": "^3.3.4", "@unhead/vue": "^1", "@vueuse/core": "12.0.0", - "former-ui": "workspace:*", "@former-ui/preset-nuxt-ui": "workspace:*", + "former-ui": "workspace:*", "vue": "^3.5.13", "vue-router": "^4" }, diff --git a/packages/playground/src/Playground.vue b/packages/playground/src/Playground.vue index f99b641..942394d 100644 --- a/packages/playground/src/Playground.vue +++ b/packages/playground/src/Playground.vue @@ -93,6 +93,8 @@ diff --git a/packages/preset-nuxt-ui/src/components/Group.vue b/packages/preset-nuxt-ui/src/components/Group.vue index 1ed0aa3..29c1295 100644 --- a/packages/preset-nuxt-ui/src/components/Group.vue +++ b/packages/preset-nuxt-ui/src/components/Group.vue @@ -1,6 +1,6 @@