Skip to main content
Version: v1 (Current)

@gxp-dev/uikit

A Vue 3 component library for GXP platform applications, combining shadcn-vue primitives with domain-specific components.

Overview

The UI Kit provides:

  • 40+ UI Primitives - Accessible, unstyled components from shadcn-vue (Button, Input, Dialog, Select, etc.)
  • Domain Components - Platform-specific components (VideoPlayer, BarcodeScanner, Leaderboard)
  • Composables - Reusable logic for media, scanning, animations
  • Experience Flow - State-machine orchestrator + 20 prebuilt page components for multi-stage interactive apps
  • Platform Theming - CSS variable-based theming compatible with GXP platform
  • Full TypeScript Support - Complete type definitions for all components and utilities
  • Tree-Shakeable - Import only what you use

Technology Stack

LayerTechnology
FrameworkVue 3 (Composition API)
LanguageTypeScript
Primitivesshadcn-vue (Reka UI + Tailwind)
StylingTailwind CSS + CSS Variables
BuildVite (library mode)
TestingVitest + Vue Test Utils
DocumentationStorybook 8

Quick Example

<script setup lang="ts">
import { ref } from 'vue'
import { Button, Input } from '@gxp-dev/uikit'

const email = ref('')
</script>

<template>
<form class="space-y-4">
<Input
v-model="email"
type="email"
placeholder="Enter your email"
/>
<Button type="submit">
Subscribe
</Button>
</form>
</template>

Documentation Structure

The UI Kit is part of a larger ecosystem:

PackagePurpose
@gxp-dev/uikitUI components (this package)
@gxp-dev/api-clientAPI interfaces and controllers
@gxp-dev/page-templatesFull page templates (optional)

Support

  • Interactive Storybook — embedded component playground (also hosted at gramercytech.github.io/gx-uikit)
  • Local Storybook — Run pnpm storybook from the repo for the latest dev build
  • Issues — Report bugs and request features on GitHub
  • Examples — See the /examples directory for integration patterns