Professional React UI component library with MVVM architecture, Zod validation, and comprehensive TypeScript support
npm install ark-alliance-react-uiEnterprise-Grade React Component Library with MVVM Architecture
A comprehensive, institutional-quality UI component library built with React, TypeScript, and Zod validation. Designed for large-scale trading applications with premium neon aesthetics and complete MVVM separation.


!React
!TypeScript
!SEO
---
1. Overview
2. MVVM Architecture
3. Project Structure
4. Complete Component Catalog
5. Core Systems
6. SEO Components
7. Installation
8. Usage Examples
9. Testing
10. Dependencies
11. Contributing
12. Author
---
Ark.Alliance.React.Component.UI is a professionally crafted component library featuring:
- MVVM Pattern: Clear separation of Model, ViewModel, and View
- Zod Validation: Runtime type safety with schema-based validation
- Premium Aesthetics: Neon, minimal, and glass visual modes
- Enterprise Ready: TypeScript strict mode, accessibility, responsive design
- Comprehensive Testing: Vitest + React Testing Library
- 47 Component Folders: Organized in logical categories
- 104 Model Schemas: Fully validated with Zod
---
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā VIEW (*.tsx) ā
ā - React Component with forwardRef/memo ā
ā - Renders UI based on ViewModel state ā
ā - Dispatches user actions to ViewModel ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā²
ā Uses Hook
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā VIEWMODEL (*.viewmodel.ts) ā
ā - Custom React Hook (useComponent) ā
ā - State management (useState, useCallback) ā
ā - Event handling and business logic ā
ā - Returns { model, state, handlers } ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā²
ā Extends
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MODEL (*.model.ts) ā
ā - Zod Schema definition ā
ā - TypeScript types inferred from schema ā
ā - Default values and factory functions ā
ā - Extends BaseModelSchema ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
| Class | Purpose |
|-------|---------|
| BaseModelSchema | Common props: id, disabled, loading, className, testId, ariaLabel |useBaseViewModel
| | Lifecycle, state, events, async execution |extendSchema()
| | Utility to extend base with component-specific fields |
---
``
Ark.Alliance.React.Component.UI/
āāā src/
ā āāā index.ts # Library barrel export
ā āāā index.css # Global styles + Tailwind
ā ā
ā āāā core/ # Foundation
ā ā āāā base/ # BaseModel, BaseViewModel
ā ā āāā enums/ # 8 Centralized enum categories
ā ā āāā events/ # Event bus system
ā ā āāā services/ # Utility services (DataProvider)
ā ā āāā constants/ # Color constants
ā ā āāā theme/ # Theme configuration
ā ā
ā āāā components/ (47 folders) # Component library
ā āāā Helpers/ # Utility functions & validators
ā āāā test/ # Test setup
ā
āāā DOCS/ # Documentation
ā āāā Analysis_ConsolidateEnhancementImproveUILIBRARY.md # Audit document
ā
āāā vite.config.ts # Vite config with library build
āāā tsconfig.json # TypeScript config
āāā package.json # Dependencies & scripts
āāā README.md # This file
---
This library contains 47 component folders organized in logical categories. Each component follows MVVM architecture with Model, ViewModel, and View files.
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Icon | FAIcon | FontAwesome icon wrapper with size/color variants | - |Badge
| Label | , StatusBadge, RoleBadge, DepartmentBadge, TechBadge | Status indicators, role badges, department tags, technology badges | - |Tooltip
| Tooltip | | Configurable tooltip with positioning | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Buttons | Button, NeonButton | Standard and neon-styled buttons with multiple variants | - |BaseInput
| Input | , NeonInput, NumericInput, Select, Slider, TextArea, FileUpload, TextEditor | Comprehensive form input suite with validation | - |Toggle
| Toggles | | Toggle switch component | - |Carousel
| Slides | | Image/content carousel | - |
| DatePicker | - | Date selection component | - |
| Calendars | - | Calendar display components | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Page | Page | Full page container with meta tags | - |Header
| Header | | Page header component | - |Footer
| Footer | | Page footer component | - |Panel
| Panel | | Container panel with header/footer slots | - |GenericPanel
| GenericPanel | | Flexible panel container | - |ControlPanel
| ControlPanel | | Control panel with collapsible sections | - |SideBarMenu
| SideBar | | Sidebar navigation menu | - |Modal
| Modal | | Dialog with portal, backdrop, escape | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Menu | - | Navigation menu components | - |
| TabControl | TabControl, TabItem | Tabbed interface | - |TreeView
| TreeView | , TreeNode, OrgChart, OrgChartNode | Tree structures and organizational charts | - |Breadcrumb
| SEO | , StructuredDataScript | SEO breadcrumbs with Schema.org JSON-LD | SEO/README.md |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Grids | DataGrid, ProjectGrid, TradingGridCard | Data tables with sorting, filtering, editing | DataGrid/README.md |Timeline
| TimeLines | , TestTimeline | Event timeline display | - |ProgressBar
| ProgressBar | | Progress indicators | - |CircularGauge
| Gauges | , SpeedometerGauge, DigitalGauge, BatteryGauge, SignalBarsGauge | Data visualization gauges | - |HTMLViewer
| Documents | , MarkdownRenderer | Document rendering components | - |
| Viewers | - | Content viewers | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Charts | FinancialChart, TrendPriceChart, TestChart, Primitives: CandlestickRenderer | Financial data visualization with technical indicators | - |Chart3D
| Chart3D | | 3D chart visualization | - |
| Diagram | - | Diagram components | - |
| FlowChart | - | Flow chart components | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Finance | Trading/PositionsGrid, Trading/OrdersGrid, Trading/TradeHistoryGrid, Trading/TradingGridCard | Financial trading grids for positions, orders, and trade history | Trading/README.md |
| Logistic | - | Logistics management components | - |
| Medical | - | Medical/healthcare components | - |
| Ia (AI) | - | AI-related components | - |
| SocialMedia | - | Social media integration components | - |
| Basket | - | Shopping basket components | - |
| Catalogue | - | Product catalog components | - |
| PaymentsForm | - | Payment form components | - |
| Login | - | Authentication components | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Music | - | Music player components | - |
| Video | - | Video player components | - |
| Sound | - | Sound/audio components | - |
| Chat | - | Chat/messaging components | - |
| Folder | Components | Description | Documentation |
|--------|------------|-------------|---------------|
| Desktop | DesktopPage, DesktopIcon, WindowPanel, Taskbar, StartMenu | Complete desktop OS simulation | - |
---
Located in src/core/enums/:
| File | Exports | Purpose |
|------|---------|---------|
| Size.ts | ComponentSizeSchema, BasicSizeSchema, ModalSizeSchema, ProgressSizeSchema, ExtendedSizeSchema | Sizing variants (xs, sm, md, lg, xl, 2xl, 3xl) |ComponentVariantSchema
| Variant.ts | , BasicVariantSchema, InputVariantSchema, PanelVariantSchema, ButtonVariantSchema, TabVariantSchema | Visual style variants (primary, secondary, success, danger, warning, info, dark, light) |PositionSchema
| Position.ts | , ExtendedPositionSchema, HorizontalPositionSchema, VerticalPositionSchema, ToolbarPositionSchema, OrientationSchema, AlignmentSchema | Positioning (top, bottom, left, right, center) |ConnectionStatusSchema
| Status.ts | , ProcessStatusSchema, TestStatusSchema, SemanticStatusSchema | Status indicators (idle, success, warning, error, info, pending, running) |ThemeColorSchema
| Color.ts | , ExtendedColorSchema, THEME_COLOR_VALUES, THEME_COLOR_RGB | Theme colors with RGB values |FontWeightSchema
| Typography.ts | , BasicFontWeightSchema, TextTransformSchema, TextAlignmentSchema | Typography settings |LineStyleSchema
| Styles.ts | , PaddingSchema, ResizeModeSchema, BackgroundTypeSchema, AnimationTypeSchema, LayoutModeSchema | Style configurations |InputFormatSchema
| InputFormat.ts | , InputValidationConfigSchema | Input validation formats (email, phone, url, number, text) |
Located in src/core/constants/:
| File | Exports | Purpose |
|------|---------|---------|
| ColorConstants.ts | Color hex values and RGB tuples | Centralized color definitions |
Located in src/core/services/:
| File | Exports | Purpose |
|------|---------|---------|
| useDataProvider.ts | useDataProvider hook | Data provider service for components |
Located in src/Helpers/:
| Folder | Purpose |
|--------|---------|
| seo/ | Schema.org JSON-LD generators (Organization, Website, Person, Article, FAQ, Breadcrumb) |
| Validators/ | Input validation utilities and types |
---
Version 1.3.0 introduces SEO (Search Engine Optimization) and AEO (Answer Engine Optimization) components designed for maximum visibility across traditional search engines and AI-powered answer engines.
| Component | Description |
|-----------|-------------|
| Breadcrumb | Navigation trail with automatic Schema.org BreadcrumbList JSON-LD generation |
| StructuredDataScript | Flexible JSON-LD schema injection component |
Located in Helpers/seo:
- generateBreadcrumbListSchema() - BreadcrumbList for navigationgenerateOrganizationSchema()
- - Company/organization datagenerateWebSiteSchema()
- - Site-wide metadatageneratePersonSchema()
- - Author/team member profilesgenerateArticleSchema()
- - Blog posts and articlesgenerateFAQPageSchema()
- - FAQ sections
ā
GPTBot (OpenAI) - ChatGPT training
ā
ClaudeBot (Anthropic) - Claude AI training
ā
Google-Extended - Gemini training
ā
PerplexityBot - Perplexity AI
ā
Googlebot/Bingbot - Traditional search
---
`bash`
npm install ark-alliance-react-ui
`tsx
import { Button, NeonInput, CircularGauge } from 'ark-alliance-react-ui';
import 'ark-alliance-react-ui/styles';
function App() {
return (
);
}
`
`bashClone repository
git clone https://github.com/ArmandRicheletKleinberg/Ark.Alliance.React.Component.UI.git
---
Usage Examples
$3
`tsx
import { NeonInput } from 'ark-alliance-react-ui'; label="Username"
placeholder="Enter username..."
glowColor="cyan"
size="md"
validationFormat="email"
/>
`$3
`tsx
import { CircularGauge } from 'ark-alliance-react-ui'; value={75}
max={100}
label="Progress"
showValue
colorStart="#00d4ff"
colorEnd="#7c3aed"
/>
`$3
`tsx
import { FinancialChart } from 'ark-alliance-react-ui'; candlestickData={data}
fastMA={{ enabled: true, period: 7, color: '#22c55e' }}
slowMA={{ enabled: true, period: 25, color: '#ef4444' }}
/>
`$3
`tsx
import { RoleBadge } from 'ark-alliance-react-ui';// Simple usage
// With size and removable
handleRemove()} />
`$3
`tsx
import { OrgChart } from 'ark-alliance-react-ui'; rootNodes={[{
id: '1',
name: 'CEO',
position: 'Chief Executive Officer',
children: [
{ id: '2', name: 'CTO', position: 'Chief Technology Officer' }
]
}]}
onNodeClick={(id) => navigate(
/team/${id})}
/>
`---
Testing
`bash
Run tests
pnpm testRun tests with coverage
pnpm test -- --coverage
`The library uses Vitest with React Testing Library for component testing.
$3
| Component | Tests | Coverage |
|-----------|-------|----------|
| RoleBadge | 10 tests | Rendering, styling, remove functionality, accessibility |
| DepartmentBadge | 8 tests | Rendering, icons, known departments, styling |
| OrgChart | 8 tests | Empty state, rendering, interactions, accessibility |
| OrgChartNode | 8 tests | Rendering, avatars, clicks, keyboard navigation |
---
Dependencies
$3
| Package | Version | Purpose |
|---------|---------|---------|
|
react | ^18.0.0 \|\| ^19.0.0 | UI framework |
| react-dom | ^18.0.0 \|\| ^19.0.0 | DOM rendering |
| zod | ^3.0.0 \|\| ^4.0.0 | Schema validation |$3
| Package | Version | Purpose |
|---------|---------|---------|
|
typescript | ~5.9.x | Type safety |
| vite | ^7.x | Build tool |
| vitest | latest | Testing |
| @tailwindcss/vite | ^4.x | Tailwind CSS v4 |---
Contributing
1. Follow MVVM pattern for all components
2. Use
extendSchema()` for modelsSee CONTRIBUTING.md for detailed guidelines.
---
Armand Richelet-Kleinberg
M2H.IO - Ark Alliance Ecosystem
- GitHub: @ArmandRicheletKleinberg
- Package: ark-alliance-react-ui
License: MIT
---