@moving-walls/design-system 1.0.17 → 1.0.18

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Vivekanand Design
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Vivekanand Design
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,221 +1,221 @@
1
- # 🎨 MW Design System
2
-
3
- A comprehensive React component library and design system built with TypeScript, providing modern UI components, design tokens, and a complete icon system.
4
-
5
- ## 📦 Installation
6
-
7
- ```bash
8
- npm install @mw-design/system
9
- # or
10
- yarn add @mw-design/system
11
- # or
12
- pnpm add @mw-design/system
13
- ```
14
-
15
- ## 🚀 Quick Start
16
-
17
- ```tsx
18
- import { Button, Card, DynamicIcon } from '@mw-design/system'
19
- import '@mw-design/system/dist/styles/globals.css'
20
-
21
- function App() {
22
- return (
23
- <Card>
24
- <Button variant="primary">
25
- <DynamicIcon name="heart" size={16} />
26
- Get Started
27
- </Button>
28
- </Card>
29
- )
30
- }
31
- ```
32
-
33
- ## 📖 Documentation
34
-
35
- Visit our [live documentation](https://mwdesignsystem.netlify.app) for complete guides, examples, and API references.
36
-
37
- ## 🧩 Features
38
-
39
- ### ✨ **50+ React Components**
40
- - **Buttons**: Primary, secondary, ghost, destructive variants
41
- - **Forms**: Input, textarea, select, checkbox, switch, radio
42
- - **Data Display**: Tables, cards, badges, avatars, tooltips
43
- - **Navigation**: Tabs, breadcrumbs, pagination, steppers
44
- - **Feedback**: Alerts, toasts, modals, progress indicators
45
- - **Layout**: Containers, grids, panels, sidebars
46
-
47
- ### 🎯 **Icon System**
48
- - **1000+ Lucide Icons**: Complete icon library with dynamic loading
49
- - **DynamicIcon Component**: Smart icon loading with fallbacks
50
- - **Multiple Formats**: SVG, React components, and sprite sheets
51
-
52
- ### 🎨 **Design Tokens**
53
- - **CSS Custom Properties**: Dark/light theme support
54
- - **SCSS Variables**: For Sass-based projects
55
- - **JavaScript Objects**: For dynamic styling
56
- - **JSON Format**: For design tools integration
57
-
58
- ### 🔧 **Developer Experience**
59
- - **TypeScript**: Full type safety and IntelliSense
60
- - **Tree Shaking**: Import only what you need
61
- - **SSR Ready**: Next.js, Remix, and other frameworks
62
- - **Customizable**: CSS variables and component props
63
-
64
- ## 📱 Component Categories
65
-
66
- ### Core Components
67
- ```tsx
68
- import {
69
- Button, Card, Input, Modal, Badge,
70
- Alert, Avatar, Checkbox, Switch
71
- } from '@mw-design/system'
72
- ```
73
-
74
- ### Advanced Components
75
- ```tsx
76
- import {
77
- DataGrid, Calendar, FileUpload,
78
- RichTextEditor, Carousel, TreeView
79
- } from '@mw-design/system'
80
- ```
81
-
82
- ### Layout & Navigation
83
- ```tsx
84
- import {
85
- Navigation, Sidebar, Tabs, Breadcrumb,
86
- Pagination, Stepper
87
- } from '@mw-design/system'
88
- ```
89
-
90
- ## 🎨 Design Tokens Usage
91
-
92
- ### CSS Custom Properties
93
- ```css
94
- /* Automatically available when importing styles */
95
- .my-component {
96
- background: var(--color-primary);
97
- padding: var(--spacing-4);
98
- border-radius: var(--radius-md);
99
- }
100
- ```
101
-
102
- ### JavaScript/TypeScript
103
- ```tsx
104
- import { tokens } from '@mw-design/system'
105
-
106
- const styles = {
107
- background: tokens.colors.primary[500],
108
- padding: tokens.spacing[4]
109
- }
110
- ```
111
-
112
- ### SCSS Variables
113
- ```scss
114
- @import '@mw-design/system/dist/tokens/tokens.scss';
115
-
116
- .button {
117
- background: $primary-500;
118
- padding: $spacing-4;
119
- }
120
- ```
121
-
122
- ## 🎭 Theming
123
-
124
- ### Automatic Dark Mode
125
- ```tsx
126
- // Dark mode activated via system preference or class
127
- <html className="dark">
128
- <body>
129
- <App />
130
- </body>
131
- </html>
132
- ```
133
-
134
- ### Custom Theme Variables
135
- ```css
136
- :root {
137
- --color-primary: #your-brand-color;
138
- --color-secondary: #your-secondary-color;
139
- }
140
- ```
141
-
142
- ## 📁 Bundle Formats
143
-
144
- The package provides multiple formats for different use cases:
145
-
146
- - **ESM**: `@mw-design/system` (recommended)
147
- - **CommonJS**: `@mw-design/system/dist/index.js`
148
- - **UMD**: `@mw-design/system/dist/index.umd.js`
149
-
150
- ## 🔗 CDN Usage
151
-
152
- ```html
153
- <!-- Include via CDN -->
154
- <link rel="stylesheet" href="https://unpkg.com/@mw-design/system/dist/styles/globals.css">
155
- <script src="https://unpkg.com/@mw-design/system/dist/index.umd.js"></script>
156
-
157
- <script>
158
- const { Button, Card } = MWDesignSystem;
159
- </script>
160
- ```
161
-
162
- ## 🛠️ Build Integration
163
-
164
- ### Next.js
165
- ```tsx
166
- // pages/_app.tsx
167
- import '@mw-design/system/dist/styles/globals.css'
168
- import type { AppProps } from 'next/app'
169
-
170
- export default function App({ Component, pageProps }: AppProps) {
171
- return <Component {...pageProps} />
172
- }
173
- ```
174
-
175
- ### Vite/React
176
- ```tsx
177
- // main.tsx
178
- import '@mw-design/system/dist/styles/globals.css'
179
- import { createRoot } from 'react-dom/client'
180
- import App from './App'
181
-
182
- createRoot(document.getElementById('root')!).render(<App />)
183
- ```
184
-
185
- ## 🔧 Advanced Usage
186
-
187
- ### Tree Shaking
188
- ```tsx
189
- // Import only what you need
190
- import { Button } from '@mw-design/system/dist/components/ui/Button'
191
- import { Card } from '@mw-design/system/dist/components/ui/Card'
192
- ```
193
-
194
- ### Custom Icon Loading
195
- ```tsx
196
- import { DynamicIcon } from '@mw-design/system'
197
-
198
- // Icons are loaded dynamically based on name
199
- <DynamicIcon name="shopping-cart" size={24} />
200
- <DynamicIcon name="user-plus" size={16} />
201
- ```
202
-
203
- ## 🤝 Contributing
204
-
205
- We welcome contributions! Please see our [Contributing Guide](https://github.com/your-repo/contributing) for details.
206
-
207
- ## 📄 License
208
-
209
- MIT License - see [LICENSE](LICENSE) file for details.
210
-
211
- ## 🔗 Links
212
-
213
- - [📚 Documentation](https://mwdesignsystem.netlify.app)
214
- - [🎨 Design System](https://mwdesignsystem.netlify.app/design-process)
215
- - [🧩 Components](https://mwdesignsystem.netlify.app/components)
216
- - [🎯 Icons](https://mwdesignsystem.netlify.app/icons)
217
- - [🎨 Tokens](https://mwdesignsystem.netlify.app/tokens)
218
-
219
- ---
220
-
221
- Built with ❤️ for modern React applications
1
+ # 🎨 MW Design System
2
+
3
+ A comprehensive React component library and design system built with TypeScript, providing modern UI components, design tokens, and a complete icon system.
4
+
5
+ ## 📦 Installation
6
+
7
+ ```bash
8
+ npm install @mw-design/system
9
+ # or
10
+ yarn add @mw-design/system
11
+ # or
12
+ pnpm add @mw-design/system
13
+ ```
14
+
15
+ ## 🚀 Quick Start
16
+
17
+ ```tsx
18
+ import { Button, Card, DynamicIcon } from '@mw-design/system'
19
+ import '@mw-design/system/dist/styles/globals.css'
20
+
21
+ function App() {
22
+ return (
23
+ <Card>
24
+ <Button variant="primary">
25
+ <DynamicIcon name="heart" size={16} />
26
+ Get Started
27
+ </Button>
28
+ </Card>
29
+ )
30
+ }
31
+ ```
32
+
33
+ ## 📖 Documentation
34
+
35
+ Visit our [live documentation](https://mwdesignsystem.netlify.app) for complete guides, examples, and API references.
36
+
37
+ ## 🧩 Features
38
+
39
+ ### ✨ **50+ React Components**
40
+ - **Buttons**: Primary, secondary, ghost, destructive variants
41
+ - **Forms**: Input, textarea, select, checkbox, switch, radio
42
+ - **Data Display**: Tables, cards, badges, avatars, tooltips
43
+ - **Navigation**: Tabs, breadcrumbs, pagination, steppers
44
+ - **Feedback**: Alerts, toasts, modals, progress indicators
45
+ - **Layout**: Containers, grids, panels, sidebars
46
+
47
+ ### 🎯 **Icon System**
48
+ - **1000+ Lucide Icons**: Complete icon library with dynamic loading
49
+ - **DynamicIcon Component**: Smart icon loading with fallbacks
50
+ - **Multiple Formats**: SVG, React components, and sprite sheets
51
+
52
+ ### 🎨 **Design Tokens**
53
+ - **CSS Custom Properties**: Dark/light theme support
54
+ - **SCSS Variables**: For Sass-based projects
55
+ - **JavaScript Objects**: For dynamic styling
56
+ - **JSON Format**: For design tools integration
57
+
58
+ ### 🔧 **Developer Experience**
59
+ - **TypeScript**: Full type safety and IntelliSense
60
+ - **Tree Shaking**: Import only what you need
61
+ - **SSR Ready**: Next.js, Remix, and other frameworks
62
+ - **Customizable**: CSS variables and component props
63
+
64
+ ## 📱 Component Categories
65
+
66
+ ### Core Components
67
+ ```tsx
68
+ import {
69
+ Button, Card, Input, Modal, Badge,
70
+ Alert, Avatar, Checkbox, Switch
71
+ } from '@mw-design/system'
72
+ ```
73
+
74
+ ### Advanced Components
75
+ ```tsx
76
+ import {
77
+ DataGrid, Calendar, FileUpload,
78
+ RichTextEditor, Carousel, TreeView
79
+ } from '@mw-design/system'
80
+ ```
81
+
82
+ ### Layout & Navigation
83
+ ```tsx
84
+ import {
85
+ Navigation, Sidebar, Tabs, Breadcrumb,
86
+ Pagination, Stepper
87
+ } from '@mw-design/system'
88
+ ```
89
+
90
+ ## 🎨 Design Tokens Usage
91
+
92
+ ### CSS Custom Properties
93
+ ```css
94
+ /* Automatically available when importing styles */
95
+ .my-component {
96
+ background: var(--color-primary);
97
+ padding: var(--spacing-4);
98
+ border-radius: var(--radius-md);
99
+ }
100
+ ```
101
+
102
+ ### JavaScript/TypeScript
103
+ ```tsx
104
+ import { tokens } from '@mw-design/system'
105
+
106
+ const styles = {
107
+ background: tokens.colors.primary[500],
108
+ padding: tokens.spacing[4]
109
+ }
110
+ ```
111
+
112
+ ### SCSS Variables
113
+ ```scss
114
+ @import '@mw-design/system/dist/tokens/tokens.scss';
115
+
116
+ .button {
117
+ background: $primary-500;
118
+ padding: $spacing-4;
119
+ }
120
+ ```
121
+
122
+ ## 🎭 Theming
123
+
124
+ ### Automatic Dark Mode
125
+ ```tsx
126
+ // Dark mode activated via system preference or class
127
+ <html className="dark">
128
+ <body>
129
+ <App />
130
+ </body>
131
+ </html>
132
+ ```
133
+
134
+ ### Custom Theme Variables
135
+ ```css
136
+ :root {
137
+ --color-primary: #your-brand-color;
138
+ --color-secondary: #your-secondary-color;
139
+ }
140
+ ```
141
+
142
+ ## 📁 Bundle Formats
143
+
144
+ The package provides multiple formats for different use cases:
145
+
146
+ - **ESM**: `@mw-design/system` (recommended)
147
+ - **CommonJS**: `@mw-design/system/dist/index.js`
148
+ - **UMD**: `@mw-design/system/dist/index.umd.js`
149
+
150
+ ## 🔗 CDN Usage
151
+
152
+ ```html
153
+ <!-- Include via CDN -->
154
+ <link rel="stylesheet" href="https://unpkg.com/@mw-design/system/dist/styles/globals.css">
155
+ <script src="https://unpkg.com/@mw-design/system/dist/index.umd.js"></script>
156
+
157
+ <script>
158
+ const { Button, Card } = MWDesignSystem;
159
+ </script>
160
+ ```
161
+
162
+ ## 🛠️ Build Integration
163
+
164
+ ### Next.js
165
+ ```tsx
166
+ // pages/_app.tsx
167
+ import '@mw-design/system/dist/styles/globals.css'
168
+ import type { AppProps } from 'next/app'
169
+
170
+ export default function App({ Component, pageProps }: AppProps) {
171
+ return <Component {...pageProps} />
172
+ }
173
+ ```
174
+
175
+ ### Vite/React
176
+ ```tsx
177
+ // main.tsx
178
+ import '@mw-design/system/dist/styles/globals.css'
179
+ import { createRoot } from 'react-dom/client'
180
+ import App from './App'
181
+
182
+ createRoot(document.getElementById('root')!).render(<App />)
183
+ ```
184
+
185
+ ## 🔧 Advanced Usage
186
+
187
+ ### Tree Shaking
188
+ ```tsx
189
+ // Import only what you need
190
+ import { Button } from '@mw-design/system/dist/components/ui/Button'
191
+ import { Card } from '@mw-design/system/dist/components/ui/Card'
192
+ ```
193
+
194
+ ### Custom Icon Loading
195
+ ```tsx
196
+ import { DynamicIcon } from '@mw-design/system'
197
+
198
+ // Icons are loaded dynamically based on name
199
+ <DynamicIcon name="shopping-cart" size={24} />
200
+ <DynamicIcon name="user-plus" size={16} />
201
+ ```
202
+
203
+ ## 🤝 Contributing
204
+
205
+ We welcome contributions! Please see our [Contributing Guide](https://github.com/your-repo/contributing) for details.
206
+
207
+ ## 📄 License
208
+
209
+ MIT License - see [LICENSE](LICENSE) file for details.
210
+
211
+ ## 🔗 Links
212
+
213
+ - [📚 Documentation](https://mwdesignsystem.netlify.app)
214
+ - [🎨 Design System](https://mwdesignsystem.netlify.app/design-process)
215
+ - [🧩 Components](https://mwdesignsystem.netlify.app/components)
216
+ - [🎯 Icons](https://mwdesignsystem.netlify.app/icons)
217
+ - [🎨 Tokens](https://mwdesignsystem.netlify.app/tokens)
218
+
219
+ ---
220
+
221
+ Built with ❤️ for modern React applications
@@ -4,7 +4,7 @@ export interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  /** Description shown below the title */
5
5
  description?: string;
6
6
  /** Alias for description (backward compat) */
7
- subtitle?: string;
7
+ subtitle?: React.ReactNode;
8
8
  /** i18n key for the title (consumer passes pre-translated string as title) */
9
9
  titleKey?: string;
10
10
  /** i18n key for the description */