@eagami/ui 0.8.1 → 0.10.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
 
@@ -127,7 +145,7 @@ Sizes: `xs` | `sm` | `md` | `lg` | `xl`. Shapes: `circle` | `square`.
127
145
  </details>
128
146
 
129
147
  <details>
130
- <summary><strong>Avatar Editor</strong> — canvas-based image editor with pan, zoom, and crop</summary>
148
+ <summary><strong>Avatar editor</strong> — canvas-based image editor with pan, zoom, and crop</summary>
131
149
 
132
150
  Drag-and-drop upload, zoom via slider or scroll wheel. Outputs a `Blob` and data URL.
133
151
 
@@ -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
 
@@ -205,7 +242,7 @@ Sizes: `sm` | `md` | `lg`.
205
242
  </details>
206
243
 
207
244
  <details>
208
- <summary><strong>Code Input</strong> — verification code entry with auto-advance and paste support</summary>
245
+ <summary><strong>Code input</strong> — verification code entry with auto-advance and paste support</summary>
209
246
 
210
247
  Configurable `length` (default 6). Full `ControlValueAccessor` support.
211
248
 
@@ -218,7 +255,7 @@ Configurable `length` (default 6). Full `ControlValueAccessor` support.
218
255
  </details>
219
256
 
220
257
  <details>
221
- <summary><strong>Data Table</strong> — sortable columns, sticky headers, density modes</summary>
258
+ <summary><strong>Data table</strong> — sortable columns, sticky headers, density modes</summary>
222
259
 
223
260
  Striped, bordered, and hoverable rows. Custom cell templates via `ng-template`. Density: `compact` | `comfortable` | `spacious`. Two-way `sort` binding.
224
261
 
@@ -236,6 +273,24 @@ Striped, bordered, and hoverable rows. Custom cell templates via `ng-template`.
236
273
 
237
274
  </details>
238
275
 
276
+ <details>
277
+ <summary><strong>Date picker</strong> — calendar popover with keyboard navigation and min/max bounds</summary>
278
+
279
+ Sizes: `sm` | `md` | `lg`. Formats: `short` | `medium` | `long` (locale-aware via `Intl.DateTimeFormat`). Configurable week start (Sunday or Monday). Full keyboard navigation (arrows, PageUp/PageDown, Home/End, Enter, Escape) and `ControlValueAccessor` integration.
280
+
281
+ ```html
282
+ <ea-date-picker
283
+ label="Appointment"
284
+ placeholder="Pick a date…"
285
+ format="medium"
286
+ [minDate]="today"
287
+ [(value)]="appointmentDate" />
288
+ ```
289
+
290
+ <img src="docs/images/date-picker.png" alt="Date picker component" width="560" />
291
+
292
+ </details>
293
+
239
294
  <details>
240
295
  <summary><strong>Dialog</strong> — native dialog element with focus trapping</summary>
241
296
 
@@ -254,6 +309,8 @@ Sizes: `sm` | `md` | `lg` | `full`. Two-way `open` binding.
254
309
  </ea-dialog>
255
310
  ```
256
311
 
312
+ <img src="docs/images/dialog.png" alt="Dialog component" width="560" />
313
+
257
314
  </details>
258
315
 
259
316
  <details>
@@ -271,6 +328,28 @@ Orientation: `horizontal` | `vertical`.
271
328
 
272
329
  </details>
273
330
 
331
+ <details>
332
+ <summary><strong>Drawer</strong> — side panel using native dialog with focus trapping</summary>
333
+
334
+ Positions: `left` | `right` | `top` | `bottom`. Sizes: `sm` | `md` | `lg` | `full`. Two-way `open` binding.
335
+
336
+ ```html
337
+ <ea-button (clicked)="drawerOpen.set(true)">Open</ea-button>
338
+
339
+ <ea-drawer [(open)]="drawerOpen" position="right" size="md">
340
+ <span slot="header">Details</span>
341
+ <p>Drawer body content…</p>
342
+ <span slot="footer">
343
+ <ea-button variant="secondary" (clicked)="drawerOpen.set(false)">Cancel</ea-button>
344
+ <ea-button (clicked)="save()">Save</ea-button>
345
+ </span>
346
+ </ea-drawer>
347
+ ```
348
+
349
+ <img src="docs/images/drawer.png" alt="Drawer component" width="560" />
350
+
351
+ </details>
352
+
274
353
  <details>
275
354
  <summary><strong>Dropdown</strong> — select with ControlValueAccessor and keyboard navigation</summary>
276
355
 
@@ -288,6 +367,22 @@ Arrow keys, Enter/Space to select, Escape to close. Sizes: `sm` | `md` | `lg`.
288
367
 
289
368
  </details>
290
369
 
370
+ <details>
371
+ <summary><strong>Eagami wordmark</strong> — branded logo wordmark linking to eagami.com</summary>
372
+
373
+ Variants: `logo` (icon only) | `signature` (handcrafted by &lt;text&gt;) | `brand` (&lt;text&gt; with tagline). The `text` input switches the main wordmark between `eagami` and `eagami design system` in the `signature` and `brand` variants. Three discrete sizes (`sm`, `md`, `lg`) scale both the logo and the text proportionally.
374
+
375
+ ```html
376
+ <ea-eagami-wordmark
377
+ variant="brand"
378
+ size="md"
379
+ text="eagami design system" />
380
+ ```
381
+
382
+ <img src="docs/images/eagami-wordmark.png" alt="Eagami wordmark component" width="560" />
383
+
384
+ </details>
385
+
291
386
  <details>
292
387
  <summary><strong>Input</strong> — text field with ControlValueAccessor and password toggle</summary>
293
388
 
@@ -306,6 +401,29 @@ Types: `text` | `email` | `password` | `number` | `search` | `tel` | `url`. Size
306
401
 
307
402
  </details>
308
403
 
404
+ <details>
405
+ <summary><strong>Menu</strong> — popup action menu with trigger slot and menu items</summary>
406
+
407
+ 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.
408
+
409
+ ```html
410
+ <ea-menu placement="bottom-end">
411
+ <ea-button slot="trigger" variant="secondary">Actions</ea-button>
412
+ <ea-menu-item (itemClicked)="edit()">
413
+ <ea-icon-pencil slot="icon" />
414
+ Edit
415
+ </ea-menu-item>
416
+ <ea-menu-item variant="danger" (itemClicked)="delete()">
417
+ <ea-icon-trash slot="icon" />
418
+ Delete
419
+ </ea-menu-item>
420
+ </ea-menu>
421
+ ```
422
+
423
+ <img src="docs/images/menu.png" alt="Menu component" width="560" />
424
+
425
+ </details>
426
+
309
427
  <details>
310
428
  <summary><strong>Paginator</strong> — page navigation with configurable page sizes</summary>
311
429
 
@@ -319,10 +437,12 @@ Placement: `left` | `center` | `right`. Emits `pageChange` events with current p
319
437
  (pageChange)="onPageChange($event)" />
320
438
  ```
321
439
 
440
+ <img src="docs/images/paginator.png" alt="Paginator component" width="560" />
441
+
322
442
  </details>
323
443
 
324
444
  <details>
325
- <summary><strong>Progress Bar</strong> — determinate and indeterminate linear indicator</summary>
445
+ <summary><strong>Progress bar</strong> — determinate and indeterminate linear indicator</summary>
326
446
 
327
447
  Variants: `default` | `success` | `warning` | `error` | `info`. Sizes: `sm` | `md` | `lg`. Optional `label` and `showValue` display.
328
448
 
@@ -482,12 +602,14 @@ Positions: `top` | `bottom` | `left` | `right`.
482
602
  <ea-button eaTooltip="Save your changes" tooltipPosition="top">Save</ea-button>
483
603
  ```
484
604
 
605
+ <img src="docs/images/tooltip.png" alt="Tooltip component" width="560" />
606
+
485
607
  </details>
486
608
 
487
609
  ## Icons
488
610
 
489
611
  <details>
490
- <summary><strong>51 built-in SVG icon components</strong> — Feather-style (24x24, stroke-based, inherits <code>currentColor</code>)</summary>
612
+ <summary><strong>52 built-in SVG icon components</strong> — Feather-style (24x24, stroke-based, inherits <code>currentColor</code>)</summary>
491
613
 
492
614
  | Tag | Preview |
493
615
  |---|---|
@@ -511,6 +633,7 @@ Positions: `top` | `bottom` | `left` | `right`.
511
633
  | `<ea-icon-clock />` | <img src="docs/images/icons/clock.png" width="48" height="48" alt="clock" /> |
512
634
  | `<ea-icon-copy />` | <img src="docs/images/icons/copy.png" width="48" height="48" alt="copy" /> |
513
635
  | `<ea-icon-download />` | <img src="docs/images/icons/download.png" width="48" height="48" alt="download" /> |
636
+ | `<ea-icon-eagami />` | <img src="docs/images/icons/eagami.png" width="48" height="48" alt="eagami" /> |
514
637
  | `<ea-icon-external-link />` | <img src="docs/images/icons/external-link.png" width="48" height="48" alt="external-link" /> |
515
638
  | `<ea-icon-eye />` | <img src="docs/images/icons/eye.png" width="48" height="48" alt="eye" /> |
516
639
  | `<ea-icon-eye-off />` | <img src="docs/images/icons/eye-off.png" width="48" height="48" alt="eye-off" /> |