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>
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.