uisuite 1.0.0 → 1.0.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 +15 -143
- package/package.json +1 -1
- package/uisuite-1.0.0.tgz +0 -0
package/README.md
CHANGED
|
@@ -26,15 +26,14 @@ UIsuite uses standalone components, so you can import them directly:
|
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
28
|
import { Component } from '@angular/core';
|
|
29
|
-
import {
|
|
29
|
+
import { ButtonComponent } from 'uisuite';
|
|
30
30
|
|
|
31
31
|
@Component({
|
|
32
32
|
selector: 'app-root',
|
|
33
33
|
standalone: true,
|
|
34
|
-
imports: [
|
|
34
|
+
imports: [ButtonComponent],
|
|
35
35
|
template: `
|
|
36
|
-
<
|
|
37
|
-
<ui-input placeholder="Enter text"></ui-input>
|
|
36
|
+
<uButton variant="primary">Click Me</uButton>
|
|
38
37
|
`
|
|
39
38
|
})
|
|
40
39
|
export class AppComponent {}
|
|
@@ -66,13 +65,13 @@ Or import in your `angular.json`:
|
|
|
66
65
|
Versatile button component with multiple variants and sizes.
|
|
67
66
|
|
|
68
67
|
```html
|
|
69
|
-
<
|
|
70
|
-
<
|
|
71
|
-
<
|
|
72
|
-
<
|
|
73
|
-
<
|
|
74
|
-
<
|
|
75
|
-
<
|
|
68
|
+
<uButton variant="primary" size="medium">Primary Button</uButton>
|
|
69
|
+
<uButton variant="secondary">Secondary Button</uButton>
|
|
70
|
+
<uButton variant="outline">Outline Button</uButton>
|
|
71
|
+
<uButton variant="ghost">Ghost Button</uButton>
|
|
72
|
+
<uButton variant="danger">Danger Button</uButton>
|
|
73
|
+
<uButton [loading]="true">Loading...</uButton>
|
|
74
|
+
<uButton [disabled]="true">Disabled</uButton>
|
|
76
75
|
```
|
|
77
76
|
|
|
78
77
|
**Props:**
|
|
@@ -82,144 +81,17 @@ Versatile button component with multiple variants and sizes.
|
|
|
82
81
|
- `loading`: boolean
|
|
83
82
|
- `fullWidth`: boolean
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
Form input with validation states and character counting.
|
|
88
|
-
|
|
89
|
-
```html
|
|
90
|
-
<ui-input
|
|
91
|
-
type="email"
|
|
92
|
-
placeholder="Enter email"
|
|
93
|
-
[formControl]="emailControl"
|
|
94
|
-
></ui-input>
|
|
95
|
-
|
|
96
|
-
<ui-input
|
|
97
|
-
placeholder="With character limit"
|
|
98
|
-
[maxLength]="100"
|
|
99
|
-
[showCharCount]="true"
|
|
100
|
-
></ui-input>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Props:**
|
|
104
|
-
- `type`: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'
|
|
105
|
-
- `size`: 'small' | 'medium' | 'large'
|
|
106
|
-
- `placeholder`: string
|
|
107
|
-
- `disabled`: boolean
|
|
108
|
-
- `readonly`: boolean
|
|
109
|
-
- `required`: boolean
|
|
110
|
-
- `invalid`: boolean
|
|
111
|
-
- `maxLength`: number
|
|
112
|
-
- `showCharCount`: boolean
|
|
113
|
-
|
|
114
|
-
### Checkbox
|
|
115
|
-
|
|
116
|
-
Checkbox with indeterminate state support.
|
|
117
|
-
|
|
118
|
-
```html
|
|
119
|
-
<ui-checkbox label="Accept terms"></ui-checkbox>
|
|
120
|
-
<ui-checkbox [formControl]="agreeControl">I agree</ui-checkbox>
|
|
121
|
-
<ui-checkbox [indeterminate]="true"></ui-checkbox>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**Props:**
|
|
125
|
-
- `label`: string
|
|
126
|
-
- `disabled`: boolean
|
|
127
|
-
- `indeterminate`: boolean
|
|
128
|
-
|
|
129
|
-
### Modal
|
|
130
|
-
|
|
131
|
-
Flexible modal/dialog component.
|
|
132
|
-
|
|
133
|
-
```html
|
|
134
|
-
<ui-modal
|
|
135
|
-
[(isOpen)]="showModal"
|
|
136
|
-
title="Confirm Action"
|
|
137
|
-
size="medium"
|
|
138
|
-
[showFooter]="true"
|
|
139
|
-
>
|
|
140
|
-
<p>Are you sure you want to proceed?</p>
|
|
141
|
-
|
|
142
|
-
<div modal-footer>
|
|
143
|
-
<ui-button variant="ghost" (click)="showModal = false">Cancel</ui-button>
|
|
144
|
-
<ui-button variant="primary" (click)="confirm()">Confirm</ui-button>
|
|
145
|
-
</div>
|
|
146
|
-
</ui-modal>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Props:**
|
|
150
|
-
- `isOpen`: boolean
|
|
151
|
-
- `title`: string
|
|
152
|
-
- `size`: 'small' | 'medium' | 'large' | 'fullscreen'
|
|
153
|
-
- `showHeader`: boolean
|
|
154
|
-
- `showFooter`: boolean
|
|
155
|
-
- `showCloseButton`: boolean
|
|
156
|
-
- `closeOnBackdropClick`: boolean
|
|
157
|
-
- `closeOnEscape`: boolean
|
|
158
|
-
|
|
159
|
-
**Events:**
|
|
160
|
-
- `(closed)`: Emitted when modal closes
|
|
161
|
-
- `(opened)`: Emitted when modal opens
|
|
162
|
-
|
|
163
|
-
## 🎨 Theming
|
|
164
|
-
|
|
165
|
-
UIsuite uses CSS custom properties for easy customization. Override these variables in your global stylesheet:
|
|
166
|
-
|
|
167
|
-
```css
|
|
168
|
-
:root {
|
|
169
|
-
/* Primary colors */
|
|
170
|
-
--ui-color-primary-600: #your-brand-color;
|
|
171
|
-
--ui-color-primary-700: #your-brand-color-dark;
|
|
172
|
-
|
|
173
|
-
/* Spacing */
|
|
174
|
-
--ui-spacing-4: 1rem;
|
|
175
|
-
|
|
176
|
-
/* Border radius */
|
|
177
|
-
--ui-radius-md: 0.5rem;
|
|
178
|
-
|
|
179
|
-
/* Typography */
|
|
180
|
-
--ui-font-family-base: 'Your Font', sans-serif;
|
|
181
|
-
}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
## 🔧 Reactive Forms Integration
|
|
185
|
-
|
|
186
|
-
All form components implement `ControlValueAccessor` for seamless integration with Angular reactive forms:
|
|
187
|
-
|
|
188
|
-
```typescript
|
|
189
|
-
import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
190
|
-
import { UiInputComponent, UiCheckboxComponent } from 'uisuite';
|
|
191
|
-
|
|
192
|
-
@Component({
|
|
193
|
-
selector: 'app-form',
|
|
194
|
-
standalone: true,
|
|
195
|
-
imports: [ReactiveFormsModule, UiInputComponent, UiCheckboxComponent],
|
|
196
|
-
template: `
|
|
197
|
-
<form [formGroup]="form">
|
|
198
|
-
<ui-input formControlName="email" type="email"></ui-input>
|
|
199
|
-
<ui-checkbox formControlName="agree"></ui-checkbox>
|
|
200
|
-
</form>
|
|
201
|
-
`
|
|
202
|
-
})
|
|
203
|
-
export class FormComponent {
|
|
204
|
-
form = new FormGroup({
|
|
205
|
-
email: new FormControl(''),
|
|
206
|
-
agree: new FormControl(false)
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
```
|
|
84
|
+
|
|
210
85
|
|
|
211
86
|
## 📖 Documentation
|
|
212
87
|
|
|
213
|
-
For detailed documentation and examples, visit [
|
|
88
|
+
For detailed documentation and examples, visit [https://github.com/ksindhi/uisuite](https://github.com/ksindhi/uisuite)
|
|
214
89
|
|
|
215
90
|
## 🤝 Contributing
|
|
216
91
|
|
|
217
92
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
MIT © [Your Name]
|
|
222
|
-
|
|
93
|
+
visit [https://github.com/ksindhi/uisuite](https://github.com/ksindhi/uisuite)
|
|
94
|
+
|
|
223
95
|
## 🙏 Support
|
|
224
96
|
|
|
225
|
-
If you like this project, please give it a ⭐ on [GitHub](https://github.com/
|
|
97
|
+
If you like this project, please give it a ⭐ on [GitHub](https://github.com/ksindhi/uisuite)!
|
package/package.json
CHANGED
package/uisuite-1.0.0.tgz
DELETED
|
Binary file
|