pixelize-design-library 2.2.33 → 2.2.34
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 +223 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,64 +1,240 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Pixelize Design Library
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A comprehensive React component library built with TypeScript, providing a rich set of UI components for modern web applications.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 🎨 **Modern Design System** - Consistent and beautiful components
|
|
8
|
+
- 📱 **Responsive** - Mobile-first design approach
|
|
9
|
+
- ♿ **Accessible** - Built with accessibility in mind
|
|
10
|
+
- 🔧 **TypeScript** - Full TypeScript support
|
|
11
|
+
- 🎯 **Customizable** - Easy theming and customization
|
|
12
|
+
- 📦 **Tree-shakable** - Import only what you need
|
|
4
13
|
|
|
5
14
|
## Prerequisites
|
|
6
15
|
|
|
7
16
|
Before you begin, ensure you have the following installed:
|
|
8
17
|
|
|
9
|
-
- Node.js (
|
|
10
|
-
- npm (
|
|
18
|
+
- Node.js (v16 or higher)
|
|
19
|
+
- npm (v7 or higher) or yarn
|
|
20
|
+
- React (v16.8 or higher)
|
|
11
21
|
|
|
12
22
|
## Installation
|
|
13
23
|
|
|
14
|
-
|
|
24
|
+
Install the library and its peer dependencies:
|
|
15
25
|
|
|
16
26
|
```bash
|
|
17
|
-
npm install pixelize-design-library
|
|
27
|
+
npm install pixelize-design-library pixelize-authenticator
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
or with yarn:
|
|
18
31
|
|
|
32
|
+
```bash
|
|
33
|
+
yarn add pixelize-design-library pixelize-authenticator
|
|
19
34
|
```
|
|
20
35
|
|
|
21
|
-
|
|
36
|
+
## Quick Start
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import React from 'react';
|
|
40
|
+
import { Button, Card, TextInput } from 'pixelize-design-library';
|
|
41
|
+
|
|
42
|
+
function App() {
|
|
43
|
+
return (
|
|
44
|
+
<div>
|
|
45
|
+
<Card>
|
|
46
|
+
<TextInput placeholder="Enter your name" />
|
|
47
|
+
<Button variant="primary">Submit</Button>
|
|
48
|
+
</Card>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default App;
|
|
54
|
+
```
|
|
22
55
|
|
|
23
56
|
## Components
|
|
24
57
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
58
|
+
### Layout & Navigation
|
|
59
|
+
- **Accordion** - Collapsible content sections
|
|
60
|
+
- **Breadcrumbs** - Navigation breadcrumb trail
|
|
61
|
+
- **Card** - Container component for content
|
|
62
|
+
- **Modal** - Overlay dialog component
|
|
63
|
+
- **NavigationBar** - Main navigation component
|
|
64
|
+
- **SideBar** - Side navigation panel
|
|
65
|
+
|
|
66
|
+
### Form Controls
|
|
67
|
+
- **Button** - Interactive button component
|
|
68
|
+
- **ButtonGroupIcon** - Icon-based button group
|
|
69
|
+
- **Checkbox** - Checkbox input control
|
|
70
|
+
- **DatePicker** - Date selection component
|
|
71
|
+
- **Dropdown** - Dropdown selection component
|
|
72
|
+
- **MultiSelect** - Multi-selection dropdown
|
|
73
|
+
- **NumberInput** - Numeric input field
|
|
74
|
+
- **PinInput** - PIN/OTP input component
|
|
75
|
+
- **RadioButton** - Radio button input
|
|
76
|
+
- **RadioButtonGroup** - Group of radio buttons
|
|
77
|
+
- **Search** - Search input component
|
|
78
|
+
- **SearchSelect** - Searchable select dropdown
|
|
79
|
+
- **Select** - Single selection dropdown
|
|
80
|
+
- **Switch** - Toggle switch component
|
|
81
|
+
- **TextInput** - Text input field
|
|
82
|
+
- **InputTextArea** - Multi-line text input
|
|
83
|
+
- **NoteTextArea** - Rich text editor
|
|
84
|
+
|
|
85
|
+
### Data Display
|
|
86
|
+
- **Table** - Data table component
|
|
87
|
+
- **Timeline** - Timeline visualization
|
|
88
|
+
- **Skeletons** - Loading skeleton components
|
|
89
|
+
- **ProgressBar** - Progress indicator
|
|
90
|
+
|
|
91
|
+
### Charts & Visualization
|
|
92
|
+
- **ApexBarChart** - Bar chart component
|
|
93
|
+
- **ApexPieChart** - Pie chart component
|
|
94
|
+
|
|
95
|
+
### Feedback & Status
|
|
96
|
+
- **AlertDialog** - Alert dialog component *(New)*
|
|
97
|
+
- **Loading** - Loading spinner component
|
|
98
|
+
- **Toaster** - Toast notification system
|
|
99
|
+
- **useToaster** - Hook for toast management
|
|
100
|
+
- **ToolTip** - Tooltip component
|
|
101
|
+
|
|
102
|
+
### User & Profile
|
|
103
|
+
- **ProfileCard** - User profile card
|
|
104
|
+
- **ProfilePhotoViewer** - Profile photo viewer
|
|
105
|
+
- **VerifyEmailOtp** - Email verification component
|
|
106
|
+
|
|
107
|
+
### Editor
|
|
108
|
+
- **Editor** - Rich text editor component
|
|
109
|
+
|
|
110
|
+
## Usage Examples
|
|
111
|
+
|
|
112
|
+
### Basic Button Usage
|
|
113
|
+
|
|
114
|
+
```tsx
|
|
115
|
+
import { Button } from 'pixelize-design-library';
|
|
116
|
+
|
|
117
|
+
function MyComponent() {
|
|
118
|
+
return (
|
|
119
|
+
<div>
|
|
120
|
+
<Button variant="primary" size="medium">
|
|
121
|
+
Primary Button
|
|
122
|
+
</Button>
|
|
123
|
+
<Button variant="secondary" size="large">
|
|
124
|
+
Secondary Button
|
|
125
|
+
</Button>
|
|
126
|
+
</div>
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Form with Validation
|
|
132
|
+
|
|
133
|
+
```tsx
|
|
134
|
+
import { TextInput, Button, Card } from 'pixelize-design-library';
|
|
135
|
+
|
|
136
|
+
function LoginForm() {
|
|
137
|
+
const [email, setEmail] = useState('');
|
|
138
|
+
const [password, setPassword] = useState('');
|
|
139
|
+
|
|
140
|
+
return (
|
|
141
|
+
<Card>
|
|
142
|
+
<TextInput
|
|
143
|
+
label="Email"
|
|
144
|
+
type="email"
|
|
145
|
+
value={email}
|
|
146
|
+
onChange={setEmail}
|
|
147
|
+
required
|
|
148
|
+
/>
|
|
149
|
+
<TextInput
|
|
150
|
+
label="Password"
|
|
151
|
+
type="password"
|
|
152
|
+
value={password}
|
|
153
|
+
onChange={setPassword}
|
|
154
|
+
required
|
|
155
|
+
/>
|
|
156
|
+
<Button variant="primary" type="submit">
|
|
157
|
+
Login
|
|
158
|
+
</Button>
|
|
159
|
+
</Card>
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Data Table
|
|
165
|
+
|
|
166
|
+
```tsx
|
|
167
|
+
import { Table } from 'pixelize-design-library';
|
|
168
|
+
|
|
169
|
+
const columns = [
|
|
170
|
+
{ key: 'name', title: 'Name' },
|
|
171
|
+
{ key: 'email', title: 'Email' },
|
|
172
|
+
{ key: 'role', title: 'Role' }
|
|
173
|
+
];
|
|
174
|
+
|
|
175
|
+
const data = [
|
|
176
|
+
{ name: 'John Doe', email: 'john@example.com', role: 'Admin' },
|
|
177
|
+
{ name: 'Jane Smith', email: 'jane@example.com', role: 'User' }
|
|
178
|
+
];
|
|
179
|
+
|
|
180
|
+
function DataTable() {
|
|
181
|
+
return (
|
|
182
|
+
<Table
|
|
183
|
+
columns={columns}
|
|
184
|
+
data={data}
|
|
185
|
+
pagination
|
|
186
|
+
searchable
|
|
187
|
+
/>
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Theming
|
|
193
|
+
|
|
194
|
+
The library supports custom theming through CSS variables:
|
|
195
|
+
|
|
196
|
+
```css
|
|
197
|
+
:root {
|
|
198
|
+
--primary-color: #007bff;
|
|
199
|
+
--secondary-color: #6c757d;
|
|
200
|
+
--success-color: #28a745;
|
|
201
|
+
--danger-color: #dc3545;
|
|
202
|
+
--warning-color: #ffc107;
|
|
203
|
+
--info-color: #17a2b8;
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## TypeScript Support
|
|
208
|
+
|
|
209
|
+
All components are built with TypeScript and include full type definitions:
|
|
210
|
+
|
|
211
|
+
```tsx
|
|
212
|
+
import { ButtonProps } from 'pixelize-design-library';
|
|
213
|
+
|
|
214
|
+
interface CustomButtonProps extends ButtonProps {
|
|
215
|
+
customProp?: string;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function CustomButton({ customProp, ...props }: CustomButtonProps) {
|
|
219
|
+
return <Button {...props} />;
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Contributing
|
|
224
|
+
|
|
225
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
226
|
+
|
|
227
|
+
## License
|
|
228
|
+
|
|
229
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
230
|
+
|
|
231
|
+
## Support
|
|
232
|
+
|
|
233
|
+
For support and questions:
|
|
234
|
+
- 📧 Email: support@pixelize.com
|
|
235
|
+
- 📖 Documentation: [docs.pixelize.com](https://docs.pixelize.com)
|
|
236
|
+
- 🐛 Issues: [GitHub Issues](https://github.com/pixelize/design-library/issues)
|
|
237
|
+
|
|
238
|
+
## Changelog
|
|
239
|
+
|
|
240
|
+
See [CHANGELOG.md](CHANGELOG.md) for a list of changes and updates.
|