@sandurtech/sandui 0.0.1 → 0.0.2

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,64 +1,102 @@
1
1
  # SandUI
2
2
 
3
- SandUI is the SandurTech React component library. This release resets the package for a clean-slate `0.0.1` publish using Vite library mode, TypeScript declaration output, and bundled SCSS.
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>
4
6
 
5
- ## Installation
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>
12
+
13
+ ---
14
+
15
+ ## ✨ Features
16
+
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
+
24
+ ## 🚀 Quick Start
25
+
26
+ ### Installation
6
27
 
7
28
  ```bash
8
29
  npm install @sandurtech/sandui
9
30
  ```
10
31
 
11
- Peer dependencies:
32
+ ### Usage
12
33
 
13
- - `react >=18`
14
- - `react-dom >=18`
15
-
16
- ## Usage
34
+ 1. **Wrap your app** with the `SandThemeProvider` to enable styling and tokens.
35
+ 2. **Import the global CSS** file in your entry point (e.g., `main.tsx`).
17
36
 
18
37
  ```tsx
19
- import { SandButton, SandCard, SandInputGroup } from '@sandurtech/sandui';
38
+ import React from 'react';
39
+ import { SandThemeProvider, SandButton, SandCard } from '@sandurtech/sandui';
20
40
  import '@sandurtech/sandui/style.css';
21
41
 
22
- export function Example() {
42
+ export function App() {
23
43
  return (
24
- <SandCard header="Launch">
25
- <SandInputGroup label="Project name" />
26
- <SandButton>Deploy</SandButton>
27
- </SandCard>
44
+ <SandThemeProvider defaultTheme="system">
45
+ <SandCard header={<h3>Getting Started</h3>}>
46
+ <p>Start building your next microservice with SandUI primitives.</p>
47
+ <SandButton variant="primary">
48
+ Launch Console
49
+ </SandButton>
50
+ </SandCard>
51
+ </SandThemeProvider>
28
52
  );
29
53
  }
30
54
  ```
31
55
 
32
- ## Development
56
+ ## 🛠 Component Surface
33
57
 
34
- ```bash
35
- npm ci
36
- npm run test
37
- npm run build
38
- ```
58
+ SandUI provides a growing set of modular components categorized for efficiency:
39
59
 
40
- ## Build Output
60
+ | Category | Primitives |
61
+ | :--- | :--- |
62
+ | **Foundation** | `SandThemeProvider`, `SandBox`, `SandStack`, `SandGrid` |
63
+ | **Typography** | `SandTitle`, `SandText`, `SandCode`, `SandKBD` |
64
+ | **Form Controls** | `SandInput`, `SandInputGroup`, `SandCheckbox`, `SandRadio`, `SandSwitch` |
65
+ | **Data Display** | `SandTable`, `SandTabs`, `SandAccordion`, `SandCard`, `SandBadge` |
66
+ | **Feedback** | `SandAlert`, `SandToast`, `SandSnackbar`, `SandLoader`, `SandProgress` |
67
+ | **Navigation** | `SandNavbar`, `SandDrawer`, `SandBreadcrumbs`, `SandPagination` |
68
+ | **Overlays** | `SandModal`, `SandTooltip`, `SandIcon` |
41
69
 
42
- The package publishes:
70
+ ## 📖 Documentation
43
71
 
44
- - ESM bundle: `dist/sandui.js`
45
- - UMD bundle: `dist/sandui.umd.js`
46
- - Types: `dist/index.d.ts`
47
- - Styles: `dist/style.css`
72
+ Explore interactive examples, API references, and design guidelines:
48
73
 
49
- ## V2 Migration
74
+ 👉 [**View Live Documentation**](https://sandurtech.github.io/SandUI/)
50
75
 
51
- The previous SandUI package line published `0.1.x` APIs before this reset. The new `0.0.1` line keeps the scoped package name but treats the component surface as a clean restart.
76
+ ## 🧪 Development
52
77
 
53
- Breaking changes discovered while comparing to the earlier package setup:
78
+ Contributions are welcome! To get started locally:
54
79
 
55
- - Unprefixed exports such as `Button`, `Card`, and `ButtonProps` were replaced by `SandButton`, `SandCard`, and `SandButtonProps`.
56
- - The public barrel is now explicit and only exposes `Sand*` components and `Sand*` types from the root package entry.
57
- - The build output changed from app/docs-oriented assets to library artifacts plus a single bundled stylesheet.
58
- - React and React DOM are now peer dependencies instead of bundled runtime dependencies.
80
+ ```bash
81
+ # Install dependencies
82
+ npm install
59
83
 
60
- If you need to mark the old package line as deprecated, use:
84
+ # Start documentation app with Hot Module Replacement (HMR)
85
+ npm run dev
61
86
 
62
- ```bash
63
- npm deprecate @sandurtech/sandui@0.1.0 "This version is deprecated. Please use 0.0.1 or higher."
87
+ # Run unit tests with Vitest
88
+ npm run test
89
+
90
+ # Build production library artifacts
91
+ npm run build
64
92
  ```
93
+
94
+ ## 📄 License
95
+
96
+ Distributed under the MIT License. See `LICENSE` for more information.
97
+
98
+ ---
99
+
100
+ <div align="center">
101
+ Built with ❤️ by <strong>Amogha Raj Sandur</strong> & <strong>SandurTech (Sandur Technologies)</strong>
102
+ </div>
package/dist/index.d.ts CHANGED
@@ -1,5 +1,12 @@
1
+ import { SandAccordion } from './components/Accordion/Accordion';
2
+ import { SandAccordionItem } from './components/Accordion/Accordion';
3
+ import { SandAccordionProps } from './components/Accordion/Accordion';
4
+ import { SandAlert } from './components/Alert/Alert';
5
+ import { SandAlertProps } from './components/Alert/Alert';
1
6
  import { SandBadge } from './components/Badge/Badge';
2
7
  import { SandBadgeProps } from './components/Badge/Badge';
8
+ import { SandBox } from './components/Box/Box';
9
+ import { SandBoxOwnProps as SandBoxProps } from './components/Box/Box';
3
10
  import { SandBreadcrumbItem } from './components/Breadcrumbs/Breadcrumbs';
4
11
  import { SandBreadcrumbs } from './components/Breadcrumbs/Breadcrumbs';
5
12
  import { SandBreadcrumbsProps } from './components/Breadcrumbs/Breadcrumbs';
@@ -11,27 +18,36 @@ import { SandCheckbox } from './components/Selection/Selection';
11
18
  import { SandChoiceBaseProps } from './components/Selection/Selection';
12
19
  import { SandChoiceGroup } from './components/Selection/Selection';
13
20
  import { SandChoiceGroupProps } from './components/Selection/Selection';
21
+ import { SandCode } from './components/Typography/Typography';
14
22
  import { SandCodeBlock } from './components/CodeBlock/CodeBlock';
15
23
  import { SandCodeBlockProps } from './components/CodeBlock/CodeBlock';
24
+ import { SandCodeOwnProps as SandCodeProps } from './components/Typography/Typography';
16
25
  import { SandCodeTabs } from './components/CodeBlock/CodeBlock';
17
26
  import { SandCodeTabsProps } from './components/CodeBlock/CodeBlock';
18
27
  import { SandContainer } from './components/Layout/Layout';
19
28
  import { SandContainerProps } from './components/Layout/Layout';
20
29
  import { SandDivider } from './components/Divider/Divider';
21
30
  import { SandDividerProps } from './components/Divider/Divider';
31
+ import { SandDrawer } from './components/Navbar/Navbar';
32
+ import { SandDrawerProps } from './components/Navbar/Navbar';
22
33
  import { SandFeedbackProps } from './components/Feedback/Feedback';
23
34
  import { SandFormGroup } from './components/Input/Input';
24
35
  import { SandFormGroupProps } from './components/Input/Input';
36
+ import { SandGrid } from './components/Grid';
37
+ import { SandGridItemProps } from './components/Grid';
38
+ import { SandGridProps } from './components/Grid';
25
39
  import { SandHeader } from './components/Layout/Layout';
26
40
  import { SandHeaderProps } from './components/Layout/Layout';
41
+ import { SandIcon } from './components/Icon/Icon';
42
+ import { SandIconProps } from './components/Icon/Icon';
27
43
  import { SandInput } from './components/Input/Input';
28
44
  import { SandInputGroup } from './components/Input/Input';
29
45
  import { SandInputGroupProps } from './components/Input/Input';
30
46
  import { SandInputProps } from './components/Input/Input';
31
47
  import { SandKBD } from './components/Kbd/Kbd';
32
48
  import { SandKBDProps } from './components/Kbd/Kbd';
33
- import { SandMicroserviceLayout } from './components/Layout/Layout';
34
- import { SandMicroserviceLayoutProps } from './components/Layout/Layout';
49
+ import { SandLoader } from './components/Loader/Loader';
50
+ import { SandLoaderProps } from './components/Loader/Loader';
35
51
  import { SandModal } from './components/Modal/Modal';
36
52
  import { SandModalBodyProps } from './components/Modal/Modal';
37
53
  import { SandModalDescriptionProps } from './components/Modal/Modal';
@@ -39,23 +55,62 @@ import { SandModalFooterProps } from './components/Modal/Modal';
39
55
  import { SandModalHeaderProps } from './components/Modal/Modal';
40
56
  import { SandModalProps } from './components/Modal/Modal';
41
57
  import { SandModalTitleProps } from './components/Modal/Modal';
58
+ import { SandNavbar } from './components/Navbar/Navbar';
59
+ import { SandNavbarItem } from './components/Navbar/Navbar';
60
+ import { SandNavbarProps } from './components/Navbar/Navbar';
42
61
  import { SandPagination } from './components/Pagination/Pagination';
43
62
  import { SandPaginationProps } from './components/Pagination/Pagination';
63
+ import { SandProgress } from './components/Progress/Progress';
64
+ import { SandProgressProps } from './components/Progress/Progress';
44
65
  import { SandRadio } from './components/Selection/Selection';
45
66
  import { SandResultPanel } from './components/Layout/Layout';
46
67
  import { SandResultPanelProps } from './components/Layout/Layout';
68
+ import { SandSkeleton } from './components/Loader/Loader';
69
+ import { SandSkeletonProps } from './components/Loader/Loader';
47
70
  import { SandSnackbar } from './components/Feedback/Feedback';
71
+ import { SandStack } from './components/Stack/Stack';
72
+ import { SandStackOwnProps as SandStackProps } from './components/Stack/Stack';
48
73
  import { SandSwitch } from './components/Selection/Selection';
74
+ import { SandTabItem } from './components/Tabs/Tabs';
75
+ import { SandTable } from './components/Table/Table';
76
+ import { SandTableProps } from './components/Table/Table';
77
+ import { SandTabs } from './components/Tabs/Tabs';
78
+ import { SandTabsProps } from './components/Tabs/Tabs';
79
+ import { SandText } from './components/Typography/Typography';
80
+ import { SandTextOwnProps as SandTextProps } from './components/Typography/Typography';
81
+ import { SandThemeContextValue } from './components/ThemeProvider/ThemeProvider';
82
+ import { SandThemeProvider } from './components/ThemeProvider/ThemeProvider';
83
+ import { SandThemeProviderProps } from './components/ThemeProvider/ThemeProvider';
84
+ import { SandThemeTokens } from './components/ThemeProvider/ThemeProvider';
85
+ import { SandTitle } from './components/Typography/Typography';
86
+ import { SandTitleOwnProps as SandTitleProps } from './components/Typography/Typography';
49
87
  import { SandToast } from './components/Feedback/Feedback';
50
88
  import { SandToolLayout } from './components/Layout/Layout';
51
89
  import { SandToolLayoutProps } from './components/Layout/Layout';
52
90
  import { SandToolPanel } from './components/Layout/Layout';
53
91
  import { SandToolPanelProps } from './components/Layout/Layout';
92
+ import { SandTooltip } from './components/Tooltip/Tooltip';
93
+ import { SandTooltipProps } from './components/Tooltip/Tooltip';
94
+ import { useSandTheme } from './components/ThemeProvider/ThemeProvider';
95
+
96
+ export { SandAccordion }
97
+
98
+ export { SandAccordionItem }
99
+
100
+ export { SandAccordionProps }
101
+
102
+ export { SandAlert }
103
+
104
+ export { SandAlertProps }
54
105
 
55
106
  export { SandBadge }
56
107
 
57
108
  export { SandBadgeProps }
58
109
 
110
+ export { SandBox }
111
+
112
+ export { SandBoxProps }
113
+
59
114
  export { SandBreadcrumbItem }
60
115
 
61
116
  export { SandBreadcrumbs }
@@ -78,10 +133,14 @@ export { SandChoiceGroup }
78
133
 
79
134
  export { SandChoiceGroupProps }
80
135
 
136
+ export { SandCode }
137
+
81
138
  export { SandCodeBlock }
82
139
 
83
140
  export { SandCodeBlockProps }
84
141
 
142
+ export { SandCodeProps }
143
+
85
144
  export { SandCodeTabs }
86
145
 
87
146
  export { SandCodeTabsProps }
@@ -94,16 +153,30 @@ export { SandDivider }
94
153
 
95
154
  export { SandDividerProps }
96
155
 
156
+ export { SandDrawer }
157
+
158
+ export { SandDrawerProps }
159
+
97
160
  export { SandFeedbackProps }
98
161
 
99
162
  export { SandFormGroup }
100
163
 
101
164
  export { SandFormGroupProps }
102
165
 
166
+ export { SandGrid }
167
+
168
+ export { SandGridItemProps }
169
+
170
+ export { SandGridProps }
171
+
103
172
  export { SandHeader }
104
173
 
105
174
  export { SandHeaderProps }
106
175
 
176
+ export { SandIcon }
177
+
178
+ export { SandIconProps }
179
+
107
180
  export { SandInput }
108
181
 
109
182
  export { SandInputGroup }
@@ -116,9 +189,9 @@ export { SandKBD }
116
189
 
117
190
  export { SandKBDProps }
118
191
 
119
- export { SandMicroserviceLayout }
192
+ export { SandLoader }
120
193
 
121
- export { SandMicroserviceLayoutProps }
194
+ export { SandLoaderProps }
122
195
 
123
196
  export { SandModal }
124
197
 
@@ -134,20 +207,64 @@ export { SandModalProps }
134
207
 
135
208
  export { SandModalTitleProps }
136
209
 
210
+ export { SandNavbar }
211
+
212
+ export { SandNavbarItem }
213
+
214
+ export { SandNavbarProps }
215
+
137
216
  export { SandPagination }
138
217
 
139
218
  export { SandPaginationProps }
140
219
 
220
+ export { SandProgress }
221
+
222
+ export { SandProgressProps }
223
+
141
224
  export { SandRadio }
142
225
 
143
226
  export { SandResultPanel }
144
227
 
145
228
  export { SandResultPanelProps }
146
229
 
230
+ export { SandSkeleton }
231
+
232
+ export { SandSkeletonProps }
233
+
147
234
  export { SandSnackbar }
148
235
 
236
+ export { SandStack }
237
+
238
+ export { SandStackProps }
239
+
149
240
  export { SandSwitch }
150
241
 
242
+ export { SandTabItem }
243
+
244
+ export { SandTable }
245
+
246
+ export { SandTableProps }
247
+
248
+ export { SandTabs }
249
+
250
+ export { SandTabsProps }
251
+
252
+ export { SandText }
253
+
254
+ export { SandTextProps }
255
+
256
+ export { SandThemeContextValue }
257
+
258
+ export { SandThemeProvider }
259
+
260
+ export { SandThemeProviderProps }
261
+
262
+ export { SandThemeTokens }
263
+
264
+ export { SandTitle }
265
+
266
+ export { SandTitleProps }
267
+
151
268
  export { SandToast }
152
269
 
153
270
  export { SandToolLayout }
@@ -158,4 +275,10 @@ export { SandToolPanel }
158
275
 
159
276
  export { SandToolPanelProps }
160
277
 
278
+ export { SandTooltip }
279
+
280
+ export { SandTooltipProps }
281
+
282
+ export { useSandTheme }
283
+
161
284
  export { }