@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 +84 -75
- package/dist/index.d.ts +1 -0
- package/dist/sandui.js +2208 -0
- package/dist/sandui.umd.js +6 -0
- package/dist/style.css +1 -0
- package/package.json +45 -48
- package/dist/SandurTech-Logo-PNG.png +0 -0
- package/dist/SandurTech-Logo-SVG.svg +0 -1
- package/dist/index.css +0 -1
- package/dist/index.js +0 -1064
- package/dist/index.umd.cjs +0 -2
- package/dist/robots.txt +0 -125
- package/dist/sitemap.xml +0 -142
package/README.md
CHANGED
|
@@ -1,111 +1,120 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
7
|
+
[](https://www.npmjs.com/package/@sandurtech/sandui)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](https://www.typescriptlang.org/)
|
|
10
|
+
[](https://github.com/sandurtech/sandui/pulls)
|
|
11
|
+
</div>
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
---
|
|
11
14
|
|
|
12
|
-
##
|
|
15
|
+
## ✨ Features
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
##
|
|
26
|
+
## 🚀 Quick Start
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
### Installation
|
|
28
29
|
|
|
29
30
|
```bash
|
|
30
|
-
# Install
|
|
31
31
|
npm install @sandurtech/sandui
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
|
|
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
|
-
|
|
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,
|
|
39
|
-
import '@sandurtech/sandui/
|
|
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="
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
72
|
+
## 🛠 Component Surface
|
|
55
73
|
|
|
56
|
-
|
|
57
|
-
# Development
|
|
58
|
-
npm run dev
|
|
74
|
+
SandUI provides a growing set of modular components categorized for efficiency:
|
|
59
75
|
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
|
|
64
|
-
npm run storybook
|
|
88
|
+
## 📖 Documentation
|
|
65
89
|
|
|
66
|
-
|
|
67
|
-
npm run build-storybook
|
|
68
|
-
```
|
|
90
|
+
Explore interactive examples, API references, and design guidelines:
|
|
69
91
|
|
|
70
|
-
|
|
92
|
+
👉 [**View Live Documentation**](https://sandurtech.github.io/SandUI/)
|
|
71
93
|
|
|
72
|
-
|
|
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
|
-
|
|
96
|
+
Contributions are welcome! To get started locally:
|
|
81
97
|
|
|
82
|
-
```
|
|
83
|
-
|
|
98
|
+
```bash
|
|
99
|
+
# Install dependencies
|
|
100
|
+
npm install
|
|
84
101
|
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
105
|
+
# Run unit tests with Vitest
|
|
106
|
+
npm run test
|
|
98
107
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
##
|
|
112
|
+
## 📄 License
|
|
106
113
|
|
|
107
|
-
|
|
114
|
+
Distributed under the MIT License. See `LICENSE` for more information.
|
|
108
115
|
|
|
109
|
-
|
|
116
|
+
---
|
|
110
117
|
|
|
111
|
-
|
|
118
|
+
<div align="center">
|
|
119
|
+
Built with ❤️ by <strong>Amogha Raj Sandur</strong> & <strong>SandurTech (Sandur Technologies)</strong>
|
|
120
|
+
</div>
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|