This is the compact API reference for the official Vue adapter. Import components from gnexus-ui-kit/vue.
GnButtonProps: variant, size, icon, loading, disabled, type.
Slots: default.
<GnButton variant="secondary" icon="ph-plus" :loading="saving">Create</GnButton>
GnIconButtonProps: icon, label, type, withoutHover.
<GnIconButton icon="ph-x" label="Close" />
GnBadge, GnAlertProps: variant; GnBadge also supports outline.
<GnBadge variant="success">Online</GnBadge> <GnAlert variant="warning">Check this before release.</GnAlert>
GnInput, GnTextarea, GnSelectProps: modelValue, label, icon, state, help.
Emits: update:modelValue.
<GnInput v-model="name" label="Project name" icon="ph-pencil-simple" /> <GnTextarea v-model="notes" label="Notes" state="warning" help="Review before publishing" /> <GnSelect v-model="status" label="Status" :options="statusOptions" />
GnCheckbox, GnSwitchProps: modelValue, label, disabled.
Emits: update:modelValue.
<GnSwitch v-model="enabled">Enabled</GnSwitch>
GnRadio, GnRadioGroupProps: modelValue, value, label, name, disabled; group accepts options.
Emits: update:modelValue.
<GnRadioGroup v-model="mode" label="Mode" :options="modes" />
GnRangeProps: modelValue, label, min, max, step.
Emits: update:modelValue.
<GnRange v-model="rollout" label="Rollout" />
GnComboboxProps: modelValue, label, icon, options, placeholder, notFoundText, state, help.
Emits: update:modelValue, select.
<GnCombobox v-model="assignee" label="Assignee" icon="ph-user" :options="people" />
GnFileUploadProps: modelValue, title, description, primary, secondary, badge, multiple, accept.
Emits: update:modelValue, change.
<GnFileUpload v-model="files" badge="Max 12 MB" />
GnTabsProps: modelValue, items, compact, vertical, ariaLabel.
Emits: update:modelValue.
Slots: one slot per item id.
<GnTabs v-model="tab" :items="tabs"> <template #overview>Overview</template> </GnTabs>
GnRouterTabsRouter-aware tabs. Wraps GnTabs and drives active state from the current vue-router route.
Props: items (with to, id, label, icon, disabled), compact, vertical, ariaLabel, activeMatch ('exact' | 'prefix').
<script setup>
const tabs = [
{ id: "overview", label: "Overview", to: "/projects/overview" },
{ id: "activity", label: "Activity", to: "/projects/activity" }
];
</script>
<template>
<GnRouterTabs :items="tabs">
<template #overview>Overview content</template>
<template #activity>Activity content</template>
</GnRouterTabs>
</template>
activeMatch defaults to 'prefix' (highlights tab when current path starts with to). Use 'exact' for strict path equality.
GnAccordionProps: items, modelValue, multiple.
Emits: update:modelValue.
Slots: one slot per item id.
GnDropdown, GnPopover, GnTooltipGnDropdown props: label, icon, variant, items.
GnPopover props: label, title, text, icon, variant.
GnTooltip props: text.
<GnDropdown :items="menuItems" @select="handleMenu" /> <GnPopover title="Context" text="Short contextual copy" /> <GnTooltip text="Short hint"><GnButton>Help</GnButton></GnTooltip>
GnNavigationShell, GnNavListGnNavigationShell props: brand, logoSrc, current, title, subtitle, footerLeft, footerRight, items.
GnNavList props: items.
Emits: select.
GnModal, GnDrawerProps: open, title; modal also has closeOnBackdrop; drawer has position.
Emits: update:open, close.
<GnModal v-model:open="open" title="Edit"> Content </GnModal>
GnToastProvider, useToastWrap the app once and call useToast() in descendants. The provider shows one toast at a time.
toast.success({ title: "Saved", text: "Changes applied" });
GnConfirmDialogProps: open, title, message, confirmText, cancelText, confirmVariant.
Emits: update:open, confirm, cancel.
GnTableProps: columns, rows, caption, emptyText.
Slots: cell-${column.key}, empty.
GnToolbar, GnSearchField, GnPaginationUse for table/list screens.
<GnToolbar title="Projects" meta="24 records"> <template #actions><GnSearchField v-model="query" /></template> </GnToolbar> <GnPagination :page="page" :total-pages="12" @update:page="page = $event" />
GnDescriptionList, GnProgress, GnUsageMeter, GnProgressStages, GnStepsUse for metadata, rollout state, and staged flows.
GnChip, GnChipGroupProps: variant, icon, selected, disabled, removable.
Emits: remove.
GnAvatar, GnIdentity, GnAvatarStackUse for people/entity identity rows.
GnTimeline, GnActivityLogUse for event history and compact audit rows.
GnCard, GnStatusCard, GnMetricCard, GnActionCardUse specialized cards before writing raw .card markup.
GnList, GnDefinitionList, GnActionListUse list wrappers before raw .list markup when data is available as arrays.
GnEmptyState, GnSkeleton, GnLoaderUse for loading and empty states.