v2.0.0
Gooey v2.0.0
This is a major release that modernizes the Gooey component library with significant dependency upgrades, Tailwind CSS v4 support, and migration to reka-ui (the new upstream for shadcn-vue).
⚠️ Breaking Changes
radix-vue → reka-ui Migration
All components have been migrated from radix-vue to reka-ui, which is the new upstream dependency for shadcn-vue. This change aligns Gooey with the official shadcn-vue project direction.
Toast Component Removed
The Toast component has been removed in favor of Sonner, following the official shadcn-vue deprecation. Consumers using Toast should migrate to either:
- Sonner - Modern toast notifications (shadcn-vue standard)
- Flasher - Gooey's custom flash message component
Sonner CSS Import Required
Apps using Sonner or Flasher must now import the bundled CSS:
@import "@codinglabsau/gooey/style.css";Dependencies Removed
@inertiajs/vue3- No longer a dependency@radix-icons/vue- Replaced with lucide-vue-next equivalents
ESLint Configuration
Migrated from .eslintrc.cjs to ESLint 9's flat config format (eslint.config.ts)
🚀 New Features
Tailwind CSS v4 Support
Gooey now supports both Tailwind CSS v3 and v4 with versioned presets:
For Tailwind v3:
// tailwind.config.js
const gooey = require('@codinglabsau/gooey/presets/v3')
module.exports = gooey.presetFor Tailwind v4:
/* app.css */
@import "tailwindcss";
@import "@codinglabsau/gooey/presets/v4/preset.css";23 New Components
Added comprehensive coverage of shadcn-vue components:
Form Components:
- Calendar, Range Calendar
- Radio Group
- Toggle, Toggle Group
- Number Field
- Pin Input
- Tags Input
- Field, Form (vee-validate integration)
- Input Group
UI Components:
- Aspect Ratio
- Button Group
- Hover Card
- Kbd (keyboard shortcuts)
- Menubar
- Scroll Area
- Sonner (toast notifications)
- Spinner
Layout Components:
- Resizable panels
- Stepper (multi-step processes)
- Chart (unovis integration)
- Collapsible Two Column Layout
Collapsible Two Column Layout
New layout component with collapsible sidebar support for dashboard-style interfaces.
📦 Dependency Upgrades
| Package | From | To |
|---|---|---|
| vue-use/core | 9.13.0 | 14.1.0 |
| typescript | 4.9.5 | 5.9.3 |
| vite | 5.x | 7.3.1 |
| @vitejs/plugin-vue | 5.x | 6.0.3 |
| cypress | 14.5.4 | 15.9.0 |
| tailwind-merge | 2.6.0 | 3.4.0 |
| prettier | 2.8.8 | 3.8.0 |
| eslint | 8.x | 9.x |
| lucide-vue-next | 0.439.0 | latest |
🔧 Improvements
- Type generation fixed: Build now properly generates TypeScript declarations in
dist/types/ - Sonner CSS bundled:
vue-sonner/style.cssautomatically included - no manual import needed - Flasher standalone: Now uses vue-sonner directly without modifying Sonner component
xsbutton size: Re-added thexsvariant that was removed in earlier shadcn-vue updates- Vite config: Converted
vite.config.jsto TypeScript (vite.config.ts) - Test coverage: All 64+ components now have test coverage (88+ tests)
- Prettier Tailwind plugin: Added
prettier-plugin-tailwindcssfor automatic class ordering
📖 Migration Guide
From Toast to Sonner
Before (v1.x):
<script setup>
import { Toaster, useToast } from '@codinglabsau/gooey'
const { toast } = useToast()
toast({ title: 'Hello' })
</script>After (v2.0):
<script setup>
import { Toaster } from '@codinglabsau/gooey'
import { toast } from 'vue-sonner'
toast('Hello')
</script>Import the Required CSS
Add to your main stylesheet:
@import "@codinglabsau/gooey/style.css";What's Changed
- add-shadcn-component skill + version CLAUDE.md file by @SethSharp in 60061b5
- feat: Add missing shadcn components and improve docs (#32) by @stevethomas
- feat: Add Tailwind CSS v4 support with dual v3/v4 presets (#33) by @stevethomas
- v2 (#34) by @SethSharp
Full Changelog: v1.15.0...v2.0.0