feat: install shadcn-vue components for the portfolio + form surface

Adds button, card, input, textarea, label, select, form, sheet,
dialog, sonner, separator, aspect-ratio, dropdown-menu — the set
needed for the layout, project lightbox, and contact form.

Hoists baseUrl + paths into the root tsconfig.json so shadcn-vue's
CLI can resolve aliases (it reads the root config, not the app one).
Sets ignoreDeprecations="6.0" since TypeScript 6 warns about baseUrl
even though the CLI still requires it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-27 11:12:38 +02:00
commit 04ae000a12
79 changed files with 1530 additions and 1 deletions

22
pnpm-lock.yaml generated
View file

@ -14,6 +14,9 @@ importers:
'@vee-validate/zod':
specifier: ^4.15.1
version: 4.15.1(vue@3.5.34(typescript@6.0.3))(zod@3.25.76)
'@vueuse/core':
specifier: ^14.3.0
version: 14.3.0(vue@3.5.34(typescript@6.0.3))
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@ -44,6 +47,9 @@ importers:
vue-router:
specifier: ^5.0.7
version: 5.0.7(@vue/compiler-sfc@3.5.34)(pinia@3.0.4(typescript@6.0.3)(vue@3.5.34(typescript@6.0.3)))(vue@3.5.34(typescript@6.0.3))
vue-sonner:
specifier: ^2.0.9
version: 2.0.9
zod:
specifier: ^3.25.76
version: 3.25.76
@ -1430,6 +1436,20 @@ packages:
pinia:
optional: true
vue-sonner@2.0.9:
resolution: {integrity: sha512-i6BokNlNDL93fpzNxN/LZSn6D6MzlO+i3qXt6iVZne3x1k7R46d5HlFB4P8tYydhgqOrRbIZEsnRd3kG7qGXyw==}
peerDependencies:
'@nuxt/kit': ^4.0.3
'@nuxt/schema': ^4.0.3
nuxt: ^4.0.3
peerDependenciesMeta:
'@nuxt/kit':
optional: true
'@nuxt/schema':
optional: true
nuxt:
optional: true
vue-tsc@3.3.2:
resolution: {integrity: sha512-n7nQoA3YWW/eiDR8jMiv/uJvlg0uLGs+YgUrsTrf9EZaYSt3tuvMZb5V8+7Mvh/EH5pnY/hoVdgfjH+XcK+wwA==}
hasBin: true
@ -2743,6 +2763,8 @@ snapshots:
'@vue/compiler-sfc': 3.5.34
pinia: 3.0.4(typescript@6.0.3)(vue@3.5.34(typescript@6.0.3))
vue-sonner@2.0.9: {}
vue-tsc@3.3.2(typescript@6.0.3):
dependencies:
'@volar/typescript': 2.4.28