@sandurtech/sandui 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,111 +1,120 @@
1
- <p align="center">
2
- <strong>SandUI</strong><br/>
3
- The design system powering the SandurTech ecosystem.
4
- </p>
1
+ # SandUI
5
2
 
6
- ---
3
+ <div align="center">
4
+ <img src="public/SandurTech-Logo-SVG.svg" alt="SandUI Logo" width="120" />
5
+ <p><strong>A high-performance, accessible React component library and Design System for SandurTech — featuring WAI-ARIA compliance, native dark mode, and TypeScript-first components.</strong></p>
7
6
 
8
- ## Overview
7
+ [![npm version](https://img.shields.io/npm/v/@sandurtech/sandui.svg?style=flat-classic)](https://www.npmjs.com/package/@sandurtech/sandui)
8
+ [![License](https://img.shields.io/npm/l/@sandurtech/sandui.svg?style=flat-classic)](LICENSE)
9
+ [![Types](https://img.shields.io/npm/types/@sandurtech/sandui?style=flat-classic)](https://www.typescriptlang.org/)
10
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-orange.svg?style=flat-classic)](https://github.com/sandurtech/sandui/pulls)
11
+ </div>
9
12
 
10
- SandUI is a modern, Inter-font based React component library built for consistency across every SandurTech microservice. It follows the **Atomic Design** methodology — organizing components from Atoms to Templates — and ships with a comprehensive Storybook for documentation and visual testing.
13
+ ---
11
14
 
12
- ## Tech Stack
15
+ ## Features
13
16
 
14
- | Layer | Technology |
15
- |---|---|
16
- | **Framework** | React 18+ |
17
- | **Build Tool** | Vite 7 |
18
- | **Styling** | SCSS Modules |
19
- | **Documentation** | Storybook 8 |
20
- | **Architecture** | Atomic Design |
21
- | **Typography** | Inter (Google Fonts) |
22
- | **Icons** | Material Symbols Rounded |
23
- | **CI/CD** | GitHub Actions → GitHub Pages |
17
+ - **WAI-ARIA Compliant**: Built with accessibility as a first-class citizen.
18
+ - 🌓 **Native Dark Mode**: Seamless theme switching with strictly derived design tokens.
19
+ - **Zero Lucide Dependency**: Utilizes Google Material Symbols (Rounded) for a lean bundle.
20
+ - 📘 **TypeScript First**: Full IntelliSense support with comprehensive JSDoc documentation.
21
+ - 🎨 **Modern Aesthetics**: Premium, high-performance UI primitives tailored for SaaS and dashboards.
22
+ - 📱 **Fully Responsive**: Mobile-optimized layouts and documentation.
23
+ - 🔌 **Composable API**: Declarative component composition with compound components.
24
+ - 🎯 **Icon System**: Custom icon provider supporting Lucide, Radix, and other libraries.
24
25
 
25
- ## Getting Started
26
+ ## 🚀 Quick Start
26
27
 
27
- To use SandUI in your React project, install the package via npm:
28
+ ### Installation
28
29
 
29
30
  ```bash
30
- # Install
31
31
  npm install @sandurtech/sandui
32
32
  ```
33
33
 
34
- Then, you can import and use the components, like the `<Button />` component, as shown below:
34
+ ### Icon Dependency
35
+
36
+ SandUI uses **Google Material Symbols (Rounded)** for all internal icons. To ensure icons render correctly, you must include the following link in your `index.html` or import it in your CSS:
37
+
38
+ ```html
39
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />
40
+ ```
41
+
42
+ Or in your CSS:
43
+
44
+ ```css
45
+ @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
46
+ ```
47
+
48
+ ### Usage
35
49
 
36
- ```jsx
50
+ 1. **Wrap your app** with the `SandThemeProvider` to enable styling and tokens.
51
+ 2. **Import the global CSS** file in your entry point (e.g., `main.tsx`).
52
+
53
+ ```tsx
37
54
  import React from 'react';
38
- import { SandButton, SandThemeProvider } from '@sandurtech/sandui';
39
- import '@sandurtech/sandui/dist/style.css'; // Make sure to import the styles!
55
+ import { SandThemeProvider, SandButton, SandCard } from '@sandurtech/sandui';
56
+ import '@sandurtech/sandui/style.css';
40
57
 
41
- function App() {
58
+ export function App() {
42
59
  return (
43
- <SandThemeProvider defaultTheme="light">
44
- <SandButton variant="primary" onClick={() => alert('Clicked!')}>
45
- Click Me
46
- </SandButton>
60
+ <SandThemeProvider defaultTheme="system">
61
+ <SandCard header={<h3>Getting Started</h3>}>
62
+ <p>Start building your next microservice with SandUI primitives.</p>
63
+ <SandButton variant="primary">
64
+ Launch Console
65
+ </SandButton>
66
+ </SandCard>
47
67
  </SandThemeProvider>
48
68
  );
49
69
  }
50
-
51
- export default App;
52
70
  ```
53
71
 
54
- ### Development Scripts
72
+ ## 🛠 Component Surface
55
73
 
56
- ```bash
57
- # Development
58
- npm run dev
74
+ SandUI provides a growing set of modular components categorized for efficiency:
59
75
 
60
- # Build library
61
- npm run build
76
+ | Category | Primitives |
77
+ | :--- | :--- |
78
+ | **Foundation** | `SandThemeProvider`, `SandIconProvider`, `SandBox`, `SandStack`, `SandGrid` |
79
+ | **Layout** | `SandContainer`, `SandHeader`, `SandAppLayout`, `SandMicroserviceLayout` |
80
+ | **Typography** | `SandTitle`, `SandText`, `SandCode`, `SandKBD` |
81
+ | **Form Controls** | `SandInput`, `SandInputGroup`, `SandCheckbox`, `SandRadio`, `SandSwitch`, `SandChoiceGroup` |
82
+ | **Data Display** | `SandTable`, `SandTabs`, `SandAccordion`, `SandCard`, `SandBadge`, `SandDivider` |
83
+ | **Feedback** | `SandAlert`, `SandToast`, `SandSnackbar`, `SandLoader`, `SandProgress`, `SandSkeleton` |
84
+ | **Navigation** | `SandNavbar`, `SandDrawer`, `SandBreadcrumbs`, `SandPagination` |
85
+ | **Overlays** | `SandModal`, `SandDialog`, `SandTooltip` |
86
+ | **Icons** | `SandIcon` (with custom provider support) |
62
87
 
63
- # Run Storybook
64
- npm run storybook
88
+ ## 📖 Documentation
65
89
 
66
- # Build Storybook for deployment
67
- npm run build-storybook
68
- ```
90
+ Explore interactive examples, API references, and design guidelines:
69
91
 
70
- ## Component Inventory
92
+ 👉 [**View Live Documentation**](https://sandurtech.github.io/SandUI/)
71
93
 
72
- | Layer | Components |
73
- |---|---|
74
- | **Atoms** | `SandButton`, `SandLink`, `SandBadge`, `SandIcon` |
75
- | **Molecules** | `SandInputGroup`, `SandCard`, `SandToast`, `SandBox` |
76
- | **Organisms** | `SandNavbar`, `SandSidebar`, `SandFooter` |
77
- | **Templates** | `StandardLayout`, `AuthLayout` |
78
- | **Context** | `SandThemeProvider`, `useSandTheme` |
94
+ ## 🧪 Development
79
95
 
80
- ## Usage
96
+ Contributions are welcome! To get started locally:
81
97
 
82
- ```jsx
83
- import { SandButton, SandCard, SandThemeProvider } from '@sandurtech/sandui';
98
+ ```bash
99
+ # Install dependencies
100
+ npm install
84
101
 
85
- function App() {
86
- return (
87
- <SandThemeProvider>
88
- <SandCard>
89
- <h2>Welcome</h2>
90
- <SandButton variant="primary">Get Started</SandButton>
91
- </SandCard>
92
- </SandThemeProvider>
93
- );
94
- }
95
- ```
102
+ # Start documentation app with Hot Module Replacement (HMR)
103
+ npm run dev
96
104
 
97
- ## Design Tokens
105
+ # Run unit tests with Vitest
106
+ npm run test
98
107
 
99
- - **Colors**: Primary `#262626`, Accent `orange`, Background `#F2F2F2`
100
- - **Spacing**: Strict 8px grid (`8, 16, 24, 32, 40, 48`)
101
- - **Radius**: `4px`, `6px`, `8px`, `12px`, `9999px`
102
- - **Shadows**: `sm`, `md`, `lg` + `glow`
103
- - **Fonts**: Inter (body), Outfit (display)
108
+ # Build production library artifacts
109
+ npm run build
110
+ ```
104
111
 
105
- ## Keywords
112
+ ## 📄 License
106
113
 
107
- React 18, Vite, SCSS Modules, Design System, Atomic Design, Component Library, UI Kit, Storybook, Material Icons, Inter Font, SandurTech, GitHub Pages, Glassmorphism, Theme System, Dark Mode, Light Mode
114
+ Distributed under the MIT License. See `LICENSE` for more information.
108
115
 
109
- ## License
116
+ ---
110
117
 
111
- MIT — Built by [Amogha Raj Sandur](https://www.linkedin.com/in/amogharajsandur/) | [SandurTech](https://sandurtech.vercel.app)
118
+ <div align="center">
119
+ Built with ❤️ by <strong>Amogha Raj Sandur</strong> & <strong>SandurTech (Sandur Technologies)</strong>
120
+ </div>
@@ -0,0 +1 @@
1
+ export {}