impact-nova 1.6.6 → 1.6.7
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 +50 -20
- package/dist/components/ui/calendar.js +2 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
[](https://www.typescriptlang.org/)
|
|
12
12
|
[](https://tailwindcss.com/)
|
|
13
13
|
[](https://www.radix-ui.com/)
|
|
14
|
+
[](#internationalization-i18n)
|
|
15
|
+
[](https://impact-nova.iaproducts.ai/)
|
|
16
|
+
[](https://www.npmjs.com/package/impact-nova-mcp)
|
|
14
17
|
|
|
15
18
|
</div>
|
|
16
19
|
|
|
@@ -38,6 +41,20 @@ Impact Nova is built upon four core pillars that guide every component applicati
|
|
|
38
41
|
|
|
39
42
|
---
|
|
40
43
|
|
|
44
|
+
## 📚 Documentation
|
|
45
|
+
|
|
46
|
+
Visit **[https://impact-nova.iaproducts.ai/](https://impact-nova.iaproducts.ai/)** to view the full documentation: component reference, interactive **React** examples, props and controls, and usage notes—all in the browser, with no local checkout required.
|
|
47
|
+
|
|
48
|
+
That documentation site is published with **Storybook** ([storybook.js.org](https://storybook.js.org/)), the same format many design systems use; you can treat the URL like any other docs hub even if you are not familiar with Storybook.
|
|
49
|
+
|
|
50
|
+
### MCP server (`impact-nova-mcp`)
|
|
51
|
+
|
|
52
|
+
Use **[impact-nova-mcp on npm](https://www.npmjs.com/package/impact-nova-mcp)** if you want a **Model Context Protocol** (MCP) server for Impact Nova in **Cursor**, **Windsurf**, **Claude**, **Antigravity**, or other MCP-capable clients—component lists, specs, design tokens, codegen, and conventions wired for assistants.
|
|
53
|
+
|
|
54
|
+
What MCP is, what this server exposes, and how to install and configure your editor are documented in **[packages/mcp/README.md](packages/mcp/README.md)** in this repository.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
41
58
|
## 🚀 Getting Started
|
|
42
59
|
|
|
43
60
|
Everything you need to install, configure, and start building with **Impact Nova**.
|
|
@@ -54,7 +71,7 @@ pnpm add impact-nova
|
|
|
54
71
|
yarn add impact-nova
|
|
55
72
|
```
|
|
56
73
|
|
|
57
|
-
> **Note on Peer Dependencies**:
|
|
74
|
+
> **Note on Peer Dependencies**:
|
|
58
75
|
> You must also ensure `react`, `react-dom`, `ag-grid-react`, `ag-grid-enterprise`, and `highcharts` (if used) are installed in your project, as these are peer dependencies.
|
|
59
76
|
|
|
60
77
|
### Styles & Configuration
|
|
@@ -62,17 +79,15 @@ yarn add impact-nova
|
|
|
62
79
|
Import the bundled CSS in your root entry file (e.g., `main.tsx`, `App.tsx`, or `layout.tsx`).
|
|
63
80
|
|
|
64
81
|
```tsx
|
|
65
|
-
import React from
|
|
66
|
-
import ReactDOM from
|
|
82
|
+
import React from "react";
|
|
83
|
+
import ReactDOM from "react-dom/client";
|
|
67
84
|
|
|
68
85
|
// ⚠️ Import styles before your App
|
|
69
|
-
import
|
|
86
|
+
import "impact-nova/dist/impact-nova.css";
|
|
70
87
|
|
|
71
|
-
import App from
|
|
88
|
+
import App from "./App";
|
|
72
89
|
|
|
73
|
-
ReactDOM.createRoot(document.getElementById(
|
|
74
|
-
<App />
|
|
75
|
-
);
|
|
90
|
+
ReactDOM.createRoot(document.getElementById("root")!).render(<App />);
|
|
76
91
|
```
|
|
77
92
|
|
|
78
93
|
### Typography
|
|
@@ -80,15 +95,19 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
|
80
95
|
Impact Nova looks best with **Manrope**. We recommend adding it to your project:
|
|
81
96
|
|
|
82
97
|
1. **Import Font**:
|
|
98
|
+
|
|
83
99
|
```html
|
|
84
|
-
<link
|
|
100
|
+
<link
|
|
101
|
+
href="https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap"
|
|
102
|
+
rel="stylesheet"
|
|
103
|
+
/>
|
|
85
104
|
```
|
|
86
105
|
|
|
87
106
|
2. **Configure Tailwind**:
|
|
88
107
|
```css
|
|
89
108
|
@layer base {
|
|
90
109
|
body {
|
|
91
|
-
font-family:
|
|
110
|
+
font-family: "Manrope", sans-serif;
|
|
92
111
|
}
|
|
93
112
|
}
|
|
94
113
|
```
|
|
@@ -102,7 +121,7 @@ Import components directly from the package. All components export strong TypeSc
|
|
|
102
121
|
### Core Components
|
|
103
122
|
|
|
104
123
|
```tsx
|
|
105
|
-
import { Button, Card, DatePicker } from
|
|
124
|
+
import { Button, Card, DatePicker } from "impact-nova";
|
|
106
125
|
|
|
107
126
|
export default function MyPage() {
|
|
108
127
|
return (
|
|
@@ -122,7 +141,7 @@ export default function MyPage() {
|
|
|
122
141
|
Impact Nova includes a custom-built icon library. Icons are treeshakeable and accept standard SVG props.
|
|
123
142
|
|
|
124
143
|
```tsx
|
|
125
|
-
import { Icons } from
|
|
144
|
+
import { Icons } from "impact-nova";
|
|
126
145
|
|
|
127
146
|
export function StatusBadge() {
|
|
128
147
|
return (
|
|
@@ -139,7 +158,7 @@ export function StatusBadge() {
|
|
|
139
158
|
You can import component props to ensure type safety in your own interfaces.
|
|
140
159
|
|
|
141
160
|
```tsx
|
|
142
|
-
import { Button, type ButtonProps } from
|
|
161
|
+
import { Button, type ButtonProps } from "impact-nova";
|
|
143
162
|
|
|
144
163
|
interface CustomActionProps extends ButtonProps {
|
|
145
164
|
analyticsId: string;
|
|
@@ -157,7 +176,7 @@ Impact Nova supports multiple languages via a provider and message overrides. Wr
|
|
|
157
176
|
**Locale packs** (German, Spanish, Hindi, Kannada) are exported so you can use them as-is or override only the strings you need:
|
|
158
177
|
|
|
159
178
|
```tsx
|
|
160
|
-
import { ImpactNovaI18nProvider, de, defaultMessages } from
|
|
179
|
+
import { ImpactNovaI18nProvider, de, defaultMessages } from "impact-nova";
|
|
161
180
|
|
|
162
181
|
// Use a full locale pack as-is
|
|
163
182
|
function App() {
|
|
@@ -172,25 +191,25 @@ function App() {
|
|
|
172
191
|
**Override only a few keys** by spreading a locale pack and then overriding specific sections or keys. The provider merges your `messages` over the built-in English defaults (or over the pack you pass), so you only need to provide the keys you want to change:
|
|
173
192
|
|
|
174
193
|
```tsx
|
|
175
|
-
import { ImpactNovaI18nProvider, de } from
|
|
194
|
+
import { ImpactNovaI18nProvider, de } from "impact-nova";
|
|
176
195
|
|
|
177
196
|
// German with custom labels for calendar only
|
|
178
197
|
const messages = {
|
|
179
198
|
...de,
|
|
180
|
-
calendar: { ...de.calendar, apply:
|
|
199
|
+
calendar: { ...de.calendar, apply: "Übernehmen", cancel: "Schließen" },
|
|
181
200
|
};
|
|
182
201
|
|
|
183
202
|
<ImpactNovaI18nProvider locale="de" messages={messages}>
|
|
184
203
|
<MyApp />
|
|
185
|
-
</ImpactNovaI18nProvider
|
|
204
|
+
</ImpactNovaI18nProvider>;
|
|
186
205
|
```
|
|
187
206
|
|
|
188
207
|
**Tree-shakeable locale imports** (if you only need one language and want to avoid pulling others into your bundle):
|
|
189
208
|
|
|
190
209
|
```tsx
|
|
191
|
-
import { de } from
|
|
210
|
+
import { de } from "impact-nova/locale/de";
|
|
192
211
|
// or
|
|
193
|
-
import { de, es, hi, kn } from
|
|
212
|
+
import { de, es, hi, kn } from "impact-nova/locale";
|
|
194
213
|
```
|
|
195
214
|
|
|
196
215
|
- **`locale`**: BCP 47 code (e.g. `'en'`, `'de'`) used for date/number formatting. Supported: `en`, `en-US`, `en-GB`, `de`, `es`, `hi`, `kn`.
|
|
@@ -216,6 +235,7 @@ The library utilizes a modern, headless architecture pattern:
|
|
|
216
235
|
Impact Nova provides a rich set of components structured for any enterprise use-case.
|
|
217
236
|
|
|
218
237
|
### 📝 Forms & Inputs
|
|
238
|
+
|
|
219
239
|
- Button, Button Group
|
|
220
240
|
- Checkbox, Radio Group, Switch
|
|
221
241
|
- Input, Smart Input, Textarea
|
|
@@ -226,6 +246,7 @@ Impact Nova provides a rich set of components structured for any enterprise use-
|
|
|
226
246
|
- Prompt, Form Group
|
|
227
247
|
|
|
228
248
|
### 🧭 Navigation
|
|
249
|
+
|
|
229
250
|
- Sidebar, Navigation Bar
|
|
230
251
|
- Tabs, Breadcrumb, Stepper
|
|
231
252
|
- Card, Accordion, Nested List
|
|
@@ -233,6 +254,7 @@ Impact Nova provides a rich set of components structured for any enterprise use-
|
|
|
233
254
|
- Dynamic Layout
|
|
234
255
|
|
|
235
256
|
### 💬 Feedback & Overlay
|
|
257
|
+
|
|
236
258
|
- Alert, Alert Dialog, Dialog
|
|
237
259
|
- Sheet, Drawer, Modal
|
|
238
260
|
- Toast, Tooltip, Popover
|
|
@@ -240,6 +262,7 @@ Impact Nova provides a rich set of components structured for any enterprise use-
|
|
|
240
262
|
- Loader, Skeleton, Progress Bar
|
|
241
263
|
|
|
242
264
|
### 📊 Data Display
|
|
265
|
+
|
|
243
266
|
- Avatar, Badge, Tag, Chips
|
|
244
267
|
- Calendar, Chart
|
|
245
268
|
- Empty Container, Notification Panel
|
|
@@ -258,22 +281,30 @@ Impact Nova provides a rich set of components structured for any enterprise use-
|
|
|
258
281
|
## ✨ Credits & Contributors
|
|
259
282
|
|
|
260
283
|
**Core Development**
|
|
284
|
+
|
|
261
285
|
- Anil M
|
|
262
286
|
- Ritesh Ranjan
|
|
287
|
+
- Manohar R
|
|
288
|
+
- Pratik Pradhan
|
|
289
|
+
- Balaji Utukuri
|
|
263
290
|
|
|
264
291
|
**Design Architecture**
|
|
292
|
+
|
|
265
293
|
- Jaymin Pancholi
|
|
266
294
|
- Sudip Sarkar
|
|
267
295
|
|
|
268
296
|
**UX & Product UI**
|
|
297
|
+
|
|
269
298
|
- Kalyan
|
|
270
299
|
- Vikram
|
|
271
300
|
- Aditi Chaudhary
|
|
272
301
|
|
|
273
302
|
**Inspiration**
|
|
303
|
+
|
|
274
304
|
- Impact UI
|
|
275
305
|
|
|
276
306
|
**Special Thanks**
|
|
307
|
+
|
|
277
308
|
- Girish Pattana Setty
|
|
278
309
|
- Himanshu K
|
|
279
310
|
- Harish V
|
|
@@ -283,4 +314,3 @@ Impact Nova provides a rich set of components structured for any enterprise use-
|
|
|
283
314
|
## 📄 License
|
|
284
315
|
|
|
285
316
|
Impact Nova is licensed under the [MIT License](LICENSE).
|
|
286
|
-
|
|
@@ -4,13 +4,12 @@ import { ChevronLeftIcon as ye, ChevronRightIcon as Ne } from "lucide-react";
|
|
|
4
4
|
import { getDefaultClassNames as Fe, DayPicker as Te } from "react-day-picker";
|
|
5
5
|
import { cn as f } from "../../lib/utils.js";
|
|
6
6
|
import { Button as P } from "./button.js";
|
|
7
|
-
import "./button-variants.js";
|
|
8
7
|
import fe from "./select/select.js";
|
|
9
8
|
import { FISCAL_PATTERNS as Ke, resolveWeekSelection as We } from "../../lib/fiscal-calendar.js";
|
|
10
9
|
import { getIntlLocale as qe, getDateFnsLocale as Ge } from "../../i18n/getDateFnsLocale.js";
|
|
11
10
|
import { useImpactNovaI18n as Je } from "../../i18n/ImpactNovaI18nContext.js";
|
|
12
11
|
const de = d.createContext(0);
|
|
13
|
-
function
|
|
12
|
+
function ot({
|
|
14
13
|
className: oe,
|
|
15
14
|
classNames: J,
|
|
16
15
|
showOutsideDays: y = !1,
|
|
@@ -778,6 +777,6 @@ function Qe({
|
|
|
778
777
|
);
|
|
779
778
|
}
|
|
780
779
|
export {
|
|
781
|
-
|
|
780
|
+
ot as Calendar,
|
|
782
781
|
Qe as CalendarDayButton
|
|
783
782
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "impact-nova",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.7",
|
|
4
4
|
"description": "Enterprise-grade React design system built with React 19, Vite, Tailwind CSS, and Radix UI. Built-in internationalization (i18n) and comprehensive UI component library for scalable, accessible, and performant applications.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|