@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 +58 -4
- package/fesm2022/eagami-ui.mjs +443 -55
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eagami-ui.d.ts +129 -9
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
|
|
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-
|
|
415
|
-
|
|
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
|
|