Goose is a library of Vue 3 components, composables, and directives that leans heavily into modern html and css.
- 🧩 Components: Buttons, Dialogs, Drawers, Popovers, Segmented Controls, Selects, Tables, Timelines, and more
- 🪝 Composables: Useful Vue composables like
useHighlightanduseUniqueId - 🏷️ Directives: Directives such as
v-focus - 🎨 Theming: Includes core and Tailwind-compatible theme CSS
- 🛠️ TypeScript: Full type support for all exports
- 📦 Tree-shakable: Import only what you need
pnpm add @jclong98/goose// vite.config.ts
import { defineConfig } from "vite";
import Components from "unplugin-vue-components/vite";
import { GooseVueComponentsResolver } from "@jclong98/goose/integrations";
export default defineConfig({
plugins: [
// https://github.com/unplugin/unplugin-vue-components
Components({
resolvers: [GooseVueComponentsResolver],
}),
],
});// vite.config.ts
import { defineConfig } from "vite";
import AutoImport from "unplugin-auto-import/vite";
import { GooseAutoImports } from "@jclong98/goose/integrations";
export default defineConfig({
plugins: [
// https://github.com/unplugin/unplugin-auto-import
AutoImport({
imports: [GooseAutoImports],
}),
],
});import { GButton, GDialog } from "@jclong98/goose";import { useHighlight } from "@jclong98/goose/composables";
const { highlighted } = useHighlight("text");import { createApp } from "vue";
import { vFocus } from "@jclong98/goose/directives";
const app = createApp();
app.directive("focus", vFocus);See the docs for usage examples and API details for each component, composable, and directive.
pnpm dev # Start playground/dev server
pnpm test # Run tests
pnpm build # Build libraryISC