Components
Primitives use the Gk prefix. Each page documents props, events, slots, and examples. Form controls live under /components/form in the docs and under src/vue/components/form/ in the package.
Quick add
npx god-kit@latest add buttonCompatibility alias: npx add gk button.
The CLI targets Vue Vite and Nuxt projects, supports --yes, --dry-run, --cwd, and --force, and ships a registry key for each public Gk* component (run npx god-kit --help for the full list; source cli/manifests/components.json in the repo).
Integration recipes
- Form validation flow —
GkForm+GkField+ controls - Dialog actions —
GkDialog+GkButton - Async feedback —
GkSnackbar+pushGkSnackbar - Navigation shell — drawer + tabs/pagination patterns
Form
| Component | Description |
|---|---|
| GkForm | Native <form> with validation slot helpers and createForm |
| GkInput | Text-like input with v-model and field integration |
| GkField | Label, control slot, and error region for forms |
| GkTextarea | Multiline text with GkField integration |
| GkCheckbox | Boolean checkbox with v-model |
| GkRadioGroup & GkRadio | Radio group with shared name and v-model |
| GkSelect | Native <select> with options array |
Navigation
| Component | Description |
|---|---|
| GkTabs | Tab list + panels — v-model, items or GkTab + #window, GK_TABS injection |
| GkPagination | Page navigation — ellipsis, totalVisible, first/last, buildPaginationRange |
Data
| Component | Description |
|---|---|
| GkDataTable | Sortable table — client / server modes, selection, expand, grouping, god-kit/vue/data |
Containment
Overlays, modal shells, and other primitives that contain focus and layer above the page.
| Component | Description |
|---|---|
| GkOverlay | Teleported overlay with scrim, v-model, Escape / scrim dismiss, body scroll lock, and tokenized stacking |
| GkDialog | Dialog shell built on GkOverlay — fullscreen, scrollable, sizing props, afterEnter / afterLeave |
| GkBottomSheet | Bottom-anchored sheet on GkOverlay — inset, scrollable, slide-up transition |
| GkMenu | Floating menu — activator slot, placement, useMenuAnchorPosition, outside dismiss |
| GkTooltip | Tooltip — hover / focus / click, interactive, useTooltipPosition |
| GkNavigationDrawer | Side / bottom nav — temporary scrim, rail, location, slots |
Expansion
| Component | Description |
|---|---|
| GkExpansionPanels | Accordion container with v-model (open keys), multiple, disabled |
| (children) | GkExpansionPanel, GkExpansionPanelTitle, GkExpansionPanelText — see the expansion page |
Feedback & layout
| Component | Description |
|---|---|
| GkButton | Button with primary, secondary, ghost, and danger variants |
| GkAlert | Inline status messages with variants |
| GkStack | Flex row/column layout with token gap |
| GkContainer | Centered max-width container |
| GkDivider | Horizontal or vertical separator |
| GkSpinner | Loading indicator with role="status" |
| GkSkeletonLoader | Preset skeleton layouts — type, shimmer / boilerplate, loading |
| GkSnackbar | Transient messages — timeout, timer, pushGkSnackbar, GkSnackbarHost |
Form-focused imports are also available from god-kit/vue/form, layout primitives from god-kit/vue/layout, navigation primitives from god-kit/vue/navigation, and data-table primitives from god-kit/vue/data (see Build and bundling).
Maintenance notes
- Keep this index, the components sidebar in
docs/.vitepress/config.ts, and demo registrations indocs/.vitepress/theme/index.tssynchronized in the same PR. - Use the checklist in Contributing docs when adding or expanding examples.