@eagami/ui 0.11.1 → 0.12.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
@@ -387,6 +387,22 @@ Layout: `stacked` (default, multi-line) | `inline` (single line, uniform font si
387
387
 
388
388
  </details>
389
389
 
390
+ <details>
391
+ <summary><strong>Empty state</strong> — pattern for "no results" and "nothing here yet" screens</summary>
392
+
393
+ Optional `title` and `description`, with `[slot=media]` for an icon or illustration and `[slot=actions]` for follow-up buttons. Sizes: `sm` | `md` | `lg`.
394
+
395
+ ```html
396
+ <ea-empty-state title="No items yet" description="Get started by creating your first item.">
397
+ <ea-icon-file slot="media" />
398
+ <ea-button slot="actions" variant="primary">Create item</ea-button>
399
+ </ea-empty-state>
400
+ ```
401
+
402
+ <img src="docs/images/empty-state.png" alt="Empty state component" width="560" />
403
+
404
+ </details>
405
+
390
406
  <details>
391
407
  <summary><strong>Input</strong> — text field with ControlValueAccessor and password toggle</summary>
392
408
 
@@ -406,13 +422,13 @@ Types: `text` | `email` | `password` | `number` | `search` | `tel` | `url`. Size
406
422
  </details>
407
423
 
408
424
  <details>
409
- <summary><strong>Menu</strong> — popup action menu with trigger slot and menu items</summary>
425
+ <summary><strong>Menu</strong> — popup action menu with menu items</summary>
410
426
 
411
- 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.
427
+ Attach the menu to any focusable element with the `[eaMenuTrigger]` directive. 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 and restores focus to the trigger.
412
428
 
413
429
  ```html
414
- <ea-menu placement="bottom-end">
415
- <ea-button slot="trigger" variant="secondary">Actions</ea-button>
430
+ <ea-button [eaMenuTrigger]="actions" variant="secondary">Actions</ea-button>
431
+ <ea-menu #actions placement="bottom-end">
416
432
  <ea-menu-item (itemClicked)="edit()">
417
433
  <ea-icon-pencil slot="icon" />
418
434
  Edit
@@ -477,6 +493,25 @@ Supports `vertical` and `horizontal` orientation. Sizes: `sm` | `md` | `lg`.
477
493
 
478
494
  </details>
479
495
 
496
+ <details>
497
+ <summary><strong>Segmented</strong> — toggle button group for picking one of a few options</summary>
498
+
499
+ Compact alternative to a radio group for view/mode switches (e.g. List/Grid/Kanban, Light/Dark). Implements `radiogroup` semantics and `ControlValueAccessor`. Sizes: `sm` | `md` | `lg`. Supports `fullWidth` and per-option `disabled`.
500
+
501
+ ```html
502
+ <ea-segmented
503
+ [options]="[
504
+ { value: 'list', label: 'List' },
505
+ { value: 'grid', label: 'Grid' },
506
+ { value: 'kanban', label: 'Kanban' }
507
+ ]"
508
+ [(value)]="view" />
509
+ ```
510
+
511
+ <img src="docs/images/segmented.png" alt="Segmented component" width="560" />
512
+
513
+ </details>
514
+
480
515
  <details>
481
516
  <summary><strong>Skeleton</strong> — loading placeholder with animated pulse</summary>
482
517
 
@@ -492,6 +527,25 @@ Variants: `text` | `circle` | `rect`. Custom `width` and `height`. Respects `pre
492
527
 
493
528
  </details>
494
529
 
530
+ <details>
531
+ <summary><strong>Slider</strong> — single-value range input with keyboard and pointer drag</summary>
532
+
533
+ Configurable `min`, `max`, `step`. Sizes: `sm` | `md` | `lg`. Optional value display, min/max labels, hint and error messages. Full keyboard navigation (arrows, PageUp/PageDown, Home/End) and `ControlValueAccessor` integration.
534
+
535
+ ```html
536
+ <ea-slider
537
+ label="Volume"
538
+ [min]="0"
539
+ [max]="100"
540
+ [step]="5"
541
+ [showValue]="true"
542
+ [(value)]="volume" />
543
+ ```
544
+
545
+ <img src="docs/images/slider.png" alt="Slider component" width="560" />
546
+
547
+ </details>
548
+
495
549
  <details>
496
550
  <summary><strong>Spinner</strong> — SVG loading indicator with accessible role</summary>
497
551