@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 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." width="800" />
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>51 built-in SVG icon components</strong> — Feather-style (24x24, stroke-based, inherits <code>currentColor</code>)</summary>
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" /> |