@libs-ui/icon-font 0.2.356-42 → 0.2.356-43
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 +379 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,380 @@
|
|
|
1
|
-
# icon-font
|
|
1
|
+
# @libs-ui/icon-font
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Bộ icon font nội bộ của libs-ui với 114 icon được thiết kế riêng cho hệ thống Mobio.
|
|
4
|
+
|
|
5
|
+
## Giới thiệu
|
|
6
|
+
|
|
7
|
+
`@libs-ui/icon-font` cung cấp bộ icon font tùy chỉnh dưới dạng CSS class, cho phép sử dụng trực tiếp trên bất kỳ thẻ HTML nào mà không cần import component Angular. Icon được render thông qua pseudo-element `::before`, hỗ trợ kiểm soát kích thước và màu sắc bằng Tailwind hoặc CSS thuần.
|
|
8
|
+
|
|
9
|
+
## Tính năng
|
|
10
|
+
|
|
11
|
+
- ✅ 114 icon được thiết kế riêng theo design system Mobio
|
|
12
|
+
- ✅ Sử dụng đơn giản bằng CSS class (`libs-ui-icon-*`)
|
|
13
|
+
- ✅ Kiểm soát kích thước qua `font-size` hoặc Tailwind (`text-[18px]`)
|
|
14
|
+
- ✅ Kiểm soát màu sắc qua `color` hoặc Tailwind (`text-blue-500`)
|
|
15
|
+
- ✅ Render qua pseudo-element `::before` — không ảnh hưởng DOM structure
|
|
16
|
+
- ✅ Font format đa dạng: EOT, TTF, WOFF, SVG — tương thích mọi trình duyệt
|
|
17
|
+
- ✅ Tích hợp sẵn với các component libs-ui (Button, Label, Notification…)
|
|
18
|
+
|
|
19
|
+
## Khi nào sử dụng
|
|
20
|
+
|
|
21
|
+
- Hiển thị icon trong nút bấm, menu, badge, label, tiêu đề section
|
|
22
|
+
- Kết hợp với các component libs-ui qua prop `classIconLeft`, `classIconRight`
|
|
23
|
+
- Thay thế SVG inline khi cần icon đơn giản, nhẹ hơn
|
|
24
|
+
- Hiển thị icon trạng thái (success, warning, error, info) trong notification
|
|
25
|
+
- Các icon thao tác phổ biến: thêm, sửa, xóa, tìm kiếm, tải xuống, copy
|
|
26
|
+
|
|
27
|
+
## Cài đặt
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install @libs-ui/icon-font
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Import CSS
|
|
34
|
+
|
|
35
|
+
Icon font **không có Angular component** — chỉ cần import file CSS một lần vào `styles.scss` của ứng dụng:
|
|
36
|
+
|
|
37
|
+
```scss
|
|
38
|
+
// styles.scss (app root)
|
|
39
|
+
@import '@libs-ui/icon-font/assets/style.css';
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Sau đó dùng class trực tiếp trong HTML mà không cần import thêm gì vào component.
|
|
43
|
+
|
|
44
|
+
## Ví dụ sử dụng
|
|
45
|
+
|
|
46
|
+
### Ví dụ 1 — Icon cơ bản trên thẻ `<i>` hoặc `<span>`
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<!-- Icon thêm mới -->
|
|
50
|
+
<i class="libs-ui-icon-add text-[20px] text-blue-500"></i>
|
|
51
|
+
|
|
52
|
+
<!-- Icon tìm kiếm -->
|
|
53
|
+
<span class="libs-ui-icon-search text-[16px] text-gray-500"></span>
|
|
54
|
+
|
|
55
|
+
<!-- Icon đóng -->
|
|
56
|
+
<i class="libs-ui-icon-close text-[14px]"></i>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Ví dụ 2 — Icon kết hợp với nút bấm
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<!-- Nút có icon bên trái -->
|
|
63
|
+
<button class="flex items-center gap-2 px-4 py-2 bg-blue-500 text-white rounded">
|
|
64
|
+
<i class="libs-ui-icon-add text-[16px]"></i>
|
|
65
|
+
<span>Thêm mới</span>
|
|
66
|
+
</button>
|
|
67
|
+
|
|
68
|
+
<!-- Nút có icon bên phải -->
|
|
69
|
+
<button class="flex items-center gap-2 px-4 py-2 border border-gray-300 rounded">
|
|
70
|
+
<span>Xem thêm</span>
|
|
71
|
+
<i class="libs-ui-icon-arrow-right text-[16px]"></i>
|
|
72
|
+
</button>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Ví dụ 3 — Kiểm soát kích thước với Tailwind
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<!-- Icon nhỏ (14px) -->
|
|
79
|
+
<i class="libs-ui-icon-check text-[14px] text-green-500"></i>
|
|
80
|
+
|
|
81
|
+
<!-- Icon trung bình (18px) -->
|
|
82
|
+
<i class="libs-ui-icon-calendar text-[18px] text-gray-600"></i>
|
|
83
|
+
|
|
84
|
+
<!-- Icon lớn (24px) -->
|
|
85
|
+
<i class="libs-ui-icon-search text-[24px] text-blue-600"></i>
|
|
86
|
+
|
|
87
|
+
<!-- Icon rất lớn (44px) — dùng cho hero section -->
|
|
88
|
+
<div class="libs-ui-icon-search text-[44px] text-[#c0c6d0]"></div>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Ví dụ 4 — Kết hợp với libs-ui Button component
|
|
92
|
+
|
|
93
|
+
```html
|
|
94
|
+
<!-- Icon trái -->
|
|
95
|
+
<libs_ui-components-buttons-button
|
|
96
|
+
[type]="'button-primary'"
|
|
97
|
+
[label]="'Thêm mới'"
|
|
98
|
+
[classIconLeft]="'libs-ui-icon-add'"
|
|
99
|
+
/>
|
|
100
|
+
|
|
101
|
+
<!-- Icon phải -->
|
|
102
|
+
<libs_ui-components-buttons-button
|
|
103
|
+
[type]="'button-default'"
|
|
104
|
+
[label]="'Tiếp theo'"
|
|
105
|
+
[classIconRight]="'libs-ui-icon-arrow-right'"
|
|
106
|
+
/>
|
|
107
|
+
|
|
108
|
+
<!-- Icon tải về -->
|
|
109
|
+
<libs_ui-components-buttons-button
|
|
110
|
+
[type]="'button-default'"
|
|
111
|
+
[label]="'Tải xuống'"
|
|
112
|
+
[classIconLeft]="'libs-ui-icon-download-outline'"
|
|
113
|
+
/>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Ví dụ 5 — Icon trạng thái (notification, alert)
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<!-- Thành công -->
|
|
120
|
+
<span class="libs-ui-icon-check-circle-solid text-[18px] text-green-500"></span>
|
|
121
|
+
|
|
122
|
+
<!-- Cảnh báo -->
|
|
123
|
+
<span class="libs-ui-icon-alert-triangle-solid text-[18px] text-yellow-500"></span>
|
|
124
|
+
|
|
125
|
+
<!-- Lỗi -->
|
|
126
|
+
<span class="libs-ui-icon-close-circle-solid text-[18px] text-red-500"></span>
|
|
127
|
+
|
|
128
|
+
<!-- Thông tin -->
|
|
129
|
+
<span class="libs-ui-icon-tooltip-solid text-[18px] text-blue-500"></span>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Ví dụ 6 — Icon với màu sắc tùy chỉnh qua CSS variable
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<!-- Màu từ CSS variable -->
|
|
136
|
+
<i class="libs-ui-icon-edit-line" style="color: var(--libs-ui-color-active)"></i>
|
|
137
|
+
|
|
138
|
+
<!-- Màu từ Tailwind -->
|
|
139
|
+
<i class="libs-ui-icon-lock text-[16px] text-gray-400"></i>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Danh sách icon đầy đủ (114 icons)
|
|
143
|
+
|
|
144
|
+
### Thao tác cơ bản
|
|
145
|
+
|
|
146
|
+
| Class | Mô tả |
|
|
147
|
+
|---|---|
|
|
148
|
+
| `libs-ui-icon-add` | Thêm mới (dấu +) |
|
|
149
|
+
| `libs-ui-icon-close` | Đóng / Hủy |
|
|
150
|
+
| `libs-ui-icon-check` | Xác nhận / Tick |
|
|
151
|
+
| `libs-ui-icon-search` | Tìm kiếm |
|
|
152
|
+
| `libs-ui-icon-edit-line` | Chỉnh sửa (đường viền) |
|
|
153
|
+
| `libs-ui-icon-edit-solid` | Chỉnh sửa (solid) |
|
|
154
|
+
| `libs-ui-icon-remove` | Xóa |
|
|
155
|
+
| `libs-ui-icon-copy` | Sao chép |
|
|
156
|
+
| `libs-ui-icon-refresh` | Làm mới |
|
|
157
|
+
| `libs-ui-icon-reload` | Tải lại |
|
|
158
|
+
|
|
159
|
+
### Điều hướng & Mũi tên
|
|
160
|
+
|
|
161
|
+
| Class | Mô tả |
|
|
162
|
+
|---|---|
|
|
163
|
+
| `libs-ui-icon-arrow-right` | Mũi tên phải |
|
|
164
|
+
| `libs-ui-icon-chevron-right` | Chevron phải |
|
|
165
|
+
| `libs-ui-icon-chevron-right-circle` | Chevron phải trong vòng tròn |
|
|
166
|
+
| `libs-ui-icon-chevron-right-double` | Chevron phải đôi |
|
|
167
|
+
| `libs-ui-icon-move-right` | Di chuyển phải |
|
|
168
|
+
| `libs-ui-icon-login` | Đăng nhập (đường viền) |
|
|
169
|
+
| `libs-ui-icon-login-solid` | Đăng nhập (solid) |
|
|
170
|
+
| `libs-ui-icon-logout-outline` | Đăng xuất (đường viền) |
|
|
171
|
+
| `libs-ui-icon-logout-solid` | Đăng xuất (solid) |
|
|
172
|
+
|
|
173
|
+
### Trạng thái & Thông báo
|
|
174
|
+
|
|
175
|
+
| Class | Mô tả |
|
|
176
|
+
|---|---|
|
|
177
|
+
| `libs-ui-icon-check-circle-outline` | Thành công (đường viền) |
|
|
178
|
+
| `libs-ui-icon-check-circle-solid` | Thành công (solid) |
|
|
179
|
+
| `libs-ui-icon-check-double` | Xác nhận kép |
|
|
180
|
+
| `libs-ui-icon-close-circle-outline` | Lỗi / Hủy (đường viền) |
|
|
181
|
+
| `libs-ui-icon-close-circle-solid` | Lỗi / Hủy (solid) |
|
|
182
|
+
| `libs-ui-icon-alert-triangle-outline` | Cảnh báo (đường viền) |
|
|
183
|
+
| `libs-ui-icon-alert-triangle-solid` | Cảnh báo (solid) |
|
|
184
|
+
| `libs-ui-icon-tooltip-outline` | Thông tin (đường viền) |
|
|
185
|
+
| `libs-ui-icon-tooltip-solid` | Thông tin (solid) |
|
|
186
|
+
| `libs-ui-icon-banned` | Bị chặn / Cấm |
|
|
187
|
+
|
|
188
|
+
### File & Tải lên/xuống
|
|
189
|
+
|
|
190
|
+
| Class | Mô tả |
|
|
191
|
+
|---|---|
|
|
192
|
+
| `libs-ui-icon-file` | File |
|
|
193
|
+
| `libs-ui-icon-file-upload` | Tải file lên |
|
|
194
|
+
| `libs-ui-icon-upload-outline` | Tải lên (đường viền) |
|
|
195
|
+
| `libs-ui-icon-upload-solid` | Tải lên (solid) |
|
|
196
|
+
| `libs-ui-icon-download-outline` | Tải xuống (đường viền) |
|
|
197
|
+
| `libs-ui-icon-download-solid` | Tải xuống (solid) |
|
|
198
|
+
| `libs-ui-icon-attachment` | Tệp đính kèm |
|
|
199
|
+
| `libs-ui-icon-link` | Liên kết |
|
|
200
|
+
| `libs-ui-icon-link-broken` | Liên kết bị gãy |
|
|
201
|
+
|
|
202
|
+
### Hiển thị & Mắt
|
|
203
|
+
|
|
204
|
+
| Class | Mô tả |
|
|
205
|
+
|---|---|
|
|
206
|
+
| `libs-ui-icon-eye-outline` | Xem (đường viền) |
|
|
207
|
+
| `libs-ui-icon-eye-solid` | Xem (solid) |
|
|
208
|
+
| `libs-ui-icon-eye-slash-outline` | Ẩn (đường viền) |
|
|
209
|
+
| `libs-ui-icon-eye-slash-solid` | Ẩn (solid) |
|
|
210
|
+
| `libs-ui-icon-fullscreen-open` | Mở toàn màn hình |
|
|
211
|
+
| `libs-ui-icon-fullscreen-exit` | Thoát toàn màn hình |
|
|
212
|
+
| `libs-ui-icon-zoom-in` | Phóng to |
|
|
213
|
+
| `libs-ui-icon-zoom-out` | Thu nhỏ |
|
|
214
|
+
|
|
215
|
+
### Trình soạn thảo (Editor)
|
|
216
|
+
|
|
217
|
+
| Class | Mô tả |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `libs-ui-icon-editor-bold` | Chữ đậm |
|
|
220
|
+
| `libs-ui-icon-editor-italic` | Chữ nghiêng |
|
|
221
|
+
| `libs-ui-icon-editor-underlined` | Gạch chân |
|
|
222
|
+
| `libs-ui-icon-editor-strike-through` | Gạch ngang |
|
|
223
|
+
| `libs-ui-icon-editor-color-text` | Màu chữ |
|
|
224
|
+
| `libs-ui-icon-editor-color-background` | Màu nền chữ |
|
|
225
|
+
| `libs-ui-icon-align-left` | Căn trái |
|
|
226
|
+
| `libs-ui-icon-align-center` | Căn giữa |
|
|
227
|
+
| `libs-ui-icon-align-right` | Căn phải |
|
|
228
|
+
| `libs-ui-icon-align-justify` | Căn đều |
|
|
229
|
+
| `libs-ui-icon-indent-decrease` | Giảm thụt lề |
|
|
230
|
+
| `libs-ui-icon-indent-increase` | Tăng thụt lề |
|
|
231
|
+
| `libs-ui-icon-list-bulleted` | Danh sách chấm |
|
|
232
|
+
| `libs-ui-icon-list-numbered` | Danh sách số |
|
|
233
|
+
| `libs-ui-icon-quote` | Trích dẫn |
|
|
234
|
+
| `libs-ui-icon-code-snippet` | Đoạn mã |
|
|
235
|
+
| `libs-ui-icon-undo` | Hoàn tác |
|
|
236
|
+
| `libs-ui-icon-redo` | Làm lại |
|
|
237
|
+
| `libs-ui-icon-wrap` | Xuống dòng |
|
|
238
|
+
| `libs-ui-icon-unwrap` | Bỏ xuống dòng |
|
|
239
|
+
|
|
240
|
+
### Bảng & Ô (Table/Cell)
|
|
241
|
+
|
|
242
|
+
| Class | Mô tả |
|
|
243
|
+
|---|---|
|
|
244
|
+
| `libs-ui-icon-table` | Bảng |
|
|
245
|
+
| `libs-ui-icon-row` | Hàng |
|
|
246
|
+
| `libs-ui-icon-merge-cell` | Gộp ô |
|
|
247
|
+
| `libs-ui-icon-split-cell` | Tách ô |
|
|
248
|
+
| `libs-ui-icon-merge-column` | Gộp cột |
|
|
249
|
+
|
|
250
|
+
### Form Controls
|
|
251
|
+
|
|
252
|
+
| Class | Mô tả |
|
|
253
|
+
|---|---|
|
|
254
|
+
| `libs-ui-icon-checkbox-selected` | Checkbox đã chọn |
|
|
255
|
+
| `libs-ui-icon-checkbox-unselected` | Checkbox chưa chọn |
|
|
256
|
+
| `libs-ui-icon-checkbox-indeterminate` | Checkbox trung gian |
|
|
257
|
+
| `libs-ui-icon-radio-selected` | Radio đã chọn |
|
|
258
|
+
| `libs-ui-icon-radio-unselected` | Radio chưa chọn |
|
|
259
|
+
|
|
260
|
+
### Media & Âm thanh
|
|
261
|
+
|
|
262
|
+
| Class | Mô tả |
|
|
263
|
+
|---|---|
|
|
264
|
+
| `libs-ui-icon-play-solid` | Phát |
|
|
265
|
+
| `libs-ui-icon-pause-solid` | Tạm dừng |
|
|
266
|
+
| `libs-ui-icon-stop-solid` | Dừng |
|
|
267
|
+
| `libs-ui-icon-speaker-on-outline` | Loa bật (đường viền) |
|
|
268
|
+
| `libs-ui-icon-speaker-on-solid` | Loa bật (solid) |
|
|
269
|
+
| `libs-ui-icon-speaker-off-outline` | Loa tắt (đường viền) |
|
|
270
|
+
| `libs-ui-icon-speaker-off-solid` | Loa tắt (solid) |
|
|
271
|
+
| `libs-ui-icon-video-outline` | Video |
|
|
272
|
+
| `libs-ui-icon-image-solid` | Hình ảnh |
|
|
273
|
+
| `libs-ui-icon-face-smile` | Biểu cảm / Emoji |
|
|
274
|
+
|
|
275
|
+
### Chỉnh sửa ảnh (Image Editor)
|
|
276
|
+
|
|
277
|
+
| Class | Mô tả |
|
|
278
|
+
|---|---|
|
|
279
|
+
| `libs-ui-icon-customize-image-outline` | Tùy chỉnh ảnh |
|
|
280
|
+
| `libs-ui-icon-rotate-image-outline` | Xoay ảnh |
|
|
281
|
+
| `libs-ui-icon-flip-horizontal` | Lật ngang |
|
|
282
|
+
| `libs-ui-icon-flip-vertical` | Lật dọc |
|
|
283
|
+
| `libs-ui-icon-scale` | Tỷ lệ |
|
|
284
|
+
| `libs-ui-icon-scale-horizon` | Tỷ lệ ngang |
|
|
285
|
+
| `libs-ui-icon-scale-vertical` | Tỷ lệ dọc |
|
|
286
|
+
|
|
287
|
+
### Tỷ lệ ảnh (Ratio)
|
|
288
|
+
|
|
289
|
+
| Class | Mô tả |
|
|
290
|
+
|---|---|
|
|
291
|
+
| `libs-ui-icon-ratio-1-1` | Tỷ lệ 1:1 |
|
|
292
|
+
| `libs-ui-icon-ratio-16-9` | Tỷ lệ 16:9 |
|
|
293
|
+
| `libs-ui-icon-ratio-9-16` | Tỷ lệ 9:16 |
|
|
294
|
+
| `libs-ui-icon-ratio-4-3` | Tỷ lệ 4:3 |
|
|
295
|
+
| `libs-ui-icon-ratio-3-4` | Tỷ lệ 3:4 |
|
|
296
|
+
| `libs-ui-icon-ratio-3-2` | Tỷ lệ 3:2 |
|
|
297
|
+
| `libs-ui-icon-ratio-2-3` | Tỷ lệ 2:3 |
|
|
298
|
+
|
|
299
|
+
### Khác
|
|
300
|
+
|
|
301
|
+
| Class | Mô tả |
|
|
302
|
+
|---|---|
|
|
303
|
+
| `libs-ui-icon-calendar` | Lịch |
|
|
304
|
+
| `libs-ui-icon-clock` | Đồng hồ |
|
|
305
|
+
| `libs-ui-icon-lock` | Khóa |
|
|
306
|
+
| `libs-ui-icon-asterisk` | Dấu hoa thị |
|
|
307
|
+
| `libs-ui-icon-more-vertical` | Thêm tùy chọn (dọc) |
|
|
308
|
+
| `libs-ui-icon-arrange` | Sắp xếp |
|
|
309
|
+
| `libs-ui-icon-calculation` | Tính toán |
|
|
310
|
+
| `libs-ui-icon-divide` | Chia |
|
|
311
|
+
| `libs-ui-icon-minus` | Trừ / Thu nhỏ |
|
|
312
|
+
| `libs-ui-icon-pin-outline` | Ghim (đường viền) |
|
|
313
|
+
| `libs-ui-icon-pin-solid` | Ghim (solid) |
|
|
314
|
+
| `libs-ui-icon-send-solid` | Gửi |
|
|
315
|
+
| `libs-ui-icon-new-conversation` | Cuộc trò chuyện mới |
|
|
316
|
+
| `libs-ui-icon-task-list` | Danh sách nhiệm vụ |
|
|
317
|
+
|
|
318
|
+
## Cách tùy chỉnh kích thước
|
|
319
|
+
|
|
320
|
+
Icon font sử dụng `font-size` để kiểm soát kích thước. Có thể dùng Tailwind hoặc class `before:text-*` để override:
|
|
321
|
+
|
|
322
|
+
```html
|
|
323
|
+
<!-- Dùng Tailwind text-size (thay đổi toàn bộ element) -->
|
|
324
|
+
<i class="libs-ui-icon-search text-[16px]"></i>
|
|
325
|
+
<i class="libs-ui-icon-search text-[20px]"></i>
|
|
326
|
+
<i class="libs-ui-icon-search text-[24px]"></i>
|
|
327
|
+
|
|
328
|
+
<!-- Dùng before:text-* (chỉ thay đổi pseudo-element ::before) -->
|
|
329
|
+
<span class="libs-ui-icon-eye-outline before:text-[18px]"></span>
|
|
330
|
+
<span class="libs-ui-icon-file before:text-[18px] text-red-500"></span>
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## Cách tùy chỉnh màu sắc
|
|
334
|
+
|
|
335
|
+
```html
|
|
336
|
+
<!-- Màu qua Tailwind -->
|
|
337
|
+
<i class="libs-ui-icon-check-circle-solid text-green-500"></i>
|
|
338
|
+
<i class="libs-ui-icon-alert-triangle-solid text-yellow-500"></i>
|
|
339
|
+
<i class="libs-ui-icon-close-circle-solid text-red-500"></i>
|
|
340
|
+
<i class="libs-ui-icon-tooltip-solid text-blue-500"></i>
|
|
341
|
+
|
|
342
|
+
<!-- Màu qua CSS variable (theo design token libs-ui) -->
|
|
343
|
+
<i class="libs-ui-icon-edit-line" style="color: var(--libs-ui-color-active)"></i>
|
|
344
|
+
|
|
345
|
+
<!-- Kết hợp với hover -->
|
|
346
|
+
<button class="group flex items-center gap-1">
|
|
347
|
+
<i class="libs-ui-icon-edit-line text-[16px] text-gray-500 group-hover:text-blue-500 transition-colors"></i>
|
|
348
|
+
<span>Chỉnh sửa</span>
|
|
349
|
+
</button>
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## Lưu ý quan trọng
|
|
353
|
+
|
|
354
|
+
⚠️ **Chỉ import CSS một lần**: File `@libs-ui/icon-font/assets/style.css` chỉ cần import trong `styles.scss` toàn cục. Không import lại trong từng component.
|
|
355
|
+
|
|
356
|
+
⚠️ **Không phải Angular Component**: Lib này không export Angular component hay directive — chỉ cung cấp CSS class. Không cần thêm vào `imports[]` của component.
|
|
357
|
+
|
|
358
|
+
⚠️ **Kích thước mặc định**: Icon kế thừa `font-size` từ phần tử cha. Nên chỉ định rõ kích thước để tránh phụ thuộc vào cascade.
|
|
359
|
+
|
|
360
|
+
⚠️ **Icon `libs-ui-icon-arrange`**: Icon này có màu `#9ca2ad` được hardcode trong CSS. Dùng thêm class màu để override nếu cần màu khác.
|
|
361
|
+
|
|
362
|
+
⚠️ **Tương thích component**: Khi truyền icon cho các component libs-ui (Button, Label...) qua prop `classIconLeft`/`classIconRight`, truyền tên class đầy đủ kèm Tailwind modifier nếu cần:
|
|
363
|
+
|
|
364
|
+
```html
|
|
365
|
+
<libs_ui-components-buttons-button
|
|
366
|
+
[classIconLeft]="'libs-ui-icon-add before:text-[16px]'"
|
|
367
|
+
/>
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Demo
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
npx nx serve core-ui
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
Xem icon được sử dụng trong các component tại các demo route:
|
|
377
|
+
- `http://localhost:4500/buttons/button` — Button với icon
|
|
378
|
+
- `http://localhost:4500/label` — Label với icon
|
|
379
|
+
- `http://localhost:4500/dropdown` — Dropdown với icon tìm kiếm
|
|
380
|
+
- `http://localhost:4500/preview-file` — Preview file với icon
|