@eagami/ui 0.8.1 → 0.9.0
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 +104 -2
- package/fesm2022/eagami-ui.mjs +897 -144
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eagami-ui.d.ts +155 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="docs/images/eagami-header.png" alt="eagami design system — elegant web design
|
|
2
|
+
<img src="docs/images/eagami-header.png" alt="eagami design system — elegant web design" width="800" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
A lightweight, accessible Angular component library built on CSS custom properties. Ready to use out of the box — install, import, and start building.
|
|
@@ -111,6 +111,24 @@ Variants: `default` | `success` | `warning` | `error` | `info`. Two-way `visible
|
|
|
111
111
|
|
|
112
112
|
</details>
|
|
113
113
|
|
|
114
|
+
<details>
|
|
115
|
+
<summary><strong>Autocomplete</strong> — text input with filtered suggestion dropdown</summary>
|
|
116
|
+
|
|
117
|
+
Arrow key navigation, case-insensitive substring matching, configurable `minLength` and `maxResults`. Full `ControlValueAccessor` support.
|
|
118
|
+
|
|
119
|
+
```html
|
|
120
|
+
<ea-autocomplete
|
|
121
|
+
label="Country"
|
|
122
|
+
placeholder="Start typing…"
|
|
123
|
+
[options]="countries"
|
|
124
|
+
[(value)]="selectedCountry"
|
|
125
|
+
(optionSelected)="onSelect($event)" />
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
<img src="docs/images/autocomplete.png" alt="Autocomplete component" width="560" />
|
|
129
|
+
|
|
130
|
+
</details>
|
|
131
|
+
|
|
114
132
|
<details>
|
|
115
133
|
<summary><strong>Avatar</strong> — image with initials or icon fallback</summary>
|
|
116
134
|
|
|
@@ -156,6 +174,25 @@ Variants: `default` | `success` | `warning` | `error` | `info`. Sizes: `sm` | `m
|
|
|
156
174
|
|
|
157
175
|
</details>
|
|
158
176
|
|
|
177
|
+
<details>
|
|
178
|
+
<summary><strong>Breadcrumbs</strong> — navigation trail with chevron or slash separators</summary>
|
|
179
|
+
|
|
180
|
+
Separators: `chevron` | `slash`. Items can be links (`href`), buttons (no `href`), or disabled. The last item is automatically rendered as the current page.
|
|
181
|
+
|
|
182
|
+
```html
|
|
183
|
+
<ea-breadcrumbs
|
|
184
|
+
[items]="[
|
|
185
|
+
{ label: 'Home', href: '/' },
|
|
186
|
+
{ label: 'Products', href: '/products' },
|
|
187
|
+
{ label: 'MacBook Pro' }
|
|
188
|
+
]"
|
|
189
|
+
(itemClicked)="navigate($event)" />
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
<img src="docs/images/breadcrumbs.png" alt="Breadcrumbs component" width="560" />
|
|
193
|
+
|
|
194
|
+
</details>
|
|
195
|
+
|
|
159
196
|
<details>
|
|
160
197
|
<summary><strong>Button</strong> — primary, secondary, ghost, danger variants with loading state</summary>
|
|
161
198
|
|
|
@@ -254,6 +291,8 @@ Sizes: `sm` | `md` | `lg` | `full`. Two-way `open` binding.
|
|
|
254
291
|
</ea-dialog>
|
|
255
292
|
```
|
|
256
293
|
|
|
294
|
+
<img src="docs/images/dialog.png" alt="Dialog component" width="560" />
|
|
295
|
+
|
|
257
296
|
</details>
|
|
258
297
|
|
|
259
298
|
<details>
|
|
@@ -271,6 +310,28 @@ Orientation: `horizontal` | `vertical`.
|
|
|
271
310
|
|
|
272
311
|
</details>
|
|
273
312
|
|
|
313
|
+
<details>
|
|
314
|
+
<summary><strong>Drawer</strong> — side panel using native dialog with focus trapping</summary>
|
|
315
|
+
|
|
316
|
+
Positions: `left` | `right` | `top` | `bottom`. Sizes: `sm` | `md` | `lg` | `full`. Two-way `open` binding.
|
|
317
|
+
|
|
318
|
+
```html
|
|
319
|
+
<ea-button (clicked)="drawerOpen.set(true)">Open</ea-button>
|
|
320
|
+
|
|
321
|
+
<ea-drawer [(open)]="drawerOpen" position="right" size="md">
|
|
322
|
+
<span slot="header">Details</span>
|
|
323
|
+
<p>Drawer body content…</p>
|
|
324
|
+
<span slot="footer">
|
|
325
|
+
<ea-button variant="secondary" (clicked)="drawerOpen.set(false)">Cancel</ea-button>
|
|
326
|
+
<ea-button (clicked)="save()">Save</ea-button>
|
|
327
|
+
</span>
|
|
328
|
+
</ea-drawer>
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
<img src="docs/images/drawer.png" alt="Drawer component" width="560" />
|
|
332
|
+
|
|
333
|
+
</details>
|
|
334
|
+
|
|
274
335
|
<details>
|
|
275
336
|
<summary><strong>Dropdown</strong> — select with ControlValueAccessor and keyboard navigation</summary>
|
|
276
337
|
|
|
@@ -288,6 +349,19 @@ Arrow keys, Enter/Space to select, Escape to close. Sizes: `sm` | `md` | `lg`.
|
|
|
288
349
|
|
|
289
350
|
</details>
|
|
290
351
|
|
|
352
|
+
<details>
|
|
353
|
+
<summary><strong>Eagami Wordmark</strong> — branded logo wordmark linking to eagami.com</summary>
|
|
354
|
+
|
|
355
|
+
Variants: `logo` (icon only) | `signature` (handcrafted by eagami) | `brand` (eagami with tagline). Three discrete sizes (`sm`, `md`, `lg`) scale both the logo and the text proportionally.
|
|
356
|
+
|
|
357
|
+
```html
|
|
358
|
+
<ea-eagami-wordmark variant="brand" size="md" />
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
<img src="docs/images/eagami-wordmark.png" alt="Eagami Wordmark component" width="560" />
|
|
362
|
+
|
|
363
|
+
</details>
|
|
364
|
+
|
|
291
365
|
<details>
|
|
292
366
|
<summary><strong>Input</strong> — text field with ControlValueAccessor and password toggle</summary>
|
|
293
367
|
|
|
@@ -306,6 +380,29 @@ Types: `text` | `email` | `password` | `number` | `search` | `tel` | `url`. Size
|
|
|
306
380
|
|
|
307
381
|
</details>
|
|
308
382
|
|
|
383
|
+
<details>
|
|
384
|
+
<summary><strong>Menu</strong> — popup action menu with trigger slot and menu items</summary>
|
|
385
|
+
|
|
386
|
+
Placements: `bottom-start` | `bottom-end` | `top-start` | `top-end`. Menu items support icons, disabled state, and a `danger` variant. Closes on outside click or Escape.
|
|
387
|
+
|
|
388
|
+
```html
|
|
389
|
+
<ea-menu placement="bottom-end">
|
|
390
|
+
<ea-button slot="trigger" variant="secondary">Actions</ea-button>
|
|
391
|
+
<ea-menu-item (itemClicked)="edit()">
|
|
392
|
+
<ea-icon-pencil slot="icon" />
|
|
393
|
+
Edit
|
|
394
|
+
</ea-menu-item>
|
|
395
|
+
<ea-menu-item variant="danger" (itemClicked)="delete()">
|
|
396
|
+
<ea-icon-trash slot="icon" />
|
|
397
|
+
Delete
|
|
398
|
+
</ea-menu-item>
|
|
399
|
+
</ea-menu>
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
<img src="docs/images/menu.png" alt="Menu component" width="560" />
|
|
403
|
+
|
|
404
|
+
</details>
|
|
405
|
+
|
|
309
406
|
<details>
|
|
310
407
|
<summary><strong>Paginator</strong> — page navigation with configurable page sizes</summary>
|
|
311
408
|
|
|
@@ -319,6 +416,8 @@ Placement: `left` | `center` | `right`. Emits `pageChange` events with current p
|
|
|
319
416
|
(pageChange)="onPageChange($event)" />
|
|
320
417
|
```
|
|
321
418
|
|
|
419
|
+
<img src="docs/images/paginator.png" alt="Paginator component" width="560" />
|
|
420
|
+
|
|
322
421
|
</details>
|
|
323
422
|
|
|
324
423
|
<details>
|
|
@@ -482,12 +581,14 @@ Positions: `top` | `bottom` | `left` | `right`.
|
|
|
482
581
|
<ea-button eaTooltip="Save your changes" tooltipPosition="top">Save</ea-button>
|
|
483
582
|
```
|
|
484
583
|
|
|
584
|
+
<img src="docs/images/tooltip.png" alt="Tooltip component" width="560" />
|
|
585
|
+
|
|
485
586
|
</details>
|
|
486
587
|
|
|
487
588
|
## Icons
|
|
488
589
|
|
|
489
590
|
<details>
|
|
490
|
-
<summary><strong>
|
|
591
|
+
<summary><strong>52 built-in SVG icon components</strong> — Feather-style (24x24, stroke-based, inherits <code>currentColor</code>)</summary>
|
|
491
592
|
|
|
492
593
|
| Tag | Preview |
|
|
493
594
|
|---|---|
|
|
@@ -511,6 +612,7 @@ Positions: `top` | `bottom` | `left` | `right`.
|
|
|
511
612
|
| `<ea-icon-clock />` | <img src="docs/images/icons/clock.png" width="48" height="48" alt="clock" /> |
|
|
512
613
|
| `<ea-icon-copy />` | <img src="docs/images/icons/copy.png" width="48" height="48" alt="copy" /> |
|
|
513
614
|
| `<ea-icon-download />` | <img src="docs/images/icons/download.png" width="48" height="48" alt="download" /> |
|
|
615
|
+
| `<ea-icon-eagami />` | <img src="docs/images/icons/eagami.png" width="48" height="48" alt="eagami" /> |
|
|
514
616
|
| `<ea-icon-external-link />` | <img src="docs/images/icons/external-link.png" width="48" height="48" alt="external-link" /> |
|
|
515
617
|
| `<ea-icon-eye />` | <img src="docs/images/icons/eye.png" width="48" height="48" alt="eye" /> |
|
|
516
618
|
| `<ea-icon-eye-off />` | <img src="docs/images/icons/eye-off.png" width="48" height="48" alt="eye-off" /> |
|